From 33ef6e869c9ec995b367d8fc9ce3c02f2dc2eccb Mon Sep 17 00:00:00 2001 From: rperez89 Date: Mon, 22 Jul 2024 18:43:26 -0300 Subject: [PATCH] upgradable passport --- .gitmodules | 6 ++++ pkg/contracts/out/Allo.sol/Allo.json | 2 +- .../out/CVStrategy.sol/CVStrategy.json | 2 +- .../out/CVStrategy.sol/IPointStrategy.json | 2 +- .../out/CVStrategy.sol/StrategyStruct.json | 2 +- .../CVStrategyHelpers.json | 2 +- pkg/contracts/out/ERC20.sol/ERC20.json | 2 +- pkg/contracts/out/GV2ERC20.sol/GV2ERC20.json | 2 +- pkg/contracts/out/IAllo.sol/IAllo.json | 2 +- pkg/contracts/out/IERC20.sol/IERC20.json | 2 +- .../IERC20Upgradeable.json | 2 +- .../out/IRegistry.sol/IRegistry.json | 2 +- pkg/contracts/out/ISafe.sol/ISafe.json | 2 +- .../out/MockERC20.sol/MockERC20.json | 2 +- .../PassportScorer.sol/PassportScorer.json | 2 +- .../PassportScorerTest.json | 2 +- pkg/contracts/out/Registry.sol/Registry.json | 2 +- .../out/RegistryCommunity.sol/FAllo.json | 2 +- .../RegistryCommunity.json | 2 +- .../RegistryFactory.sol/RegistryFactory.json | 2 +- .../out/RegistrySetup.sol/RegistrySetup.json | 2 +- .../RegistrySetup.sol/RegistrySetupFull.json | 2 +- pkg/contracts/out/TERC20.sol/TERC20.json | 2 +- pkg/contracts/script/DeployCV.s.sol | 3 +- pkg/contracts/src/ISybilScorer.sol | 1 + pkg/contracts/src/PassportScorer.sol | 13 +++++--- pkg/contracts/test/CVStrategyTest.t.sol | 4 ++- pkg/contracts/test/PassportScorerTest.t.sol | 3 +- remappings.txt | 33 ++----------------- 29 files changed, 48 insertions(+), 59 deletions(-) diff --git a/.gitmodules b/.gitmodules index 369c285a0..a9f320eb4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,6 +7,12 @@ [submodule "lib/safe-contracts"] path = lib/safe-contracts url = https://github.com/safe-global/safe-contracts +[submodule "lib/openzeppelin-foundry-upgrades"] + path = lib/openzeppelin-foundry-upgrades + url = https://github.com/OpenZeppelin/openzeppelin-foundry-upgrades [submodule "lib/openzeppelin-contracts"] path = lib/openzeppelin-contracts url = https://github.com/OpenZeppelin/openzeppelin-contracts +[submodule "lib/openzeppelin-contracts-upgradeable"] + path = lib/openzeppelin-contracts-upgradeable + url = https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable \ No newline at end of file diff --git a/pkg/contracts/out/Allo.sol/Allo.json b/pkg/contracts/out/Allo.sol/Allo.json index b8051169b..95a6746b0 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":"0x608060405234801561001057600080fd5b506135a1806100206000396000f3fe6080604052600436106102e75760003560e01c80635f9ca13811610184578063ab2ec589116100d6578063e1007d4a1161008a578063f4e1fc4111610064578063f4e1fc41146107e7578063f54fc4a014610802578063fee81cf41461082257600080fd5b8063e1007d4a146107ae578063f04e283e146107c1578063f2fde38b146107d457600080fd5b8063c6dff1cf116100bb578063c6dff1cf14610735578063cfc0cc3414610755578063d547741f1461078e57600080fd5b8063ab2ec589146106f5578063ab3febc61461071557600080fd5b80638da5cb5b11610138578063a0cf0aea11610112578063a0cf0aea14610698578063a217fddf146106c0578063a6b63eb8146106d557600080fd5b80638da5cb5b146106195780638e6901861461063257806391d148541461065257600080fd5b806377da8caf1161016957806377da8caf146105c65780637f51bb1f146105d95780637f5a70bd146105f957600080fd5b80635f9ca1381461059e578063715018a6146105be57600080fd5b80632cf682b01161023d5780633b19e84a116101f157806354d1f13d116101cb57806354d1f13d146105655780635ab1bd531461056d5780635acd6fac1461058b57600080fd5b80633b19e84a1461051257806341bba0b4146105305780634edbaadc1461055057600080fd5b80632f2ff15d116102225780632f2ff15d146104b257806336568abe146104d25780633a5fbd92146104f257600080fd5b80632cf682b01461047f5780632ec381881461049f57600080fd5b80631a20bd881161029f57806324ae6a271161027957806324ae6a2714610437578063256929621461045757806329e40d4b1461045f57600080fd5b80631a20bd88146103ba5780631a5da6c8146103e7578063248a9ca31461040757600080fd5b8063068bcd8d116102d0578063068bcd8d14610343578063075c0e9c1461037057806315e812ad1461039b57600080fd5b806301ffc9a7146102ec578063031e2fa114610321575b600080fd5b3480156102f857600080fd5b5061030c6103073660046129c9565b610855565b60405190151581526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c366004612a20565b6108ee565b005b34801561034f57600080fd5b5061036361035e366004612a3d565b61094e565b6040516103189190612ac5565b61038361037e366004612bed565b610a61565b6040516001600160a01b039091168152602001610318565b3480156103a757600080fd5b5060ca545b604051908152602001610318565b3480156103c657600080fd5b506103da6103d5366004612ce8565b610b17565b6040516103189190612ddb565b3480156103f357600080fd5b50610341610402366004612a20565b610c9e565b34801561041357600080fd5b506103ac610422366004612a3d565b60009081526065602052604090206001015490565b34801561044357600080fd5b50610341610452366004612dee565b610cb2565b610341610d7a565b34801561046b57600080fd5b5061030c61047a366004612e27565b610dca565b34801561048b57600080fd5b5061034161049a366004612e27565b610ddd565b6103416104ad366004612bed565b610e2a565b3480156104be57600080fd5b506103416104cd366004612e27565b610e4a565b3480156104de57600080fd5b506103416104ed366004612e27565b610e6f565b3480156104fe57600080fd5b5061034161050d366004612eb0565b610efc565b34801561051e57600080fd5b5060cc546001600160a01b0316610383565b34801561053c57600080fd5b5061034161054b366004612a20565b610f9d565b34801561055c57600080fd5b5060c9546103ac565b610341611020565b34801561057957600080fd5b5060cd546001600160a01b0316610383565b610341610599366004612f1d565b61105c565b3480156105aa57600080fd5b506103416105b9366004612fc2565b6111f3565b610341611270565b6103ac6105d4366004612fff565b611284565b3480156105e557600080fd5b506103416105f4366004612a20565b611333565b34801561060557600080fd5b50610341610614366004612e27565b611344565b34801561062557600080fd5b50638b78c6d81954610383565b34801561063e57600080fd5b5061034161064d366004612a3d565b61136a565b34801561065e57600080fd5b5061030c61066d366004612e27565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106a457600080fd5b5061038373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106cc57600080fd5b506103ac600081565b3480156106e157600080fd5b506103416106f03660046130c2565b61137b565b34801561070157600080fd5b5061030c610710366004612a20565b611499565b34801561072157600080fd5b5061030c610730366004612e27565b6114ba565b34801561074157600080fd5b5061034161075036600461311d565b6114c6565b34801561076157600080fd5b50610383610770366004612a3d565b600090815260cf60205260409020600101546001600160a01b031690565b34801561079a57600080fd5b506103416107a9366004612e27565b61154b565b6103ac6107bc366004612fff565b611570565b6103416107cf366004612a20565b611607565b6103416107e2366004612a20565b611644565b3480156107f357600080fd5b50670de0b6b3a76400006103ac565b34801561080e57600080fd5b5061034161081d366004612a3d565b61166b565b34801561082e57600080fd5b506103ac61083d366004612a20565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108e857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6108f661167c565b6001600160a01b038116600081815260d06020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b610956612963565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b039081168285015260028301541681850152835180850190945260038201805485526004830180549295939460608701949390840191906109c0906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546109ec906131aa565b8015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b6000610a6b611697565b600083815260cf6020526040908190206001015490517f2bbe0cae0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632bbe0cae903490610ac890869033906004016131e4565b60206040518083038185885af1158015610ae6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0b919061320f565b90506108e86001609755565b6060610b21611697565b82518067ffffffffffffffff811115610b3c57610b3c612b2e565b604051908082528060200260200182016040528015610b65578160200160208202803683370190505b50915082518114610b895760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610c925760cf6000868381518110610baa57610baa61322c565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610bf757610bf761322c565b6020026020010151336040518363ffffffff1660e01b8152600401610c1d9291906131e4565b6020604051808303816000875af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061320f565b838281518110610c7257610c7261322c565b6001600160a01b0390921660209283029190910190910152600101610b8c565b50506108e86001609755565b610ca661167c565b610caf816116f0565b50565b610cba61167c565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610d66576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d619190613242565b610d68565b475b9050610d75838383611772565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610dd683836117ac565b9392505050565b81610de7816117ef565b6001600160a01b038216610e0e5760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610d759083611816565b610e32611697565b610e3c82826118b8565b610e466001609755565b5050565b600082815260656020526040902060010154610e658161194b565b610d758383611816565b6001600160a01b0381163314610ef25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e468282611955565b610f04611697565b600083815260cf6020526040908190206001015490517f0a6f0ee90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630a6f0ee990610f619085908590339060040161325b565b600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050610d756001609755565b610fa561167c565b6001600160a01b038116610fcc5760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600081815260d06020908152604091829020805460ff1916600117905590519182527f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d19101610943565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b611064611697565b80600003611085576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b03908116828601526002830154168184015282518084019093526003820180548452600483018054929593946060870194909390840191906110ef906131aa565b80601f016020809104026020016040519081016040528092919081815260200182805461111b906131aa565b80156111685780601f1061113d57610100808354040283529160200191611168565b820191906000526020600020905b81548152906001019060200180831161114b57829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156111bb5750348214155b156111d9576040516303e09bb960e31b815260040160405180910390fd5b6111e8828483602001516119d8565b50610e466001609755565b816111fd81611cbc565b600083815260cf602090815260409091208351600382019081559184015190918491600484019061122e90826132e8565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf08460405161126291906133a8565b60405180910390a250505050565b61127861167c565b6112826000611cc6565b565b600061128e611697565b6001600160a01b038716600090815260d0602052604090205460ff166112e0576040517f9369923800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260ce60205260408120805461131c928b92611312928c92909190611309836133d1565b91905055611d04565b8888888888611d58565b90506113286001609755565b979650505050505050565b61133b61167c565b610caf81612293565b8161134e816117ef565b600083815260cf6020526040902060050154610d759083611955565b61137261167c565b610caf81612315565b600054600190610100900460ff1615801561139d575060005460ff8083169116105b61140f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b6000805461ffff191660ff83161761010017905561142c8661234a565b611435856116f0565b61143e84612293565b61144783612386565b61145082612315565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116600090815260d0602052604081205460ff166108e8565b6000610dd683836123fd565b6114ce611697565b8051829081146114f15760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561153f576115378585838181106115115761151161322c565b9050602002013584838151811061152a5761152a61322c565b60200260200101516118b8565b6001016114f4565b5050610d756001609755565b6000828152606560205260409020600101546115668161194b565b610d758383611955565b60006001600160a01b0387166115995760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038716600090815260d0602052604090205460ff16156115ec576040517feeffa72100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fb88888888888888611d58565b98975050505050505050565b61160f61167c565b63389a75e1600c52806000526020600c20805442111561163757636f5e88186000526004601cfd5b60009055610caf81611cc6565b61164c61167c565b8060601b61166257637448fbae6000526004601cfd5b610caf81611cc6565b61167361167c565b610caf81612386565b638b78c6d819543314611282576382b429006000526004601cfd5b6002609754036116e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ee9565b6002609755565b6001600160a01b0381166117175760405163538ba4f960e01b815260040160405180910390fd5b60cd805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610943565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016117a157610d758282612435565b610d75838383612451565b600082815260cf60209081526040808320600501548352606582528083206001600160a01b038516845290915281205460ff1680610dd65750610dd683836123fd565b6117f981336123fd565b610caf5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118743390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf6020526040908190206001015490517fef2920fc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ef2920fc90349061191590859033906004016131e4565b6000604051808303818588803b15801561192e57600080fd5b505af1158015611942573d6000803e3d6000fd5b50505050505050565b610caf81336124a0565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b03169015611b4257670de0b6b3a764000060c954611a1690896133ea565b611a209190613401565b9350611a2c8484613423565b925086611a398486613436565b14611a70576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611aca576040805160608101825233815260cc546001600160a01b03166020820152908101859052611ac4908290612515565b50611b42565b60cc54600090611ae49083906001600160a01b03166125ad565b6040805160608101825233815260cc546001600160a01b03166020820152908101879052909150611b16908390612515565b5060cc54600090611b319084906001600160a01b03166125ad565b9050611b3d8282613423565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611ba357611b9d816040518060600160405280336001600160a01b03168152602001886001600160a01b0316815260200186815250612515565b50611c05565b6000611baf82876125ad565b9050611be7826040518060600160405280336001600160a01b03168152602001896001600160a01b0316815260200187815250612515565b506000611bf483886125ad565b9050611c008282613423565b945050505b6040517ff5b0dfb7000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b6117f981336117ac565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611d5084826125f6565b949350505050565b60cd546040517f5e8a7915000000000000000000000000000000000000000000000000000000008152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de59190613449565b611e025760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611e11906133d1565b91829055506040519091508190600090611e599083906020019081527f61646d696e000000000000000000000000000000000000000000000000000000602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf87529690962087518155915160018301805491851673ffffffffffffffffffffffffffffffffffffffff1992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611f1990826132e8565b5050506080820151600582015560a090910151600690910155611f3c8233611816565b611f468383612693565b6040517fedd146cc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063edd146cc90611f8d9087908d9060040161346b565b600060405180830381600087803b158015611fa757600080fd5b505af1158015611fbb573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190613242565b1415806120a25750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612096919061320f565b6001600160a01b031614155b156120c05760405163636e39bb60e01b815260040160405180910390fd5b845160005b818110156121315760008782815181106120e1576120e161322c565b6020026020010151905060006001600160a01b0316816001600160a01b03160361211e5760405163538ba4f960e01b815260040160405180910390fd5b6121288682611816565b506001016120c5565b5060ca5415612234576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156121735750348860ca546121709190613436565b14155b806121a857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906121a857503460ca5414155b156121c6576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca546121f79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b0390911690611772565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca5460405161222b91815260200190565b60405180910390a25b87156122455761224588868d6119d8565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c60405161227c9493929190613484565b60405180910390a350505050979650505050505050565b6001600160a01b0381166122ba5760405163538ba4f960e01b815260040160405180910390fd5b60cc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602001610943565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c390602001610943565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b670de0b6b3a76400008111156123c8576040517f2fb15b8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b06590602001610943565b600082815260cf60209081526040808320600601548352606582528083206001600160a01b038516845290915281205460ff16610dd6565b60008060008084865af1610e465763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612496576390b8ec186000526004601cfd5b6000603452505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e46576124d3816126de565b6124de8360206126f0565b6040516020016124ef9291906134c0565b60408051601f198184030181529082905262461bcd60e51b8252610ee991600401613541565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161258f578034101561257c576040517f74c5672b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258a836020015182612435565b6125a3565b6125a38484600001518560200151846128d1565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016125e557506001600160a01b038116316108e8565b6125ef838361292e565b90506108e8565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166108e85760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401610ee9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606108e86001600160a01b03831660145b606060006126ff8360026133ea565b61270a906002613436565b67ffffffffffffffff81111561272257612722612b2e565b6040519080825280601f01601f19166020018201604052801561274c576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127835761278361322c565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127ce576127ce61322c565b60200101906001600160f81b031916908160001a90535060006127f28460026133ea565b6127fd906001613436565b90505b6001811115612882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061283e5761283e61322c565b1a60f81b8282815181106128545761285461322c565b60200101906001600160f81b031916908160001a90535060049490941c9361287b81613554565b9050612800565b508315610dd65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af13d15600160005114171661292057637939f4246000526004601cfd5b600060605260405250505050565b6000816014526f70a0823100000000000000000000000060005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b031681526020016129b5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156129db57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd657600080fd5b6001600160a01b0381168114610caf57600080fd5b600060208284031215612a3257600080fd5b8135610dd681612a0b565b600060208284031215612a4f57600080fd5b5035919050565b60005b83811015612a71578181015183820152602001612a59565b50506000910152565b60008151808452612a92816020860160208601612a56565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611d506040850182612a7a565b6020815281516020820152600060208301516001600160a01b0380821660408501528060408601511660608501525050606083015160c06080840152612b0e60e0840182612aa6565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b6d57612b6d612b2e565b604052919050565b600067ffffffffffffffff831115612b8f57612b8f612b2e565b612ba2601f8401601f1916602001612b44565b9050828152838383011115612bb657600080fd5b828260208301376000602084830101529392505050565b600082601f830112612bde57600080fd5b610dd683833560208501612b75565b60008060408385031215612c0057600080fd5b82359150602083013567ffffffffffffffff811115612c1e57600080fd5b612c2a85828601612bcd565b9150509250929050565b600067ffffffffffffffff821115612c4e57612c4e612b2e565b5060051b60200190565b600082601f830112612c6957600080fd5b81356020612c7e612c7983612c34565b612b44565b82815260059290921b84018101918181019086841115612c9d57600080fd5b8286015b84811015612cdd57803567ffffffffffffffff811115612cc15760008081fd5b612ccf8986838b0101612bcd565b845250918301918301612ca1565b509695505050505050565b60008060408385031215612cfb57600080fd5b823567ffffffffffffffff80821115612d1357600080fd5b818501915085601f830112612d2757600080fd5b81356020612d37612c7983612c34565b82815260059290921b84018101918181019089841115612d5657600080fd5b948201945b83861015612d7457853582529482019490820190612d5b565b96505086013592505080821115612d8a57600080fd5b50612c2a85828601612c58565b600081518084526020808501945080840160005b83811015612dd05781516001600160a01b031687529582019590820190600101612dab565b509495945050505050565b602081526000610dd66020830184612d97565b60008060408385031215612e0157600080fd5b8235612e0c81612a0b565b91506020830135612e1c81612a0b565b809150509250929050565b60008060408385031215612e3a57600080fd5b823591506020830135612e1c81612a0b565b600082601f830112612e5d57600080fd5b81356020612e6d612c7983612c34565b82815260059290921b84018101918181019086841115612e8c57600080fd5b8286015b84811015612cdd578035612ea381612a0b565b8352918301918301612e90565b600080600060608486031215612ec557600080fd5b83359250602084013567ffffffffffffffff80821115612ee457600080fd5b612ef087838801612e4c565b93506040860135915080821115612f0657600080fd5b50612f1386828701612bcd565b9150509250925092565b60008060408385031215612f3057600080fd5b50508035926020909101359150565b600060408284031215612f5157600080fd5b6040516040810167ffffffffffffffff8282108183111715612f7557612f75612b2e565b81604052829350843583526020850135915080821115612f9457600080fd5b508301601f81018513612fa657600080fd5b612fb585823560208401612b75565b6020830152505092915050565b60008060408385031215612fd557600080fd5b82359150602083013567ffffffffffffffff811115612ff357600080fd5b612c2a85828601612f3f565b600080600080600080600060e0888a03121561301a57600080fd5b87359650602088013561302c81612a0b565b9550604088013567ffffffffffffffff8082111561304957600080fd5b6130558b838c01612bcd565b965060608a0135915061306782612a0b565b9094506080890135935060a0890135908082111561308457600080fd5b6130908b838c01612f3f565b935060c08a01359150808211156130a657600080fd5b506130b38a828b01612e4c565b91505092959891949750929550565b600080600080600060a086880312156130da57600080fd5b85356130e581612a0b565b945060208601356130f581612a0b565b9350604086013561310581612a0b565b94979396509394606081013594506080013592915050565b60008060006040848603121561313257600080fd5b833567ffffffffffffffff8082111561314a57600080fd5b818601915086601f83011261315e57600080fd5b81358181111561316d57600080fd5b8760208260051b850101111561318257600080fd5b60209283019550935090850135908082111561319d57600080fd5b50612f1386828701612c58565b600181811c908216806131be57607f821691505b6020821081036131de57634e487b7160e01b600052602260045260246000fd5b50919050565b6040815260006131f76040830185612a7a565b90506001600160a01b03831660208301529392505050565b60006020828403121561322157600080fd5b8151610dd681612a0b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561325457600080fd5b5051919050565b60608152600061326e6060830186612d97565b82810360208401526132808186612a7a565b9150506001600160a01b0383166040830152949350505050565b601f821115610d7557600081815260208120601f850160051c810160208610156132c15750805b601f850160051c820191505b818110156132e0578281556001016132cd565b505050505050565b815167ffffffffffffffff81111561330257613302612b2e565b6133168161331084546131aa565b8461329a565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e0565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610dd66020830184612aa6565b634e487b7160e01b600052601160045260246000fd5b6000600182016133e3576133e36133bb565b5060010190565b80820281158282048414176108e8576108e86133bb565b60008261341e57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108e8576108e86133bb565b808201808211156108e8576108e86133bb565b60006020828403121561345b57600080fd5b81518015158114610dd657600080fd5b828152604060208201526000611d506040830184612a7a565b60006001600160a01b038087168352808616602084015250836040830152608060608301526134b66080830184612aa6565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134f8816017850160208801612a56565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613535816028840160208801612a56565b01602801949350505050565b602081526000610dd66020830184612a7a565b600081613563576135636133bb565b50600019019056fea26469706673582212209fbd219854186e75201943c26e320168ba5472dbe372ed6ec1939fdc6856a32064736f6c63430008130033","sourceMap":"5076:29047:0:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106102e75760003560e01c80635f9ca13811610184578063ab2ec589116100d6578063e1007d4a1161008a578063f4e1fc4111610064578063f4e1fc41146107e7578063f54fc4a014610802578063fee81cf41461082257600080fd5b8063e1007d4a146107ae578063f04e283e146107c1578063f2fde38b146107d457600080fd5b8063c6dff1cf116100bb578063c6dff1cf14610735578063cfc0cc3414610755578063d547741f1461078e57600080fd5b8063ab2ec589146106f5578063ab3febc61461071557600080fd5b80638da5cb5b11610138578063a0cf0aea11610112578063a0cf0aea14610698578063a217fddf146106c0578063a6b63eb8146106d557600080fd5b80638da5cb5b146106195780638e6901861461063257806391d148541461065257600080fd5b806377da8caf1161016957806377da8caf146105c65780637f51bb1f146105d95780637f5a70bd146105f957600080fd5b80635f9ca1381461059e578063715018a6146105be57600080fd5b80632cf682b01161023d5780633b19e84a116101f157806354d1f13d116101cb57806354d1f13d146105655780635ab1bd531461056d5780635acd6fac1461058b57600080fd5b80633b19e84a1461051257806341bba0b4146105305780634edbaadc1461055057600080fd5b80632f2ff15d116102225780632f2ff15d146104b257806336568abe146104d25780633a5fbd92146104f257600080fd5b80632cf682b01461047f5780632ec381881461049f57600080fd5b80631a20bd881161029f57806324ae6a271161027957806324ae6a2714610437578063256929621461045757806329e40d4b1461045f57600080fd5b80631a20bd88146103ba5780631a5da6c8146103e7578063248a9ca31461040757600080fd5b8063068bcd8d116102d0578063068bcd8d14610343578063075c0e9c1461037057806315e812ad1461039b57600080fd5b806301ffc9a7146102ec578063031e2fa114610321575b600080fd5b3480156102f857600080fd5b5061030c6103073660046129c9565b610855565b60405190151581526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c366004612a20565b6108ee565b005b34801561034f57600080fd5b5061036361035e366004612a3d565b61094e565b6040516103189190612ac5565b61038361037e366004612bed565b610a61565b6040516001600160a01b039091168152602001610318565b3480156103a757600080fd5b5060ca545b604051908152602001610318565b3480156103c657600080fd5b506103da6103d5366004612ce8565b610b17565b6040516103189190612ddb565b3480156103f357600080fd5b50610341610402366004612a20565b610c9e565b34801561041357600080fd5b506103ac610422366004612a3d565b60009081526065602052604090206001015490565b34801561044357600080fd5b50610341610452366004612dee565b610cb2565b610341610d7a565b34801561046b57600080fd5b5061030c61047a366004612e27565b610dca565b34801561048b57600080fd5b5061034161049a366004612e27565b610ddd565b6103416104ad366004612bed565b610e2a565b3480156104be57600080fd5b506103416104cd366004612e27565b610e4a565b3480156104de57600080fd5b506103416104ed366004612e27565b610e6f565b3480156104fe57600080fd5b5061034161050d366004612eb0565b610efc565b34801561051e57600080fd5b5060cc546001600160a01b0316610383565b34801561053c57600080fd5b5061034161054b366004612a20565b610f9d565b34801561055c57600080fd5b5060c9546103ac565b610341611020565b34801561057957600080fd5b5060cd546001600160a01b0316610383565b610341610599366004612f1d565b61105c565b3480156105aa57600080fd5b506103416105b9366004612fc2565b6111f3565b610341611270565b6103ac6105d4366004612fff565b611284565b3480156105e557600080fd5b506103416105f4366004612a20565b611333565b34801561060557600080fd5b50610341610614366004612e27565b611344565b34801561062557600080fd5b50638b78c6d81954610383565b34801561063e57600080fd5b5061034161064d366004612a3d565b61136a565b34801561065e57600080fd5b5061030c61066d366004612e27565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106a457600080fd5b5061038373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106cc57600080fd5b506103ac600081565b3480156106e157600080fd5b506103416106f03660046130c2565b61137b565b34801561070157600080fd5b5061030c610710366004612a20565b611499565b34801561072157600080fd5b5061030c610730366004612e27565b6114ba565b34801561074157600080fd5b5061034161075036600461311d565b6114c6565b34801561076157600080fd5b50610383610770366004612a3d565b600090815260cf60205260409020600101546001600160a01b031690565b34801561079a57600080fd5b506103416107a9366004612e27565b61154b565b6103ac6107bc366004612fff565b611570565b6103416107cf366004612a20565b611607565b6103416107e2366004612a20565b611644565b3480156107f357600080fd5b50670de0b6b3a76400006103ac565b34801561080e57600080fd5b5061034161081d366004612a3d565b61166b565b34801561082e57600080fd5b506103ac61083d366004612a20565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108e857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6108f661167c565b6001600160a01b038116600081815260d06020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b610956612963565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b039081168285015260028301541681850152835180850190945260038201805485526004830180549295939460608701949390840191906109c0906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546109ec906131aa565b8015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b6000610a6b611697565b600083815260cf6020526040908190206001015490517f2bbe0cae0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632bbe0cae903490610ac890869033906004016131e4565b60206040518083038185885af1158015610ae6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0b919061320f565b90506108e86001609755565b6060610b21611697565b82518067ffffffffffffffff811115610b3c57610b3c612b2e565b604051908082528060200260200182016040528015610b65578160200160208202803683370190505b50915082518114610b895760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610c925760cf6000868381518110610baa57610baa61322c565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610bf757610bf761322c565b6020026020010151336040518363ffffffff1660e01b8152600401610c1d9291906131e4565b6020604051808303816000875af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061320f565b838281518110610c7257610c7261322c565b6001600160a01b0390921660209283029190910190910152600101610b8c565b50506108e86001609755565b610ca661167c565b610caf816116f0565b50565b610cba61167c565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610d66576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d619190613242565b610d68565b475b9050610d75838383611772565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610dd683836117ac565b9392505050565b81610de7816117ef565b6001600160a01b038216610e0e5760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610d759083611816565b610e32611697565b610e3c82826118b8565b610e466001609755565b5050565b600082815260656020526040902060010154610e658161194b565b610d758383611816565b6001600160a01b0381163314610ef25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e468282611955565b610f04611697565b600083815260cf6020526040908190206001015490517f0a6f0ee90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630a6f0ee990610f619085908590339060040161325b565b600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050610d756001609755565b610fa561167c565b6001600160a01b038116610fcc5760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600081815260d06020908152604091829020805460ff1916600117905590519182527f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d19101610943565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b611064611697565b80600003611085576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b03908116828601526002830154168184015282518084019093526003820180548452600483018054929593946060870194909390840191906110ef906131aa565b80601f016020809104026020016040519081016040528092919081815260200182805461111b906131aa565b80156111685780601f1061113d57610100808354040283529160200191611168565b820191906000526020600020905b81548152906001019060200180831161114b57829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156111bb5750348214155b156111d9576040516303e09bb960e31b815260040160405180910390fd5b6111e8828483602001516119d8565b50610e466001609755565b816111fd81611cbc565b600083815260cf602090815260409091208351600382019081559184015190918491600484019061122e90826132e8565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf08460405161126291906133a8565b60405180910390a250505050565b61127861167c565b6112826000611cc6565b565b600061128e611697565b6001600160a01b038716600090815260d0602052604090205460ff166112e0576040517f9369923800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260ce60205260408120805461131c928b92611312928c92909190611309836133d1565b91905055611d04565b8888888888611d58565b90506113286001609755565b979650505050505050565b61133b61167c565b610caf81612293565b8161134e816117ef565b600083815260cf6020526040902060050154610d759083611955565b61137261167c565b610caf81612315565b600054600190610100900460ff1615801561139d575060005460ff8083169116105b61140f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b6000805461ffff191660ff83161761010017905561142c8661234a565b611435856116f0565b61143e84612293565b61144783612386565b61145082612315565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116600090815260d0602052604081205460ff166108e8565b6000610dd683836123fd565b6114ce611697565b8051829081146114f15760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561153f576115378585838181106115115761151161322c565b9050602002013584838151811061152a5761152a61322c565b60200260200101516118b8565b6001016114f4565b5050610d756001609755565b6000828152606560205260409020600101546115668161194b565b610d758383611955565b60006001600160a01b0387166115995760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038716600090815260d0602052604090205460ff16156115ec576040517feeffa72100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fb88888888888888611d58565b98975050505050505050565b61160f61167c565b63389a75e1600c52806000526020600c20805442111561163757636f5e88186000526004601cfd5b60009055610caf81611cc6565b61164c61167c565b8060601b61166257637448fbae6000526004601cfd5b610caf81611cc6565b61167361167c565b610caf81612386565b638b78c6d819543314611282576382b429006000526004601cfd5b6002609754036116e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ee9565b6002609755565b6001600160a01b0381166117175760405163538ba4f960e01b815260040160405180910390fd5b60cd805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610943565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016117a157610d758282612435565b610d75838383612451565b600082815260cf60209081526040808320600501548352606582528083206001600160a01b038516845290915281205460ff1680610dd65750610dd683836123fd565b6117f981336123fd565b610caf5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118743390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf6020526040908190206001015490517fef2920fc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ef2920fc90349061191590859033906004016131e4565b6000604051808303818588803b15801561192e57600080fd5b505af1158015611942573d6000803e3d6000fd5b50505050505050565b610caf81336124a0565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b03169015611b4257670de0b6b3a764000060c954611a1690896133ea565b611a209190613401565b9350611a2c8484613423565b925086611a398486613436565b14611a70576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611aca576040805160608101825233815260cc546001600160a01b03166020820152908101859052611ac4908290612515565b50611b42565b60cc54600090611ae49083906001600160a01b03166125ad565b6040805160608101825233815260cc546001600160a01b03166020820152908101879052909150611b16908390612515565b5060cc54600090611b319084906001600160a01b03166125ad565b9050611b3d8282613423565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611ba357611b9d816040518060600160405280336001600160a01b03168152602001886001600160a01b0316815260200186815250612515565b50611c05565b6000611baf82876125ad565b9050611be7826040518060600160405280336001600160a01b03168152602001896001600160a01b0316815260200187815250612515565b506000611bf483886125ad565b9050611c008282613423565b945050505b6040517ff5b0dfb7000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b6117f981336117ac565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611d5084826125f6565b949350505050565b60cd546040517f5e8a7915000000000000000000000000000000000000000000000000000000008152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de59190613449565b611e025760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611e11906133d1565b91829055506040519091508190600090611e599083906020019081527f61646d696e000000000000000000000000000000000000000000000000000000602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf87529690962087518155915160018301805491851673ffffffffffffffffffffffffffffffffffffffff1992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611f1990826132e8565b5050506080820151600582015560a090910151600690910155611f3c8233611816565b611f468383612693565b6040517fedd146cc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063edd146cc90611f8d9087908d9060040161346b565b600060405180830381600087803b158015611fa757600080fd5b505af1158015611fbb573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190613242565b1415806120a25750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612096919061320f565b6001600160a01b031614155b156120c05760405163636e39bb60e01b815260040160405180910390fd5b845160005b818110156121315760008782815181106120e1576120e161322c565b6020026020010151905060006001600160a01b0316816001600160a01b03160361211e5760405163538ba4f960e01b815260040160405180910390fd5b6121288682611816565b506001016120c5565b5060ca5415612234576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156121735750348860ca546121709190613436565b14155b806121a857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906121a857503460ca5414155b156121c6576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca546121f79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b0390911690611772565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca5460405161222b91815260200190565b60405180910390a25b87156122455761224588868d6119d8565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c60405161227c9493929190613484565b60405180910390a350505050979650505050505050565b6001600160a01b0381166122ba5760405163538ba4f960e01b815260040160405180910390fd5b60cc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602001610943565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c390602001610943565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b670de0b6b3a76400008111156123c8576040517f2fb15b8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b06590602001610943565b600082815260cf60209081526040808320600601548352606582528083206001600160a01b038516845290915281205460ff16610dd6565b60008060008084865af1610e465763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612496576390b8ec186000526004601cfd5b6000603452505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e46576124d3816126de565b6124de8360206126f0565b6040516020016124ef9291906134c0565b60408051601f198184030181529082905262461bcd60e51b8252610ee991600401613541565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161258f578034101561257c576040517f74c5672b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258a836020015182612435565b6125a3565b6125a38484600001518560200151846128d1565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016125e557506001600160a01b038116316108e8565b6125ef838361292e565b90506108e8565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166108e85760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401610ee9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606108e86001600160a01b03831660145b606060006126ff8360026133ea565b61270a906002613436565b67ffffffffffffffff81111561272257612722612b2e565b6040519080825280601f01601f19166020018201604052801561274c576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127835761278361322c565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127ce576127ce61322c565b60200101906001600160f81b031916908160001a90535060006127f28460026133ea565b6127fd906001613436565b90505b6001811115612882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061283e5761283e61322c565b1a60f81b8282815181106128545761285461322c565b60200101906001600160f81b031916908160001a90535060049490941c9361287b81613554565b9050612800565b508315610dd65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af13d15600160005114171661292057637939f4246000526004601cfd5b600060605260405250505050565b6000816014526f70a0823100000000000000000000000060005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b031681526020016129b5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156129db57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd657600080fd5b6001600160a01b0381168114610caf57600080fd5b600060208284031215612a3257600080fd5b8135610dd681612a0b565b600060208284031215612a4f57600080fd5b5035919050565b60005b83811015612a71578181015183820152602001612a59565b50506000910152565b60008151808452612a92816020860160208601612a56565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611d506040850182612a7a565b6020815281516020820152600060208301516001600160a01b0380821660408501528060408601511660608501525050606083015160c06080840152612b0e60e0840182612aa6565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b6d57612b6d612b2e565b604052919050565b600067ffffffffffffffff831115612b8f57612b8f612b2e565b612ba2601f8401601f1916602001612b44565b9050828152838383011115612bb657600080fd5b828260208301376000602084830101529392505050565b600082601f830112612bde57600080fd5b610dd683833560208501612b75565b60008060408385031215612c0057600080fd5b82359150602083013567ffffffffffffffff811115612c1e57600080fd5b612c2a85828601612bcd565b9150509250929050565b600067ffffffffffffffff821115612c4e57612c4e612b2e565b5060051b60200190565b600082601f830112612c6957600080fd5b81356020612c7e612c7983612c34565b612b44565b82815260059290921b84018101918181019086841115612c9d57600080fd5b8286015b84811015612cdd57803567ffffffffffffffff811115612cc15760008081fd5b612ccf8986838b0101612bcd565b845250918301918301612ca1565b509695505050505050565b60008060408385031215612cfb57600080fd5b823567ffffffffffffffff80821115612d1357600080fd5b818501915085601f830112612d2757600080fd5b81356020612d37612c7983612c34565b82815260059290921b84018101918181019089841115612d5657600080fd5b948201945b83861015612d7457853582529482019490820190612d5b565b96505086013592505080821115612d8a57600080fd5b50612c2a85828601612c58565b600081518084526020808501945080840160005b83811015612dd05781516001600160a01b031687529582019590820190600101612dab565b509495945050505050565b602081526000610dd66020830184612d97565b60008060408385031215612e0157600080fd5b8235612e0c81612a0b565b91506020830135612e1c81612a0b565b809150509250929050565b60008060408385031215612e3a57600080fd5b823591506020830135612e1c81612a0b565b600082601f830112612e5d57600080fd5b81356020612e6d612c7983612c34565b82815260059290921b84018101918181019086841115612e8c57600080fd5b8286015b84811015612cdd578035612ea381612a0b565b8352918301918301612e90565b600080600060608486031215612ec557600080fd5b83359250602084013567ffffffffffffffff80821115612ee457600080fd5b612ef087838801612e4c565b93506040860135915080821115612f0657600080fd5b50612f1386828701612bcd565b9150509250925092565b60008060408385031215612f3057600080fd5b50508035926020909101359150565b600060408284031215612f5157600080fd5b6040516040810167ffffffffffffffff8282108183111715612f7557612f75612b2e565b81604052829350843583526020850135915080821115612f9457600080fd5b508301601f81018513612fa657600080fd5b612fb585823560208401612b75565b6020830152505092915050565b60008060408385031215612fd557600080fd5b82359150602083013567ffffffffffffffff811115612ff357600080fd5b612c2a85828601612f3f565b600080600080600080600060e0888a03121561301a57600080fd5b87359650602088013561302c81612a0b565b9550604088013567ffffffffffffffff8082111561304957600080fd5b6130558b838c01612bcd565b965060608a0135915061306782612a0b565b9094506080890135935060a0890135908082111561308457600080fd5b6130908b838c01612f3f565b935060c08a01359150808211156130a657600080fd5b506130b38a828b01612e4c565b91505092959891949750929550565b600080600080600060a086880312156130da57600080fd5b85356130e581612a0b565b945060208601356130f581612a0b565b9350604086013561310581612a0b565b94979396509394606081013594506080013592915050565b60008060006040848603121561313257600080fd5b833567ffffffffffffffff8082111561314a57600080fd5b818601915086601f83011261315e57600080fd5b81358181111561316d57600080fd5b8760208260051b850101111561318257600080fd5b60209283019550935090850135908082111561319d57600080fd5b50612f1386828701612c58565b600181811c908216806131be57607f821691505b6020821081036131de57634e487b7160e01b600052602260045260246000fd5b50919050565b6040815260006131f76040830185612a7a565b90506001600160a01b03831660208301529392505050565b60006020828403121561322157600080fd5b8151610dd681612a0b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561325457600080fd5b5051919050565b60608152600061326e6060830186612d97565b82810360208401526132808186612a7a565b9150506001600160a01b0383166040830152949350505050565b601f821115610d7557600081815260208120601f850160051c810160208610156132c15750805b601f850160051c820191505b818110156132e0578281556001016132cd565b505050505050565b815167ffffffffffffffff81111561330257613302612b2e565b6133168161331084546131aa565b8461329a565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e0565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610dd66020830184612aa6565b634e487b7160e01b600052601160045260246000fd5b6000600182016133e3576133e36133bb565b5060010190565b80820281158282048414176108e8576108e86133bb565b60008261341e57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108e8576108e86133bb565b808201808211156108e8576108e86133bb565b60006020828403121561345b57600080fd5b81518015158114610dd657600080fd5b828152604060208201526000611d506040830184612a7a565b60006001600160a01b038087168352808616602084015250836040830152608060608301526134b66080830184612aa6565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134f8816017850160208801612a56565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613535816028840160208801612a56565b01602801949350505050565b602081526000610dd66020830184612a7a565b600081613563576135636133bb565b50600019019056fea26469706673582212209fbd219854186e75201943c26e320168ba5472dbe372ed6ec1939fdc6856a32064736f6c63430008130033","sourceMap":"5076:29047:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3029:213:12;;;;;;;;;;-1:-1:-1;3029:213:12;;;;;:::i;:::-;;:::i;:::-;;;516:14:125;;509:22;491:41;;479:2;464:18;3029:213:12;;;;;;;;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:125;;;4373:74;;4361:2;4346:18;17298:276:0;4227:226:125;33140:85:0;;;;;;;;;;-1:-1:-1;33211:7:0;;33140:85;;;4604:25:125;;;4592:2;4577:18;33140:85:0;4458:177:125;18212:747:0;;;;;;;;;;-1:-1:-1;18212:747:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;13330:105::-;;;;;;;;;;-1:-1:-1;13330:105:0;;;;;:::i;:::-;;:::i;4834:129:12:-;;;;;;;;;;-1:-1:-1;4834:129:12;;;;;:::i;:::-;4908:7;4934:12;;;:6;:12;;;;;:22;;;;4834:129;16308:430:0;;;;;;;;;;-1:-1:-1;16308:430:0;;;;;:::i;:::-;;:::i;7331:617:42:-;;;:::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;5259:145:12:-;;;;;;;;;;-1:-1:-1;5259:145:12;;;;;:::i;:::-;;:::i;6368:214::-;;;;;;;;;;-1:-1:-1;6368:214:12;;;;;:::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:42;;;:::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:42:-;;;:::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:42:-;;;;;;;;;;-1:-1:-1;;;9866:27:42;9718:191;;14188:101:0;;;;;;;;;;-1:-1:-1;14188:101:0;;;;;:::i;:::-;;:::i;3329:145:12:-;;;;;;;;;;-1:-1:-1;3329:145:12;;;;;:::i;:::-;3415:4;3438:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3438:29:12;;;;;;;;;;;;;;;3329:145;4412:75:9;;;;;;;;;;;;4445:42;4412:75;;2450:49:12;;;;;;;;;;-1:-1:-1;2450:49:12;2495:4;2450: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;5684:147:12;;;;;;;;;;-1:-1:-1;5684:147:12;;;;;:::i;:::-;;:::i;10281:884:0:-;;;;;;:::i;:::-;;:::i;8673:708:42:-;;;;;;:::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:42:-;;;;;;;;;;-1:-1:-1;10012:435:42;;;;;:::i;:::-;10282:19;10276:4;10269:33;;;10131:14;10315:26;;;;10425:4;10409:21;;10403:28;;10012:435;3029:213:12;3114:4;3137:58;;;3152:43;3137:58;;:98;;-1:-1:-1;1183:36:21;1168:51;;;;3199:36:12;3130:105;3029:213;-1:-1:-1;;3029:213:12:o;14900:288:0:-;10836:13:42;: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:125;;;15155:26:0::1;::::0;4346:18:125;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;2505:21:16;: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;;2547:20:16::0;1787:1;3053:7;:22;2873:209;18212:747:0;18348:29;2505:21:16;: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;2547:20:16::0;1787:1;3053:7;:22;2873:209;13330:105:0;10836:13:42;:11;:13::i;:::-;13402:26:0::1;13418:9;13402:15;:26::i;:::-;13330:105:::0;:::o;16308:430::-;10836:13:42;: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:125::0;-1:-1:-1;;;;;16566:35:0;::::1;::::0;::::1;::::0;4346:18:125;;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:42:-;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;2505:21:16;:19;:21::i;:::-;20016:25:0::1;20026:7;20035:5;20016:9;:25::i;:::-;2547:20:16::0;1787:1;3053:7;:22;2873:209;2547:20;19921:127:0;;:::o;5259:145:12:-;4908:7;4934:12;;;:6;:12;;;;;:22;;;2928:16;2939:4;2928:10;:16::i;:::-;5372:25:::1;5383:4;5389:7;5372:10;:25::i;6368:214::-:0;-1:-1:-1;;;;;6463:23:12;;929:10:19;6463:23:12;6455:83;;;;-1:-1:-1;;;6455:83:12;;16949:2:125;6455:83:12;;;16931:21:125;16988:2;16968:18;;;16961:30;17027:34;17007:18;;;17000:62;17098:17;17078:18;;;17071:45;17133:19;;6455:83:12;;;;;;;;;6549:26;6561:4;6567:7;6549:11;:26::i;21468:196:0:-;2505:21:16;: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;;;;;;;;;2547:20:16::0;1787:1;3053:7;:22;2873:209;14481:229:0;10836:13:42;: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:125;;;14676:27:0::1;::::0;4346:18:125;14676:27:0::1;4227:226:125::0;8030:456:42;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:-;2505:21:16;: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;2547:20:16::0;1787:1;3053:7;:22;2873: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:42:-;10836:13;:11;:13::i;:::-;7144:21:::1;7162:1;7144:9;:21::i;:::-;7072:100::o:0;11971:701:0:-;12251:14;2505:21:16;: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;;2547:20:16::0;1787:1;3053:7;:22;2873:209;2547:20;11971:701:0;;;;;;;;;:::o;13624:113::-;10836:13:42;: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:42;:11;:13::i;:::-;14258:24:0::1;14273:8;14258:14;:24::i;7626:593::-:0;4882:13:15;;7816:1:0;;4882:13:15;;;;;4881:14;:40;;;;-1:-1:-1;4899:12:15;;:22;;;;:12;;:22;4881:40;4873:99;;;;-1:-1:-1;;;4873:99:15;;20711:2:125;4873:99:15;;;20693:21:125;20750:2;20730:18;;;20723:30;20789:34;20769:18;;;20762:62;20860:16;20840:18;;;20833:44;20894:19;;4873:99:15;20509:410:125;4873:99:15;4982:12;:22;;-1:-1:-1;;5014:20:15;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:15::0;5055:21;;-1:-1:-1;;5055:21:15;;;5091:20;;21096:4:125;21084:17;;21066:36;;5091:20:15;;21054:2:125;21039:18;5091:20:15;;;;;;;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::-;2505:21:16;: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;2547:20:16::0;1787:1;3053:7;:22;2873:209;5684:147:12;4908:7;4934:12;;;:6;:12;;;;;:22;;;2928:16;2939:4;2928:10;:16::i;:::-;5798:26:::1;5810:4;5816:7;5798: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:42:-;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:42;:11;:13::i;:::-;13987:30:0::1;14005:11;13987:17;:30::i;5593:364:42:-:0;-1:-1:-1;;5799:27:42;5789:8;5786:41;5776:165;;5860:10;5854:4;5847:24;5922:4;5916;5909:18;2580:287:16;1830:1;2712:7;;:19;2704:63;;;;-1:-1:-1;;;2704:63:16;;21315:2:125;2704:63:16;;;21297:21:125;21354:2;21334:18;;;21327:30;21393:33;21373:18;;;21366:61;21444:18;;2704:63:16;21113:355:125;2704:63:16;1830:1;2842:7;:18;2580: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:125;;;30396:26:0;;4361:2:125;4346:18;30396:26:0;4227:226:125;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;;;3438:12:12;;:6;:12;;;;;-1:-1:-1;;;;;3438:29:12;;;;;;;;;;;;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;;;;;;;;;;;7917:233:12;3415:4;3438:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3438:29:12;;;;;;;;;;;;7995:149;;8038:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8038:29:12;;;;;;;;;:36;;-1:-1:-1;;8038:36:12;8070:4;8038:36;;;8120:12;929:10:19;;850:96;8120:12:12;-1:-1:-1;;;;;8093:40:12;8111:7;-1:-1:-1;;;;;8093:40:12;8105:4;8093:40;;;;;;;;;;7917: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;3768:103:12:-;3834:30;3845:4;929:10:19;3834::12;:30::i;8321:234::-;3415:4;3438:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3438:29:12;;;;;;;;;;;;8400:149;;;8474:5;8442:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8442:29:12;;;;;;;;;;:37;;-1:-1:-1;;8442:37:12;;;8498:40;929:10:19;;8442:12:12;;8498:40;;8474:5;8498:40;8321: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:125;;;-1:-1:-1;;;;;28400:28:0;;;;;4577:18:125;;28400:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;28460:46:0;;;22362:25:125;;;22418:2;22403:18;;22396:34;;;28471:7:0;;-1:-1:-1;28460:46:0;;-1:-1:-1;22335:18:125;28460:46:0;;;;;;;26717:1796;;;;26634:1879;;;:::o;21910:142::-;21987:35;22002:7;22011:10;21987:14;:35::i;5040:495:42:-;-1:-1:-1;;5416:16:42;;-1:-1:-1;;;;;5272:26:42;;;;;;5376:38;5373:1;;5365:78;5492:27;5040:495::o;4749:279:6:-;4867:36;;-1:-1:-1;;4884:10:6;22618:2:125;22614:15;22610:53;4867:36:6;;;22598:66:125;22680:12;;;22673:28;;;4823:7:6;;;;22717:12:125;;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:125;;;23470:10:0;22955:18:125;;;22948:83;23393:14:0;;-1:-1:-1;;;;;23424:8:0;;:33;;22887:18:125;;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:125;;;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:125;;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:125;;;30809:25:0;;4361:2:125;4346:18;30809:25:0;4227:226:125;31426:125:0;31487:7;:18;;;31521:23;;4604:25:125;;;31521:23:0;;4592:2:125;4577:18;31521:23:0;4458:177:125;4520:448:42;-1:-1:-1;;;;;4709:26:42;-1:-1:-1;;4784:38:42;;;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:125;;;31203:29:0;;4592:2:125;4577:18;31203:29:0;4458:177:125;29346:153:0;29426:4;29457:14;;;:5;:14;;;;;;;;:24;;;3438:12:12;;:6;:12;;;;;-1:-1:-1;;;;;3438:29:12;;;;;;;;;;;;29449:43:0;3329:145:12;2455:490:44;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;4152:501:12:-;3415:4;3438:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3438:29:12;;;;;;;;;;;;4235:412;;4423:39;4454:7;4423:30;:39::i;:::-;4533:49;4572:4;4579:2;4533:30;:49::i;:::-;4330:274;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4330:274:12;;;;;;;;;;-1:-1:-1;;;4278:358:12;;;;;;;:::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:14;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:14;;2847:58;;;;-1:-1:-1;;;2847:58:14;;26275:2:125;2847:58:14;;;26257:21:125;26314:2;26294:18;;;26287:30;26353:25;26333:18;;;26326:53;26396:18;;2847:58:14;26073:347:125;7502:247:12;7585:25;4934:12;;;:6;:12;;;;;;:22;;;;7641:34;;;;7690:52;;4934:22;;7641:34;;4934:22;;:12;;7690:52;;7585:25;7690:52;7575:174;7502:247;;:::o;2473:149:20:-;2531:13;2563:52;-1:-1:-1;;;;;2575:22:20;;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:20;;1984:47;;2041:15;:6;2048:1;2041:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2041:15:20;;;;;;;;;2066;:6;2073:1;2066:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2066:15:20;;;;;;;;-1:-1:-1;2096:9:20;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:20;;;;;;;;-1:-1:-1;2207:1:20;2197:11;;;;;2131:3;;;:::i;:::-;;;2091:128;;;-1:-1:-1;2236:10:20;;2228:55;;;;-1:-1:-1;;;2228:55:20;;26768:2:125;2228:55:20;;;26750:21:125;;;26787:18;;;26780:30;26846:34;26826:18;;;26819:62;26898:18;;2228:55:20;26566:356:125;7671:1379:44;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:44: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:125:-;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:125;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:125;;954:180;-1:-1:-1;954:180:125: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:125;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:125;1613:39;;;;1654:4;1609:50;;1394:271;-1:-1:-1;;1394:271:125: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:125;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:125;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:125;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:125: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:125;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:125;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:125;;;;5350;;5317:368;;;-1:-1:-1;5703:5:125;4828:886;-1:-1:-1;;;;;;4828:886:125: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:125;;6703:32;;-1:-1:-1;;6747:16:125;;;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:125;7175:75;;7270:12;;;;7305:15;;;;7148:1;7141:9;7112:218;;;-1:-1:-1;7346:3:125;;6871:484;-1:-1:-1;;;;;6871:484:125: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:125;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:125;;;11142:2;11127:18;;;11114:32;;-1:-1:-1;10904:248:125: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:125;;11753:4;11745:13;;11741:23;-1:-1:-1;11731:51:125;;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:125;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:125;13130:19;;13117:33;;-1:-1:-1;13203:3:125;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:125;14144:18;;14131:32;14172:33;14131:32;14172:33;:::i;:::-;14224:7;-1:-1:-1;14283:2:125;14268:18;;14255:32;14296:33;14255:32;14296:33;:::i;:::-;13789:675;;;;-1:-1:-1;14348:7:125;;14402:2;14387:18;;14374:32;;-1:-1:-1;14453:3:125;14438:19;14425:33;;13789:675;-1:-1:-1;;13789:675:125: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:125;-1:-1:-1;15171:20:125;;;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:125;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:125;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:125;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:125;;16558:184;-1:-1:-1;16558:184:125: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:125;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:125;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:125;;;19759:26;19710:89;-1:-1:-1;;18514:1:125;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:125;;;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:125;19547:14;;;19563:3;19543:24;19539:37;19535:42;19520:58;19505:74;;19392:201;-1:-1:-1;;;;;19639:1:125;19623:14;;;19619:22;19606:36;;-1:-1:-1;18557:1352:125: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:125;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:125;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:125;21737:88;21848:4;21845:1;21838:15;21876:4;21873:1;21866:15;21702:189;-1:-1:-1;21905:9:125;;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:125;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:125: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:125: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:125;;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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"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\"]}},\"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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"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"}},"version":1},"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":"0x608060405234801561001057600080fd5b506135a1806100206000396000f3fe6080604052600436106102e75760003560e01c80635f9ca13811610184578063ab2ec589116100d6578063e1007d4a1161008a578063f4e1fc4111610064578063f4e1fc41146107e7578063f54fc4a014610802578063fee81cf41461082257600080fd5b8063e1007d4a146107ae578063f04e283e146107c1578063f2fde38b146107d457600080fd5b8063c6dff1cf116100bb578063c6dff1cf14610735578063cfc0cc3414610755578063d547741f1461078e57600080fd5b8063ab2ec589146106f5578063ab3febc61461071557600080fd5b80638da5cb5b11610138578063a0cf0aea11610112578063a0cf0aea14610698578063a217fddf146106c0578063a6b63eb8146106d557600080fd5b80638da5cb5b146106195780638e6901861461063257806391d148541461065257600080fd5b806377da8caf1161016957806377da8caf146105c65780637f51bb1f146105d95780637f5a70bd146105f957600080fd5b80635f9ca1381461059e578063715018a6146105be57600080fd5b80632cf682b01161023d5780633b19e84a116101f157806354d1f13d116101cb57806354d1f13d146105655780635ab1bd531461056d5780635acd6fac1461058b57600080fd5b80633b19e84a1461051257806341bba0b4146105305780634edbaadc1461055057600080fd5b80632f2ff15d116102225780632f2ff15d146104b257806336568abe146104d25780633a5fbd92146104f257600080fd5b80632cf682b01461047f5780632ec381881461049f57600080fd5b80631a20bd881161029f57806324ae6a271161027957806324ae6a2714610437578063256929621461045757806329e40d4b1461045f57600080fd5b80631a20bd88146103ba5780631a5da6c8146103e7578063248a9ca31461040757600080fd5b8063068bcd8d116102d0578063068bcd8d14610343578063075c0e9c1461037057806315e812ad1461039b57600080fd5b806301ffc9a7146102ec578063031e2fa114610321575b600080fd5b3480156102f857600080fd5b5061030c6103073660046129c9565b610855565b60405190151581526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c366004612a20565b6108ee565b005b34801561034f57600080fd5b5061036361035e366004612a3d565b61094e565b6040516103189190612ac5565b61038361037e366004612bed565b610a61565b6040516001600160a01b039091168152602001610318565b3480156103a757600080fd5b5060ca545b604051908152602001610318565b3480156103c657600080fd5b506103da6103d5366004612ce8565b610b17565b6040516103189190612ddb565b3480156103f357600080fd5b50610341610402366004612a20565b610c9e565b34801561041357600080fd5b506103ac610422366004612a3d565b60009081526065602052604090206001015490565b34801561044357600080fd5b50610341610452366004612dee565b610cb2565b610341610d7a565b34801561046b57600080fd5b5061030c61047a366004612e27565b610dca565b34801561048b57600080fd5b5061034161049a366004612e27565b610ddd565b6103416104ad366004612bed565b610e2a565b3480156104be57600080fd5b506103416104cd366004612e27565b610e4a565b3480156104de57600080fd5b506103416104ed366004612e27565b610e6f565b3480156104fe57600080fd5b5061034161050d366004612eb0565b610efc565b34801561051e57600080fd5b5060cc546001600160a01b0316610383565b34801561053c57600080fd5b5061034161054b366004612a20565b610f9d565b34801561055c57600080fd5b5060c9546103ac565b610341611020565b34801561057957600080fd5b5060cd546001600160a01b0316610383565b610341610599366004612f1d565b61105c565b3480156105aa57600080fd5b506103416105b9366004612fc2565b6111f3565b610341611270565b6103ac6105d4366004612fff565b611284565b3480156105e557600080fd5b506103416105f4366004612a20565b611333565b34801561060557600080fd5b50610341610614366004612e27565b611344565b34801561062557600080fd5b50638b78c6d81954610383565b34801561063e57600080fd5b5061034161064d366004612a3d565b61136a565b34801561065e57600080fd5b5061030c61066d366004612e27565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106a457600080fd5b5061038373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106cc57600080fd5b506103ac600081565b3480156106e157600080fd5b506103416106f03660046130c2565b61137b565b34801561070157600080fd5b5061030c610710366004612a20565b611499565b34801561072157600080fd5b5061030c610730366004612e27565b6114ba565b34801561074157600080fd5b5061034161075036600461311d565b6114c6565b34801561076157600080fd5b50610383610770366004612a3d565b600090815260cf60205260409020600101546001600160a01b031690565b34801561079a57600080fd5b506103416107a9366004612e27565b61154b565b6103ac6107bc366004612fff565b611570565b6103416107cf366004612a20565b611607565b6103416107e2366004612a20565b611644565b3480156107f357600080fd5b50670de0b6b3a76400006103ac565b34801561080e57600080fd5b5061034161081d366004612a3d565b61166b565b34801561082e57600080fd5b506103ac61083d366004612a20565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108e857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6108f661167c565b6001600160a01b038116600081815260d06020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b610956612963565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b039081168285015260028301541681850152835180850190945260038201805485526004830180549295939460608701949390840191906109c0906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546109ec906131aa565b8015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b6000610a6b611697565b600083815260cf6020526040908190206001015490517f2bbe0cae0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632bbe0cae903490610ac890869033906004016131e4565b60206040518083038185885af1158015610ae6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0b919061320f565b90506108e86001609755565b6060610b21611697565b82518067ffffffffffffffff811115610b3c57610b3c612b2e565b604051908082528060200260200182016040528015610b65578160200160208202803683370190505b50915082518114610b895760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610c925760cf6000868381518110610baa57610baa61322c565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610bf757610bf761322c565b6020026020010151336040518363ffffffff1660e01b8152600401610c1d9291906131e4565b6020604051808303816000875af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061320f565b838281518110610c7257610c7261322c565b6001600160a01b0390921660209283029190910190910152600101610b8c565b50506108e86001609755565b610ca661167c565b610caf816116f0565b50565b610cba61167c565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610d66576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d619190613242565b610d68565b475b9050610d75838383611772565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610dd683836117ac565b9392505050565b81610de7816117ef565b6001600160a01b038216610e0e5760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610d759083611816565b610e32611697565b610e3c82826118b8565b610e466001609755565b5050565b600082815260656020526040902060010154610e658161194b565b610d758383611816565b6001600160a01b0381163314610ef25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e468282611955565b610f04611697565b600083815260cf6020526040908190206001015490517f0a6f0ee90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630a6f0ee990610f619085908590339060040161325b565b600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050610d756001609755565b610fa561167c565b6001600160a01b038116610fcc5760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600081815260d06020908152604091829020805460ff1916600117905590519182527f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d19101610943565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b611064611697565b80600003611085576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b03908116828601526002830154168184015282518084019093526003820180548452600483018054929593946060870194909390840191906110ef906131aa565b80601f016020809104026020016040519081016040528092919081815260200182805461111b906131aa565b80156111685780601f1061113d57610100808354040283529160200191611168565b820191906000526020600020905b81548152906001019060200180831161114b57829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156111bb5750348214155b156111d9576040516303e09bb960e31b815260040160405180910390fd5b6111e8828483602001516119d8565b50610e466001609755565b816111fd81611cbc565b600083815260cf602090815260409091208351600382019081559184015190918491600484019061122e90826132e8565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf08460405161126291906133a8565b60405180910390a250505050565b61127861167c565b6112826000611cc6565b565b600061128e611697565b6001600160a01b038716600090815260d0602052604090205460ff166112e0576040517f9369923800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260ce60205260408120805461131c928b92611312928c92909190611309836133d1565b91905055611d04565b8888888888611d58565b90506113286001609755565b979650505050505050565b61133b61167c565b610caf81612293565b8161134e816117ef565b600083815260cf6020526040902060050154610d759083611955565b61137261167c565b610caf81612315565b600054600190610100900460ff1615801561139d575060005460ff8083169116105b61140f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b6000805461ffff191660ff83161761010017905561142c8661234a565b611435856116f0565b61143e84612293565b61144783612386565b61145082612315565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116600090815260d0602052604081205460ff166108e8565b6000610dd683836123fd565b6114ce611697565b8051829081146114f15760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561153f576115378585838181106115115761151161322c565b9050602002013584838151811061152a5761152a61322c565b60200260200101516118b8565b6001016114f4565b5050610d756001609755565b6000828152606560205260409020600101546115668161194b565b610d758383611955565b60006001600160a01b0387166115995760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038716600090815260d0602052604090205460ff16156115ec576040517feeffa72100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fb88888888888888611d58565b98975050505050505050565b61160f61167c565b63389a75e1600c52806000526020600c20805442111561163757636f5e88186000526004601cfd5b60009055610caf81611cc6565b61164c61167c565b8060601b61166257637448fbae6000526004601cfd5b610caf81611cc6565b61167361167c565b610caf81612386565b638b78c6d819543314611282576382b429006000526004601cfd5b6002609754036116e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ee9565b6002609755565b6001600160a01b0381166117175760405163538ba4f960e01b815260040160405180910390fd5b60cd805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610943565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016117a157610d758282612435565b610d75838383612451565b600082815260cf60209081526040808320600501548352606582528083206001600160a01b038516845290915281205460ff1680610dd65750610dd683836123fd565b6117f981336123fd565b610caf5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118743390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf6020526040908190206001015490517fef2920fc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ef2920fc90349061191590859033906004016131e4565b6000604051808303818588803b15801561192e57600080fd5b505af1158015611942573d6000803e3d6000fd5b50505050505050565b610caf81336124a0565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b03169015611b4257670de0b6b3a764000060c954611a1690896133ea565b611a209190613401565b9350611a2c8484613423565b925086611a398486613436565b14611a70576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611aca576040805160608101825233815260cc546001600160a01b03166020820152908101859052611ac4908290612515565b50611b42565b60cc54600090611ae49083906001600160a01b03166125ad565b6040805160608101825233815260cc546001600160a01b03166020820152908101879052909150611b16908390612515565b5060cc54600090611b319084906001600160a01b03166125ad565b9050611b3d8282613423565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611ba357611b9d816040518060600160405280336001600160a01b03168152602001886001600160a01b0316815260200186815250612515565b50611c05565b6000611baf82876125ad565b9050611be7826040518060600160405280336001600160a01b03168152602001896001600160a01b0316815260200187815250612515565b506000611bf483886125ad565b9050611c008282613423565b945050505b6040517ff5b0dfb7000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b6117f981336117ac565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611d5084826125f6565b949350505050565b60cd546040517f5e8a7915000000000000000000000000000000000000000000000000000000008152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de59190613449565b611e025760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611e11906133d1565b91829055506040519091508190600090611e599083906020019081527f61646d696e000000000000000000000000000000000000000000000000000000602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf87529690962087518155915160018301805491851673ffffffffffffffffffffffffffffffffffffffff1992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611f1990826132e8565b5050506080820151600582015560a090910151600690910155611f3c8233611816565b611f468383612693565b6040517fedd146cc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063edd146cc90611f8d9087908d9060040161346b565b600060405180830381600087803b158015611fa757600080fd5b505af1158015611fbb573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190613242565b1415806120a25750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612096919061320f565b6001600160a01b031614155b156120c05760405163636e39bb60e01b815260040160405180910390fd5b845160005b818110156121315760008782815181106120e1576120e161322c565b6020026020010151905060006001600160a01b0316816001600160a01b03160361211e5760405163538ba4f960e01b815260040160405180910390fd5b6121288682611816565b506001016120c5565b5060ca5415612234576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156121735750348860ca546121709190613436565b14155b806121a857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906121a857503460ca5414155b156121c6576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca546121f79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b0390911690611772565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca5460405161222b91815260200190565b60405180910390a25b87156122455761224588868d6119d8565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c60405161227c9493929190613484565b60405180910390a350505050979650505050505050565b6001600160a01b0381166122ba5760405163538ba4f960e01b815260040160405180910390fd5b60cc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602001610943565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c390602001610943565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b670de0b6b3a76400008111156123c8576040517f2fb15b8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b06590602001610943565b600082815260cf60209081526040808320600601548352606582528083206001600160a01b038516845290915281205460ff16610dd6565b60008060008084865af1610e465763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612496576390b8ec186000526004601cfd5b6000603452505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e46576124d3816126de565b6124de8360206126f0565b6040516020016124ef9291906134c0565b60408051601f198184030181529082905262461bcd60e51b8252610ee991600401613541565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161258f578034101561257c576040517f74c5672b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258a836020015182612435565b6125a3565b6125a38484600001518560200151846128d1565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016125e557506001600160a01b038116316108e8565b6125ef838361292e565b90506108e8565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166108e85760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401610ee9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606108e86001600160a01b03831660145b606060006126ff8360026133ea565b61270a906002613436565b67ffffffffffffffff81111561272257612722612b2e565b6040519080825280601f01601f19166020018201604052801561274c576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127835761278361322c565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127ce576127ce61322c565b60200101906001600160f81b031916908160001a90535060006127f28460026133ea565b6127fd906001613436565b90505b6001811115612882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061283e5761283e61322c565b1a60f81b8282815181106128545761285461322c565b60200101906001600160f81b031916908160001a90535060049490941c9361287b81613554565b9050612800565b508315610dd65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af13d15600160005114171661292057637939f4246000526004601cfd5b600060605260405250505050565b6000816014526f70a0823100000000000000000000000060005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b031681526020016129b5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156129db57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd657600080fd5b6001600160a01b0381168114610caf57600080fd5b600060208284031215612a3257600080fd5b8135610dd681612a0b565b600060208284031215612a4f57600080fd5b5035919050565b60005b83811015612a71578181015183820152602001612a59565b50506000910152565b60008151808452612a92816020860160208601612a56565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611d506040850182612a7a565b6020815281516020820152600060208301516001600160a01b0380821660408501528060408601511660608501525050606083015160c06080840152612b0e60e0840182612aa6565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b6d57612b6d612b2e565b604052919050565b600067ffffffffffffffff831115612b8f57612b8f612b2e565b612ba2601f8401601f1916602001612b44565b9050828152838383011115612bb657600080fd5b828260208301376000602084830101529392505050565b600082601f830112612bde57600080fd5b610dd683833560208501612b75565b60008060408385031215612c0057600080fd5b82359150602083013567ffffffffffffffff811115612c1e57600080fd5b612c2a85828601612bcd565b9150509250929050565b600067ffffffffffffffff821115612c4e57612c4e612b2e565b5060051b60200190565b600082601f830112612c6957600080fd5b81356020612c7e612c7983612c34565b612b44565b82815260059290921b84018101918181019086841115612c9d57600080fd5b8286015b84811015612cdd57803567ffffffffffffffff811115612cc15760008081fd5b612ccf8986838b0101612bcd565b845250918301918301612ca1565b509695505050505050565b60008060408385031215612cfb57600080fd5b823567ffffffffffffffff80821115612d1357600080fd5b818501915085601f830112612d2757600080fd5b81356020612d37612c7983612c34565b82815260059290921b84018101918181019089841115612d5657600080fd5b948201945b83861015612d7457853582529482019490820190612d5b565b96505086013592505080821115612d8a57600080fd5b50612c2a85828601612c58565b600081518084526020808501945080840160005b83811015612dd05781516001600160a01b031687529582019590820190600101612dab565b509495945050505050565b602081526000610dd66020830184612d97565b60008060408385031215612e0157600080fd5b8235612e0c81612a0b565b91506020830135612e1c81612a0b565b809150509250929050565b60008060408385031215612e3a57600080fd5b823591506020830135612e1c81612a0b565b600082601f830112612e5d57600080fd5b81356020612e6d612c7983612c34565b82815260059290921b84018101918181019086841115612e8c57600080fd5b8286015b84811015612cdd578035612ea381612a0b565b8352918301918301612e90565b600080600060608486031215612ec557600080fd5b83359250602084013567ffffffffffffffff80821115612ee457600080fd5b612ef087838801612e4c565b93506040860135915080821115612f0657600080fd5b50612f1386828701612bcd565b9150509250925092565b60008060408385031215612f3057600080fd5b50508035926020909101359150565b600060408284031215612f5157600080fd5b6040516040810167ffffffffffffffff8282108183111715612f7557612f75612b2e565b81604052829350843583526020850135915080821115612f9457600080fd5b508301601f81018513612fa657600080fd5b612fb585823560208401612b75565b6020830152505092915050565b60008060408385031215612fd557600080fd5b82359150602083013567ffffffffffffffff811115612ff357600080fd5b612c2a85828601612f3f565b600080600080600080600060e0888a03121561301a57600080fd5b87359650602088013561302c81612a0b565b9550604088013567ffffffffffffffff8082111561304957600080fd5b6130558b838c01612bcd565b965060608a0135915061306782612a0b565b9094506080890135935060a0890135908082111561308457600080fd5b6130908b838c01612f3f565b935060c08a01359150808211156130a657600080fd5b506130b38a828b01612e4c565b91505092959891949750929550565b600080600080600060a086880312156130da57600080fd5b85356130e581612a0b565b945060208601356130f581612a0b565b9350604086013561310581612a0b565b94979396509394606081013594506080013592915050565b60008060006040848603121561313257600080fd5b833567ffffffffffffffff8082111561314a57600080fd5b818601915086601f83011261315e57600080fd5b81358181111561316d57600080fd5b8760208260051b850101111561318257600080fd5b60209283019550935090850135908082111561319d57600080fd5b50612f1386828701612c58565b600181811c908216806131be57607f821691505b6020821081036131de57634e487b7160e01b600052602260045260246000fd5b50919050565b6040815260006131f76040830185612a7a565b90506001600160a01b03831660208301529392505050565b60006020828403121561322157600080fd5b8151610dd681612a0b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561325457600080fd5b5051919050565b60608152600061326e6060830186612d97565b82810360208401526132808186612a7a565b9150506001600160a01b0383166040830152949350505050565b601f821115610d7557600081815260208120601f850160051c810160208610156132c15750805b601f850160051c820191505b818110156132e0578281556001016132cd565b505050505050565b815167ffffffffffffffff81111561330257613302612b2e565b6133168161331084546131aa565b8461329a565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e0565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610dd66020830184612aa6565b634e487b7160e01b600052601160045260246000fd5b6000600182016133e3576133e36133bb565b5060010190565b80820281158282048414176108e8576108e86133bb565b60008261341e57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108e8576108e86133bb565b808201808211156108e8576108e86133bb565b60006020828403121561345b57600080fd5b81518015158114610dd657600080fd5b828152604060208201526000611d506040830184612a7a565b60006001600160a01b038087168352808616602084015250836040830152608060608301526134b66080830184612aa6565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134f8816017850160208801612a56565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613535816028840160208801612a56565b01602801949350505050565b602081526000610dd66020830184612a7a565b600081613563576135636133bb565b50600019019056fea26469706673582212209ebdf24009eb942d287ffe3b47e6f70a6aa37d9994ca0918063eb145aee6062f64736f6c63430008130033","sourceMap":"5076:29047:0:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106102e75760003560e01c80635f9ca13811610184578063ab2ec589116100d6578063e1007d4a1161008a578063f4e1fc4111610064578063f4e1fc41146107e7578063f54fc4a014610802578063fee81cf41461082257600080fd5b8063e1007d4a146107ae578063f04e283e146107c1578063f2fde38b146107d457600080fd5b8063c6dff1cf116100bb578063c6dff1cf14610735578063cfc0cc3414610755578063d547741f1461078e57600080fd5b8063ab2ec589146106f5578063ab3febc61461071557600080fd5b80638da5cb5b11610138578063a0cf0aea11610112578063a0cf0aea14610698578063a217fddf146106c0578063a6b63eb8146106d557600080fd5b80638da5cb5b146106195780638e6901861461063257806391d148541461065257600080fd5b806377da8caf1161016957806377da8caf146105c65780637f51bb1f146105d95780637f5a70bd146105f957600080fd5b80635f9ca1381461059e578063715018a6146105be57600080fd5b80632cf682b01161023d5780633b19e84a116101f157806354d1f13d116101cb57806354d1f13d146105655780635ab1bd531461056d5780635acd6fac1461058b57600080fd5b80633b19e84a1461051257806341bba0b4146105305780634edbaadc1461055057600080fd5b80632f2ff15d116102225780632f2ff15d146104b257806336568abe146104d25780633a5fbd92146104f257600080fd5b80632cf682b01461047f5780632ec381881461049f57600080fd5b80631a20bd881161029f57806324ae6a271161027957806324ae6a2714610437578063256929621461045757806329e40d4b1461045f57600080fd5b80631a20bd88146103ba5780631a5da6c8146103e7578063248a9ca31461040757600080fd5b8063068bcd8d116102d0578063068bcd8d14610343578063075c0e9c1461037057806315e812ad1461039b57600080fd5b806301ffc9a7146102ec578063031e2fa114610321575b600080fd5b3480156102f857600080fd5b5061030c6103073660046129c9565b610855565b60405190151581526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c366004612a20565b6108ee565b005b34801561034f57600080fd5b5061036361035e366004612a3d565b61094e565b6040516103189190612ac5565b61038361037e366004612bed565b610a61565b6040516001600160a01b039091168152602001610318565b3480156103a757600080fd5b5060ca545b604051908152602001610318565b3480156103c657600080fd5b506103da6103d5366004612ce8565b610b17565b6040516103189190612ddb565b3480156103f357600080fd5b50610341610402366004612a20565b610c9e565b34801561041357600080fd5b506103ac610422366004612a3d565b60009081526065602052604090206001015490565b34801561044357600080fd5b50610341610452366004612dee565b610cb2565b610341610d7a565b34801561046b57600080fd5b5061030c61047a366004612e27565b610dca565b34801561048b57600080fd5b5061034161049a366004612e27565b610ddd565b6103416104ad366004612bed565b610e2a565b3480156104be57600080fd5b506103416104cd366004612e27565b610e4a565b3480156104de57600080fd5b506103416104ed366004612e27565b610e6f565b3480156104fe57600080fd5b5061034161050d366004612eb0565b610efc565b34801561051e57600080fd5b5060cc546001600160a01b0316610383565b34801561053c57600080fd5b5061034161054b366004612a20565b610f9d565b34801561055c57600080fd5b5060c9546103ac565b610341611020565b34801561057957600080fd5b5060cd546001600160a01b0316610383565b610341610599366004612f1d565b61105c565b3480156105aa57600080fd5b506103416105b9366004612fc2565b6111f3565b610341611270565b6103ac6105d4366004612fff565b611284565b3480156105e557600080fd5b506103416105f4366004612a20565b611333565b34801561060557600080fd5b50610341610614366004612e27565b611344565b34801561062557600080fd5b50638b78c6d81954610383565b34801561063e57600080fd5b5061034161064d366004612a3d565b61136a565b34801561065e57600080fd5b5061030c61066d366004612e27565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106a457600080fd5b5061038373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156106cc57600080fd5b506103ac600081565b3480156106e157600080fd5b506103416106f03660046130c2565b61137b565b34801561070157600080fd5b5061030c610710366004612a20565b611499565b34801561072157600080fd5b5061030c610730366004612e27565b6114ba565b34801561074157600080fd5b5061034161075036600461311d565b6114c6565b34801561076157600080fd5b50610383610770366004612a3d565b600090815260cf60205260409020600101546001600160a01b031690565b34801561079a57600080fd5b506103416107a9366004612e27565b61154b565b6103ac6107bc366004612fff565b611570565b6103416107cf366004612a20565b611607565b6103416107e2366004612a20565b611644565b3480156107f357600080fd5b50670de0b6b3a76400006103ac565b34801561080e57600080fd5b5061034161081d366004612a3d565b61166b565b34801561082e57600080fd5b506103ac61083d366004612a20565b63389a75e1600c908152600091909152602090205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108e857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6108f661167c565b6001600160a01b038116600081815260d06020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea491015b60405180910390a150565b610956612963565b600082815260cf6020908152604091829020825160c0810184528154815260018201546001600160a01b039081168285015260028301541681850152835180850190945260038201805485526004830180549295939460608701949390840191906109c0906131aa565b80601f01602080910402602001604051908101604052809291908181526020018280546109ec906131aa565b8015610a395780601f10610a0e57610100808354040283529160200191610a39565b820191906000526020600020905b815481529060010190602001808311610a1c57829003601f168201915b5050505050815250508152602001600582015481526020016006820154815250509050919050565b6000610a6b611697565b600083815260cf6020526040908190206001015490517f2bbe0cae0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690632bbe0cae903490610ac890869033906004016131e4565b60206040518083038185885af1158015610ae6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610b0b919061320f565b90506108e86001609755565b6060610b21611697565b82518067ffffffffffffffff811115610b3c57610b3c612b2e565b604051908082528060200260200182016040528015610b65578160200160208202803683370190505b50915082518114610b895760405163636e39bb60e01b815260040160405180910390fd5b60005b81811015610c925760cf6000868381518110610baa57610baa61322c565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160a01b03166001600160a01b0316632bbe0cae858381518110610bf757610bf761322c565b6020026020010151336040518363ffffffff1660e01b8152600401610c1d9291906131e4565b6020604051808303816000875af1158015610c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061320f565b838281518110610c7257610c7261322c565b6001600160a01b0390921660209283029190910190910152600101610b8c565b50506108e86001609755565b610ca661167c565b610caf816116f0565b50565b610cba61167c565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610d66576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d619190613242565b610d68565b475b9050610d75838383611772565b505050565b60006202a30067ffffffffffffffff164201905063389a75e1600c5233600052806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d600080a250565b6000610dd683836117ac565b9392505050565b81610de7816117ef565b6001600160a01b038216610e0e5760405163538ba4f960e01b815260040160405180910390fd5b600083815260cf6020526040902060050154610d759083611816565b610e32611697565b610e3c82826118b8565b610e466001609755565b5050565b600082815260656020526040902060010154610e658161194b565b610d758383611816565b6001600160a01b0381163314610ef25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610e468282611955565b610f04611697565b600083815260cf6020526040908190206001015490517f0a6f0ee90000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690630a6f0ee990610f619085908590339060040161325b565b600060405180830381600087803b158015610f7b57600080fd5b505af1158015610f8f573d6000803e3d6000fd5b50505050610d756001609755565b610fa561167c565b6001600160a01b038116610fcc5760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038116600081815260d06020908152604091829020805460ff1916600117905590519182527f960dd94cbb79169f09a4e445d58b895df2d9bffa5b31055d0932d801724a20d19101610943565b63389a75e1600c523360005260006020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92600080a2565b611064611697565b80600003611085576040516303e09bb960e31b815260040160405180910390fd5b600082815260cf60209081526040808320815160c0810183528154815260018201546001600160a01b03908116828601526002830154168184015282518084019093526003820180548452600483018054929593946060870194909390840191906110ef906131aa565b80601f016020809104026020016040519081016040528092919081815260200182805461111b906131aa565b80156111685780601f1061113d57610100808354040283529160200191611168565b820191906000526020600020905b81548152906001019060200180831161114b57829003601f168201915b505050919092525050508152600582015460208201526006909101546040918201528101519091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156111bb5750348214155b156111d9576040516303e09bb960e31b815260040160405180910390fd5b6111e8828483602001516119d8565b50610e466001609755565b816111fd81611cbc565b600083815260cf602090815260409091208351600382019081559184015190918491600484019061122e90826132e8565b50905050837f14f52b76bda9e4c482842cefda2968d332933577988f224e80aae18fba10edf08460405161126291906133a8565b60405180910390a250505050565b61127861167c565b6112826000611cc6565b565b600061128e611697565b6001600160a01b038716600090815260d0602052604090205460ff166112e0576040517f9369923800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260ce60205260408120805461131c928b92611312928c92909190611309836133d1565b91905055611d04565b8888888888611d58565b90506113286001609755565b979650505050505050565b61133b61167c565b610caf81612293565b8161134e816117ef565b600083815260cf6020526040902060050154610d759083611955565b61137261167c565b610caf81612315565b600054600190610100900460ff1615801561139d575060005460ff8083169116105b61140f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b6000805461ffff191660ff83161761010017905561142c8661234a565b611435856116f0565b61143e84612293565b61144783612386565b61145082612315565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116600090815260d0602052604081205460ff166108e8565b6000610dd683836123fd565b6114ce611697565b8051829081146114f15760405163636e39bb60e01b815260040160405180910390fd5b60005b8181101561153f576115378585838181106115115761151161322c565b9050602002013584838151811061152a5761152a61322c565b60200260200101516118b8565b6001016114f4565b5050610d756001609755565b6000828152606560205260409020600101546115668161194b565b610d758383611955565b60006001600160a01b0387166115995760405163538ba4f960e01b815260040160405180910390fd5b6001600160a01b038716600090815260d0602052604090205460ff16156115ec576040517feeffa72100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fb88888888888888611d58565b98975050505050505050565b61160f61167c565b63389a75e1600c52806000526020600c20805442111561163757636f5e88186000526004601cfd5b60009055610caf81611cc6565b61164c61167c565b8060601b61166257637448fbae6000526004601cfd5b610caf81611cc6565b61167361167c565b610caf81612386565b638b78c6d819543314611282576382b429006000526004601cfd5b6002609754036116e95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ee9565b6002609755565b6001600160a01b0381166117175760405163538ba4f960e01b815260040160405180910390fd5b60cd805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd90602001610943565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016117a157610d758282612435565b610d75838383612451565b600082815260cf60209081526040808320600501548352606582528083206001600160a01b038516845290915281205460ff1680610dd65750610dd683836123fd565b6117f981336123fd565b610caf5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556118743390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260cf6020526040908190206001015490517fef2920fc0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ef2920fc90349061191590859033906004016131e4565b6000604051808303818588803b15801561192e57600080fd5b505af1158015611942573d6000803e3d6000fd5b50505050505050565b610caf81336124a0565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610e465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082815260cf60205260408120600281015460c9548692916001600160a01b03169015611b4257670de0b6b3a764000060c954611a1690896133ea565b611a209190613401565b9350611a2c8484613423565b925086611a398486613436565b14611a70576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611aca576040805160608101825233815260cc546001600160a01b03166020820152908101859052611ac4908290612515565b50611b42565b60cc54600090611ae49083906001600160a01b03166125ad565b6040805160608101825233815260cc546001600160a01b03166020820152908101879052909150611b16908390612515565b5060cc54600090611b319084906001600160a01b03166125ad565b9050611b3d8282613423565b955050505b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611ba357611b9d816040518060600160405280336001600160a01b03168152602001886001600160a01b0316815260200186815250612515565b50611c05565b6000611baf82876125ad565b9050611be7826040518060600160405280336001600160a01b03168152602001896001600160a01b0316815260200187815250612515565b506000611bf483886125ad565b9050611c008282613423565b945050505b6040517ff5b0dfb7000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0386169063f5b0dfb790602401600060405180830381600087803b158015611c6057600080fd5b505af1158015611c74573d6000803e3d6000fd5b505060408051868152602081018890528993507fbf59838198f4ea92f663f5c1fc697f151a1b746b7dff86d564f250a55cbb485192500160405180910390a250505050505050565b6117f981336117ac565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a355565b6040516bffffffffffffffffffffffff193360601b166020820152603481018290526000908190605401604051602081830303815290604052805190602001209050611d5084826125f6565b949350505050565b60cd546040517f5e8a7915000000000000000000000000000000000000000000000000000000008152600481018990523360248201526000916001600160a01b031690635e8a791590604401602060405180830381865afa158015611dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de59190613449565b611e025760405163075fd2b160e01b815260040160405180910390fd5b60cb60008154611e11906133d1565b91829055506040519091508190600090611e599083906020019081527f61646d696e000000000000000000000000000000000000000000000000000000602082015260250190565b60408051601f19818403018152828252805160209182012060c0840183528d84526001600160a01b03808e168584019081528c8216868601908152606087018c8152608088018a905260a0880185905260008b815260cf87529690962087518155915160018301805491851673ffffffffffffffffffffffffffffffffffffffff1992831617905590516002830180549190941691161790915592518051600385019081559281015191955084939290916004840190611f1990826132e8565b5050506080820151600582015560a090910151600690910155611f3c8233611816565b611f468383612693565b6040517fedd146cc0000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063edd146cc90611f8d9087908d9060040161346b565b600060405180830381600087803b158015611fa757600080fd5b505af1158015611fbb573d6000803e3d6000fd5b50505050838a6001600160a01b03166338fff2d06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190613242565b1415806120a25750306001600160a01b03168a6001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612096919061320f565b6001600160a01b031614155b156120c05760405163636e39bb60e01b815260040160405180910390fd5b845160005b818110156121315760008782815181106120e1576120e161322c565b6020026020010151905060006001600160a01b0316816001600160a01b03160361211e5760405163538ba4f960e01b815260040160405180910390fd5b6121288682611816565b506001016120c5565b5060ca5415612234576001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480156121735750348860ca546121709190613436565b14155b806121a857506001600160a01b03891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee148015906121a857503460ca5414155b156121c6576040516303e09bb960e31b815260040160405180910390fd5b60cc5460ca546121f79173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee916001600160a01b0390911690611772565b847f02e340b51c6ae66fd22509c9b016f224c47a54063d4259fe3d860958e9eaac7260ca5460405161222b91815260200190565b60405180910390a25b87156122455761224588868d6119d8565b8b857f69bcb5a6cf6a3c95185cbb451e77787240c866dd2e8332597e3013ff18a1aba18d8c8c8c60405161227c9493929190613484565b60405180910390a350505050979650505050505050565b6001600160a01b0381166122ba5760405163538ba4f960e01b815260040160405180910390fd5b60cc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602001610943565b60ca8190556040518181527f803bee7e92bbc6ae7a1551f9f4ed3e31a8ea8df32e93332f41b0028f1091f9c390602001610943565b6001600160a01b0316638b78c6d8198190558060007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b670de0b6b3a76400008111156123c8576040517f2fb15b8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98190556040518181527f9e826789de2de708fd9f09edea1182545e543893caa8ff71f8eb3aab50a4b06590602001610943565b600082815260cf60209081526040808320600601548352606582528083206001600160a01b038516845290915281205460ff16610dd6565b60008060008084865af1610e465763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716612496576390b8ec186000526004601cfd5b6000603452505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610e46576124d3816126de565b6124de8360206126f0565b6040516020016124ef9291906134c0565b60408051601f198184030181529082905262461bcd60e51b8252610ee991600401613541565b604081015160009073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0385160161258f578034101561257c576040517f74c5672b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61258a836020015182612435565b6125a3565b6125a38484600001518560200151846128d1565b5060019392505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016125e557506001600160a01b038116316108e8565b6125ef838361292e565b90506108e8565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166108e85760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401610ee9565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b60606108e86001600160a01b03831660145b606060006126ff8360026133ea565b61270a906002613436565b67ffffffffffffffff81111561272257612722612b2e565b6040519080825280601f01601f19166020018201604052801561274c576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106127835761278361322c565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127ce576127ce61322c565b60200101906001600160f81b031916908160001a90535060006127f28460026133ea565b6127fd906001613436565b90505b6001811115612882577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061283e5761283e61322c565b1a60f81b8282815181106128545761285461322c565b60200101906001600160f81b031916908160001a90535060049490941c9361287b81613554565b9050612800565b508315610dd65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c52602060006064601c6000895af13d15600160005114171661292057637939f4246000526004601cfd5b600060605260405250505050565b6000816014526f70a0823100000000000000000000000060005260208060246010865afa601f3d111660205102905092915050565b6040518060c001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b031681526020016129b5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b6000602082840312156129db57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dd657600080fd5b6001600160a01b0381168114610caf57600080fd5b600060208284031215612a3257600080fd5b8135610dd681612a0b565b600060208284031215612a4f57600080fd5b5035919050565b60005b83811015612a71578181015183820152602001612a59565b50506000910152565b60008151808452612a92816020860160208601612a56565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152611d506040850182612a7a565b6020815281516020820152600060208301516001600160a01b0380821660408501528060408601511660608501525050606083015160c06080840152612b0e60e0840182612aa6565b9050608084015160a084015260a084015160c08401528091505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612b6d57612b6d612b2e565b604052919050565b600067ffffffffffffffff831115612b8f57612b8f612b2e565b612ba2601f8401601f1916602001612b44565b9050828152838383011115612bb657600080fd5b828260208301376000602084830101529392505050565b600082601f830112612bde57600080fd5b610dd683833560208501612b75565b60008060408385031215612c0057600080fd5b82359150602083013567ffffffffffffffff811115612c1e57600080fd5b612c2a85828601612bcd565b9150509250929050565b600067ffffffffffffffff821115612c4e57612c4e612b2e565b5060051b60200190565b600082601f830112612c6957600080fd5b81356020612c7e612c7983612c34565b612b44565b82815260059290921b84018101918181019086841115612c9d57600080fd5b8286015b84811015612cdd57803567ffffffffffffffff811115612cc15760008081fd5b612ccf8986838b0101612bcd565b845250918301918301612ca1565b509695505050505050565b60008060408385031215612cfb57600080fd5b823567ffffffffffffffff80821115612d1357600080fd5b818501915085601f830112612d2757600080fd5b81356020612d37612c7983612c34565b82815260059290921b84018101918181019089841115612d5657600080fd5b948201945b83861015612d7457853582529482019490820190612d5b565b96505086013592505080821115612d8a57600080fd5b50612c2a85828601612c58565b600081518084526020808501945080840160005b83811015612dd05781516001600160a01b031687529582019590820190600101612dab565b509495945050505050565b602081526000610dd66020830184612d97565b60008060408385031215612e0157600080fd5b8235612e0c81612a0b565b91506020830135612e1c81612a0b565b809150509250929050565b60008060408385031215612e3a57600080fd5b823591506020830135612e1c81612a0b565b600082601f830112612e5d57600080fd5b81356020612e6d612c7983612c34565b82815260059290921b84018101918181019086841115612e8c57600080fd5b8286015b84811015612cdd578035612ea381612a0b565b8352918301918301612e90565b600080600060608486031215612ec557600080fd5b83359250602084013567ffffffffffffffff80821115612ee457600080fd5b612ef087838801612e4c565b93506040860135915080821115612f0657600080fd5b50612f1386828701612bcd565b9150509250925092565b60008060408385031215612f3057600080fd5b50508035926020909101359150565b600060408284031215612f5157600080fd5b6040516040810167ffffffffffffffff8282108183111715612f7557612f75612b2e565b81604052829350843583526020850135915080821115612f9457600080fd5b508301601f81018513612fa657600080fd5b612fb585823560208401612b75565b6020830152505092915050565b60008060408385031215612fd557600080fd5b82359150602083013567ffffffffffffffff811115612ff357600080fd5b612c2a85828601612f3f565b600080600080600080600060e0888a03121561301a57600080fd5b87359650602088013561302c81612a0b565b9550604088013567ffffffffffffffff8082111561304957600080fd5b6130558b838c01612bcd565b965060608a0135915061306782612a0b565b9094506080890135935060a0890135908082111561308457600080fd5b6130908b838c01612f3f565b935060c08a01359150808211156130a657600080fd5b506130b38a828b01612e4c565b91505092959891949750929550565b600080600080600060a086880312156130da57600080fd5b85356130e581612a0b565b945060208601356130f581612a0b565b9350604086013561310581612a0b565b94979396509394606081013594506080013592915050565b60008060006040848603121561313257600080fd5b833567ffffffffffffffff8082111561314a57600080fd5b818601915086601f83011261315e57600080fd5b81358181111561316d57600080fd5b8760208260051b850101111561318257600080fd5b60209283019550935090850135908082111561319d57600080fd5b50612f1386828701612c58565b600181811c908216806131be57607f821691505b6020821081036131de57634e487b7160e01b600052602260045260246000fd5b50919050565b6040815260006131f76040830185612a7a565b90506001600160a01b03831660208301529392505050565b60006020828403121561322157600080fd5b8151610dd681612a0b565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561325457600080fd5b5051919050565b60608152600061326e6060830186612d97565b82810360208401526132808186612a7a565b9150506001600160a01b0383166040830152949350505050565b601f821115610d7557600081815260208120601f850160051c810160208610156132c15750805b601f850160051c820191505b818110156132e0578281556001016132cd565b505050505050565b815167ffffffffffffffff81111561330257613302612b2e565b6133168161331084546131aa565b8461329a565b602080601f83116001811461334b57600084156133335750858301515b600019600386901b1c1916600185901b1785556132e0565b600085815260208120601f198616915b8281101561337a5788860151825594840194600190910190840161335b565b50858210156133985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000610dd66020830184612aa6565b634e487b7160e01b600052601160045260246000fd5b6000600182016133e3576133e36133bb565b5060010190565b80820281158282048414176108e8576108e86133bb565b60008261341e57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156108e8576108e86133bb565b808201808211156108e8576108e86133bb565b60006020828403121561345b57600080fd5b81518015158114610dd657600080fd5b828152604060208201526000611d506040830184612a7a565b60006001600160a01b038087168352808616602084015250836040830152608060608301526134b66080830184612aa6565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134f8816017850160208801612a56565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613535816028840160208801612a56565b01602801949350505050565b602081526000610dd66020830184612a7a565b600081613563576135636133bb565b50600019019056fea26469706673582212209ebdf24009eb942d287ffe3b47e6f70a6aa37d9994ca0918063eb145aee6062f64736f6c63430008130033","sourceMap":"5076:29047:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3029:213:12;;;;;;;;;;-1:-1:-1;3029:213:12;;;;;:::i;:::-;;:::i;:::-;;;516:14:128;;509:22;491:41;;479:2;464:18;3029:213:12;;;;;;;;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:128;;;4373:74;;4361:2;4346:18;17298:276:0;4227:226:128;33140:85:0;;;;;;;;;;-1:-1:-1;33211:7:0;;33140:85;;;4604:25:128;;;4592:2;4577:18;33140:85:0;4458:177:128;18212:747:0;;;;;;;;;;-1:-1:-1;18212:747:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;13330:105::-;;;;;;;;;;-1:-1:-1;13330:105:0;;;;;:::i;:::-;;:::i;4834:129:12:-;;;;;;;;;;-1:-1:-1;4834:129:12;;;;;:::i;:::-;4908:7;4934:12;;;:6;:12;;;;;:22;;;;4834:129;16308:430:0;;;;;;;;;;-1:-1:-1;16308:430:0;;;;;:::i;:::-;;:::i;7331:617:26:-;;;:::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;5259:145:12:-;;;;;;;;;;-1:-1:-1;5259:145:12;;;;;:::i;:::-;;:::i;6368:214::-;;;;;;;;;;-1:-1:-1;6368:214:12;;;;;:::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:26;;;:::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:26:-;;;:::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:26:-;;;;;;;;;;-1:-1:-1;;;9866:27:26;9718:191;;14188:101:0;;;;;;;;;;-1:-1:-1;14188:101:0;;;;;:::i;:::-;;:::i;3329:145:12:-;;;;;;;;;;-1:-1:-1;3329:145:12;;;;;:::i;:::-;3415:4;3438:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3438:29:12;;;;;;;;;;;;;;;3329:145;4412:75:9;;;;;;;;;;;;4445:42;4412:75;;2450:49:12;;;;;;;;;;-1:-1:-1;2450:49:12;2495:4;2450: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;5684:147:12;;;;;;;;;;-1:-1:-1;5684:147:12;;;;;:::i;:::-;;:::i;10281:884:0:-;;;;;;:::i;:::-;;:::i;8673:708:26:-;;;;;;:::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:26:-;;;;;;;;;;-1:-1:-1;10012:435:26;;;;;:::i;:::-;10282:19;10276:4;10269:33;;;10131:14;10315:26;;;;10425:4;10409:21;;10403:28;;10012:435;3029:213:12;3114:4;3137:58;;;3152:43;3137:58;;:98;;-1:-1:-1;1183:36:22;1168:51;;;;3199:36:12;3130:105;3029:213;-1:-1:-1;;3029:213:12:o;14900:288:0:-;10836:13:26;: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:128;;;15155:26:0::1;::::0;4346:18:128;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;2505:21:17;: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;;2547:20:17::0;1787:1;3053:7;:22;2873:209;18212:747:0;18348:29;2505:21:17;: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;2547:20:17::0;1787:1;3053:7;:22;2873:209;13330:105:0;10836:13:26;:11;:13::i;:::-;13402:26:0::1;13418:9;13402:15;:26::i;:::-;13330:105:::0;:::o;16308:430::-;10836:13:26;: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:128::0;-1:-1:-1;;;;;16566:35:0;::::1;::::0;::::1;::::0;4346:18:128;;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:26:-;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;2505:21:17;:19;:21::i;:::-;20016:25:0::1;20026:7;20035:5;20016:9;:25::i;:::-;2547:20:17::0;1787:1;3053:7;:22;2873:209;2547:20;19921:127:0;;:::o;5259:145:12:-;4908:7;4934:12;;;:6;:12;;;;;:22;;;2928:16;2939:4;2928:10;:16::i;:::-;5372:25:::1;5383:4;5389:7;5372:10;:25::i;6368:214::-:0;-1:-1:-1;;;;;6463:23:12;;929:10:20;6463:23:12;6455:83;;;;-1:-1:-1;;;6455:83:12;;16949:2:128;6455:83:12;;;16931:21:128;16988:2;16968:18;;;16961:30;17027:34;17007:18;;;17000:62;17098:17;17078:18;;;17071:45;17133:19;;6455:83:12;;;;;;;;;6549:26;6561:4;6567:7;6549:11;:26::i;21468:196:0:-;2505:21:17;: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;;;;;;;;;2547:20:17::0;1787:1;3053:7;:22;2873:209;14481:229:0;10836:13:26;: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:128;;;14676:27:0::1;::::0;4346:18:128;14676:27:0::1;4227:226:128::0;8030:456:26;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:-;2505:21:17;: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;2547:20:17::0;1787:1;3053:7;:22;2873: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:26:-;10836:13;:11;:13::i;:::-;7144:21:::1;7162:1;7144:9;:21::i;:::-;7072:100::o:0;11971:701:0:-;12251:14;2505:21:17;: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;;2547:20:17::0;1787:1;3053:7;:22;2873:209;2547:20;11971:701:0;;;;;;;;;:::o;13624:113::-;10836:13:26;: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:26;:11;:13::i;:::-;14258:24:0::1;14273:8;14258:14;:24::i;7626:593::-:0;4882:13:16;;7816:1:0;;4882:13:16;;;;;4881:14;:40;;;;-1:-1:-1;4899:12:16;;:22;;;;:12;;:22;4881:40;4873:99;;;;-1:-1:-1;;;4873:99:16;;20711:2:128;4873:99:16;;;20693:21:128;20750:2;20730:18;;;20723:30;20789:34;20769:18;;;20762:62;20860:16;20840:18;;;20833:44;20894:19;;4873:99:16;20509:410:128;4873:99:16;4982:12;:22;;-1:-1:-1;;5014:20:16;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:16::0;5055:21;;-1:-1:-1;;5055:21:16;;;5091:20;;21096:4:128;21084:17;;21066:36;;5091:20:16;;21054:2:128;21039:18;5091:20:16;;;;;;;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::-;2505:21:17;: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;2547:20:17::0;1787:1;3053:7;:22;2873:209;5684:147:12;4908:7;4934:12;;;:6;:12;;;;;:22;;;2928:16;2939:4;2928:10;:16::i;:::-;5798:26:::1;5810:4;5816:7;5798: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:26:-;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:26;:11;:13::i;:::-;13987:30:0::1;14005:11;13987:17;:30::i;5593:364:26:-:0;-1:-1:-1;;5799:27:26;5789:8;5786:41;5776:165;;5860:10;5854:4;5847:24;5922:4;5916;5909:18;2580:287:17;1830:1;2712:7;;:19;2704:63;;;;-1:-1:-1;;;2704:63:17;;21315:2:128;2704:63:17;;;21297:21:128;21354:2;21334:18;;;21327:30;21393:33;21373:18;;;21366:61;21444:18;;2704:63:17;21113:355:128;2704:63:17;1830:1;2842:7;:18;2580: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:128;;;30396:26:0;;4361:2:128;4346:18;30396:26:0;4227:226:128;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;;;3438:12:12;;:6;:12;;;;;-1:-1:-1;;;;;3438:29:12;;;;;;;;;;;;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;;;;;;;;;;;7917:233:12;3415:4;3438:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3438:29:12;;;;;;;;;;;;7995:149;;8038:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8038:29:12;;;;;;;;;:36;;-1:-1:-1;;8038:36:12;8070:4;8038:36;;;8120:12;929:10:20;;850:96;8120:12:12;-1:-1:-1;;;;;8093:40:12;8111:7;-1:-1:-1;;;;;8093:40:12;8105:4;8093:40;;;;;;;;;;7917: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;3768:103:12:-;3834:30;3845:4;929:10:20;3834::12;:30::i;8321:234::-;3415:4;3438:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3438:29:12;;;;;;;;;;;;8400:149;;;8474:5;8442:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8442:29:12;;;;;;;;;;:37;;-1:-1:-1;;8442:37:12;;;8498:40;929:10:20;;8442:12:12;;8498:40;;8474:5;8498:40;8321: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:128;;;-1:-1:-1;;;;;28400:28:0;;;;;4577:18:128;;28400:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;28460:46:0;;;22362:25:128;;;22418:2;22403:18;;22396:34;;;28471:7:0;;-1:-1:-1;28460:46:0;;-1:-1:-1;22335:18:128;28460:46:0;;;;;;;26717:1796;;;;26634:1879;;;:::o;21910:142::-;21987:35;22002:7;22011:10;21987:14;:35::i;5040:495:26:-;-1:-1:-1;;5416:16:26;;-1:-1:-1;;;;;5272:26:26;;;;;;5376:38;5373:1;;5365:78;5492:27;5040:495::o;4749:279:6:-;4867:36;;-1:-1:-1;;4884:10:6;22618:2:128;22614:15;22610:53;4867:36:6;;;22598:66:128;22680:12;;;22673:28;;;4823:7:6;;;;22717:12:128;;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:128;;;23470:10:0;22955:18:128;;;22948:83;23393:14:0;;-1:-1:-1;;;;;23424:8:0;;:33;;22887:18:128;;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:128;;;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:128;;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:128;;;30809:25:0;;4361:2:128;4346:18;30809:25:0;4227:226:128;31426:125:0;31487:7;:18;;;31521:23;;4604:25:128;;;31521:23:0;;4592:2:128;4577:18;31521:23:0;4458:177:128;4520:448:26;-1:-1:-1;;;;;4709:26:26;-1:-1:-1;;4784:38:26;;;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:128;;;31203:29:0;;4592:2:128;4577:18;31203:29:0;4458:177:128;29346:153:0;29426:4;29457:14;;;:5;:14;;;;;;;;:24;;;3438:12:12;;:6;:12;;;;;-1:-1:-1;;;;;3438:29:12;;;;;;;;;;;;29449:43:0;3329:145:12;2455:490:28;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;4152:501:12:-;3415:4;3438:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3438:29:12;;;;;;;;;;;;4235:412;;4423:39;4454:7;4423:30;:39::i;:::-;4533:49;4572:4;4579:2;4533:30;:49::i;:::-;4330:274;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4330:274:12;;;;;;;;;;-1:-1:-1;;;4278:358:12;;;;;;;:::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:15;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:15;;2847:58;;;;-1:-1:-1;;;2847:58:15;;26275:2:128;2847:58:15;;;26257:21:128;26314:2;26294:18;;;26287:30;26353:25;26333:18;;;26326:53;26396:18;;2847:58:15;26073:347:128;7502:247:12;7585:25;4934:12;;;:6;:12;;;;;;:22;;;;7641:34;;;;7690:52;;4934:22;;7641:34;;4934:22;;:12;;7690:52;;7585:25;7690:52;7575:174;7502:247;;:::o;2473:149:21:-;2531:13;2563:52;-1:-1:-1;;;;;2575:22:21;;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:21;;1984:47;;2041:15;:6;2048:1;2041:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2041:15:21;;;;;;;;;2066;:6;2073:1;2066:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2066:15:21;;;;;;;;-1:-1:-1;2096:9:21;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:21;;;;;;;;-1:-1:-1;2207:1:21;2197:11;;;;;2131:3;;;:::i;:::-;;;2091:128;;;-1:-1:-1;2236:10:21;;2228:55;;;;-1:-1:-1;;;2228:55:21;;26768:2:128;2228:55:21;;;26750:21:128;;;26787:18;;;26780:30;26846:34;26826:18;;;26819:62;26898:18;;2228:55:21;26566:356:128;7671:1379:28;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:28: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:128:-;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:128;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:128;;954:180;-1:-1:-1;954:180:128: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:128;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:128;1613:39;;;;1654:4;1609:50;;1394:271;-1:-1:-1;;1394:271:128: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:128;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:128;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:128;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:128: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:128;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:128;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:128;;;;5350;;5317:368;;;-1:-1:-1;5703:5:128;4828:886;-1:-1:-1;;;;;;4828:886:128: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:128;;6703:32;;-1:-1:-1;;6747:16:128;;;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:128;7175:75;;7270:12;;;;7305:15;;;;7148:1;7141:9;7112:218;;;-1:-1:-1;7346:3:128;;6871:484;-1:-1:-1;;;;;6871:484:128: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:128;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:128;;;11142:2;11127:18;;;11114:32;;-1:-1:-1;10904:248:128: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:128;;11753:4;11745:13;;11741:23;-1:-1:-1;11731:51:128;;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:128;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:128;13130:19;;13117:33;;-1:-1:-1;13203:3:128;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:128;14144:18;;14131:32;14172:33;14131:32;14172:33;:::i;:::-;14224:7;-1:-1:-1;14283:2:128;14268:18;;14255:32;14296:33;14255:32;14296:33;:::i;:::-;13789:675;;;;-1:-1:-1;14348:7:128;;14402:2;14387:18;;14374:32;;-1:-1:-1;14453:3:128;14438:19;14425:33;;13789:675;-1:-1:-1;;13789:675:128: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:128;-1:-1:-1;15171:20:128;;;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:128;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:128;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:128;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:128;;16558:184;-1:-1:-1;16558:184:128: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:128;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:128;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:128;;;19759:26;19710:89;-1:-1:-1;;18514:1:128;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:128;;;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:128;19547:14;;;19563:3;19543:24;19539:37;19535:42;19520:58;19505:74;;19392:201;-1:-1:-1;;;;;19639:1:128;19623:14;;;19619:22;19606:36;;-1:-1:-1;18557:1352:128: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:128;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:128;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:128;21737:88;21848:4;21845:1;21838:15;21876:4;21873:1;21866:15;21702:189;-1:-1:-1;21905:9:128;;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:128;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:128: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:128: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:128;;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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"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\"]}},\"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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"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"}},"version":1},"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 a15cb74b2..816bdf3ac 100644 --- a/pkg/contracts/out/CVStrategy.sol/CVStrategy.json +++ b/pkg/contracts/out/CVStrategy.sol/CVStrategy.json @@ -1 +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":"0x60c0604052600060065560006009553480156200001b57600080fd5b5060405162004cdb38038062004cdb8339810160408190526200003e91620000a6565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200008191839101620000d8565b60408051601f19818403018152919052805160209091012060a0525062000128915050565b600060208284031215620000b957600080fd5b81516001600160a01b0381168114620000d157600080fd5b9392505050565b600060208083528351808285015260005b818110156200010757858101830151858201604001528201620000e9565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a051614b786200016360003960006105f401526000818161048801528181611a1f01528181611ab20152611d3b0152614b786000f3fe6080604052600436106103555760003560e01c8063782aadff116101b9578063b5f620ce116100f6578063df868ed31161009a578063edd146cc1161006c578063edd146cc14610a5f578063ef2920fc14610a7f578063f5b0dfb714610a92578063fc1711f214610ab257005b8063df868ed3146109da578063e0dd2c38146109f2578063e33add9314610a12578063eb11af9314610a3257005b8063c3292171116100d3578063c329217114610942578063c7f758a81461095f578063d1e3623214610995578063dc96ff2d146109aa57005b8063b5f620ce146108cc578063b6c61f31146108ec578063bcc5b93b1461090c57005b8063a0cf0aea1161015d578063a574cea41161013a578063a574cea41461083c578063aba9ffee14610869578063ac1ed7b91461087f578063b2b878d01461089f57005b8063a0cf0aea146107e7578063a1aab33f1461080f578063a47ff7e51461082557005b8063817b1cd211610196578063817b1cd214610771578063824ea8ed14610787578063868c57b8146107a7578063950559d7146107c757005b8063782aadff146107265780637c6570ba14610746578063814516ad1461075c57005b80632ed04b2b116102925780634d31d087116102365780636003e414116102085780636003e414146106b05780636453d9c4146106d057806369fa25c4146106f057806376365af71461071057005b80634d31d0871461062d57806354fac9191461064d57806359a5db8b146106635780635db64b991461068357005b806338fff2d01161026f57806338fff2d0146105bb578063406244d8146105d057806342fda9c7146105e55780634ab4ba421461061857005b80632ed04b2b14610554578063346db8cb14610574578063351d9f961461059457005b806311f22ae3116102f95780631ddf1e23116102d65780631ddf1e23146104e05780632bbe0cae146104f55780632cefadbb146105085780632dbd6fdd1461052857005b806311f22ae31461045957806315cc481e146104795780631aa91a9e146104c057005b80630a6f0ee9116103325780630a6f0ee9146103ed5780630ba959091461040d5780630c0512e91461042c5780630f529ba21461044257005b8063013cf08b1461035e57806301ffc9a71461039d578063058aca44146103cd57005b3661035c57005b005b34801561036a57600080fd5b5061037e610379366004613b59565b610ad2565b6040516103949a99989796959493929190613c13565b60405180910390f35b3480156103a957600080fd5b506103bd6103b8366004613c86565b610be0565b6040519015158152602001610394565b3480156103d957600080fd5b5061035c6103e8366004613cdd565b610c79565b3480156103f957600080fd5b5061035c610408366004613ee5565b610cd9565b34801561041957600080fd5b50600c545b604051908152602001610394565b34801561043857600080fd5b5061041e60065481565b34801561044e57600080fd5b5061041e6298968081565b34801561046557600080fd5b5061035c610474366004613b59565b610cf9565b34801561048557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610394565b3480156104cc57600080fd5b5061041e6104db366004613b59565b610d38565b3480156104ec57600080fd5b5061035c610dc3565b6104a8610503366004613f5d565b610dce565b34801561051457600080fd5b5061035c610523366004613b59565b610df1565b34801561053457600080fd5b50600b5461054790610100900460ff1681565b6040516103949190613fbf565b34801561056057600080fd5b5061041e61056f366004613fcd565b610e3d565b34801561058057600080fd5b5061041e61058f366004613ff9565b610f0f565b3480156105a057600080fd5b50600b546105ae9060ff1681565b6040516103949190614035565b3480156105c757600080fd5b5060015461041e565b3480156105dc57600080fd5b5061041e600a81565b3480156105f157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061041e565b34801561062457600080fd5b5060025461041e565b34801561063957600080fd5b506103bd610648366004613cdd565b610fb4565b34801561065957600080fd5b5061041e60035481565b34801561066f57600080fd5b5061041e61067e366004613b59565b610fbf565b34801561068f57600080fd5b5061041e61069e366004613cdd565b60106020526000908152604090205481565b3480156106bc57600080fd5b50600d546104a8906001600160a01b031681565b3480156106dc57600080fd5b5061035c6106eb366004613cdd565b6110fc565b3480156106fc57600080fd5b5061035c61070b366004613b59565b611110565b34801561071c57600080fd5b5061041e60045481565b34801561073257600080fd5b5061041e610741366004613fcd565b61114f565b34801561075257600080fd5b5061041e60095481565b34801561076857600080fd5b5061035c6112f1565b34801561077d57600080fd5b5061041e60075481565b34801561079357600080fd5b506103bd6107a2366004613b59565b611423565b3480156107b357600080fd5b5061041e6107c2366004613fcd565b611480565b3480156107d357600080fd5b5061041e6107e2366004613b59565b6114b1565b3480156107f357600080fd5b506104a873eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801561081b57600080fd5b5061041e60055481565b34801561083157600080fd5b50600c5461041e9081565b34801561084857600080fd5b5061085c610857366004613b59565b6114db565b6040516103949190614043565b34801561087557600080fd5b5061041e60085481565b34801561088b57600080fd5b5061035c61089a366004613cdd565b6115ba565b3480156108ab57600080fd5b506108bf6108ba366004614056565b61169b565b604051610394919061412b565b3480156108d857600080fd5b5061035c6108e7366004614191565b6116b6565b3480156108f857600080fd5b50600e546104a8906001600160a01b031681565b34801561091857600080fd5b5061041e610927366004613cdd565b6001600160a01b031660009081526010602052604090205490565b34801561094e57600080fd5b50600b54610100900460ff16610547565b34801561096b57600080fd5b5061097f61097a366004613b59565b6116bf565b6040516103949a999897969594939291906141ae565b3480156109a157600080fd5b5060085461041e565b3480156109b657600080fd5b5061041e6109c5366004613b59565b6000908152600f602052604090206002015490565b3480156109e657600080fd5b5060005460ff166103bd565b3480156109fe57600080fd5b5061041e610a0d366004614213565b6117c1565b348015610a1e57600080fd5b5061035c610a2d366004614238565b6117ec565b348015610a3e57600080fd5b50610a52610a4d366004613cdd565b611805565b60405161039491906142e3565b348015610a6b57600080fd5b5061035c610a7a3660046142fd565b611810565b61035c610a8d366004613f5d565b611956565b348015610a9e57600080fd5b5061035c610aad366004613b59565b611974565b348015610abe57600080fd5b5061035c610acd366004613b59565b61199d565b600f602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610b5990614344565b80601f0160208091040260200160405190810160405280929190818152602001828054610b8590614344565b8015610bd25780601f10610ba757610100808354040283529160200191610bd2565b820191906000526020600020905b815481529060010190602001808311610bb557829003601f168201915b50505050508152505090508a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff1801e61000000000000000000000000000000000000000000000000000000001480610c7357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33610c83816119dc565b600d80546001600160a01b0319166001600160a01b0384169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906020015b60405180910390a15050565b610ce1611aa7565b610ce9611af0565b610cf4838383611b2c565b505050565b33610d03816119dc565b60048290556040518281527f08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab90602001610ccd565b6000818152600f6020526040812080548314610d6f5760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6001600882015460ff166004811115610d8a57610d8a613b72565b14610dab576040516344980d8f60e01b815260048101849052602401610d66565b610db9818260020154611e63565b6003015492915050565b610dcc33611e9e565b565b6000610dd8611aa7565b610de0611af0565b610dea8383611fef565b9392505050565b33610dfb816119dc565b60095460408051918252602082018490527f056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b910160405180910390a150600955565b6000610e47612341565b60006002600b54610100900460ff166003811115610e6757610e67613b72565b1480610e8e57506001600b54610100900460ff166003811115610e8c57610e8c613b72565b145b15610e9a575081610ea7565b610ea48484612385565b90505b8060086000828254610eb9919061438e565b9091555050604080516001600160a01b0386168152602081018590529081018290527f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19060600160405180910390a19392505050565b6000808490506000610f35629896806080600354901b610f2f91906143b7565b83612649565b905060806f8000000000000000000000000000000060035462989680610f5b919061438e565b610f6984600160801b61438e565b610f7662989680896143d9565b610f8091906143d9565b610f8a91906143b7565b610f9488856143d9565b610f9e91906143f0565b610fa891906143f0565b901c9695505050505050565b6000610c73826126f2565b60008060025411610ffc576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61100582612712565b1561102357604051630efd728560e21b815260040160405180910390fd5b60025460009061103c84680100000000000000006143d9565b61104691906143b7565b629896806004546801000000000000000061106191906143d9565b61106b91906143b7565b611075919061438e565b9050604061108260085490565b600354611092906298968061438e565b6298968060406110a286806143d9565b901c629896806080600554901b6110b991906143b7565b6110c391906143b7565b6110cd91906143d9565b6110d791906143b7565b6110e191906143d9565b901c915060095482116110f657600954610dea565b50919050565b611104612341565b61110d81611e9e565b50565b3361111a816119dc565b60038290556040518281527f592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f290602001610ccd565b6000611159612341565b61116283612739565b61117f57604051630b72d6b160e31b815260040160405180910390fd5b60006002600b54610100900460ff16600381111561119f5761119f613b72565b036111ad57825b905061120a565b6001600b54610100900460ff1660038111156111cb576111cb613b72565b036111da576111a684846127e1565b6003600b54610100900460ff1660038111156111f8576111f8613b72565b0361120a576112078484612947565b90505b600d5460405163011de97360e61b81526001600160a01b038681166004830152306024830152600092169063477a5cc090604401602060405180830381865afa15801561125b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127f9190614403565b9050801561129f57816008600082825461129991906143f0565b90915550505b604080516001600160a01b0387168152602081018690529081018390527f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a9060600160405180910390a1509392505050565b336112fb81612739565b61131857604051630b72d6b160e31b815260040160405180910390fd5b600d546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015230602483015290911690630d4a8b4990604401600060405180830381600087803b15801561137e57600080fd5b505af1158015611392573d6000803e3d6000fd5b5050600d54604051637817ee4f60e01b81526001600160a01b0385811660048301523060248301529091169250637817ee4f9150604401602060405180830381865afa1580156113e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061140a9190614420565b6008600082825461141b91906143f0565b909155505050565b6000818152600f60205260408120600281015482908190611445908490612b8e565b91509150816000148015611457575080155b1561146457826003015491505b60006114738460010154610fbf565b9092101595945050505050565b6011602052816000526040600020818154811061149c57600080fd5b90600052602060002001600091509150505481565b6000600354629896806114c4919061438e565b6114d162989680846143d9565b610c7391906143b7565b6040805180820190915260008152606060208201526000600f6000848152602001908152602001600020905080600a016040518060400160405290816000820154815260200160018201805461153090614344565b80601f016020809104026020016040519081016040528092919081815260200182805461155c90614344565b80156115a95780601f1061157e576101008083540402835291602001916115a9565b820191906000526020600020905b81548152906001019060200180831161158c57829003601f168201915b505050505081525050915050919050565b600d60009054906101000a90046001600160a01b03166001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561160d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116319190614439565b6001600160a01b031633036116695761164981612be6565b600e80546001600160a01b0383166001600160a01b031990911617905550565b6040517fe860ec7e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606060405163d623472560e01b815260040160405180910390fd5b61110d81612c26565b6000806000806000806000806000806000600f60008d815260200190815260200160002090508060010154600014611703576116fe8160010154610fbf565b611706565b60005b92508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548a896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000828152600f602090815260408083206001600160a01b0385168452600901909152812054610dea565b60405163d623472560e01b815260040160405180910390fd5b6000610c7382612c67565b61181982612c87565b60008180602001905181019061182f91906144c6565b80519091506001600160a01b031661185a57604051635df4b1ef60e01b815260040160405180910390fd5b8051600d80546001600160a01b0319166001600160a01b0390921691909117905560208101516003556040810151600455606081015160055560a0810151600b805460ff191660018360028111156118b4576118b4613b72565b021790555060c0810151600b805461ff0019166101008360038111156118dc576118dc613b72565b021790555060e081015151600c556080810151600955610100810151600e80546001600160a01b0319166001600160a01b039092169190911790556040517f4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e04906119499085908490614561565b60405180910390a1505050565b61195e611aa7565b611966611af0565b6119708282612d08565b5050565b61197c611aa7565b806002600082825461198e91906143f0565b9091555061110d905081612e17565b336119a7816119dc565b60058290556040518281527f30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb4990602001610ccd565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611a66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a8a9190614403565b61110d5760405163075fd2b160e01b815260040160405180910390fd5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dcc5760405163075fd2b160e01b815260040160405180910390fd5b600154600003610dcc576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000825111611b67576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082806020019051810190611b7d9190614420565b905080600003611bb9576040517ff881a10d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152600f602052604090206001600b5460ff166002811115611be057611be0613b72565b03611e5c5780548214611c095760405163c1d17bef60e01b815260048101839052602401610d66565b60025481600101541115611c615760018101546002546040517f5863b0b60000000000000000000000000000000000000000000000000000000081526004810185905260248101929092526044820152606401610d66565b6001600882015460ff166004811115611c7c57611c7c613b72565b14611c9d576040516344980d8f60e01b815260048101839052602401610d66565b6000611ca883610d38565b90506000611cb98360010154610fbf565b90508082108015611cce575060008360010154115b15611d05576040517fcce7930800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d91611d729160040190815260200190565b600060405180830381865afa158015611d8f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611db79190810190614681565b9050836001015460026000828254611dcf919061438e565b9091555050604081015160048501546001860154611df792916001600160a01b031690612e47565b60088401805460ff191660049081179091558401546001850154604080518881526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a15050505b5050505050565b600080611e708484612b8e565b91509150816000148015611e82575080155b15611e8d5750505050565b600784015560039092019190915550565b600d54604051637817ee4f60e01b81526001600160a01b03838116600483015230602483015290911690637817ee4f90604401602060405180830381865afa158015611eee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f129190614420565b60086000828254611f23919061438e565b9091555050600d546040517f22bcf9990000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152909116906322bcf99990604401600060405180830381600087803b158015611f8e57600080fd5b505af1158015611fa2573d6000803e3d6000fd5b50505050611faf81612e8c565b6040516001600160a01b03821681527f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b906020015b60405180910390a150565b6000611ffa82612739565b61201757604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061202d9190614735565b805190915060000361206b576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600b5460ff16600281111561208457612084613b72565b03612234576120968160200151612be6565b60608101516001600160a01b03166120da576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561211a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061213e9190614439565b6001600160a01b031663068bcd8d6001546040518263ffffffff1660e01b815260040161216d91815260200190565b600060405180830381865afa15801561218a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121b29190810190614681565b604001519050806001600160a01b031682606001516001600160a01b031614612207576040517fa29c498600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122148260400151612712565b1561223257604051630efd728560e21b815260040160405180910390fd5b505b6000600660008154612245906147dc565b91829055506000818152600f602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b8401906122f99082614843565b505060015460408051918252602082018590527ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b92500160405180910390a150949350505050565b600d546001600160a01b03163314610dcc576040517faf0916a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d54604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa1580156123d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123f99190614439565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612452575060408051601f3d908101601f1916820190925261244f91810190614903565b60015b612499576124946040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250612fb7565b61249f565b60ff1690505b6124de6040518060400160405280601081526020017f5f616d6f756e74546f556e7374616b650000000000000000000000000000000081525084613028565b600d546040516316308e2560e11b81526001600160a01b0386811660048301526000928692911690632c611c4a90602401602060405180830381865afa15801561252c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125509190614420565b61255a919061438e565b905061259b6040518060400160405280600d81526020017f6e6577546f74616c5374616b650000000000000000000000000000000000000081525082613028565b60006125ba6125ab84600a614a0a565b6125b590846143d9565b61309b565b600d54604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009284921690637817ee4f90604401602060405180830381865afa158015612610573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126349190614420565b61263e919061438e565b979650505050505050565b6000600160801b831061269e5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610d66565b50600160801b82825b80156126ea57806001166000036126cc576126c28283613183565b915060011c6126a7565b6126d68383613183565b92506126e360018261438e565b90506126a7565b505092915050565b60006001600160a01b0382161561270a576001610c73565b600092915050565b600061272162989680836143d9565b60025460045461273191906143d9565b111592915050565b600e546000906001600160a01b031661275457506001919050565b600e546040517f42a987a00000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152306024830152909116906342a987a090604401602060405180830381865afa1580156127bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c739190614403565b6000808290506128266040518060400160405280601281526020017f504f494e545320544f20494e435245415345000000000000000000000000000081525082613028565b600d54604051637817ee4f60e01b81526001600160a01b0386811660048301523060248301526000921690637817ee4f90604401602060405180830381865afa158015612877573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061289b9190614420565b90506128dc6040518060400160405280600b81526020017f4d454d424552504f57455200000000000000000000000000000000000000000081525082613028565b600c546128e983836143f0565b111561290057600c546128fd90829061438e565b91505b61293f6040518060400160405280601681526020017f504f494e545320544f20494e43524541534520454e440000000000000000000081525083613028565b509392505050565b600d546040516316308e2560e11b81526001600160a01b0384811660048301526000928392859290911690632c611c4a90602401602060405180830381865afa158015612998573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129bc9190614420565b6129c691906143f0565b600d54604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa158015612a16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a3a9190614439565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612a93575060408051601f3d908101601f19168201909252612a9091810190614903565b60015b612ada57612ad56040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250612fb7565b612ae0565b60ff1690505b6000612afa612af083600a614a0a565b6125b590856143d9565b600d54604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa158015612b50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b749190614420565b90506000612b82828461438e565b98975050505050505050565b6000804390508084600701541115612ba857612ba8614a16565b80846007015403612bbe57506000905080612bdf565b612bdc846007015482612bd1919061438e565b856003015485610f0f565b91505b9250929050565b6001600160a01b03811661110d576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001611fe4565b60006001600160a01b03821615612c7f576002610c73565b600392915050565b612c8f611aa7565b60015415612cc9576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003612d03576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b612d1181613282565b612d1a81612739565b612d3757604051630b72d6b160e31b815260040160405180910390fd5b600d5460405163011de97360e61b81526001600160a01b038381166004830152306024830152600092169063477a5cc090604401602060405180830381865afa158015612d88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dac9190614403565b905080612de5576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083806020019051810190612dfb9190614a2c565b9050612e0783826133a8565b612e11838261356b565b50505050565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001611fe4565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601612e8157610cf4828261398f565b610cf48383836139ab565b6001600160a01b038116600090815260116020908152604080832080548251818502810185019093528083529192909190830182828015612eec57602002820191906000526020600020905b815481526020019060010190808311612ed8575b5050505050905060005b8151811015610cf4576000828281518110612f1357612f13614ad7565b602002602001015190506000600f60008381526020019081526020016000209050612f3d826139fa565b15612fa2576001600160a01b0385166000908152600982016020526040812080549082905560028301805491928392612f7790849061438e565b925050819055508060076000828254612f90919061438e565b90915550612fa090508282611e63565b505b50508080612faf906147dc565b915050612ef6565b61110d81604051602401612fcb9190614aed565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052613a33565b611970828260405160240161303e929190614b00565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052613a33565b6000816000036130ad57506000919050565b600060016130ba84613a54565b901c6001901b905060018184816130d3576130d36143a1565b048201901c905060018184816130eb576130eb6143a1565b048201901c90506001818481613103576131036143a1565b048201901c9050600181848161311b5761311b6143a1565b048201901c90506001818481613133576131336143a1565b048201901c9050600181848161314b5761314b6143a1565b048201901c90506001818481613163576131636143a1565b048201901c9050610dea8182858161317d5761317d6143a1565b04613ae8565b6000600160801b8311156131ff5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610d66565b600160801b82106132525760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610d66565b60806f8000000000000000000000000000000061326f84866143d9565b61327991906143f0565b901c9392505050565b6001600160a01b0381166132c2576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d546001600160a01b03166132eb57604051635df4b1ef60e01b815260040160405180910390fd5b600d546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063a230c52490602401602060405180830381865afa15801561334e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133729190614403565b61110d576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b8251811015613465578281815181106133c7576133c7614ad7565b602002602001015160000151600003156134535760008382815181106133ef576133ef614ad7565b6020026020010151600001519050613406816139fa565b6134265760405163c1d17bef60e01b815260048101829052602401610d66565b83828151811061343857613438614ad7565b6020026020010151602001518361344f9190614b22565b9250505b8061345d816147dc565b9150506133ac565b506001600160a01b0383166000908152601060205260408120546134899083613afe565b600d54604051637817ee4f60e01b81526001600160a01b03878116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa1580156134df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135039190614420565b905080821115613549576040517fd64182fe0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610d66565b506001600160a01b039093166000908152601060205260409020929092555050565b606060005b8251811015612e1157600083828151811061358d5761358d614ad7565b602002602001015160000151905082516000036135e957604080516001808252818301909252906020808301908036833701905050925080836000815181106135d8576135d8614ad7565b60200260200101818152505061373c565b6000805b8451811015613668578285828151811061360957613609614ad7565b602002602001015103613656576040517fadebb154000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260019250604401610d66565b80613660816147dc565b9150506135ed565b508061373a5760008451600161367e91906143f0565b67ffffffffffffffff81111561369657613696613cfa565b6040519080825280602002602001820160405280156136bf578160200160208202803683370190505b50905060005b8551811015613717578581815181106136e0576136e0614ad7565b60200260200101518282815181106136fa576136fa614ad7565b60209081029190910101528061370f816147dc565b9150506136c5565b50828186518151811061372c5761372c614ad7565b602090810291909101015293505b505b600084838151811061375057613750614ad7565b6020908102919091018101518101516000848152600f835260408082206001600160a01b038b168352600981019094528120549193506137908285613afe565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152601160205260409020548110156138295784546001600160a01b038c1660009081526011602052604090208054839081106137fe576137fe614ad7565b9060005260206000200154036138175760019150613829565b80613821816147dc565b9150506137b2565b508061385f576001600160a01b038a16600090815260116020908152604082208654815460018101835591845291909220909101555b8183116138af57613870838361438e565b6007600082825461388191906143f0565b909155506138919050838361438e565b8460020160008282546138a491906143f0565b909155506138f39050565b6138b9828461438e565b600760008282546138ca919061438e565b909155506138da9050828461438e565b8460020160008282546138ed919061438e565b90915550505b836007015460000361390a57436007850155613976565b6139148484611e63565b60028401546003850154604080516001600160a01b038e168152602081018a9052908101859052606081019290925260808201527f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9060a00160405180910390a15b5050505050508080613987906147dc565b915050613570565b60008060008084865af16119705763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d1560016000511417166139f0576390b8ec186000526004601cfd5b6000603452505050565b6000818152600f602052604081205415801590610c735750506000908152600f60205260409020600501546001600160a01b0316151590565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080608083901c15613a6957608092831c92015b604083901c15613a7b57604092831c92015b602083901c15613a8d57602092831c92015b601083901c15613a9f57601092831c92015b600883901c15613ab157600892831c92015b600483901c15613ac357600492831c92015b600283901c15613ad557600292831c92015b600183901c15610c735760010192915050565b6000818310613af75781610dea565b5090919050565b600080613b0b8385614b22565b90506000811215610dea576040517f3bbc7142000000000000000000000000000000000000000000000000000000008152600481018590526024810184905260448101829052606401610d66565b600060208284031215613b6b57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60058110613b9857613b98613b72565b9052565b60005b83811015613bb7578181015183820152602001613b9f565b50506000910152565b60008151808452613bd8816020860160208601613b9c565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152613c0b6040850182613bc0565b949350505050565b60006101408c83528b60208401528a60408401528960608401526001600160a01b03808a16608085015280891660a085015280881660c0850152508560e0840152613c62610100840186613b88565b80610120840152613c7581840185613bec565b9d9c50505050505050505050505050565b600060208284031215613c9857600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dea57600080fd5b6001600160a01b038116811461110d57600080fd5b600060208284031215613cef57600080fd5b8135610dea81613cc8565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715613d3357613d33613cfa565b60405290565b604051610120810167ffffffffffffffff81118282101715613d3357613d33613cfa565b60405160c0810167ffffffffffffffff81118282101715613d3357613d33613cfa565b60405160a0810167ffffffffffffffff81118282101715613d3357613d33613cfa565b604051601f8201601f1916810167ffffffffffffffff81118282101715613dcc57613dcc613cfa565b604052919050565b600067ffffffffffffffff821115613dee57613dee613cfa565b5060051b60200190565b600082601f830112613e0957600080fd5b81356020613e1e613e1983613dd4565b613da3565b82815260059290921b84018101918181019086841115613e3d57600080fd5b8286015b84811015613e61578035613e5481613cc8565b8352918301918301613e41565b509695505050505050565b600067ffffffffffffffff821115613e8657613e86613cfa565b50601f01601f191660200190565b600082601f830112613ea557600080fd5b8135613eb3613e1982613e6c565b818152846020838601011115613ec857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613efa57600080fd5b833567ffffffffffffffff80821115613f1257600080fd5b613f1e87838801613df8565b94506020860135915080821115613f3457600080fd5b50613f4186828701613e94565b9250506040840135613f5281613cc8565b809150509250925092565b60008060408385031215613f7057600080fd5b823567ffffffffffffffff811115613f8757600080fd5b613f9385828601613e94565b9250506020830135613fa481613cc8565b809150509250929050565b60048110613b9857613b98613b72565b60208101610c738284613faf565b60008060408385031215613fe057600080fd5b8235613feb81613cc8565b946020939093013593505050565b60008060006060848603121561400e57600080fd5b505081359360208301359350604090920135919050565b60038110613b9857613b98613b72565b60208101610c738284614025565b602081526000610dea6020830184613bec565b6000806040838503121561406957600080fd5b823567ffffffffffffffff8082111561408157600080fd5b61408d86838701613df8565b93506020915081850135818111156140a457600080fd5b8501601f810187136140b557600080fd5b80356140c3613e1982613dd4565b81815260059190911b820184019084810190898311156140e257600080fd5b8584015b8381101561411a578035868111156140fe5760008081fd5b61410c8c8983890101613e94565b8452509186019186016140e6565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b8281101561417657815180516001600160a01b03168552860151868501529284019290850190600101614148565b5091979650505050505050565b801515811461110d57600080fd5b6000602082840312156141a357600080fd5b8135610dea81614183565b6001600160a01b038b811682528a8116602083015289166040820152606081018890526080810187905261014081016141ea60a0830188613b88565b8560c08301528460e083015283610100830152826101208301529b9a5050505050505050505050565b6000806040838503121561422657600080fd5b823591506020830135613fa481613cc8565b6000602080838503121561424b57600080fd5b823567ffffffffffffffff81111561426257600080fd5b8301601f8101851361427357600080fd5b8035614281613e1982613dd4565b81815260069190911b820183019083810190878311156142a057600080fd5b928401925b8284101561263e57604084890312156142be5760008081fd5b6142c6613d10565b8435815285850135868201528252604090930192908401906142a5565b60208101600783106142f7576142f7613b72565b91905290565b6000806040838503121561431057600080fd5b82359150602083013567ffffffffffffffff81111561432e57600080fd5b61433a85828601613e94565b9150509250929050565b600181811c9082168061435857607f821691505b6020821081036110f657634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610c7357610c73614378565b634e487b7160e01b600052601260045260246000fd5b6000826143d457634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c7357610c73614378565b80820180821115610c7357610c73614378565b60006020828403121561441557600080fd5b8151610dea81614183565b60006020828403121561443257600080fd5b5051919050565b60006020828403121561444b57600080fd5b8151610dea81613cc8565b805161446181613cc8565b919050565b80516003811061446157600080fd5b80516004811061446157600080fd5b60006020828403121561449657600080fd5b6040516020810181811067ffffffffffffffff821117156144b9576144b9613cfa565b6040529151825250919050565b600061012082840312156144d957600080fd5b6144e1613d39565b6144ea83614456565b81526020830151602082015260408301516040820152606083015160608201526080830151608082015261452060a08401614466565b60a082015261453160c08401614475565b60c08201526145438460e08501614484565b60e0820152610100614556818501614456565b908201529392505050565b6000610140820190508382526001600160a01b038351166020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a08301516145b760c0840182614025565b5060c08301516145ca60e0840182613faf565b5060e08301515161010083810191909152909201516001600160a01b031661012090910152919050565b60006040828403121561460657600080fd5b61460e613d10565b905081518152602082015167ffffffffffffffff81111561462e57600080fd5b8201601f8101841361463f57600080fd5b805161464d613e1982613e6c565b81815285602083850101111561466257600080fd5b614673826020830160208601613b9c565b602084015250909392505050565b60006020828403121561469357600080fd5b815167ffffffffffffffff808211156146ab57600080fd5b9083019060c082860312156146bf57600080fd5b6146c7613d5d565b8251815260208301516146d981613cc8565b602082015260408301516146ec81613cc8565b604082015260608301518281111561470357600080fd5b61470f878286016145f4565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b60006020828403121561474757600080fd5b815167ffffffffffffffff8082111561475f57600080fd5b9083019060a0828603121561477357600080fd5b61477b613d80565b82518152602083015161478d81613cc8565b60208201526040838101519082015260608301516147aa81613cc8565b60608201526080830151828111156147c157600080fd5b6147cd878286016145f4565b60808301525095945050505050565b6000600182016147ee576147ee614378565b5060010190565b601f821115610cf457600081815260208120601f850160051c8101602086101561481c5750805b601f850160051c820191505b8181101561483b57828155600101614828565b505050505050565b815167ffffffffffffffff81111561485d5761485d613cfa565b6148718161486b8454614344565b846147f5565b602080601f8311600181146148a6576000841561488e5750858301515b600019600386901b1c1916600185901b17855561483b565b600085815260208120601f198616915b828110156148d5578886015182559484019460019091019084016148b6565b50858210156148f35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561491557600080fd5b815160ff81168114610dea57600080fd5b600181815b8085111561496157816000190482111561494757614947614378565b8085161561495457918102915b93841c939080029061492b565b509250929050565b60008261497857506001610c73565b8161498557506000610c73565b816001811461499b57600281146149a5576149c1565b6001915050610c73565b60ff8411156149b6576149b6614378565b50506001821b610c73565b5060208310610133831016604e8410600b84101617156149e4575081810a610c73565b6149ee8383614926565b8060001904821115614a0257614a02614378565b029392505050565b6000610dea8383614969565b634e487b7160e01b600052600160045260246000fd5b60006020808385031215614a3f57600080fd5b825167ffffffffffffffff811115614a5657600080fd5b8301601f81018513614a6757600080fd5b8051614a75613e1982613dd4565b81815260069190911b82018301908381019087831115614a9457600080fd5b928401925b8284101561263e5760408489031215614ab25760008081fd5b614aba613d10565b845181528585015186820152825260409093019290840190614a99565b634e487b7160e01b600052603260045260246000fd5b602081526000610dea6020830184613bc0565b604081526000614b136040830185613bc0565b90508260208301529392505050565b80820182811260008312801582168215821617156126ea576126ea61437856fea264697066735822122021d8b3bc3a28358d274c0783a2aec07e78738d06bd9be8709025d9fba155c12964736f6c63430008130033","sourceMap":"2787:38005:111:-: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:111;;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:38005:111;;-1:-1:-1;;2787:38005:111;14:290:125;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:125;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:125: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:38005:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106103555760003560e01c8063782aadff116101b9578063b5f620ce116100f6578063df868ed31161009a578063edd146cc1161006c578063edd146cc14610a5f578063ef2920fc14610a7f578063f5b0dfb714610a92578063fc1711f214610ab257005b8063df868ed3146109da578063e0dd2c38146109f2578063e33add9314610a12578063eb11af9314610a3257005b8063c3292171116100d3578063c329217114610942578063c7f758a81461095f578063d1e3623214610995578063dc96ff2d146109aa57005b8063b5f620ce146108cc578063b6c61f31146108ec578063bcc5b93b1461090c57005b8063a0cf0aea1161015d578063a574cea41161013a578063a574cea41461083c578063aba9ffee14610869578063ac1ed7b91461087f578063b2b878d01461089f57005b8063a0cf0aea146107e7578063a1aab33f1461080f578063a47ff7e51461082557005b8063817b1cd211610196578063817b1cd214610771578063824ea8ed14610787578063868c57b8146107a7578063950559d7146107c757005b8063782aadff146107265780637c6570ba14610746578063814516ad1461075c57005b80632ed04b2b116102925780634d31d087116102365780636003e414116102085780636003e414146106b05780636453d9c4146106d057806369fa25c4146106f057806376365af71461071057005b80634d31d0871461062d57806354fac9191461064d57806359a5db8b146106635780635db64b991461068357005b806338fff2d01161026f57806338fff2d0146105bb578063406244d8146105d057806342fda9c7146105e55780634ab4ba421461061857005b80632ed04b2b14610554578063346db8cb14610574578063351d9f961461059457005b806311f22ae3116102f95780631ddf1e23116102d65780631ddf1e23146104e05780632bbe0cae146104f55780632cefadbb146105085780632dbd6fdd1461052857005b806311f22ae31461045957806315cc481e146104795780631aa91a9e146104c057005b80630a6f0ee9116103325780630a6f0ee9146103ed5780630ba959091461040d5780630c0512e91461042c5780630f529ba21461044257005b8063013cf08b1461035e57806301ffc9a71461039d578063058aca44146103cd57005b3661035c57005b005b34801561036a57600080fd5b5061037e610379366004613b59565b610ad2565b6040516103949a99989796959493929190613c13565b60405180910390f35b3480156103a957600080fd5b506103bd6103b8366004613c86565b610be0565b6040519015158152602001610394565b3480156103d957600080fd5b5061035c6103e8366004613cdd565b610c79565b3480156103f957600080fd5b5061035c610408366004613ee5565b610cd9565b34801561041957600080fd5b50600c545b604051908152602001610394565b34801561043857600080fd5b5061041e60065481565b34801561044e57600080fd5b5061041e6298968081565b34801561046557600080fd5b5061035c610474366004613b59565b610cf9565b34801561048557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610394565b3480156104cc57600080fd5b5061041e6104db366004613b59565b610d38565b3480156104ec57600080fd5b5061035c610dc3565b6104a8610503366004613f5d565b610dce565b34801561051457600080fd5b5061035c610523366004613b59565b610df1565b34801561053457600080fd5b50600b5461054790610100900460ff1681565b6040516103949190613fbf565b34801561056057600080fd5b5061041e61056f366004613fcd565b610e3d565b34801561058057600080fd5b5061041e61058f366004613ff9565b610f0f565b3480156105a057600080fd5b50600b546105ae9060ff1681565b6040516103949190614035565b3480156105c757600080fd5b5060015461041e565b3480156105dc57600080fd5b5061041e600a81565b3480156105f157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061041e565b34801561062457600080fd5b5060025461041e565b34801561063957600080fd5b506103bd610648366004613cdd565b610fb4565b34801561065957600080fd5b5061041e60035481565b34801561066f57600080fd5b5061041e61067e366004613b59565b610fbf565b34801561068f57600080fd5b5061041e61069e366004613cdd565b60106020526000908152604090205481565b3480156106bc57600080fd5b50600d546104a8906001600160a01b031681565b3480156106dc57600080fd5b5061035c6106eb366004613cdd565b6110fc565b3480156106fc57600080fd5b5061035c61070b366004613b59565b611110565b34801561071c57600080fd5b5061041e60045481565b34801561073257600080fd5b5061041e610741366004613fcd565b61114f565b34801561075257600080fd5b5061041e60095481565b34801561076857600080fd5b5061035c6112f1565b34801561077d57600080fd5b5061041e60075481565b34801561079357600080fd5b506103bd6107a2366004613b59565b611423565b3480156107b357600080fd5b5061041e6107c2366004613fcd565b611480565b3480156107d357600080fd5b5061041e6107e2366004613b59565b6114b1565b3480156107f357600080fd5b506104a873eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801561081b57600080fd5b5061041e60055481565b34801561083157600080fd5b50600c5461041e9081565b34801561084857600080fd5b5061085c610857366004613b59565b6114db565b6040516103949190614043565b34801561087557600080fd5b5061041e60085481565b34801561088b57600080fd5b5061035c61089a366004613cdd565b6115ba565b3480156108ab57600080fd5b506108bf6108ba366004614056565b61169b565b604051610394919061412b565b3480156108d857600080fd5b5061035c6108e7366004614191565b6116b6565b3480156108f857600080fd5b50600e546104a8906001600160a01b031681565b34801561091857600080fd5b5061041e610927366004613cdd565b6001600160a01b031660009081526010602052604090205490565b34801561094e57600080fd5b50600b54610100900460ff16610547565b34801561096b57600080fd5b5061097f61097a366004613b59565b6116bf565b6040516103949a999897969594939291906141ae565b3480156109a157600080fd5b5060085461041e565b3480156109b657600080fd5b5061041e6109c5366004613b59565b6000908152600f602052604090206002015490565b3480156109e657600080fd5b5060005460ff166103bd565b3480156109fe57600080fd5b5061041e610a0d366004614213565b6117c1565b348015610a1e57600080fd5b5061035c610a2d366004614238565b6117ec565b348015610a3e57600080fd5b50610a52610a4d366004613cdd565b611805565b60405161039491906142e3565b348015610a6b57600080fd5b5061035c610a7a3660046142fd565b611810565b61035c610a8d366004613f5d565b611956565b348015610a9e57600080fd5b5061035c610aad366004613b59565b611974565b348015610abe57600080fd5b5061035c610acd366004613b59565b61199d565b600f602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610b5990614344565b80601f0160208091040260200160405190810160405280929190818152602001828054610b8590614344565b8015610bd25780601f10610ba757610100808354040283529160200191610bd2565b820191906000526020600020905b815481529060010190602001808311610bb557829003601f168201915b50505050508152505090508a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff1801e61000000000000000000000000000000000000000000000000000000001480610c7357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33610c83816119dc565b600d80546001600160a01b0319166001600160a01b0384169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906020015b60405180910390a15050565b610ce1611aa7565b610ce9611af0565b610cf4838383611b2c565b505050565b33610d03816119dc565b60048290556040518281527f08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab90602001610ccd565b6000818152600f6020526040812080548314610d6f5760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6001600882015460ff166004811115610d8a57610d8a613b72565b14610dab576040516344980d8f60e01b815260048101849052602401610d66565b610db9818260020154611e63565b6003015492915050565b610dcc33611e9e565b565b6000610dd8611aa7565b610de0611af0565b610dea8383611fef565b9392505050565b33610dfb816119dc565b60095460408051918252602082018490527f056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b910160405180910390a150600955565b6000610e47612341565b60006002600b54610100900460ff166003811115610e6757610e67613b72565b1480610e8e57506001600b54610100900460ff166003811115610e8c57610e8c613b72565b145b15610e9a575081610ea7565b610ea48484612385565b90505b8060086000828254610eb9919061438e565b9091555050604080516001600160a01b0386168152602081018590529081018290527f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19060600160405180910390a19392505050565b6000808490506000610f35629896806080600354901b610f2f91906143b7565b83612649565b905060806f8000000000000000000000000000000060035462989680610f5b919061438e565b610f6984600160801b61438e565b610f7662989680896143d9565b610f8091906143d9565b610f8a91906143b7565b610f9488856143d9565b610f9e91906143f0565b610fa891906143f0565b901c9695505050505050565b6000610c73826126f2565b60008060025411610ffc576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61100582612712565b1561102357604051630efd728560e21b815260040160405180910390fd5b60025460009061103c84680100000000000000006143d9565b61104691906143b7565b629896806004546801000000000000000061106191906143d9565b61106b91906143b7565b611075919061438e565b9050604061108260085490565b600354611092906298968061438e565b6298968060406110a286806143d9565b901c629896806080600554901b6110b991906143b7565b6110c391906143b7565b6110cd91906143d9565b6110d791906143b7565b6110e191906143d9565b901c915060095482116110f657600954610dea565b50919050565b611104612341565b61110d81611e9e565b50565b3361111a816119dc565b60038290556040518281527f592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f290602001610ccd565b6000611159612341565b61116283612739565b61117f57604051630b72d6b160e31b815260040160405180910390fd5b60006002600b54610100900460ff16600381111561119f5761119f613b72565b036111ad57825b905061120a565b6001600b54610100900460ff1660038111156111cb576111cb613b72565b036111da576111a684846127e1565b6003600b54610100900460ff1660038111156111f8576111f8613b72565b0361120a576112078484612947565b90505b600d5460405163011de97360e61b81526001600160a01b038681166004830152306024830152600092169063477a5cc090604401602060405180830381865afa15801561125b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127f9190614403565b9050801561129f57816008600082825461129991906143f0565b90915550505b604080516001600160a01b0387168152602081018690529081018390527f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a9060600160405180910390a1509392505050565b336112fb81612739565b61131857604051630b72d6b160e31b815260040160405180910390fd5b600d546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015230602483015290911690630d4a8b4990604401600060405180830381600087803b15801561137e57600080fd5b505af1158015611392573d6000803e3d6000fd5b5050600d54604051637817ee4f60e01b81526001600160a01b0385811660048301523060248301529091169250637817ee4f9150604401602060405180830381865afa1580156113e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061140a9190614420565b6008600082825461141b91906143f0565b909155505050565b6000818152600f60205260408120600281015482908190611445908490612b8e565b91509150816000148015611457575080155b1561146457826003015491505b60006114738460010154610fbf565b9092101595945050505050565b6011602052816000526040600020818154811061149c57600080fd5b90600052602060002001600091509150505481565b6000600354629896806114c4919061438e565b6114d162989680846143d9565b610c7391906143b7565b6040805180820190915260008152606060208201526000600f6000848152602001908152602001600020905080600a016040518060400160405290816000820154815260200160018201805461153090614344565b80601f016020809104026020016040519081016040528092919081815260200182805461155c90614344565b80156115a95780601f1061157e576101008083540402835291602001916115a9565b820191906000526020600020905b81548152906001019060200180831161158c57829003601f168201915b505050505081525050915050919050565b600d60009054906101000a90046001600160a01b03166001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561160d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116319190614439565b6001600160a01b031633036116695761164981612be6565b600e80546001600160a01b0383166001600160a01b031990911617905550565b6040517fe860ec7e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606060405163d623472560e01b815260040160405180910390fd5b61110d81612c26565b6000806000806000806000806000806000600f60008d815260200190815260200160002090508060010154600014611703576116fe8160010154610fbf565b611706565b60005b92508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548a896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000828152600f602090815260408083206001600160a01b0385168452600901909152812054610dea565b60405163d623472560e01b815260040160405180910390fd5b6000610c7382612c67565b61181982612c87565b60008180602001905181019061182f91906144c6565b80519091506001600160a01b031661185a57604051635df4b1ef60e01b815260040160405180910390fd5b8051600d80546001600160a01b0319166001600160a01b0390921691909117905560208101516003556040810151600455606081015160055560a0810151600b805460ff191660018360028111156118b4576118b4613b72565b021790555060c0810151600b805461ff0019166101008360038111156118dc576118dc613b72565b021790555060e081015151600c556080810151600955610100810151600e80546001600160a01b0319166001600160a01b039092169190911790556040517f4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e04906119499085908490614561565b60405180910390a1505050565b61195e611aa7565b611966611af0565b6119708282612d08565b5050565b61197c611aa7565b806002600082825461198e91906143f0565b9091555061110d905081612e17565b336119a7816119dc565b60058290556040518281527f30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb4990602001610ccd565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611a66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a8a9190614403565b61110d5760405163075fd2b160e01b815260040160405180910390fd5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dcc5760405163075fd2b160e01b815260040160405180910390fd5b600154600003610dcc576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000825111611b67576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082806020019051810190611b7d9190614420565b905080600003611bb9576040517ff881a10d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152600f602052604090206001600b5460ff166002811115611be057611be0613b72565b03611e5c5780548214611c095760405163c1d17bef60e01b815260048101839052602401610d66565b60025481600101541115611c615760018101546002546040517f5863b0b60000000000000000000000000000000000000000000000000000000081526004810185905260248101929092526044820152606401610d66565b6001600882015460ff166004811115611c7c57611c7c613b72565b14611c9d576040516344980d8f60e01b815260048101839052602401610d66565b6000611ca883610d38565b90506000611cb98360010154610fbf565b90508082108015611cce575060008360010154115b15611d05576040517fcce7930800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d91611d729160040190815260200190565b600060405180830381865afa158015611d8f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611db79190810190614681565b9050836001015460026000828254611dcf919061438e565b9091555050604081015160048501546001860154611df792916001600160a01b031690612e47565b60088401805460ff191660049081179091558401546001850154604080518881526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a15050505b5050505050565b600080611e708484612b8e565b91509150816000148015611e82575080155b15611e8d5750505050565b600784015560039092019190915550565b600d54604051637817ee4f60e01b81526001600160a01b03838116600483015230602483015290911690637817ee4f90604401602060405180830381865afa158015611eee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f129190614420565b60086000828254611f23919061438e565b9091555050600d546040517f22bcf9990000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152909116906322bcf99990604401600060405180830381600087803b158015611f8e57600080fd5b505af1158015611fa2573d6000803e3d6000fd5b50505050611faf81612e8c565b6040516001600160a01b03821681527f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b906020015b60405180910390a150565b6000611ffa82612739565b61201757604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061202d9190614735565b805190915060000361206b576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600b5460ff16600281111561208457612084613b72565b03612234576120968160200151612be6565b60608101516001600160a01b03166120da576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561211a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061213e9190614439565b6001600160a01b031663068bcd8d6001546040518263ffffffff1660e01b815260040161216d91815260200190565b600060405180830381865afa15801561218a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121b29190810190614681565b604001519050806001600160a01b031682606001516001600160a01b031614612207576040517fa29c498600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122148260400151612712565b1561223257604051630efd728560e21b815260040160405180910390fd5b505b6000600660008154612245906147dc565b91829055506000818152600f602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b8401906122f99082614843565b505060015460408051918252602082018590527ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b92500160405180910390a150949350505050565b600d546001600160a01b03163314610dcc576040517faf0916a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d54604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa1580156123d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123f99190614439565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612452575060408051601f3d908101601f1916820190925261244f91810190614903565b60015b612499576124946040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250612fb7565b61249f565b60ff1690505b6124de6040518060400160405280601081526020017f5f616d6f756e74546f556e7374616b650000000000000000000000000000000081525084613028565b600d546040516316308e2560e11b81526001600160a01b0386811660048301526000928692911690632c611c4a90602401602060405180830381865afa15801561252c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125509190614420565b61255a919061438e565b905061259b6040518060400160405280600d81526020017f6e6577546f74616c5374616b650000000000000000000000000000000000000081525082613028565b60006125ba6125ab84600a614a0a565b6125b590846143d9565b61309b565b600d54604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009284921690637817ee4f90604401602060405180830381865afa158015612610573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126349190614420565b61263e919061438e565b979650505050505050565b6000600160801b831061269e5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610d66565b50600160801b82825b80156126ea57806001166000036126cc576126c28283613183565b915060011c6126a7565b6126d68383613183565b92506126e360018261438e565b90506126a7565b505092915050565b60006001600160a01b0382161561270a576001610c73565b600092915050565b600061272162989680836143d9565b60025460045461273191906143d9565b111592915050565b600e546000906001600160a01b031661275457506001919050565b600e546040517f42a987a00000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152306024830152909116906342a987a090604401602060405180830381865afa1580156127bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c739190614403565b6000808290506128266040518060400160405280601281526020017f504f494e545320544f20494e435245415345000000000000000000000000000081525082613028565b600d54604051637817ee4f60e01b81526001600160a01b0386811660048301523060248301526000921690637817ee4f90604401602060405180830381865afa158015612877573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061289b9190614420565b90506128dc6040518060400160405280600b81526020017f4d454d424552504f57455200000000000000000000000000000000000000000081525082613028565b600c546128e983836143f0565b111561290057600c546128fd90829061438e565b91505b61293f6040518060400160405280601681526020017f504f494e545320544f20494e43524541534520454e440000000000000000000081525083613028565b509392505050565b600d546040516316308e2560e11b81526001600160a01b0384811660048301526000928392859290911690632c611c4a90602401602060405180830381865afa158015612998573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129bc9190614420565b6129c691906143f0565b600d54604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa158015612a16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a3a9190614439565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612a93575060408051601f3d908101601f19168201909252612a9091810190614903565b60015b612ada57612ad56040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250612fb7565b612ae0565b60ff1690505b6000612afa612af083600a614a0a565b6125b590856143d9565b600d54604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa158015612b50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b749190614420565b90506000612b82828461438e565b98975050505050505050565b6000804390508084600701541115612ba857612ba8614a16565b80846007015403612bbe57506000905080612bdf565b612bdc846007015482612bd1919061438e565b856003015485610f0f565b91505b9250929050565b6001600160a01b03811661110d576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001611fe4565b60006001600160a01b03821615612c7f576002610c73565b600392915050565b612c8f611aa7565b60015415612cc9576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003612d03576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b612d1181613282565b612d1a81612739565b612d3757604051630b72d6b160e31b815260040160405180910390fd5b600d5460405163011de97360e61b81526001600160a01b038381166004830152306024830152600092169063477a5cc090604401602060405180830381865afa158015612d88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dac9190614403565b905080612de5576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083806020019051810190612dfb9190614a2c565b9050612e0783826133a8565b612e11838261356b565b50505050565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001611fe4565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601612e8157610cf4828261398f565b610cf48383836139ab565b6001600160a01b038116600090815260116020908152604080832080548251818502810185019093528083529192909190830182828015612eec57602002820191906000526020600020905b815481526020019060010190808311612ed8575b5050505050905060005b8151811015610cf4576000828281518110612f1357612f13614ad7565b602002602001015190506000600f60008381526020019081526020016000209050612f3d826139fa565b15612fa2576001600160a01b0385166000908152600982016020526040812080549082905560028301805491928392612f7790849061438e565b925050819055508060076000828254612f90919061438e565b90915550612fa090508282611e63565b505b50508080612faf906147dc565b915050612ef6565b61110d81604051602401612fcb9190614aed565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052613a33565b611970828260405160240161303e929190614b00565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052613a33565b6000816000036130ad57506000919050565b600060016130ba84613a54565b901c6001901b905060018184816130d3576130d36143a1565b048201901c905060018184816130eb576130eb6143a1565b048201901c90506001818481613103576131036143a1565b048201901c9050600181848161311b5761311b6143a1565b048201901c90506001818481613133576131336143a1565b048201901c9050600181848161314b5761314b6143a1565b048201901c90506001818481613163576131636143a1565b048201901c9050610dea8182858161317d5761317d6143a1565b04613ae8565b6000600160801b8311156131ff5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610d66565b600160801b82106132525760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610d66565b60806f8000000000000000000000000000000061326f84866143d9565b61327991906143f0565b901c9392505050565b6001600160a01b0381166132c2576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d546001600160a01b03166132eb57604051635df4b1ef60e01b815260040160405180910390fd5b600d546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063a230c52490602401602060405180830381865afa15801561334e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133729190614403565b61110d576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b8251811015613465578281815181106133c7576133c7614ad7565b602002602001015160000151600003156134535760008382815181106133ef576133ef614ad7565b6020026020010151600001519050613406816139fa565b6134265760405163c1d17bef60e01b815260048101829052602401610d66565b83828151811061343857613438614ad7565b6020026020010151602001518361344f9190614b22565b9250505b8061345d816147dc565b9150506133ac565b506001600160a01b0383166000908152601060205260408120546134899083613afe565b600d54604051637817ee4f60e01b81526001600160a01b03878116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa1580156134df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135039190614420565b905080821115613549576040517fd64182fe0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610d66565b506001600160a01b039093166000908152601060205260409020929092555050565b606060005b8251811015612e1157600083828151811061358d5761358d614ad7565b602002602001015160000151905082516000036135e957604080516001808252818301909252906020808301908036833701905050925080836000815181106135d8576135d8614ad7565b60200260200101818152505061373c565b6000805b8451811015613668578285828151811061360957613609614ad7565b602002602001015103613656576040517fadebb154000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260019250604401610d66565b80613660816147dc565b9150506135ed565b508061373a5760008451600161367e91906143f0565b67ffffffffffffffff81111561369657613696613cfa565b6040519080825280602002602001820160405280156136bf578160200160208202803683370190505b50905060005b8551811015613717578581815181106136e0576136e0614ad7565b60200260200101518282815181106136fa576136fa614ad7565b60209081029190910101528061370f816147dc565b9150506136c5565b50828186518151811061372c5761372c614ad7565b602090810291909101015293505b505b600084838151811061375057613750614ad7565b6020908102919091018101518101516000848152600f835260408082206001600160a01b038b168352600981019094528120549193506137908285613afe565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152601160205260409020548110156138295784546001600160a01b038c1660009081526011602052604090208054839081106137fe576137fe614ad7565b9060005260206000200154036138175760019150613829565b80613821816147dc565b9150506137b2565b508061385f576001600160a01b038a16600090815260116020908152604082208654815460018101835591845291909220909101555b8183116138af57613870838361438e565b6007600082825461388191906143f0565b909155506138919050838361438e565b8460020160008282546138a491906143f0565b909155506138f39050565b6138b9828461438e565b600760008282546138ca919061438e565b909155506138da9050828461438e565b8460020160008282546138ed919061438e565b90915550505b836007015460000361390a57436007850155613976565b6139148484611e63565b60028401546003850154604080516001600160a01b038e168152602081018a9052908101859052606081019290925260808201527f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9060a00160405180910390a15b5050505050508080613987906147dc565b915050613570565b60008060008084865af16119705763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d1560016000511417166139f0576390b8ec186000526004601cfd5b6000603452505050565b6000818152600f602052604081205415801590610c735750506000908152600f60205260409020600501546001600160a01b0316151590565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080608083901c15613a6957608092831c92015b604083901c15613a7b57604092831c92015b602083901c15613a8d57602092831c92015b601083901c15613a9f57601092831c92015b600883901c15613ab157600892831c92015b600483901c15613ac357600492831c92015b600283901c15613ad557600292831c92015b600183901c15610c735760010192915050565b6000818310613af75781610dea565b5090919050565b600080613b0b8385614b22565b90506000811215610dea576040517f3bbc7142000000000000000000000000000000000000000000000000000000008152600481018590526024810184905260448101829052606401610d66565b600060208284031215613b6b57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60058110613b9857613b98613b72565b9052565b60005b83811015613bb7578181015183820152602001613b9f565b50506000910152565b60008151808452613bd8816020860160208601613b9c565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152613c0b6040850182613bc0565b949350505050565b60006101408c83528b60208401528a60408401528960608401526001600160a01b03808a16608085015280891660a085015280881660c0850152508560e0840152613c62610100840186613b88565b80610120840152613c7581840185613bec565b9d9c50505050505050505050505050565b600060208284031215613c9857600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dea57600080fd5b6001600160a01b038116811461110d57600080fd5b600060208284031215613cef57600080fd5b8135610dea81613cc8565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715613d3357613d33613cfa565b60405290565b604051610120810167ffffffffffffffff81118282101715613d3357613d33613cfa565b60405160c0810167ffffffffffffffff81118282101715613d3357613d33613cfa565b60405160a0810167ffffffffffffffff81118282101715613d3357613d33613cfa565b604051601f8201601f1916810167ffffffffffffffff81118282101715613dcc57613dcc613cfa565b604052919050565b600067ffffffffffffffff821115613dee57613dee613cfa565b5060051b60200190565b600082601f830112613e0957600080fd5b81356020613e1e613e1983613dd4565b613da3565b82815260059290921b84018101918181019086841115613e3d57600080fd5b8286015b84811015613e61578035613e5481613cc8565b8352918301918301613e41565b509695505050505050565b600067ffffffffffffffff821115613e8657613e86613cfa565b50601f01601f191660200190565b600082601f830112613ea557600080fd5b8135613eb3613e1982613e6c565b818152846020838601011115613ec857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613efa57600080fd5b833567ffffffffffffffff80821115613f1257600080fd5b613f1e87838801613df8565b94506020860135915080821115613f3457600080fd5b50613f4186828701613e94565b9250506040840135613f5281613cc8565b809150509250925092565b60008060408385031215613f7057600080fd5b823567ffffffffffffffff811115613f8757600080fd5b613f9385828601613e94565b9250506020830135613fa481613cc8565b809150509250929050565b60048110613b9857613b98613b72565b60208101610c738284613faf565b60008060408385031215613fe057600080fd5b8235613feb81613cc8565b946020939093013593505050565b60008060006060848603121561400e57600080fd5b505081359360208301359350604090920135919050565b60038110613b9857613b98613b72565b60208101610c738284614025565b602081526000610dea6020830184613bec565b6000806040838503121561406957600080fd5b823567ffffffffffffffff8082111561408157600080fd5b61408d86838701613df8565b93506020915081850135818111156140a457600080fd5b8501601f810187136140b557600080fd5b80356140c3613e1982613dd4565b81815260059190911b820184019084810190898311156140e257600080fd5b8584015b8381101561411a578035868111156140fe5760008081fd5b61410c8c8983890101613e94565b8452509186019186016140e6565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b8281101561417657815180516001600160a01b03168552860151868501529284019290850190600101614148565b5091979650505050505050565b801515811461110d57600080fd5b6000602082840312156141a357600080fd5b8135610dea81614183565b6001600160a01b038b811682528a8116602083015289166040820152606081018890526080810187905261014081016141ea60a0830188613b88565b8560c08301528460e083015283610100830152826101208301529b9a5050505050505050505050565b6000806040838503121561422657600080fd5b823591506020830135613fa481613cc8565b6000602080838503121561424b57600080fd5b823567ffffffffffffffff81111561426257600080fd5b8301601f8101851361427357600080fd5b8035614281613e1982613dd4565b81815260069190911b820183019083810190878311156142a057600080fd5b928401925b8284101561263e57604084890312156142be5760008081fd5b6142c6613d10565b8435815285850135868201528252604090930192908401906142a5565b60208101600783106142f7576142f7613b72565b91905290565b6000806040838503121561431057600080fd5b82359150602083013567ffffffffffffffff81111561432e57600080fd5b61433a85828601613e94565b9150509250929050565b600181811c9082168061435857607f821691505b6020821081036110f657634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610c7357610c73614378565b634e487b7160e01b600052601260045260246000fd5b6000826143d457634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c7357610c73614378565b80820180821115610c7357610c73614378565b60006020828403121561441557600080fd5b8151610dea81614183565b60006020828403121561443257600080fd5b5051919050565b60006020828403121561444b57600080fd5b8151610dea81613cc8565b805161446181613cc8565b919050565b80516003811061446157600080fd5b80516004811061446157600080fd5b60006020828403121561449657600080fd5b6040516020810181811067ffffffffffffffff821117156144b9576144b9613cfa565b6040529151825250919050565b600061012082840312156144d957600080fd5b6144e1613d39565b6144ea83614456565b81526020830151602082015260408301516040820152606083015160608201526080830151608082015261452060a08401614466565b60a082015261453160c08401614475565b60c08201526145438460e08501614484565b60e0820152610100614556818501614456565b908201529392505050565b6000610140820190508382526001600160a01b038351166020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a08301516145b760c0840182614025565b5060c08301516145ca60e0840182613faf565b5060e08301515161010083810191909152909201516001600160a01b031661012090910152919050565b60006040828403121561460657600080fd5b61460e613d10565b905081518152602082015167ffffffffffffffff81111561462e57600080fd5b8201601f8101841361463f57600080fd5b805161464d613e1982613e6c565b81815285602083850101111561466257600080fd5b614673826020830160208601613b9c565b602084015250909392505050565b60006020828403121561469357600080fd5b815167ffffffffffffffff808211156146ab57600080fd5b9083019060c082860312156146bf57600080fd5b6146c7613d5d565b8251815260208301516146d981613cc8565b602082015260408301516146ec81613cc8565b604082015260608301518281111561470357600080fd5b61470f878286016145f4565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b60006020828403121561474757600080fd5b815167ffffffffffffffff8082111561475f57600080fd5b9083019060a0828603121561477357600080fd5b61477b613d80565b82518152602083015161478d81613cc8565b60208201526040838101519082015260608301516147aa81613cc8565b60608201526080830151828111156147c157600080fd5b6147cd878286016145f4565b60808301525095945050505050565b6000600182016147ee576147ee614378565b5060010190565b601f821115610cf457600081815260208120601f850160051c8101602086101561481c5750805b601f850160051c820191505b8181101561483b57828155600101614828565b505050505050565b815167ffffffffffffffff81111561485d5761485d613cfa565b6148718161486b8454614344565b846147f5565b602080601f8311600181146148a6576000841561488e5750858301515b600019600386901b1c1916600185901b17855561483b565b600085815260208120601f198616915b828110156148d5578886015182559484019460019091019084016148b6565b50858210156148f35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561491557600080fd5b815160ff81168114610dea57600080fd5b600181815b8085111561496157816000190482111561494757614947614378565b8085161561495457918102915b93841c939080029061492b565b509250929050565b60008261497857506001610c73565b8161498557506000610c73565b816001811461499b57600281146149a5576149c1565b6001915050610c73565b60ff8411156149b6576149b6614378565b50506001821b610c73565b5060208310610133831016604e8410600b84101617156149e4575081810a610c73565b6149ee8383614926565b8060001904821115614a0257614a02614378565b029392505050565b6000610dea8383614969565b634e487b7160e01b600052600160045260246000fd5b60006020808385031215614a3f57600080fd5b825167ffffffffffffffff811115614a5657600080fd5b8301601f81018513614a6757600080fd5b8051614a75613e1982613dd4565b81815260069190911b82018301908381019087831115614a9457600080fd5b928401925b8284101561263e5760408489031215614ab25760008081fd5b614aba613d10565b845181528585015186820152825260409093019290840190614a99565b634e487b7160e01b600052603260045260246000fd5b602081526000610dea6020830184613bc0565b604081526000614b136040830185613bc0565b90508260208301529392505050565b80820182811260008312801582168215821617156126ea576126ea61437856fea264697066735822122021d8b3bc3a28358d274c0783a2aec07e78738d06bd9be8709025d9fba155c12964736f6c63430008130033","sourceMap":"2787:38005:111:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7096:60;;;;;;;;;;-1:-1:-1;7096:60:111;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;8973:202;;;;;;;;;;-1:-1:-1;8973:202:111;;;;;:::i;:::-;;:::i;:::-;;;3023:14:125;;3016:22;2998:41;;2986:2;2971:18;8973:202:111;2858:187:125;40152:219:111;;;;;;;;;;-1:-1:-1;40152:219:111;;;;;:::i;:::-;;:::i;10705:325:11:-;;;;;;;;;;-1:-1:-1;10705:325:11;;;;;:::i;:::-;;:::i;17722:99:111:-;;;;;;;;;;-1:-1:-1;17793:11:111;:21;17722:99;;;7406:25:125;;;7394:2;7379:18;17722:99:111;7260:177:125;6385:34:111;;;;;;;;;;;;;;;;5837:36;;;;;;;;;;;;5865:8;5837:36;;39842:155;;;;;;;;;;-1:-1:-1;39842:155:111;;;;;:::i;:::-;;:::i;6785:86:11:-;;;;;;;;;;-1:-1:-1;6860:4:11;6785:86;;;-1:-1:-1;;;;;7620:55:125;;;7602:74;;7590:2;7575:18;6785:86:11;7442:240:125;39043:520:111;;;;;;;;;;-1:-1:-1;39043:520:111;;;;;:::i;:::-;;:::i;13000:81::-;;;;;;;;;;;;;:::i;9429:344:11:-;;;;;;:::i;:::-;;:::i;40377:237:111:-;;;;;;;;;;-1:-1:-1;40377:237:111;;;;;:::i;:::-;;:::i;6815:45::-;;;;;;;;;;-1:-1:-1;6815:45:111;;;;;;;;;;;;;;;;;;:::i;14596:681::-;;;;;;;;;;-1:-1:-1;14596:681:111;;;;;:::i;:::-;;:::i;33201:1145::-;;;;;;;;;;-1:-1:-1;33201:1145:111;;;;;:::i;:::-;;:::i;6709:47::-;;;;;;;;;;-1:-1:-1;6709:47:111;;;;;;;;;;;;;;;:::i;6953:92:11:-;;;;;;;;;;-1:-1:-1;7032:6:11;;6953:92;;6126:49:111;;;;;;;;;;;;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:111:-;;;;;;;;;;;;;;;;34927:1482;;;;;;;;;;-1:-1:-1;34927:1482:111;;;;;:::i;:::-;;:::i;7212:53::-;;;;;;;;;;-1:-1:-1;7212:53:111;;;;;:::i;:::-;;;;;;;;;;;;;;6950:42;;;;;;;;;;-1:-1:-1;6950:42:111;;;;-1:-1:-1;;;;;6950:42:111;;;13087:128;;;;;;;;;;-1:-1:-1;13087:128:111;;;;;:::i;:::-;;:::i;39699:137::-;;;;;;;;;;-1:-1:-1;39699:137:111;;;;;:::i;:::-;;:::i;6329:23::-;;;;;;;;;;;;;;;;13578:1012;;;;;;;;;;-1:-1:-1;13578:1012:111;;;;;:::i;:::-;;:::i;6498:38::-;;;;;;;;;;;;;;;;12643:351;;;;;;;;;;;;;:::i;6425:26::-;;;;;;;;;;;;;;;;21047:735;;;;;;;;;;-1:-1:-1;21047:735:111;;;;;:::i;:::-;;:::i;7303:57::-;;;;;;;;;;-1:-1:-1;7303:57:111;;;;;:::i;:::-;;:::i;39569:124::-;;;;;;;;;;-1:-1:-1;39569:124:111;;;;;:::i;:::-;;:::i;4412:75:9:-;;;;;;;;;;;;4445:42;4412:75;;6358:21:111;;;;;;;;;;;;;;;;6866:51;;;;;;;;;;-1:-1:-1;6866:51:111;;;;;;25831:198;;;;;;;;;;-1:-1:-1;25831:198:111;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;6457:35::-;;;;;;;;;;;;;;;;40620:170;;;;;;;;;;-1:-1:-1;40620:170:111;;;;;:::i;:::-;;:::i;22421:288::-;;;;;;;;;;-1:-1:-1;22421:288:111;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;23404:86::-;;;;;;;;;;-1:-1:-1;23404:86:111;;;;;:::i;:::-;;:::i;6998:31::-;;;;;;;;;;-1:-1:-1;6998:31:111;;;;-1:-1:-1;;;;;6998:31:111;;;26626:127;;;;;;;;;;-1:-1:-1;26626:127:111;;;;;:::i;:::-;-1:-1:-1;;;;;26720:26:111;26694:7;26720:26;;;:18;:26;;;;;;;26626:127;17827:110;;;;;;;;;;-1:-1:-1;17919:11:111;;;;;;;17827:110;;24787:1038;;;;;;;;;;-1:-1:-1;24787:1038:111;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::i;37614:112::-;;;;;;;;;;-1:-1:-1;37699:20:111;;37614:112;;26412:145;;;;;;;;;;-1:-1:-1;26412:145:111;;;;;:::i;:::-;26489:7;26515:22;;;:9;:22;;;;;:35;;;;26412:145;7566:101:11;;;;;;;;;;-1:-1:-1;7622:4:11;14479:10;;;7566:101;;26230:176:111;;;;;;;;;;-1:-1:-1;26230:176:111;;;;;:::i;:::-;;:::i;18053:226::-;;;;;;;;;;-1:-1:-1;18053:226:111;;;;;:::i;:::-;;:::i;7823:146:11:-;;;;;;;;;;-1:-1:-1;7823:146:11;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;7832:740:111:-;;;;;;;;;;-1:-1:-1;7832:740:111;;;;;:::i;:::-;;:::i;10092:220:11:-;;;;;;:::i;:::-;;:::i;8816:197::-;;;;;;;;;;-1:-1:-1;8816:197:11;;;;;:::i;:::-;;:::i;40003:143:111:-;;;;;;;;;;-1:-1:-1;40003:143:111;;;;;:::i;:::-;;:::i;7096:60::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7096:60:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8973:202::-;9058:4;9081:47;;;9096:32;9081:47;;:87;;-1:-1:-1;952:25:37;937:40;;;;9132:36:111;9074:94;8973:202;-1:-1:-1;;8973:202:111:o;40152:219::-;40235:10;5954:30:11;5976:7;5954:21;:30::i;:::-;40257:17:111::1;:57:::0;;-1:-1:-1;;;;;;40257:57:111::1;-1:-1:-1::0;;;;;40257:57:111;::::1;::::0;;::::1;::::0;;;40329:35:::1;::::0;7602:74:125;;;40329:35:111::1;::::0;7590:2:125;7575:18;40329:35:111::1;;;;;;;;40152: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;39842:155:111:-;39907:10;5954:30:11;5976:7;5954:21;:30::i;:::-;39929:8:111::1;:20:::0;;;39964:26:::1;::::0;7406:25:125;;;39964:26:111::1;::::0;7394:2:125;7379:18;39964:26:111::1;7260:177:125::0;39043:520:111;39113:7;39175:21;;;:9;:21;;;;;39211:19;;:33;;39207:100;;39267:29;;-1:-1:-1;;;39267:29:111;;;;;7406:25:125;;;7379:18;;39267:29:111;;;;;;;;39207:100;39348:36;39321:23;;;;;;:63;;;;;;;;:::i;:::-;;39317:130;;39407:29;;-1:-1:-1;;;39407:29:111;;;;;7406:25:125;;;7379:18;;39407:29:111;7260:177:125;39317:130:111;39457:59;39484:8;39494;:21;;;39457:26;:59::i;:::-;39533:23;;;;39043:520;-1:-1:-1;;39043:520:111: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;40377:237:111:-;40462:10;5954:30:11;5976:7;5954:21;:30::i;:::-;40515:19:111::1;::::0;40489:67:::1;::::0;;17037:25:125;;;17093:2;17078:18;;17071:34;;;40489:67:111::1;::::0;17010:18:125;40489:67:111::1;;;;;;;-1:-1:-1::0;40566:19:111::1;:41:::0;40377: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:111;14875:11;;;;;;;:48;;;;;;;;:::i;:::-;;14820:103;14816:298;;;-1:-1:-1;14987:16:111;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:111;;;-1:-1:-1;;;;;17658:55:125;;17640:74;;17745:2;17730:18;;17723:34;;;17773:18;;;17766:34;;;15178:59:111;;17628:2:125;17613:18;15178:59:111;;;;;;;15254:16;14596:681;-1:-1:-1;;;14596:681:111:o;33201:1145::-;33335:7;33358:9;33370:11;33358:23;;33696:17;33716:27;5865:8;33731:3;33722:5;;:12;;33721:18;;;;:::i;:::-;33741:1;33716:4;:27::i;:::-;33696:47;;34336:3;6008:34;34313:5;;5865:8;34309:9;;;;:::i;:::-;34284:19;34294:9;-1:-1:-1;;;34284:19:111;:::i;:::-;34266:14;5865:8;34266:10;:14;:::i;:::-;:38;;;;:::i;:::-;34265:54;;;;:::i;:::-;34239:21;34251:9;34239;:21;:::i;:::-;34238:82;;;;:::i;:::-;34237:94;;;;:::i;:::-;34236:103;;;33201:1145;-1:-1:-1;;;;;;33201:1145:111:o;12395:145:11:-;12481:4;12504:29;12522:10;12504:17;:29::i;34927:1482:111:-;35002:18;35170:1;35156:10;;:15;35152:66;;35194:13;;;;;;;;;;;;;;35152:66;35658:33;35674:16;35658:15;:33::i;:::-;35654:91;;;35714:20;;-1:-1:-1;;;35714:20:111;;;;;;;;;;;35654:91;35967:10;;35893:13;;35937:26;:16;35956:7;35937:26;:::i;:::-;35936:41;;;;:::i;:::-;5865:8;35910;;35921:7;35910:18;;;;:::i;:::-;35909:24;;;;:::i;:::-;:68;;;;:::i;:::-;35893:84;;36130:2;36088:28;37699:20;;;37614:112;36088:28;36078:5;;36074:9;;5865:8;36074:9;:::i;:::-;5865:8;36061:2;36043:13;36051:5;;36043:13;:::i;:::-;36042:21;;5865:8;36029:3;36019:6;;:13;;36018:19;;;;:::i;:::-;36017:47;;;;:::i;:::-;36016:53;;;;:::i;:::-;36015:69;;;;:::i;:::-;36014:102;;;;:::i;:::-;36000:132;;35987:145;;36348:19;;36335:10;:32;:67;;36383:19;;36335:67;;;-1:-1:-1;36370:10:111;36322:80;-1:-1:-1;34927:1482:111:o;13087:128::-;13149:23;:21;:23::i;:::-;13182:26;13200:7;13182:17;:26::i;:::-;13087:128;:::o;39699:137::-;39758:10;5954:30:11;5976:7;5954:21;:30::i;:::-;39780:5:111::1;:14:::0;;;39809:20:::1;::::0;7406:25:125;;;39809:20:111::1;::::0;7394:2:125;7379:18;39809:20:111::1;7260:177:125::0;13578:1012:111;13660:7;13679:23;:21;:23::i;:::-;13717:26;13735:7;13717:17;:26::i;:::-;13712:90;;13766:25;;-1:-1:-1;;;13766:25:111;;;;;;;;;;;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:111;;-1:-1:-1;;;;;18835:15:125;;;14318:69:111;;;18817:34:125;14381:4:111;18867:18:125;;;18860:43;14299:16:111;;14318:17;;:45;;18729:18:125;;14318:69:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14299:88;;14401:11;14397:82;;;14452:16;14428:20;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;14397:82:111;14493:57;;;-1:-1:-1;;;;;17658:55:125;;17640:74;;17745:2;17730:18;;17723:34;;;17773:18;;;17766:34;;;14493:57:111;;17628:2:125;17613:18;14493:57:111;;;;;;;-1:-1:-1;14567:16:111;13578:1012;-1:-1:-1;;;13578:1012:111:o;12643:351::-;12705:10;12730:25;12705:10;12730:17;:25::i;:::-;12725:89;;12778:25;;-1:-1:-1;;;12778:25:111;;;;;;;;;;;12725:89;12823:17;;:65;;;;;-1:-1:-1;;;;;18835:15:125;;;12823:65:111;;;18817:34:125;12882:4:111;18867:18:125;;;18860:43;12823:17:111;;;;:42;;18729:18:125;;12823:65:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12922:17:111;;:65;;-1:-1:-1;;;12922:65:111;;-1:-1:-1;;;;;18835:15:125;;;12922:65:111;;;18817:34:125;12981:4:111;18867:18:125;;;18860:43;12922:17:111;;;;-1:-1:-1;12922:42:111;;-1:-1:-1;18729:18:125;;12922:65:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12898:20;;:89;;;;;;;:::i;:::-;;;;-1:-1:-1;;;12643:351:111: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:111;;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:111:o;7303:57::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;39569:124::-;39632:7;39679:5;;5865:8;39675:9;;;;:::i;:::-;39660:10;5865:8;39660:6;:10;:::i;:::-;39659:26;;;;:::i;25831:198::-;-1:-1:-1;;;;;;;;;;;;;;;;;25923:40:111;25966:9;:22;25976:11;25966:22;;;;;;;;;;;25923:65;;26005:8;:17;;25998:24;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25831:198;;;:::o;40620:170::-;7462:17;;;;;;;;;-1:-1:-1;;;;;7462:17:111;-1:-1:-1;;;;;7462:29:111;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7440:54:111;:10;:54;7436:141;;40701:32:::1;40720:12;40701:18;:32::i;:::-;40743:11;:40:::0;;-1:-1:-1;;;;;40743:40:111;::::1;-1:-1:-1::0;;;;;;40743:40:111;;::::1;;::::0;;13087:128;:::o;7436:141::-;7549:17;;;;;;;;;;;;;;22421:288;22507:22;22591:16;;-1:-1:-1;;;22591:16:111;;;;;;;;;;;23404:86;23460:23;23475:7;23460:14;:23::i;24787:1038::-;24889:17;24920:19;24953:22;24989:23;25026:20;25060:44;25118:17;25149:22;25185:17;25216:25;25266:40;25309:9;:22;25319:11;25309:22;;;;;;;;;;;25266:65;;25354:8;:24;;;25382:1;25354:29;:80;;25390:44;25409:8;:24;;;25390:18;:44::i;:::-;25354:80;;;25386:1;25354:80;25342:92;;25465:8;:18;;;;;;;;;;-1:-1:-1;;;;;25465:18:111;25497:8;:20;;;;;;;;;;-1:-1:-1;;;;;25497:20:111;25531:8;:23;;;;;;;;;;-1:-1:-1;;;;;25531:23:111;25568:8;:24;;;25606:8;:21;;;25641:8;:23;;;;;;;;;;;;25678:8;:18;;;25710:8;:23;;;25747:9;25770:8;:26;;:38;25797:10;-1:-1:-1;;;;;25770:38:111;-1:-1:-1;;;;;25770:38:111;;;;;;;;;;;;;25444:374;;;;;;;;;;;;;;;;;;;;;24787:1038;;;;;;;;;;;:::o;26230:176::-;26321:7;26886:22;;;:9;:22;;;;;;;;-1:-1:-1;;;;;26886:48:111;;;;:40;;:48;;;;;;26347:52;26759:182;18053:226;18196:16;;-1:-1:-1;;;18196:16:111;;;;;;;;;;;7823:146:11;7904:6;7929:33;7949:12;7929:19;:33::i;7832:740:111:-;7908:28;7928:7;7908:19;:28::i;:::-;7946:41;8001:5;7990:52;;;;;;;;;;;;:::i;:::-;8057:20;;7946:96;;-1:-1:-1;;;;;;8057:34:111;8053:94;;8114:22;;-1:-1:-1;;;8114:22:111;;;;;;;;;;;8053:94;8195:20;;8157:17;:59;;-1:-1:-1;;;;;;8157:59:111;-1:-1:-1;;;;;8157:59:111;;;;;;;;;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:111;-1:-1:-1;8327:15:111;8312:30;;;;;;;;:::i;:::-;;;;;-1:-1:-1;8366:14:111;;;;8352:11;:28;;-1:-1:-1;;8352:28:111;;8366:14;8352:28;;;;;;;;:::i;:::-;;;;;-1:-1:-1;8404:14:111;;;;8390:28;:11;:28;8450:21;;;;8428:19;:43;8508:14;;;;8481:11;:42;;-1:-1:-1;;;;;;8481:42:111;-1:-1:-1;;;;;8481:42:111;;;;;;;;;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;40003:143:111:-:0;40064:10;5954:30:11;5976:7;5954:21;:30::i;:::-;40086:6:111::1;:16:::0;;;40117:22:::1;::::0;7406:25:125;;;40117:22:111::1;::::0;7394:2:125;7379:18;40117:22:111::1;7260:177:125::0;13122:142:11;13218:6;;13199:35;;;;;;;;22767:25:125;;;;-1:-1:-1;;;;;22828:55:125;;;22808:18;;;22801:83;13199:4:11;:18;;;;22740::125;;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:111;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:111;;;;;7406:25:125;;;7379:18;;19902:29:111;7260:177:125;19838:108:111;19991:10;;19964:8;:24;;;:37;19960:152;;;20060:24;;;;20086:10;;20028:69;;;;;;;;23097:25:125;;;23138:18;;;23131:34;;;;23181:18;;;23174:34;23070:18;;20028:69:111;22895:319:125;19960:152:111;20157:36;20130:23;;;;;;:63;;;;;;;;:::i;:::-;;20126:138;;20220:29;;-1:-1:-1;;;20220:29:111;;;;;7406:25:125;;;7379:18;;20220:29:111;7260:177:125;20126:138:111;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:111;:12;;;;:20;;;;7406:25:125;;;7394:2;7379:18;;7260:177;20608:20:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20608:20:111;;;;;;;;;;;;:::i;:::-;20583:45;;20657:8;:24;;;20643:10;;:38;;;;;;;:::i;:::-;;;;-1:-1:-1;;20719:10:111;;;;20731:20;;;;;20753:24;;;20703:75;;20719:10;-1:-1:-1;;;;;20731:20:111;;20703:15;:75::i;:::-;20809:23;;;:64;;-1:-1:-1;;20809:64:111;20835:38;20809:64;;;;;;20917:20;;;20809:64;20939:24;;;20893:71;;;25185:25:125;;;-1:-1:-1;;;;;20917:20:111;;;25241:2:125;25226:18;;25219:83;25318:18;;25311:34;20893:71:111;;25173:2:125;25158:18;20893:71:111;;;;;;;19824:1151;;;19767:1208;19371:1670;;19285:1756;;;:::o;37916:396::-;38035:18;38055:19;38078:56;38112:9;38123:10;38078:33;:56::i;:::-;38034:100;;;;38148:10;38162:1;38148:15;:35;;;;-1:-1:-1;38167:16:111;;38148:35;38144:72;;;38199:7;;37916:396;;:::o;38144:72::-;38225:19;;;:33;38268:24;;;;:37;;;;-1:-1:-1;37916:396:111:o;13221:351::-;13308:17;;:66;;-1:-1:-1;;;13308:66:111;;-1:-1:-1;;;;;18835:15:125;;;13308:66:111;;;18817:34:125;13368:4:111;18867:18:125;;;18860:43;13308:17:111;;;;:42;;18729:18:125;;13308:66:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13284:20;;:90;;;;;;;:::i;:::-;;;;-1:-1:-1;;13384:17:111;;:68;;;;;-1:-1:-1;;;;;18835:15:125;;;13384:68:111;;;18817:34:125;13446:4:111;18867:18:125;;;18860:43;13384:17:111;;;;:44;;18729:18:125;;13384:68:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13507:17;13516:7;13507:8;:17::i;:::-;13539:26;;-1:-1:-1;;;;;7620:55:125;;7602:74;;13539:26:111;;7590:2:125;7575:18;13539:26:111;;;;;;;;13221:351;:::o;10592:2045::-;10684:7;10708:26;10726:7;10708:17;:26::i;:::-;10703:90;;10757:25;;-1:-1:-1;;;10757:25:111;;;;;;;;;;;10703:90;10862:45;10921:5;10910:50;;;;;;;;;;;;:::i;:::-;11075:15;;10862:98;;-1:-1:-1;11075:15:111;: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:111;11394:102;;11462:19;;;;;;;;;;;;;;11394:102;11509:17;11529:4;-1:-1:-1;;;;;11529:12:111;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11529:22:111;;11552:6;;11529:30;;;;;;;;;;;;;7406:25:125;;7394:2;7379:18;;7260:177;11529:30:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11529:30:111;;;;;;;;;;;;:::i;:::-;:36;;;11509:56;;11610:9;-1:-1:-1;;;;;11583:36:111;:8;:23;;;-1:-1:-1;;;;;11583:36:111;;11579:234;;11781:17;;;;;;;;;;;;;;11579:234;11830:41;11846:8;:24;;;11830:15;:41::i;:::-;11826:107;;;11898:20;;-1:-1:-1;;;11898:20:111;;;;;;;;;;;11826:107;11278:665;11221:722;11952:18;11975:15;;11973:17;;;;;:::i;:::-;;;;;-1:-1:-1;12000:33:111;12036:21;;;:9;:21;;;;;;;;12068:25;;;12103:11;;;:21;;-1:-1:-1;;;;;12103:21:111;;;-1:-1:-1;;;;;;12103:21:111;;;;;;;12150:20;;;;12134:13;;;:36;;;;;;;;;;;;;;12199:23;;;;12180:16;;;:42;;;;;;;;;;;12252:24;;;;-1:-1:-1;12232:17:111;;;:44;;;;12337:16;;;:55;;-1:-1:-1;;12337:55:111;;;;;;12416:12;12402:11;;;:26;-1:-1:-1;12438:16:111;;:20;;;;12517:17;;;;12504:30;;:10;;;:30;;;;;;;11973:17;;-1:-1:-1;12036:21:111;;12504:30;;;;;;;;:::i;:::-;-1:-1:-1;;12566:6:111;;12550:35;;;17037:25:125;;;17093:2;17078:18;;17071:34;;;12550:35:111;;-1:-1:-1;17010:18:125;12550:35:111;;;;;;;-1:-1:-1;12618:10:111;10592:2045;-1:-1:-1;;;;10592:2045:111:o;9729:162::-;9811:17;;-1:-1:-1;;;;;9811:17:111;9789:10;:40;9785:100;;9852:22;;;;;;;;;;;;;;16914:802;17079:17;;:31;;;-1:-1:-1;;;17079:31:111;;;;17012:7;;17049:2;;-1:-1:-1;;;;;17079:17:111;;;;:29;;:31;;;;;;;;;;;;;;;:17;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17065:56:111;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17065:58:111;;;;;;;;-1:-1:-1;;17065:58:111;;;;;;;;;;;;:::i;:::-;;;17061:208;;17222:36;;;;;;;;;;;;;;;;;;:11;:36::i;:::-;17061:208;;;17173:17;;;-1:-1:-1;17061:208:111;17278:49;;;;;;;;;;;;;;;;;;17310:16;17278:11;:49::i;:::-;17361:17;;:48;;-1:-1:-1;;;17361:48:111;;-1:-1:-1;;;;;7620:55:125;;;17361:48:111;;;7602:74:125;17337:21:111;;17412:16;;17361:17;;;:39;;7575:18:125;;17361:48:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::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:111;;-1:-1:-1;;;;;18835:15:125;;;17593:66:111;;;18817:34:125;17653:4:111;18867:18:125;;;18860:43;17491:65:111;;-1:-1:-1;17566:24:111;;17491:65;;17593:17;;:42;;18729:18:125;;17593:66:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:83;;;;:::i;:::-;17566:110;16914:802;-1:-1:-1;;;;;;;16914:802:111:o;37161:447::-;37222:15;-1:-1:-1;;;37257:2:111;:12;37249:53;;;;-1:-1:-1;;;37249:53:111;;31086:2:125;37249:53:111;;;31068:21:125;31125:2;31105:18;;;31098:30;31164;31144:18;;;31137:58;31212:18;;37249:53:111;30884:352:125;37249:53:111;-1:-1:-1;;;;37324:2:111;37348;37387:215;37394:5;;37387:215;;37419:1;37423;37419:5;37428:1;37419:10;37415:177;;37453:10;37458:1;37461;37453:4;:10::i;:::-;37449:14;-1:-1:-1;37487:1:111;37481:7;37387:215;;37415:177;37537:16;37542:7;37551:1;37537:4;:16::i;:::-;37527:26;-1:-1:-1;37571:6:111;37576:1;37571:6;;:::i;:::-;;;37387:215;;;37239:369;;37161:447;;;;:::o;23207:191::-;23286:4;-1:-1:-1;;;;;23352:24:111;;;:39;;23387:4;23352:39;;;23379:5;23345:46;23207:191;-1:-1:-1;;23207:191:111:o;27289:174::-;27363:19;27436:20;5865:8;27436:16;:20;:::i;:::-;27422:10;;27411:8;;:21;;;;:::i;:::-;:45;;;27289:174;-1:-1:-1;;27289:174:111:o;10036:230::-;10129:11;;10101:4;;-1:-1:-1;;;;;10129:11:111;10117:76;;-1:-1:-1;10178:4:111;;10036:230;-1:-1:-1;10036:230:111:o;10117:76::-;10209:11;;:50;;;;;-1:-1:-1;;;;;18835:15:125;;;10209:50:111;;;18817:34:125;10253:4:111;18867:18:125;;;18860:43;10209:11:111;;;;:28;;18729:18:125;;10209:50:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::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:111;;-1:-1:-1;;;;;18835:15:125;;;15661:66:111;;;18817:34:125;15721:4:111;18867:18:125;;;18860:43;15639:19:111;;15661:17;;:42;;18729:18:125;;15661:66:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::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:111;15415:615;-1:-1:-1;;;15415:615:111:o;16036:730::-;16172:17;;:48;;-1:-1:-1;;;16172:48:111;;-1:-1:-1;;;;;7620:55:125;;;16172:48:111;;;7602:74:125;16132:7:111;;;;16223:14;;16172:17;;;;:39;;7575:18:125;;16172:48:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:65;;;;:::i;:::-;16296:17;;:31;;;-1:-1:-1;;;16296:31:111;;;;16151:86;;-1:-1:-1;16266:2:111;;-1:-1:-1;;;;;16296:17:111;;;;:29;;:31;;;;;;;;;;;;;;;:17;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16282:56:111;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16282:58:111;;;;;;;;-1:-1:-1;;16282:58:111;;;;;;;;;;;;:::i;:::-;;;16278:208;;16439:36;;;;;;;;;;;;;;;;;;:11;:36::i;:::-;16278:208;;;16390:17;;;-1:-1:-1;16278:208:111;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:111;;-1:-1:-1;;;;;18835:15:125;;;16591:66:111;;;18817:34:125;16651:4:111;18867:18:125;;;18860:43;16495:62:111;;-1:-1:-1;16567:21:111;;16591:17;;;;:42;;18729:18:125;;16591:66:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16567:90;-1:-1:-1;16668:24:111;16695:30;16567:90;16695:14;:30;:::i;:::-;16668:57;16036:730;-1:-1:-1;;;;;;;;16036:730:111:o;38318:719::-;38471:18;38491:19;38540:12;38526:26;;38592:11;38569:9;:19;;;:34;;38562:42;;;;:::i;:::-;38641:11;38618:9;:19;;;:34;38614:173;;-1:-1:-1;38742:1:111;;-1:-1:-1;38742:1:111;38734:13;;38614:173;38853:177;38900:9;:19;;;38886:11;:33;;;;:::i;:::-;38972:9;:24;;;39010:10;38853:19;:177::i;:::-;38840:190;;38318:719;;;;;;:::o;9897:133::-;-1:-1:-1;;;;;9971:22:111;;9967:56;;10002:21;;;;;;;;;;;;;;14116:118:11;14173:10;:20;;-1:-1:-1;;14173:20:11;;;;;;;;;;14208:19;;2998:41:125;;;14208:19:11;;2986:2:125;2971:18;14208:19:11;2858:187:125;22072:220:111;22155:6;-1:-1:-1;;;;;22223:26:111;;;:62;;22270:15;22223:62;;;22252:15;22216:69;22072:220;-1:-1:-1;;22072:220:111: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:111:-;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:111;;;;;;;;;;;18547:90;18677:17;;:69;;-1:-1:-1;;;18677:69:111;;-1:-1:-1;;;;;18835:15:125;;;18677:69:111;;;18817:34:125;18740:4:111;18867:18:125;;;18860:43;18646:28:111;;18677:17;;:45;;18729:18:125;;18677:69:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::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:125;;;23077:28:111;;7394:2:125;7379:18;23077:28:111;7260:177:125;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:729:111:-;-1:-1:-1;;;;;23630:29:111;;23598;23630;;;:20;:29;;;;;;;;23598:61;;;;;;;;;;;;;;;;;;;23630:29;;23598:61;;;23630:29;23598:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23674:9;23669:550;23693:12;:19;23689:1;:23;23669:550;;;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:348;;;-1:-1:-1;;;;;23934:35:111;;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:111;;-1:-1:-1;24171:8:111;24181:12;24144:26;:50::i;:::-;23893:316;23861:348;23719:500;;23714:3;;;;;:::i;:::-;;;;23669:550;;5630:121:66;5685:59;5740:2;5701:42;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5701:42:66;;;;;;;;;;;;;;;;;;;;5685:15;:59::i;6548:139::-;6612:68;6672:2;6676;6628:51;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6628:51:66;;;;;;;;;;;;;;;;;;;;6612:15;:68::i;6530:1642:40:-;6578:7;6601:1;6606;6601:6;6597:45;;-1:-1:-1;6630:1:40;;6530:1642;-1:-1:-1;6530:1642:40: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;36670:269:111:-;36731:15;-1:-1:-1;;;36766:2:111;:13;;36758:66;;;;-1:-1:-1;;;36758:66:111;;33532:2:125;36758:66:111;;;33514:21:125;33571:2;33551:18;;;33544:30;33610:34;33590:18;;;33583:62;33681:10;33661:18;;;33654:38;33709:19;;36758:66:111;33330:404:125;36758:66:111;-1:-1:-1;;;36842:2:111;:12;36834:53;;;;-1:-1:-1;;;36834:53:111;;33941:2:125;36834:53:111;;;33923:21:125;33980:2;33960:18;;;33953:30;34019;33999:18;;;33992:58;34067:18;;36834:53:111;33739:352:125;36834:53:111;36929:3;6008:34;36906:7;36911:2;36906;:7;:::i;:::-;36905:19;;;;:::i;:::-;36904:28;;;36670:269;-1:-1:-1;;;36670:269:111:o;9346:377::-;-1:-1:-1;;;;;9419:21:111;;9415:77;;9463:18;;;;;;;;;;;;;;9415:77;9513:17;;-1:-1:-1;;;;;9513:17:111;9501:100;;9568:22;;-1:-1:-1;;;9568:22:111;;;;;;;;;;;9501:100;9615:17;;:35;;;;;-1:-1:-1;;;;;7620:55:125;;;9615:35:111;;;7602:74:125;9615:17:111;;;;:26;;7575:18:125;;9615:35:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9610:93;;9673:19;;;;;;;;;;;;;;27469:1548;27609:22;27650:9;27645:630;27669:16;:23;27665:1;:27;27645:630;;;27772:16;27789:1;27772:19;;;;;;;;:::i;:::-;;;;;;;:30;;;27806:1;27772:35;27768:187;27932:8;27768:187;27968:18;27989:16;28006:1;27989:19;;;;;;;;:::i;:::-;;;;;;;:30;;;27968:51;;28038:26;28053:10;28038:14;:26::i;:::-;28033:167;;28091:29;;-1:-1:-1;;;28091:29:111;;;;;7406:25:125;;;7379:18;;28091:29:111;7260:177:125;28033:167:111;28232:16;28249:1;28232:19;;;;;;;;:::i;:::-;;;;;;;:32;;;28213:51;;;;;:::i;:::-;;;27699:576;27645:630;27694:3;;;;:::i;:::-;;;;27645:630;;;-1:-1:-1;;;;;;26720:26:111;;28371:29;26720:26;;;:18;:26;;;;;;28403:60;;28447:15;28403:11;:60::i;:::-;28574:17;;:66;;-1:-1:-1;;;28574:66:111;;-1:-1:-1;;;;;18835:15:125;;;28574:66:111;;;18817:34:125;28634:4:111;18867:18:125;;;18860:43;28371:92:111;;-1:-1:-1;28545:26:111;;28574:17;;;;:42;;18729:18:125;;28574:66:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28545:95;;28830:18;28806:21;:42;28802:147;;;28871:67;;;;;;;;17037:25:125;;;17078:18;;;17071:34;;;17010:18;;28871:67:111;16863:248:125;28802:147:111;-1:-1:-1;;;;;;28959:27:111;;;;;;;:18;:27;;;;;:51;;;;-1:-1:-1;;27469:1548:111:o;29023:3479::-;29138:29;29182:9;29177:3319;29201:16;:23;29197:1;:27;29177:3319;;;29245:18;29266:16;29283:1;29266:19;;;;;;;;:::i;:::-;;;;;;;:30;;;29245:51;;29369:12;:19;29392:1;29369:24;29365:920;;29428:16;;;29442:1;29428:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29428:16:111;29413:31;;29480:10;29462:12;29475:1;29462:15;;;;;;;;:::i;:::-;;;;;;:28;;;;;29365:920;;;29539:10;29580:9;29575:318;29599:12;:19;29595:1;:23;29575:318;;;29695:10;29676:12;29689:1;29676:15;;;;;;;;:::i;:::-;;;;;;;:29;29672:203;;29778:40;;;;;;;;17037:25:125;;;17078:18;;;17071:34;;;29741:4:111;;-1:-1:-1;17010:18:125;;29778:40:111;16863:248:125;29672:203:111;29620:3;;;;:::i;:::-;;;;29575:318;;;;29915:5;29910:361;;29944:21;29982:12;:19;30004:1;29982:23;;;;:::i;:::-;29968:38;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29968:38:111;;29944:62;;30033:9;30028:124;30052:12;:19;30048:1;:23;30028:124;;;30114:12;30127:1;30114:15;;;;;;;;:::i;:::-;;;;;;;30104:4;30109:1;30104:7;;;;;;;;:::i;:::-;;;;;;;;;;:25;30073:3;;;;:::i;:::-;;;;30028:124;;;;30201:10;30173:4;30178:12;:19;30173:25;;;;;;;;:::i;:::-;;;;;;;;;;:38;30248:4;-1:-1:-1;29910:361:111;29521:764;29365:920;30298:12;30313:16;30330:1;30313:19;;;;;;;;:::i;:::-;;;;;;;;;;;;:32;;;30360:40;30403:21;;;:9;:21;;;;;;-1:-1:-1;;;;;30557:35:111;;;;:26;;;:35;;;;;;30313:32;;-1:-1:-1;30780:40:111;30557:35;30313:32;30780:11;:40::i;:::-;-1:-1:-1;;;;;30955:35:111;;;;;;:26;;;:35;;;;;:50;;;30757:63;;-1:-1:-1;30955:35:111;31277:246;-1:-1:-1;;;;;31301:29:111;;;;;;:20;:29;;;;;:36;31297:40;;31277:246;;;31402:19;;-1:-1:-1;;;;;31366:29:111;;31402:19;31366:29;;;:20;:29;;;;;:32;;31396:1;;31366:32;;;;;;:::i;:::-;;;;;;;;;:55;31362:147;;31459:4;31445:18;;31485:5;;31362:147;31339:3;;;;:::i;:::-;;;;31277:246;;;;31541:11;31536:106;;-1:-1:-1;;;;;31572:29:111;;;;;;:20;:29;;;;;;;31607:19;;31572:55;;;;;;;;;;;;;;;;;;31536:106;31821:12;31797:20;:36;31793:370;;31868:35;31883:20;31868:12;:35;:::i;:::-;31853:11;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;31946:35:111;;-1:-1:-1;31961:20:111;31946:12;:35;:::i;:::-;31921:8;:21;;;:60;;;;;;;:::i;:::-;;;;-1:-1:-1;31793:370:111;;-1:-1:-1;31793:370:111;;32035:35;32058:12;32035:20;:35;:::i;:::-;32020:11;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;32113:35:111;;-1:-1:-1;32136:12:111;32113:20;:35;:::i;:::-;32088:8;:21;;;:60;;;;;;;:::i;:::-;;;;-1:-1:-1;;31793:370:111;32180:8;:18;;;32202:1;32180:23;32176:310;;32244:12;32223:18;;;:33;32176:310;;;32295:58;32322:8;32332:20;32295:26;:58::i;:::-;32424:21;;;;32447:23;;;;32376:95;;;-1:-1:-1;;;;;34594:55:125;;34576:74;;34681:2;34666:18;;34659:34;;;34709:18;;;34702:34;;;34767:2;34752:18;;34745:34;;;;34810:3;34795:19;;34788:35;32376:95:111;;34563:3:125;34548:19;32376:95:111;;;;;;;32176:310;29231:3265;;;;;;29226:3;;;;;:::i;:::-;;;;29177:3319;;2455:490:44;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;27098:185:111:-;27166:4;27189:22;;;:9;:22;;;;;:33;:37;;;;:87;;-1:-1:-1;;27274:1:111;27230:22;;;:9;:22;;;;;:32;;;-1:-1:-1;;;;;27230:32:111;:46;;;27098:185::o;181:376:66:-;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:40:-;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:40:o;588:104::-;646:7;676:1;672;:5;:13;;684:1;672:13;;;-1:-1:-1;680:1:40;;588:104;-1:-1:-1;588:104:40:o;32508:276:111:-;32585:7;;32620:25;32639:6;32627:8;32620:25;:::i;:::-;32604:41;;32669:1;32660:6;:10;32656:90;;;32693:42;;;;;;;;23097:25:125;;;23138:18;;;23131:34;;;23181:18;;;23174:34;;;23070:18;;32693:42:111;22895:319:125;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:125;;14:180;-1:-1:-1;14:180:125:o;331:184::-;-1:-1:-1;;;380:1:125;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:125;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:125;1144:39;;;;1185:4;1140:50;;925:271;-1:-1:-1;;925:271:125: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:125: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:125;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:125: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:125;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:125;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:125;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:125:o;4965:183::-;5025:4;5058:18;5050:6;5047:30;5044:56;;;5080:18;;:::i;:::-;-1:-1:-1;5125:1:125;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:125;5153:737;-1:-1:-1;;;;;;5153:737:125:o;5895:186::-;5943:4;5976:18;5968:6;5965:30;5962:56;;;5998:18;;:::i;:::-;-1:-1:-1;6064:2:125;6043:15;-1:-1:-1;;6039:29:125;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:125: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:125: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:125;;;9318:2;9303:18;;9290:32;;-1:-1:-1;9369:2:125;9354:18;;;9341:32;;9063:316;-1:-1:-1;9063:316:125: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:125;;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:125;;;;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:125;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:125;;11820:849;-1:-1:-1;;;;;;;11820:849:125: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:125;;;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:125;;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:125;16698:88;16809:4;16806:1;16799:15;16837:4;16834:1;16827:15;17116:184;-1:-1:-1;;;17165:1:125;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:125;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:125;18091:88;18202:4;18199:1;18192:15;18230:4;18227:1;18220:15;18056:189;-1:-1:-1;18259:9:125;;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:125;;19164:184;-1:-1:-1;19164:184:125: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:125;20090:420;-1:-1:-1;20090:420:125: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:125:o;21472:1116::-;21662:4;21704:3;21693:9;21689:19;21681:27;;21735:6;21724:9;21717:25;-1:-1:-1;;;;;21788:6:125;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:125;22368:16;;22362:23;22443:21;22404:3;22423:18;;;22416:49;;;;22502:15;;;22496:22;-1:-1:-1;;;;;265:54:125;22577:3;22562:19;;;253:67;21472:1116;;-1:-1:-1;21472:1116:125: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:125;;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:125;;23219:726;-1:-1:-1;;;23219:726:125: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:125;25356:986;-1:-1:-1;;;;;25356:986:125:o;26617:135::-;26656:3;26677:17;;;26674:43;;26697:18;;:::i;:::-;-1:-1:-1;26744:1:125;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:125;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:125;;;28806:26;28757:89;-1:-1:-1;;27561:1:125;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:125;;;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:125;28594:14;;;28610:3;28590:24;28586:37;28582:42;28567:58;28552:74;;28439:201;-1:-1:-1;;;;;28686:1:125;28670:14;;;28666:22;28653:36;;-1:-1:-1;27604:1352:125:o;29232:273::-;29300:6;29353:2;29341:9;29332:7;29328:23;29324:32;29321:52;;;29369:1;29366;29359:12;29321:52;29401:9;29395:16;29451:4;29444:5;29440:16;29433:5;29430:27;29420:55;;29471:1;29468;29461:12;29510:422;29599:1;29642:5;29599:1;29656:270;29677:7;29667:8;29664:21;29656:270;;;29736:4;29732:1;29728:6;29724:17;29718:4;29715:27;29712:53;;;29745:18;;:::i;:::-;29795:7;29785:8;29781:22;29778:55;;;29815:16;;;;29778:55;29894:22;;;;29854:15;;;;29656:270;;;29660:3;29510:422;;;;;:::o;29937:806::-;29986:5;30016:8;30006:80;;-1:-1:-1;30057:1:125;30071:5;;30006:80;30105:4;30095:76;;-1:-1:-1;30142:1:125;30156:5;;30095:76;30187:4;30205:1;30200:59;;;;30273:1;30268:130;;;;30180:218;;30200:59;30230:1;30221:10;;30244:5;;;30268:130;30305:3;30295:8;30292:17;30289:43;;;30312:18;;:::i;:::-;-1:-1:-1;;30368:1:125;30354:16;;30383:5;;30180:218;;30482:2;30472:8;30469:16;30463:3;30457:4;30454:13;30450:36;30444:2;30434:8;30431:16;30426:2;30420:4;30417:12;30413:35;30410:77;30407:159;;;-1:-1:-1;30519:19:125;;;30551:5;;30407:159;30598:34;30623:8;30617:4;30598:34;:::i;:::-;30668:6;30664:1;30660:6;30656:19;30647:7;30644:32;30641:58;;;30679:18;;:::i;:::-;30717:20;;29937:806;-1:-1:-1;;;29937:806:125:o;30748:131::-;30808:5;30837:36;30864:8;30858:4;30837:36;:::i;31241:184::-;-1:-1:-1;;;31290:1:125;31283:88;31390:4;31387:1;31380:15;31414:4;31411:1;31404:15;31430:1185;31559:6;31590:2;31633;31621:9;31612:7;31608:23;31604:32;31601:52;;;31649:1;31646;31639:12;31601:52;31682:9;31676:16;31715:18;31707:6;31704:30;31701:50;;;31747:1;31744;31737:12;31701:50;31770:22;;31823:4;31815:13;;31811:27;-1:-1:-1;31801:55:125;;31852:1;31849;31842:12;31801:55;31881:2;31875:9;31904:60;31920:43;31960:2;31920:43;:::i;31904:60::-;31998:15;;;32080:1;32076:10;;;;32068:19;;32064:28;;;32029:12;;;;32104:19;;;32101:39;;;32136:1;32133;32126:12;32101:39;32160:11;;;;32180:405;32196:6;32191:3;32188:15;32180:405;;;32278:4;32272:3;32263:7;32259:17;32255:28;32252:118;;;32324:1;32353:2;32349;32342:14;32252:118;32396:22;;:::i;:::-;32445:10;;32431:25;;32498:12;;;32492:19;32476:14;;;32469:43;32525:18;;32222:4;32213:14;;;;32563:12;;;;32180:405;;32620:184;-1:-1:-1;;;32669:1:125;32662:88;32769:4;32766:1;32759:15;32793:4;32790:1;32783:15;32809:220;32958:2;32947:9;32940:21;32921:4;32978:45;33019:2;33008:9;33004:18;32996:6;32978:45;:::i;33034:291::-;33211:2;33200:9;33193:21;33174:4;33231:45;33272:2;33261:9;33257:18;33249:6;33231:45;:::i;:::-;33223:53;;33312:6;33307:2;33296:9;33292:18;33285:34;33034:291;;;;;:::o;34096:216::-;34160:9;;;34188:11;;;34135:3;34218:9;;34246:10;;34242:19;;34271:10;;34263:19;;34239:44;34236:70;;;34286: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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"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\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x9a0dba4c62abd4bc2887a8fec229c2e1916ba0d8bc7bbc8da712188552650752\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://48a99a5af361529ac37e477e3195d6a9355ff5ab2ef3e4d002d80a404da6e4dd\",\"dweb:/ipfs/Qmf8BsNJcG2Lno4gjUV3DfDsDsgNGrCLRMTXkWkm4JnM6u\"]},\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0xf57d2536496fa592ffed2901d5d56e330d7c70955508b9d2ffa60aad76f42586\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://958bc6c5ef6816c7613ee98fa69b002efb6b85b3e4a8448ec2dd20d45d3a68e1\",\"dweb:/ipfs/QmNQtPpCqzvSCf9QVPaaBUvpYWzxCLhp1UWq94qziSagXf\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0x1c576e15a5543c06e92cb45f7162a2aa5dac1a276088ec323f5c0438f69c2e52\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://60cb3de95b895d81666b3899a5d73d620742a5c98558ad9799c0464da7b3ab55\",\"dweb:/ipfs/QmReM4jMH5Vc6gGeo7UtHFruHVnqY2rWaecXr1FwDmA6gE\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]}},\"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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"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"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x9a0dba4c62abd4bc2887a8fec229c2e1916ba0d8bc7bbc8da712188552650752","urls":["bzz-raw://48a99a5af361529ac37e477e3195d6a9355ff5ab2ef3e4d002d80a404da6e4dd","dweb:/ipfs/Qmf8BsNJcG2Lno4gjUV3DfDsDsgNGrCLRMTXkWkm4JnM6u"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0xf57d2536496fa592ffed2901d5d56e330d7c70955508b9d2ffa60aad76f42586","urls":["bzz-raw://958bc6c5ef6816c7613ee98fa69b002efb6b85b3e4a8448ec2dd20d45d3a68e1","dweb:/ipfs/QmNQtPpCqzvSCf9QVPaaBUvpYWzxCLhp1UWq94qziSagXf"],"license":"MIT"},"pkg/contracts/src/RegistryCommunity.sol":{"keccak256":"0x1c576e15a5543c06e92cb45f7162a2aa5dac1a276088ec323f5c0438f69c2e52","urls":["bzz-raw://60cb3de95b895d81666b3899a5d73d620742a5c98558ad9799c0464da7b3ab55","dweb:/ipfs/QmReM4jMH5Vc6gGeo7UtHFruHVnqY2rWaecXr1FwDmA6gE"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"}},"version":1},"id":111} \ 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":"0x60c0604052600060065560006009553480156200001b57600080fd5b5060405162004cdb38038062004cdb8339810160408190526200003e91620000a6565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200008191839101620000d8565b60408051601f19818403018152919052805160209091012060a0525062000128915050565b600060208284031215620000b957600080fd5b81516001600160a01b0381168114620000d157600080fd5b9392505050565b600060208083528351808285015260005b818110156200010757858101830151858201604001528201620000e9565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a051614b786200016360003960006105f401526000818161048801528181611a1f01528181611ab20152611d3b0152614b786000f3fe6080604052600436106103555760003560e01c8063782aadff116101b9578063b5f620ce116100f6578063df868ed31161009a578063edd146cc1161006c578063edd146cc14610a5f578063ef2920fc14610a7f578063f5b0dfb714610a92578063fc1711f214610ab257005b8063df868ed3146109da578063e0dd2c38146109f2578063e33add9314610a12578063eb11af9314610a3257005b8063c3292171116100d3578063c329217114610942578063c7f758a81461095f578063d1e3623214610995578063dc96ff2d146109aa57005b8063b5f620ce146108cc578063b6c61f31146108ec578063bcc5b93b1461090c57005b8063a0cf0aea1161015d578063a574cea41161013a578063a574cea41461083c578063aba9ffee14610869578063ac1ed7b91461087f578063b2b878d01461089f57005b8063a0cf0aea146107e7578063a1aab33f1461080f578063a47ff7e51461082557005b8063817b1cd211610196578063817b1cd214610771578063824ea8ed14610787578063868c57b8146107a7578063950559d7146107c757005b8063782aadff146107265780637c6570ba14610746578063814516ad1461075c57005b80632ed04b2b116102925780634d31d087116102365780636003e414116102085780636003e414146106b05780636453d9c4146106d057806369fa25c4146106f057806376365af71461071057005b80634d31d0871461062d57806354fac9191461064d57806359a5db8b146106635780635db64b991461068357005b806338fff2d01161026f57806338fff2d0146105bb578063406244d8146105d057806342fda9c7146105e55780634ab4ba421461061857005b80632ed04b2b14610554578063346db8cb14610574578063351d9f961461059457005b806311f22ae3116102f95780631ddf1e23116102d65780631ddf1e23146104e05780632bbe0cae146104f55780632cefadbb146105085780632dbd6fdd1461052857005b806311f22ae31461045957806315cc481e146104795780631aa91a9e146104c057005b80630a6f0ee9116103325780630a6f0ee9146103ed5780630ba959091461040d5780630c0512e91461042c5780630f529ba21461044257005b8063013cf08b1461035e57806301ffc9a71461039d578063058aca44146103cd57005b3661035c57005b005b34801561036a57600080fd5b5061037e610379366004613b59565b610ad2565b6040516103949a99989796959493929190613c13565b60405180910390f35b3480156103a957600080fd5b506103bd6103b8366004613c86565b610be0565b6040519015158152602001610394565b3480156103d957600080fd5b5061035c6103e8366004613cdd565b610c79565b3480156103f957600080fd5b5061035c610408366004613ee5565b610cd9565b34801561041957600080fd5b50600c545b604051908152602001610394565b34801561043857600080fd5b5061041e60065481565b34801561044e57600080fd5b5061041e6298968081565b34801561046557600080fd5b5061035c610474366004613b59565b610cf9565b34801561048557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610394565b3480156104cc57600080fd5b5061041e6104db366004613b59565b610d38565b3480156104ec57600080fd5b5061035c610dc3565b6104a8610503366004613f5d565b610dce565b34801561051457600080fd5b5061035c610523366004613b59565b610df1565b34801561053457600080fd5b50600b5461054790610100900460ff1681565b6040516103949190613fbf565b34801561056057600080fd5b5061041e61056f366004613fcd565b610e3d565b34801561058057600080fd5b5061041e61058f366004613ff9565b610f0f565b3480156105a057600080fd5b50600b546105ae9060ff1681565b6040516103949190614035565b3480156105c757600080fd5b5060015461041e565b3480156105dc57600080fd5b5061041e600a81565b3480156105f157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061041e565b34801561062457600080fd5b5060025461041e565b34801561063957600080fd5b506103bd610648366004613cdd565b610fb4565b34801561065957600080fd5b5061041e60035481565b34801561066f57600080fd5b5061041e61067e366004613b59565b610fbf565b34801561068f57600080fd5b5061041e61069e366004613cdd565b60106020526000908152604090205481565b3480156106bc57600080fd5b50600d546104a8906001600160a01b031681565b3480156106dc57600080fd5b5061035c6106eb366004613cdd565b6110fc565b3480156106fc57600080fd5b5061035c61070b366004613b59565b611110565b34801561071c57600080fd5b5061041e60045481565b34801561073257600080fd5b5061041e610741366004613fcd565b61114f565b34801561075257600080fd5b5061041e60095481565b34801561076857600080fd5b5061035c6112f1565b34801561077d57600080fd5b5061041e60075481565b34801561079357600080fd5b506103bd6107a2366004613b59565b611423565b3480156107b357600080fd5b5061041e6107c2366004613fcd565b611480565b3480156107d357600080fd5b5061041e6107e2366004613b59565b6114b1565b3480156107f357600080fd5b506104a873eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801561081b57600080fd5b5061041e60055481565b34801561083157600080fd5b50600c5461041e9081565b34801561084857600080fd5b5061085c610857366004613b59565b6114db565b6040516103949190614043565b34801561087557600080fd5b5061041e60085481565b34801561088b57600080fd5b5061035c61089a366004613cdd565b6115ba565b3480156108ab57600080fd5b506108bf6108ba366004614056565b61169b565b604051610394919061412b565b3480156108d857600080fd5b5061035c6108e7366004614191565b6116b6565b3480156108f857600080fd5b50600e546104a8906001600160a01b031681565b34801561091857600080fd5b5061041e610927366004613cdd565b6001600160a01b031660009081526010602052604090205490565b34801561094e57600080fd5b50600b54610100900460ff16610547565b34801561096b57600080fd5b5061097f61097a366004613b59565b6116bf565b6040516103949a999897969594939291906141ae565b3480156109a157600080fd5b5060085461041e565b3480156109b657600080fd5b5061041e6109c5366004613b59565b6000908152600f602052604090206002015490565b3480156109e657600080fd5b5060005460ff166103bd565b3480156109fe57600080fd5b5061041e610a0d366004614213565b6117c1565b348015610a1e57600080fd5b5061035c610a2d366004614238565b6117ec565b348015610a3e57600080fd5b50610a52610a4d366004613cdd565b611805565b60405161039491906142e3565b348015610a6b57600080fd5b5061035c610a7a3660046142fd565b611810565b61035c610a8d366004613f5d565b611956565b348015610a9e57600080fd5b5061035c610aad366004613b59565b611974565b348015610abe57600080fd5b5061035c610acd366004613b59565b61199d565b600f602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610b5990614344565b80601f0160208091040260200160405190810160405280929190818152602001828054610b8590614344565b8015610bd25780601f10610ba757610100808354040283529160200191610bd2565b820191906000526020600020905b815481529060010190602001808311610bb557829003601f168201915b50505050508152505090508a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff1801e61000000000000000000000000000000000000000000000000000000001480610c7357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33610c83816119dc565b600d80546001600160a01b0319166001600160a01b0384169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906020015b60405180910390a15050565b610ce1611aa7565b610ce9611af0565b610cf4838383611b2c565b505050565b33610d03816119dc565b60048290556040518281527f08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab90602001610ccd565b6000818152600f6020526040812080548314610d6f5760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6001600882015460ff166004811115610d8a57610d8a613b72565b14610dab576040516344980d8f60e01b815260048101849052602401610d66565b610db9818260020154611e63565b6003015492915050565b610dcc33611e9e565b565b6000610dd8611aa7565b610de0611af0565b610dea8383611fef565b9392505050565b33610dfb816119dc565b60095460408051918252602082018490527f056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b910160405180910390a150600955565b6000610e47612341565b60006002600b54610100900460ff166003811115610e6757610e67613b72565b1480610e8e57506001600b54610100900460ff166003811115610e8c57610e8c613b72565b145b15610e9a575081610ea7565b610ea48484612385565b90505b8060086000828254610eb9919061438e565b9091555050604080516001600160a01b0386168152602081018590529081018290527f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19060600160405180910390a19392505050565b6000808490506000610f35629896806080600354901b610f2f91906143b7565b83612649565b905060806f8000000000000000000000000000000060035462989680610f5b919061438e565b610f6984600160801b61438e565b610f7662989680896143d9565b610f8091906143d9565b610f8a91906143b7565b610f9488856143d9565b610f9e91906143f0565b610fa891906143f0565b901c9695505050505050565b6000610c73826126f2565b60008060025411610ffc576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61100582612712565b1561102357604051630efd728560e21b815260040160405180910390fd5b60025460009061103c84680100000000000000006143d9565b61104691906143b7565b629896806004546801000000000000000061106191906143d9565b61106b91906143b7565b611075919061438e565b9050604061108260085490565b600354611092906298968061438e565b6298968060406110a286806143d9565b901c629896806080600554901b6110b991906143b7565b6110c391906143b7565b6110cd91906143d9565b6110d791906143b7565b6110e191906143d9565b901c915060095482116110f657600954610dea565b50919050565b611104612341565b61110d81611e9e565b50565b3361111a816119dc565b60038290556040518281527f592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f290602001610ccd565b6000611159612341565b61116283612739565b61117f57604051630b72d6b160e31b815260040160405180910390fd5b60006002600b54610100900460ff16600381111561119f5761119f613b72565b036111ad57825b905061120a565b6001600b54610100900460ff1660038111156111cb576111cb613b72565b036111da576111a684846127e1565b6003600b54610100900460ff1660038111156111f8576111f8613b72565b0361120a576112078484612947565b90505b600d5460405163011de97360e61b81526001600160a01b038681166004830152306024830152600092169063477a5cc090604401602060405180830381865afa15801561125b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127f9190614403565b9050801561129f57816008600082825461129991906143f0565b90915550505b604080516001600160a01b0387168152602081018690529081018390527f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a9060600160405180910390a1509392505050565b336112fb81612739565b61131857604051630b72d6b160e31b815260040160405180910390fd5b600d546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015230602483015290911690630d4a8b4990604401600060405180830381600087803b15801561137e57600080fd5b505af1158015611392573d6000803e3d6000fd5b5050600d54604051637817ee4f60e01b81526001600160a01b0385811660048301523060248301529091169250637817ee4f9150604401602060405180830381865afa1580156113e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061140a9190614420565b6008600082825461141b91906143f0565b909155505050565b6000818152600f60205260408120600281015482908190611445908490612b8e565b91509150816000148015611457575080155b1561146457826003015491505b60006114738460010154610fbf565b9092101595945050505050565b6011602052816000526040600020818154811061149c57600080fd5b90600052602060002001600091509150505481565b6000600354629896806114c4919061438e565b6114d162989680846143d9565b610c7391906143b7565b6040805180820190915260008152606060208201526000600f6000848152602001908152602001600020905080600a016040518060400160405290816000820154815260200160018201805461153090614344565b80601f016020809104026020016040519081016040528092919081815260200182805461155c90614344565b80156115a95780601f1061157e576101008083540402835291602001916115a9565b820191906000526020600020905b81548152906001019060200180831161158c57829003601f168201915b505050505081525050915050919050565b600d60009054906101000a90046001600160a01b03166001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561160d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116319190614439565b6001600160a01b031633036116695761164981612be6565b600e80546001600160a01b0383166001600160a01b031990911617905550565b6040517fe860ec7e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606060405163d623472560e01b815260040160405180910390fd5b61110d81612c26565b6000806000806000806000806000806000600f60008d815260200190815260200160002090508060010154600014611703576116fe8160010154610fbf565b611706565b60005b92508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548a896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000828152600f602090815260408083206001600160a01b0385168452600901909152812054610dea565b60405163d623472560e01b815260040160405180910390fd5b6000610c7382612c67565b61181982612c87565b60008180602001905181019061182f91906144c6565b80519091506001600160a01b031661185a57604051635df4b1ef60e01b815260040160405180910390fd5b8051600d80546001600160a01b0319166001600160a01b0390921691909117905560208101516003556040810151600455606081015160055560a0810151600b805460ff191660018360028111156118b4576118b4613b72565b021790555060c0810151600b805461ff0019166101008360038111156118dc576118dc613b72565b021790555060e081015151600c556080810151600955610100810151600e80546001600160a01b0319166001600160a01b039092169190911790556040517f4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e04906119499085908490614561565b60405180910390a1505050565b61195e611aa7565b611966611af0565b6119708282612d08565b5050565b61197c611aa7565b806002600082825461198e91906143f0565b9091555061110d905081612e17565b336119a7816119dc565b60058290556040518281527f30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb4990602001610ccd565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611a66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a8a9190614403565b61110d5760405163075fd2b160e01b815260040160405180910390fd5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dcc5760405163075fd2b160e01b815260040160405180910390fd5b600154600003610dcc576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000825111611b67576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082806020019051810190611b7d9190614420565b905080600003611bb9576040517ff881a10d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152600f602052604090206001600b5460ff166002811115611be057611be0613b72565b03611e5c5780548214611c095760405163c1d17bef60e01b815260048101839052602401610d66565b60025481600101541115611c615760018101546002546040517f5863b0b60000000000000000000000000000000000000000000000000000000081526004810185905260248101929092526044820152606401610d66565b6001600882015460ff166004811115611c7c57611c7c613b72565b14611c9d576040516344980d8f60e01b815260048101839052602401610d66565b6000611ca883610d38565b90506000611cb98360010154610fbf565b90508082108015611cce575060008360010154115b15611d05576040517fcce7930800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d91611d729160040190815260200190565b600060405180830381865afa158015611d8f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611db79190810190614681565b9050836001015460026000828254611dcf919061438e565b9091555050604081015160048501546001860154611df792916001600160a01b031690612e47565b60088401805460ff191660049081179091558401546001850154604080518881526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a15050505b5050505050565b600080611e708484612b8e565b91509150816000148015611e82575080155b15611e8d5750505050565b600784015560039092019190915550565b600d54604051637817ee4f60e01b81526001600160a01b03838116600483015230602483015290911690637817ee4f90604401602060405180830381865afa158015611eee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f129190614420565b60086000828254611f23919061438e565b9091555050600d546040517f22bcf9990000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152909116906322bcf99990604401600060405180830381600087803b158015611f8e57600080fd5b505af1158015611fa2573d6000803e3d6000fd5b50505050611faf81612e8c565b6040516001600160a01b03821681527f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b906020015b60405180910390a150565b6000611ffa82612739565b61201757604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061202d9190614735565b805190915060000361206b576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600b5460ff16600281111561208457612084613b72565b03612234576120968160200151612be6565b60608101516001600160a01b03166120da576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561211a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061213e9190614439565b6001600160a01b031663068bcd8d6001546040518263ffffffff1660e01b815260040161216d91815260200190565b600060405180830381865afa15801561218a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121b29190810190614681565b604001519050806001600160a01b031682606001516001600160a01b031614612207576040517fa29c498600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122148260400151612712565b1561223257604051630efd728560e21b815260040160405180910390fd5b505b6000600660008154612245906147dc565b91829055506000818152600f602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b8401906122f99082614843565b505060015460408051918252602082018590527ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b92500160405180910390a150949350505050565b600d546001600160a01b03163314610dcc576040517faf0916a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d54604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa1580156123d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123f99190614439565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612452575060408051601f3d908101601f1916820190925261244f91810190614903565b60015b612499576124946040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250612fb7565b61249f565b60ff1690505b6124de6040518060400160405280601081526020017f5f616d6f756e74546f556e7374616b650000000000000000000000000000000081525084613028565b600d546040516316308e2560e11b81526001600160a01b0386811660048301526000928692911690632c611c4a90602401602060405180830381865afa15801561252c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125509190614420565b61255a919061438e565b905061259b6040518060400160405280600d81526020017f6e6577546f74616c5374616b650000000000000000000000000000000000000081525082613028565b60006125ba6125ab84600a614a0a565b6125b590846143d9565b61309b565b600d54604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009284921690637817ee4f90604401602060405180830381865afa158015612610573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126349190614420565b61263e919061438e565b979650505050505050565b6000600160801b831061269e5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610d66565b50600160801b82825b80156126ea57806001166000036126cc576126c28283613183565b915060011c6126a7565b6126d68383613183565b92506126e360018261438e565b90506126a7565b505092915050565b60006001600160a01b0382161561270a576001610c73565b600092915050565b600061272162989680836143d9565b60025460045461273191906143d9565b111592915050565b600e546000906001600160a01b031661275457506001919050565b600e546040517f42a987a00000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152306024830152909116906342a987a090604401602060405180830381865afa1580156127bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c739190614403565b6000808290506128266040518060400160405280601281526020017f504f494e545320544f20494e435245415345000000000000000000000000000081525082613028565b600d54604051637817ee4f60e01b81526001600160a01b0386811660048301523060248301526000921690637817ee4f90604401602060405180830381865afa158015612877573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061289b9190614420565b90506128dc6040518060400160405280600b81526020017f4d454d424552504f57455200000000000000000000000000000000000000000081525082613028565b600c546128e983836143f0565b111561290057600c546128fd90829061438e565b91505b61293f6040518060400160405280601681526020017f504f494e545320544f20494e43524541534520454e440000000000000000000081525083613028565b509392505050565b600d546040516316308e2560e11b81526001600160a01b0384811660048301526000928392859290911690632c611c4a90602401602060405180830381865afa158015612998573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129bc9190614420565b6129c691906143f0565b600d54604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa158015612a16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a3a9190614439565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612a93575060408051601f3d908101601f19168201909252612a9091810190614903565b60015b612ada57612ad56040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250612fb7565b612ae0565b60ff1690505b6000612afa612af083600a614a0a565b6125b590856143d9565b600d54604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa158015612b50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b749190614420565b90506000612b82828461438e565b98975050505050505050565b6000804390508084600701541115612ba857612ba8614a16565b80846007015403612bbe57506000905080612bdf565b612bdc846007015482612bd1919061438e565b856003015485610f0f565b91505b9250929050565b6001600160a01b03811661110d576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001611fe4565b60006001600160a01b03821615612c7f576002610c73565b600392915050565b612c8f611aa7565b60015415612cc9576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003612d03576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b612d1181613282565b612d1a81612739565b612d3757604051630b72d6b160e31b815260040160405180910390fd5b600d5460405163011de97360e61b81526001600160a01b038381166004830152306024830152600092169063477a5cc090604401602060405180830381865afa158015612d88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dac9190614403565b905080612de5576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083806020019051810190612dfb9190614a2c565b9050612e0783826133a8565b612e11838261356b565b50505050565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001611fe4565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601612e8157610cf4828261398f565b610cf48383836139ab565b6001600160a01b038116600090815260116020908152604080832080548251818502810185019093528083529192909190830182828015612eec57602002820191906000526020600020905b815481526020019060010190808311612ed8575b5050505050905060005b8151811015610cf4576000828281518110612f1357612f13614ad7565b602002602001015190506000600f60008381526020019081526020016000209050612f3d826139fa565b15612fa2576001600160a01b0385166000908152600982016020526040812080549082905560028301805491928392612f7790849061438e565b925050819055508060076000828254612f90919061438e565b90915550612fa090508282611e63565b505b50508080612faf906147dc565b915050612ef6565b61110d81604051602401612fcb9190614aed565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052613a33565b611970828260405160240161303e929190614b00565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052613a33565b6000816000036130ad57506000919050565b600060016130ba84613a54565b901c6001901b905060018184816130d3576130d36143a1565b048201901c905060018184816130eb576130eb6143a1565b048201901c90506001818481613103576131036143a1565b048201901c9050600181848161311b5761311b6143a1565b048201901c90506001818481613133576131336143a1565b048201901c9050600181848161314b5761314b6143a1565b048201901c90506001818481613163576131636143a1565b048201901c9050610dea8182858161317d5761317d6143a1565b04613ae8565b6000600160801b8311156131ff5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610d66565b600160801b82106132525760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610d66565b60806f8000000000000000000000000000000061326f84866143d9565b61327991906143f0565b901c9392505050565b6001600160a01b0381166132c2576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d546001600160a01b03166132eb57604051635df4b1ef60e01b815260040160405180910390fd5b600d546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063a230c52490602401602060405180830381865afa15801561334e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133729190614403565b61110d576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b8251811015613465578281815181106133c7576133c7614ad7565b602002602001015160000151600003156134535760008382815181106133ef576133ef614ad7565b6020026020010151600001519050613406816139fa565b6134265760405163c1d17bef60e01b815260048101829052602401610d66565b83828151811061343857613438614ad7565b6020026020010151602001518361344f9190614b22565b9250505b8061345d816147dc565b9150506133ac565b506001600160a01b0383166000908152601060205260408120546134899083613afe565b600d54604051637817ee4f60e01b81526001600160a01b03878116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa1580156134df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135039190614420565b905080821115613549576040517fd64182fe0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610d66565b506001600160a01b039093166000908152601060205260409020929092555050565b606060005b8251811015612e1157600083828151811061358d5761358d614ad7565b602002602001015160000151905082516000036135e957604080516001808252818301909252906020808301908036833701905050925080836000815181106135d8576135d8614ad7565b60200260200101818152505061373c565b6000805b8451811015613668578285828151811061360957613609614ad7565b602002602001015103613656576040517fadebb154000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260019250604401610d66565b80613660816147dc565b9150506135ed565b508061373a5760008451600161367e91906143f0565b67ffffffffffffffff81111561369657613696613cfa565b6040519080825280602002602001820160405280156136bf578160200160208202803683370190505b50905060005b8551811015613717578581815181106136e0576136e0614ad7565b60200260200101518282815181106136fa576136fa614ad7565b60209081029190910101528061370f816147dc565b9150506136c5565b50828186518151811061372c5761372c614ad7565b602090810291909101015293505b505b600084838151811061375057613750614ad7565b6020908102919091018101518101516000848152600f835260408082206001600160a01b038b168352600981019094528120549193506137908285613afe565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152601160205260409020548110156138295784546001600160a01b038c1660009081526011602052604090208054839081106137fe576137fe614ad7565b9060005260206000200154036138175760019150613829565b80613821816147dc565b9150506137b2565b508061385f576001600160a01b038a16600090815260116020908152604082208654815460018101835591845291909220909101555b8183116138af57613870838361438e565b6007600082825461388191906143f0565b909155506138919050838361438e565b8460020160008282546138a491906143f0565b909155506138f39050565b6138b9828461438e565b600760008282546138ca919061438e565b909155506138da9050828461438e565b8460020160008282546138ed919061438e565b90915550505b836007015460000361390a57436007850155613976565b6139148484611e63565b60028401546003850154604080516001600160a01b038e168152602081018a9052908101859052606081019290925260808201527f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9060a00160405180910390a15b5050505050508080613987906147dc565b915050613570565b60008060008084865af16119705763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d1560016000511417166139f0576390b8ec186000526004601cfd5b6000603452505050565b6000818152600f602052604081205415801590610c735750506000908152600f60205260409020600501546001600160a01b0316151590565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080608083901c15613a6957608092831c92015b604083901c15613a7b57604092831c92015b602083901c15613a8d57602092831c92015b601083901c15613a9f57601092831c92015b600883901c15613ab157600892831c92015b600483901c15613ac357600492831c92015b600283901c15613ad557600292831c92015b600183901c15610c735760010192915050565b6000818310613af75781610dea565b5090919050565b600080613b0b8385614b22565b90506000811215610dea576040517f3bbc7142000000000000000000000000000000000000000000000000000000008152600481018590526024810184905260448101829052606401610d66565b600060208284031215613b6b57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60058110613b9857613b98613b72565b9052565b60005b83811015613bb7578181015183820152602001613b9f565b50506000910152565b60008151808452613bd8816020860160208601613b9c565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152613c0b6040850182613bc0565b949350505050565b60006101408c83528b60208401528a60408401528960608401526001600160a01b03808a16608085015280891660a085015280881660c0850152508560e0840152613c62610100840186613b88565b80610120840152613c7581840185613bec565b9d9c50505050505050505050505050565b600060208284031215613c9857600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dea57600080fd5b6001600160a01b038116811461110d57600080fd5b600060208284031215613cef57600080fd5b8135610dea81613cc8565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715613d3357613d33613cfa565b60405290565b604051610120810167ffffffffffffffff81118282101715613d3357613d33613cfa565b60405160c0810167ffffffffffffffff81118282101715613d3357613d33613cfa565b60405160a0810167ffffffffffffffff81118282101715613d3357613d33613cfa565b604051601f8201601f1916810167ffffffffffffffff81118282101715613dcc57613dcc613cfa565b604052919050565b600067ffffffffffffffff821115613dee57613dee613cfa565b5060051b60200190565b600082601f830112613e0957600080fd5b81356020613e1e613e1983613dd4565b613da3565b82815260059290921b84018101918181019086841115613e3d57600080fd5b8286015b84811015613e61578035613e5481613cc8565b8352918301918301613e41565b509695505050505050565b600067ffffffffffffffff821115613e8657613e86613cfa565b50601f01601f191660200190565b600082601f830112613ea557600080fd5b8135613eb3613e1982613e6c565b818152846020838601011115613ec857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613efa57600080fd5b833567ffffffffffffffff80821115613f1257600080fd5b613f1e87838801613df8565b94506020860135915080821115613f3457600080fd5b50613f4186828701613e94565b9250506040840135613f5281613cc8565b809150509250925092565b60008060408385031215613f7057600080fd5b823567ffffffffffffffff811115613f8757600080fd5b613f9385828601613e94565b9250506020830135613fa481613cc8565b809150509250929050565b60048110613b9857613b98613b72565b60208101610c738284613faf565b60008060408385031215613fe057600080fd5b8235613feb81613cc8565b946020939093013593505050565b60008060006060848603121561400e57600080fd5b505081359360208301359350604090920135919050565b60038110613b9857613b98613b72565b60208101610c738284614025565b602081526000610dea6020830184613bec565b6000806040838503121561406957600080fd5b823567ffffffffffffffff8082111561408157600080fd5b61408d86838701613df8565b93506020915081850135818111156140a457600080fd5b8501601f810187136140b557600080fd5b80356140c3613e1982613dd4565b81815260059190911b820184019084810190898311156140e257600080fd5b8584015b8381101561411a578035868111156140fe5760008081fd5b61410c8c8983890101613e94565b8452509186019186016140e6565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b8281101561417657815180516001600160a01b03168552860151868501529284019290850190600101614148565b5091979650505050505050565b801515811461110d57600080fd5b6000602082840312156141a357600080fd5b8135610dea81614183565b6001600160a01b038b811682528a8116602083015289166040820152606081018890526080810187905261014081016141ea60a0830188613b88565b8560c08301528460e083015283610100830152826101208301529b9a5050505050505050505050565b6000806040838503121561422657600080fd5b823591506020830135613fa481613cc8565b6000602080838503121561424b57600080fd5b823567ffffffffffffffff81111561426257600080fd5b8301601f8101851361427357600080fd5b8035614281613e1982613dd4565b81815260069190911b820183019083810190878311156142a057600080fd5b928401925b8284101561263e57604084890312156142be5760008081fd5b6142c6613d10565b8435815285850135868201528252604090930192908401906142a5565b60208101600783106142f7576142f7613b72565b91905290565b6000806040838503121561431057600080fd5b82359150602083013567ffffffffffffffff81111561432e57600080fd5b61433a85828601613e94565b9150509250929050565b600181811c9082168061435857607f821691505b6020821081036110f657634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610c7357610c73614378565b634e487b7160e01b600052601260045260246000fd5b6000826143d457634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c7357610c73614378565b80820180821115610c7357610c73614378565b60006020828403121561441557600080fd5b8151610dea81614183565b60006020828403121561443257600080fd5b5051919050565b60006020828403121561444b57600080fd5b8151610dea81613cc8565b805161446181613cc8565b919050565b80516003811061446157600080fd5b80516004811061446157600080fd5b60006020828403121561449657600080fd5b6040516020810181811067ffffffffffffffff821117156144b9576144b9613cfa565b6040529151825250919050565b600061012082840312156144d957600080fd5b6144e1613d39565b6144ea83614456565b81526020830151602082015260408301516040820152606083015160608201526080830151608082015261452060a08401614466565b60a082015261453160c08401614475565b60c08201526145438460e08501614484565b60e0820152610100614556818501614456565b908201529392505050565b6000610140820190508382526001600160a01b038351166020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a08301516145b760c0840182614025565b5060c08301516145ca60e0840182613faf565b5060e08301515161010083810191909152909201516001600160a01b031661012090910152919050565b60006040828403121561460657600080fd5b61460e613d10565b905081518152602082015167ffffffffffffffff81111561462e57600080fd5b8201601f8101841361463f57600080fd5b805161464d613e1982613e6c565b81815285602083850101111561466257600080fd5b614673826020830160208601613b9c565b602084015250909392505050565b60006020828403121561469357600080fd5b815167ffffffffffffffff808211156146ab57600080fd5b9083019060c082860312156146bf57600080fd5b6146c7613d5d565b8251815260208301516146d981613cc8565b602082015260408301516146ec81613cc8565b604082015260608301518281111561470357600080fd5b61470f878286016145f4565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b60006020828403121561474757600080fd5b815167ffffffffffffffff8082111561475f57600080fd5b9083019060a0828603121561477357600080fd5b61477b613d80565b82518152602083015161478d81613cc8565b60208201526040838101519082015260608301516147aa81613cc8565b60608201526080830151828111156147c157600080fd5b6147cd878286016145f4565b60808301525095945050505050565b6000600182016147ee576147ee614378565b5060010190565b601f821115610cf457600081815260208120601f850160051c8101602086101561481c5750805b601f850160051c820191505b8181101561483b57828155600101614828565b505050505050565b815167ffffffffffffffff81111561485d5761485d613cfa565b6148718161486b8454614344565b846147f5565b602080601f8311600181146148a6576000841561488e5750858301515b600019600386901b1c1916600185901b17855561483b565b600085815260208120601f198616915b828110156148d5578886015182559484019460019091019084016148b6565b50858210156148f35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561491557600080fd5b815160ff81168114610dea57600080fd5b600181815b8085111561496157816000190482111561494757614947614378565b8085161561495457918102915b93841c939080029061492b565b509250929050565b60008261497857506001610c73565b8161498557506000610c73565b816001811461499b57600281146149a5576149c1565b6001915050610c73565b60ff8411156149b6576149b6614378565b50506001821b610c73565b5060208310610133831016604e8410600b84101617156149e4575081810a610c73565b6149ee8383614926565b8060001904821115614a0257614a02614378565b029392505050565b6000610dea8383614969565b634e487b7160e01b600052600160045260246000fd5b60006020808385031215614a3f57600080fd5b825167ffffffffffffffff811115614a5657600080fd5b8301601f81018513614a6757600080fd5b8051614a75613e1982613dd4565b81815260069190911b82018301908381019087831115614a9457600080fd5b928401925b8284101561263e5760408489031215614ab25760008081fd5b614aba613d10565b845181528585015186820152825260409093019290840190614a99565b634e487b7160e01b600052603260045260246000fd5b602081526000610dea6020830184613bc0565b604081526000614b136040830185613bc0565b90508260208301529392505050565b80820182811260008312801582168215821617156126ea576126ea61437856fea26469706673582212200b17e7b4f2b051cb4035f3996a5e04dd112e57e0a59f445a08bc566588f79c1964736f6c63430008130033","sourceMap":"2787:38005:114:-: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:114;;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:38005:114;;-1:-1:-1;;2787:38005:114;14:290:128;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:128;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:128: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:38005:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106103555760003560e01c8063782aadff116101b9578063b5f620ce116100f6578063df868ed31161009a578063edd146cc1161006c578063edd146cc14610a5f578063ef2920fc14610a7f578063f5b0dfb714610a92578063fc1711f214610ab257005b8063df868ed3146109da578063e0dd2c38146109f2578063e33add9314610a12578063eb11af9314610a3257005b8063c3292171116100d3578063c329217114610942578063c7f758a81461095f578063d1e3623214610995578063dc96ff2d146109aa57005b8063b5f620ce146108cc578063b6c61f31146108ec578063bcc5b93b1461090c57005b8063a0cf0aea1161015d578063a574cea41161013a578063a574cea41461083c578063aba9ffee14610869578063ac1ed7b91461087f578063b2b878d01461089f57005b8063a0cf0aea146107e7578063a1aab33f1461080f578063a47ff7e51461082557005b8063817b1cd211610196578063817b1cd214610771578063824ea8ed14610787578063868c57b8146107a7578063950559d7146107c757005b8063782aadff146107265780637c6570ba14610746578063814516ad1461075c57005b80632ed04b2b116102925780634d31d087116102365780636003e414116102085780636003e414146106b05780636453d9c4146106d057806369fa25c4146106f057806376365af71461071057005b80634d31d0871461062d57806354fac9191461064d57806359a5db8b146106635780635db64b991461068357005b806338fff2d01161026f57806338fff2d0146105bb578063406244d8146105d057806342fda9c7146105e55780634ab4ba421461061857005b80632ed04b2b14610554578063346db8cb14610574578063351d9f961461059457005b806311f22ae3116102f95780631ddf1e23116102d65780631ddf1e23146104e05780632bbe0cae146104f55780632cefadbb146105085780632dbd6fdd1461052857005b806311f22ae31461045957806315cc481e146104795780631aa91a9e146104c057005b80630a6f0ee9116103325780630a6f0ee9146103ed5780630ba959091461040d5780630c0512e91461042c5780630f529ba21461044257005b8063013cf08b1461035e57806301ffc9a71461039d578063058aca44146103cd57005b3661035c57005b005b34801561036a57600080fd5b5061037e610379366004613b59565b610ad2565b6040516103949a99989796959493929190613c13565b60405180910390f35b3480156103a957600080fd5b506103bd6103b8366004613c86565b610be0565b6040519015158152602001610394565b3480156103d957600080fd5b5061035c6103e8366004613cdd565b610c79565b3480156103f957600080fd5b5061035c610408366004613ee5565b610cd9565b34801561041957600080fd5b50600c545b604051908152602001610394565b34801561043857600080fd5b5061041e60065481565b34801561044e57600080fd5b5061041e6298968081565b34801561046557600080fd5b5061035c610474366004613b59565b610cf9565b34801561048557600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610394565b3480156104cc57600080fd5b5061041e6104db366004613b59565b610d38565b3480156104ec57600080fd5b5061035c610dc3565b6104a8610503366004613f5d565b610dce565b34801561051457600080fd5b5061035c610523366004613b59565b610df1565b34801561053457600080fd5b50600b5461054790610100900460ff1681565b6040516103949190613fbf565b34801561056057600080fd5b5061041e61056f366004613fcd565b610e3d565b34801561058057600080fd5b5061041e61058f366004613ff9565b610f0f565b3480156105a057600080fd5b50600b546105ae9060ff1681565b6040516103949190614035565b3480156105c757600080fd5b5060015461041e565b3480156105dc57600080fd5b5061041e600a81565b3480156105f157600080fd5b507f000000000000000000000000000000000000000000000000000000000000000061041e565b34801561062457600080fd5b5060025461041e565b34801561063957600080fd5b506103bd610648366004613cdd565b610fb4565b34801561065957600080fd5b5061041e60035481565b34801561066f57600080fd5b5061041e61067e366004613b59565b610fbf565b34801561068f57600080fd5b5061041e61069e366004613cdd565b60106020526000908152604090205481565b3480156106bc57600080fd5b50600d546104a8906001600160a01b031681565b3480156106dc57600080fd5b5061035c6106eb366004613cdd565b6110fc565b3480156106fc57600080fd5b5061035c61070b366004613b59565b611110565b34801561071c57600080fd5b5061041e60045481565b34801561073257600080fd5b5061041e610741366004613fcd565b61114f565b34801561075257600080fd5b5061041e60095481565b34801561076857600080fd5b5061035c6112f1565b34801561077d57600080fd5b5061041e60075481565b34801561079357600080fd5b506103bd6107a2366004613b59565b611423565b3480156107b357600080fd5b5061041e6107c2366004613fcd565b611480565b3480156107d357600080fd5b5061041e6107e2366004613b59565b6114b1565b3480156107f357600080fd5b506104a873eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801561081b57600080fd5b5061041e60055481565b34801561083157600080fd5b50600c5461041e9081565b34801561084857600080fd5b5061085c610857366004613b59565b6114db565b6040516103949190614043565b34801561087557600080fd5b5061041e60085481565b34801561088b57600080fd5b5061035c61089a366004613cdd565b6115ba565b3480156108ab57600080fd5b506108bf6108ba366004614056565b61169b565b604051610394919061412b565b3480156108d857600080fd5b5061035c6108e7366004614191565b6116b6565b3480156108f857600080fd5b50600e546104a8906001600160a01b031681565b34801561091857600080fd5b5061041e610927366004613cdd565b6001600160a01b031660009081526010602052604090205490565b34801561094e57600080fd5b50600b54610100900460ff16610547565b34801561096b57600080fd5b5061097f61097a366004613b59565b6116bf565b6040516103949a999897969594939291906141ae565b3480156109a157600080fd5b5060085461041e565b3480156109b657600080fd5b5061041e6109c5366004613b59565b6000908152600f602052604090206002015490565b3480156109e657600080fd5b5060005460ff166103bd565b3480156109fe57600080fd5b5061041e610a0d366004614213565b6117c1565b348015610a1e57600080fd5b5061035c610a2d366004614238565b6117ec565b348015610a3e57600080fd5b50610a52610a4d366004613cdd565b611805565b60405161039491906142e3565b348015610a6b57600080fd5b5061035c610a7a3660046142fd565b611810565b61035c610a8d366004613f5d565b611956565b348015610a9e57600080fd5b5061035c610aad366004613b59565b611974565b348015610abe57600080fd5b5061035c610acd366004613b59565b61199d565b600f602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610b5990614344565b80601f0160208091040260200160405190810160405280929190818152602001828054610b8590614344565b8015610bd25780601f10610ba757610100808354040283529160200191610bd2565b820191906000526020600020905b815481529060010190602001808311610bb557829003601f168201915b50505050508152505090508a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff1801e61000000000000000000000000000000000000000000000000000000001480610c7357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33610c83816119dc565b600d80546001600160a01b0319166001600160a01b0384169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906020015b60405180910390a15050565b610ce1611aa7565b610ce9611af0565b610cf4838383611b2c565b505050565b33610d03816119dc565b60048290556040518281527f08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab90602001610ccd565b6000818152600f6020526040812080548314610d6f5760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6001600882015460ff166004811115610d8a57610d8a613b72565b14610dab576040516344980d8f60e01b815260048101849052602401610d66565b610db9818260020154611e63565b6003015492915050565b610dcc33611e9e565b565b6000610dd8611aa7565b610de0611af0565b610dea8383611fef565b9392505050565b33610dfb816119dc565b60095460408051918252602082018490527f056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b910160405180910390a150600955565b6000610e47612341565b60006002600b54610100900460ff166003811115610e6757610e67613b72565b1480610e8e57506001600b54610100900460ff166003811115610e8c57610e8c613b72565b145b15610e9a575081610ea7565b610ea48484612385565b90505b8060086000828254610eb9919061438e565b9091555050604080516001600160a01b0386168152602081018590529081018290527f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19060600160405180910390a19392505050565b6000808490506000610f35629896806080600354901b610f2f91906143b7565b83612649565b905060806f8000000000000000000000000000000060035462989680610f5b919061438e565b610f6984600160801b61438e565b610f7662989680896143d9565b610f8091906143d9565b610f8a91906143b7565b610f9488856143d9565b610f9e91906143f0565b610fa891906143f0565b901c9695505050505050565b6000610c73826126f2565b60008060025411610ffc576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61100582612712565b1561102357604051630efd728560e21b815260040160405180910390fd5b60025460009061103c84680100000000000000006143d9565b61104691906143b7565b629896806004546801000000000000000061106191906143d9565b61106b91906143b7565b611075919061438e565b9050604061108260085490565b600354611092906298968061438e565b6298968060406110a286806143d9565b901c629896806080600554901b6110b991906143b7565b6110c391906143b7565b6110cd91906143d9565b6110d791906143b7565b6110e191906143d9565b901c915060095482116110f657600954610dea565b50919050565b611104612341565b61110d81611e9e565b50565b3361111a816119dc565b60038290556040518281527f592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f290602001610ccd565b6000611159612341565b61116283612739565b61117f57604051630b72d6b160e31b815260040160405180910390fd5b60006002600b54610100900460ff16600381111561119f5761119f613b72565b036111ad57825b905061120a565b6001600b54610100900460ff1660038111156111cb576111cb613b72565b036111da576111a684846127e1565b6003600b54610100900460ff1660038111156111f8576111f8613b72565b0361120a576112078484612947565b90505b600d5460405163011de97360e61b81526001600160a01b038681166004830152306024830152600092169063477a5cc090604401602060405180830381865afa15801561125b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127f9190614403565b9050801561129f57816008600082825461129991906143f0565b90915550505b604080516001600160a01b0387168152602081018690529081018390527f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a9060600160405180910390a1509392505050565b336112fb81612739565b61131857604051630b72d6b160e31b815260040160405180910390fd5b600d546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015230602483015290911690630d4a8b4990604401600060405180830381600087803b15801561137e57600080fd5b505af1158015611392573d6000803e3d6000fd5b5050600d54604051637817ee4f60e01b81526001600160a01b0385811660048301523060248301529091169250637817ee4f9150604401602060405180830381865afa1580156113e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061140a9190614420565b6008600082825461141b91906143f0565b909155505050565b6000818152600f60205260408120600281015482908190611445908490612b8e565b91509150816000148015611457575080155b1561146457826003015491505b60006114738460010154610fbf565b9092101595945050505050565b6011602052816000526040600020818154811061149c57600080fd5b90600052602060002001600091509150505481565b6000600354629896806114c4919061438e565b6114d162989680846143d9565b610c7391906143b7565b6040805180820190915260008152606060208201526000600f6000848152602001908152602001600020905080600a016040518060400160405290816000820154815260200160018201805461153090614344565b80601f016020809104026020016040519081016040528092919081815260200182805461155c90614344565b80156115a95780601f1061157e576101008083540402835291602001916115a9565b820191906000526020600020905b81548152906001019060200180831161158c57829003601f168201915b505050505081525050915050919050565b600d60009054906101000a90046001600160a01b03166001600160a01b0316636c53db9a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561160d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116319190614439565b6001600160a01b031633036116695761164981612be6565b600e80546001600160a01b0383166001600160a01b031990911617905550565b6040517fe860ec7e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606060405163d623472560e01b815260040160405180910390fd5b61110d81612c26565b6000806000806000806000806000806000600f60008d815260200190815260200160002090508060010154600014611703576116fe8160010154610fbf565b611706565b60005b92508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548a896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000828152600f602090815260408083206001600160a01b0385168452600901909152812054610dea565b60405163d623472560e01b815260040160405180910390fd5b6000610c7382612c67565b61181982612c87565b60008180602001905181019061182f91906144c6565b80519091506001600160a01b031661185a57604051635df4b1ef60e01b815260040160405180910390fd5b8051600d80546001600160a01b0319166001600160a01b0390921691909117905560208101516003556040810151600455606081015160055560a0810151600b805460ff191660018360028111156118b4576118b4613b72565b021790555060c0810151600b805461ff0019166101008360038111156118dc576118dc613b72565b021790555060e081015151600c556080810151600955610100810151600e80546001600160a01b0319166001600160a01b039092169190911790556040517f4ebdec05fb64815e553aeaf3976ef8112dd79760a459bee3ac7d1659ab2c4e04906119499085908490614561565b60405180910390a1505050565b61195e611aa7565b611966611af0565b6119708282612d08565b5050565b61197c611aa7565b806002600082825461198e91906143f0565b9091555061110d905081612e17565b336119a7816119dc565b60058290556040518281527f30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb4990602001610ccd565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa158015611a66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a8a9190614403565b61110d5760405163075fd2b160e01b815260040160405180910390fd5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dcc5760405163075fd2b160e01b815260040160405180910390fd5b600154600003610dcc576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000825111611b67576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082806020019051810190611b7d9190614420565b905080600003611bb9576040517ff881a10d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152600f602052604090206001600b5460ff166002811115611be057611be0613b72565b03611e5c5780548214611c095760405163c1d17bef60e01b815260048101839052602401610d66565b60025481600101541115611c615760018101546002546040517f5863b0b60000000000000000000000000000000000000000000000000000000081526004810185905260248101929092526044820152606401610d66565b6001600882015460ff166004811115611c7c57611c7c613b72565b14611c9d576040516344980d8f60e01b815260048101839052602401610d66565b6000611ca883610d38565b90506000611cb98360010154610fbf565b90508082108015611cce575060008360010154115b15611d05576040517fcce7930800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d91611d729160040190815260200190565b600060405180830381865afa158015611d8f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611db79190810190614681565b9050836001015460026000828254611dcf919061438e565b9091555050604081015160048501546001860154611df792916001600160a01b031690612e47565b60088401805460ff191660049081179091558401546001850154604080518881526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a15050505b5050505050565b600080611e708484612b8e565b91509150816000148015611e82575080155b15611e8d5750505050565b600784015560039092019190915550565b600d54604051637817ee4f60e01b81526001600160a01b03838116600483015230602483015290911690637817ee4f90604401602060405180830381865afa158015611eee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f129190614420565b60086000828254611f23919061438e565b9091555050600d546040517f22bcf9990000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152909116906322bcf99990604401600060405180830381600087803b158015611f8e57600080fd5b505af1158015611fa2573d6000803e3d6000fd5b50505050611faf81612e8c565b6040516001600160a01b03821681527f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b906020015b60405180910390a150565b6000611ffa82612739565b61201757604051630b72d6b160e31b815260040160405180910390fd5b60008380602001905181019061202d9190614735565b805190915060000361206b576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600b5460ff16600281111561208457612084613b72565b03612234576120968160200151612be6565b60608101516001600160a01b03166120da576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561211a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061213e9190614439565b6001600160a01b031663068bcd8d6001546040518263ffffffff1660e01b815260040161216d91815260200190565b600060405180830381865afa15801561218a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121b29190810190614681565b604001519050806001600160a01b031682606001516001600160a01b031614612207576040517fa29c498600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6122148260400151612712565b1561223257604051630efd728560e21b815260040160405180910390fd5b505b6000600660008154612245906147dc565b91829055506000818152600f602090815260408083208481556005810180546001600160a01b038b81166001600160a01b0319928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b8401906122f99082614843565b505060015460408051918252602082018590527ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b92500160405180910390a150949350505050565b600d546001600160a01b03163314610dcc576040517faf0916a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d54604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa1580156123d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123f99190614439565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612452575060408051601f3d908101601f1916820190925261244f91810190614903565b60015b612499576124946040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250612fb7565b61249f565b60ff1690505b6124de6040518060400160405280601081526020017f5f616d6f756e74546f556e7374616b650000000000000000000000000000000081525084613028565b600d546040516316308e2560e11b81526001600160a01b0386811660048301526000928692911690632c611c4a90602401602060405180830381865afa15801561252c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125509190614420565b61255a919061438e565b905061259b6040518060400160405280600d81526020017f6e6577546f74616c5374616b650000000000000000000000000000000000000081525082613028565b60006125ba6125ab84600a614a0a565b6125b590846143d9565b61309b565b600d54604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009284921690637817ee4f90604401602060405180830381865afa158015612610573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126349190614420565b61263e919061438e565b979650505050505050565b6000600160801b831061269e5760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610d66565b50600160801b82825b80156126ea57806001166000036126cc576126c28283613183565b915060011c6126a7565b6126d68383613183565b92506126e360018261438e565b90506126a7565b505092915050565b60006001600160a01b0382161561270a576001610c73565b600092915050565b600061272162989680836143d9565b60025460045461273191906143d9565b111592915050565b600e546000906001600160a01b031661275457506001919050565b600e546040517f42a987a00000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152306024830152909116906342a987a090604401602060405180830381865afa1580156127bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c739190614403565b6000808290506128266040518060400160405280601281526020017f504f494e545320544f20494e435245415345000000000000000000000000000081525082613028565b600d54604051637817ee4f60e01b81526001600160a01b0386811660048301523060248301526000921690637817ee4f90604401602060405180830381865afa158015612877573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061289b9190614420565b90506128dc6040518060400160405280600b81526020017f4d454d424552504f57455200000000000000000000000000000000000000000081525082613028565b600c546128e983836143f0565b111561290057600c546128fd90829061438e565b91505b61293f6040518060400160405280601681526020017f504f494e545320544f20494e43524541534520454e440000000000000000000081525083613028565b509392505050565b600d546040516316308e2560e11b81526001600160a01b0384811660048301526000928392859290911690632c611c4a90602401602060405180830381865afa158015612998573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129bc9190614420565b6129c691906143f0565b600d54604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa158015612a16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a3a9190614439565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612a93575060408051601f3d908101601f19168201909252612a9091810190614903565b60015b612ada57612ad56040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250612fb7565b612ae0565b60ff1690505b6000612afa612af083600a614a0a565b6125b590856143d9565b600d54604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa158015612b50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b749190614420565b90506000612b82828461438e565b98975050505050505050565b6000804390508084600701541115612ba857612ba8614a16565b80846007015403612bbe57506000905080612bdf565b612bdc846007015482612bd1919061438e565b856003015485610f0f565b91505b9250929050565b6001600160a01b03811661110d576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001611fe4565b60006001600160a01b03821615612c7f576002610c73565b600392915050565b612c8f611aa7565b60015415612cc9576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003612d03576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b612d1181613282565b612d1a81612739565b612d3757604051630b72d6b160e31b815260040160405180910390fd5b600d5460405163011de97360e61b81526001600160a01b038381166004830152306024830152600092169063477a5cc090604401602060405180830381865afa158015612d88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dac9190614403565b905080612de5576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083806020019051810190612dfb9190614a2c565b9050612e0783826133a8565b612e11838261356b565b50505050565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001611fe4565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601612e8157610cf4828261398f565b610cf48383836139ab565b6001600160a01b038116600090815260116020908152604080832080548251818502810185019093528083529192909190830182828015612eec57602002820191906000526020600020905b815481526020019060010190808311612ed8575b5050505050905060005b8151811015610cf4576000828281518110612f1357612f13614ad7565b602002602001015190506000600f60008381526020019081526020016000209050612f3d826139fa565b15612fa2576001600160a01b0385166000908152600982016020526040812080549082905560028301805491928392612f7790849061438e565b925050819055508060076000828254612f90919061438e565b90915550612fa090508282611e63565b505b50508080612faf906147dc565b915050612ef6565b61110d81604051602401612fcb9190614aed565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052613a33565b611970828260405160240161303e929190614b00565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d000000000000000000000000000000000000000000000000000000000179052613a33565b6000816000036130ad57506000919050565b600060016130ba84613a54565b901c6001901b905060018184816130d3576130d36143a1565b048201901c905060018184816130eb576130eb6143a1565b048201901c90506001818481613103576131036143a1565b048201901c9050600181848161311b5761311b6143a1565b048201901c90506001818481613133576131336143a1565b048201901c9050600181848161314b5761314b6143a1565b048201901c90506001818481613163576131636143a1565b048201901c9050610dea8182858161317d5761317d6143a1565b04613ae8565b6000600160801b8311156131ff5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610d66565b600160801b82106132525760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610d66565b60806f8000000000000000000000000000000061326f84866143d9565b61327991906143f0565b901c9392505050565b6001600160a01b0381166132c2576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d546001600160a01b03166132eb57604051635df4b1ef60e01b815260040160405180910390fd5b600d546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063a230c52490602401602060405180830381865afa15801561334e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133729190614403565b61110d576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b8251811015613465578281815181106133c7576133c7614ad7565b602002602001015160000151600003156134535760008382815181106133ef576133ef614ad7565b6020026020010151600001519050613406816139fa565b6134265760405163c1d17bef60e01b815260048101829052602401610d66565b83828151811061343857613438614ad7565b6020026020010151602001518361344f9190614b22565b9250505b8061345d816147dc565b9150506133ac565b506001600160a01b0383166000908152601060205260408120546134899083613afe565b600d54604051637817ee4f60e01b81526001600160a01b03878116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa1580156134df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135039190614420565b905080821115613549576040517fd64182fe0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610d66565b506001600160a01b039093166000908152601060205260409020929092555050565b606060005b8251811015612e1157600083828151811061358d5761358d614ad7565b602002602001015160000151905082516000036135e957604080516001808252818301909252906020808301908036833701905050925080836000815181106135d8576135d8614ad7565b60200260200101818152505061373c565b6000805b8451811015613668578285828151811061360957613609614ad7565b602002602001015103613656576040517fadebb154000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260019250604401610d66565b80613660816147dc565b9150506135ed565b508061373a5760008451600161367e91906143f0565b67ffffffffffffffff81111561369657613696613cfa565b6040519080825280602002602001820160405280156136bf578160200160208202803683370190505b50905060005b8551811015613717578581815181106136e0576136e0614ad7565b60200260200101518282815181106136fa576136fa614ad7565b60209081029190910101528061370f816147dc565b9150506136c5565b50828186518151811061372c5761372c614ad7565b602090810291909101015293505b505b600084838151811061375057613750614ad7565b6020908102919091018101518101516000848152600f835260408082206001600160a01b038b168352600981019094528120549193506137908285613afe565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152601160205260409020548110156138295784546001600160a01b038c1660009081526011602052604090208054839081106137fe576137fe614ad7565b9060005260206000200154036138175760019150613829565b80613821816147dc565b9150506137b2565b508061385f576001600160a01b038a16600090815260116020908152604082208654815460018101835591845291909220909101555b8183116138af57613870838361438e565b6007600082825461388191906143f0565b909155506138919050838361438e565b8460020160008282546138a491906143f0565b909155506138f39050565b6138b9828461438e565b600760008282546138ca919061438e565b909155506138da9050828461438e565b8460020160008282546138ed919061438e565b90915550505b836007015460000361390a57436007850155613976565b6139148484611e63565b60028401546003850154604080516001600160a01b038e168152602081018a9052908101859052606081019290925260808201527f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9060a00160405180910390a15b5050505050508080613987906147dc565b915050613570565b60008060008084865af16119705763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d1560016000511417166139f0576390b8ec186000526004601cfd5b6000603452505050565b6000818152600f602052604081205415801590610c735750506000908152600f60205260409020600501546001600160a01b0316151590565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080608083901c15613a6957608092831c92015b604083901c15613a7b57604092831c92015b602083901c15613a8d57602092831c92015b601083901c15613a9f57601092831c92015b600883901c15613ab157600892831c92015b600483901c15613ac357600492831c92015b600283901c15613ad557600292831c92015b600183901c15610c735760010192915050565b6000818310613af75781610dea565b5090919050565b600080613b0b8385614b22565b90506000811215610dea576040517f3bbc7142000000000000000000000000000000000000000000000000000000008152600481018590526024810184905260448101829052606401610d66565b600060208284031215613b6b57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60058110613b9857613b98613b72565b9052565b60005b83811015613bb7578181015183820152602001613b9f565b50506000910152565b60008151808452613bd8816020860160208601613b9c565b601f01601f19169290920160200192915050565b805182526000602082015160406020850152613c0b6040850182613bc0565b949350505050565b60006101408c83528b60208401528a60408401528960608401526001600160a01b03808a16608085015280891660a085015280881660c0850152508560e0840152613c62610100840186613b88565b80610120840152613c7581840185613bec565b9d9c50505050505050505050505050565b600060208284031215613c9857600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610dea57600080fd5b6001600160a01b038116811461110d57600080fd5b600060208284031215613cef57600080fd5b8135610dea81613cc8565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715613d3357613d33613cfa565b60405290565b604051610120810167ffffffffffffffff81118282101715613d3357613d33613cfa565b60405160c0810167ffffffffffffffff81118282101715613d3357613d33613cfa565b60405160a0810167ffffffffffffffff81118282101715613d3357613d33613cfa565b604051601f8201601f1916810167ffffffffffffffff81118282101715613dcc57613dcc613cfa565b604052919050565b600067ffffffffffffffff821115613dee57613dee613cfa565b5060051b60200190565b600082601f830112613e0957600080fd5b81356020613e1e613e1983613dd4565b613da3565b82815260059290921b84018101918181019086841115613e3d57600080fd5b8286015b84811015613e61578035613e5481613cc8565b8352918301918301613e41565b509695505050505050565b600067ffffffffffffffff821115613e8657613e86613cfa565b50601f01601f191660200190565b600082601f830112613ea557600080fd5b8135613eb3613e1982613e6c565b818152846020838601011115613ec857600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613efa57600080fd5b833567ffffffffffffffff80821115613f1257600080fd5b613f1e87838801613df8565b94506020860135915080821115613f3457600080fd5b50613f4186828701613e94565b9250506040840135613f5281613cc8565b809150509250925092565b60008060408385031215613f7057600080fd5b823567ffffffffffffffff811115613f8757600080fd5b613f9385828601613e94565b9250506020830135613fa481613cc8565b809150509250929050565b60048110613b9857613b98613b72565b60208101610c738284613faf565b60008060408385031215613fe057600080fd5b8235613feb81613cc8565b946020939093013593505050565b60008060006060848603121561400e57600080fd5b505081359360208301359350604090920135919050565b60038110613b9857613b98613b72565b60208101610c738284614025565b602081526000610dea6020830184613bec565b6000806040838503121561406957600080fd5b823567ffffffffffffffff8082111561408157600080fd5b61408d86838701613df8565b93506020915081850135818111156140a457600080fd5b8501601f810187136140b557600080fd5b80356140c3613e1982613dd4565b81815260059190911b820184019084810190898311156140e257600080fd5b8584015b8381101561411a578035868111156140fe5760008081fd5b61410c8c8983890101613e94565b8452509186019186016140e6565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b8281101561417657815180516001600160a01b03168552860151868501529284019290850190600101614148565b5091979650505050505050565b801515811461110d57600080fd5b6000602082840312156141a357600080fd5b8135610dea81614183565b6001600160a01b038b811682528a8116602083015289166040820152606081018890526080810187905261014081016141ea60a0830188613b88565b8560c08301528460e083015283610100830152826101208301529b9a5050505050505050505050565b6000806040838503121561422657600080fd5b823591506020830135613fa481613cc8565b6000602080838503121561424b57600080fd5b823567ffffffffffffffff81111561426257600080fd5b8301601f8101851361427357600080fd5b8035614281613e1982613dd4565b81815260069190911b820183019083810190878311156142a057600080fd5b928401925b8284101561263e57604084890312156142be5760008081fd5b6142c6613d10565b8435815285850135868201528252604090930192908401906142a5565b60208101600783106142f7576142f7613b72565b91905290565b6000806040838503121561431057600080fd5b82359150602083013567ffffffffffffffff81111561432e57600080fd5b61433a85828601613e94565b9150509250929050565b600181811c9082168061435857607f821691505b6020821081036110f657634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610c7357610c73614378565b634e487b7160e01b600052601260045260246000fd5b6000826143d457634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c7357610c73614378565b80820180821115610c7357610c73614378565b60006020828403121561441557600080fd5b8151610dea81614183565b60006020828403121561443257600080fd5b5051919050565b60006020828403121561444b57600080fd5b8151610dea81613cc8565b805161446181613cc8565b919050565b80516003811061446157600080fd5b80516004811061446157600080fd5b60006020828403121561449657600080fd5b6040516020810181811067ffffffffffffffff821117156144b9576144b9613cfa565b6040529151825250919050565b600061012082840312156144d957600080fd5b6144e1613d39565b6144ea83614456565b81526020830151602082015260408301516040820152606083015160608201526080830151608082015261452060a08401614466565b60a082015261453160c08401614475565b60c08201526145438460e08501614484565b60e0820152610100614556818501614456565b908201529392505050565b6000610140820190508382526001600160a01b038351166020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a08301516145b760c0840182614025565b5060c08301516145ca60e0840182613faf565b5060e08301515161010083810191909152909201516001600160a01b031661012090910152919050565b60006040828403121561460657600080fd5b61460e613d10565b905081518152602082015167ffffffffffffffff81111561462e57600080fd5b8201601f8101841361463f57600080fd5b805161464d613e1982613e6c565b81815285602083850101111561466257600080fd5b614673826020830160208601613b9c565b602084015250909392505050565b60006020828403121561469357600080fd5b815167ffffffffffffffff808211156146ab57600080fd5b9083019060c082860312156146bf57600080fd5b6146c7613d5d565b8251815260208301516146d981613cc8565b602082015260408301516146ec81613cc8565b604082015260608301518281111561470357600080fd5b61470f878286016145f4565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b60006020828403121561474757600080fd5b815167ffffffffffffffff8082111561475f57600080fd5b9083019060a0828603121561477357600080fd5b61477b613d80565b82518152602083015161478d81613cc8565b60208201526040838101519082015260608301516147aa81613cc8565b60608201526080830151828111156147c157600080fd5b6147cd878286016145f4565b60808301525095945050505050565b6000600182016147ee576147ee614378565b5060010190565b601f821115610cf457600081815260208120601f850160051c8101602086101561481c5750805b601f850160051c820191505b8181101561483b57828155600101614828565b505050505050565b815167ffffffffffffffff81111561485d5761485d613cfa565b6148718161486b8454614344565b846147f5565b602080601f8311600181146148a6576000841561488e5750858301515b600019600386901b1c1916600185901b17855561483b565b600085815260208120601f198616915b828110156148d5578886015182559484019460019091019084016148b6565b50858210156148f35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561491557600080fd5b815160ff81168114610dea57600080fd5b600181815b8085111561496157816000190482111561494757614947614378565b8085161561495457918102915b93841c939080029061492b565b509250929050565b60008261497857506001610c73565b8161498557506000610c73565b816001811461499b57600281146149a5576149c1565b6001915050610c73565b60ff8411156149b6576149b6614378565b50506001821b610c73565b5060208310610133831016604e8410600b84101617156149e4575081810a610c73565b6149ee8383614926565b8060001904821115614a0257614a02614378565b029392505050565b6000610dea8383614969565b634e487b7160e01b600052600160045260246000fd5b60006020808385031215614a3f57600080fd5b825167ffffffffffffffff811115614a5657600080fd5b8301601f81018513614a6757600080fd5b8051614a75613e1982613dd4565b81815260069190911b82018301908381019087831115614a9457600080fd5b928401925b8284101561263e5760408489031215614ab25760008081fd5b614aba613d10565b845181528585015186820152825260409093019290840190614a99565b634e487b7160e01b600052603260045260246000fd5b602081526000610dea6020830184613bc0565b604081526000614b136040830185613bc0565b90508260208301529392505050565b80820182811260008312801582168215821617156126ea576126ea61437856fea26469706673582212200b17e7b4f2b051cb4035f3996a5e04dd112e57e0a59f445a08bc566588f79c1964736f6c63430008130033","sourceMap":"2787:38005:114:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7096:60;;;;;;;;;;-1:-1:-1;7096:60:114;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;8973:202;;;;;;;;;;-1:-1:-1;8973:202:114;;;;;:::i;:::-;;:::i;:::-;;;3023:14:128;;3016:22;2998:41;;2986:2;2971:18;8973:202:114;2858:187:128;40152:219:114;;;;;;;;;;-1:-1:-1;40152:219:114;;;;;:::i;:::-;;:::i;10705:325:11:-;;;;;;;;;;-1:-1:-1;10705:325:11;;;;;:::i;:::-;;:::i;17722:99:114:-;;;;;;;;;;-1:-1:-1;17793:11:114;:21;17722:99;;;7406:25:128;;;7394:2;7379:18;17722:99:114;7260:177:128;6385:34:114;;;;;;;;;;;;;;;;5837:36;;;;;;;;;;;;5865:8;5837:36;;39842:155;;;;;;;;;;-1:-1:-1;39842:155:114;;;;;:::i;:::-;;:::i;6785:86:11:-;;;;;;;;;;-1:-1:-1;6860:4:11;6785:86;;;-1:-1:-1;;;;;7620:55:128;;;7602:74;;7590:2;7575:18;6785:86:11;7442:240:128;39043:520:114;;;;;;;;;;-1:-1:-1;39043:520:114;;;;;:::i;:::-;;:::i;13000:81::-;;;;;;;;;;;;;:::i;9429:344:11:-;;;;;;:::i;:::-;;:::i;40377:237:114:-;;;;;;;;;;-1:-1:-1;40377:237:114;;;;;:::i;:::-;;:::i;6815:45::-;;;;;;;;;;-1:-1:-1;6815:45:114;;;;;;;;;;;;;;;;;;:::i;14596:681::-;;;;;;;;;;-1:-1:-1;14596:681:114;;;;;:::i;:::-;;:::i;33201:1145::-;;;;;;;;;;-1:-1:-1;33201:1145:114;;;;;:::i;:::-;;:::i;6709:47::-;;;;;;;;;;-1:-1:-1;6709:47:114;;;;;;;;;;;;;;;:::i;6953:92:11:-;;;;;;;;;;-1:-1:-1;7032:6:11;;6953:92;;6126:49:114;;;;;;;;;;;;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:114:-;;;;;;;;;;;;;;;;34927:1482;;;;;;;;;;-1:-1:-1;34927:1482:114;;;;;:::i;:::-;;:::i;7212:53::-;;;;;;;;;;-1:-1:-1;7212:53:114;;;;;:::i;:::-;;;;;;;;;;;;;;6950:42;;;;;;;;;;-1:-1:-1;6950:42:114;;;;-1:-1:-1;;;;;6950:42:114;;;13087:128;;;;;;;;;;-1:-1:-1;13087:128:114;;;;;:::i;:::-;;:::i;39699:137::-;;;;;;;;;;-1:-1:-1;39699:137:114;;;;;:::i;:::-;;:::i;6329:23::-;;;;;;;;;;;;;;;;13578:1012;;;;;;;;;;-1:-1:-1;13578:1012:114;;;;;:::i;:::-;;:::i;6498:38::-;;;;;;;;;;;;;;;;12643:351;;;;;;;;;;;;;:::i;6425:26::-;;;;;;;;;;;;;;;;21047:735;;;;;;;;;;-1:-1:-1;21047:735:114;;;;;:::i;:::-;;:::i;7303:57::-;;;;;;;;;;-1:-1:-1;7303:57:114;;;;;:::i;:::-;;:::i;39569:124::-;;;;;;;;;;-1:-1:-1;39569:124:114;;;;;:::i;:::-;;:::i;4412:75:9:-;;;;;;;;;;;;4445:42;4412:75;;6358:21:114;;;;;;;;;;;;;;;;6866:51;;;;;;;;;;-1:-1:-1;6866:51:114;;;;;;25831:198;;;;;;;;;;-1:-1:-1;25831:198:114;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;6457:35::-;;;;;;;;;;;;;;;;40620:170;;;;;;;;;;-1:-1:-1;40620:170:114;;;;;:::i;:::-;;:::i;22421:288::-;;;;;;;;;;-1:-1:-1;22421:288:114;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;23404:86::-;;;;;;;;;;-1:-1:-1;23404:86:114;;;;;:::i;:::-;;:::i;6998:31::-;;;;;;;;;;-1:-1:-1;6998:31:114;;;;-1:-1:-1;;;;;6998:31:114;;;26626:127;;;;;;;;;;-1:-1:-1;26626:127:114;;;;;:::i;:::-;-1:-1:-1;;;;;26720:26:114;26694:7;26720:26;;;:18;:26;;;;;;;26626:127;17827:110;;;;;;;;;;-1:-1:-1;17919:11:114;;;;;;;17827:110;;24787:1038;;;;;;;;;;-1:-1:-1;24787:1038:114;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::i;37614:112::-;;;;;;;;;;-1:-1:-1;37699:20:114;;37614:112;;26412:145;;;;;;;;;;-1:-1:-1;26412:145:114;;;;;:::i;:::-;26489:7;26515:22;;;:9;:22;;;;;:35;;;;26412:145;7566:101:11;;;;;;;;;;-1:-1:-1;7622:4:11;14479:10;;;7566:101;;26230:176:114;;;;;;;;;;-1:-1:-1;26230:176:114;;;;;:::i;:::-;;:::i;18053:226::-;;;;;;;;;;-1:-1:-1;18053:226:114;;;;;:::i;:::-;;:::i;7823:146:11:-;;;;;;;;;;-1:-1:-1;7823:146:11;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;7832:740:114:-;;;;;;;;;;-1:-1:-1;7832:740:114;;;;;:::i;:::-;;:::i;10092:220:11:-;;;;;;:::i;:::-;;:::i;8816:197::-;;;;;;;;;;-1:-1:-1;8816:197:11;;;;;:::i;:::-;;:::i;40003:143:114:-;;;;;;;;;;-1:-1:-1;40003:143:114;;;;;:::i;:::-;;:::i;7096:60::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7096:60:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8973:202::-;9058:4;9081:47;;;9096:32;9081:47;;:87;;-1:-1:-1;952:25:82;937:40;;;;9132:36:114;9074:94;8973:202;-1:-1:-1;;8973:202:114:o;40152:219::-;40235:10;5954:30:11;5976:7;5954:21;:30::i;:::-;40257:17:114::1;:57:::0;;-1:-1:-1;;;;;;40257:57:114::1;-1:-1:-1::0;;;;;40257:57:114;::::1;::::0;;::::1;::::0;;;40329:35:::1;::::0;7602:74:128;;;40329:35:114::1;::::0;7590:2:128;7575:18;40329:35:114::1;;;;;;;;40152: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;39842:155:114:-;39907:10;5954:30:11;5976:7;5954:21;:30::i;:::-;39929:8:114::1;:20:::0;;;39964:26:::1;::::0;7406:25:128;;;39964:26:114::1;::::0;7394:2:128;7379:18;39964:26:114::1;7260:177:128::0;39043:520:114;39113:7;39175:21;;;:9;:21;;;;;39211:19;;:33;;39207:100;;39267:29;;-1:-1:-1;;;39267:29:114;;;;;7406:25:128;;;7379:18;;39267:29:114;;;;;;;;39207:100;39348:36;39321:23;;;;;;:63;;;;;;;;:::i;:::-;;39317:130;;39407:29;;-1:-1:-1;;;39407:29:114;;;;;7406:25:128;;;7379:18;;39407:29:114;7260:177:128;39317:130:114;39457:59;39484:8;39494;:21;;;39457:26;:59::i;:::-;39533:23;;;;39043:520;-1:-1:-1;;39043:520:114: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;40377:237:114:-;40462:10;5954:30:11;5976:7;5954:21;:30::i;:::-;40515:19:114::1;::::0;40489:67:::1;::::0;;17037:25:128;;;17093:2;17078:18;;17071:34;;;40489:67:114::1;::::0;17010:18:128;40489:67:114::1;;;;;;;-1:-1:-1::0;40566:19:114::1;:41:::0;40377: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:114;14875:11;;;;;;;:48;;;;;;;;:::i;:::-;;14820:103;14816:298;;;-1:-1:-1;14987:16:114;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:114;;;-1:-1:-1;;;;;17658:55:128;;17640:74;;17745:2;17730:18;;17723:34;;;17773:18;;;17766:34;;;15178:59:114;;17628:2:128;17613:18;15178:59:114;;;;;;;15254:16;14596:681;-1:-1:-1;;;14596:681:114:o;33201:1145::-;33335:7;33358:9;33370:11;33358:23;;33696:17;33716:27;5865:8;33731:3;33722:5;;:12;;33721:18;;;;:::i;:::-;33741:1;33716:4;:27::i;:::-;33696:47;;34336:3;6008:34;34313:5;;5865:8;34309:9;;;;:::i;:::-;34284:19;34294:9;-1:-1:-1;;;34284:19:114;:::i;:::-;34266:14;5865:8;34266:10;:14;:::i;:::-;:38;;;;:::i;:::-;34265:54;;;;:::i;:::-;34239:21;34251:9;34239;:21;:::i;:::-;34238:82;;;;:::i;:::-;34237:94;;;;:::i;:::-;34236:103;;;33201:1145;-1:-1:-1;;;;;;33201:1145:114:o;12395:145:11:-;12481:4;12504:29;12522:10;12504:17;:29::i;34927:1482:114:-;35002:18;35170:1;35156:10;;:15;35152:66;;35194:13;;;;;;;;;;;;;;35152:66;35658:33;35674:16;35658:15;:33::i;:::-;35654:91;;;35714:20;;-1:-1:-1;;;35714:20:114;;;;;;;;;;;35654:91;35967:10;;35893:13;;35937:26;:16;35956:7;35937:26;:::i;:::-;35936:41;;;;:::i;:::-;5865:8;35910;;35921:7;35910:18;;;;:::i;:::-;35909:24;;;;:::i;:::-;:68;;;;:::i;:::-;35893:84;;36130:2;36088:28;37699:20;;;37614:112;36088:28;36078:5;;36074:9;;5865:8;36074:9;:::i;:::-;5865:8;36061:2;36043:13;36051:5;;36043:13;:::i;:::-;36042:21;;5865:8;36029:3;36019:6;;:13;;36018:19;;;;:::i;:::-;36017:47;;;;:::i;:::-;36016:53;;;;:::i;:::-;36015:69;;;;:::i;:::-;36014:102;;;;:::i;:::-;36000:132;;35987:145;;36348:19;;36335:10;:32;:67;;36383:19;;36335:67;;;-1:-1:-1;36370:10:114;36322:80;-1:-1:-1;34927:1482:114:o;13087:128::-;13149:23;:21;:23::i;:::-;13182:26;13200:7;13182:17;:26::i;:::-;13087:128;:::o;39699:137::-;39758:10;5954:30:11;5976:7;5954:21;:30::i;:::-;39780:5:114::1;:14:::0;;;39809:20:::1;::::0;7406:25:128;;;39809:20:114::1;::::0;7394:2:128;7379:18;39809:20:114::1;7260:177:128::0;13578:1012:114;13660:7;13679:23;:21;:23::i;:::-;13717:26;13735:7;13717:17;:26::i;:::-;13712:90;;13766:25;;-1:-1:-1;;;13766:25:114;;;;;;;;;;;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:114;;-1:-1:-1;;;;;18835:15:128;;;14318:69:114;;;18817:34:128;14381:4:114;18867:18:128;;;18860:43;14299:16:114;;14318:17;;:45;;18729:18:128;;14318:69:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14299:88;;14401:11;14397:82;;;14452:16;14428:20;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;14397:82:114;14493:57;;;-1:-1:-1;;;;;17658:55:128;;17640:74;;17745:2;17730:18;;17723:34;;;17773:18;;;17766:34;;;14493:57:114;;17628:2:128;17613:18;14493:57:114;;;;;;;-1:-1:-1;14567:16:114;13578:1012;-1:-1:-1;;;13578:1012:114:o;12643:351::-;12705:10;12730:25;12705:10;12730:17;:25::i;:::-;12725:89;;12778:25;;-1:-1:-1;;;12778:25:114;;;;;;;;;;;12725:89;12823:17;;:65;;;;;-1:-1:-1;;;;;18835:15:128;;;12823:65:114;;;18817:34:128;12882:4:114;18867:18:128;;;18860:43;12823:17:114;;;;:42;;18729:18:128;;12823:65:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12922:17:114;;:65;;-1:-1:-1;;;12922:65:114;;-1:-1:-1;;;;;18835:15:128;;;12922:65:114;;;18817:34:128;12981:4:114;18867:18:128;;;18860:43;12922:17:114;;;;-1:-1:-1;12922:42:114;;-1:-1:-1;18729:18:128;;12922:65:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12898:20;;:89;;;;;;;:::i;:::-;;;;-1:-1:-1;;;12643:351:114: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:114;;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:114:o;7303:57::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;39569:124::-;39632:7;39679:5;;5865:8;39675:9;;;;:::i;:::-;39660:10;5865:8;39660:6;:10;:::i;:::-;39659:26;;;;:::i;25831:198::-;-1:-1:-1;;;;;;;;;;;;;;;;;25923:40:114;25966:9;:22;25976:11;25966:22;;;;;;;;;;;25923:65;;26005:8;:17;;25998:24;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25831:198;;;:::o;40620:170::-;7462:17;;;;;;;;;-1:-1:-1;;;;;7462:17:114;-1:-1:-1;;;;;7462:29:114;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7440:54:114;:10;:54;7436:141;;40701:32:::1;40720:12;40701:18;:32::i;:::-;40743:11;:40:::0;;-1:-1:-1;;;;;40743:40:114;::::1;-1:-1:-1::0;;;;;;40743:40:114;;::::1;;::::0;;13087:128;:::o;7436:141::-;7549:17;;;;;;;;;;;;;;22421:288;22507:22;22591:16;;-1:-1:-1;;;22591:16:114;;;;;;;;;;;23404:86;23460:23;23475:7;23460:14;:23::i;24787:1038::-;24889:17;24920:19;24953:22;24989:23;25026:20;25060:44;25118:17;25149:22;25185:17;25216:25;25266:40;25309:9;:22;25319:11;25309:22;;;;;;;;;;;25266:65;;25354:8;:24;;;25382:1;25354:29;:80;;25390:44;25409:8;:24;;;25390:18;:44::i;:::-;25354:80;;;25386:1;25354:80;25342:92;;25465:8;:18;;;;;;;;;;-1:-1:-1;;;;;25465:18:114;25497:8;:20;;;;;;;;;;-1:-1:-1;;;;;25497:20:114;25531:8;:23;;;;;;;;;;-1:-1:-1;;;;;25531:23:114;25568:8;:24;;;25606:8;:21;;;25641:8;:23;;;;;;;;;;;;25678:8;:18;;;25710:8;:23;;;25747:9;25770:8;:26;;:38;25797:10;-1:-1:-1;;;;;25770:38:114;-1:-1:-1;;;;;25770:38:114;;;;;;;;;;;;;25444:374;;;;;;;;;;;;;;;;;;;;;24787:1038;;;;;;;;;;;:::o;26230:176::-;26321:7;26886:22;;;:9;:22;;;;;;;;-1:-1:-1;;;;;26886:48:114;;;;:40;;:48;;;;;;26347:52;26759:182;18053:226;18196:16;;-1:-1:-1;;;18196:16:114;;;;;;;;;;;7823:146:11;7904:6;7929:33;7949:12;7929:19;:33::i;7832:740:114:-;7908:28;7928:7;7908:19;:28::i;:::-;7946:41;8001:5;7990:52;;;;;;;;;;;;:::i;:::-;8057:20;;7946:96;;-1:-1:-1;;;;;;8057:34:114;8053:94;;8114:22;;-1:-1:-1;;;8114:22:114;;;;;;;;;;;8053:94;8195:20;;8157:17;:59;;-1:-1:-1;;;;;;8157:59:114;-1:-1:-1;;;;;8157:59:114;;;;;;;;;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:114;-1:-1:-1;8327:15:114;8312:30;;;;;;;;:::i;:::-;;;;;-1:-1:-1;8366:14:114;;;;8352:11;:28;;-1:-1:-1;;8352:28:114;;8366:14;8352:28;;;;;;;;:::i;:::-;;;;;-1:-1:-1;8404:14:114;;;;8390:28;:11;:28;8450:21;;;;8428:19;:43;8508:14;;;;8481:11;:42;;-1:-1:-1;;;;;;8481:42:114;-1:-1:-1;;;;;8481:42:114;;;;;;;;;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;40003:143:114:-:0;40064:10;5954:30:11;5976:7;5954:21;:30::i;:::-;40086:6:114::1;:16:::0;;;40117:22:::1;::::0;7406:25:128;;;40117:22:114::1;::::0;7394:2:128;7379:18;40117:22:114::1;7260:177:128::0;13122:142:11;13218:6;;13199:35;;;;;;;;22767:25:128;;;;-1:-1:-1;;;;;22828:55:128;;;22808:18;;;22801:83;13199:4:11;:18;;;;22740::128;;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:114;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:114;;;;;7406:25:128;;;7379:18;;19902:29:114;7260:177:128;19838:108:114;19991:10;;19964:8;:24;;;:37;19960:152;;;20060:24;;;;20086:10;;20028:69;;;;;;;;23097:25:128;;;23138:18;;;23131:34;;;;23181:18;;;23174:34;23070:18;;20028:69:114;22895:319:128;19960:152:114;20157:36;20130:23;;;;;;:63;;;;;;;;:::i;:::-;;20126:138;;20220:29;;-1:-1:-1;;;20220:29:114;;;;;7406:25:128;;;7379:18;;20220:29:114;7260:177:128;20126:138:114;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:114;:12;;;;:20;;;;7406:25:128;;;7394:2;7379:18;;7260:177;20608:20:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20608:20:114;;;;;;;;;;;;:::i;:::-;20583:45;;20657:8;:24;;;20643:10;;:38;;;;;;;:::i;:::-;;;;-1:-1:-1;;20719:10:114;;;;20731:20;;;;;20753:24;;;20703:75;;20719:10;-1:-1:-1;;;;;20731:20:114;;20703:15;:75::i;:::-;20809:23;;;:64;;-1:-1:-1;;20809:64:114;20835:38;20809:64;;;;;;20917:20;;;20809:64;20939:24;;;20893:71;;;25185:25:128;;;-1:-1:-1;;;;;20917:20:114;;;25241:2:128;25226:18;;25219:83;25318:18;;25311:34;20893:71:114;;25173:2:128;25158:18;20893:71:114;;;;;;;19824:1151;;;19767:1208;19371:1670;;19285:1756;;;:::o;37916:396::-;38035:18;38055:19;38078:56;38112:9;38123:10;38078:33;:56::i;:::-;38034:100;;;;38148:10;38162:1;38148:15;:35;;;;-1:-1:-1;38167:16:114;;38148:35;38144:72;;;38199:7;;37916:396;;:::o;38144:72::-;38225:19;;;:33;38268:24;;;;:37;;;;-1:-1:-1;37916:396:114:o;13221:351::-;13308:17;;:66;;-1:-1:-1;;;13308:66:114;;-1:-1:-1;;;;;18835:15:128;;;13308:66:114;;;18817:34:128;13368:4:114;18867:18:128;;;18860:43;13308:17:114;;;;:42;;18729:18:128;;13308:66:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13284:20;;:90;;;;;;;:::i;:::-;;;;-1:-1:-1;;13384:17:114;;:68;;;;;-1:-1:-1;;;;;18835:15:128;;;13384:68:114;;;18817:34:128;13446:4:114;18867:18:128;;;18860:43;13384:17:114;;;;:44;;18729:18:128;;13384:68:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13507:17;13516:7;13507:8;:17::i;:::-;13539:26;;-1:-1:-1;;;;;7620:55:128;;7602:74;;13539:26:114;;7590:2:128;7575:18;13539:26:114;;;;;;;;13221:351;:::o;10592:2045::-;10684:7;10708:26;10726:7;10708:17;:26::i;:::-;10703:90;;10757:25;;-1:-1:-1;;;10757:25:114;;;;;;;;;;;10703:90;10862:45;10921:5;10910:50;;;;;;;;;;;;:::i;:::-;11075:15;;10862:98;;-1:-1:-1;11075:15:114;: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:114;11394:102;;11462:19;;;;;;;;;;;;;;11394:102;11509:17;11529:4;-1:-1:-1;;;;;11529:12:114;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11529:22:114;;11552:6;;11529:30;;;;;;;;;;;;;7406:25:128;;7394:2;7379:18;;7260:177;11529:30:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11529:30:114;;;;;;;;;;;;:::i;:::-;:36;;;11509:56;;11610:9;-1:-1:-1;;;;;11583:36:114;:8;:23;;;-1:-1:-1;;;;;11583:36:114;;11579:234;;11781:17;;;;;;;;;;;;;;11579:234;11830:41;11846:8;:24;;;11830:15;:41::i;:::-;11826:107;;;11898:20;;-1:-1:-1;;;11898:20:114;;;;;;;;;;;11826:107;11278:665;11221:722;11952:18;11975:15;;11973:17;;;;;:::i;:::-;;;;;-1:-1:-1;12000:33:114;12036:21;;;:9;:21;;;;;;;;12068:25;;;12103:11;;;:21;;-1:-1:-1;;;;;12103:21:114;;;-1:-1:-1;;;;;;12103:21:114;;;;;;;12150:20;;;;12134:13;;;:36;;;;;;;;;;;;;;12199:23;;;;12180:16;;;:42;;;;;;;;;;;12252:24;;;;-1:-1:-1;12232:17:114;;;:44;;;;12337:16;;;:55;;-1:-1:-1;;12337:55:114;;;;;;12416:12;12402:11;;;:26;-1:-1:-1;12438:16:114;;:20;;;;12517:17;;;;12504:30;;:10;;;:30;;;;;;;11973:17;;-1:-1:-1;12036:21:114;;12504:30;;;;;;;;:::i;:::-;-1:-1:-1;;12566:6:114;;12550:35;;;17037:25:128;;;17093:2;17078:18;;17071:34;;;12550:35:114;;-1:-1:-1;17010:18:128;12550:35:114;;;;;;;-1:-1:-1;12618:10:114;10592:2045;-1:-1:-1;;;;10592:2045:114:o;9729:162::-;9811:17;;-1:-1:-1;;;;;9811:17:114;9789:10;:40;9785:100;;9852:22;;;;;;;;;;;;;;16914:802;17079:17;;:31;;;-1:-1:-1;;;17079:31:114;;;;17012:7;;17049:2;;-1:-1:-1;;;;;17079:17:114;;;;:29;;:31;;;;;;;;;;;;;;;:17;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17065:56:114;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17065:58:114;;;;;;;;-1:-1:-1;;17065:58:114;;;;;;;;;;;;:::i;:::-;;;17061:208;;17222:36;;;;;;;;;;;;;;;;;;:11;:36::i;:::-;17061:208;;;17173:17;;;-1:-1:-1;17061:208:114;17278:49;;;;;;;;;;;;;;;;;;17310:16;17278:11;:49::i;:::-;17361:17;;:48;;-1:-1:-1;;;17361:48:114;;-1:-1:-1;;;;;7620:55:128;;;17361:48:114;;;7602:74:128;17337:21:114;;17412:16;;17361:17;;;:39;;7575:18:128;;17361:48:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::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:114;;-1:-1:-1;;;;;18835:15:128;;;17593:66:114;;;18817:34:128;17653:4:114;18867:18:128;;;18860:43;17491:65:114;;-1:-1:-1;17566:24:114;;17491:65;;17593:17;;:42;;18729:18:128;;17593:66:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:83;;;;:::i;:::-;17566:110;16914:802;-1:-1:-1;;;;;;;16914:802:114:o;37161:447::-;37222:15;-1:-1:-1;;;37257:2:114;:12;37249:53;;;;-1:-1:-1;;;37249:53:114;;31087:2:128;37249:53:114;;;31069:21:128;31126:2;31106:18;;;31099:30;31165;31145:18;;;31138:58;31213:18;;37249:53:114;30885:352:128;37249:53:114;-1:-1:-1;;;;37324:2:114;37348;37387:215;37394:5;;37387:215;;37419:1;37423;37419:5;37428:1;37419:10;37415:177;;37453:10;37458:1;37461;37453:4;:10::i;:::-;37449:14;-1:-1:-1;37487:1:114;37481:7;37387:215;;37415:177;37537:16;37542:7;37551:1;37537:4;:16::i;:::-;37527:26;-1:-1:-1;37571:6:114;37576:1;37571:6;;:::i;:::-;;;37387:215;;;37239:369;;37161:447;;;;:::o;23207:191::-;23286:4;-1:-1:-1;;;;;23352:24:114;;;:39;;23387:4;23352:39;;;23379:5;23345:46;23207:191;-1:-1:-1;;23207:191:114:o;27289:174::-;27363:19;27436:20;5865:8;27436:16;:20;:::i;:::-;27422:10;;27411:8;;:21;;;;:::i;:::-;:45;;;27289:174;-1:-1:-1;;27289:174:114:o;10036:230::-;10129:11;;10101:4;;-1:-1:-1;;;;;10129:11:114;10117:76;;-1:-1:-1;10178:4:114;;10036:230;-1:-1:-1;10036:230:114:o;10117:76::-;10209:11;;:50;;;;;-1:-1:-1;;;;;18835:15:128;;;10209:50:114;;;18817:34:128;10253:4:114;18867:18:128;;;18860:43;10209:11:114;;;;:28;;18729:18:128;;10209:50:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::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:114;;-1:-1:-1;;;;;18835:15:128;;;15661:66:114;;;18817:34:128;15721:4:114;18867:18:128;;;18860:43;15639:19:114;;15661:17;;:42;;18729:18:128;;15661:66:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::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:114;15415:615;-1:-1:-1;;;15415:615:114:o;16036:730::-;16172:17;;:48;;-1:-1:-1;;;16172:48:114;;-1:-1:-1;;;;;7620:55:128;;;16172:48:114;;;7602:74:128;16132:7:114;;;;16223:14;;16172:17;;;;:39;;7575:18:128;;16172:48:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:65;;;;:::i;:::-;16296:17;;:31;;;-1:-1:-1;;;16296:31:114;;;;16151:86;;-1:-1:-1;16266:2:114;;-1:-1:-1;;;;;16296:17:114;;;;:29;;:31;;;;;;;;;;;;;;;:17;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16282:56:114;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16282:58:114;;;;;;;;-1:-1:-1;;16282:58:114;;;;;;;;;;;;:::i;:::-;;;16278:208;;16439:36;;;;;;;;;;;;;;;;;;:11;:36::i;:::-;16278:208;;;16390:17;;;-1:-1:-1;16278:208:114;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:114;;-1:-1:-1;;;;;18835:15:128;;;16591:66:114;;;18817:34:128;16651:4:114;18867:18:128;;;18860:43;16495:62:114;;-1:-1:-1;16567:21:114;;16591:17;;;;:42;;18729:18:128;;16591:66:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16567:90;-1:-1:-1;16668:24:114;16695:30;16567:90;16695:14;:30;:::i;:::-;16668:57;16036:730;-1:-1:-1;;;;;;;;16036:730:114:o;38318:719::-;38471:18;38491:19;38540:12;38526:26;;38592:11;38569:9;:19;;;:34;;38562:42;;;;:::i;:::-;38641:11;38618:9;:19;;;:34;38614:173;;-1:-1:-1;38742:1:114;;-1:-1:-1;38742:1:114;38734:13;;38614:173;38853:177;38900:9;:19;;;38886:11;:33;;;;:::i;:::-;38972:9;:24;;;39010:10;38853:19;:177::i;:::-;38840:190;;38318:719;;;;;;:::o;9897:133::-;-1:-1:-1;;;;;9971:22:114;;9967:56;;10002:21;;;;;;;;;;;;;;14116:118:11;14173:10;:20;;-1:-1:-1;;14173:20:11;;;;;;;;;;14208:19;;2998:41:128;;;14208:19:11;;2986:2:128;2971:18;14208:19:11;2858:187:128;22072:220:114;22155:6;-1:-1:-1;;;;;22223:26:114;;;:62;;22270:15;22223:62;;;22252:15;22216:69;22072:220;-1:-1:-1;;22072:220:114: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:114:-;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:114;;;;;;;;;;;18547:90;18677:17;;:69;;-1:-1:-1;;;18677:69:114;;-1:-1:-1;;;;;18835:15:128;;;18677:69:114;;;18817:34:128;18740:4:114;18867:18:128;;;18860:43;18646:28:114;;18677:17;;:45;;18729:18:128;;18677:69:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::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:128;;;23077:28:114;;7394:2:128;7379:18;23077:28:114;7260:177:128;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:729:114:-;-1:-1:-1;;;;;23630:29:114;;23598;23630;;;:20;:29;;;;;;;;23598:61;;;;;;;;;;;;;;;;;;;23630:29;;23598:61;;;23630:29;23598:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23674:9;23669:550;23693:12;:19;23689:1;:23;23669:550;;;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:348;;;-1:-1:-1;;;;;23934:35:114;;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:114;;-1:-1:-1;24171:8:114;24181:12;24144:26;:50::i;:::-;23893:316;23861:348;23719:500;;23714:3;;;;;:::i;:::-;;;;23669:550;;5630:121:50;5685:59;5740:2;5701:42;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5701:42:50;;;;;;;;;;;;;;;;;;;;5685:15;:59::i;6548:139::-;6612:68;6672:2;6676;6628:51;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6628:51:50;;;;;;;;;;;;;;;;;;;;6612:15;:68::i;6530:1642:85:-;6578:7;6601:1;6606;6601:6;6597:45;;-1:-1:-1;6630:1:85;;6530:1642;-1:-1:-1;6530:1642:85: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;36670:269:114:-;36731:15;-1:-1:-1;;;36766:2:114;:13;;36758:66;;;;-1:-1:-1;;;36758:66:114;;33533:2:128;36758:66:114;;;33515:21:128;33572:2;33552:18;;;33545:30;33611:34;33591:18;;;33584:62;33682:10;33662:18;;;33655:38;33710:19;;36758:66:114;33331:404:128;36758:66:114;-1:-1:-1;;;36842:2:114;:12;36834:53;;;;-1:-1:-1;;;36834:53:114;;33942:2:128;36834:53:114;;;33924:21:128;33981:2;33961:18;;;33954:30;34020;34000:18;;;33993:58;34068:18;;36834:53:114;33740:352:128;36834:53:114;36929:3;6008:34;36906:7;36911:2;36906;:7;:::i;:::-;36905:19;;;;:::i;:::-;36904:28;;;36670:269;-1:-1:-1;;;36670:269:114:o;9346:377::-;-1:-1:-1;;;;;9419:21:114;;9415:77;;9463:18;;;;;;;;;;;;;;9415:77;9513:17;;-1:-1:-1;;;;;9513:17:114;9501:100;;9568:22;;-1:-1:-1;;;9568:22:114;;;;;;;;;;;9501:100;9615:17;;:35;;;;;-1:-1:-1;;;;;7620:55:128;;;9615:35:114;;;7602:74:128;9615:17:114;;;;:26;;7575:18:128;;9615:35:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9610:93;;9673:19;;;;;;;;;;;;;;27469:1548;27609:22;27650:9;27645:630;27669:16;:23;27665:1;:27;27645:630;;;27772:16;27789:1;27772:19;;;;;;;;:::i;:::-;;;;;;;:30;;;27806:1;27772:35;27768:187;27932:8;27768:187;27968:18;27989:16;28006:1;27989:19;;;;;;;;:::i;:::-;;;;;;;:30;;;27968:51;;28038:26;28053:10;28038:14;:26::i;:::-;28033:167;;28091:29;;-1:-1:-1;;;28091:29:114;;;;;7406:25:128;;;7379:18;;28091:29:114;7260:177:128;28033:167:114;28232:16;28249:1;28232:19;;;;;;;;:::i;:::-;;;;;;;:32;;;28213:51;;;;;:::i;:::-;;;27699:576;27645:630;27694:3;;;;:::i;:::-;;;;27645:630;;;-1:-1:-1;;;;;;26720:26:114;;28371:29;26720:26;;;:18;:26;;;;;;28403:60;;28447:15;28403:11;:60::i;:::-;28574:17;;:66;;-1:-1:-1;;;28574:66:114;;-1:-1:-1;;;;;18835:15:128;;;28574:66:114;;;18817:34:128;28634:4:114;18867:18:128;;;18860:43;28371:92:114;;-1:-1:-1;28545:26:114;;28574:17;;;;:42;;18729:18:128;;28574:66:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28545:95;;28830:18;28806:21;:42;28802:147;;;28871:67;;;;;;;;17037:25:128;;;17078:18;;;17071:34;;;17010:18;;28871:67:114;16863:248:128;28802:147:114;-1:-1:-1;;;;;;28959:27:114;;;;;;;:18;:27;;;;;:51;;;;-1:-1:-1;;27469:1548:114:o;29023:3479::-;29138:29;29182:9;29177:3319;29201:16;:23;29197:1;:27;29177:3319;;;29245:18;29266:16;29283:1;29266:19;;;;;;;;:::i;:::-;;;;;;;:30;;;29245:51;;29369:12;:19;29392:1;29369:24;29365:920;;29428:16;;;29442:1;29428:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29428:16:114;29413:31;;29480:10;29462:12;29475:1;29462:15;;;;;;;;:::i;:::-;;;;;;:28;;;;;29365:920;;;29539:10;29580:9;29575:318;29599:12;:19;29595:1;:23;29575:318;;;29695:10;29676:12;29689:1;29676:15;;;;;;;;:::i;:::-;;;;;;;:29;29672:203;;29778:40;;;;;;;;17037:25:128;;;17078:18;;;17071:34;;;29741:4:114;;-1:-1:-1;17010:18:128;;29778:40:114;16863:248:128;29672:203:114;29620:3;;;;:::i;:::-;;;;29575:318;;;;29915:5;29910:361;;29944:21;29982:12;:19;30004:1;29982:23;;;;:::i;:::-;29968:38;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29968:38:114;;29944:62;;30033:9;30028:124;30052:12;:19;30048:1;:23;30028:124;;;30114:12;30127:1;30114:15;;;;;;;;:::i;:::-;;;;;;;30104:4;30109:1;30104:7;;;;;;;;:::i;:::-;;;;;;;;;;:25;30073:3;;;;:::i;:::-;;;;30028:124;;;;30201:10;30173:4;30178:12;:19;30173:25;;;;;;;;:::i;:::-;;;;;;;;;;:38;30248:4;-1:-1:-1;29910:361:114;29521:764;29365:920;30298:12;30313:16;30330:1;30313:19;;;;;;;;:::i;:::-;;;;;;;;;;;;:32;;;30360:40;30403:21;;;:9;:21;;;;;;-1:-1:-1;;;;;30557:35:114;;;;:26;;;:35;;;;;;30313:32;;-1:-1:-1;30780:40:114;30557:35;30313:32;30780:11;:40::i;:::-;-1:-1:-1;;;;;30955:35:114;;;;;;:26;;;:35;;;;;:50;;;30757:63;;-1:-1:-1;30955:35:114;31277:246;-1:-1:-1;;;;;31301:29:114;;;;;;:20;:29;;;;;:36;31297:40;;31277:246;;;31402:19;;-1:-1:-1;;;;;31366:29:114;;31402:19;31366:29;;;:20;:29;;;;;:32;;31396:1;;31366:32;;;;;;:::i;:::-;;;;;;;;;:55;31362:147;;31459:4;31445:18;;31485:5;;31362:147;31339:3;;;;:::i;:::-;;;;31277:246;;;;31541:11;31536:106;;-1:-1:-1;;;;;31572:29:114;;;;;;:20;:29;;;;;;;31607:19;;31572:55;;;;;;;;;;;;;;;;;;31536:106;31821:12;31797:20;:36;31793:370;;31868:35;31883:20;31868:12;:35;:::i;:::-;31853:11;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;31946:35:114;;-1:-1:-1;31961:20:114;31946:12;:35;:::i;:::-;31921:8;:21;;;:60;;;;;;;:::i;:::-;;;;-1:-1:-1;31793:370:114;;-1:-1:-1;31793:370:114;;32035:35;32058:12;32035:20;:35;:::i;:::-;32020:11;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;32113:35:114;;-1:-1:-1;32136:12:114;32113:20;:35;:::i;:::-;32088:8;:21;;;:60;;;;;;;:::i;:::-;;;;-1:-1:-1;;31793:370:114;32180:8;:18;;;32202:1;32180:23;32176:310;;32244:12;32223:18;;;:33;32176:310;;;32295:58;32322:8;32332:20;32295:26;:58::i;:::-;32424:21;;;;32447:23;;;;32376:95;;;-1:-1:-1;;;;;34595:55:128;;34577:74;;34682:2;34667:18;;34660:34;;;34710:18;;;34703:34;;;34768:2;34753:18;;34746:34;;;;34811:3;34796:19;;34789:35;32376:95:114;;34564:3:128;34549:19;32376:95:114;;;;;;;32176:310;29231:3265;;;;;;29226:3;;;;;:::i;:::-;;;;29177:3319;;2455:490:28;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;27098:185:114:-;27166:4;27189:22;;;:9;:22;;;;;:33;:37;;;;:87;;-1:-1:-1;;27274:1:114;27230:22;;;:9;:22;;;;;:32;;;-1:-1:-1;;;;;27230:32:114;:46;;;27098:185::o;181:376:50:-;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:85:-;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:85:o;588:104::-;646:7;676:1;672;:5;:13;;684:1;672:13;;;-1:-1:-1;680:1:85;;588:104;-1:-1:-1;588:104:85:o;32508:276:114:-;32585:7;;32620:25;32639:6;32627:8;32620:25;:::i;:::-;32604:41;;32669:1;32660:6;:10;32656:90;;;32693:42;;;;;;;;23097:25:128;;;23138:18;;;23131:34;;;23181:18;;;23174:34;;;23070:18;;32693:42:114;22895:319:128;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:128;;14:180;-1:-1:-1;14:180:128:o;331:184::-;-1:-1:-1;;;380:1:128;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:128;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:128;1144:39;;;;1185:4;1140:50;;925:271;-1:-1:-1;;925:271:128: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:128: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:128;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:128: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:128;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:128;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:128;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:128:o;4965:183::-;5025:4;5058:18;5050:6;5047:30;5044:56;;;5080:18;;:::i;:::-;-1:-1:-1;5125:1:128;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:128;5153:737;-1:-1:-1;;;;;;5153:737:128:o;5895:186::-;5943:4;5976:18;5968:6;5965:30;5962:56;;;5998:18;;:::i;:::-;-1:-1:-1;6064:2:128;6043:15;-1:-1:-1;;6039:29:128;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:128: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:128: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:128;;;9318:2;9303:18;;9290:32;;-1:-1:-1;9369:2:128;9354:18;;;9341:32;;9063:316;-1:-1:-1;9063:316:128: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:128;;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:128;;;;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:128;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:128;;11820:849;-1:-1:-1;;;;;;;11820:849:128: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:128;;;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:128;;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:128;16698:88;16809:4;16806:1;16799:15;16837:4;16834:1;16827:15;17116:184;-1:-1:-1;;;17165:1:128;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:128;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:128;18091:88;18202:4;18199:1;18192:15;18230:4;18227:1;18220:15;18056:189;-1:-1:-1;18259:9:128;;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:128;;19164:184;-1:-1:-1;19164:184:128: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:128;20090:420;-1:-1:-1;20090:420:128: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:128:o;21472:1116::-;21662:4;21704:3;21693:9;21689:19;21681:27;;21735:6;21724:9;21717:25;-1:-1:-1;;;;;21788:6:128;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:128;22368:16;;22362:23;22443:21;22404:3;22423:18;;;22416:49;;;;22502:15;;;22496:22;-1:-1:-1;;;;;265:54:128;22577:3;22562:19;;;253:67;21472:1116;;-1:-1:-1;21472:1116:128: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:128;;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:128;;23219:726;-1:-1:-1;;;23219:726:128: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:128;25356:986;-1:-1:-1;;;;;25356:986:128:o;26617:135::-;26656:3;26677:17;;;26674:43;;26697:18;;:::i;:::-;-1:-1:-1;26744:1:128;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:128;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:128;;;28806:26;28757:89;-1:-1:-1;;27561:1:128;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:128;;;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:128;28594:14;;;28610:3;28590:24;28586:37;28582:42;28567:58;28552:74;;28439:201;-1:-1:-1;;;;;28686:1:128;28670:14;;;28666:22;28653:36;;-1:-1:-1;27604:1352:128: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:128;30072:5;;30007:80;30106:4;30096:76;;-1:-1:-1;30143:1:128;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:128;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:128;;;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:128:o;30749:131::-;30809:5;30838:36;30865:8;30859:4;30838:36;:::i;31242:184::-;-1:-1:-1;;;31291:1:128;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:128;;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:128;32663:88;32770:4;32767:1;32760:15;32794:4;32791:1;32784:15;32810:220;32959:2;32948:9;32941:21;32922:4;32979:45;33020:2;33009:9;33005:18;32997:6;32979:45;:::i;33035:291::-;33212:2;33201:9;33194:21;33175:4;33232:45;33273:2;33262:9;33258:18;33250:6;33232:45;:::i;:::-;33224:53;;33313:6;33308:2;33297:9;33293:18;33286:34;33035:291;;;;;:::o;34097:216::-;34161:9;;;34189:11;;;34136:3;34219:9;;34247:10;;34243:19;;34272:10;;34264:19;;34240:44;34237:70;;;34287: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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"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/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\":\"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71\",\"dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"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\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"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\":\"0x9a0dba4c62abd4bc2887a8fec229c2e1916ba0d8bc7bbc8da712188552650752\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://48a99a5af361529ac37e477e3195d6a9355ff5ab2ef3e4d002d80a404da6e4dd\",\"dweb:/ipfs/Qmf8BsNJcG2Lno4gjUV3DfDsDsgNGrCLRMTXkWkm4JnM6u\"]},\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0x1c576e15a5543c06e92cb45f7162a2aa5dac1a276088ec323f5c0438f69c2e52\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://60cb3de95b895d81666b3899a5d73d620742a5c98558ad9799c0464da7b3ab55\",\"dweb:/ipfs/QmReM4jMH5Vc6gGeo7UtHFruHVnqY2rWaecXr1FwDmA6gE\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]}},\"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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"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/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":"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69","urls":["bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71","dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"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":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"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":"0x9a0dba4c62abd4bc2887a8fec229c2e1916ba0d8bc7bbc8da712188552650752","urls":["bzz-raw://48a99a5af361529ac37e477e3195d6a9355ff5ab2ef3e4d002d80a404da6e4dd","dweb:/ipfs/Qmf8BsNJcG2Lno4gjUV3DfDsDsgNGrCLRMTXkWkm4JnM6u"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-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":"0x1c576e15a5543c06e92cb45f7162a2aa5dac1a276088ec323f5c0438f69c2e52","urls":["bzz-raw://60cb3de95b895d81666b3899a5d73d620742a5c98558ad9799c0464da7b3ab55","dweb:/ipfs/QmReM4jMH5Vc6gGeo7UtHFruHVnqY2rWaecXr1FwDmA6gE"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"}},"version":1},"id":114} \ 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 db865475d..604b5c931 100644 --- a/pkg/contracts/out/CVStrategy.sol/IPointStrategy.json +++ b/pkg/contracts/out/CVStrategy.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/CVStrategy.sol\":\"IPointStrategy\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"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\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x9a0dba4c62abd4bc2887a8fec229c2e1916ba0d8bc7bbc8da712188552650752\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://48a99a5af361529ac37e477e3195d6a9355ff5ab2ef3e4d002d80a404da6e4dd\",\"dweb:/ipfs/Qmf8BsNJcG2Lno4gjUV3DfDsDsgNGrCLRMTXkWkm4JnM6u\"]},\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0xf57d2536496fa592ffed2901d5d56e330d7c70955508b9d2ffa60aad76f42586\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://958bc6c5ef6816c7613ee98fa69b002efb6b85b3e4a8448ec2dd20d45d3a68e1\",\"dweb:/ipfs/QmNQtPpCqzvSCf9QVPaaBUvpYWzxCLhp1UWq94qziSagXf\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0x1c576e15a5543c06e92cb45f7162a2aa5dac1a276088ec323f5c0438f69c2e52\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://60cb3de95b895d81666b3899a5d73d620742a5c98558ad9799c0464da7b3ab55\",\"dweb:/ipfs/QmReM4jMH5Vc6gGeo7UtHFruHVnqY2rWaecXr1FwDmA6gE\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]}},\"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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"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"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x9a0dba4c62abd4bc2887a8fec229c2e1916ba0d8bc7bbc8da712188552650752","urls":["bzz-raw://48a99a5af361529ac37e477e3195d6a9355ff5ab2ef3e4d002d80a404da6e4dd","dweb:/ipfs/Qmf8BsNJcG2Lno4gjUV3DfDsDsgNGrCLRMTXkWkm4JnM6u"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0xf57d2536496fa592ffed2901d5d56e330d7c70955508b9d2ffa60aad76f42586","urls":["bzz-raw://958bc6c5ef6816c7613ee98fa69b002efb6b85b3e4a8448ec2dd20d45d3a68e1","dweb:/ipfs/QmNQtPpCqzvSCf9QVPaaBUvpYWzxCLhp1UWq94qziSagXf"],"license":"MIT"},"pkg/contracts/src/RegistryCommunity.sol":{"keccak256":"0x1c576e15a5543c06e92cb45f7162a2aa5dac1a276088ec323f5c0438f69c2e52","urls":["bzz-raw://60cb3de95b895d81666b3899a5d73d620742a5c98558ad9799c0464da7b3ab55","dweb:/ipfs/QmReM4jMH5Vc6gGeo7UtHFruHVnqY2rWaecXr1FwDmA6gE"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"}},"version":1},"id":111} \ 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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"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/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\":\"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71\",\"dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"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\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"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\":\"0x9a0dba4c62abd4bc2887a8fec229c2e1916ba0d8bc7bbc8da712188552650752\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://48a99a5af361529ac37e477e3195d6a9355ff5ab2ef3e4d002d80a404da6e4dd\",\"dweb:/ipfs/Qmf8BsNJcG2Lno4gjUV3DfDsDsgNGrCLRMTXkWkm4JnM6u\"]},\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0x1c576e15a5543c06e92cb45f7162a2aa5dac1a276088ec323f5c0438f69c2e52\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://60cb3de95b895d81666b3899a5d73d620742a5c98558ad9799c0464da7b3ab55\",\"dweb:/ipfs/QmReM4jMH5Vc6gGeo7UtHFruHVnqY2rWaecXr1FwDmA6gE\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]}},\"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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"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/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":"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69","urls":["bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71","dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"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":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"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":"0x9a0dba4c62abd4bc2887a8fec229c2e1916ba0d8bc7bbc8da712188552650752","urls":["bzz-raw://48a99a5af361529ac37e477e3195d6a9355ff5ab2ef3e4d002d80a404da6e4dd","dweb:/ipfs/Qmf8BsNJcG2Lno4gjUV3DfDsDsgNGrCLRMTXkWkm4JnM6u"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-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":"0x1c576e15a5543c06e92cb45f7162a2aa5dac1a276088ec323f5c0438f69c2e52","urls":["bzz-raw://60cb3de95b895d81666b3899a5d73d620742a5c98558ad9799c0464da7b3ab55","dweb:/ipfs/QmReM4jMH5Vc6gGeo7UtHFruHVnqY2rWaecXr1FwDmA6gE"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"}},"version":1},"id":114} \ 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 b534afac8..6517b7d3a 100644 --- a/pkg/contracts/out/CVStrategy.sol/StrategyStruct.json +++ b/pkg/contracts/out/CVStrategy.sol/StrategyStruct.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208150c3f44d54e1cf83bce91ccbb0194d424eb201dac06674dee6f2df8ff5075764736f6c63430008130033","sourceMap":"914:1871:111:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;914:1871:111;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208150c3f44d54e1cf83bce91ccbb0194d424eb201dac06674dee6f2df8ff5075764736f6c63430008130033","sourceMap":"914:1871:111:-: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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"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\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x9a0dba4c62abd4bc2887a8fec229c2e1916ba0d8bc7bbc8da712188552650752\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://48a99a5af361529ac37e477e3195d6a9355ff5ab2ef3e4d002d80a404da6e4dd\",\"dweb:/ipfs/Qmf8BsNJcG2Lno4gjUV3DfDsDsgNGrCLRMTXkWkm4JnM6u\"]},\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0xf57d2536496fa592ffed2901d5d56e330d7c70955508b9d2ffa60aad76f42586\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://958bc6c5ef6816c7613ee98fa69b002efb6b85b3e4a8448ec2dd20d45d3a68e1\",\"dweb:/ipfs/QmNQtPpCqzvSCf9QVPaaBUvpYWzxCLhp1UWq94qziSagXf\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0x1c576e15a5543c06e92cb45f7162a2aa5dac1a276088ec323f5c0438f69c2e52\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://60cb3de95b895d81666b3899a5d73d620742a5c98558ad9799c0464da7b3ab55\",\"dweb:/ipfs/QmReM4jMH5Vc6gGeo7UtHFruHVnqY2rWaecXr1FwDmA6gE\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]}},\"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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"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"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x9a0dba4c62abd4bc2887a8fec229c2e1916ba0d8bc7bbc8da712188552650752","urls":["bzz-raw://48a99a5af361529ac37e477e3195d6a9355ff5ab2ef3e4d002d80a404da6e4dd","dweb:/ipfs/Qmf8BsNJcG2Lno4gjUV3DfDsDsgNGrCLRMTXkWkm4JnM6u"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0xf57d2536496fa592ffed2901d5d56e330d7c70955508b9d2ffa60aad76f42586","urls":["bzz-raw://958bc6c5ef6816c7613ee98fa69b002efb6b85b3e4a8448ec2dd20d45d3a68e1","dweb:/ipfs/QmNQtPpCqzvSCf9QVPaaBUvpYWzxCLhp1UWq94qziSagXf"],"license":"MIT"},"pkg/contracts/src/RegistryCommunity.sol":{"keccak256":"0x1c576e15a5543c06e92cb45f7162a2aa5dac1a276088ec323f5c0438f69c2e52","urls":["bzz-raw://60cb3de95b895d81666b3899a5d73d620742a5c98558ad9799c0464da7b3ab55","dweb:/ipfs/QmReM4jMH5Vc6gGeo7UtHFruHVnqY2rWaecXr1FwDmA6gE"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"}},"version":1},"id":111} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201a090c6faabd4c93bfdd11ea2cdefca9806ee03e6650707f6712a9987954520764736f6c63430008130033","sourceMap":"914:1871:114:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;914:1871:114;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201a090c6faabd4c93bfdd11ea2cdefca9806ee03e6650707f6712a9987954520764736f6c63430008130033","sourceMap":"914:1871:114:-: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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"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/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\":\"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71\",\"dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"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\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"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\":\"0x9a0dba4c62abd4bc2887a8fec229c2e1916ba0d8bc7bbc8da712188552650752\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://48a99a5af361529ac37e477e3195d6a9355ff5ab2ef3e4d002d80a404da6e4dd\",\"dweb:/ipfs/Qmf8BsNJcG2Lno4gjUV3DfDsDsgNGrCLRMTXkWkm4JnM6u\"]},\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0x1c576e15a5543c06e92cb45f7162a2aa5dac1a276088ec323f5c0438f69c2e52\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://60cb3de95b895d81666b3899a5d73d620742a5c98558ad9799c0464da7b3ab55\",\"dweb:/ipfs/QmReM4jMH5Vc6gGeo7UtHFruHVnqY2rWaecXr1FwDmA6gE\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]}},\"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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"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/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":"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69","urls":["bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71","dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"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":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"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":"0x9a0dba4c62abd4bc2887a8fec229c2e1916ba0d8bc7bbc8da712188552650752","urls":["bzz-raw://48a99a5af361529ac37e477e3195d6a9355ff5ab2ef3e4d002d80a404da6e4dd","dweb:/ipfs/Qmf8BsNJcG2Lno4gjUV3DfDsDsgNGrCLRMTXkWkm4JnM6u"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-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":"0x1c576e15a5543c06e92cb45f7162a2aa5dac1a276088ec323f5c0438f69c2e52","urls":["bzz-raw://60cb3de95b895d81666b3899a5d73d620742a5c98558ad9799c0464da7b3ab55","dweb:/ipfs/QmReM4jMH5Vc6gGeo7UtHFruHVnqY2rWaecXr1FwDmA6gE"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"}},"version":1},"id":114} \ 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 e84b24591..c409d6ab1 100644 --- a/pkg/contracts/out/CVStrategyHelpers.sol/CVStrategyHelpers.json +++ b/pkg/contracts/out/CVStrategyHelpers.sol/CVStrategyHelpers.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":"0x60016080908152610120604052602e60c081815260a09162001dfe60e0399052805160099081556020820151600a906200003a9082620000f6565b5050503480156200004a57600080fd5b50620001c2565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200007c57607f821691505b6020821081036200009d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620000f157600081815260208120601f850160051c81016020861015620000cc5750805b601f850160051c820191505b81811015620000ed57828155600101620000d8565b5050505b505050565b81516001600160401b0381111562000112576200011262000051565b6200012a8162000123845462000067565b84620000a3565b602080601f831160018114620001625760008415620001495750858301515b600019600386901b1c1916600185901b178555620000ed565b600085815260208120601f198616915b82811015620001935788860151825594840194600190910190840162000172565b5085821015620001b25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611c2c80620001d26000396000f3fe608060405234801561001057600080fd5b50600436106102ac5760003560e01c8063770b2e661161017b578063aa3744bd116100d8578063da4bf0871161008c578063e99ce91111610071578063e99ce91114610445578063ed62303a14610458578063ef0d790f1461046b57600080fd5b8063da4bf08714610435578063dac4eb161461043d57600080fd5b8063d1f2cd88116100bd578063d1f2cd8814610412578063d5bee9f51461041a578063d8c12dc21461042257600080fd5b8063aa3744bd14610402578063d1e82b581461040a57600080fd5b80638c7408c41161012f5780638e3c2493116101145780638e3c2493146103d7578063a0cf0aea146103df578063a407c67a146103fa57600080fd5b80638c7408c4146102ec5780638e0d1a50146103cf57600080fd5b80637b2edf32116101605780637b2edf32146103bf5780637cbe79ed146103c7578063829e423f146102ec57600080fd5b8063770b2e661461039757806379e62d0d146103b757600080fd5b8063392f37e91161022957806366d003ac116101dd57806370a32944116101c257806370a329441461038757806374d9284e146102ec578063759c9a861461038f57600080fd5b806366d003ac146103775780636a38dd0a1461037f57600080fd5b80634bf4ba211161020e5780634bf4ba2114610352578063587c1243146103675780635aff59991461036f57600080fd5b8063392f37e9146103335780633f26479e1461034957600080fd5b8063174eedde116102805780631e7bcb2e116102655780631e7bcb2e146102fb5780632e0f26251461030357806337d1c4041461032057600080fd5b8063174eedde146102ec5780631b96dce6146102f357600080fd5b8062b1fad7146102b1578063030e4006146102d65780630688b135146102de5780630f166ad4146102e6575b600080fd5b6102b9610473565b6040516001600160a01b0390911681526020015b60405180910390f35b6102b96104b8565b6102b96104f8565b306102b9565b60006102b9565b6102b9610538565b6102b9610578565b610312670de0b6b3a764000081565b6040519081526020016102cd565b61031261032e366004611459565b6105b8565b61033b6106a2565b6040516102cd929190611582565b61031261271081565b61035a610739565b6040516102cd91906115e7565b6102b961075c565b6102b961079c565b6102b96107dc565b6102b961081c565b61035a61085c565b6102b96108f4565b6103aa6103a5366004611664565b610934565b6040516102cd91906116e7565b61035a610a0f565b6102b9610a77565b6102b9610ab7565b6102b9610af7565b6102b9610b37565b6102b973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61035a610b77565b6102b9610bdf565b6102b9610c1f565b6102b9610c5f565b6102b9610c9f565b610312610430366004611781565b610cdf565b6102b9610d0c565b6102b9610d4c565b610312610453366004611813565b610d8c565b610312610466366004611845565b610e26565b6102b9611029565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250611065565b905090565b60006104b36040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250611065565b600b54600090610697576040805180820182526001815281518083018352600c81527f506f6f6c50726f66696c6531000000000000000000000000000000000000000060208281019190915282015290517f3a92f65f0000000000000000000000000000000000000000000000000000000081526001600160a01b03861691633a92f65f9161065091600291889088906004016118e9565b6020604051808303816000875af115801561066f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106939190611979565b600b555b50600b549392505050565b60098054600a80549192916106b690611992565b80601f01602080910402602001604051908101604052809291908181526020018280546106e290611992565b801561072f5780601f106107045761010080835404028352916020019161072f565b820191906000526020600020905b81548152906001019060200180831161071257829003601f168201915b5050505050905082565b604080516002808252606080830184529260208301908036833701905050905090565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250611065565b60006104b36040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610889610578565b8160008151811061089c5761089c6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610a77565b816001815181106108d7576108d76119cc565b6001600160a01b0390921660209283029190910190910152919050565b60006104b36040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250611065565b61093c611380565b61094d670de0a46bc207d800611077565b60208201526109636702c68af0bb140000611077565b604082015261097866038d7ea4c68000611077565b60608201526001600160a01b038516815260a0810184600281111561099f5761099f6116bd565b908160028111156109b2576109b26116bd565b90525060c081018360038111156109cb576109cb6116bd565b908160038111156109de576109de6116bd565b9052508151600003610a00576109fd670de0b6b3a764000060c86119f8565b82525b60e08101919091529392505050565b60408051600280825260608083018452926000929190602083019080368337019050509050610a3c610473565b81600081518110610a4f57610a4f6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c461081c565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610ba461075c565b81600081518110610bb757610bb76119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610b37565b60006104b36040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250611065565b6000610d008888888888888860405180602001604052806000815250610e26565b98975050505050505050565b60006104b36040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250611065565b60008481610daa610da462989680608087901b611a0f565b8361108e565b905060806f80000000000000000000000000000000610dcc8662989680611a31565b610dda84600160801b611a31565b610de7629896808a6119f8565b610df191906119f8565b610dfb9190611a0f565b610e0589856119f8565b610e0f9190611a44565b610e199190611a44565b901c979650505050505050565b600080610e3588868686610934565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610e6f57610e6f6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250503381600181518110610ea357610ea36119cc565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90881615610ed95750865b8b6001600160a01b031663e1007d4a610efa8b610ef4610af7565b866105b8565b8d86604051602001610f0c91906116e7565b6040516020818303038152906040528560006009896040518863ffffffff1660e01b8152600401610f439796959493929190611a57565b6020604051808303816000875af1158015610f62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f869190611979565b9350866002811115610f9a57610f9a6116bd565b8b6001600160a01b031663351d9f966040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffc9190611b68565b600281111561100d5761100d6116bd565b1461101a5761101a611b85565b50505098975050505050505050565b60006104b36040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006110708261113c565b5092915050565b600061108864174876e80083611a0f565b92915050565b6000600160801b83106110e85760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b801561113457806001166000036111165761110c8283611281565b915060011c6110f1565b6111208383611281565b925061112d600182611a31565b90506110f1565b505092915050565b600080826040516020016111509190611b9b565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156111d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f59190611bb7565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061124a9085908790600401611bd4565b600060405180830381600087803b15801561126457600080fd5b505af1158015611278573d6000803e3d6000fd5b50505050915091565b6000600160801b8311156112fd5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e31323800000000000000000000000000000000000000000000000060648201526084016110df565b600160801b82106113505760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e3132380000000060448201526064016110df565b60806f8000000000000000000000000000000061136d84866119f8565b6113779190611a44565b901c9392505050565b60405180610120016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600060028111156113cb576113cb6116bd565b8152602001600081526020016113ed6040518060200160405280600081525090565b8152600060209091015290565b6001600160a01b038116811461140f57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561145157611451611412565b604052919050565b60008060006060848603121561146e57600080fd5b8335611479816113fa565b925060208481013561148a816113fa565b9250604085013567ffffffffffffffff808211156114a757600080fd5b818701915087601f8301126114bb57600080fd5b8135818111156114cd576114cd611412565b8060051b91506114de848301611428565b818152918301840191848101908a8411156114f857600080fd5b938501935b838510156115225784359250611512836113fa565b82825293850193908501906114fd565b8096505050505050509250925092565b60005b8381101561154d578181015183820152602001611535565b50506000910152565b6000815180845261156e816020860160208601611532565b601f01601f19169290920160200192915050565b82815260406020820152600061159b6040830184611556565b949350505050565b600081518084526020808501945080840160005b838110156115dc5781516001600160a01b0316875295820195908201906001016115b7565b509495945050505050565b6020815260006115fa60208301846115a3565b9392505050565b6003811061140f57600080fd5b80356004811061161d57600080fd5b919050565b60006020828403121561163457600080fd5b6040516020810181811067ffffffffffffffff8211171561165757611657611412565b6040529135825250919050565b6000806000806080858703121561167a57600080fd5b8435611685816113fa565b9350602085013561169581611601565b92506116a36040860161160e565b91506116b28660608701611622565b905092959194509250565b634e487b7160e01b600052602160045260246000fd5b600481106116e3576116e36116bd565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061173a5761173a6116bd565b8060a08401525060c083015161175360c08401826116d3565b5060e083015161176660e0840182519052565b50610100838101516001600160a01b03811684830152611134565b600080600080600080600060e0888a03121561179c57600080fd5b87356117a7816113fa565b965060208801356117b7816113fa565b955060408801356117c7816113fa565b945060608801356117d7816113fa565b935060808801356117e7816113fa565b925060a08801356117f781611601565b915061180560c0890161160e565b905092959891949750929550565b6000806000806080858703121561182957600080fd5b5050823594602084013594506040840135936060013592509050565b600080600080600080600080610100898b03121561186257600080fd5b883561186d816113fa565b9750602089013561187d816113fa565b9650604089013561188d816113fa565b9550606089013561189d816113fa565b945060808901356118ad816113fa565b935060a08901356118bd81611601565b92506118cb60c08a0161160e565b91506118da8a60e08b01611622565b90509295985092959890939650565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e06040820152835160e082015260006020850151604061010084015261194b610120840182611556565b90506001600160a01b0385166060840152828103608084015261196e81856115a3565b979650505050505050565b60006020828403121561198b57600080fd5b5051919050565b600181811c908216806119a657607f821691505b6020821081036119c657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417611088576110886119e2565b600082611a2c57634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115611088576110886119e2565b80820180821115611088576110886119e2565b878152600060206001600160a01b03808a168285015260e06040850152611a8160e085018a611556565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c905085821680611ac157607f821691505b8782108103611ade57634e487b7160e01b84526022600452602484fd5b60408601829052606086019550808015611aff5760018114611b1557611b40565b60ff198416875282151560051b87019450611b40565b60008681526020902060005b84811015611b3a57815489820152908901908a01611b21565b88019550505b5050505086810360c0880152611b5681896115a3565b9e9d5050505050505050505050505050565b600060208284031215611b7a57600080fd5b81516115fa81611601565b634e487b7160e01b600052600160045260246000fd5b60008251611bad818460208701611532565b9190910192915050565b600060208284031215611bc957600080fd5b81516115fa816113fa565b6001600160a01b038316815260406020820152600061159b604083018461155656fea26469706673582212200150fab12a567ab5f8969d65c955663f3d87d64cbf40fe3bc78e1049fd00aa6464736f6c63430008130033516d57347a464c464a524e374a3637457a4e6d64433272324d397532694a44686132666a3547656536684a7a5359","sourceMap":"608:1:118:-:0;508:5347;588:82;;;;508:5347;588:82;;;;;;;;;;;;;561:109;;;;;;;;;;;;;;;;:::i;:::-;;;;508:5347;;;;;;;;;;;;14:127:125;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:125;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:125;;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:125;;;2580:26;2531:89;-1:-1:-1;;1335:1:125;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:125;;;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:125;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:125;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:125:o;:::-;508:5347:118;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106102ac5760003560e01c8063770b2e661161017b578063aa3744bd116100d8578063da4bf0871161008c578063e99ce91111610071578063e99ce91114610445578063ed62303a14610458578063ef0d790f1461046b57600080fd5b8063da4bf08714610435578063dac4eb161461043d57600080fd5b8063d1f2cd88116100bd578063d1f2cd8814610412578063d5bee9f51461041a578063d8c12dc21461042257600080fd5b8063aa3744bd14610402578063d1e82b581461040a57600080fd5b80638c7408c41161012f5780638e3c2493116101145780638e3c2493146103d7578063a0cf0aea146103df578063a407c67a146103fa57600080fd5b80638c7408c4146102ec5780638e0d1a50146103cf57600080fd5b80637b2edf32116101605780637b2edf32146103bf5780637cbe79ed146103c7578063829e423f146102ec57600080fd5b8063770b2e661461039757806379e62d0d146103b757600080fd5b8063392f37e91161022957806366d003ac116101dd57806370a32944116101c257806370a329441461038757806374d9284e146102ec578063759c9a861461038f57600080fd5b806366d003ac146103775780636a38dd0a1461037f57600080fd5b80634bf4ba211161020e5780634bf4ba2114610352578063587c1243146103675780635aff59991461036f57600080fd5b8063392f37e9146103335780633f26479e1461034957600080fd5b8063174eedde116102805780631e7bcb2e116102655780631e7bcb2e146102fb5780632e0f26251461030357806337d1c4041461032057600080fd5b8063174eedde146102ec5780631b96dce6146102f357600080fd5b8062b1fad7146102b1578063030e4006146102d65780630688b135146102de5780630f166ad4146102e6575b600080fd5b6102b9610473565b6040516001600160a01b0390911681526020015b60405180910390f35b6102b96104b8565b6102b96104f8565b306102b9565b60006102b9565b6102b9610538565b6102b9610578565b610312670de0b6b3a764000081565b6040519081526020016102cd565b61031261032e366004611459565b6105b8565b61033b6106a2565b6040516102cd929190611582565b61031261271081565b61035a610739565b6040516102cd91906115e7565b6102b961075c565b6102b961079c565b6102b96107dc565b6102b961081c565b61035a61085c565b6102b96108f4565b6103aa6103a5366004611664565b610934565b6040516102cd91906116e7565b61035a610a0f565b6102b9610a77565b6102b9610ab7565b6102b9610af7565b6102b9610b37565b6102b973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61035a610b77565b6102b9610bdf565b6102b9610c1f565b6102b9610c5f565b6102b9610c9f565b610312610430366004611781565b610cdf565b6102b9610d0c565b6102b9610d4c565b610312610453366004611813565b610d8c565b610312610466366004611845565b610e26565b6102b9611029565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250611065565b905090565b60006104b36040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250611065565b600b54600090610697576040805180820182526001815281518083018352600c81527f506f6f6c50726f66696c6531000000000000000000000000000000000000000060208281019190915282015290517f3a92f65f0000000000000000000000000000000000000000000000000000000081526001600160a01b03861691633a92f65f9161065091600291889088906004016118e9565b6020604051808303816000875af115801561066f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106939190611979565b600b555b50600b549392505050565b60098054600a80549192916106b690611992565b80601f01602080910402602001604051908101604052809291908181526020018280546106e290611992565b801561072f5780601f106107045761010080835404028352916020019161072f565b820191906000526020600020905b81548152906001019060200180831161071257829003601f168201915b5050505050905082565b604080516002808252606080830184529260208301908036833701905050905090565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250611065565b60006104b36040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610889610578565b8160008151811061089c5761089c6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610a77565b816001815181106108d7576108d76119cc565b6001600160a01b0390921660209283029190910190910152919050565b60006104b36040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250611065565b61093c611380565b61094d670de0a46bc207d800611077565b60208201526109636702c68af0bb140000611077565b604082015261097866038d7ea4c68000611077565b60608201526001600160a01b038516815260a0810184600281111561099f5761099f6116bd565b908160028111156109b2576109b26116bd565b90525060c081018360038111156109cb576109cb6116bd565b908160038111156109de576109de6116bd565b9052508151600003610a00576109fd670de0b6b3a764000060c86119f8565b82525b60e08101919091529392505050565b60408051600280825260608083018452926000929190602083019080368337019050509050610a3c610473565b81600081518110610a4f57610a4f6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c461081c565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610ba461075c565b81600081518110610bb757610bb76119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610b37565b60006104b36040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250611065565b6000610d008888888888888860405180602001604052806000815250610e26565b98975050505050505050565b60006104b36040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250611065565b60008481610daa610da462989680608087901b611a0f565b8361108e565b905060806f80000000000000000000000000000000610dcc8662989680611a31565b610dda84600160801b611a31565b610de7629896808a6119f8565b610df191906119f8565b610dfb9190611a0f565b610e0589856119f8565b610e0f9190611a44565b610e199190611a44565b901c979650505050505050565b600080610e3588868686610934565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610e6f57610e6f6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250503381600181518110610ea357610ea36119cc565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90881615610ed95750865b8b6001600160a01b031663e1007d4a610efa8b610ef4610af7565b866105b8565b8d86604051602001610f0c91906116e7565b6040516020818303038152906040528560006009896040518863ffffffff1660e01b8152600401610f439796959493929190611a57565b6020604051808303816000875af1158015610f62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f869190611979565b9350866002811115610f9a57610f9a6116bd565b8b6001600160a01b031663351d9f966040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffc9190611b68565b600281111561100d5761100d6116bd565b1461101a5761101a611b85565b50505098975050505050505050565b60006104b36040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006110708261113c565b5092915050565b600061108864174876e80083611a0f565b92915050565b6000600160801b83106110e85760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b801561113457806001166000036111165761110c8283611281565b915060011c6110f1565b6111208383611281565b925061112d600182611a31565b90506110f1565b505092915050565b600080826040516020016111509190611b9b565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156111d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f59190611bb7565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061124a9085908790600401611bd4565b600060405180830381600087803b15801561126457600080fd5b505af1158015611278573d6000803e3d6000fd5b50505050915091565b6000600160801b8311156112fd5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e31323800000000000000000000000000000000000000000000000060648201526084016110df565b600160801b82106113505760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e3132380000000060448201526064016110df565b60806f8000000000000000000000000000000061136d84866119f8565b6113779190611a44565b901c9392505050565b60405180610120016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600060028111156113cb576113cb6116bd565b8152602001600081526020016113ed6040518060200160405280600081525090565b8152600060209091015290565b6001600160a01b038116811461140f57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561145157611451611412565b604052919050565b60008060006060848603121561146e57600080fd5b8335611479816113fa565b925060208481013561148a816113fa565b9250604085013567ffffffffffffffff808211156114a757600080fd5b818701915087601f8301126114bb57600080fd5b8135818111156114cd576114cd611412565b8060051b91506114de848301611428565b818152918301840191848101908a8411156114f857600080fd5b938501935b838510156115225784359250611512836113fa565b82825293850193908501906114fd565b8096505050505050509250925092565b60005b8381101561154d578181015183820152602001611535565b50506000910152565b6000815180845261156e816020860160208601611532565b601f01601f19169290920160200192915050565b82815260406020820152600061159b6040830184611556565b949350505050565b600081518084526020808501945080840160005b838110156115dc5781516001600160a01b0316875295820195908201906001016115b7565b509495945050505050565b6020815260006115fa60208301846115a3565b9392505050565b6003811061140f57600080fd5b80356004811061161d57600080fd5b919050565b60006020828403121561163457600080fd5b6040516020810181811067ffffffffffffffff8211171561165757611657611412565b6040529135825250919050565b6000806000806080858703121561167a57600080fd5b8435611685816113fa565b9350602085013561169581611601565b92506116a36040860161160e565b91506116b28660608701611622565b905092959194509250565b634e487b7160e01b600052602160045260246000fd5b600481106116e3576116e36116bd565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061173a5761173a6116bd565b8060a08401525060c083015161175360c08401826116d3565b5060e083015161176660e0840182519052565b50610100838101516001600160a01b03811684830152611134565b600080600080600080600060e0888a03121561179c57600080fd5b87356117a7816113fa565b965060208801356117b7816113fa565b955060408801356117c7816113fa565b945060608801356117d7816113fa565b935060808801356117e7816113fa565b925060a08801356117f781611601565b915061180560c0890161160e565b905092959891949750929550565b6000806000806080858703121561182957600080fd5b5050823594602084013594506040840135936060013592509050565b600080600080600080600080610100898b03121561186257600080fd5b883561186d816113fa565b9750602089013561187d816113fa565b9650604089013561188d816113fa565b9550606089013561189d816113fa565b945060808901356118ad816113fa565b935060a08901356118bd81611601565b92506118cb60c08a0161160e565b91506118da8a60e08b01611622565b90509295985092959890939650565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e06040820152835160e082015260006020850151604061010084015261194b610120840182611556565b90506001600160a01b0385166060840152828103608084015261196e81856115a3565b979650505050505050565b60006020828403121561198b57600080fd5b5051919050565b600181811c908216806119a657607f821691505b6020821081036119c657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417611088576110886119e2565b600082611a2c57634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115611088576110886119e2565b80820180821115611088576110886119e2565b878152600060206001600160a01b03808a168285015260e06040850152611a8160e085018a611556565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c905085821680611ac157607f821691505b8782108103611ade57634e487b7160e01b84526022600452602484fd5b60408601829052606086019550808015611aff5760018114611b1557611b40565b60ff198416875282151560051b87019450611b40565b60008681526020902060005b84811015611b3a57815489820152908901908a01611b21565b88019550505b5050505086810360c0880152611b5681896115a3565b9e9d5050505050505050505050505050565b600060208284031215611b7a57600080fd5b81516115fa81611601565b634e487b7160e01b600052600160045260246000fd5b60008251611bad818460208701611532565b9190910192915050565b600060208284031215611bc957600080fd5b81516115fa816113fa565b6001600160a01b038316815260406020820152600061159b604083018461155656fea26469706673582212200150fab12a567ab5f8969d65c955663f3d87d64cbf40fe3bc78e1049fd00aa6464736f6c63430008130033","sourceMap":"508:5347:118:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:45;;;:::i;:::-;;;-1:-1:-1;;;;;310:55:125;;;292:74;;280:2;265:18;1763:107:45;;;;;;;;2429:119;;;:::i;4045:101::-;;;:::i;226:92::-;306:4;226:92;;905:138;968:7;905:138;;3126:109;;;:::i;2554:113::-;;;:::i;699:43:118:-;;734:8;699:43;;;;;523:25:125;;;511:2;496:18;699:43:118;377:177:125;1093:437:118;;;;;;:::i;:::-;;:::i;561:109::-;;;:::i;:::-;;;;;;;;:::i;748:50::-;;791:7;748:50;;1331:118:45;;;:::i;:::-;;;;;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;4152:99::-;;;:::i;1876:107::-;;;:::i;2792:241::-;;;:::i;4376:105::-;;;:::i;1536:1088:118:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1989:232:45:-;;;:::i;2673:113::-;;;:::i;439:101::-;;;:::i;1537:::-;;;:::i;3485:113::-;;;:::i;4412:75:9:-;;4445:42;4412:75;;3604:241:45;;;:::i;3938:101::-;;;:::i;1644:113::-;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;4078:543:118:-;;;;;;:::i;:::-;;:::i;546:124:45:-;;;:::i;324:109::-;;;:::i;5475:378:118:-;;;;;;:::i;:::-;;:::i;2630:1442::-;;;;;;:::i;:::-;;:::i;3241:119:45:-;;;:::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;1093:437:118:-;1265:16;;1238:7;;1261:230;;1391:48;;;;;;;;1411:1;1391:48;;;;;;;;;;;;;;;;;;;;;;;;1330:150;;;;;-1:-1:-1;;;;;1330:22:118;;;;;:150;;1370:1;;1441:10;;1453:13;;1330:150;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1311:16;:169;1261:230;-1:-1:-1;1507:16:118;;1093:437;;;;;:::o;561:109::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1331:118:45:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:45;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:45;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:45;;;-1:-1:-1;;;;;2926:32:45;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:45;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:45:o;4376:105::-;4424:7;4450:24;;;;;;;;;;;;;;;;;;:8;:24::i;1536:1088:118:-;1776:45;;:::i;:::-;1899:30;1913:15;1899:13;:30::i;:::-;1884:12;;;:45;2046:24;2060:9;2046:13;:24::i;:::-;2028:15;;;:42;2115:26;2129:11;2115:13;:26::i;:::-;2099:13;;;:42;-1:-1:-1;;;;;2238:44:118;;;;2292:19;;;2314:12;2292:34;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2336:18:118;;;2357:11;2336:32;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2383:21:118;;;:26;2379:197;;2551:14;734:8;2551:3;:14;:::i;:::-;2527:38;;2379:197;2585:18;;;:32;;;;:6;1536:1088;-1:-1:-1;;;1536:1088:118:o;1989:232:45:-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:45;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:45;;;-1:-1:-1;;;;;2120:29:45;;;;;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:45;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:45;;;-1:-1:-1;;;;;3738:32:45;;;;;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;4078:543:118:-;4349:14;4382:232;4406:4;4424:8;4446:17;4477:8;4499:5;4518:12;4544:11;4569:35;;;;;;;;4602:1;4569:35;;;4382:10;:232::i;:::-;4375:239;4078:543;-1:-1:-1;;;;;;;;4078:543:118:o;546:124:45:-;595:15;637:25;;;;;;;;;;;;;;;;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;;;;;:8;:26::i;5475:378:118:-;5625:7;5660:11;5625:7;5701:27;5706:18;975:7;5716:3;5707:12;;;5706:18;:::i;:::-;5726:1;5701:4;:27::i;:::-;5681:47;-1:-1:-1;5843:3:118;881:8;5816:9;5820:5;975:7;5816:9;:::i;:::-;5792:19;5802:9;-1:-1:-1;;;5792:19:118;:::i;:::-;5774:14;975:7;5774:10;:14;:::i;:::-;:38;;;;:::i;:::-;:52;;;;:::i;:::-;5748:21;5760:9;5748;:21;:::i;:::-;5747:80;;;;:::i;:::-;5746:92;;;;:::i;:::-;5745:101;;;5475:378;-1:-1:-1;;;;;;;5475:378:118:o;2630:1442::-;2962:14;3039:45;3099:68;3109:17;3128:12;3142:11;3155;3099:9;:68::i;:::-;3212:16;;;3226:1;3212:16;;;;;;;;3039:128;;-1:-1:-1;3178:31:118;;3212:16;;;;;;;;;;;;-1:-1:-1;3212:16:118;3178:50;;3266:4;3238:14;3253:1;3238:17;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;3238:33:118;;;-1:-1:-1;;;;;3238:33:118;;;;;3309:10;3281:14;3296:1;3281:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3281:39:118;;;:17;;;;;;;;;:39;4445:42:9;;3607:19:118;;;3603:64;;-1:-1:-1;3651:5:118;3603:64;3685:4;-1:-1:-1;;;;;3685:33:118;;3773:55;3789:8;3799:12;:10;:12::i;:::-;3813:14;3773:15;:55::i;:::-;3850:8;3884:6;3873:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;3905:6;3925:1;3940:8;3962:14;3685:301;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3676:310;;4052:12;4004:60;;;;;;;;:::i;:::-;4023:8;-1:-1:-1;;;;;4004:42:118;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:60;;;;;;;;:::i;:::-;;3997:68;;;;:::i;:::-;2978:1094;;;2630:1442;;;;;;;;;;:::o;3241:119:45:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:55;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:55;20439:125;-1:-1:-1;;20439:125:55:o;4627:114:118:-;4690:7;4716:18;4726:8;4716:7;:18;:::i;:::-;4709:25;4627:114;-1:-1:-1;;4627:114:118:o;5022:447::-;5083:15;-1:-1:-1;;;5118:2:118;:12;5110:53;;;;-1:-1:-1;;;5110:53:118;;16438:2:125;5110:53:118;;;16420:21:125;16477:2;16457:18;;;16450:30;16516;16496:18;;;16489:58;16564:18;;5110:53:118;;;;;;;;;-1:-1:-1;;;;5185:2:118;5209;5248:215;5255:5;;5248:215;;5280:1;5284;5280:5;5289:1;5280:10;5276:177;;5314:10;5319:1;5322;5314:4;:10::i;:::-;5310:14;-1:-1:-1;5348:1:118;5342:7;5248:215;;5276:177;5398:16;5403:7;5412:1;5398:4;:16::i;:::-;5388:26;-1:-1:-1;5432:6:118;5437:1;5432:6;;:::i;:::-;;;5248:215;;;5100:369;;5022:447;;;;:::o;20158:242:55:-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:55;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;523:25:125;;;20293:33:55;-1:-1:-1;20344:7:55;;;;496:18:125;;20344:19:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;;;;20337:26;;-1:-1:-1;20373:8:55;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;4747:269:118:-;4808:15;-1:-1:-1;;;4843:2:118;:13;;4835:66;;;;-1:-1:-1;;;4835:66:118;;17701:2:125;4835:66:118;;;17683:21:125;17740:2;17720:18;;;17713:30;17779:34;17759:18;;;17752:62;17850:10;17830:18;;;17823:38;17878:19;;4835:66:118;17499:404:125;4835:66:118;-1:-1:-1;;;4919:2:118;:12;4911:53;;;;-1:-1:-1;;;4911:53:118;;18110:2:125;4911:53:118;;;18092:21:125;18149:2;18129:18;;;18122:30;18188;18168:18;;;18161:58;18236:18;;4911:53:118;17908:352:125;4911:53:118;5006:3;881:8;4983:7;4988:2;4983;:7;:::i;:::-;4982:19;;;;:::i;:::-;4981:28;;;4747:269;-1:-1:-1;;;4747:269:118:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;559:165:125:-;-1:-1:-1;;;;;649:5:125;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:125;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:125;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:125: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:125;1585:18;;;1572:32;1613:44;1572:32;1613:44;:::i;:::-;1676:7;-1:-1:-1;1734:2:125;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:125;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:125;3368:39;;;;3409:4;3364:50;;3149:271;-1:-1:-1;;3149:271:125: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:125: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:125;4025:75;;4120:12;;;;4155:15;;;;3998:1;3991:9;3962:218;;;-1:-1:-1;4196:3:125;;3721:484;-1:-1:-1;;;;;3721:484:125: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:125: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:125;4749:416;-1:-1:-1;4749:416:125: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:125;5582:18;;5569:32;5610:43;5569:32;5610:43;:::i;:::-;5672:7;-1:-1:-1;5698:47:125;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:125;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:125;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:125;7314:15;;;7308:22;-1:-1:-1;;;;;80:54:125;;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:125;7862:18;;7849:32;7890:44;7849:32;7890:44;:::i;:::-;7953:7;-1:-1:-1;8012:2:125;7997:18;;7984:32;8025:44;7984:32;8025:44;:::i;:::-;8088:7;-1:-1:-1;8147:2:125;8132:18;;8119:32;8160:44;8119:32;8160:44;:::i;:::-;8223:7;-1:-1:-1;8282:3:125;8267:19;;8254:33;8296:44;8254:33;8296:44;:::i;:::-;8359:7;-1:-1:-1;8418:3:125;8403:19;;8390:33;8432:43;8390:33;8432:43;:::i;:::-;8494:7;-1:-1:-1;8520:48:125;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:125;;;9099:2;9084:18;;9071:32;;-1:-1:-1;9150:2:125;9135:18;;9122:32;;9201:2;9186:18;9173:32;;-1:-1:-1;8826:385:125;-1:-1:-1;8826:385:125: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:125;9727:18;;9714:32;9755:44;9714:32;9755:44;:::i;:::-;9818:7;-1:-1:-1;9877:2:125;9862:18;;9849:32;9890:44;9849:32;9890:44;:::i;:::-;9953:7;-1:-1:-1;10012:2:125;9997:18;;9984:32;10025:44;9984:32;10025:44;:::i;:::-;10088:7;-1:-1:-1;10147:3:125;10132:19;;10119:33;10161:44;10119:33;10161:44;:::i;:::-;10224:7;-1:-1:-1;10283:3:125;10268:19;;10255:33;10297:43;10255:33;10297:43;:::i;:::-;10359:7;-1:-1:-1;10385:48:125;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:125;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:125: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:125;;11565:184;-1:-1:-1;11565:184:125: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:125;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:125;12238:88;12345:4;12342:1;12335:15;12369:4;12366:1;12359:15;12385:184;-1:-1:-1;;;12434:1:125;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:125;12838:88;12949:4;12946:1;12939:15;12977:4;12974:1;12967:15;12803:189;-1:-1:-1;13006:9:125;;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:125;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:125;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:125;14990:128;;;;15132:1;15127:321;;;;14956:492;;14990:128;-1:-1:-1;;15023:24:125;;15011:37;;15091:14;;15084:22;15081:1;15077:30;15068:40;;;-1:-1:-1;14990:128:125;;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:125;;;;;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:125: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:125;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:125: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:125;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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"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\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x9a0dba4c62abd4bc2887a8fec229c2e1916ba0d8bc7bbc8da712188552650752\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://48a99a5af361529ac37e477e3195d6a9355ff5ab2ef3e4d002d80a404da6e4dd\",\"dweb:/ipfs/Qmf8BsNJcG2Lno4gjUV3DfDsDsgNGrCLRMTXkWkm4JnM6u\"]},\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0xf57d2536496fa592ffed2901d5d56e330d7c70955508b9d2ffa60aad76f42586\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://958bc6c5ef6816c7613ee98fa69b002efb6b85b3e4a8448ec2dd20d45d3a68e1\",\"dweb:/ipfs/QmNQtPpCqzvSCf9QVPaaBUvpYWzxCLhp1UWq94qziSagXf\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0x1c576e15a5543c06e92cb45f7162a2aa5dac1a276088ec323f5c0438f69c2e52\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://60cb3de95b895d81666b3899a5d73d620742a5c98558ad9799c0464da7b3ab55\",\"dweb:/ipfs/QmReM4jMH5Vc6gGeo7UtHFruHVnqY2rWaecXr1FwDmA6gE\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/test/CVStrategyHelpers.sol\":{\"keccak256\":\"0xfcc390c70622db9346166a485f9bb93b1ff84ad531791177a6a23295649c3e24\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://b3c3bde815da0a72a764836b1237aee87cdb225e1762845a3fc85391c52bc0fc\",\"dweb:/ipfs/QmRnav8sgfUvu6njHS4A4vrjDuxdYiz4Z4nWboj68BPEt3\"]}},\"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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"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"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x9a0dba4c62abd4bc2887a8fec229c2e1916ba0d8bc7bbc8da712188552650752","urls":["bzz-raw://48a99a5af361529ac37e477e3195d6a9355ff5ab2ef3e4d002d80a404da6e4dd","dweb:/ipfs/Qmf8BsNJcG2Lno4gjUV3DfDsDsgNGrCLRMTXkWkm4JnM6u"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0xf57d2536496fa592ffed2901d5d56e330d7c70955508b9d2ffa60aad76f42586","urls":["bzz-raw://958bc6c5ef6816c7613ee98fa69b002efb6b85b3e4a8448ec2dd20d45d3a68e1","dweb:/ipfs/QmNQtPpCqzvSCf9QVPaaBUvpYWzxCLhp1UWq94qziSagXf"],"license":"MIT"},"pkg/contracts/src/RegistryCommunity.sol":{"keccak256":"0x1c576e15a5543c06e92cb45f7162a2aa5dac1a276088ec323f5c0438f69c2e52","urls":["bzz-raw://60cb3de95b895d81666b3899a5d73d620742a5c98558ad9799c0464da7b3ab55","dweb:/ipfs/QmReM4jMH5Vc6gGeo7UtHFruHVnqY2rWaecXr1FwDmA6gE"],"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/test/CVStrategyHelpers.sol":{"keccak256":"0xfcc390c70622db9346166a485f9bb93b1ff84ad531791177a6a23295649c3e24","urls":["bzz-raw://b3c3bde815da0a72a764836b1237aee87cdb225e1762845a3fc85391c52bc0fc","dweb:/ipfs/QmRnav8sgfUvu6njHS4A4vrjDuxdYiz4Z4nWboj68BPEt3"],"license":"AGPL-3.0-or-later"}},"version":1},"id":118} \ 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":"0x60016080908152610120604052602e60c081815260a09162001dfe60e0399052805160099081556020820151600a906200003a9082620000f6565b5050503480156200004a57600080fd5b50620001c2565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200007c57607f821691505b6020821081036200009d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620000f157600081815260208120601f850160051c81016020861015620000cc5750805b601f850160051c820191505b81811015620000ed57828155600101620000d8565b5050505b505050565b81516001600160401b0381111562000112576200011262000051565b6200012a8162000123845462000067565b84620000a3565b602080601f831160018114620001625760008415620001495750858301515b600019600386901b1c1916600185901b178555620000ed565b600085815260208120601f198616915b82811015620001935788860151825594840194600190910190840162000172565b5085821015620001b25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611c2c80620001d26000396000f3fe608060405234801561001057600080fd5b50600436106102ac5760003560e01c8063770b2e661161017b578063aa3744bd116100d8578063da4bf0871161008c578063e99ce91111610071578063e99ce91114610445578063ed62303a14610458578063ef0d790f1461046b57600080fd5b8063da4bf08714610435578063dac4eb161461043d57600080fd5b8063d1f2cd88116100bd578063d1f2cd8814610412578063d5bee9f51461041a578063d8c12dc21461042257600080fd5b8063aa3744bd14610402578063d1e82b581461040a57600080fd5b80638c7408c41161012f5780638e3c2493116101145780638e3c2493146103d7578063a0cf0aea146103df578063a407c67a146103fa57600080fd5b80638c7408c4146102ec5780638e0d1a50146103cf57600080fd5b80637b2edf32116101605780637b2edf32146103bf5780637cbe79ed146103c7578063829e423f146102ec57600080fd5b8063770b2e661461039757806379e62d0d146103b757600080fd5b8063392f37e91161022957806366d003ac116101dd57806370a32944116101c257806370a329441461038757806374d9284e146102ec578063759c9a861461038f57600080fd5b806366d003ac146103775780636a38dd0a1461037f57600080fd5b80634bf4ba211161020e5780634bf4ba2114610352578063587c1243146103675780635aff59991461036f57600080fd5b8063392f37e9146103335780633f26479e1461034957600080fd5b8063174eedde116102805780631e7bcb2e116102655780631e7bcb2e146102fb5780632e0f26251461030357806337d1c4041461032057600080fd5b8063174eedde146102ec5780631b96dce6146102f357600080fd5b8062b1fad7146102b1578063030e4006146102d65780630688b135146102de5780630f166ad4146102e6575b600080fd5b6102b9610473565b6040516001600160a01b0390911681526020015b60405180910390f35b6102b96104b8565b6102b96104f8565b306102b9565b60006102b9565b6102b9610538565b6102b9610578565b610312670de0b6b3a764000081565b6040519081526020016102cd565b61031261032e366004611459565b6105b8565b61033b6106a2565b6040516102cd929190611582565b61031261271081565b61035a610739565b6040516102cd91906115e7565b6102b961075c565b6102b961079c565b6102b96107dc565b6102b961081c565b61035a61085c565b6102b96108f4565b6103aa6103a5366004611664565b610934565b6040516102cd91906116e7565b61035a610a0f565b6102b9610a77565b6102b9610ab7565b6102b9610af7565b6102b9610b37565b6102b973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61035a610b77565b6102b9610bdf565b6102b9610c1f565b6102b9610c5f565b6102b9610c9f565b610312610430366004611781565b610cdf565b6102b9610d0c565b6102b9610d4c565b610312610453366004611813565b610d8c565b610312610466366004611845565b610e26565b6102b9611029565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250611065565b905090565b60006104b36040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250611065565b600b54600090610697576040805180820182526001815281518083018352600c81527f506f6f6c50726f66696c6531000000000000000000000000000000000000000060208281019190915282015290517f3a92f65f0000000000000000000000000000000000000000000000000000000081526001600160a01b03861691633a92f65f9161065091600291889088906004016118e9565b6020604051808303816000875af115801561066f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106939190611979565b600b555b50600b549392505050565b60098054600a80549192916106b690611992565b80601f01602080910402602001604051908101604052809291908181526020018280546106e290611992565b801561072f5780601f106107045761010080835404028352916020019161072f565b820191906000526020600020905b81548152906001019060200180831161071257829003601f168201915b5050505050905082565b604080516002808252606080830184529260208301908036833701905050905090565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250611065565b60006104b36040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610889610578565b8160008151811061089c5761089c6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610a77565b816001815181106108d7576108d76119cc565b6001600160a01b0390921660209283029190910190910152919050565b60006104b36040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250611065565b61093c611380565b61094d670de0a46bc207d800611077565b60208201526109636702c68af0bb140000611077565b604082015261097866038d7ea4c68000611077565b60608201526001600160a01b038516815260a0810184600281111561099f5761099f6116bd565b908160028111156109b2576109b26116bd565b90525060c081018360038111156109cb576109cb6116bd565b908160038111156109de576109de6116bd565b9052508151600003610a00576109fd670de0b6b3a764000060c86119f8565b82525b60e08101919091529392505050565b60408051600280825260608083018452926000929190602083019080368337019050509050610a3c610473565b81600081518110610a4f57610a4f6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c461081c565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610ba461075c565b81600081518110610bb757610bb76119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610b37565b60006104b36040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250611065565b6000610d008888888888888860405180602001604052806000815250610e26565b98975050505050505050565b60006104b36040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250611065565b60008481610daa610da462989680608087901b611a0f565b8361108e565b905060806f80000000000000000000000000000000610dcc8662989680611a31565b610dda84600160801b611a31565b610de7629896808a6119f8565b610df191906119f8565b610dfb9190611a0f565b610e0589856119f8565b610e0f9190611a44565b610e199190611a44565b901c979650505050505050565b600080610e3588868686610934565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610e6f57610e6f6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250503381600181518110610ea357610ea36119cc565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90881615610ed95750865b8b6001600160a01b031663e1007d4a610efa8b610ef4610af7565b866105b8565b8d86604051602001610f0c91906116e7565b6040516020818303038152906040528560006009896040518863ffffffff1660e01b8152600401610f439796959493929190611a57565b6020604051808303816000875af1158015610f62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f869190611979565b9350866002811115610f9a57610f9a6116bd565b8b6001600160a01b031663351d9f966040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffc9190611b68565b600281111561100d5761100d6116bd565b1461101a5761101a611b85565b50505098975050505050505050565b60006104b36040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006110708261113c565b5092915050565b600061108864174876e80083611a0f565b92915050565b6000600160801b83106110e85760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b801561113457806001166000036111165761110c8283611281565b915060011c6110f1565b6111208383611281565b925061112d600182611a31565b90506110f1565b505092915050565b600080826040516020016111509190611b9b565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156111d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f59190611bb7565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061124a9085908790600401611bd4565b600060405180830381600087803b15801561126457600080fd5b505af1158015611278573d6000803e3d6000fd5b50505050915091565b6000600160801b8311156112fd5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e31323800000000000000000000000000000000000000000000000060648201526084016110df565b600160801b82106113505760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e3132380000000060448201526064016110df565b60806f8000000000000000000000000000000061136d84866119f8565b6113779190611a44565b901c9392505050565b60405180610120016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600060028111156113cb576113cb6116bd565b8152602001600081526020016113ed6040518060200160405280600081525090565b8152600060209091015290565b6001600160a01b038116811461140f57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561145157611451611412565b604052919050565b60008060006060848603121561146e57600080fd5b8335611479816113fa565b925060208481013561148a816113fa565b9250604085013567ffffffffffffffff808211156114a757600080fd5b818701915087601f8301126114bb57600080fd5b8135818111156114cd576114cd611412565b8060051b91506114de848301611428565b818152918301840191848101908a8411156114f857600080fd5b938501935b838510156115225784359250611512836113fa565b82825293850193908501906114fd565b8096505050505050509250925092565b60005b8381101561154d578181015183820152602001611535565b50506000910152565b6000815180845261156e816020860160208601611532565b601f01601f19169290920160200192915050565b82815260406020820152600061159b6040830184611556565b949350505050565b600081518084526020808501945080840160005b838110156115dc5781516001600160a01b0316875295820195908201906001016115b7565b509495945050505050565b6020815260006115fa60208301846115a3565b9392505050565b6003811061140f57600080fd5b80356004811061161d57600080fd5b919050565b60006020828403121561163457600080fd5b6040516020810181811067ffffffffffffffff8211171561165757611657611412565b6040529135825250919050565b6000806000806080858703121561167a57600080fd5b8435611685816113fa565b9350602085013561169581611601565b92506116a36040860161160e565b91506116b28660608701611622565b905092959194509250565b634e487b7160e01b600052602160045260246000fd5b600481106116e3576116e36116bd565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061173a5761173a6116bd565b8060a08401525060c083015161175360c08401826116d3565b5060e083015161176660e0840182519052565b50610100838101516001600160a01b03811684830152611134565b600080600080600080600060e0888a03121561179c57600080fd5b87356117a7816113fa565b965060208801356117b7816113fa565b955060408801356117c7816113fa565b945060608801356117d7816113fa565b935060808801356117e7816113fa565b925060a08801356117f781611601565b915061180560c0890161160e565b905092959891949750929550565b6000806000806080858703121561182957600080fd5b5050823594602084013594506040840135936060013592509050565b600080600080600080600080610100898b03121561186257600080fd5b883561186d816113fa565b9750602089013561187d816113fa565b9650604089013561188d816113fa565b9550606089013561189d816113fa565b945060808901356118ad816113fa565b935060a08901356118bd81611601565b92506118cb60c08a0161160e565b91506118da8a60e08b01611622565b90509295985092959890939650565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e06040820152835160e082015260006020850151604061010084015261194b610120840182611556565b90506001600160a01b0385166060840152828103608084015261196e81856115a3565b979650505050505050565b60006020828403121561198b57600080fd5b5051919050565b600181811c908216806119a657607f821691505b6020821081036119c657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417611088576110886119e2565b600082611a2c57634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115611088576110886119e2565b80820180821115611088576110886119e2565b878152600060206001600160a01b03808a168285015260e06040850152611a8160e085018a611556565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c905085821680611ac157607f821691505b8782108103611ade57634e487b7160e01b84526022600452602484fd5b60408601829052606086019550808015611aff5760018114611b1557611b40565b60ff198416875282151560051b87019450611b40565b60008681526020902060005b84811015611b3a57815489820152908901908a01611b21565b88019550505b5050505086810360c0880152611b5681896115a3565b9e9d5050505050505050505050505050565b600060208284031215611b7a57600080fd5b81516115fa81611601565b634e487b7160e01b600052600160045260246000fd5b60008251611bad818460208701611532565b9190910192915050565b600060208284031215611bc957600080fd5b81516115fa816113fa565b6001600160a01b038316815260406020820152600061159b604083018461155656fea2646970667358221220c9293cf871558d26647d5027eb7f9505ddef51b2ecc036c8a88e7100f1bea4ad64736f6c63430008130033516d57347a464c464a524e374a3637457a4e6d64433272324d397532694a44686132666a3547656536684a7a5359","sourceMap":"608:1:121:-:0;508:5347;588:82;;;;508:5347;588:82;;;;;;;;;;;;;561:109;;;;;;;;;;;;;;;;:::i;:::-;;;;508:5347;;;;;;;;;;;;14:127:128;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:128;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:128;;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:128;;;2580:26;2531:89;-1:-1:-1;;1335:1:128;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:128;;;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:128;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:128;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:128:o;:::-;508:5347:121;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106102ac5760003560e01c8063770b2e661161017b578063aa3744bd116100d8578063da4bf0871161008c578063e99ce91111610071578063e99ce91114610445578063ed62303a14610458578063ef0d790f1461046b57600080fd5b8063da4bf08714610435578063dac4eb161461043d57600080fd5b8063d1f2cd88116100bd578063d1f2cd8814610412578063d5bee9f51461041a578063d8c12dc21461042257600080fd5b8063aa3744bd14610402578063d1e82b581461040a57600080fd5b80638c7408c41161012f5780638e3c2493116101145780638e3c2493146103d7578063a0cf0aea146103df578063a407c67a146103fa57600080fd5b80638c7408c4146102ec5780638e0d1a50146103cf57600080fd5b80637b2edf32116101605780637b2edf32146103bf5780637cbe79ed146103c7578063829e423f146102ec57600080fd5b8063770b2e661461039757806379e62d0d146103b757600080fd5b8063392f37e91161022957806366d003ac116101dd57806370a32944116101c257806370a329441461038757806374d9284e146102ec578063759c9a861461038f57600080fd5b806366d003ac146103775780636a38dd0a1461037f57600080fd5b80634bf4ba211161020e5780634bf4ba2114610352578063587c1243146103675780635aff59991461036f57600080fd5b8063392f37e9146103335780633f26479e1461034957600080fd5b8063174eedde116102805780631e7bcb2e116102655780631e7bcb2e146102fb5780632e0f26251461030357806337d1c4041461032057600080fd5b8063174eedde146102ec5780631b96dce6146102f357600080fd5b8062b1fad7146102b1578063030e4006146102d65780630688b135146102de5780630f166ad4146102e6575b600080fd5b6102b9610473565b6040516001600160a01b0390911681526020015b60405180910390f35b6102b96104b8565b6102b96104f8565b306102b9565b60006102b9565b6102b9610538565b6102b9610578565b610312670de0b6b3a764000081565b6040519081526020016102cd565b61031261032e366004611459565b6105b8565b61033b6106a2565b6040516102cd929190611582565b61031261271081565b61035a610739565b6040516102cd91906115e7565b6102b961075c565b6102b961079c565b6102b96107dc565b6102b961081c565b61035a61085c565b6102b96108f4565b6103aa6103a5366004611664565b610934565b6040516102cd91906116e7565b61035a610a0f565b6102b9610a77565b6102b9610ab7565b6102b9610af7565b6102b9610b37565b6102b973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61035a610b77565b6102b9610bdf565b6102b9610c1f565b6102b9610c5f565b6102b9610c9f565b610312610430366004611781565b610cdf565b6102b9610d0c565b6102b9610d4c565b610312610453366004611813565b610d8c565b610312610466366004611845565b610e26565b6102b9611029565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250611065565b905090565b60006104b36040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250611065565b600b54600090610697576040805180820182526001815281518083018352600c81527f506f6f6c50726f66696c6531000000000000000000000000000000000000000060208281019190915282015290517f3a92f65f0000000000000000000000000000000000000000000000000000000081526001600160a01b03861691633a92f65f9161065091600291889088906004016118e9565b6020604051808303816000875af115801561066f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106939190611979565b600b555b50600b549392505050565b60098054600a80549192916106b690611992565b80601f01602080910402602001604051908101604052809291908181526020018280546106e290611992565b801561072f5780601f106107045761010080835404028352916020019161072f565b820191906000526020600020905b81548152906001019060200180831161071257829003601f168201915b5050505050905082565b604080516002808252606080830184529260208301908036833701905050905090565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250611065565b60006104b36040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610889610578565b8160008151811061089c5761089c6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610a77565b816001815181106108d7576108d76119cc565b6001600160a01b0390921660209283029190910190910152919050565b60006104b36040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250611065565b61093c611380565b61094d670de0a46bc207d800611077565b60208201526109636702c68af0bb140000611077565b604082015261097866038d7ea4c68000611077565b60608201526001600160a01b038516815260a0810184600281111561099f5761099f6116bd565b908160028111156109b2576109b26116bd565b90525060c081018360038111156109cb576109cb6116bd565b908160038111156109de576109de6116bd565b9052508151600003610a00576109fd670de0b6b3a764000060c86119f8565b82525b60e08101919091529392505050565b60408051600280825260608083018452926000929190602083019080368337019050509050610a3c610473565b81600081518110610a4f57610a4f6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c461081c565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610ba461075c565b81600081518110610bb757610bb76119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610b37565b60006104b36040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250611065565b6000610d008888888888888860405180602001604052806000815250610e26565b98975050505050505050565b60006104b36040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250611065565b60008481610daa610da462989680608087901b611a0f565b8361108e565b905060806f80000000000000000000000000000000610dcc8662989680611a31565b610dda84600160801b611a31565b610de7629896808a6119f8565b610df191906119f8565b610dfb9190611a0f565b610e0589856119f8565b610e0f9190611a44565b610e199190611a44565b901c979650505050505050565b600080610e3588868686610934565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610e6f57610e6f6119cc565b60200260200101906001600160a01b031690816001600160a01b0316815250503381600181518110610ea357610ea36119cc565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90881615610ed95750865b8b6001600160a01b031663e1007d4a610efa8b610ef4610af7565b866105b8565b8d86604051602001610f0c91906116e7565b6040516020818303038152906040528560006009896040518863ffffffff1660e01b8152600401610f439796959493929190611a57565b6020604051808303816000875af1158015610f62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f869190611979565b9350866002811115610f9a57610f9a6116bd565b8b6001600160a01b031663351d9f966040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffc9190611b68565b600281111561100d5761100d6116bd565b1461101a5761101a611b85565b50505098975050505050505050565b60006104b36040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006110708261113c565b5092915050565b600061108864174876e80083611a0f565b92915050565b6000600160801b83106110e85760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b801561113457806001166000036111165761110c8283611281565b915060011c6110f1565b6111208383611281565b925061112d600182611a31565b90506110f1565b505092915050565b600080826040516020016111509190611b9b565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156111d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f59190611bb7565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061124a9085908790600401611bd4565b600060405180830381600087803b15801561126457600080fd5b505af1158015611278573d6000803e3d6000fd5b50505050915091565b6000600160801b8311156112fd5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e31323800000000000000000000000000000000000000000000000060648201526084016110df565b600160801b82106113505760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e3132380000000060448201526064016110df565b60806f8000000000000000000000000000000061136d84866119f8565b6113779190611a44565b901c9392505050565b60405180610120016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600060028111156113cb576113cb6116bd565b8152602001600081526020016113ed6040518060200160405280600081525090565b8152600060209091015290565b6001600160a01b038116811461140f57600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561145157611451611412565b604052919050565b60008060006060848603121561146e57600080fd5b8335611479816113fa565b925060208481013561148a816113fa565b9250604085013567ffffffffffffffff808211156114a757600080fd5b818701915087601f8301126114bb57600080fd5b8135818111156114cd576114cd611412565b8060051b91506114de848301611428565b818152918301840191848101908a8411156114f857600080fd5b938501935b838510156115225784359250611512836113fa565b82825293850193908501906114fd565b8096505050505050509250925092565b60005b8381101561154d578181015183820152602001611535565b50506000910152565b6000815180845261156e816020860160208601611532565b601f01601f19169290920160200192915050565b82815260406020820152600061159b6040830184611556565b949350505050565b600081518084526020808501945080840160005b838110156115dc5781516001600160a01b0316875295820195908201906001016115b7565b509495945050505050565b6020815260006115fa60208301846115a3565b9392505050565b6003811061140f57600080fd5b80356004811061161d57600080fd5b919050565b60006020828403121561163457600080fd5b6040516020810181811067ffffffffffffffff8211171561165757611657611412565b6040529135825250919050565b6000806000806080858703121561167a57600080fd5b8435611685816113fa565b9350602085013561169581611601565b92506116a36040860161160e565b91506116b28660608701611622565b905092959194509250565b634e487b7160e01b600052602160045260246000fd5b600481106116e3576116e36116bd565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061173a5761173a6116bd565b8060a08401525060c083015161175360c08401826116d3565b5060e083015161176660e0840182519052565b50610100838101516001600160a01b03811684830152611134565b600080600080600080600060e0888a03121561179c57600080fd5b87356117a7816113fa565b965060208801356117b7816113fa565b955060408801356117c7816113fa565b945060608801356117d7816113fa565b935060808801356117e7816113fa565b925060a08801356117f781611601565b915061180560c0890161160e565b905092959891949750929550565b6000806000806080858703121561182957600080fd5b5050823594602084013594506040840135936060013592509050565b600080600080600080600080610100898b03121561186257600080fd5b883561186d816113fa565b9750602089013561187d816113fa565b9650604089013561188d816113fa565b9550606089013561189d816113fa565b945060808901356118ad816113fa565b935060a08901356118bd81611601565b92506118cb60c08a0161160e565b91506118da8a60e08b01611622565b90509295985092959890939650565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e06040820152835160e082015260006020850151604061010084015261194b610120840182611556565b90506001600160a01b0385166060840152828103608084015261196e81856115a3565b979650505050505050565b60006020828403121561198b57600080fd5b5051919050565b600181811c908216806119a657607f821691505b6020821081036119c657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417611088576110886119e2565b600082611a2c57634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115611088576110886119e2565b80820180821115611088576110886119e2565b878152600060206001600160a01b03808a168285015260e06040850152611a8160e085018a611556565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c905085821680611ac157607f821691505b8782108103611ade57634e487b7160e01b84526022600452602484fd5b60408601829052606086019550808015611aff5760018114611b1557611b40565b60ff198416875282151560051b87019450611b40565b60008681526020902060005b84811015611b3a57815489820152908901908a01611b21565b88019550505b5050505086810360c0880152611b5681896115a3565b9e9d5050505050505050505050505050565b600060208284031215611b7a57600080fd5b81516115fa81611601565b634e487b7160e01b600052600160045260246000fd5b60008251611bad818460208701611532565b9190910192915050565b600060208284031215611bc957600080fd5b81516115fa816113fa565b6001600160a01b038316815260406020820152600061159b604083018461155656fea2646970667358221220c9293cf871558d26647d5027eb7f9505ddef51b2ecc036c8a88e7100f1bea4ad64736f6c63430008130033","sourceMap":"508:5347:121:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:29;;;:::i;:::-;;;-1:-1:-1;;;;;310:55:128;;;292:74;;280:2;265:18;1763:107:29;;;;;;;;2429:119;;;:::i;4045:101::-;;;:::i;226:92::-;306:4;226:92;;905:138;968:7;905:138;;3126:109;;;:::i;2554:113::-;;;:::i;699:43:121:-;;734:8;699:43;;;;;523:25:128;;;511:2;496:18;699:43:121;377:177:128;1093:437:121;;;;;;:::i;:::-;;:::i;561:109::-;;;:::i;:::-;;;;;;;;:::i;748:50::-;;791:7;748:50;;1331:118:29;;;:::i;:::-;;;;;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;4152:99::-;;;:::i;1876:107::-;;;:::i;2792:241::-;;;:::i;4376:105::-;;;:::i;1536:1088:121:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1989:232:29:-;;;:::i;2673:113::-;;;:::i;439:101::-;;;:::i;1537:::-;;;:::i;3485:113::-;;;:::i;4412:75:9:-;;4445:42;4412:75;;3604:241:29;;;:::i;3938:101::-;;;:::i;1644:113::-;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;4078:543:121:-;;;;;;:::i;:::-;;:::i;546:124:29:-;;;:::i;324:109::-;;;:::i;5475:378:121:-;;;;;;:::i;:::-;;:::i;2630:1442::-;;;;;;:::i;:::-;;:::i;3241:119:29:-;;;:::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;1093:437:121:-;1265:16;;1238:7;;1261:230;;1391:48;;;;;;;;1411:1;1391:48;;;;;;;;;;;;;;;;;;;;;;;;1330:150;;;;;-1:-1:-1;;;;;1330:22:121;;;;;:150;;1370:1;;1441:10;;1453:13;;1330:150;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1311:16;:169;1261:230;-1:-1:-1;1507:16:121;;1093:437;;;;;:::o;561:109::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1331:118:29:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:29;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:29;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:29;;;-1:-1:-1;;;;;2926:32:29;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:29;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:29:o;4376:105::-;4424:7;4450:24;;;;;;;;;;;;;;;;;;:8;:24::i;1536:1088:121:-;1776:45;;:::i;:::-;1899:30;1913:15;1899:13;:30::i;:::-;1884:12;;;:45;2046:24;2060:9;2046:13;:24::i;:::-;2028:15;;;:42;2115:26;2129:11;2115:13;:26::i;:::-;2099:13;;;:42;-1:-1:-1;;;;;2238:44:121;;;;2292:19;;;2314:12;2292:34;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2336:18:121;;;2357:11;2336:32;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2383:21:121;;;:26;2379:197;;2551:14;734:8;2551:3;:14;:::i;:::-;2527:38;;2379:197;2585:18;;;:32;;;;:6;1536:1088;-1:-1:-1;;;1536:1088:121:o;1989:232:29:-;2094:16;;;2108:1;2094:16;;;2038;2094;;;;;2038;2066:25;;2094:16;2108:1;2094:16;;;;;;;;;;-1:-1:-1;2094:16:29;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:29;;;-1:-1:-1;;;;;2120:29:29;;;;;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:29;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:29;;;-1:-1:-1;;;;;3738:32:29;;;;;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;4078:543:121:-;4349:14;4382:232;4406:4;4424:8;4446:17;4477:8;4499:5;4518:12;4544:11;4569:35;;;;;;;;4602:1;4569:35;;;4382:10;:232::i;:::-;4375:239;4078:543;-1:-1:-1;;;;;;;;4078:543:121:o;546:124:29:-;595:15;637:25;;;;;;;;;;;;;;;;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;;;;;:8;:26::i;5475:378:121:-;5625:7;5660:11;5625:7;5701:27;5706:18;975:7;5716:3;5707:12;;;5706:18;:::i;:::-;5726:1;5701:4;:27::i;:::-;5681:47;-1:-1:-1;5843:3:121;881:8;5816:9;5820:5;975:7;5816:9;:::i;:::-;5792:19;5802:9;-1:-1:-1;;;5792:19:121;:::i;:::-;5774:14;975:7;5774:10;:14;:::i;:::-;:38;;;;:::i;:::-;:52;;;;:::i;:::-;5748:21;5760:9;5748;:21;:::i;:::-;5747:80;;;;:::i;:::-;5746:92;;;;:::i;:::-;5745:101;;;5475:378;-1:-1:-1;;;;;;;5475:378:121:o;2630:1442::-;2962:14;3039:45;3099:68;3109:17;3128:12;3142:11;3155;3099:9;:68::i;:::-;3212:16;;;3226:1;3212:16;;;;;;;;3039:128;;-1:-1:-1;3178:31:121;;3212:16;;;;;;;;;;;;-1:-1:-1;3212:16:121;3178:50;;3266:4;3238:14;3253:1;3238:17;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;3238:33:121;;;-1:-1:-1;;;;;3238:33:121;;;;;3309:10;3281:14;3296:1;3281:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3281:39:121;;;:17;;;;;;;;;:39;4445:42:9;;3607:19:121;;;3603:64;;-1:-1:-1;3651:5:121;3603:64;3685:4;-1:-1:-1;;;;;3685:33:121;;3773:55;3789:8;3799:12;:10;:12::i;:::-;3813:14;3773:15;:55::i;:::-;3850:8;3884:6;3873:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;3905:6;3925:1;3940:8;3962:14;3685:301;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3676:310;;4052:12;4004:60;;;;;;;;:::i;:::-;4023:8;-1:-1:-1;;;;;4004:42:121;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:60;;;;;;;;:::i;:::-;;3997:68;;;;:::i;:::-;2978:1094;;;2630:1442;;;;;;;;;;:::o;3241:119:29:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:39;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:39;20439:125;-1:-1:-1;;20439:125:39:o;4627:114:121:-;4690:7;4716:18;4726:8;4716:7;:18;:::i;:::-;4709:25;4627:114;-1:-1:-1;;4627:114:121:o;5022:447::-;5083:15;-1:-1:-1;;;5118:2:121;:12;5110:53;;;;-1:-1:-1;;;5110:53:121;;16438:2:128;5110:53:121;;;16420:21:128;16477:2;16457:18;;;16450:30;16516;16496:18;;;16489:58;16564:18;;5110:53:121;;;;;;;;;-1:-1:-1;;;;5185:2:121;5209;5248:215;5255:5;;5248:215;;5280:1;5284;5280:5;5289:1;5280:10;5276:177;;5314:10;5319:1;5322;5314:4;:10::i;:::-;5310:14;-1:-1:-1;5348:1:121;5342:7;5248:215;;5276:177;5398:16;5403:7;5412:1;5398:4;:16::i;:::-;5388:26;-1:-1:-1;5432:6:121;5437:1;5432:6;;:::i;:::-;;;5248:215;;;5100:369;;5022:447;;;;:::o;20158:242:39:-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:39;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;523:25:128;;;20293:33:39;-1:-1:-1;20344:7:39;;;;496:18:128;;20344:19:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;;;;20337:26;;-1:-1:-1;20373:8:39;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;4747:269:121:-;4808:15;-1:-1:-1;;;4843:2:121;:13;;4835:66;;;;-1:-1:-1;;;4835:66:121;;17701:2:128;4835:66:121;;;17683:21:128;17740:2;17720:18;;;17713:30;17779:34;17759:18;;;17752:62;17850:10;17830:18;;;17823:38;17878:19;;4835:66:121;17499:404:128;4835:66:121;-1:-1:-1;;;4919:2:121;:12;4911:53;;;;-1:-1:-1;;;4911:53:121;;18110:2:128;4911:53:121;;;18092:21:128;18149:2;18129:18;;;18122:30;18188;18168:18;;;18161:58;18236:18;;4911:53:121;17908:352:128;4911:53:121;5006:3;881:8;4983:7;4988:2;4983;:7;:::i;:::-;4982:19;;;;:::i;:::-;4981:28;;;4747:269;-1:-1:-1;;;4747:269:121:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;559:165:128:-;-1:-1:-1;;;;;649:5:128;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:128;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:128;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:128: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:128;1585:18;;;1572:32;1613:44;1572:32;1613:44;:::i;:::-;1676:7;-1:-1:-1;1734:2:128;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:128;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:128;3368:39;;;;3409:4;3364:50;;3149:271;-1:-1:-1;;3149:271:128: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:128: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:128;4025:75;;4120:12;;;;4155:15;;;;3998:1;3991:9;3962:218;;;-1:-1:-1;4196:3:128;;3721:484;-1:-1:-1;;;;;3721:484:128: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:128: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:128;4749:416;-1:-1:-1;4749:416:128: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:128;5582:18;;5569:32;5610:43;5569:32;5610:43;:::i;:::-;5672:7;-1:-1:-1;5698:47:128;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:128;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:128;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:128;7314:15;;;7308:22;-1:-1:-1;;;;;80:54:128;;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:128;7862:18;;7849:32;7890:44;7849:32;7890:44;:::i;:::-;7953:7;-1:-1:-1;8012:2:128;7997:18;;7984:32;8025:44;7984:32;8025:44;:::i;:::-;8088:7;-1:-1:-1;8147:2:128;8132:18;;8119:32;8160:44;8119:32;8160:44;:::i;:::-;8223:7;-1:-1:-1;8282:3:128;8267:19;;8254:33;8296:44;8254:33;8296:44;:::i;:::-;8359:7;-1:-1:-1;8418:3:128;8403:19;;8390:33;8432:43;8390:33;8432:43;:::i;:::-;8494:7;-1:-1:-1;8520:48:128;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:128;;;9099:2;9084:18;;9071:32;;-1:-1:-1;9150:2:128;9135:18;;9122:32;;9201:2;9186:18;9173:32;;-1:-1:-1;8826:385:128;-1:-1:-1;8826:385:128: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:128;9727:18;;9714:32;9755:44;9714:32;9755:44;:::i;:::-;9818:7;-1:-1:-1;9877:2:128;9862:18;;9849:32;9890:44;9849:32;9890:44;:::i;:::-;9953:7;-1:-1:-1;10012:2:128;9997:18;;9984:32;10025:44;9984:32;10025:44;:::i;:::-;10088:7;-1:-1:-1;10147:3:128;10132:19;;10119:33;10161:44;10119:33;10161:44;:::i;:::-;10224:7;-1:-1:-1;10283:3:128;10268:19;;10255:33;10297:43;10255:33;10297:43;:::i;:::-;10359:7;-1:-1:-1;10385:48:128;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:128;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:128: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:128;;11565:184;-1:-1:-1;11565:184:128: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:128;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:128;12238:88;12345:4;12342:1;12335:15;12369:4;12366:1;12359:15;12385:184;-1:-1:-1;;;12434:1:128;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:128;12838:88;12949:4;12946:1;12939:15;12977:4;12974:1;12967:15;12803:189;-1:-1:-1;13006:9:128;;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:128;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:128;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:128;14990:128;;;;15132:1;15127:321;;;;14956:492;;14990:128;-1:-1:-1;;15023:24:128;;15011:37;;15091:14;;15084:22;15081:1;15077:30;15068:40;;;-1:-1:-1;14990:128:128;;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:128;;;;;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:128: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:128;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:128: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:128;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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025\",\"dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"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/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\":\"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71\",\"dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"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\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"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\":\"0x9a0dba4c62abd4bc2887a8fec229c2e1916ba0d8bc7bbc8da712188552650752\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://48a99a5af361529ac37e477e3195d6a9355ff5ab2ef3e4d002d80a404da6e4dd\",\"dweb:/ipfs/Qmf8BsNJcG2Lno4gjUV3DfDsDsgNGrCLRMTXkWkm4JnM6u\"]},\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0x1c576e15a5543c06e92cb45f7162a2aa5dac1a276088ec323f5c0438f69c2e52\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://60cb3de95b895d81666b3899a5d73d620742a5c98558ad9799c0464da7b3ab55\",\"dweb:/ipfs/QmReM4jMH5Vc6gGeo7UtHFruHVnqY2rWaecXr1FwDmA6gE\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]},\"pkg/contracts/test/CVStrategyHelpers.sol\":{\"keccak256\":\"0xfcc390c70622db9346166a485f9bb93b1ff84ad531791177a6a23295649c3e24\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://b3c3bde815da0a72a764836b1237aee87cdb225e1762845a3fc85391c52bc0fc\",\"dweb:/ipfs/QmRnav8sgfUvu6njHS4A4vrjDuxdYiz4Z4nWboj68BPEt3\"]}},\"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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/security/ReentrancyGuardUpgradeable.sol":{"keccak256":"0xb82ef33f43b6b96109687d91b39c94573fdccaaa423fe28e8ba0977b31c023e0","urls":["bzz-raw://ec9c629f63e66379f9c868a74f971064701cc6e30583872aa653f8b932518025","dweb:/ipfs/QmY4MnZF2VMFwJkAwpdQwxEWA3KcGbNBKEmAVYePMVQWUR"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"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/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":"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69","urls":["bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71","dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"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":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"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":"0x9a0dba4c62abd4bc2887a8fec229c2e1916ba0d8bc7bbc8da712188552650752","urls":["bzz-raw://48a99a5af361529ac37e477e3195d6a9355ff5ab2ef3e4d002d80a404da6e4dd","dweb:/ipfs/Qmf8BsNJcG2Lno4gjUV3DfDsDsgNGrCLRMTXkWkm4JnM6u"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-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":"0x1c576e15a5543c06e92cb45f7162a2aa5dac1a276088ec323f5c0438f69c2e52","urls":["bzz-raw://60cb3de95b895d81666b3899a5d73d620742a5c98558ad9799c0464da7b3ab55","dweb:/ipfs/QmReM4jMH5Vc6gGeo7UtHFruHVnqY2rWaecXr1FwDmA6gE"],"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/test/CVStrategyHelpers.sol":{"keccak256":"0xfcc390c70622db9346166a485f9bb93b1ff84ad531791177a6a23295649c3e24","urls":["bzz-raw://b3c3bde815da0a72a764836b1237aee87cdb225e1762845a3fc85391c52bc0fc","dweb:/ipfs/QmRnav8sgfUvu6njHS4A4vrjDuxdYiz4Z4nWboj68BPEt3"],"license":"AGPL-3.0-or-later"}},"version":1},"id":121} \ 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 ce093966e..a3f0d12fe 100644 --- a/pkg/contracts/out/ERC20.sol/ERC20.json +++ b/pkg/contracts/out/ERC20.sol/ERC20.json @@ -1 +1 @@ -{"abi":[{"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":"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":"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":"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":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","increaseAllowance(address,uint256)":"39509351","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\":[],\"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\":[],\"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\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"difference\",\"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\":[{\"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\":{\"author\":\"Solady (https://github.com/vectorized/solady/blob/main/src/tokens/ERC20.sol)Modified from Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol)Modified from OpenZeppelin (https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol)\",\"details\":\"Note: The ERC20 standard allows minting and transferring to and from the zero address, minting and transferring zero tokens, as well as self-approvals. For performance, this implementation WILL NOT revert for such actions. Please add any checks with overrides if desired.\",\"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.\"}},\"stateVariables\":{\"_ALLOWANCE_SLOT_SEED\":{\"details\":\"The allowance slot of (`owner`, `spender`) is given by: ``` mstore(0x20, spender) mstore(0x0c, _ALLOWANCE_SLOT_SEED) mstore(0x00, owner) let allowanceSlot := keccak256(0x0c, 0x34) ```\"},\"_APPROVAL_EVENT_SIGNATURE\":{\"details\":\"`keccak256(bytes(\\\"Approval(address,address,uint256)\\\"))`.\"},\"_BALANCE_SLOT_SEED\":{\"details\":\"The balance slot of `owner` is given by: ``` mstore(0x0c, _BALANCE_SLOT_SEED) mstore(0x00, owner) let balanceSlot := keccak256(0x0c, 0x20) ```\"},\"_NONCES_SLOT_SEED\":{\"details\":\"The nonce slot of `owner` is given by: ``` mstore(0x0c, _NONCES_SLOT_SEED) mstore(0x00, owner) let nonceSlot := keccak256(0x0c, 0x20) ```\"},\"_TOTAL_SUPPLY_SLOT\":{\"details\":\"The storage slot for the total supply.\"},\"_TRANSFER_EVENT_SIGNATURE\":{\"details\":\"`keccak256(bytes(\\\"Transfer(address,address,uint256)\\\"))`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Simple ERC20 + EIP-2612 implementation.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/lib/solady/src/tokens/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"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":[],"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":"spender","type":"address"},{"internalType":"uint256","name":"difference","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":[{"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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/lib/solady/src/tokens/ERC20.sol":"ERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"}},"version":1},"id":43} \ No newline at end of file +{"abi":[{"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":"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":"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":"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":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","increaseAllowance(address,uint256)":"39509351","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\":[],\"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\":[],\"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\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"difference\",\"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\":[{\"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\":{\"author\":\"Solady (https://github.com/vectorized/solady/blob/main/src/tokens/ERC20.sol)Modified from Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC20.sol)Modified from OpenZeppelin (https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol)\",\"details\":\"Note: The ERC20 standard allows minting and transferring to and from the zero address, minting and transferring zero tokens, as well as self-approvals. For performance, this implementation WILL NOT revert for such actions. Please add any checks with overrides if desired.\",\"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.\"}},\"stateVariables\":{\"_ALLOWANCE_SLOT_SEED\":{\"details\":\"The allowance slot of (`owner`, `spender`) is given by: ``` mstore(0x20, spender) mstore(0x0c, _ALLOWANCE_SLOT_SEED) mstore(0x00, owner) let allowanceSlot := keccak256(0x0c, 0x34) ```\"},\"_APPROVAL_EVENT_SIGNATURE\":{\"details\":\"`keccak256(bytes(\\\"Approval(address,address,uint256)\\\"))`.\"},\"_BALANCE_SLOT_SEED\":{\"details\":\"The balance slot of `owner` is given by: ``` mstore(0x0c, _BALANCE_SLOT_SEED) mstore(0x00, owner) let balanceSlot := keccak256(0x0c, 0x20) ```\"},\"_NONCES_SLOT_SEED\":{\"details\":\"The nonce slot of `owner` is given by: ``` mstore(0x0c, _NONCES_SLOT_SEED) mstore(0x00, owner) let nonceSlot := keccak256(0x0c, 0x20) ```\"},\"_TOTAL_SUPPLY_SLOT\":{\"details\":\"The storage slot for the total supply.\"},\"_TRANSFER_EVENT_SIGNATURE\":{\"details\":\"`keccak256(bytes(\\\"Transfer(address,address,uint256)\\\"))`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Simple ERC20 + EIP-2612 implementation.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/allo-v2/lib/solady/src/tokens/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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"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":[],"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":"spender","type":"address"},{"internalType":"uint256","name":"difference","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":[{"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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/lib/solady/src/tokens/ERC20.sol":"ERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"}},"version":1},"id":27} \ 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 3cbd57158..3a6db4820 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":"0x60806040523480156200001157600080fd5b5060405162000f8a38038062000f8a833981016040819052620000349162000134565b600062000042848262000248565b50600162000051838262000248565b506002805460ff191660ff9290921691909117905550620003149050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200009757600080fd5b81516001600160401b0380821115620000b457620000b46200006f565b604051601f8301601f19908116603f01168101908282118183101715620000df57620000df6200006f565b81604052838152602092508683858801011115620000fc57600080fd5b600091505b8382101562000120578582018301518183018401529082019062000101565b600093810190920192909252949350505050565b6000806000606084860312156200014a57600080fd5b83516001600160401b03808211156200016257600080fd5b620001708783880162000085565b945060208601519150808211156200018757600080fd5b50620001968682870162000085565b925050604084015160ff81168114620001ae57600080fd5b809150509250925092565b600181811c90821680620001ce57607f821691505b602082108103620001ef57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024357600081815260208120601f850160051c810160208610156200021e5750805b601f850160051c820191505b818110156200023f578281556001016200022a565b5050505b505050565b81516001600160401b038111156200026457620002646200006f565b6200027c81620002758454620001b9565b84620001f5565b602080601f831160018114620002b457600084156200029b5750858301515b600019600386901b1c1916600185901b1785556200023f565b600085815260208120601f198616915b82811015620002e557888601518255948401946001909101908401620002c4565b5085821015620003045787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620003246000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea264697066735822122029c8618fd6865c42e44363a1d764e1a2986cae4d3b7aa6f6a16fb25b3e55b1db64736f6c63430008130033","sourceMap":"290:2087:110:-:0;;;410:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;493:5;:13;501:5;493;:13;:::i;:::-;-1:-1:-1;516:7:110;:17;526:7;516;:17;:::i;:::-;-1:-1:-1;543:9:110;:21;;-1:-1:-1;;543:21:110;;;;;;;;;;;;-1:-1:-1;290:2087:110;;-1:-1:-1;290:2087:110;14:127:125;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:125;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:125;;;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:125: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:125;;;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:125;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:125;;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:125;;;4142:26;4093:89;-1:-1:-1;;2897:1:125;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:125;;;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:125;3930:14;;;3946:3;3926:24;3922:37;3918:42;3903:58;3888:74;;3775:201;-1:-1:-1;;;;;4022:1:125;4006:14;;;4002:22;3989:36;;-1:-1:-1;2940:1352:125:o;:::-;290:2087:110;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea264697066735822122029c8618fd6865c42e44363a1d764e1a2986cae4d3b7aa6f6a16fb25b3e55b1db64736f6c63430008130033","sourceMap":"290:2087:110:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;577:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5995:573:43;;;;;;:::i;:::-;;:::i;:::-;;;1192:14:125;;1185:22;1167:41;;1155:2;1140:18;5995:573:43;1027:187:125;4847:195:43;5007:18;5001:25;4847:195;;;1365:25:125;;;1353:2;1338:18;4847:195:43;1219:177:125;1605:189:110;;;;;;:::i;:::-;;:::i;789:98::-;871:9;;789:98;;871:9;;;;1876:36:125;;1864:2;1849:18;789:98:110;1734:184:125;17096:1062:43;;;:::i;1800:184:110:-;;;;;;:::i;:::-;;:::i;893:102::-;;;;;;:::i;:::-;;:::i;:::-;;5108:286:43;;;;;;:::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:110;;;:::i;1001:106::-;;;;;;:::i;:::-;;:::i;1990:184::-;;;;;;:::i;:::-;;:::i;1451:148::-;;;;;;:::i;:::-;;:::i;1270:175::-;;;;;;:::i;:::-;;:::i;14027:3010:43:-;;;;;;:::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:110;;;;;;:::i;:::-;;:::i;577:98::-;631:13;663:5;656:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;577:98;:::o;5995:573:43:-;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:43;5995:573;;;;:::o;1605:189:110:-;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:110:o;17096:1062:43:-;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:43;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:110:-;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:110: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:43:-;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:43;16838:12;;16833:67;16920:4;16913:15;-1:-1:-1;;16990:1:43;16984:4;16977:15;-1:-1:-1;;;;;;14027:3010:43:o;1113:151:110:-;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:43:-;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:43;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:43;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:110;;:::o;20140:1119:43:-;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:43;;;21162:22;;;21135:25;21129:4;-1:-1:-1;21118:70:43;893:102:110;;:::o;7890:1035:43:-;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:43;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:43;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:110;;;:::o;14:548:125:-;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:125: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:125;;;;2874:5;2926:3;2911:19;;2898:33;;-1:-1:-1;2978:3:125;2963:19;;;2950:33;;2296:693;-1:-1:-1;;2296:693:125: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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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},"id":110} \ 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":"0x60806040523480156200001157600080fd5b5060405162000f8a38038062000f8a833981016040819052620000349162000134565b600062000042848262000248565b50600162000051838262000248565b506002805460ff191660ff9290921691909117905550620003149050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200009757600080fd5b81516001600160401b0380821115620000b457620000b46200006f565b604051601f8301601f19908116603f01168101908282118183101715620000df57620000df6200006f565b81604052838152602092508683858801011115620000fc57600080fd5b600091505b8382101562000120578582018301518183018401529082019062000101565b600093810190920192909252949350505050565b6000806000606084860312156200014a57600080fd5b83516001600160401b03808211156200016257600080fd5b620001708783880162000085565b945060208601519150808211156200018757600080fd5b50620001968682870162000085565b925050604084015160ff81168114620001ae57600080fd5b809150509250925092565b600181811c90821680620001ce57607f821691505b602082108103620001ef57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024357600081815260208120601f850160051c810160208610156200021e5750805b601f850160051c820191505b818110156200023f578281556001016200022a565b5050505b505050565b81516001600160401b038111156200026457620002646200006f565b6200027c81620002758454620001b9565b84620001f5565b602080601f831160018114620002b457600084156200029b5750858301515b600019600386901b1c1916600185901b1785556200023f565b600085815260208120601f198616915b82811015620002e557888601518255948401946001909101908401620002c4565b5085821015620003045787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620003246000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea264697066735822122043e5216f68a95e26cf23646381fefd4c928f0bb6a34f50cb8f44c076b357a06d64736f6c63430008130033","sourceMap":"290:2087:113:-:0;;;410:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;493:5;:13;501:5;493;:13;:::i;:::-;-1:-1:-1;516:7:113;:17;526:7;516;:17;:::i;:::-;-1:-1:-1;543:9:113;:21;;-1:-1:-1;;543:21:113;;;;;;;;;;;;-1:-1:-1;290:2087:113;;-1:-1:-1;290:2087:113;14:127:128;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:128;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:128;;;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:128: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:128;;;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:128;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:128;;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:128;;;4142:26;4093:89;-1:-1:-1;;2897:1:128;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:128;;;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:128;3930:14;;;3946:3;3926:24;3922:37;3918:42;3903:58;3888:74;;3775:201;-1:-1:-1;;;;;4022:1:128;4006:14;;;4002:22;3989:36;;-1:-1:-1;2940:1352:128:o;:::-;290:2087:113;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea264697066735822122043e5216f68a95e26cf23646381fefd4c928f0bb6a34f50cb8f44c076b357a06d64736f6c63430008130033","sourceMap":"290:2087:113:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;577:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5995:573:27;;;;;;:::i;:::-;;:::i;:::-;;;1192:14:128;;1185:22;1167:41;;1155:2;1140:18;5995:573:27;1027:187:128;4847:195:27;5007:18;5001:25;4847:195;;;1365:25:128;;;1353:2;1338:18;4847:195:27;1219:177:128;1605:189:113;;;;;;:::i;:::-;;:::i;789:98::-;871:9;;789:98;;871:9;;;;1876:36:128;;1864:2;1849:18;789:98:113;1734:184:128;17096:1062:27;;;:::i;1800:184:113:-;;;;;;:::i;:::-;;:::i;893:102::-;;;;;;:::i;:::-;;:::i;:::-;;5108:286:27;;;;;;:::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:113;;;:::i;1001:106::-;;;;;;:::i;:::-;;:::i;1990:184::-;;;;;;:::i;:::-;;:::i;1451:148::-;;;;;;:::i;:::-;;:::i;1270:175::-;;;;;;:::i;:::-;;:::i;14027:3010:27:-;;;;;;:::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:113;;;;;;:::i;:::-;;:::i;577:98::-;631:13;663:5;656:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;577:98;:::o;5995:573:27:-;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:27;5995:573;;;;:::o;1605:189:113:-;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:113:o;17096:1062:27:-;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:27;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:113:-;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:113: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:27:-;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:27;16838:12;;16833:67;16920:4;16913:15;-1:-1:-1;;16990:1:27;16984:4;16977:15;-1:-1:-1;;;;;;14027:3010:27:o;1113:151:113:-;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:27:-;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:27;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:27;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:113;;:::o;20140:1119:27:-;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:27;;;21162:22;;;21135:25;21129:4;-1:-1:-1;21118:70:27;893:102:113;;:::o;7890:1035:27:-;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:27;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:27;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:113;;;:::o;14:548:128:-;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:128: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:128;;;;2874:5;2926:3;2911:19;;2898:33;;-1:-1:-1;2978:3:128;2963:19;;;2950:33;;2296:693;-1:-1:-1;;2296:693:128: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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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},"id":113} \ 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 7ef757799..2e439eec1 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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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},"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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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},"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 5018da5f0..9e13ccbdc 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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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},"id":69} \ 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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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},"id":53} \ 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 ffefb2240..a2fcf40c7 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/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":\"IERC20Upgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":"IERC20Upgradeable"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"}},"version":1},"id":17} \ 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/allo-v2/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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":"IERC20Upgradeable"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol":{"keccak256":"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f","urls":["bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f","dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"],"license":"MIT"}},"version":1},"id":18} \ 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 885f7163c..49d92c952 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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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},"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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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},"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 c449d14e4..536d8d8d5 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/ISafe.sol\":\"ISafe\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/ISafe.sol":"ISafe"},"evmVersion":"paris","libraries":{}},"sources":{"pkg/contracts/src/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"}},"version":1},"id":112} \ 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/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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/ISafe.sol":"ISafe"},"evmVersion":"paris","libraries":{}},"sources":{"pkg/contracts/src/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"}},"version":1},"id":115} \ 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 ed7c23383..2ae336011 100644 --- a/pkg/contracts/out/MockERC20.sol/MockERC20.json +++ b/pkg/contracts/out/MockERC20.sol/MockERC20.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[],"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":"0x60806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea26469706673582212203a71c64ee302c6df83494a2c33fbaf74dce921f000bc4cd94a0c185c28f9750f64736f6c63430008130033","sourceMap":"290:2027:48:-:0;;;411:100;;;;;;;;;-1:-1:-1;435:20:48;;;;;;;;;;;;-1:-1:-1;;;435:20:48;;;;-1:-1:-1;;435:20:48;;-1:-1:-1;435:20:48;:::i;:::-;-1:-1:-1;465:15:48;;;;;;;;;;;;-1:-1:-1;;;465:15:48;;;;:7;;:15;;:7;:15;:::i;:::-;-1:-1:-1;490:9:48;:14;;-1:-1:-1;;490:14:48;502:2;490:14;;;290:2027;;14:127:125;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:125;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:125;;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:125;;;2580:26;2531:89;-1:-1:-1;;1335:1:125;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:125;;;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:125;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:125;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:125:o;:::-;290:2027:48;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea26469706673582212203a71c64ee302c6df83494a2c33fbaf74dce921f000bc4cd94a0c185c28f9750f64736f6c63430008130033","sourceMap":"290:2027:48:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;517:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5995:573:43;;;;;;:::i;:::-;;:::i;:::-;;;1192:14:125;;1185:22;1167:41;;1155:2;1140:18;5995:573:43;1027:187:125;4847:195:43;5007:18;5001:25;4847:195;;;1365:25:125;;;1353:2;1338:18;4847:195:43;1219:177:125;1545:189:48;;;;;;:::i;:::-;;:::i;729:98::-;811:9;;729:98;;811:9;;;;1876:36:125;;1864:2;1849:18;729:98:48;1734:184:125;17096:1062:43;;;:::i;1740:184:48:-;;;;;;:::i;:::-;;:::i;833:102::-;;;;;;:::i;:::-;;:::i;:::-;;5108:286:43;;;;;;:::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;621:102:48;;;:::i;941:106::-;;;;;;:::i;:::-;;:::i;1930:184::-;;;;;;:::i;:::-;;:::i;1391:148::-;;;;;;:::i;:::-;;:::i;1210:175::-;;;;;;:::i;:::-;;:::i;14027:3010:43:-;;;;;;:::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;1053:151:48;;;;;;:::i;:::-;;:::i;517:98::-;571:13;603:5;596:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;517:98;:::o;5995:573:43:-;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:43;5995:573;;;;:::o;1545:189:48:-;1642:4;1665:62;1684:17;1696:4;1684:11;:17::i;:::-;1703:15;1715:2;1703:11;:15::i;:::-;1720:6;1665:18;:62::i;:::-;1658:69;1545:189;-1:-1:-1;;;;1545:189:48:o;17096:1062:43:-;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:43;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;1740:184:48:-;1837:4;1860:57;1884:20;1896:7;1884:11;:20::i;:::-;1906:10;1860:23;:57::i;:::-;1853:64;1740:184;-1:-1:-1;;;1740:184:48:o;833:102::-;899:29;905:15;917:2;905:11;:15::i;:::-;922:5;899;:29::i;:::-;833:102;;:::o;621:::-;677:13;709:7;702:14;;;;;:::i;941:106::-;1009:31;1015:17;1027:4;1015:11;:17::i;:::-;1034:5;1009;:31::i;1930:184::-;2027:4;2050:57;2074:20;2086:7;2074:11;:20::i;:::-;2096:10;2050:23;:57::i;1391:148::-;1470:4;1493:39;1508:15;1520:2;1508:11;:15::i;:::-;1525:6;1493:14;:39::i;1210:175::-;1313:65;1329:18;1341:5;1329:11;:18::i;:::-;1349:20;1361:7;1349:11;:20::i;:::-;1371:6;1313:15;:65::i;:::-;1210:175;;;:::o;14027:3010:43:-;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:43;16838:12;;16833:67;16920:4;16913:15;-1:-1:-1;;16990:1:43;16984:4;16977:15;-1:-1:-1;;;;;;14027:3010:43:o;1053:151:48:-;1144:53;1154:17;1166:4;1154:11;:17::i;:::-;1173:15;1185:2;1173:11;:15::i;:::-;1190:6;1144:9;:53::i;2120:195::-;2175:14;2292:5;2287:3;2283:15;2280:1;2277:22;2267:32;;2120:195;;;:::o;10886:2203:43:-;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:43;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:43;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;833:102:48;;:::o;20140:1119:43:-;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:43;;;21162:22;;;21135:25;21129:4;-1:-1:-1;21118:70:43;833:102:48;;:::o;7890:1035:43:-;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:43;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:43;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;;1210:175:48;;;:::o;14:548:125:-;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:125: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:125;;;;2874:5;2926:3;2911:19;;2898:33;;-1:-1:-1;2978:3:125;2963:19;;;2950:33;;2296:693;-1:-1:-1;;2296:693:125: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\":[],\"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\":{\"lib/allo-v2/test/utils/MockERC20.sol\":\"MockERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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\"]},\"lib/allo-v2/test/utils/MockERC20.sol\":{\"keccak256\":\"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8\",\"dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/utils/MockERC20.sol":"MockERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/test/utils/MockERC20.sol":{"keccak256":"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa","urls":["bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8","dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ"],"license":"AGPL-3.0-only"}},"version":1},"id":48} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[],"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":"0x60806040523480156200001157600080fd5b5060408051808201909152600a81526926b7b1b5902a37b5b2b760b11b602082015260009062000042908262000125565b506040805180820190915260038152624d544b60e81b60208201526001906200006c908262000125565b506002805460ff19166012179055620001f1565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ab57607f821691505b602082108103620000cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200012057600081815260208120601f850160051c81016020861015620000fb5750805b601f850160051c820191505b818110156200011c5782815560010162000107565b5050505b505050565b81516001600160401b0381111562000141576200014162000080565b620001598162000152845462000096565b84620000d2565b602080601f831160018114620001915760008415620001785750858301515b600019600386901b1c1916600185901b1785556200011c565b600085815260208120601f198616915b82811015620001c257888601518255948401946001909101908401620001a1565b5085821015620001e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620002016000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220b7b1eabef626d1667e359668a6ebccc794d1be7907c1818538699125e755cfbc64736f6c63430008130033","sourceMap":"290:2027:32:-:0;;;411:100;;;;;;;;;-1:-1:-1;435:20:32;;;;;;;;;;;;-1:-1:-1;;;435:20:32;;;;-1:-1:-1;;435:20:32;;-1:-1:-1;435:20:32;:::i;:::-;-1:-1:-1;465:15:32;;;;;;;;;;;;-1:-1:-1;;;465:15:32;;;;:7;;:15;;:7;:15;:::i;:::-;-1:-1:-1;490:9:32;:14;;-1:-1:-1;;490:14:32;502:2;490:14;;;290:2027;;14:127:128;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:128;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:128;;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:128;;;2580:26;2531:89;-1:-1:-1;;1335:1:128;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:128;;;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:128;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:128;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:128:o;:::-;290:2027:32;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220b7b1eabef626d1667e359668a6ebccc794d1be7907c1818538699125e755cfbc64736f6c63430008130033","sourceMap":"290:2027:32:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;517:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5995:573:27;;;;;;:::i;:::-;;:::i;:::-;;;1192:14:128;;1185:22;1167:41;;1155:2;1140:18;5995:573:27;1027:187:128;4847:195:27;5007:18;5001:25;4847:195;;;1365:25:128;;;1353:2;1338:18;4847:195:27;1219:177:128;1545:189:32;;;;;;:::i;:::-;;:::i;729:98::-;811:9;;729:98;;811:9;;;;1876:36:128;;1864:2;1849:18;729:98:32;1734:184:128;17096:1062:27;;;:::i;1740:184:32:-;;;;;;:::i;:::-;;:::i;833:102::-;;;;;;:::i;:::-;;:::i;:::-;;5108:286:27;;;;;;:::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;621:102:32;;;:::i;941:106::-;;;;;;:::i;:::-;;:::i;1930:184::-;;;;;;:::i;:::-;;:::i;1391:148::-;;;;;;:::i;:::-;;:::i;1210:175::-;;;;;;:::i;:::-;;:::i;14027:3010:27:-;;;;;;:::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;1053:151:32;;;;;;:::i;:::-;;:::i;517:98::-;571:13;603:5;596:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;517:98;:::o;5995:573:27:-;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:27;5995:573;;;;:::o;1545:189:32:-;1642:4;1665:62;1684:17;1696:4;1684:11;:17::i;:::-;1703:15;1715:2;1703:11;:15::i;:::-;1720:6;1665:18;:62::i;:::-;1658:69;1545:189;-1:-1:-1;;;;1545:189:32:o;17096:1062:27:-;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:27;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;1740:184:32:-;1837:4;1860:57;1884:20;1896:7;1884:11;:20::i;:::-;1906:10;1860:23;:57::i;:::-;1853:64;1740:184;-1:-1:-1;;;1740:184:32:o;833:102::-;899:29;905:15;917:2;905:11;:15::i;:::-;922:5;899;:29::i;:::-;833:102;;:::o;621:::-;677:13;709:7;702:14;;;;;:::i;941:106::-;1009:31;1015:17;1027:4;1015:11;:17::i;:::-;1034:5;1009;:31::i;1930:184::-;2027:4;2050:57;2074:20;2086:7;2074:11;:20::i;:::-;2096:10;2050:23;:57::i;1391:148::-;1470:4;1493:39;1508:15;1520:2;1508:11;:15::i;:::-;1525:6;1493:14;:39::i;1210:175::-;1313:65;1329:18;1341:5;1329:11;:18::i;:::-;1349:20;1361:7;1349:11;:20::i;:::-;1371:6;1313:15;:65::i;:::-;1210:175;;;:::o;14027:3010:27:-;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:27;16838:12;;16833:67;16920:4;16913:15;-1:-1:-1;;16990:1:27;16984:4;16977:15;-1:-1:-1;;;;;;14027:3010:27:o;1053:151:32:-;1144:53;1154:17;1166:4;1154:11;:17::i;:::-;1173:15;1185:2;1173:11;:15::i;:::-;1190:6;1144:9;:53::i;2120:195::-;2175:14;2292:5;2287:3;2283:15;2280:1;2277:22;2267:32;;2120:195;;;:::o;10886:2203:27:-;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:27;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:27;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;833:102:32;;:::o;20140:1119:27:-;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:27;;;21162:22;;;21135:25;21129:4;-1:-1:-1;21118:70:27;833:102:32;;:::o;7890:1035:27:-;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:27;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:27;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;;1210:175:32;;;:::o;14:548:128:-;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:128: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:128;;;;2874:5;2926:3;2911:19;;2898:33;;-1:-1:-1;2978:3:128;2963:19;;;2950:33;;2296:693;-1:-1:-1;;2296:693:128: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\":[],\"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\":{\"lib/allo-v2/test/utils/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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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\"]},\"lib/allo-v2/test/utils/MockERC20.sol\":{\"keccak256\":\"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8\",\"dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/utils/MockERC20.sol":"MockERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/allo-v2/lib/solady/src/tokens/ERC20.sol":{"keccak256":"0x264e4675697d05dfb9bbe9cc91c6bda7962d934f1e940336fd75d509b7f396c4","urls":["bzz-raw://5856338689f03f36c057203c5085243e104b8487274432062ebf076b512edeea","dweb:/ipfs/QmXrqgaWQikKkHfoBkYPxeMTJWUY5uf7kSmipNbpU35XwK"],"license":"MIT"},"lib/allo-v2/test/utils/MockERC20.sol":{"keccak256":"0xb389347214a50a7d4dd26ce3dcd327a4bae2c6cc490727460d4b8b8740cff3fa","urls":["bzz-raw://d3123d579b4916e8f95e5bad46904ad40b0e74f22a4227f85ef2d31b261280c8","dweb:/ipfs/Qmb7qwzQgg6amzHtoDLwEUTBitbcqQeR3WtgRmRixXzwxQ"],"license":"AGPL-3.0-only"}},"version":1},"id":32} \ 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 2ae70f84f..c2797a07e 100644 --- a/pkg/contracts/out/PassportScorer.sol/PassportScorer.json +++ b/pkg/contracts/out/PassportScorer.sol/PassportScorer.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"_listManager","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"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":"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":"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":"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":"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":"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":"ZeroAddress","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50604051610de3380380610de383398101604081905261002f916100e0565b61003833610066565b610041816100b6565b600180546001600160a01b0319166001600160a01b0392909216919091179055610110565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381166100dd5760405163d92e233d60e01b815260040160405180910390fd5b50565b6000602082840312156100f257600080fd5b81516001600160a01b038116811461010957600080fd5b9392505050565b610cc48061011f6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80638da5cb5b11610097578063d80ea5a011610066578063d80ea5a0146102d8578063f2fde38b146102eb578063f8806a13146102fe578063fc2ebdd11461039757600080fd5b80638da5cb5b1461021d5780638df8b2fe146102425780639857518814610255578063b34e0c471461026857600080fd5b806342a987a0116100d357806342a987a0146101cc578063642ce76b146101ef578063715018a6146102025780637814d5681461020a57600080fd5b80631413d4c014610105578063175188e81461014657806339ebf8231461015b5780633d476830146101b9575b600080fd5b61012c610113366004610b39565b6002602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b610159610154366004610b39565b6103aa565b005b610195610169366004610b39565b6003602052600090815260409020805460019091015460ff81169061010090046001600160a01b031683565b6040805193845291151560208401526001600160a01b03169082015260600161013d565b6101596101c7366004610b39565b6104a3565b6101df6101da366004610b5b565b610513565b604051901515815260200161013d565b6101596101fd366004610b8e565b61059b565b61015961066b565b610159610218366004610bb8565b61067f565b6000546001600160a01b03165b6040516001600160a01b03909116815260200161013d565b60015461022a906001600160a01b031681565b610159610263366004610b39565b610747565b6102bd610276366004610b39565b6040805180820190915260008082526020820152506001600160a01b0316600090815260026020908152604091829020825180840190935280548352600101549082015290565b6040805182518152602092830151928101929092520161013d565b6101596102e6366004610b39565b6107c5565b6101596102f9366004610b39565b61087e565b61036a61030c366004610b39565b6040805160608082018352600080835260208084018290529284018190526001600160a01b0394851681526003835283902083519182018452805482526001015460ff81161515928201929092526101009091049092169082015290565b6040805182518152602080840151151590820152918101516001600160a01b03169082015260600161013d565b6101596103a5366004610c52565b610910565b806103bd6000546001600160a01b031690565b6001600160a01b0316336001600160a01b031614806103e657506001546001600160a01b031633145b8061041257506001600160a01b0381811660009081526003602052604090206001015461010090041633145b156104715761042082610a26565b6001600160a01b03821660008181526003602052604080822060018101805460ff19169055829055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49190a25050565b6040517fe3b6914b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6104ab610a66565b6104b481610a26565b600180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc8690600090a35050565b6001600160a01b03808316600090815260026020908152604080832081518083018352815481526001918201548185015286861685526003845282852083516060810185528154815292015460ff811615159483018590526101009004909516918101919091529192919061058d57600192505050610595565b519051101590505b92915050565b816105ae6000546001600160a01b031690565b6001600160a01b0316336001600160a01b031614806105d757506001546001600160a01b031633145b8061060357506001600160a01b0381811660009081526003602052604090206001015461010090041633145b156104715761061183610a26565b6001600160a01b03831660008181526003602052604090819020849055517f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c099061065e9085815260200190565b60405180910390a2505050565b610673610a66565b61067d6000610ac0565b565b6000546001600160a01b03163314806106a257506001546001600160a01b031633145b15610715576106b082610a26565b6001600160a01b03821660008181526002602090815260409182902084518082558583015160019092018290558351908152918201527f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d910160405180910390a25050565b6040517f7d7b71b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546001600160a01b031633148061076a57506001546001600160a01b031633145b156107155761077881610a26565b6001600160a01b038116600081815260026020526040808220828155600101829055517fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d9190a250565b50565b6001600160a01b03808216600090815260036020526040902060010154829161010090910416330361084c576107fa82610a26565b6001600160a01b0382166000818152600360205260408082206001908101805460ff19169091179055517f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb9190a25050565b6040517f97ffbac900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610886610a66565b6001600160a01b0381166109075760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6107c281610ac0565b6000546001600160a01b031633148061093357506001546001600160a01b031633145b156107155761094183610a26565b61094a81610a26565b6040805160608082018352848252600060208084018281526001600160a01b038781168688018181528b831680875260038652898720985189559351600190980180549151909316610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff981515989098167fffffffffffffffffffffff000000000000000000000000000000000000000000909116179690961790558551888152918201929092529384019290925290917f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb910161065e565b6001600160a01b0381166107c2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546001600160a01b0316331461067d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108fe565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b0381168114610b3457600080fd5b919050565b600060208284031215610b4b57600080fd5b610b5482610b1d565b9392505050565b60008060408385031215610b6e57600080fd5b610b7783610b1d565b9150610b8560208401610b1d565b90509250929050565b60008060408385031215610ba157600080fd5b610baa83610b1d565b946020939093013593505050565b6000808284036060811215610bcc57600080fd5b610bd584610b1d565b92506040601f1982011215610be957600080fd5b506040516040810181811067ffffffffffffffff82111715610c34577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60409081526020858101358352940135938101939093525092909150565b600080600060608486031215610c6757600080fd5b610c7084610b1d565b925060208401359150610c8560408501610b1d565b9050925092509256fea26469706673582212203b88168261897d5269f130e4a4ddfcb90a0e0a90ac15a761697b97bdb1e86dc864736f6c63430008130033","sourceMap":"223:5470:114:-:0;;;1841:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;936:32:75;734:10:81;936:18:75;:32::i;:::-;1895::114::1;1914:12:::0;1895:18:::1;:32::i;:::-;1937:11;:26:::0;;-1:-1:-1;;;;;;1937:26:114::1;-1:-1:-1::0;;;;;1937:26:114;;;::::1;::::0;;;::::1;::::0;;223:5470;;2426:187:75;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:75;;;-1:-1:-1;;;;;;2534:17:75;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;1687:148:114:-;-1:-1:-1;;;;;1760:22:114;;1756:73;;1805:13;;-1:-1:-1;;;1805:13:114;;;;;;;;;;;1756:73;1687:148;:::o;14:290:125:-;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:125;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:125:o;:::-;223:5470:114;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101005760003560e01c80638da5cb5b11610097578063d80ea5a011610066578063d80ea5a0146102d8578063f2fde38b146102eb578063f8806a13146102fe578063fc2ebdd11461039757600080fd5b80638da5cb5b1461021d5780638df8b2fe146102425780639857518814610255578063b34e0c471461026857600080fd5b806342a987a0116100d357806342a987a0146101cc578063642ce76b146101ef578063715018a6146102025780637814d5681461020a57600080fd5b80631413d4c014610105578063175188e81461014657806339ebf8231461015b5780633d476830146101b9575b600080fd5b61012c610113366004610b39565b6002602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b610159610154366004610b39565b6103aa565b005b610195610169366004610b39565b6003602052600090815260409020805460019091015460ff81169061010090046001600160a01b031683565b6040805193845291151560208401526001600160a01b03169082015260600161013d565b6101596101c7366004610b39565b6104a3565b6101df6101da366004610b5b565b610513565b604051901515815260200161013d565b6101596101fd366004610b8e565b61059b565b61015961066b565b610159610218366004610bb8565b61067f565b6000546001600160a01b03165b6040516001600160a01b03909116815260200161013d565b60015461022a906001600160a01b031681565b610159610263366004610b39565b610747565b6102bd610276366004610b39565b6040805180820190915260008082526020820152506001600160a01b0316600090815260026020908152604091829020825180840190935280548352600101549082015290565b6040805182518152602092830151928101929092520161013d565b6101596102e6366004610b39565b6107c5565b6101596102f9366004610b39565b61087e565b61036a61030c366004610b39565b6040805160608082018352600080835260208084018290529284018190526001600160a01b0394851681526003835283902083519182018452805482526001015460ff81161515928201929092526101009091049092169082015290565b6040805182518152602080840151151590820152918101516001600160a01b03169082015260600161013d565b6101596103a5366004610c52565b610910565b806103bd6000546001600160a01b031690565b6001600160a01b0316336001600160a01b031614806103e657506001546001600160a01b031633145b8061041257506001600160a01b0381811660009081526003602052604090206001015461010090041633145b156104715761042082610a26565b6001600160a01b03821660008181526003602052604080822060018101805460ff19169055829055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49190a25050565b6040517fe3b6914b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6104ab610a66565b6104b481610a26565b600180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc8690600090a35050565b6001600160a01b03808316600090815260026020908152604080832081518083018352815481526001918201548185015286861685526003845282852083516060810185528154815292015460ff811615159483018590526101009004909516918101919091529192919061058d57600192505050610595565b519051101590505b92915050565b816105ae6000546001600160a01b031690565b6001600160a01b0316336001600160a01b031614806105d757506001546001600160a01b031633145b8061060357506001600160a01b0381811660009081526003602052604090206001015461010090041633145b156104715761061183610a26565b6001600160a01b03831660008181526003602052604090819020849055517f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c099061065e9085815260200190565b60405180910390a2505050565b610673610a66565b61067d6000610ac0565b565b6000546001600160a01b03163314806106a257506001546001600160a01b031633145b15610715576106b082610a26565b6001600160a01b03821660008181526002602090815260409182902084518082558583015160019092018290558351908152918201527f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d910160405180910390a25050565b6040517f7d7b71b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546001600160a01b031633148061076a57506001546001600160a01b031633145b156107155761077881610a26565b6001600160a01b038116600081815260026020526040808220828155600101829055517fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d9190a250565b50565b6001600160a01b03808216600090815260036020526040902060010154829161010090910416330361084c576107fa82610a26565b6001600160a01b0382166000818152600360205260408082206001908101805460ff19169091179055517f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb9190a25050565b6040517f97ffbac900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610886610a66565b6001600160a01b0381166109075760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6107c281610ac0565b6000546001600160a01b031633148061093357506001546001600160a01b031633145b156107155761094183610a26565b61094a81610a26565b6040805160608082018352848252600060208084018281526001600160a01b038781168688018181528b831680875260038652898720985189559351600190980180549151909316610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff981515989098167fffffffffffffffffffffff000000000000000000000000000000000000000000909116179690961790558551888152918201929092529384019290925290917f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb910161065e565b6001600160a01b0381166107c2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546001600160a01b0316331461067d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108fe565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b0381168114610b3457600080fd5b919050565b600060208284031215610b4b57600080fd5b610b5482610b1d565b9392505050565b60008060408385031215610b6e57600080fd5b610b7783610b1d565b9150610b8560208401610b1d565b90509250929050565b60008060408385031215610ba157600080fd5b610baa83610b1d565b946020939093013593505050565b6000808284036060811215610bcc57600080fd5b610bd584610b1d565b92506040601f1982011215610be957600080fd5b506040516040810181811067ffffffffffffffff82111715610c34577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60409081526020858101358352940135938101939093525092909150565b600080600060608486031215610c6757600080fd5b610c7084610b1d565b925060208401359150610c8560408501610b1d565b9050925092509256fea26469706673582212203b88168261897d5269f130e4a4ddfcb90a0e0a90ac15a761697b97bdb1e86dc864736f6c63430008130033","sourceMap":"223:5470:114:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;311:50;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;580:25:125;;;636:2;621:18;;614:34;;;;553:18;311:50:114;;;;;;;;3680:274;;;;;;:::i;:::-;;:::i;:::-;;367:46;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;367:46:114;;;;;;;855:25:125;;;923:14;;916:22;911:2;896:18;;889:50;-1:-1:-1;;;;;975:55:125;955:18;;;948:83;843:2;828:18;367:46:114;659:378:125;2818:259:114;;;;;;:::i;:::-;;:::i;4901:345::-;;;;;;:::i;:::-;;:::i;:::-;;;1472:14:125;;1465:22;1447:41;;1435:2;1420:18;4901:345:114;1307:187:125;4464:272:114;;;;;;:::i;:::-;;:::i;1824:101:75:-;;;:::i;2153:274:114:-;;;;;;:::i;:::-;;:::i;1201:85:75:-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:75;1201:85;;;-1:-1:-1;;;;;2750:55:125;;;2732:74;;2720:2;2705:18;1201:85:75;2586:226:125;278:26:114;;;;;-1:-1:-1;;;;;278:26:114;;;2528:177;;;;;;:::i;:::-;;:::i;5342:122::-;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;5440:17:114;;;;;:10;:17;;;;;;;;;5433:24;;;;;;;;;;;;;;;;;;;;5342:122;;;;;3043:13:125;;3025:32;;3113:4;3101:17;;;3095:24;3073:20;;;3066:54;;;;2998:18;5342:122:114;2817:309:125;4057:211:114;;;;;;:::i;:::-;;:::i;2074:198:75:-;;;;;;:::i;:::-;;:::i;5566:125:114:-;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5663:21:114;;;;;:10;:21;;;;;5656:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5566:125;;;;;3349:13:125;;3331:32;;3433:4;3421:17;;;3415:24;3408:32;3401:40;3379:20;;;3372:70;3490:17;;;3484:24;-1:-1:-1;;;;;3480:73:125;3458:20;;;3451:103;3319:2;3304:18;5566:125:114;3131:429:125;3188:375:114;;;;;;:::i;:::-;;:::i;3680:274::-;3765:9;1305:7;1247::75;1273:6;-1:-1:-1;;;;;1273:6:75;;1201:85;1305:7:114;-1:-1:-1;;;;;1291:21:114;:10;-1:-1:-1;;;;;1291:21:114;;:50;;;-1:-1:-1;1330:11:114;;-1:-1:-1;;;;;1330:11:114;1316:10;:25;1291:50;:101;;;-1:-1:-1;;;;;;1359:21:114;;;;;;;:10;:21;;;;;:33;;;;;;;1345:10;:47;1291:101;1287:196;;;3786:29:::1;3805:9;3786:18;:29::i;:::-;-1:-1:-1::0;;;;;3825:21:114;::::1;3856:5;3825:21:::0;;;:10:::1;:21;::::0;;;;;:28:::1;::::0;::::1;:36:::0;;-1:-1:-1;;3825:36:114::1;::::0;;3871:35;;;3921:26;::::1;::::0;3856:5;3921:26:::1;3680:274:::0;;:::o;1287:196::-;1447:25;;;;;;;;;;;;;;2818:259;1094:13:75;:11;:13::i;:::-;2904:31:114::1;2923:11;2904:18;:31::i;:::-;2966:11;::::0;;-1:-1:-1;;;;;2987:25:114;;::::1;-1:-1:-1::0;;2987:25:114;::::1;::::0;::::1;::::0;;;3027:43:::1;::::0;2966:11;::::1;::::0;2987:25;2966:11;;3027:43:::1;::::0;2945:18:::1;::::0;3027:43:::1;2894:183;2818:259:::0;:::o;4901:345::-;-1:-1:-1;;;;;5041:17:114;;;4993:4;5041:17;;;:10;:17;;;;;;;;5009:49;;;;;;;;;;;;;;;;;;;;5095:21;;;;;:10;:21;;;;;5068:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4993:4;;5009:49;5068:48;5127:58;;5170:4;5163:11;;;;;;5127:58;5221:18;5202:15;;:37;;;-1:-1:-1;4901:345:114;;;;;:::o;4464:272::-;4564:9;1305:7;1247::75;1273:6;-1:-1:-1;;;;;1273:6:75;;1201:85;1305:7:114;-1:-1:-1;;;;;1291:21:114;:10;-1:-1:-1;;;;;1291:21:114;;:50;;;-1:-1:-1;1330:11:114;;-1:-1:-1;;;;;1330:11:114;1316:10;:25;1291:50;:101;;;-1:-1:-1;;;;;;1359:21:114;;;;;;;:10;:21;;;;;:33;;;;;;;1345:10;:47;1291:101;1287:196;;;4585:29:::1;4604:9;4585:18;:29::i;:::-;-1:-1:-1::0;;;;;4624:21:114;::::1;;::::0;;;:10:::1;:21;::::0;;;;;;:47;;;4686:43;::::1;::::0;::::1;::::0;4658:13;4044:25:125;;4032:2;4017:18;;3898:177;4686:43:114::1;;;;;;;;4464:272:::0;;;:::o;1824:101:75:-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;2153:274:114:-;1247:7:75;1273:6;-1:-1:-1;;;;;1273:6:75;1081:10:114;:21;;:50;;-1:-1:-1;1120:11:114;;-1:-1:-1;;;;;1120:11:114;1106:10;:25;1081:50;1077:136;;;2268:25:::1;2287:5;2268:18;:25::i;:::-;-1:-1:-1::0;;;;;2303:17:114;::::1;;::::0;;;:10:::1;:17;::::0;;;;;;;;:33;;;;;;;::::1;::::0;::::1;::::0;;::::1;::::0;;;2351:69;;580:25:125;;;621:18;;;614:34;2351:69:114::1;::::0;553:18:125;2351:69:114::1;;;;;;;3680:274:::0;;:::o;1077:136::-;1186:16;;;;;;;;;;;;;;2528:177;1247:7:75;1273:6;-1:-1:-1;;;;;1273:6:75;1081:10:114;:21;;:50;;-1:-1:-1;1120:11:114;;-1:-1:-1;;;;;1120:11:114;1106:10;:25;1081:50;1077:136;;;2606:25:::1;2625:5;2606:18;:25::i;:::-;-1:-1:-1::0;;;;;2648:17:114;::::1;;::::0;;;:10:::1;:17;::::0;;;;;2641:24;;;::::1;;::::0;;;2680:18;::::1;::::0;2648:17;2680:18:::1;2528:177:::0;:::o;1077:136::-;2528:177;:::o;4057:211::-;-1:-1:-1;;;;;1563:21:114;;;;;;;:10;:21;;;;;:33;;;4123:9;;1563:33;;;;;1549:10;:47;1545:130;;4144:29:::1;4163:9;4144:18;:29::i;:::-;-1:-1:-1::0;;;;;4183:21:114;::::1;;::::0;;;:10:::1;:21;::::0;;;;;4214:4:::1;4183:28:::0;;::::1;:35:::0;;-1:-1:-1;;4183:35:114::1;::::0;;::::1;::::0;;4233:28;::::1;::::0;4183:21;4233:28:::1;3680:274:::0;;:::o;1545:130::-;1651:13;;;;;;;;;;;;;;2074:198:75;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:75;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:75;;4282:2:125;2154:73:75::1;::::0;::::1;4264:21:125::0;4321:2;4301:18;;;4294:30;4360:34;4340:18;;;4333:62;4431:8;4411:18;;;4404:36;4457:19;;2154:73:75::1;;;;;;;;;2237:28;2256:8;2237:18;:28::i;3188:375:114:-:0;1247:7:75;1273:6;-1:-1:-1;;;;;1273:6:75;1081:10:114;:21;;:50;;-1:-1:-1;1120:11:114;;-1:-1:-1;;;;;1120:11:114;1106:10;:25;1081:50;1077:136;;;3304:29:::1;3323:9;3304:18;:29::i;:::-;3343:32;3362:12;3343:18;:32::i;:::-;3409:75;::::0;;::::1;::::0;;::::1;::::0;;;;;-1:-1:-1;3409:75:114::1;::::0;;::::1;::::0;;;-1:-1:-1;;;;;3409:75:114;;::::1;::::0;;;;;;3385:21;;::::1;::::0;;;:10:::1;:21:::0;;;;;:99;;;;;;3409:75;3385:99;;::::1;::::0;;;;;;::::1;;;::::0;;::::1;;::::0;;;;;;;;;;;;::::1;::::0;;3499:57;;855:25:125;;;896:18;;;889:50;;;;955:18;;;948:83;;;;3385:21:114;;3499:57:::1;::::0;828:18:125;3499:57:114::1;659:378:125::0;1687:148:114;-1:-1:-1;;;;;1760:22:114;;1756:73;;1805:13;;;;;;;;;;;;;;1359:130:75;1247:7;1273:6;-1:-1:-1;;;;;1273:6:75;734:10:81;1422:23:75;1414:68;;;;-1:-1:-1;;;1414:68:75;;4689:2:125;1414:68:75;;;4671:21:125;;;4708:18;;;4701:30;4767:34;4747:18;;;4740:62;4819:18;;1414:68:75;4487:356:125;2426:187:75;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:75;;;-1:-1:-1;;2534:17:75;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;14:196:125:-;82:20;;-1:-1:-1;;;;;131:54:125;;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;:::-;356:39;215:186;-1:-1:-1;;;215:186:125:o;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:254::-;1567:6;1575;1628:2;1616:9;1607:7;1603:23;1599:32;1596:52;;;1644:1;1641;1634:12;1596:52;1667:29;1686:9;1667:29;:::i;:::-;1657:39;1743:2;1728:18;;;;1715:32;;-1:-1:-1;;;1499:254:125:o;1758:823::-;1857:6;1865;1909:9;1900:7;1896:23;1939:2;1935;1931:11;1928:31;;;1955:1;1952;1945:12;1928:31;1978:29;1997:9;1978:29;:::i;:::-;1968:39;-1:-1:-1;2041:4:125;-1:-1:-1;;2023:16:125;;2019:27;2016:47;;;2059:1;2056;2049:12;2016:47;;2092:4;2086:11;2136:4;2128:6;2124:17;2207:6;2195:10;2192:22;2171:18;2159:10;2156:34;2153:62;2150:242;;;2248:77;2245:1;2238:88;2349:4;2346:1;2339:15;2377:4;2374:1;2367:15;2150:242;2408:4;2401:24;;;2477:2;2462:18;;;2449:32;2434:48;;2528:20;;2515:34;2498:15;;;2491:59;;;;-1:-1:-1;1758:823:125;2441:6;;-1:-1:-1;1758:823:125:o;3565:328::-;3642:6;3650;3658;3711:2;3699:9;3690:7;3686:23;3682:32;3679:52;;;3727:1;3724;3717:12;3679:52;3750:29;3769:9;3750:29;:::i;:::-;3740:39;;3826:2;3815:9;3811:18;3798:32;3788:42;;3849:38;3883:2;3872:9;3868:18;3849:38;:::i;:::-;3839:48;;3565:328;;;;;:::o","linkReferences":{}},"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","listManager()":"8df8b2fe","modifyThreshold(address,uint256)":"642ce76b","owner()":"8da5cb5b","removeStrategy(address)":"175188e8","removeUser(address)":"98575188","renounceOwnership()":"715018a6","strategies(address)":"39ebf823","transferOwnership(address)":"f2fde38b","userScores(address)":"1413d4c0"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_listManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"OnlyAuthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncil\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OnlyCouncilOrAuthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"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\":\"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\":[],\"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\":[{\"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\":\"\",\"type\":\"address\"}],\"name\":\"userScores\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"score\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"activateStrategy(address)\":{\"params\":{\"_strategy\":\"address of the strategy to activate\"}},\"addStrategy(address,uint256,address)\":{\"params\":{\"_threshold\":\"is expresed 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.\"},\"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.\"}},\"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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0xf57d2536496fa592ffed2901d5d56e330d7c70955508b9d2ffa60aad76f42586\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://958bc6c5ef6816c7613ee98fa69b002efb6b85b3e4a8448ec2dd20d45d3a68e1\",\"dweb:/ipfs/QmNQtPpCqzvSCf9QVPaaBUvpYWzxCLhp1UWq94qziSagXf\"]},\"pkg/contracts/src/PassportScorer.sol\":{\"keccak256\":\"0xd5e07144ac8629292909573b0c559e9b0285d93b17e32e258e3ab65a4abd85ce\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://a628342602883ac16773d3071ddfe9146dce2b9edc0ee1d89e2ae87a7099e793\",\"dweb:/ipfs/QmecCM33dxkEpw2wePCMUP49txJNEpho9gP4NwTLCaJZTZ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_listManager","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"OnlyAuthorized"},{"inputs":[],"type":"error","name":"OnlyCouncil"},{"inputs":[],"type":"error","name":"OnlyCouncilOrAuthorized"},{"inputs":[],"type":"error","name":"ZeroAddress"},{"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":"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":[],"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":[{"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":"","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":{"_threshold":"is expresed 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."},"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."}},"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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0xf57d2536496fa592ffed2901d5d56e330d7c70955508b9d2ffa60aad76f42586","urls":["bzz-raw://958bc6c5ef6816c7613ee98fa69b002efb6b85b3e4a8448ec2dd20d45d3a68e1","dweb:/ipfs/QmNQtPpCqzvSCf9QVPaaBUvpYWzxCLhp1UWq94qziSagXf"],"license":"MIT"},"pkg/contracts/src/PassportScorer.sol":{"keccak256":"0xd5e07144ac8629292909573b0c559e9b0285d93b17e32e258e3ab65a4abd85ce","urls":["bzz-raw://a628342602883ac16773d3071ddfe9146dce2b9edc0ee1d89e2ae87a7099e793","dweb:/ipfs/QmecCM33dxkEpw2wePCMUP49txJNEpho9gP4NwTLCaJZTZ"],"license":"AGPL-3.0-or-later"}},"version":1},"id":114} \ 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":"ZeroAddress","inputs":[]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b50608051611a0961004c60003960008181610656015281816106e0015281816108ce015281816109530152610a390152611a096000f3fe60806040526004361061015f5760003560e01c80637814d568116100c0578063c4d66de811610074578063f2fde38b11610059578063f2fde38b14610469578063f8806a1314610489578063fc2ebdd11461052f57600080fd5b8063c4d66de814610429578063d80ea5a01461044957600080fd5b80638df8b2fe116100a55780638df8b2fe1461036c578063985751881461038c578063b34e0c47146103ac57600080fd5b80637814d5681461031a5780638da5cb5b1461033a57600080fd5b806342a987a01161011757806352d1902d116100fc57806352d1902d146102c2578063642ce76b146102e5578063715018a61461030557600080fd5b806342a987a01461027f5780634f1ef286146102af57600080fd5b80633659cfe6116101485780633659cfe6146101d457806339ebf823146101f45780633d4768301461025f57600080fd5b80631413d4c014610164578063175188e8146101b2575b600080fd5b34801561017057600080fd5b5061019861017f3660046116f3565b6066602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b3480156101be57600080fd5b506101d26101cd3660046116f3565b61054f565b005b3480156101e057600080fd5b506101d26101ef3660046116f3565b61064c565b34801561020057600080fd5b5061023b61020f3660046116f3565b6067602052600090815260409020805460019091015460ff81169061010090046001600160a01b031683565b6040805193845291151560208401526001600160a01b0316908201526060016101a9565b34801561026b57600080fd5b506101d261027a3660046116f3565b6107cc565b34801561028b57600080fd5b5061029f61029a36600461170e565b61083c565b60405190151581526020016101a9565b6101d26102bd3660046117a1565b6108c4565b3480156102ce57600080fd5b506102d7610a2c565b6040519081526020016101a9565b3480156102f157600080fd5b506101d2610300366004611847565b610af1565b34801561031157600080fd5b506101d2610bc6565b34801561032657600080fd5b506101d2610335366004611871565b610bda565b34801561034657600080fd5b506033546001600160a01b03165b6040516001600160a01b0390911681526020016101a9565b34801561037857600080fd5b50606554610354906001600160a01b031681565b34801561039857600080fd5b506101d26103a73660046116f3565b610ca2565b3480156103b857600080fd5b5061040e6103c73660046116f3565b6040805180820190915260008082526020820152506001600160a01b0316600090815260666020908152604091829020825180840190935280548352600101549082015290565b604080518251815260209283015192810192909252016101a9565b34801561043557600080fd5b506101d26104443660046116f3565b610d1d565b34801561045557600080fd5b506101d26104643660046116f3565b610e6e565b34801561047557600080fd5b506101d26104843660046116f3565b610f27565b34801561049557600080fd5b506105026104a43660046116f3565b6040805160608082018352600080835260208084018290529284018190526001600160a01b0394851681526067835283902083519182018452805482526001015460ff81161515928201929092526101009091049092169082015290565b6040805182518152602080840151151590820152918101516001600160a01b0316908201526060016101a9565b34801561053b57600080fd5b506101d261054a3660046118e4565b610fb4565b806105626033546001600160a01b031690565b6001600160a01b0316336001600160a01b0316148061058b57506065546001600160a01b031633145b806105b757506001600160a01b0381811660009081526067602052604090206001015461010090041633145b15610616576105c5826110ca565b6001600160a01b03821660008181526067602052604080822060018101805460ff19169055829055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49190a25050565b6040517fe3b6914b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106de5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107397f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146107a45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016106d5565b6107ad8161110a565b604080516000808252602082019092526107c991839190611112565b50565b6107d46112b2565b6107dd816110ca565b606580546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc8690600090a35050565b6001600160a01b03808316600090815260666020908152604080832081518083018352815481526001918201548185015286861685526067845282852083516060810185528154815292015460ff81161515948301859052610100900490951691810191909152919291906108b6576001925050506108be565b519051101590505b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036109515760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016106d5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166109ac7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610a175760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016106d5565b610a208261110a565b61064882826001611112565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610acc5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106d5565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b81610b046033546001600160a01b031690565b6001600160a01b0316336001600160a01b03161480610b2d57506065546001600160a01b031633145b80610b5957506001600160a01b0381811660009081526067602052604090206001015461010090041633145b1561061657610b67836110ca565b6001600160a01b03831660008181526067602052604090819020849055517f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c0990610bb49085815260200190565b60405180910390a2505050565b505050565b610bce6112b2565b610bd8600061130c565b565b6033546001600160a01b0316331480610bfd57506065546001600160a01b031633145b15610c7057610c0b826110ca565b6001600160a01b03821660008181526066602090815260409182902084518082558583015160019092018290558351908152918201527f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d910160405180910390a25050565b6040517f7d7b71b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6033546001600160a01b0316331480610cc557506065546001600160a01b031633145b15610c7057610cd3816110ca565b6001600160a01b038116600081815260666020526040808220828155600101829055517fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d9190a250565b600054610100900460ff1615808015610d3d5750600054600160ff909116105b80610d575750303b158015610d57575060005460ff166001145b610dc95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106d5565b6000805460ff191660011790558015610dec576000805461ff0019166101001790555b610df461136b565b610dfd826110ca565b6065805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384161790558015610648576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6001600160a01b038082166000908152606760205260409020600101548291610100909104163303610ef557610ea3826110ca565b6001600160a01b0382166000818152606760205260408082206001908101805460ff19169091179055517f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb9190a25050565b6040517f97ffbac900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610f2f6112b2565b6001600160a01b038116610fab5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106d5565b6107c98161130c565b6033546001600160a01b0316331480610fd757506065546001600160a01b031633145b15610c7057610fe5836110ca565b610fee816110ca565b6040805160608082018352848252600060208084018281526001600160a01b038781168688018181528b831680875260678652898720985189559351600190980180549151909316610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff981515989098167fffffffffffffffffffffff000000000000000000000000000000000000000000909116179690961790558551888152918201929092529384019290925290917f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb9101610bb4565b6001600160a01b0381166107c9576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107c96112b2565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561114557610bc1836113de565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561119f575060408051601f3d908101601f1916820190925261119c91810190611920565b60015b6112115760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016106d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146112a65760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016106d5565b50610bc18383836114a9565b6033546001600160a01b03163314610bd85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106d5565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166113d65760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106d5565b610bd86114d4565b6001600160a01b0381163b61145b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016106d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6114b283611548565b6000825111806114bf5750805b15610bc1576114ce8383611588565b50505050565b600054610100900460ff1661153f5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106d5565b610bd83361130c565b611551816113de565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606115ad83836040518060600160405280602781526020016119ad602791396115b4565b9392505050565b6060600080856001600160a01b0316856040516115d1919061195d565b600060405180830381855af49150503d806000811461160c576040519150601f19603f3d011682016040523d82523d6000602084013e611611565b606091505b50915091506116228683838761162c565b9695505050505050565b6060831561169b578251600003611694576001600160a01b0385163b6116945760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106d5565b50816116a5565b6116a583836116ad565b949350505050565b8151156116bd5781518083602001fd5b8060405162461bcd60e51b81526004016106d59190611979565b80356001600160a01b03811681146116ee57600080fd5b919050565b60006020828403121561170557600080fd5b6115ad826116d7565b6000806040838503121561172157600080fd5b61172a836116d7565b9150611738602084016116d7565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561179957611799611741565b604052919050565b600080604083850312156117b457600080fd5b6117bd836116d7565b915060208084013567ffffffffffffffff808211156117db57600080fd5b818601915086601f8301126117ef57600080fd5b81358181111561180157611801611741565b611813601f8201601f19168501611770565b9150808252878482850101111561182957600080fd5b80848401858401376000848284010152508093505050509250929050565b6000806040838503121561185a57600080fd5b611863836116d7565b946020939093013593505050565b600080828403606081121561188557600080fd5b61188e846116d7565b92506040601f19820112156118a257600080fd5b506040516040810181811067ffffffffffffffff821117156118c6576118c6611741565b60409081526020858101358352940135938101939093525092909150565b6000806000606084860312156118f957600080fd5b611902846116d7565b925060208401359150611917604085016116d7565b90509250925092565b60006020828403121561193257600080fd5b5051919050565b60005b8381101561195457818101518382015260200161193c565b50506000910152565b6000825161196f818460208701611939565b9190910192915050565b6020815260008251806020840152611998816040850160208701611939565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220a8f6eaeb366c5c8c5c3a1820871dc36dd3bc338983f0986a24053dc142f66b3564736f6c63430008130033","sourceMap":"452:5628:117:-:0;;;1088:4:66;1045:48;;452:5628:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361061015f5760003560e01c80637814d568116100c0578063c4d66de811610074578063f2fde38b11610059578063f2fde38b14610469578063f8806a1314610489578063fc2ebdd11461052f57600080fd5b8063c4d66de814610429578063d80ea5a01461044957600080fd5b80638df8b2fe116100a55780638df8b2fe1461036c578063985751881461038c578063b34e0c47146103ac57600080fd5b80637814d5681461031a5780638da5cb5b1461033a57600080fd5b806342a987a01161011757806352d1902d116100fc57806352d1902d146102c2578063642ce76b146102e5578063715018a61461030557600080fd5b806342a987a01461027f5780634f1ef286146102af57600080fd5b80633659cfe6116101485780633659cfe6146101d457806339ebf823146101f45780633d4768301461025f57600080fd5b80631413d4c014610164578063175188e8146101b2575b600080fd5b34801561017057600080fd5b5061019861017f3660046116f3565b6066602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b3480156101be57600080fd5b506101d26101cd3660046116f3565b61054f565b005b3480156101e057600080fd5b506101d26101ef3660046116f3565b61064c565b34801561020057600080fd5b5061023b61020f3660046116f3565b6067602052600090815260409020805460019091015460ff81169061010090046001600160a01b031683565b6040805193845291151560208401526001600160a01b0316908201526060016101a9565b34801561026b57600080fd5b506101d261027a3660046116f3565b6107cc565b34801561028b57600080fd5b5061029f61029a36600461170e565b61083c565b60405190151581526020016101a9565b6101d26102bd3660046117a1565b6108c4565b3480156102ce57600080fd5b506102d7610a2c565b6040519081526020016101a9565b3480156102f157600080fd5b506101d2610300366004611847565b610af1565b34801561031157600080fd5b506101d2610bc6565b34801561032657600080fd5b506101d2610335366004611871565b610bda565b34801561034657600080fd5b506033546001600160a01b03165b6040516001600160a01b0390911681526020016101a9565b34801561037857600080fd5b50606554610354906001600160a01b031681565b34801561039857600080fd5b506101d26103a73660046116f3565b610ca2565b3480156103b857600080fd5b5061040e6103c73660046116f3565b6040805180820190915260008082526020820152506001600160a01b0316600090815260666020908152604091829020825180840190935280548352600101549082015290565b604080518251815260209283015192810192909252016101a9565b34801561043557600080fd5b506101d26104443660046116f3565b610d1d565b34801561045557600080fd5b506101d26104643660046116f3565b610e6e565b34801561047557600080fd5b506101d26104843660046116f3565b610f27565b34801561049557600080fd5b506105026104a43660046116f3565b6040805160608082018352600080835260208084018290529284018190526001600160a01b0394851681526067835283902083519182018452805482526001015460ff81161515928201929092526101009091049092169082015290565b6040805182518152602080840151151590820152918101516001600160a01b0316908201526060016101a9565b34801561053b57600080fd5b506101d261054a3660046118e4565b610fb4565b806105626033546001600160a01b031690565b6001600160a01b0316336001600160a01b0316148061058b57506065546001600160a01b031633145b806105b757506001600160a01b0381811660009081526067602052604090206001015461010090041633145b15610616576105c5826110ca565b6001600160a01b03821660008181526067602052604080822060018101805460ff19169055829055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49190a25050565b6040517fe3b6914b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106de5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107397f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146107a45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016106d5565b6107ad8161110a565b604080516000808252602082019092526107c991839190611112565b50565b6107d46112b2565b6107dd816110ca565b606580546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc8690600090a35050565b6001600160a01b03808316600090815260666020908152604080832081518083018352815481526001918201548185015286861685526067845282852083516060810185528154815292015460ff81161515948301859052610100900490951691810191909152919291906108b6576001925050506108be565b519051101590505b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036109515760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016106d5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166109ac7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610a175760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016106d5565b610a208261110a565b61064882826001611112565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610acc5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106d5565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b81610b046033546001600160a01b031690565b6001600160a01b0316336001600160a01b03161480610b2d57506065546001600160a01b031633145b80610b5957506001600160a01b0381811660009081526067602052604090206001015461010090041633145b1561061657610b67836110ca565b6001600160a01b03831660008181526067602052604090819020849055517f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c0990610bb49085815260200190565b60405180910390a2505050565b505050565b610bce6112b2565b610bd8600061130c565b565b6033546001600160a01b0316331480610bfd57506065546001600160a01b031633145b15610c7057610c0b826110ca565b6001600160a01b03821660008181526066602090815260409182902084518082558583015160019092018290558351908152918201527f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d910160405180910390a25050565b6040517f7d7b71b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6033546001600160a01b0316331480610cc557506065546001600160a01b031633145b15610c7057610cd3816110ca565b6001600160a01b038116600081815260666020526040808220828155600101829055517fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d9190a250565b600054610100900460ff1615808015610d3d5750600054600160ff909116105b80610d575750303b158015610d57575060005460ff166001145b610dc95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106d5565b6000805460ff191660011790558015610dec576000805461ff0019166101001790555b610df461136b565b610dfd826110ca565b6065805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384161790558015610648576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6001600160a01b038082166000908152606760205260409020600101548291610100909104163303610ef557610ea3826110ca565b6001600160a01b0382166000818152606760205260408082206001908101805460ff19169091179055517f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb9190a25050565b6040517f97ffbac900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610f2f6112b2565b6001600160a01b038116610fab5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106d5565b6107c98161130c565b6033546001600160a01b0316331480610fd757506065546001600160a01b031633145b15610c7057610fe5836110ca565b610fee816110ca565b6040805160608082018352848252600060208084018281526001600160a01b038781168688018181528b831680875260678652898720985189559351600190980180549151909316610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff981515989098167fffffffffffffffffffffff000000000000000000000000000000000000000000909116179690961790558551888152918201929092529384019290925290917f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb9101610bb4565b6001600160a01b0381166107c9576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107c96112b2565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561114557610bc1836113de565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561119f575060408051601f3d908101601f1916820190925261119c91810190611920565b60015b6112115760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016106d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146112a65760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016106d5565b50610bc18383836114a9565b6033546001600160a01b03163314610bd85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106d5565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166113d65760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106d5565b610bd86114d4565b6001600160a01b0381163b61145b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016106d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6114b283611548565b6000825111806114bf5750805b15610bc1576114ce8383611588565b50505050565b600054610100900460ff1661153f5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106d5565b610bd83361130c565b611551816113de565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606115ad83836040518060600160405280602781526020016119ad602791396115b4565b9392505050565b6060600080856001600160a01b0316856040516115d1919061195d565b600060405180830381855af49150503d806000811461160c576040519150601f19603f3d011682016040523d82523d6000602084013e611611565b606091505b50915091506116228683838761162c565b9695505050505050565b6060831561169b578251600003611694576001600160a01b0385163b6116945760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106d5565b50816116a5565b6116a583836116ad565b949350505050565b8151156116bd5781518083602001fd5b8060405162461bcd60e51b81526004016106d59190611979565b80356001600160a01b03811681146116ee57600080fd5b919050565b60006020828403121561170557600080fd5b6115ad826116d7565b6000806040838503121561172157600080fd5b61172a836116d7565b9150611738602084016116d7565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561179957611799611741565b604052919050565b600080604083850312156117b457600080fd5b6117bd836116d7565b915060208084013567ffffffffffffffff808211156117db57600080fd5b818601915086601f8301126117ef57600080fd5b81358181111561180157611801611741565b611813601f8201601f19168501611770565b9150808252878482850101111561182957600080fd5b80848401858401376000848284010152508093505050509250929050565b6000806040838503121561185a57600080fd5b611863836116d7565b946020939093013593505050565b600080828403606081121561188557600080fd5b61188e846116d7565b92506040601f19820112156118a257600080fd5b506040516040810181811067ffffffffffffffff821117156118c6576118c6611741565b60409081526020858101358352940135938101939093525092909150565b6000806000606084860312156118f957600080fd5b611902846116d7565b925060208401359150611917604085016116d7565b90509250925092565b60006020828403121561193257600080fd5b5051919050565b60005b8381101561195457818101518382015260200161193c565b50506000910152565b6000825161196f818460208701611939565b9190910192915050565b6020815260008251806020840152611998816040850160208701611939565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220a8f6eaeb366c5c8c5c3a1820871dc36dd3bc338983f0986a24053dc142f66b3564736f6c63430008130033","sourceMap":"452:5628:117:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;583:50;;;;;;;;;;-1:-1:-1;583:50:117;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;580:25:128;;;636:2;621:18;;614:34;;;;553:18;583:50:117;;;;;;;;3995:274;;;;;;;;;;-1:-1:-1;3995:274:117;;;;;:::i;:::-;;:::i;:::-;;3143:195:66;;;;;;;;;;-1:-1:-1;3143:195:66;;;;;:::i;:::-;;:::i;639:46:117:-;;;;;;;;;;-1:-1:-1;639:46:117;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;639:46:117;;;;;;;855:25:128;;;923:14;;916:22;911:2;896:18;;889:50;-1:-1:-1;;;;;975:55:128;955:18;;;948:83;843:2;828:18;639:46:117;659:378:128;3133:259:117;;;;;;;;;;-1:-1:-1;3133:259:117;;;;;:::i;:::-;;:::i;5216:345::-;;;;;;;;;;-1:-1:-1;5216:345:117;;;;;:::i;:::-;;:::i;:::-;;;1472:14:128;;1465:22;1447:41;;1435:2;1420:18;5216:345:117;1307:187:128;3657:220:66;;;;;;:::i;:::-;;:::i;2762:131::-;;;;;;;;;;;;;:::i;:::-;;;2956:25:128;;;2944:2;2929:18;2762:131:66;2810:177:128;4779:272:117;;;;;;;;;;-1:-1:-1;4779:272:117;;;;;:::i;:::-;;:::i;2064:101:14:-;;;;;;;;;;;;;:::i;2468:274:117:-;;;;;;;;;;-1:-1:-1;2468:274:117;;;;;:::i;:::-;;:::i;1441:85:14:-;;;;;;;;;;-1:-1:-1;1513:6:14;;-1:-1:-1;;;;;1513:6:14;1441:85;;;-1:-1:-1;;;;;4089:55:128;;;4071:74;;4059:2;4044:18;1441:85:14;3925:226:128;550:26:117;;;;;;;;;;-1:-1:-1;550:26:117;;;;-1:-1:-1;;;;;550:26:117;;;2843:177;;;;;;;;;;-1:-1:-1;2843:177:117;;;;;:::i;:::-;;:::i;5657:122::-;;;;;;;;;;-1:-1:-1;5657:122:117;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;5755:17:117;;;;;:10;:17;;;;;;;;;5748:24;;;;;;;;;;;;;;;;;;;;5657:122;;;;;4382:13:128;;4364:32;;4452:4;4440:17;;;4434:24;4412:20;;;4405:54;;;;4337:18;5657:122:117;4156:309:128;2113:172:117;;;;;;;;;;-1:-1:-1;2113:172:117;;;;;:::i;:::-;;:::i;4372:211::-;;;;;;;;;;-1:-1:-1;4372:211:117;;;;;:::i;:::-;;:::i;2314:198:14:-;;;;;;;;;;-1:-1:-1;2314:198:14;;;;;:::i;:::-;;:::i;5881:125:117:-;;;;;;;;;;-1:-1:-1;5881:125:117;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5978:21:117;;;;;:10;:21;;;;;5971:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5881:125;;;;;4688:13:128;;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:128;4797:20;;;4790:103;4658:2;4643:18;5881:125:117;4470:429:128;3503:375:117;;;;;;;;;;-1:-1:-1;3503:375:117;;;;;:::i;:::-;;:::i;3995:274::-;4080:9;1577:7;1513:6:14;;-1:-1:-1;;;;;1513:6:14;;1441:85;1577:7:117;-1:-1:-1;;;;;1563:21:117;:10;-1:-1:-1;;;;;1563:21:117;;:50;;;-1:-1:-1;1602:11:117;;-1:-1:-1;;;;;1602:11:117;1588:10;:25;1563:50;:101;;;-1:-1:-1;;;;;;1631:21:117;;;;;;;:10;:21;;;;;:33;;;;;;;1617:10;:47;1563:101;1559:196;;;4101:29:::1;4120:9;4101:18;:29::i;:::-;-1:-1:-1::0;;;;;4140:21:117;::::1;4171:5;4140:21:::0;;;:10:::1;:21;::::0;;;;;:28:::1;::::0;::::1;:36:::0;;-1:-1:-1;;4140:36:117::1;::::0;;4186:35;;;4236:26;::::1;::::0;4171:5;4236:26:::1;3995:274:::0;;:::o;1559:196::-;1719:25;;;;;;;;;;;;;;1559:196;3995:274;;:::o;3143:195:66:-;-1:-1:-1;;;;;1654:6:66;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:66;;5439:2:128;1629:80:66;;;5421:21:128;5478:2;5458:18;;;5451:30;5517:34;5497:18;;;5490:62;-1:-1:-1;;;5568:18:128;;;5561:42;5620:19;;1629:80:66;;;;;;;;;1751:6;-1:-1:-1;;;;;1727:30:66;:20;1030:66:64;1254:54;-1:-1:-1;;;;;1254:54:64;;1175:140;1727:20:66;-1:-1:-1;;;;;1727:30:66;;1719:87;;;;-1:-1:-1;;;1719:87:66;;5852:2:128;1719:87:66;;;5834:21:128;5891:2;5871:18;;;5864:30;5930:34;5910:18;;;5903:62;-1:-1:-1;;;5981:18:128;;;5974:42;6033:19;;1719:87:66;5650:408:128;1719:87:66;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;3133:259:117:-;1334:13:14;:11;:13::i;:::-;3219:31:117::1;3238:11;3219:18;:31::i;:::-;3281:11;::::0;;-1:-1:-1;;;;;3302:25:117;;::::1;-1:-1:-1::0;;3302:25:117;::::1;::::0;::::1;::::0;;;3342:43:::1;::::0;3281:11;::::1;::::0;3302:25;3281:11;;3342:43:::1;::::0;3260:18:::1;::::0;3342:43:::1;3209:183;3133:259:::0;:::o;5216:345::-;-1:-1:-1;;;;;5356:17:117;;;5308:4;5356:17;;;:10;:17;;;;;;;;5324:49;;;;;;;;;;;;;;;;;;;;5410:21;;;;;:10;:21;;;;;5383:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5308:4;;5324:49;5383:48;5442:58;;5485:4;5478:11;;;;;;5442:58;5536:18;5517:15;;:37;;;-1:-1:-1;5216:345:117;;;;;:::o;3657:220:66:-;-1:-1:-1;;;;;1654:6:66;1637:23;1645:4;1637:23;1629:80;;;;-1:-1:-1;;;1629:80:66;;5439:2:128;1629:80:66;;;5421:21:128;5478:2;5458:18;;;5451:30;5517:34;5497:18;;;5490:62;-1:-1:-1;;;5568:18:128;;;5561:42;5620:19;;1629:80:66;5237:408:128;1629:80:66;1751:6;-1:-1:-1;;;;;1727:30:66;:20;1030:66:64;1254:54;-1:-1:-1;;;;;1254:54:64;;1175:140;1727:20:66;-1:-1:-1;;;;;1727:30:66;;1719:87;;;;-1:-1:-1;;;1719:87:66;;5852:2:128;1719:87:66;;;5834:21:128;5891:2;5871:18;;;5864:30;5930:34;5910:18;;;5903:62;-1:-1:-1;;;5981:18:128;;;5974:42;6033:19;;1719:87:66;5650:408:128;1719:87:66;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:66;2072:23;;2064:92;;;;-1:-1:-1;;;2064:92:66;;6265:2:128;2064:92:66;;;6247:21:128;6304:2;6284:18;;;6277:30;6343:34;6323:18;;;6316:62;6414:26;6394:18;;;6387:54;6458:19;;2064:92:66;6063:420:128;2064:92:66;-1:-1:-1;1030:66:64::1;2762:131:66::0;:::o;4779:272:117:-;4879:9;1577:7;1513:6:14;;-1:-1:-1;;;;;1513:6:14;;1441:85;1577:7:117;-1:-1:-1;;;;;1563:21:117;:10;-1:-1:-1;;;;;1563:21:117;;:50;;;-1:-1:-1;1602:11:117;;-1:-1:-1;;;;;1602:11:117;1588:10;:25;1563:50;:101;;;-1:-1:-1;;;;;;1631:21:117;;;;;;;:10;:21;;;;;:33;;;;;;;1617:10;:47;1563:101;1559:196;;;4900:29:::1;4919:9;4900:18;:29::i;:::-;-1:-1:-1::0;;;;;4939:21:117;::::1;;::::0;;;:10:::1;:21;::::0;;;;;;:47;;;5001:43;::::1;::::0;::::1;::::0;4973:13;2956:25:128;;2944:2;2929:18;;2810:177;5001:43:117::1;;;;;;;;4779:272:::0;;;:::o;1559:196::-;4779:272;;;:::o;2064:101:14:-;1334:13;:11;:13::i;:::-;2128:30:::1;2155:1;2128:18;:30::i;:::-;2064:101::o:0;2468:274:117:-;1513:6:14;;-1:-1:-1;;;;;1513:6:14;1353:10:117;:21;;:50;;-1:-1:-1;1392:11:117;;-1:-1:-1;;;;;1392:11:117;1378:10;:25;1353:50;1349:136;;;2583:25:::1;2602:5;2583:18;:25::i;:::-;-1:-1:-1::0;;;;;2618:17:117;::::1;;::::0;;;:10:::1;:17;::::0;;;;;;;;:33;;;;;;;::::1;::::0;::::1;::::0;;::::1;::::0;;;2666:69;;580:25:128;;;621:18;;;614:34;2666:69:117::1;::::0;553:18:128;2666:69:117::1;;;;;;;3995:274:::0;;:::o;1349:136::-;1458:16;;;;;;;;;;;;;;2843:177;1513:6:14;;-1:-1:-1;;;;;1513:6:14;1353:10:117;:21;;:50;;-1:-1:-1;1392:11:117;;-1:-1:-1;;;;;1392:11:117;1378:10;:25;1353:50;1349:136;;;2921:25:::1;2940:5;2921:18;:25::i;:::-;-1:-1:-1::0;;;;;2963:17:117;::::1;;::::0;;;:10:::1;:17;::::0;;;;;2956:24;;;::::1;;::::0;;;2995:18;::::1;::::0;2963:17;2995:18:::1;3143:195:66::0;:::o;2113:172:117:-;3279:19:16;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:16;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;-1:-1:-1;3426:4:16;1713:19:19;:23;;;3387:66:16;;-1:-1:-1;3436:12:16;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:16;;6872:2:128;3325:201:16;;;6854:21:128;6911:2;6891:18;;;6884:30;6950:34;6930:18;;;6923:62;7021:16;7001:18;;;6994:44;7055:19;;3325:201:16;6670:410:128;3325:201:16;3536:12;:16;;-1:-1:-1;;3536:16:16;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:16;;;;;3562:65;2184:16:117::1;:14;:16::i;:::-;2210:32;2229:12;2210:18;:32::i;:::-;2252:11;:26:::0;;-1:-1:-1;;2252:26:117::1;-1:-1:-1::0;;;;;2252:26:117;::::1;;::::0;;3647:99:16;;;;3697:5;3681:21;;-1:-1:-1;;3681:21:16;;;3721:14;;-1:-1:-1;7237:36:128;;3721:14:16;;7225:2:128;7210:18;3721:14:16;;;;;;;3269:483;2113:172:117;:::o;4372:211::-;-1:-1:-1;;;;;1835:21:117;;;;;;;:10;:21;;;;;:33;;;4438:9;;1835:33;;;;;1821:10;:47;1817:130;;4459:29:::1;4478:9;4459:18;:29::i;:::-;-1:-1:-1::0;;;;;4498:21:117;::::1;;::::0;;;:10:::1;:21;::::0;;;;;4529:4:::1;4498:28:::0;;::::1;:35:::0;;-1:-1:-1;;4498:35:117::1;::::0;;::::1;::::0;;4548:28;::::1;::::0;4498:21;4548:28:::1;3995:274:::0;;:::o;1817:130::-;1923:13;;;;;;;;;;;;;;2314:198:14;1334:13;:11;:13::i;:::-;-1:-1:-1;;;;;2402:22:14;::::1;2394:73;;;::::0;-1:-1:-1;;;2394:73:14;;7486:2:128;2394:73:14::1;::::0;::::1;7468:21:128::0;7525:2;7505:18;;;7498:30;7564:34;7544:18;;;7537:62;7635:8;7615:18;;;7608:36;7661:19;;2394:73:14::1;7284:402:128::0;2394:73:14::1;2477:28;2496:8;2477:18;:28::i;3503:375:117:-:0;1513:6:14;;-1:-1:-1;;;;;1513:6:14;1353:10:117;:21;;:50;;-1:-1:-1;1392:11:117;;-1:-1:-1;;;;;1392:11:117;1378:10;:25;1353:50;1349:136;;;3619:29:::1;3638:9;3619:18;:29::i;:::-;3658:32;3677:12;3658:18;:32::i;:::-;3724:75;::::0;;::::1;::::0;;::::1;::::0;;;;;-1:-1:-1;3724:75:117::1;::::0;;::::1;::::0;;;-1:-1:-1;;;;;3724:75:117;;::::1;::::0;;;;;;3700:21;;::::1;::::0;;;:10:::1;:21:::0;;;;;:99;;;;;;3724:75;3700:99;;::::1;::::0;;;;;;::::1;;;::::0;;::::1;;::::0;;;;;;;;;;;;::::1;::::0;;3814:57;;855:25:128;;;896:18;;;889:50;;;;955:18;;;948:83;;;;3700:21:117;;3814:57:::1;::::0;828:18:128;3814:57:117::1;659:378:128::0;1959:148:117;-1:-1:-1;;;;;2032:22:117;;2028:73;;2077:13;;;;;;;;;;;;;;6012:66;1334:13:14;: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:128;3262:56:64;;;8064:21:128;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:128;3042:291:64;1030:66;3148:28;;3140:82;;;;-1:-1:-1;;;3140:82:64;;8497:2:128;3140:82:64;;;8479:21:128;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:128;3140:82:64;3099:138;3346:53;3364:17;3383:4;3389:9;3346:17;:53::i;1599:130:14:-;1513:6;;-1:-1:-1;;;;;1513:6:14;929:10:20;1662:23:14;1654:68;;;;-1:-1:-1;;;1654:68:14;;8907:2:128;1654:68:14;;;8889:21:128;;;8926:18;;;8919:30;8985:34;8965:18;;;8958:62;9037:18;;1654:68:14;8705:356:128;2666:187:14;2758:6;;;-1:-1:-1;;;;;2774:17:14;;;-1:-1:-1;;2774:17:14;;;;;;;2806:40;;2758:6;;;2774:17;2758:6;;2806:40;;2739:16;;2806:40;2729:124;2666:187;:::o;1003:95::-;5374:13:16;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:16;;9268:2:128;5366:69:16;;;9250:21:128;9307:2;9287:18;;;9280:30;9346:34;9326:18;;;9319:62;-1:-1:-1;;;9397:18:128;;;9390:41;9448:19;;5366:69:16;9066:407:128;5366:69:16;1065:26:14::1;:24;:26::i;1406:259:64:-:0;-1:-1:-1;;;;;1713:19:19;;;1479:95:64;;;;-1:-1:-1;;;1479:95:64;;9680:2:128;1479:95:64;;;9662:21:128;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:128;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;1104:111:14:-;5374:13:16;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:16;;9268:2:128;5366:69:16;;;9250:21:128;9307:2;9287:18;;;9280:30;9346:34;9326:18;;;9319:62;-1:-1:-1;;;9397:18:128;;;9390:41;9448:19;;5366:69:16;9066:407:128;5366:69:16;1176:32:14::1;929:10:20::0;1176:18:14::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:78:-;6757:12;6788:77;6809:6;6817:4;6788:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;6781:84;6674:198;-1:-1:-1;;;6674:198:78:o;7058:325::-;7199:12;7224;7238:23;7265:6;-1:-1:-1;;;;;7265:19:78;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:78:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;-1:-1:-1;;;;;1713:19:19;;;8113:60:78;;;;-1:-1:-1;;;8113:60:78;;10641:2:128;8113:60:78;;;10623:21:128;10680:2;10660:18;;;10653:30;10719:31;10699:18;;;10692:59;10768:18;;8113:60:78;10439:353:128;8113:60:78;-1:-1:-1;8208:10:78;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:78;;;;;;;;:::i;14:196:128:-;82:20;;-1:-1:-1;;;;;131:54:128;;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:128;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:128: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:128;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:128: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:128;-1:-1:-1;;3516:16:128;;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:128;3780:6;;-1:-1:-1;3251:669:128: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:128;;7691:184;-1:-1:-1;7691:184:128: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:128;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:128: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:128;11137:45;;;;11184:2;11133:54;;10797:396;-1:-1:-1;;10797:396:128:o","linkReferences":{},"immutableReferences":{"56059":[{"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\":\"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\":{\"_threshold\":\"is expresed 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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"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\":\"0x58c15350aefdf9379dcc3b0442bf775d66c8595b2fa46180130d6a910ff95ceb\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://4d2a753fffe95c8c7ba708f671eee354e4208454b797e382ad16ca88c33d7e18\",\"dweb:/ipfs/QmSNxyehChShCXR7tuubfDmXXpHuvsJFuB5vw8xQzfcPSs\"]}},\"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":"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":{"_threshold":"is expresed 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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"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":"0x58c15350aefdf9379dcc3b0442bf775d66c8595b2fa46180130d6a910ff95ceb","urls":["bzz-raw://4d2a753fffe95c8c7ba708f671eee354e4208454b797e382ad16ca88c33d7e18","dweb:/ipfs/QmSNxyehChShCXR7tuubfDmXXpHuvsJFuB5vw8xQzfcPSs"],"license":"AGPL-3.0-or-later"}},"version":1},"id":117} \ 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 8f120e039..1dac0aeba 100644 --- a/pkg/contracts/out/PassportScorerTest.t.sol/PassportScorerTest.json +++ b/pkg/contracts/out/PassportScorerTest.t.sol/PassportScorerTest.json @@ -1 +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":"0x6080604052600c805460ff199081166001908117909255601e805490911682179055601f80546001600160a01b0319908116909217905560208054821660021790556021805482166003179055602280548216600417905560238054909116600517905534801561006f57600080fd5b506137aa8061007f6000396000f3fe60806040523480156200001157600080fd5b5060043610620002015760003560e01c80636c53db9a1162000119578063a8c62e7611620000af578063e20c9f71116200007a578063e20c9f7114620003d2578063e68393b414620003dc578063ebe69a5f14620003e6578063fa7626d414620003f057600080fd5b8063a8c62e76146200038f578063b5508aa914620003a3578063ba414fa614620003ad578063d4dadecb14620003c857600080fd5b80638caa5c4411620000f05780638caa5c44146200035d5780638df8b2fe1462000367578063916a17c6146200037b5780639693f128146200038557600080fd5b80636c53db9a146200032657806382fad478146200033a57806385226c81146200034457600080fd5b80632ade3880116200019b5780633f7286f411620001665780633f7286f414620002d65780634905e83114620002e05780634f8632ba14620002f957806366d9a9a0146200030d57600080fd5b80632ade3880146200027c5780633668aa2914620002955780633e5e3c23146200029f5780633ea7771b14620002a957600080fd5b80630c2759da11620001dc5780630c2759da14620002455780631ed7831c146200024f57806324e40b97146200026857806325821153146200027257600080fd5b8063073a2d8c14620002065780630778c72c146200022f5780630a9254e4146200023b575b600080fd5b60245460255462000215919082565b604080519283526020830191909152015b60405180910390f35b62000239620003fe565b005b62000239620006a1565b620002396200074a565b62000259620008da565b6040516200022691906200257d565b620002396200093e565b6200023962000acb565b6200028662000c20565b604051620002269190620025cc565b6200023962000d6e565b6200025962000ffc565b602354620002bd906001600160a01b031681565b6040516001600160a01b03909116815260200162000226565b620002596200105e565b601e54620002bd9061010090046001600160a01b031681565b602054620002bd906001600160a01b031681565b62000317620010c0565b604051620002269190620026c5565b602254620002bd906001600160a01b031681565b62000239620011bf565b6200034e620012d9565b60405162000226919062002794565b62000239620013b3565b601f54620002bd906001600160a01b031681565b620003176200191c565b6200023962001a1b565b602154620002bd906001600160a01b031681565b6200034e62001b9d565b620003b762001c77565b604051901515815260200162000226565b6200023962001d4f565b6200025962001fb3565b6200023962002015565b620002396200214d565b601e54620003b79060ff1681565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200045b57600080fd5b505af115801562000470573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101879052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b158015620004d557600080fd5b505af1158015620004ea573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa79150602401600060405180830381600087803b1580156200054857600080fd5b505af11580156200055d573d6000803e3d6000fd5b5050601e546021546040517f175188e80000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015261010090920416925063175188e89150602401600060405180830381600087803b158015620005c957600080fd5b505af1158015620005de573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b81526001600160a01b0391821660048201526000945084935083926101009004909116906339ebf82390602401606060405180830381865afa1580156200063c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000662919062002858565b9250925092506200067583600062002359565b62000682826000620023e3565b6022546200069b9082906001600160a01b03166200243e565b50505050565b601f546040516001600160a01b0390911690620006be906200256f565b6001600160a01b039091168152602001604051809103906000f080158015620006eb573d6000803e3d6000fd5b50601e80546001600160a01b0392909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff909216919091179055604080518082019091526064808252426020909201829052602455602555565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b158015620007a457600080fd5b505af1158015620007b9573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d5689150606401600060405180830381600087803b1580156200081c57600080fd5b505af115801562000831573d6000803e3d6000fd5b5050601e5460205460405163b34e0c4760e01b81526001600160a01b0391821660048201526000945061010090920416915063b34e0c47906024016040805180830381865afa15801562000889573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008af919062002899565b8051602454919250620008c29162002359565b620008d7816020015160246001015462002359565b50565b606060168054806020026020016040519081016040528092919081815260200182805480156200093457602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162000915575b5050505050905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152600690737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200099b57600080fd5b505af1158015620009b0573d6000803e3d6000fd5b50506040517ff28dceb300000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb39150606401600060405180830381600087803b15801562000a4857600080fd5b505af115801562000a5d573d6000803e3d6000fd5b5050601e546040516303d4768360e41b81526001600160a01b0385811660048301526101009092049091169250633d4768309150602401600060405180830381600087803b15801562000aaf57600080fd5b505af115801562000ac4573d6000803e3d6000fd5b5050505050565b60235460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801562000b2557600080fd5b505af115801562000b3a573d6000803e3d6000fd5b5050604051630618f58760e51b8152637d7b71b560e01b6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e09150602401600060405180830381600087803b15801562000b9257600080fd5b505af115801562000ba7573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d56891506064015b600060405180830381600087803b15801562000c0b57600080fd5b505af11580156200069b573d6000803e3d6000fd5b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101562000d6557600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562000d4d57838290600052602060002001805462000cb990620028f8565b80601f016020809104026020016040519081016040528092919081815260200182805462000ce790620028f8565b801562000d385780601f1062000d0c5761010080835404028352916020019162000d38565b820191906000526020600020905b81548152906001019060200180831162000d1a57829003601f168201915b50505050508152602001906001019062000c97565b50505050815250508152602001906001019062000c44565b50505050905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290604b90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801562000dce57600080fd5b505af115801562000de3573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101889052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b15801562000e4857600080fd5b505af115801562000e5d573d6000803e3d6000fd5b505060225460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015b600060405180830381600087803b15801562000ebc57600080fd5b505af115801562000ed1573d6000803e3d6000fd5b5050601e5460215460405163642ce76b60e01b81526001600160a01b0391821660048201526024810186905261010090920416925063642ce76b9150604401600060405180830381600087803b15801562000f2b57600080fd5b505af115801562000f40573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b81526001600160a01b0391821660048201526000945084935083926101009004909116906339ebf82390602401606060405180830381865afa15801562000f9e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fc4919062002858565b92509250925062000fd6838562002359565b62000fe3826000620023e3565b60225462000ac49082906001600160a01b03166200243e565b6060601880548060200260200160405190810160405280929190818152602001828054801562000934576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000915575050505050905090565b6060601780548060200260200160405190810160405280929190818152602001828054801562000934576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000915575050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562000d655760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015620011a657602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411620011525790505b50505050508152505081526020019060010190620010e4565b60235460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200121957600080fd5b505af11580156200122e573d6000803e3d6000fd5b5050604051630618f58760e51b8152637d7b71b560e01b6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e09150602401600060405180830381600087803b1580156200128657600080fd5b505af11580156200129b573d6000803e3d6000fd5b5050601e5460205460405163130aea3160e31b81526001600160a01b0391821660048201526101009092041692506398575188915060240162000bf0565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562000d655783829060005260206000200180546200131f90620028f8565b80601f01602080910402602001604051908101604052809291908181526020018280546200134d90620028f8565b80156200139e5780601f1062001372576101008083540402835291602001916200139e565b820191906000526020600020905b8154815290600101906020018083116200138057829003601f168201915b505050505081526020019060010190620012fd565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200141057600080fd5b505af115801562001425573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101879052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b1580156200148a57600080fd5b505af11580156200149f573d6000803e3d6000fd5b50506022546040517f06447d560000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150602401600060405180830381600087803b1580156200151657600080fd5b505af11580156200152b573d6000803e3d6000fd5b5050601e546021546040517fd80ea5a00000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015261010090920416925063d80ea5a09150602401600060405180830381600087803b1580156200159757600080fd5b505af1158015620015ac573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200160f57600080fd5b505af115801562001624573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa79150602401600060405180830381600087803b1580156200168257600080fd5b505af115801562001697573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d5689150606401600060405180830381600087803b158015620016fa57600080fd5b505af11580156200170f573d6000803e3d6000fd5b5050601e546020546021546040516302154c3d60e51b81526001600160a01b0392831660048201529082166024820152600094506101009092041691506342a987a090604401602060405180830381865afa15801562001773573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001799919062002934565b9050620017a681620024a0565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200180057600080fd5b505af115801562001815573d6000803e3d6000fd5b5050601e5460215460405163642ce76b60e01b81526001600160a01b0391821660048201526096602482015261010090920416925063642ce76b9150604401600060405180830381600087803b1580156200186f57600080fd5b505af115801562001884573d6000803e3d6000fd5b5050601e546020546021546040516302154c3d60e51b81526001600160a01b03928316600482015290821660248201526101009092041692506342a987a09150604401602060405180830381865afa158015620018e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200190b919062002934565b905062001918816200251c565b5050565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101562000d655760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562001a0257602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411620019ae5790505b5050505050815250508152602001906001019062001940565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801562001a7857600080fd5b505af115801562001a8d573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101879052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b15801562001af257600080fd5b505af115801562001b07573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b81526001600160a01b0391821660048201526000945084935083926101009004909116906339ebf82390602401606060405180830381865afa15801562001b65573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b8b919062002858565b92509250925062000675838562002359565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562000d6557838290600052602060002001805462001be390620028f8565b80601f016020809104026020016040519081016040528092919081815260200182805462001c1190620028f8565b801562001c625780601f1062001c365761010080835404028352916020019162001c62565b820191906000526020600020905b81548152906001019060200180831162001c4457829003601f168201915b50505050508152602001906001019062001bc1565b60085460009060ff161562001c90575060085460ff1690565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c65640000000000000000000000000000000000000000000000000000602483015260009163667f9d7090604401602060405180830381865afa15801562001d22573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001d48919062002959565b1415905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801562001da957600080fd5b505af115801562001dbe573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d5689150606401600060405180830381600087803b15801562001e2157600080fd5b505af115801562001e36573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa79150602401600060405180830381600087803b15801562001e9457600080fd5b505af115801562001ea9573d6000803e3d6000fd5b5050601e5460205460405163130aea3160e31b81526001600160a01b03918216600482015261010090920416925063985751889150602401600060405180830381600087803b15801562001efc57600080fd5b505af115801562001f11573d6000803e3d6000fd5b5050601e5460205460405163b34e0c4760e01b81526001600160a01b0391821660048201526000945061010090920416915063b34e0c47906024016040805180830381865afa15801562001f69573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001f8f919062002899565b905062001fa28160000151600062002359565b620008d78160200151600062002359565b6060601580548060200260200160405190810160405280929190818152602001828054801562000934576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000915575050505050905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290604b90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200207557600080fd5b505af11580156200208a573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101889052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b158015620020ef57600080fd5b505af115801562002104573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa7915060240162000ea1565b601e54604080517f8da5cb5b0000000000000000000000000000000000000000000000000000000081529051600692737109709ecfa91a80626ff3989d68f67f5b1dd12d9263ca669fa7926101009092046001600160a01b031691638da5cb5b916004808201926020929091908290030181865afa158015620021d4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620021fa919062002973565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200225457600080fd5b505af115801562002269573d6000803e3d6000fd5b5050601e546040516303d4768360e41b81526001600160a01b0385811660048301526101009092049091169250633d4768309150602401600060405180830381600087803b158015620022bb57600080fd5b505af1158015620022d0573d6000803e3d6000fd5b50505050620008d7601e60019054906101000a90046001600160a01b03166001600160a01b0316638df8b2fe6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200232c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002352919062002973565b826200243e565b6040517f98296c540000000000000000000000000000000000000000000000000000000081526004810183905260248101829052737109709ecfa91a80626ff3989d68f67f5b1dd12d906398296c54906044015b60006040518083038186803b158015620023c657600080fd5b505afa158015620023db573d6000803e3d6000fd5b505050505050565b6040517ff7fe347700000000000000000000000000000000000000000000000000000000815282151560048201528115156024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063f7fe347790604401620023ad565b6040517f515361f60000000000000000000000000000000000000000000000000000000081526001600160a01b03808416600483015282166024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063515361f690604401620023ad565b6040517f0c9fd5810000000000000000000000000000000000000000000000000000000081528115156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90630c9fd581906024015b60006040518083038186803b1580156200250757600080fd5b505afa15801562000ac4573d6000803e3d6000fd5b6040517fa59828850000000000000000000000000000000000000000000000000000000081528115156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063a598288590602401620024ee565b610de3806200299283390190565b6020808252825182820181905260009190848201906040850190845b81811015620025c05783516001600160a01b03168352928401929184019160010162002599565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015620026b757603f19898403018552815180516001600160a01b031684528701518784018790528051878501819052908801906060600582901b86018101919086019060005b81811015620026a057878403605f190183528451805180865260005b8181101562002678578e81840101518f82890101528e8101905062002658565b5060008682018f0152958d0195601f01601f19169094018c019350918b01916001016200263c565b5050509588019593505090860190600101620025f3565b509098975050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156200278557898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156200276f5783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b01906200272b565b50978a01979550505091870191600101620026ed565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b87010192508387016000805b838110156200281c57888603603f1901855282518051808852835b81811015620027f4578281018a01518982018b01528901620027d7565b508781018901849052601f01601f1916909601870195509386019391860191600101620027bc565b509398975050505050505050565b805180151581146200283b57600080fd5b919050565b80516001600160a01b03811681146200283b57600080fd5b6000806000606084860312156200286e57600080fd5b8351925062002880602085016200282a565b9150620028906040850162002840565b90509250925092565b600060408284031215620028ac57600080fd5b6040516040810181811067ffffffffffffffff82111715620028de57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b600181811c908216806200290d57607f821691505b6020821081036200292e57634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156200294757600080fd5b62002952826200282a565b9392505050565b6000602082840312156200296c57600080fd5b5051919050565b6000602082840312156200298657600080fd5b62002952826200284056fe608060405234801561001057600080fd5b50604051610de3380380610de383398101604081905261002f916100e0565b61003833610066565b610041816100b6565b600180546001600160a01b0319166001600160a01b0392909216919091179055610110565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381166100dd5760405163d92e233d60e01b815260040160405180910390fd5b50565b6000602082840312156100f257600080fd5b81516001600160a01b038116811461010957600080fd5b9392505050565b610cc48061011f6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80638da5cb5b11610097578063d80ea5a011610066578063d80ea5a0146102d8578063f2fde38b146102eb578063f8806a13146102fe578063fc2ebdd11461039757600080fd5b80638da5cb5b1461021d5780638df8b2fe146102425780639857518814610255578063b34e0c471461026857600080fd5b806342a987a0116100d357806342a987a0146101cc578063642ce76b146101ef578063715018a6146102025780637814d5681461020a57600080fd5b80631413d4c014610105578063175188e81461014657806339ebf8231461015b5780633d476830146101b9575b600080fd5b61012c610113366004610b39565b6002602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b610159610154366004610b39565b6103aa565b005b610195610169366004610b39565b6003602052600090815260409020805460019091015460ff81169061010090046001600160a01b031683565b6040805193845291151560208401526001600160a01b03169082015260600161013d565b6101596101c7366004610b39565b6104a3565b6101df6101da366004610b5b565b610513565b604051901515815260200161013d565b6101596101fd366004610b8e565b61059b565b61015961066b565b610159610218366004610bb8565b61067f565b6000546001600160a01b03165b6040516001600160a01b03909116815260200161013d565b60015461022a906001600160a01b031681565b610159610263366004610b39565b610747565b6102bd610276366004610b39565b6040805180820190915260008082526020820152506001600160a01b0316600090815260026020908152604091829020825180840190935280548352600101549082015290565b6040805182518152602092830151928101929092520161013d565b6101596102e6366004610b39565b6107c5565b6101596102f9366004610b39565b61087e565b61036a61030c366004610b39565b6040805160608082018352600080835260208084018290529284018190526001600160a01b0394851681526003835283902083519182018452805482526001015460ff81161515928201929092526101009091049092169082015290565b6040805182518152602080840151151590820152918101516001600160a01b03169082015260600161013d565b6101596103a5366004610c52565b610910565b806103bd6000546001600160a01b031690565b6001600160a01b0316336001600160a01b031614806103e657506001546001600160a01b031633145b8061041257506001600160a01b0381811660009081526003602052604090206001015461010090041633145b156104715761042082610a26565b6001600160a01b03821660008181526003602052604080822060018101805460ff19169055829055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49190a25050565b6040517fe3b6914b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6104ab610a66565b6104b481610a26565b600180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc8690600090a35050565b6001600160a01b03808316600090815260026020908152604080832081518083018352815481526001918201548185015286861685526003845282852083516060810185528154815292015460ff811615159483018590526101009004909516918101919091529192919061058d57600192505050610595565b519051101590505b92915050565b816105ae6000546001600160a01b031690565b6001600160a01b0316336001600160a01b031614806105d757506001546001600160a01b031633145b8061060357506001600160a01b0381811660009081526003602052604090206001015461010090041633145b156104715761061183610a26565b6001600160a01b03831660008181526003602052604090819020849055517f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c099061065e9085815260200190565b60405180910390a2505050565b610673610a66565b61067d6000610ac0565b565b6000546001600160a01b03163314806106a257506001546001600160a01b031633145b15610715576106b082610a26565b6001600160a01b03821660008181526002602090815260409182902084518082558583015160019092018290558351908152918201527f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d910160405180910390a25050565b6040517f7d7b71b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546001600160a01b031633148061076a57506001546001600160a01b031633145b156107155761077881610a26565b6001600160a01b038116600081815260026020526040808220828155600101829055517fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d9190a250565b50565b6001600160a01b03808216600090815260036020526040902060010154829161010090910416330361084c576107fa82610a26565b6001600160a01b0382166000818152600360205260408082206001908101805460ff19169091179055517f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb9190a25050565b6040517f97ffbac900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610886610a66565b6001600160a01b0381166109075760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6107c281610ac0565b6000546001600160a01b031633148061093357506001546001600160a01b031633145b156107155761094183610a26565b61094a81610a26565b6040805160608082018352848252600060208084018281526001600160a01b038781168688018181528b831680875260038652898720985189559351600190980180549151909316610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff981515989098167fffffffffffffffffffffff000000000000000000000000000000000000000000909116179690961790558551888152918201929092529384019290925290917f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb910161065e565b6001600160a01b0381166107c2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546001600160a01b0316331461067d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108fe565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b0381168114610b3457600080fd5b919050565b600060208284031215610b4b57600080fd5b610b5482610b1d565b9392505050565b60008060408385031215610b6e57600080fd5b610b7783610b1d565b9150610b8560208401610b1d565b90509250929050565b60008060408385031215610ba157600080fd5b610baa83610b1d565b946020939093013593505050565b6000808284036060811215610bcc57600080fd5b610bd584610b1d565b92506040601f1982011215610be957600080fd5b506040516040810181811067ffffffffffffffff82111715610c34577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60409081526020858101358352940135938101939093525092909150565b600080600060608486031215610c6757600080fd5b610c7084610b1d565b925060208401359150610c8560408501610b1d565b9050925092509256fea26469706673582212203b88168261897d5269f130e4a4ddfcb90a0e0a90ac15a761697b97bdb1e86dc864736f6c63430008130033a26469706673582212205479d3002a7b452a3b6a2ccae77ebac9ef57ceda4c9e2344f440062da2e9193764736f6c63430008130033","sourceMap":"138:4997:120:-:0;;;3126:44:54;;;-1:-1:-1;;3126:44:54;;;3166:4;3126:44;;;;;;1016:26:64;;;;;;;;;;222:39:120;;;-1:-1:-1;;;;;;222:39:120;;;;;;;;267:32;;;;;297:1;267:32;;;305:36;;;;;339:1;305:36;;;347:39;;;;;384:1;347:39;;;392:44;;;;;;434:1;392:44;;;138:4997;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b5060043610620002015760003560e01c80636c53db9a1162000119578063a8c62e7611620000af578063e20c9f71116200007a578063e20c9f7114620003d2578063e68393b414620003dc578063ebe69a5f14620003e6578063fa7626d414620003f057600080fd5b8063a8c62e76146200038f578063b5508aa914620003a3578063ba414fa614620003ad578063d4dadecb14620003c857600080fd5b80638caa5c4411620000f05780638caa5c44146200035d5780638df8b2fe1462000367578063916a17c6146200037b5780639693f128146200038557600080fd5b80636c53db9a146200032657806382fad478146200033a57806385226c81146200034457600080fd5b80632ade3880116200019b5780633f7286f411620001665780633f7286f414620002d65780634905e83114620002e05780634f8632ba14620002f957806366d9a9a0146200030d57600080fd5b80632ade3880146200027c5780633668aa2914620002955780633e5e3c23146200029f5780633ea7771b14620002a957600080fd5b80630c2759da11620001dc5780630c2759da14620002455780631ed7831c146200024f57806324e40b97146200026857806325821153146200027257600080fd5b8063073a2d8c14620002065780630778c72c146200022f5780630a9254e4146200023b575b600080fd5b60245460255462000215919082565b604080519283526020830191909152015b60405180910390f35b62000239620003fe565b005b62000239620006a1565b620002396200074a565b62000259620008da565b6040516200022691906200257d565b620002396200093e565b6200023962000acb565b6200028662000c20565b604051620002269190620025cc565b6200023962000d6e565b6200025962000ffc565b602354620002bd906001600160a01b031681565b6040516001600160a01b03909116815260200162000226565b620002596200105e565b601e54620002bd9061010090046001600160a01b031681565b602054620002bd906001600160a01b031681565b62000317620010c0565b604051620002269190620026c5565b602254620002bd906001600160a01b031681565b62000239620011bf565b6200034e620012d9565b60405162000226919062002794565b62000239620013b3565b601f54620002bd906001600160a01b031681565b620003176200191c565b6200023962001a1b565b602154620002bd906001600160a01b031681565b6200034e62001b9d565b620003b762001c77565b604051901515815260200162000226565b6200023962001d4f565b6200025962001fb3565b6200023962002015565b620002396200214d565b601e54620003b79060ff1681565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200045b57600080fd5b505af115801562000470573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101879052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b158015620004d557600080fd5b505af1158015620004ea573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa79150602401600060405180830381600087803b1580156200054857600080fd5b505af11580156200055d573d6000803e3d6000fd5b5050601e546021546040517f175188e80000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015261010090920416925063175188e89150602401600060405180830381600087803b158015620005c957600080fd5b505af1158015620005de573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b81526001600160a01b0391821660048201526000945084935083926101009004909116906339ebf82390602401606060405180830381865afa1580156200063c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000662919062002858565b9250925092506200067583600062002359565b62000682826000620023e3565b6022546200069b9082906001600160a01b03166200243e565b50505050565b601f546040516001600160a01b0390911690620006be906200256f565b6001600160a01b039091168152602001604051809103906000f080158015620006eb573d6000803e3d6000fd5b50601e80546001600160a01b0392909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff909216919091179055604080518082019091526064808252426020909201829052602455602555565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b158015620007a457600080fd5b505af1158015620007b9573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d5689150606401600060405180830381600087803b1580156200081c57600080fd5b505af115801562000831573d6000803e3d6000fd5b5050601e5460205460405163b34e0c4760e01b81526001600160a01b0391821660048201526000945061010090920416915063b34e0c47906024016040805180830381865afa15801562000889573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008af919062002899565b8051602454919250620008c29162002359565b620008d7816020015160246001015462002359565b50565b606060168054806020026020016040519081016040528092919081815260200182805480156200093457602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162000915575b5050505050905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152600690737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200099b57600080fd5b505af1158015620009b0573d6000803e3d6000fd5b50506040517ff28dceb300000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb39150606401600060405180830381600087803b15801562000a4857600080fd5b505af115801562000a5d573d6000803e3d6000fd5b5050601e546040516303d4768360e41b81526001600160a01b0385811660048301526101009092049091169250633d4768309150602401600060405180830381600087803b15801562000aaf57600080fd5b505af115801562000ac4573d6000803e3d6000fd5b5050505050565b60235460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801562000b2557600080fd5b505af115801562000b3a573d6000803e3d6000fd5b5050604051630618f58760e51b8152637d7b71b560e01b6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e09150602401600060405180830381600087803b15801562000b9257600080fd5b505af115801562000ba7573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d56891506064015b600060405180830381600087803b15801562000c0b57600080fd5b505af11580156200069b573d6000803e3d6000fd5b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101562000d6557600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b8282101562000d4d57838290600052602060002001805462000cb990620028f8565b80601f016020809104026020016040519081016040528092919081815260200182805462000ce790620028f8565b801562000d385780601f1062000d0c5761010080835404028352916020019162000d38565b820191906000526020600020905b81548152906001019060200180831162000d1a57829003601f168201915b50505050508152602001906001019062000c97565b50505050815250508152602001906001019062000c44565b50505050905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290604b90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801562000dce57600080fd5b505af115801562000de3573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101889052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b15801562000e4857600080fd5b505af115801562000e5d573d6000803e3d6000fd5b505060225460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015b600060405180830381600087803b15801562000ebc57600080fd5b505af115801562000ed1573d6000803e3d6000fd5b5050601e5460215460405163642ce76b60e01b81526001600160a01b0391821660048201526024810186905261010090920416925063642ce76b9150604401600060405180830381600087803b15801562000f2b57600080fd5b505af115801562000f40573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b81526001600160a01b0391821660048201526000945084935083926101009004909116906339ebf82390602401606060405180830381865afa15801562000f9e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fc4919062002858565b92509250925062000fd6838562002359565b62000fe3826000620023e3565b60225462000ac49082906001600160a01b03166200243e565b6060601880548060200260200160405190810160405280929190818152602001828054801562000934576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000915575050505050905090565b6060601780548060200260200160405190810160405280929190818152602001828054801562000934576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000915575050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562000d655760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015620011a657602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411620011525790505b50505050508152505081526020019060010190620010e4565b60235460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200121957600080fd5b505af11580156200122e573d6000803e3d6000fd5b5050604051630618f58760e51b8152637d7b71b560e01b6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e09150602401600060405180830381600087803b1580156200128657600080fd5b505af11580156200129b573d6000803e3d6000fd5b5050601e5460205460405163130aea3160e31b81526001600160a01b0391821660048201526101009092041692506398575188915060240162000bf0565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562000d655783829060005260206000200180546200131f90620028f8565b80601f01602080910402602001604051908101604052809291908181526020018280546200134d90620028f8565b80156200139e5780601f1062001372576101008083540402835291602001916200139e565b820191906000526020600020905b8154815290600101906020018083116200138057829003601f168201915b505050505081526020019060010190620012fd565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200141057600080fd5b505af115801562001425573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101879052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b1580156200148a57600080fd5b505af11580156200149f573d6000803e3d6000fd5b50506022546040517f06447d560000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150602401600060405180830381600087803b1580156200151657600080fd5b505af11580156200152b573d6000803e3d6000fd5b5050601e546021546040517fd80ea5a00000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015261010090920416925063d80ea5a09150602401600060405180830381600087803b1580156200159757600080fd5b505af1158015620015ac573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200160f57600080fd5b505af115801562001624573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa79150602401600060405180830381600087803b1580156200168257600080fd5b505af115801562001697573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d5689150606401600060405180830381600087803b158015620016fa57600080fd5b505af11580156200170f573d6000803e3d6000fd5b5050601e546020546021546040516302154c3d60e51b81526001600160a01b0392831660048201529082166024820152600094506101009092041691506342a987a090604401602060405180830381865afa15801562001773573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001799919062002934565b9050620017a681620024a0565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200180057600080fd5b505af115801562001815573d6000803e3d6000fd5b5050601e5460215460405163642ce76b60e01b81526001600160a01b0391821660048201526096602482015261010090920416925063642ce76b9150604401600060405180830381600087803b1580156200186f57600080fd5b505af115801562001884573d6000803e3d6000fd5b5050601e546020546021546040516302154c3d60e51b81526001600160a01b03928316600482015290821660248201526101009092041692506342a987a09150604401602060405180830381865afa158015620018e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200190b919062002934565b905062001918816200251c565b5050565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101562000d655760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801562001a0257602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411620019ae5790505b5050505050815250508152602001906001019062001940565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801562001a7857600080fd5b505af115801562001a8d573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101879052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b15801562001af257600080fd5b505af115801562001b07573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b81526001600160a01b0391821660048201526000945084935083926101009004909116906339ebf82390602401606060405180830381865afa15801562001b65573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b8b919062002858565b92509250925062000675838562002359565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562000d6557838290600052602060002001805462001be390620028f8565b80601f016020809104026020016040519081016040528092919081815260200182805462001c1190620028f8565b801562001c625780601f1062001c365761010080835404028352916020019162001c62565b820191906000526020600020905b81548152906001019060200180831162001c4457829003601f168201915b50505050508152602001906001019062001bc1565b60085460009060ff161562001c90575060085460ff1690565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c65640000000000000000000000000000000000000000000000000000602483015260009163667f9d7090604401602060405180830381865afa15801562001d22573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001d48919062002959565b1415905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801562001da957600080fd5b505af115801562001dbe573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d5689150606401600060405180830381600087803b15801562001e2157600080fd5b505af115801562001e36573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa79150602401600060405180830381600087803b15801562001e9457600080fd5b505af115801562001ea9573d6000803e3d6000fd5b5050601e5460205460405163130aea3160e31b81526001600160a01b03918216600482015261010090920416925063985751889150602401600060405180830381600087803b15801562001efc57600080fd5b505af115801562001f11573d6000803e3d6000fd5b5050601e5460205460405163b34e0c4760e01b81526001600160a01b0391821660048201526000945061010090920416915063b34e0c47906024016040805180830381865afa15801562001f69573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001f8f919062002899565b905062001fa28160000151600062002359565b620008d78160200151600062002359565b6060601580548060200260200160405190810160405280929190818152602001828054801562000934576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162000915575050505050905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290604b90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156200207557600080fd5b505af11580156200208a573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101889052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b158015620020ef57600080fd5b505af115801562002104573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa7915060240162000ea1565b601e54604080517f8da5cb5b0000000000000000000000000000000000000000000000000000000081529051600692737109709ecfa91a80626ff3989d68f67f5b1dd12d9263ca669fa7926101009092046001600160a01b031691638da5cb5b916004808201926020929091908290030181865afa158015620021d4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620021fa919062002973565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200225457600080fd5b505af115801562002269573d6000803e3d6000fd5b5050601e546040516303d4768360e41b81526001600160a01b0385811660048301526101009092049091169250633d4768309150602401600060405180830381600087803b158015620022bb57600080fd5b505af1158015620022d0573d6000803e3d6000fd5b50505050620008d7601e60019054906101000a90046001600160a01b03166001600160a01b0316638df8b2fe6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200232c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002352919062002973565b826200243e565b6040517f98296c540000000000000000000000000000000000000000000000000000000081526004810183905260248101829052737109709ecfa91a80626ff3989d68f67f5b1dd12d906398296c54906044015b60006040518083038186803b158015620023c657600080fd5b505afa158015620023db573d6000803e3d6000fd5b505050505050565b6040517ff7fe347700000000000000000000000000000000000000000000000000000000815282151560048201528115156024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063f7fe347790604401620023ad565b6040517f515361f60000000000000000000000000000000000000000000000000000000081526001600160a01b03808416600483015282166024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063515361f690604401620023ad565b6040517f0c9fd5810000000000000000000000000000000000000000000000000000000081528115156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90630c9fd581906024015b60006040518083038186803b1580156200250757600080fd5b505afa15801562000ac4573d6000803e3d6000fd5b6040517fa59828850000000000000000000000000000000000000000000000000000000081528115156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063a598288590602401620024ee565b610de3806200299283390190565b6020808252825182820181905260009190848201906040850190845b81811015620025c05783516001600160a01b03168352928401929184019160010162002599565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015620026b757603f19898403018552815180516001600160a01b031684528701518784018790528051878501819052908801906060600582901b86018101919086019060005b81811015620026a057878403605f190183528451805180865260005b8181101562002678578e81840101518f82890101528e8101905062002658565b5060008682018f0152958d0195601f01601f19169094018c019350918b01916001016200263c565b5050509588019593505090860190600101620025f3565b509098975050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156200278557898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156200276f5783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b01906200272b565b50978a01979550505091870191600101620026ed565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b87010192508387016000805b838110156200281c57888603603f1901855282518051808852835b81811015620027f4578281018a01518982018b01528901620027d7565b508781018901849052601f01601f1916909601870195509386019391860191600101620027bc565b509398975050505050505050565b805180151581146200283b57600080fd5b919050565b80516001600160a01b03811681146200283b57600080fd5b6000806000606084860312156200286e57600080fd5b8351925062002880602085016200282a565b9150620028906040850162002840565b90509250925092565b600060408284031215620028ac57600080fd5b6040516040810181811067ffffffffffffffff82111715620028de57634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b600181811c908216806200290d57607f821691505b6020821081036200292e57634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156200294757600080fd5b62002952826200282a565b9392505050565b6000602082840312156200296c57600080fd5b5051919050565b6000602082840312156200298657600080fd5b62002952826200284056fe608060405234801561001057600080fd5b50604051610de3380380610de383398101604081905261002f916100e0565b61003833610066565b610041816100b6565b600180546001600160a01b0319166001600160a01b0392909216919091179055610110565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381166100dd5760405163d92e233d60e01b815260040160405180910390fd5b50565b6000602082840312156100f257600080fd5b81516001600160a01b038116811461010957600080fd5b9392505050565b610cc48061011f6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80638da5cb5b11610097578063d80ea5a011610066578063d80ea5a0146102d8578063f2fde38b146102eb578063f8806a13146102fe578063fc2ebdd11461039757600080fd5b80638da5cb5b1461021d5780638df8b2fe146102425780639857518814610255578063b34e0c471461026857600080fd5b806342a987a0116100d357806342a987a0146101cc578063642ce76b146101ef578063715018a6146102025780637814d5681461020a57600080fd5b80631413d4c014610105578063175188e81461014657806339ebf8231461015b5780633d476830146101b9575b600080fd5b61012c610113366004610b39565b6002602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b610159610154366004610b39565b6103aa565b005b610195610169366004610b39565b6003602052600090815260409020805460019091015460ff81169061010090046001600160a01b031683565b6040805193845291151560208401526001600160a01b03169082015260600161013d565b6101596101c7366004610b39565b6104a3565b6101df6101da366004610b5b565b610513565b604051901515815260200161013d565b6101596101fd366004610b8e565b61059b565b61015961066b565b610159610218366004610bb8565b61067f565b6000546001600160a01b03165b6040516001600160a01b03909116815260200161013d565b60015461022a906001600160a01b031681565b610159610263366004610b39565b610747565b6102bd610276366004610b39565b6040805180820190915260008082526020820152506001600160a01b0316600090815260026020908152604091829020825180840190935280548352600101549082015290565b6040805182518152602092830151928101929092520161013d565b6101596102e6366004610b39565b6107c5565b6101596102f9366004610b39565b61087e565b61036a61030c366004610b39565b6040805160608082018352600080835260208084018290529284018190526001600160a01b0394851681526003835283902083519182018452805482526001015460ff81161515928201929092526101009091049092169082015290565b6040805182518152602080840151151590820152918101516001600160a01b03169082015260600161013d565b6101596103a5366004610c52565b610910565b806103bd6000546001600160a01b031690565b6001600160a01b0316336001600160a01b031614806103e657506001546001600160a01b031633145b8061041257506001600160a01b0381811660009081526003602052604090206001015461010090041633145b156104715761042082610a26565b6001600160a01b03821660008181526003602052604080822060018101805460ff19169055829055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49190a25050565b6040517fe3b6914b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6104ab610a66565b6104b481610a26565b600180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc8690600090a35050565b6001600160a01b03808316600090815260026020908152604080832081518083018352815481526001918201548185015286861685526003845282852083516060810185528154815292015460ff811615159483018590526101009004909516918101919091529192919061058d57600192505050610595565b519051101590505b92915050565b816105ae6000546001600160a01b031690565b6001600160a01b0316336001600160a01b031614806105d757506001546001600160a01b031633145b8061060357506001600160a01b0381811660009081526003602052604090206001015461010090041633145b156104715761061183610a26565b6001600160a01b03831660008181526003602052604090819020849055517f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c099061065e9085815260200190565b60405180910390a2505050565b610673610a66565b61067d6000610ac0565b565b6000546001600160a01b03163314806106a257506001546001600160a01b031633145b15610715576106b082610a26565b6001600160a01b03821660008181526002602090815260409182902084518082558583015160019092018290558351908152918201527f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d910160405180910390a25050565b6040517f7d7b71b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546001600160a01b031633148061076a57506001546001600160a01b031633145b156107155761077881610a26565b6001600160a01b038116600081815260026020526040808220828155600101829055517fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d9190a250565b50565b6001600160a01b03808216600090815260036020526040902060010154829161010090910416330361084c576107fa82610a26565b6001600160a01b0382166000818152600360205260408082206001908101805460ff19169091179055517f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb9190a25050565b6040517f97ffbac900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610886610a66565b6001600160a01b0381166109075760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6107c281610ac0565b6000546001600160a01b031633148061093357506001546001600160a01b031633145b156107155761094183610a26565b61094a81610a26565b6040805160608082018352848252600060208084018281526001600160a01b038781168688018181528b831680875260038652898720985189559351600190980180549151909316610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff981515989098167fffffffffffffffffffffff000000000000000000000000000000000000000000909116179690961790558551888152918201929092529384019290925290917f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb910161065e565b6001600160a01b0381166107c2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546001600160a01b0316331461067d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108fe565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b0381168114610b3457600080fd5b919050565b600060208284031215610b4b57600080fd5b610b5482610b1d565b9392505050565b60008060408385031215610b6e57600080fd5b610b7783610b1d565b9150610b8560208401610b1d565b90509250929050565b60008060408385031215610ba157600080fd5b610baa83610b1d565b946020939093013593505050565b6000808284036060811215610bcc57600080fd5b610bd584610b1d565b92506040601f1982011215610be957600080fd5b506040516040810181811067ffffffffffffffff82111715610c34577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60409081526020858101358352940135938101939093525092909150565b600080600060608486031215610c6757600080fd5b610c7084610b1d565b925060208401359150610c8560408501610b1d565b9050925092509256fea26469706673582212203b88168261897d5269f130e4a4ddfcb90a0e0a90ac15a761697b97bdb1e86dc864736f6c63430008130033a26469706673582212205479d3002a7b452a3b6a2ccae77ebac9ef57ceda4c9e2344f440062da2e9193764736f6c63430008130033","sourceMap":"138:4997:120:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;442:32;;;;;;;;;;;;;;188:25:125;;;244:2;229:18;;222:34;;;;161:18;442:32:120;;;;;;;;2731:544;;;:::i;:::-;;481:170;;;:::i;657:331::-;;;:::i;2452:134:57:-;;;:::i;:::-;;;;;;;:::i;2042:247:120:-;;;:::i;1614:217::-;;;:::i;3360:151:57:-;;;:::i;:::-;;;;;;;:::i;3867:581:120:-;;;:::i;3221:133:57:-;;;:::i;392:44:120:-;;;;;-1:-1:-1;;;;;392:44:120;;;;;;-1:-1:-1;;;;;3249:55:125;;;3231:74;;3219:2;3204:18;392:44:120;3085:226:125;2922:141:57;;;:::i;180:36:120:-;;;;;;;;-1:-1:-1;;;;;180:36:120;;;267:32;;;;;-1:-1:-1;;;;;267:32:120;;;2738:178:57;;;:::i;:::-;;;;;;;:::i;347:39:120:-;;;;;-1:-1:-1;;;;;347:39:120;;;1837:199;;;:::i;2592:140:57:-;;;:::i;:::-;;;;;;;:::i;4454:679:120:-;;;:::i;222:39::-;;;;;-1:-1:-1;;;;;222:39:120;;;3069:146:57;;;:::i;2295:430:120:-;;;:::i;305:36::-;;;;;-1:-1:-1;;;;;305:36:120;;;2157:141:57;;;:::i;1243:204:53:-;;;:::i;:::-;;;6587:14:125;;6580:22;6562:41;;6550:2;6535:18;1243:204:53;6422:187:125;994:362:120;;;:::i;2304:142:57:-;;;:::i;3281:580:120:-;;;:::i;1362:246::-;;;:::i;1016:26:64:-;;;;;;;;;2731:544:120;2820:11;;2811:21;;-1:-1:-1;;;2811:21:120;;-1:-1:-1;;;;;2820:11:120;;;2811:21;;;3231:74:125;2798:2:120;;2811:8;;;;3204:18:125;;2811:21:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2842:14:120;;2869:8;;2890:11;;2842:60;;-1:-1:-1;;;2842:60:120;;-1:-1:-1;;;;;2869:8:120;;;2842:60;;;6877:34:125;6927:18;;;6920:34;;;2890:11:120;;;6970:18:125;;;6963:43;2842:14:120;;;;;;-1:-1:-1;2842:26:120;;-1:-1:-1;6789:18:125;;2842:60:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2922:11:120;;2913:21;;-1:-1:-1;;;2913:21:120;;-1:-1:-1;;;;;2922:11:120;;;2913:21;;;3231:74:125;2913:8:120;;-1:-1:-1;2913:8:120;;-1:-1:-1;3204:18:125;;2913:21:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2944:14:120;;2974:8;;2944:39;;;;;-1:-1:-1;;;;;2974:8:120;;;2944:39;;;3231:74:125;2944:14:120;;;;;;-1:-1:-1;2944:29:120;;-1:-1:-1;3204:18:125;;2944:39:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3068:14:120;;3094:8;;3068:35;;-1:-1:-1;;;3068:35:120;;-1:-1:-1;;;;;3094:8:120;;;3068:35;;;3231:74:125;2995:23:120;;-1:-1:-1;2995:23:120;;-1:-1:-1;2995:23:120;;3068:14;;;;;;;:25;;3204:18:125;;3068:35:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2994:109;;;;;;3113:28;3122:15;3139:1;3113:8;:28::i;:::-;3151:29;3160:12;3174:5;3151:8;:29::i;:::-;3218:11;;3190:40;;3199:17;;-1:-1:-1;;;;;3218:11:120;3190:8;:40::i;:::-;2768:507;;;;2731:544::o;481:170::-;551:11;;532:31;;-1:-1:-1;;;;;551:11:120;;;;532:31;;;:::i;:::-;-1:-1:-1;;;;;3249:55:125;;;3231:74;;3219:2;3204:18;532:31:120;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;515:14:120;:48;;-1:-1:-1;;;;;515:48:120;;;;;;;;;;;;;;;;588:56;;;;;;;;;609:3;588:56;;;627:15;588:56;;;;;;;573:12;:71;;;481:170::o;657:331::-;711:11;;702:21;;-1:-1:-1;;;702:21:120;;-1:-1:-1;;;;;711:11:120;;;702:21;;;3231:74:125;702:8:120;;;;3204:18:125;;702:21:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;733:14:120;;761:4;;733:47;;-1:-1:-1;;;733:47:120;;-1:-1:-1;;;;;761:4:120;;;733:47;;;7977:74:125;767:12:120;8087:13:125;;8067:18;;;8060:41;8143:17;8137:24;8117:18;;;8110:52;733:14:120;;;;;;-1:-1:-1;733:27:120;;-1:-1:-1;7950:18:125;;733:47:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;824:14:120;;852:4;;824:33;;-1:-1:-1;;;824:33:120;;-1:-1:-1;;;;;852:4:120;;;824:33;;;3231:74:125;791:30:120;;-1:-1:-1;824:14:120;;;;;;-1:-1:-1;824:27:120;;3204:18:125;;824:33:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;876:16;;894:12;:18;791:66;;-1:-1:-1;867:46:120;;:8;:46::i;:::-;923:58;932:10;:22;;;956:12;:24;;;923:8;:58::i;:::-;692:296;657:331::o;2452:134:57:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:57;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;2042:247:120:-;2155:11;;2146:21;;-1:-1:-1;;;2146:21:120;;-1:-1:-1;;;;;2155:11:120;;;2146:21;;;3231:74:125;2133:1:120;;2146:8;;;;3204:18:125;;2146:21:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2177:51:120;;;;;9040:2:125;2177:51:120;;;9022:21:125;;;9059:18;;;9052:30;9118:34;9098:18;;;9091:62;2177:15:120;;-1:-1:-1;2177:15:120;;-1:-1:-1;9170:18:125;;2177:51:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2238:14:120;;:44;;-1:-1:-1;;;2238:44:120;;-1:-1:-1;;;;;3249:55:125;;;2238:44:120;;;3231:74:125;2238:14:120;;;;;;;;-1:-1:-1;2238:32:120;;-1:-1:-1;3204:18:125;;2238:44:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2094:195;2042:247::o;1614:217::-;1685:16;;1676:26;;-1:-1:-1;;;1676:26:120;;-1:-1:-1;;;;;1685:16:120;;;1676:26;;;3231:74:125;1676:8:120;;;;3204:18:125;;1676:26:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1712:55:120;;-1:-1:-1;;;1712:55:120;;-1:-1:-1;;;1712:55:120;;;9343:98:125;1712:15:120;;-1:-1:-1;1712:15:120;;-1:-1:-1;9316:18:125;;1712:55:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1777:14:120;;1805:4;;1777:47;;-1:-1:-1;;;1777:47:120;;-1:-1:-1;;;;;1805:4:120;;;1777:47;;;7977:74:125;1811:12:120;8087:13:125;;8067:18;;;8060:41;8143:17;8137:24;8117:18;;;8110:52;1777:14:120;;;;;;-1:-1:-1;1777:27:120;;-1:-1:-1;7950:18:125;;1777:47:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151:57;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;3867:581:120:-;4005:11;;3996:21;;-1:-1:-1;;;3996:21:120;;-1:-1:-1;;;;;4005:11:120;;;3996:21;;;3231:74:125;3948:2:120;;3983;;3996:8;;;;3204:18:125;;3996:21:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4027:14:120;;4054:8;;4075:11;;4027:60;;-1:-1:-1;;;4027:60:120;;-1:-1:-1;;;;;4054:8:120;;;4027:60;;;6877:34:125;6927:18;;;6920:34;;;4075:11:120;;;6970:18:125;;;6963:43;4027:14:120;;;;;;-1:-1:-1;4027:26:120;;-1:-1:-1;6789:18:125;;4027:60:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4107:11:120;;4098:21;;-1:-1:-1;;;4098:21:120;;-1:-1:-1;;;;;4107:11:120;;;4098:21;;;3231:74:125;4098:8:120;;-1:-1:-1;4098:8:120;;-1:-1:-1;3204:18:125;;4098:21:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4129:14:120;;4160:8;;4129:54;;-1:-1:-1;;;4129:54:120;;-1:-1:-1;;;;;4160:8:120;;;4129:54;;;10068:74:125;10158:18;;;10151:34;;;4129:14:120;;;;;;-1:-1:-1;4129:30:120;;-1:-1:-1;10041:18:125;;4129:54:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4268:14:120;;4294:8;;4268:35;;-1:-1:-1;;;4268:35:120;;-1:-1:-1;;;;;4294:8:120;;;4268:35;;;3231:74:125;4195:23:120;;-1:-1:-1;4195:23:120;;-1:-1:-1;4195:23:120;;4268:14;;;;;;;:25;;3204:18:125;;4268:35:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4194:109;;;;;;4313:39;4322:15;4339:12;4313:8;:39::i;:::-;4362:29;4371:12;4385:5;4362:8;:29::i;:::-;4429:11;;4401:40;;4410:17;;-1:-1:-1;;;;;4429:11:120;4401:8;:40::i;3221:133:57:-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:57;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:57;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;2738:178::-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1837:199:120;1906:16;;1897:26;;-1:-1:-1;;;1897:26:120;;-1:-1:-1;;;;;1906:16:120;;;1897:26;;;3231:74:125;1897:8:120;;;;3204:18:125;;1897:26:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1933:55:120;;-1:-1:-1;;;1933:55:120;;-1:-1:-1;;;1933:55:120;;;9343:98:125;1933:15:120;;-1:-1:-1;1933:15:120;;-1:-1:-1;9316:18:125;;1933:55:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1998:14:120;;2024:4;;1998:31;;-1:-1:-1;;;1998:31:120;;-1:-1:-1;;;;;2024:4:120;;;1998:31;;;3231:74:125;1998:14:120;;;;;;-1:-1:-1;1998:25:120;;-1:-1:-1;3204:18:125;;1998:31:120;3085:226:125;2592:140:57;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4454:679:120;4545:11;;4536:21;;-1:-1:-1;;;4536:21:120;;-1:-1:-1;;;;;4545:11:120;;;4536:21;;;3231:74:125;4523:2:120;;4536:8;;;;3204:18:125;;4536:21:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4567:14:120;;4594:8;;4615:11;;4567:60;;-1:-1:-1;;;4567:60:120;;-1:-1:-1;;;;;4594:8:120;;;4567:60;;;6877:34:125;6927:18;;;6920:34;;;4615:11:120;;;6970:18:125;;;6963:43;4567:14:120;;;;;;-1:-1:-1;4567:26:120;;-1:-1:-1;6789:18:125;;4567:60:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4651:11:120;;4637:26;;;;;-1:-1:-1;;;;;4651:11:120;;;4637:26;;;3231:74:125;4637:13:120;;-1:-1:-1;4637:13:120;;-1:-1:-1;3204:18:125;;4637:26:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4673:14:120;;4705:8;;4673:41;;;;;-1:-1:-1;;;;;4705:8:120;;;4673:41;;;3231:74:125;4673:14:120;;;;;;-1:-1:-1;4673:31:120;;-1:-1:-1;3204:18:125;;4673:41:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:51;309:37;;-1:-1:-1;;;;;4724:12:120;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4758:11:120;;4749:21;;-1:-1:-1;;;4749:21:120;;-1:-1:-1;;;;;4758:11:120;;;4749:21;;;3231:74:125;4749:8:120;;-1:-1:-1;4749:8:120;;-1:-1:-1;3204:18:125;;4749:21:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4780:14:120;;4808:4;;4780:47;;-1:-1:-1;;;4780:47:120;;-1:-1:-1;;;;;4808:4:120;;;4780:47;;;7977:74:125;4814:12:120;8087:13:125;;8067:18;;;8060:41;8143:17;8137:24;8117:18;;;8110:52;4780:14:120;;;;;;-1:-1:-1;4780:27:120;;-1:-1:-1;7950:18:125;;4780:47:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4856:14:120;;4888:4;;4894:8;;4856:47;;-1:-1:-1;;;4856:47:120;;-1:-1:-1;;;;;4888:4:120;;;4856:47;;;10431:34:125;4894:8:120;;;10481:18:125;;;10474:43;4838:15:120;;-1:-1:-1;4856:14:120;;;;;;-1:-1:-1;4856:31:120;;10343:18:125;;4856:47:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4838:65;;4913:22;4924:10;4913;:22::i;:::-;4955:11;;4946:21;;-1:-1:-1;;;4946:21:120;;-1:-1:-1;;;;;4955:11:120;;;4946:21;;;3231:74:125;4946:8:120;;;;3204:18:125;;4946:21:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4977:14:120;;5008:8;;4977:45;;-1:-1:-1;;;4977:45:120;;-1:-1:-1;;;;;5008:8:120;;;4977:45;;;10068:74:125;5018:3:120;10158:18:125;;;10151:34;4977:14:120;;;;;;-1:-1:-1;4977:30:120;;-1:-1:-1;10041:18:125;;4977:45:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5046:14:120;;5078:4;;5084:8;;5046:47;;-1:-1:-1;;;5046:47:120;;-1:-1:-1;;;;;5078:4:120;;;5046:47;;;10431:34:125;5084:8:120;;;10481:18:125;;;10474:43;5046:14:120;;;;;;-1:-1:-1;5046:31:120;;-1:-1:-1;10343:18:125;;5046:47:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5033:60;;5103:23;5115:10;5103:11;:23::i;:::-;4493:640;;4454:679::o;3069:146:57:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2295:430:120;2381:11;;2372:21;;-1:-1:-1;;;2372:21:120;;-1:-1:-1;;;;;2381:11:120;;;2372:21;;;3231:74:125;2359:2:120;;2372:8;;;;3204:18:125;;2372:21:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2403:14:120;;2430:8;;2451:11;;2403:60;;-1:-1:-1;;;2403:60:120;;-1:-1:-1;;;;;2430:8:120;;;2403:60;;;6877:34:125;6927:18;;;6920:34;;;2451:11:120;;;6970:18:125;;;6963:43;2403:14:120;;;;;;-1:-1:-1;2403:26:120;;-1:-1:-1;6789:18:125;;2403:60:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2548:14:120;;2574:8;;2548:35;;-1:-1:-1;;;2548:35:120;;-1:-1:-1;;;;;2574:8:120;;;2548:35;;;3231:74:125;2475:23:120;;-1:-1:-1;2475:23:120;;-1:-1:-1;2475:23:120;;2548:14;;;;;;;:25;;3204:18:125;;2548:35:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2474:109;;;;;;2593:36;2602:15;2619:9;2593:8;:36::i;2157:141:57:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1243:204:53;1302:7;;1282:4;;1302:7;;1298:143;;;-1:-1:-1;1332:7:53;;;;;1243:204::o;1298:143::-;1377:39;;;;;:7;:39;;;10068:74:125;;;1398:17:53;10158:18:125;;;10151:34;1428:1:53;;1377:7;;10041:18:125;;1377:39:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;1370:60;;1243:204;:::o;994:362:120:-;1046:11;;1037:21;;-1:-1:-1;;;1037:21:120;;-1:-1:-1;;;;;1046:11:120;;;1037:21;;;3231:74:125;1037:8:120;;;;3204:18:125;;1037:21:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1068:14:120;;1096:4;;1068:47;;-1:-1:-1;;;1068:47:120;;-1:-1:-1;;;;;1096:4:120;;;1068:47;;;7977:74:125;1102:12:120;8087:13:125;;8067:18;;;8060:41;8143:17;8137:24;8117:18;;;8110:52;1068:14:120;;;;;;-1:-1:-1;1068:27:120;;-1:-1:-1;7950:18:125;;1068:47:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1135:11:120;;1126:21;;-1:-1:-1;;;1126:21:120;;-1:-1:-1;;;;;1135:11:120;;;1126:21;;;3231:74:125;1126:8:120;;-1:-1:-1;1126:8:120;;-1:-1:-1;3204:18:125;;1126:21:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1157:14:120;;1183:4;;1157:31;;-1:-1:-1;;;1157:31:120;;-1:-1:-1;;;;;1183:4:120;;;1157:31;;;3231:74:125;1157:14:120;;;;;;-1:-1:-1;1157:25:120;;-1:-1:-1;3204:18:125;;1157:31:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1232:14:120;;1260:4;;1232:33;;-1:-1:-1;;;1232:33:120;;-1:-1:-1;;;;;1260:4:120;;;1232:33;;;3231:74:125;1199:30:120;;-1:-1:-1;1232:14:120;;;;;;-1:-1:-1;1232:27:120;;3204:18:125;;1232:33:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1199:66;;1275:29;1284:10;:16;;;1302:1;1275:8;:29::i;:::-;1314:35;1323:10;:22;;;1347:1;1314:8;:35::i;2304:142:57:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:57;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3281:580:120:-;3418:11;;3409:21;;-1:-1:-1;;;3409:21:120;;-1:-1:-1;;;;;3418:11:120;;;3409:21;;;3231:74:125;3361:2:120;;3396;;3409:8;;;;3204:18:125;;3409:21:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3440:14:120;;3467:8;;3488:11;;3440:60;;-1:-1:-1;;;3440:60:120;;-1:-1:-1;;;;;3467:8:120;;;3440:60;;;6877:34:125;6927:18;;;6920:34;;;3488:11:120;;;6970:18:125;;;6963:43;3440:14:120;;;;;;-1:-1:-1;3440:26:120;;-1:-1:-1;6789:18:125;;3440:60:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3520:11:120;;3511:21;;-1:-1:-1;;;3511:21:120;;-1:-1:-1;;;;;3520:11:120;;;3511:21;;;3231:74:125;3511:8:120;;-1:-1:-1;3511:8:120;;-1:-1:-1;3204:18:125;;3511:21:120;3085:226:125;1362:246:120;1463:14;;:22;;;;;;;;1441:1;;1454:8;;;;1463:14;;;;-1:-1:-1;;;;;1463:14:120;;:20;;:22;;;;;;;;;;;;;;;:14;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1454:32;;;;;;;;;;-1:-1:-1;;;;;3249:55:125;;;1454:32:120;;;3231:74:125;3204:18;;1454:32:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1496:14:120;;:44;;-1:-1:-1;;;1496:44:120;;-1:-1:-1;;;;;3249:55:125;;;1496:44:120;;;3231:74:125;1496:14:120;;;;;;;;-1:-1:-1;1496:32:120;;-1:-1:-1;3204:18:125;;1496:44:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1551:50;1560:14;;;;;;;;;-1:-1:-1;;;;;1560:14:120;-1:-1:-1;;;;;1560:26:120;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1590:10;1551:8;:50::i;2270:110:53:-;2349:24;;;;;;;;188:25:125;;;229:18;;;222:34;;;2349:11:53;;;;161:18:125;;2349:24:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2270:110;;:::o;2026:104::-;2099:24;;;;;11938:14:125;;11931:22;2099:24:53;;;11913:41:125;11997:14;;11990:22;11970:18;;;11963:50;2099:11:53;;;;11886:18:125;;2099:24:53;11751:268:125;3454:110:53;3533:24;;;;;-1:-1:-1;;;;;10449:15:125;;;3533:24:53;;;10431:34:125;10501:15;;10481:18;;;10474:43;3533:11:53;;;;10343:18:125;;3533:24:53;10196:327:125;1594:89:53;1657:19;;;;;6587:14:125;;6580:22;1657:19:53;;;6562:41:125;1657:13:53;;;;6535:18:125;;1657:19:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1808:91;1872:20;;;;;6587:14:125;;6580:22;1872:20:53;;;6562:41:125;1872:14:53;;;;6535:18:125;;1872:20:53;6422:187:125;-1:-1:-1;;;;;;;;:::o;267:681:125:-;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:125;767:75;;897:15;;;;862:12;;;;740:1;733:9;704:218;;;-1:-1:-1;939:3:125;;267:681;-1:-1:-1;;;;;;267:681:125:o;953:2127::-;1159:4;1188:2;1228;1217:9;1213:18;1258:2;1247:9;1240:21;1281:6;1316;1310:13;1347:6;1339;1332:22;1373:2;1363:12;;1406:2;1395:9;1391:18;1384:25;;1468:2;1458:6;1455:1;1451:14;1440:9;1436:30;1432:39;1506:2;1498:6;1494:15;1527:1;1537:1514;1551:6;1548:1;1545:13;1537:1514;;;-1:-1:-1;;1616:22:125;;;1612:36;1600:49;;1672:13;;1759:9;;-1:-1:-1;;;;;1755:58:125;1740:74;;1853:11;;1847:18;1885:15;;;1878:27;;;1966:19;;1712:15;;;1998:24;;;2178:21;;;;2045:2;2131:1;2127:16;;;2115:29;;2111:38;;;2069:15;;;;2223:1;2237:705;2253:8;2248:3;2245:17;2237:705;;;2334:19;;;-1:-1:-1;;2330:33:125;2316:48;;2391:15;;2439:9;;2465:24;;;2517:1;2535:169;2551:8;2546:3;2543:17;2535:169;;;2681:2;2675:3;2671:2;2667:12;2663:21;2657:28;2652:2;2646:3;2638:6;2634:16;2630:25;2623:63;2579:2;2574:3;2570:12;2563:19;;2535:169;;;-1:-1:-1;2760:1:125;2732:21;;;2728:30;;2721:41;2871:17;;;;2832:2;2809:17;-1:-1:-1;;2805:31:125;2793:44;;;2789:53;;;-1:-1:-1;2914:14:125;;;;2281:1;2272:11;2237:705;;;-1:-1:-1;;;3029:12:125;;;;2965:6;-1:-1:-1;;2994:15:125;;;;1573:1;1566:9;1537:1514;;;-1:-1:-1;3068:6:125;;953:2127;-1:-1:-1;;;;;;;;953:2127:125:o;3571:1638::-;3775:4;3804:2;3844;3833:9;3829:18;3874:2;3863:9;3856:21;3897:6;3932;3926:13;3963:6;3955;3948:22;3989:2;3979:12;;4022:2;4011:9;4007:18;4000:25;;4084:2;4074:6;4071:1;4067:14;4056:9;4052:30;4048:39;4122:2;4114:6;4110:15;4143:1;4164;4174:1006;4190:6;4185:3;4182:15;4174:1006;;;4259:22;;;-1:-1:-1;;4255:36:125;4243:49;;4315:13;;4402:9;;-1:-1:-1;;;;;4398:58:125;4383:74;;4496:11;;4490:18;4528:15;;;4521:27;;;4609:19;;4355:15;;;4641:24;;;4731:21;;;;4776:1;;4699:2;4687:15;;;4790:282;4806:8;4801:3;4798:17;4790:282;;;4887:15;;4904:66;4883:88;4869:103;;5041:17;;;;4834:1;4825:11;;;;;4998:14;;;;4790:282;;;-1:-1:-1;5158:12:125;;;;5095:5;-1:-1:-1;;;5123:15:125;;;;4216:1;4207:11;4174:1006;;;-1:-1:-1;5197:6:125;;3571:1638;-1:-1:-1;;;;;;;;;3571:1638:125:o;5214:1203::-;5376:4;5405:2;5445;5434:9;5430:18;5475:2;5464:9;5457:21;5498:6;5533;5527:13;5564:6;5556;5549:22;5602:2;5591:9;5587:18;5580:25;;5664:2;5654:6;5651:1;5647:14;5636:9;5632:30;5628:39;5614:53;;5702:2;5694:6;5690:15;5723:1;5744;5754:634;5770:6;5765:3;5762:15;5754:634;;;5839:22;;;-1:-1:-1;;5835:36:125;5823:49;;5895:13;;5937:9;;5959:24;;;6007:1;6021:157;6037:8;6032:3;6029:17;6021:157;;;6145:12;;;6141:21;;6135:28;6112:16;;;6108:25;;6101:63;6056:12;;6021:157;;;-1:-1:-1;6202:21:125;;;6198:30;;6191:41;;;6298:2;6275:17;-1:-1:-1;;6271:31:125;6259:44;;;6255:53;;;-1:-1:-1;6366:12:125;;;;6331:15;;;;5796:1;5787:11;5754:634;;;-1:-1:-1;6405:6:125;;5214:1203;-1:-1:-1;;;;;;;;5214:1203:125:o;7017:164::-;7093:13;;7142;;7135:21;7125:32;;7115:60;;7171:1;7168;7161:12;7115:60;7017:164;;;:::o;7186:200::-;7265:13;;-1:-1:-1;;;;;7307:54:125;;7297:65;;7287:93;;7376:1;7373;7366:12;7391:348;7476:6;7484;7492;7545:2;7533:9;7524:7;7520:23;7516:32;7513:52;;;7561:1;7558;7551:12;7513:52;7590:9;7584:16;7574:26;;7619:46;7661:2;7650:9;7646:18;7619:46;:::i;:::-;7609:56;;7684:49;7729:2;7718:9;7714:18;7684:49;:::i;:::-;7674:59;;7391:348;;;;;:::o;8173:661::-;8274:6;8327:2;8315:9;8306:7;8302:23;8298:32;8295:52;;;8343:1;8340;8333:12;8295:52;8376:2;8370:9;8418:2;8410:6;8406:15;8487:6;8475:10;8472:22;8451:18;8439:10;8436:34;8433:62;8430:242;;;-1:-1:-1;;;8525:1:125;8518:88;8629:4;8626:1;8619:15;8657:4;8654:1;8647:15;8430:242;8688:2;8681:22;8727:16;;8712:32;;8798:2;8783:18;;;8777:25;8760:15;;;8753:50;;;;-1:-1:-1;8719:6:125;8173:661;-1:-1:-1;8173:661:125:o;9452:437::-;9531:1;9527:12;;;;9574;;;9595:61;;9649:4;9641:6;9637:17;9627:27;;9595:61;9702:2;9694:6;9691:14;9671:18;9668:38;9665:218;;-1:-1:-1;;;9736:1:125;9729:88;9840:4;9837:1;9830:15;9868:4;9865:1;9858:15;9665:218;;9452:437;;;:::o;10528:202::-;10595:6;10648:2;10636:9;10627:7;10623:23;10619:32;10616:52;;;10664:1;10661;10654:12;10616:52;10687:37;10714:9;10687:37;:::i;:::-;10677:47;10528:202;-1:-1:-1;;;10528:202:125:o;11349:184::-;11419:6;11472:2;11460:9;11451:7;11447:23;11443:32;11440:52;;;11488:1;11485;11478:12;11440:52;-1:-1:-1;11511:16:125;;11349:184;-1:-1:-1;11349:184:125:o;11538:208::-;11608:6;11661:2;11649:9;11640:7;11636:23;11632:32;11629:52;;;11677:1;11674;11667:12;11629:52;11700:40;11730:9;11700: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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0xf57d2536496fa592ffed2901d5d56e330d7c70955508b9d2ffa60aad76f42586\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://958bc6c5ef6816c7613ee98fa69b002efb6b85b3e4a8448ec2dd20d45d3a68e1\",\"dweb:/ipfs/QmNQtPpCqzvSCf9QVPaaBUvpYWzxCLhp1UWq94qziSagXf\"]},\"pkg/contracts/src/PassportScorer.sol\":{\"keccak256\":\"0xd5e07144ac8629292909573b0c559e9b0285d93b17e32e258e3ab65a4abd85ce\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://a628342602883ac16773d3071ddfe9146dce2b9edc0ee1d89e2ae87a7099e793\",\"dweb:/ipfs/QmecCM33dxkEpw2wePCMUP49txJNEpho9gP4NwTLCaJZTZ\"]},\"pkg/contracts/test/PassportScorerTest.t.sol\":{\"keccak256\":\"0xd31a8d1e333e6d51590f04b219533c07c3fe56ec56dd8d94a18ae93809b2e10e\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://f10951745c0a80df0ffd990d2cd06ee8a221b9dee6d7fcae856e0ec917dd6268\",\"dweb:/ipfs/Qmek8nURNrhSU29BhLFBokcKPGsdFyo8x4stCPU7ZhnqeV\"]}},\"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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0xf57d2536496fa592ffed2901d5d56e330d7c70955508b9d2ffa60aad76f42586","urls":["bzz-raw://958bc6c5ef6816c7613ee98fa69b002efb6b85b3e4a8448ec2dd20d45d3a68e1","dweb:/ipfs/QmNQtPpCqzvSCf9QVPaaBUvpYWzxCLhp1UWq94qziSagXf"],"license":"MIT"},"pkg/contracts/src/PassportScorer.sol":{"keccak256":"0xd5e07144ac8629292909573b0c559e9b0285d93b17e32e258e3ab65a4abd85ce","urls":["bzz-raw://a628342602883ac16773d3071ddfe9146dce2b9edc0ee1d89e2ae87a7099e793","dweb:/ipfs/QmecCM33dxkEpw2wePCMUP49txJNEpho9gP4NwTLCaJZTZ"],"license":"AGPL-3.0-or-later"},"pkg/contracts/test/PassportScorerTest.t.sol":{"keccak256":"0xd31a8d1e333e6d51590f04b219533c07c3fe56ec56dd8d94a18ae93809b2e10e","urls":["bzz-raw://f10951745c0a80df0ffd990d2cd06ee8a221b9dee6d7fcae856e0ec917dd6268","dweb:/ipfs/Qmek8nURNrhSU29BhLFBokcKPGsdFyo8x4stCPU7ZhnqeV"],"license":"AGPL-3.0-or-later"}},"version":1},"id":120} \ 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":"0x6080604052600c805460ff199081166001908117909255601e805490911682179055601f80546001600160a01b0319908116909217905560208054821660021790556021805482166003179055602280548216600417905560238054909116600517905534801561006f57600080fd5b506143268061007f6000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80636c53db9a11610104578063a8c62e76116100a2578063e20c9f7111610071578063e20c9f7114610374578063e68393b41461037c578063ebe69a5f14610384578063fa7626d41461038c57600080fd5b8063a8c62e7614610339578063b5508aa91461034c578063ba414fa614610354578063d4dadecb1461036c57600080fd5b80638caa5c44116100de5780638caa5c441461030e5780638df8b2fe14610316578063916a17c6146103295780639693f1281461033157600080fd5b80636c53db9a146102de57806382fad478146102f157806385226c81146102f957600080fd5b80632ade38801161017c5780633f7286f41161014b5780633f7286f4146102965780634905e8311461029e5780634f8632ba146102b657806366d9a9a0146102c957600080fd5b80632ade3880146102465780633668aa291461025b5780633e5e3c23146102635780633ea7771b1461026b57600080fd5b80630c2759da116101b85780630c2759da146102195780631ed7831c1461022157806324e40b9714610236578063258211531461023e57600080fd5b8063073a2d8c146101df5780630778c72c146102075780630a9254e414610211575b600080fd5b6024546025546101ed919082565b604080519283526020830191909152015b60405180910390f35b61020f610399565b005b61020f61062b565b61020f610724565b6102296108a9565b6040516101fe91906124a9565b61020f61090b565b61020f610a92565b61024e610be1565b6040516101fe91906124f6565b61020f610d23565b610229610fa0565b60235461027e906001600160a01b031681565b6040516001600160a01b0390911681526020016101fe565b610229611000565b601e5461027e9061010090046001600160a01b031681565b60205461027e906001600160a01b031681565b6102d1611060565b6040516101fe91906125e9565b60225461027e906001600160a01b031681565b61020f61115b565b610301611270565b6040516101fe91906126b4565b61020f611340565b601f5461027e906001600160a01b031681565b6102d161188d565b61020f611988565b60215461027e906001600160a01b031681565b610301611b01565b61035c611bd1565b60405190151581526020016101fe565b61020f611ca5565b610229611efa565b61020f611f5a565b61020f61208d565b601e5461035c9060ff1681565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156103f557600080fd5b505af1158015610409573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101879052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b15801561046d57600080fd5b505af1158015610481573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa79150602401600060405180830381600087803b1580156104de57600080fd5b505af11580156104f2573d6000803e3d6000fd5b5050601e546021546040517f175188e80000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015261010090920416925063175188e89150602401600060405180830381600087803b15801561055d57600080fd5b505af1158015610571573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b81526001600160a01b0391821660048201526000945084935083926101009004909116906339ebf82390602401606060405180830381865afa1580156105ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f29190612772565b92509250925061060383600061228d565b61060e826000612315565b6022546106259082906001600160a01b031661236f565b50505050565b6040516106379061249c565b604051809103906000f080158015610653573d6000803e3d6000fd5b50601e80547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b0393841681029190911791829055601f546040517fc4d66de8000000000000000000000000000000000000000000000000000000008152908416600482015291049091169063c4d66de890602401600060405180830381600087803b1580156106ec57600080fd5b505af1158015610700573d6000803e3d6000fd5b50506040805180820190915260648082524260209092018290526024556025555050565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801561077d57600080fd5b505af1158015610791573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d5689150606401600060405180830381600087803b1580156107f357600080fd5b505af1158015610807573d6000803e3d6000fd5b5050601e5460205460405163b34e0c4760e01b81526001600160a01b0391821660048201526000945061010090920416915063b34e0c47906024016040805180830381865afa15801561085e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088291906127ae565b80516024549192506108939161228d565b6108a6816020015160246001015461228d565b50565b6060601680548060200260200160405190810160405280929190818152602001828054801561090157602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116108e3575b5050505050905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152600690737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801561096757600080fd5b505af115801561097b573d6000803e3d6000fd5b50506040517ff28dceb300000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb39150606401600060405180830381600087803b158015610a1257600080fd5b505af1158015610a26573d6000803e3d6000fd5b5050601e546040516303d4768360e41b81526001600160a01b0385811660048301526101009092049091169250633d4768309150602401600060405180830381600087803b158015610a7757600080fd5b505af1158015610a8b573d6000803e3d6000fd5b5050505050565b60235460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b158015610aeb57600080fd5b505af1158015610aff573d6000803e3d6000fd5b5050604051630618f58760e51b8152637d7b71b560e01b6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e09150602401600060405180830381600087803b158015610b5657600080fd5b505af1158015610b6a573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d56891506064015b600060405180830381600087803b158015610bcd57600080fd5b505af1158015610625573d6000803e3d6000fd5b6060601d805480602002602001604051908101604052809291908181526020016000905b82821015610d1a57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b82821015610d03578382906000526020600020018054610c769061280b565b80601f0160208091040260200160405190810160405280929190818152602001828054610ca29061280b565b8015610cef5780601f10610cc457610100808354040283529160200191610cef565b820191906000526020600020905b815481529060010190602001808311610cd257829003601f168201915b505050505081526020019060010190610c57565b505050508152505081526020019060010190610c05565b50505050905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290604b90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b158015610d8257600080fd5b505af1158015610d96573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101889052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b158015610dfa57600080fd5b505af1158015610e0e573d6000803e3d6000fd5b505060225460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015b600060405180830381600087803b158015610e6c57600080fd5b505af1158015610e80573d6000803e3d6000fd5b5050601e5460215460405163642ce76b60e01b81526001600160a01b0391821660048201526024810186905261010090920416925063642ce76b9150604401600060405180830381600087803b158015610ed957600080fd5b505af1158015610eed573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b81526001600160a01b0391821660048201526000945084935083926101009004909116906339ebf82390602401606060405180830381865afa158015610f4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6e9190612772565b925092509250610f7e838561228d565b610f89826000612315565b602254610a8b9082906001600160a01b031661236f565b60606018805480602002602001604051908101604052809291908181526020018280548015610901576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116108e3575050505050905090565b60606017805480602002602001604051908101604052809291908181526020018280548015610901576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116108e3575050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b82821015610d1a5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561114357602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116110f05790505b50505050508152505081526020019060010190611084565b60235460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156111b457600080fd5b505af11580156111c8573d6000803e3d6000fd5b5050604051630618f58760e51b8152637d7b71b560e01b6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e09150602401600060405180830381600087803b15801561121f57600080fd5b505af1158015611233573d6000803e3d6000fd5b5050601e5460205460405163130aea3160e31b81526001600160a01b03918216600482015261010090920416925063985751889150602401610bb3565b6060601a805480602002602001604051908101604052809291908181526020016000905b82821015610d1a5783829060005260206000200180546112b39061280b565b80601f01602080910402602001604051908101604052809291908181526020018280546112df9061280b565b801561132c5780601f106113015761010080835404028352916020019161132c565b820191906000526020600020905b81548152906001019060200180831161130f57829003601f168201915b505050505081526020019060010190611294565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801561139c57600080fd5b505af11580156113b0573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101879052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b15801561141457600080fd5b505af1158015611428573d6000803e3d6000fd5b50506022546040517f06447d560000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150602401600060405180830381600087803b15801561149e57600080fd5b505af11580156114b2573d6000803e3d6000fd5b5050601e546021546040517fd80ea5a00000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015261010090920416925063d80ea5a09150602401600060405180830381600087803b15801561151d57600080fd5b505af1158015611531573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa79150602401600060405180830381600087803b15801561160457600080fd5b505af1158015611618573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d5689150606401600060405180830381600087803b15801561167a57600080fd5b505af115801561168e573d6000803e3d6000fd5b5050601e546020546021546040516302154c3d60e51b81526001600160a01b0392831660048201529082166024820152600094506101009092041691506342a987a090604401602060405180830381865afa1580156116f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117159190612845565b9050611720816123d0565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801561177957600080fd5b505af115801561178d573d6000803e3d6000fd5b5050601e5460215460405163642ce76b60e01b81526001600160a01b0391821660048201526096602482015261010090920416925063642ce76b9150604401600060405180830381600087803b1580156117e657600080fd5b505af11580156117fa573d6000803e3d6000fd5b5050601e546020546021546040516302154c3d60e51b81526001600160a01b03928316600482015290821660248201526101009092041692506342a987a09150604401602060405180830381865afa15801561185a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187e9190612845565b90506118898161244a565b5050565b6060601c805480602002602001604051908101604052809291908181526020016000905b82821015610d1a5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561197057602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841161191d5790505b505050505081525050815260200190600101906118b1565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156119e457600080fd5b505af11580156119f8573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101879052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b158015611a5c57600080fd5b505af1158015611a70573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b81526001600160a01b0391821660048201526000945084935083926101009004909116906339ebf82390602401606060405180830381865afa158015611acd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611af19190612772565b925092509250610603838561228d565b60606019805480602002602001604051908101604052809291908181526020016000905b82821015610d1a578382906000526020600020018054611b449061280b565b80601f0160208091040260200160405190810160405280929190818152602001828054611b709061280b565b8015611bbd5780601f10611b9257610100808354040283529160200191611bbd565b820191906000526020600020905b815481529060010190602001808311611ba057829003601f168201915b505050505081526020019060010190611b25565b60085460009060ff1615611be9575060085460ff1690565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c65640000000000000000000000000000000000000000000000000000602483015260009163667f9d7090604401602060405180830381865afa158015611c7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c9e9190612867565b1415905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b158015611cfe57600080fd5b505af1158015611d12573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d5689150606401600060405180830381600087803b158015611d7457600080fd5b505af1158015611d88573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa79150602401600060405180830381600087803b158015611de557600080fd5b505af1158015611df9573d6000803e3d6000fd5b5050601e5460205460405163130aea3160e31b81526001600160a01b03918216600482015261010090920416925063985751889150602401600060405180830381600087803b158015611e4b57600080fd5b505af1158015611e5f573d6000803e3d6000fd5b5050601e5460205460405163b34e0c4760e01b81526001600160a01b0391821660048201526000945061010090920416915063b34e0c47906024016040805180830381865afa158015611eb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eda91906127ae565b9050611eeb8160000151600061228d565b6108a68160200151600061228d565b60606015805480602002602001604051908101604052809291908181526020018280548015610901576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116108e3575050505050905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290604b90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b158015611fb957600080fd5b505af1158015611fcd573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101889052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b15801561203157600080fd5b505af1158015612045573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa79150602401610e52565b601e54604080517f8da5cb5b0000000000000000000000000000000000000000000000000000000081529051600692737109709ecfa91a80626ff3989d68f67f5b1dd12d9263ca669fa7926101009092046001600160a01b031691638da5cb5b916004808201926020929091908290030181865afa158015612113573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121379190612880565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801561219057600080fd5b505af11580156121a4573d6000803e3d6000fd5b5050601e546040516303d4768360e41b81526001600160a01b0385811660048301526101009092049091169250633d4768309150602401600060405180830381600087803b1580156121f557600080fd5b505af1158015612209573d6000803e3d6000fd5b505050506108a6601e60019054906101000a90046001600160a01b03166001600160a01b0316638df8b2fe6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612263573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122879190612880565b8261236f565b6040517f98296c540000000000000000000000000000000000000000000000000000000081526004810183905260248101829052737109709ecfa91a80626ff3989d68f67f5b1dd12d906398296c54906044015b60006040518083038186803b1580156122f957600080fd5b505afa15801561230d573d6000803e3d6000fd5b505050505050565b6040517ff7fe347700000000000000000000000000000000000000000000000000000000815282151560048201528115156024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063f7fe3477906044016122e1565b6040517f515361f60000000000000000000000000000000000000000000000000000000081526001600160a01b03808416600483015282166024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063515361f6906044016122e1565b6040517f0c9fd5810000000000000000000000000000000000000000000000000000000081528115156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90630c9fd581906024015b60006040518083038186803b15801561243657600080fd5b505afa158015610a8b573d6000803e3d6000fd5b6040517fa59828850000000000000000000000000000000000000000000000000000000081528115156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063a59828859060240161241e565b611a558061289c83390190565b6020808252825182820181905260009190848201906040850190845b818110156124ea5783516001600160a01b0316835292840192918401916001016124c5565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b838110156125db57603f19898403018552815180516001600160a01b031684528701518784018790528051878501819052908801906060600582901b86018101919086019060005b818110156125c557878403605f190183528451805180865260005b8181101561259e578e81840101518f82890101528e81019050612580565b5060008682018f0152958d0195601f01601f19169094018c019350918b0191600101612565565b505050958801959350509086019060010161251d565b509098975050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156126a557898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156126905783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b019061264e565b50978a01979550505091870191600101612611565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b87010192508387016000805b8381101561273857888603603f1901855282518051808852835b81811015612711578281018a01518982018b015289016126f6565b508781018901849052601f01601f19169096018701955093860193918601916001016126dc565b509398975050505050505050565b8051801515811461275657600080fd5b919050565b80516001600160a01b038116811461275657600080fd5b60008060006060848603121561278757600080fd5b8351925061279760208501612746565b91506127a56040850161275b565b90509250925092565b6000604082840312156127c057600080fd5b6040516040810181811067ffffffffffffffff821117156127f157634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b600181811c9082168061281f57607f821691505b60208210810361283f57634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561285757600080fd5b61286082612746565b9392505050565b60006020828403121561287957600080fd5b5051919050565b60006020828403121561289257600080fd5b6128608261275b56fe60a06040523060805234801561001457600080fd5b50608051611a0961004c60003960008181610656015281816106e0015281816108ce015281816109530152610a390152611a096000f3fe60806040526004361061015f5760003560e01c80637814d568116100c0578063c4d66de811610074578063f2fde38b11610059578063f2fde38b14610469578063f8806a1314610489578063fc2ebdd11461052f57600080fd5b8063c4d66de814610429578063d80ea5a01461044957600080fd5b80638df8b2fe116100a55780638df8b2fe1461036c578063985751881461038c578063b34e0c47146103ac57600080fd5b80637814d5681461031a5780638da5cb5b1461033a57600080fd5b806342a987a01161011757806352d1902d116100fc57806352d1902d146102c2578063642ce76b146102e5578063715018a61461030557600080fd5b806342a987a01461027f5780634f1ef286146102af57600080fd5b80633659cfe6116101485780633659cfe6146101d457806339ebf823146101f45780633d4768301461025f57600080fd5b80631413d4c014610164578063175188e8146101b2575b600080fd5b34801561017057600080fd5b5061019861017f3660046116f3565b6066602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b3480156101be57600080fd5b506101d26101cd3660046116f3565b61054f565b005b3480156101e057600080fd5b506101d26101ef3660046116f3565b61064c565b34801561020057600080fd5b5061023b61020f3660046116f3565b6067602052600090815260409020805460019091015460ff81169061010090046001600160a01b031683565b6040805193845291151560208401526001600160a01b0316908201526060016101a9565b34801561026b57600080fd5b506101d261027a3660046116f3565b6107cc565b34801561028b57600080fd5b5061029f61029a36600461170e565b61083c565b60405190151581526020016101a9565b6101d26102bd3660046117a1565b6108c4565b3480156102ce57600080fd5b506102d7610a2c565b6040519081526020016101a9565b3480156102f157600080fd5b506101d2610300366004611847565b610af1565b34801561031157600080fd5b506101d2610bc6565b34801561032657600080fd5b506101d2610335366004611871565b610bda565b34801561034657600080fd5b506033546001600160a01b03165b6040516001600160a01b0390911681526020016101a9565b34801561037857600080fd5b50606554610354906001600160a01b031681565b34801561039857600080fd5b506101d26103a73660046116f3565b610ca2565b3480156103b857600080fd5b5061040e6103c73660046116f3565b6040805180820190915260008082526020820152506001600160a01b0316600090815260666020908152604091829020825180840190935280548352600101549082015290565b604080518251815260209283015192810192909252016101a9565b34801561043557600080fd5b506101d26104443660046116f3565b610d1d565b34801561045557600080fd5b506101d26104643660046116f3565b610e6e565b34801561047557600080fd5b506101d26104843660046116f3565b610f27565b34801561049557600080fd5b506105026104a43660046116f3565b6040805160608082018352600080835260208084018290529284018190526001600160a01b0394851681526067835283902083519182018452805482526001015460ff81161515928201929092526101009091049092169082015290565b6040805182518152602080840151151590820152918101516001600160a01b0316908201526060016101a9565b34801561053b57600080fd5b506101d261054a3660046118e4565b610fb4565b806105626033546001600160a01b031690565b6001600160a01b0316336001600160a01b0316148061058b57506065546001600160a01b031633145b806105b757506001600160a01b0381811660009081526067602052604090206001015461010090041633145b15610616576105c5826110ca565b6001600160a01b03821660008181526067602052604080822060018101805460ff19169055829055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49190a25050565b6040517fe3b6914b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106de5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107397f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146107a45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016106d5565b6107ad8161110a565b604080516000808252602082019092526107c991839190611112565b50565b6107d46112b2565b6107dd816110ca565b606580546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc8690600090a35050565b6001600160a01b03808316600090815260666020908152604080832081518083018352815481526001918201548185015286861685526067845282852083516060810185528154815292015460ff81161515948301859052610100900490951691810191909152919291906108b6576001925050506108be565b519051101590505b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036109515760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016106d5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166109ac7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610a175760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016106d5565b610a208261110a565b61064882826001611112565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610acc5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106d5565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b81610b046033546001600160a01b031690565b6001600160a01b0316336001600160a01b03161480610b2d57506065546001600160a01b031633145b80610b5957506001600160a01b0381811660009081526067602052604090206001015461010090041633145b1561061657610b67836110ca565b6001600160a01b03831660008181526067602052604090819020849055517f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c0990610bb49085815260200190565b60405180910390a2505050565b505050565b610bce6112b2565b610bd8600061130c565b565b6033546001600160a01b0316331480610bfd57506065546001600160a01b031633145b15610c7057610c0b826110ca565b6001600160a01b03821660008181526066602090815260409182902084518082558583015160019092018290558351908152918201527f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d910160405180910390a25050565b6040517f7d7b71b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6033546001600160a01b0316331480610cc557506065546001600160a01b031633145b15610c7057610cd3816110ca565b6001600160a01b038116600081815260666020526040808220828155600101829055517fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d9190a250565b600054610100900460ff1615808015610d3d5750600054600160ff909116105b80610d575750303b158015610d57575060005460ff166001145b610dc95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106d5565b6000805460ff191660011790558015610dec576000805461ff0019166101001790555b610df461136b565b610dfd826110ca565b6065805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384161790558015610648576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6001600160a01b038082166000908152606760205260409020600101548291610100909104163303610ef557610ea3826110ca565b6001600160a01b0382166000818152606760205260408082206001908101805460ff19169091179055517f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb9190a25050565b6040517f97ffbac900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610f2f6112b2565b6001600160a01b038116610fab5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106d5565b6107c98161130c565b6033546001600160a01b0316331480610fd757506065546001600160a01b031633145b15610c7057610fe5836110ca565b610fee816110ca565b6040805160608082018352848252600060208084018281526001600160a01b038781168688018181528b831680875260678652898720985189559351600190980180549151909316610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff981515989098167fffffffffffffffffffffff000000000000000000000000000000000000000000909116179690961790558551888152918201929092529384019290925290917f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb9101610bb4565b6001600160a01b0381166107c9576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107c96112b2565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561114557610bc1836113de565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561119f575060408051601f3d908101601f1916820190925261119c91810190611920565b60015b6112115760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016106d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146112a65760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016106d5565b50610bc18383836114a9565b6033546001600160a01b03163314610bd85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106d5565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166113d65760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106d5565b610bd86114d4565b6001600160a01b0381163b61145b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016106d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6114b283611548565b6000825111806114bf5750805b15610bc1576114ce8383611588565b50505050565b600054610100900460ff1661153f5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106d5565b610bd83361130c565b611551816113de565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606115ad83836040518060600160405280602781526020016119ad602791396115b4565b9392505050565b6060600080856001600160a01b0316856040516115d1919061195d565b600060405180830381855af49150503d806000811461160c576040519150601f19603f3d011682016040523d82523d6000602084013e611611565b606091505b50915091506116228683838761162c565b9695505050505050565b6060831561169b578251600003611694576001600160a01b0385163b6116945760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106d5565b50816116a5565b6116a583836116ad565b949350505050565b8151156116bd5781518083602001fd5b8060405162461bcd60e51b81526004016106d59190611979565b80356001600160a01b03811681146116ee57600080fd5b919050565b60006020828403121561170557600080fd5b6115ad826116d7565b6000806040838503121561172157600080fd5b61172a836116d7565b9150611738602084016116d7565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561179957611799611741565b604052919050565b600080604083850312156117b457600080fd5b6117bd836116d7565b915060208084013567ffffffffffffffff808211156117db57600080fd5b818601915086601f8301126117ef57600080fd5b81358181111561180157611801611741565b611813601f8201601f19168501611770565b9150808252878482850101111561182957600080fd5b80848401858401376000848284010152508093505050509250929050565b6000806040838503121561185a57600080fd5b611863836116d7565b946020939093013593505050565b600080828403606081121561188557600080fd5b61188e846116d7565b92506040601f19820112156118a257600080fd5b506040516040810181811067ffffffffffffffff821117156118c6576118c6611741565b60409081526020858101358352940135938101939093525092909150565b6000806000606084860312156118f957600080fd5b611902846116d7565b925060208401359150611917604085016116d7565b90509250925092565b60006020828403121561193257600080fd5b5051919050565b60005b8381101561195457818101518382015260200161193c565b50506000910152565b6000825161196f818460208701611939565b9190910192915050565b6020815260008251806020840152611998816040850160208701611939565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220a8f6eaeb366c5c8c5c3a1820871dc36dd3bc338983f0986a24053dc142f66b3564736f6c63430008130033a26469706673582212200668ffed1c17f134873a492c76b334f08f5b3055648baae195718e628796b79e64736f6c63430008130033","sourceMap":"138:5034:123:-:0;;;3126:44:38;;;-1:-1:-1;;3126:44:38;;;3166:4;3126:44;;;;;;1016:26:48;;;;;;;;;;222:39:123;;;-1:-1:-1;;;;;;222:39:123;;;;;;;;267:32;;;;;297:1;267:32;;;305:36;;;;;339:1;305:36;;;347:39;;;;;384:1;347:39;;;392:44;;;;;;434:1;392:44;;;138:5034;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101da5760003560e01c80636c53db9a11610104578063a8c62e76116100a2578063e20c9f7111610071578063e20c9f7114610374578063e68393b41461037c578063ebe69a5f14610384578063fa7626d41461038c57600080fd5b8063a8c62e7614610339578063b5508aa91461034c578063ba414fa614610354578063d4dadecb1461036c57600080fd5b80638caa5c44116100de5780638caa5c441461030e5780638df8b2fe14610316578063916a17c6146103295780639693f1281461033157600080fd5b80636c53db9a146102de57806382fad478146102f157806385226c81146102f957600080fd5b80632ade38801161017c5780633f7286f41161014b5780633f7286f4146102965780634905e8311461029e5780634f8632ba146102b657806366d9a9a0146102c957600080fd5b80632ade3880146102465780633668aa291461025b5780633e5e3c23146102635780633ea7771b1461026b57600080fd5b80630c2759da116101b85780630c2759da146102195780631ed7831c1461022157806324e40b9714610236578063258211531461023e57600080fd5b8063073a2d8c146101df5780630778c72c146102075780630a9254e414610211575b600080fd5b6024546025546101ed919082565b604080519283526020830191909152015b60405180910390f35b61020f610399565b005b61020f61062b565b61020f610724565b6102296108a9565b6040516101fe91906124a9565b61020f61090b565b61020f610a92565b61024e610be1565b6040516101fe91906124f6565b61020f610d23565b610229610fa0565b60235461027e906001600160a01b031681565b6040516001600160a01b0390911681526020016101fe565b610229611000565b601e5461027e9061010090046001600160a01b031681565b60205461027e906001600160a01b031681565b6102d1611060565b6040516101fe91906125e9565b60225461027e906001600160a01b031681565b61020f61115b565b610301611270565b6040516101fe91906126b4565b61020f611340565b601f5461027e906001600160a01b031681565b6102d161188d565b61020f611988565b60215461027e906001600160a01b031681565b610301611b01565b61035c611bd1565b60405190151581526020016101fe565b61020f611ca5565b610229611efa565b61020f611f5a565b61020f61208d565b601e5461035c9060ff1681565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156103f557600080fd5b505af1158015610409573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101879052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b15801561046d57600080fd5b505af1158015610481573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa79150602401600060405180830381600087803b1580156104de57600080fd5b505af11580156104f2573d6000803e3d6000fd5b5050601e546021546040517f175188e80000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015261010090920416925063175188e89150602401600060405180830381600087803b15801561055d57600080fd5b505af1158015610571573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b81526001600160a01b0391821660048201526000945084935083926101009004909116906339ebf82390602401606060405180830381865afa1580156105ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f29190612772565b92509250925061060383600061228d565b61060e826000612315565b6022546106259082906001600160a01b031661236f565b50505050565b6040516106379061249c565b604051809103906000f080158015610653573d6000803e3d6000fd5b50601e80547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b0393841681029190911791829055601f546040517fc4d66de8000000000000000000000000000000000000000000000000000000008152908416600482015291049091169063c4d66de890602401600060405180830381600087803b1580156106ec57600080fd5b505af1158015610700573d6000803e3d6000fd5b50506040805180820190915260648082524260209092018290526024556025555050565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801561077d57600080fd5b505af1158015610791573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d5689150606401600060405180830381600087803b1580156107f357600080fd5b505af1158015610807573d6000803e3d6000fd5b5050601e5460205460405163b34e0c4760e01b81526001600160a01b0391821660048201526000945061010090920416915063b34e0c47906024016040805180830381865afa15801561085e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088291906127ae565b80516024549192506108939161228d565b6108a6816020015160246001015461228d565b50565b6060601680548060200260200160405190810160405280929190818152602001828054801561090157602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116108e3575b5050505050905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152600690737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801561096757600080fd5b505af115801561097b573d6000803e3d6000fd5b50506040517ff28dceb300000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb39150606401600060405180830381600087803b158015610a1257600080fd5b505af1158015610a26573d6000803e3d6000fd5b5050601e546040516303d4768360e41b81526001600160a01b0385811660048301526101009092049091169250633d4768309150602401600060405180830381600087803b158015610a7757600080fd5b505af1158015610a8b573d6000803e3d6000fd5b5050505050565b60235460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b158015610aeb57600080fd5b505af1158015610aff573d6000803e3d6000fd5b5050604051630618f58760e51b8152637d7b71b560e01b6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e09150602401600060405180830381600087803b158015610b5657600080fd5b505af1158015610b6a573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d56891506064015b600060405180830381600087803b158015610bcd57600080fd5b505af1158015610625573d6000803e3d6000fd5b6060601d805480602002602001604051908101604052809291908181526020016000905b82821015610d1a57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b82821015610d03578382906000526020600020018054610c769061280b565b80601f0160208091040260200160405190810160405280929190818152602001828054610ca29061280b565b8015610cef5780601f10610cc457610100808354040283529160200191610cef565b820191906000526020600020905b815481529060010190602001808311610cd257829003601f168201915b505050505081526020019060010190610c57565b505050508152505081526020019060010190610c05565b50505050905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290604b90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b158015610d8257600080fd5b505af1158015610d96573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101889052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b158015610dfa57600080fd5b505af1158015610e0e573d6000803e3d6000fd5b505060225460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa791506024015b600060405180830381600087803b158015610e6c57600080fd5b505af1158015610e80573d6000803e3d6000fd5b5050601e5460215460405163642ce76b60e01b81526001600160a01b0391821660048201526024810186905261010090920416925063642ce76b9150604401600060405180830381600087803b158015610ed957600080fd5b505af1158015610eed573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b81526001600160a01b0391821660048201526000945084935083926101009004909116906339ebf82390602401606060405180830381865afa158015610f4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6e9190612772565b925092509250610f7e838561228d565b610f89826000612315565b602254610a8b9082906001600160a01b031661236f565b60606018805480602002602001604051908101604052809291908181526020018280548015610901576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116108e3575050505050905090565b60606017805480602002602001604051908101604052809291908181526020018280548015610901576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116108e3575050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b82821015610d1a5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561114357602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116110f05790505b50505050508152505081526020019060010190611084565b60235460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156111b457600080fd5b505af11580156111c8573d6000803e3d6000fd5b5050604051630618f58760e51b8152637d7b71b560e01b6004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063c31eb0e09150602401600060405180830381600087803b15801561121f57600080fd5b505af1158015611233573d6000803e3d6000fd5b5050601e5460205460405163130aea3160e31b81526001600160a01b03918216600482015261010090920416925063985751889150602401610bb3565b6060601a805480602002602001604051908101604052809291908181526020016000905b82821015610d1a5783829060005260206000200180546112b39061280b565b80601f01602080910402602001604051908101604052809291908181526020018280546112df9061280b565b801561132c5780601f106113015761010080835404028352916020019161132c565b820191906000526020600020905b81548152906001019060200180831161130f57829003601f168201915b505050505081526020019060010190611294565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801561139c57600080fd5b505af11580156113b0573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101879052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b15801561141457600080fd5b505af1158015611428573d6000803e3d6000fd5b50506022546040517f06447d560000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150602401600060405180830381600087803b15801561149e57600080fd5b505af11580156114b2573d6000803e3d6000fd5b5050601e546021546040517fd80ea5a00000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015261010090920416925063d80ea5a09150602401600060405180830381600087803b15801561151d57600080fd5b505af1158015611531573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561159357600080fd5b505af11580156115a7573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa79150602401600060405180830381600087803b15801561160457600080fd5b505af1158015611618573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d5689150606401600060405180830381600087803b15801561167a57600080fd5b505af115801561168e573d6000803e3d6000fd5b5050601e546020546021546040516302154c3d60e51b81526001600160a01b0392831660048201529082166024820152600094506101009092041691506342a987a090604401602060405180830381865afa1580156116f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117159190612845565b9050611720816123d0565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b15801561177957600080fd5b505af115801561178d573d6000803e3d6000fd5b5050601e5460215460405163642ce76b60e01b81526001600160a01b0391821660048201526096602482015261010090920416925063642ce76b9150604401600060405180830381600087803b1580156117e657600080fd5b505af11580156117fa573d6000803e3d6000fd5b5050601e546020546021546040516302154c3d60e51b81526001600160a01b03928316600482015290821660248201526101009092041692506342a987a09150604401602060405180830381865afa15801561185a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187e9190612845565b90506118898161244a565b5050565b6060601c805480602002602001604051908101604052809291908181526020016000905b82821015610d1a5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561197057602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841161191d5790505b505050505081525050815260200190600101906118b1565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b1580156119e457600080fd5b505af11580156119f8573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101879052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b158015611a5c57600080fd5b505af1158015611a70573d6000803e3d6000fd5b5050601e546021546040516339ebf82360e01b81526001600160a01b0391821660048201526000945084935083926101009004909116906339ebf82390602401606060405180830381865afa158015611acd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611af19190612772565b925092509250610603838561228d565b60606019805480602002602001604051908101604052809291908181526020016000905b82821015610d1a578382906000526020600020018054611b449061280b565b80601f0160208091040260200160405190810160405280929190818152602001828054611b709061280b565b8015611bbd5780601f10611b9257610100808354040283529160200191611bbd565b820191906000526020600020905b815481529060010190602001808311611ba057829003601f168201915b505050505081526020019060010190611b25565b60085460009060ff1615611be9575060085460ff1690565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c65640000000000000000000000000000000000000000000000000000602483015260009163667f9d7090604401602060405180830381865afa158015611c7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c9e9190612867565b1415905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b158015611cfe57600080fd5b505af1158015611d12573d6000803e3d6000fd5b5050601e54602054604051630f029aad60e31b81526001600160a01b03918216600482015260248054908201526025546044820152610100909204169250637814d5689150606401600060405180830381600087803b158015611d7457600080fd5b505af1158015611d88573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa79150602401600060405180830381600087803b158015611de557600080fd5b505af1158015611df9573d6000803e3d6000fd5b5050601e5460205460405163130aea3160e31b81526001600160a01b03918216600482015261010090920416925063985751889150602401600060405180830381600087803b158015611e4b57600080fd5b505af1158015611e5f573d6000803e3d6000fd5b5050601e5460205460405163b34e0c4760e01b81526001600160a01b0391821660048201526000945061010090920416915063b34e0c47906024016040805180830381865afa158015611eb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eda91906127ae565b9050611eeb8160000151600061228d565b6108a68160200151600061228d565b60606015805480602002602001604051908101604052809291908181526020018280548015610901576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116108e3575050505050905090565b601f5460405163ca669fa760e01b81526001600160a01b039091166004820152603290604b90737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa790602401600060405180830381600087803b158015611fb957600080fd5b505af1158015611fcd573d6000803e3d6000fd5b5050601e5460215460225460405163fc2ebdd160e01b81526001600160a01b03928316600482015260248101889052908216604482015261010090920416925063fc2ebdd19150606401600060405180830381600087803b15801561203157600080fd5b505af1158015612045573d6000803e3d6000fd5b5050601f5460405163ca669fa760e01b81526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063ca669fa79150602401610e52565b601e54604080517f8da5cb5b0000000000000000000000000000000000000000000000000000000081529051600692737109709ecfa91a80626ff3989d68f67f5b1dd12d9263ca669fa7926101009092046001600160a01b031691638da5cb5b916004808201926020929091908290030181865afa158015612113573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121379190612880565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801561219057600080fd5b505af11580156121a4573d6000803e3d6000fd5b5050601e546040516303d4768360e41b81526001600160a01b0385811660048301526101009092049091169250633d4768309150602401600060405180830381600087803b1580156121f557600080fd5b505af1158015612209573d6000803e3d6000fd5b505050506108a6601e60019054906101000a90046001600160a01b03166001600160a01b0316638df8b2fe6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612263573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122879190612880565b8261236f565b6040517f98296c540000000000000000000000000000000000000000000000000000000081526004810183905260248101829052737109709ecfa91a80626ff3989d68f67f5b1dd12d906398296c54906044015b60006040518083038186803b1580156122f957600080fd5b505afa15801561230d573d6000803e3d6000fd5b505050505050565b6040517ff7fe347700000000000000000000000000000000000000000000000000000000815282151560048201528115156024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063f7fe3477906044016122e1565b6040517f515361f60000000000000000000000000000000000000000000000000000000081526001600160a01b03808416600483015282166024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063515361f6906044016122e1565b6040517f0c9fd5810000000000000000000000000000000000000000000000000000000081528115156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90630c9fd581906024015b60006040518083038186803b15801561243657600080fd5b505afa158015610a8b573d6000803e3d6000fd5b6040517fa59828850000000000000000000000000000000000000000000000000000000081528115156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063a59828859060240161241e565b611a558061289c83390190565b6020808252825182820181905260009190848201906040850190845b818110156124ea5783516001600160a01b0316835292840192918401916001016124c5565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b838110156125db57603f19898403018552815180516001600160a01b031684528701518784018790528051878501819052908801906060600582901b86018101919086019060005b818110156125c557878403605f190183528451805180865260005b8181101561259e578e81840101518f82890101528e81019050612580565b5060008682018f0152958d0195601f01601f19169094018c019350918b0191600101612565565b505050958801959350509086019060010161251d565b509098975050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156126a557898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156126905783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b019061264e565b50978a01979550505091870191600101612611565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b87010192508387016000805b8381101561273857888603603f1901855282518051808852835b81811015612711578281018a01518982018b015289016126f6565b508781018901849052601f01601f19169096018701955093860193918601916001016126dc565b509398975050505050505050565b8051801515811461275657600080fd5b919050565b80516001600160a01b038116811461275657600080fd5b60008060006060848603121561278757600080fd5b8351925061279760208501612746565b91506127a56040850161275b565b90509250925092565b6000604082840312156127c057600080fd5b6040516040810181811067ffffffffffffffff821117156127f157634e487b7160e01b600052604160045260246000fd5b604052825181526020928301519281019290925250919050565b600181811c9082168061281f57607f821691505b60208210810361283f57634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561285757600080fd5b61286082612746565b9392505050565b60006020828403121561287957600080fd5b5051919050565b60006020828403121561289257600080fd5b6128608261275b56fe60a06040523060805234801561001457600080fd5b50608051611a0961004c60003960008181610656015281816106e0015281816108ce015281816109530152610a390152611a096000f3fe60806040526004361061015f5760003560e01c80637814d568116100c0578063c4d66de811610074578063f2fde38b11610059578063f2fde38b14610469578063f8806a1314610489578063fc2ebdd11461052f57600080fd5b8063c4d66de814610429578063d80ea5a01461044957600080fd5b80638df8b2fe116100a55780638df8b2fe1461036c578063985751881461038c578063b34e0c47146103ac57600080fd5b80637814d5681461031a5780638da5cb5b1461033a57600080fd5b806342a987a01161011757806352d1902d116100fc57806352d1902d146102c2578063642ce76b146102e5578063715018a61461030557600080fd5b806342a987a01461027f5780634f1ef286146102af57600080fd5b80633659cfe6116101485780633659cfe6146101d457806339ebf823146101f45780633d4768301461025f57600080fd5b80631413d4c014610164578063175188e8146101b2575b600080fd5b34801561017057600080fd5b5061019861017f3660046116f3565b6066602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b3480156101be57600080fd5b506101d26101cd3660046116f3565b61054f565b005b3480156101e057600080fd5b506101d26101ef3660046116f3565b61064c565b34801561020057600080fd5b5061023b61020f3660046116f3565b6067602052600090815260409020805460019091015460ff81169061010090046001600160a01b031683565b6040805193845291151560208401526001600160a01b0316908201526060016101a9565b34801561026b57600080fd5b506101d261027a3660046116f3565b6107cc565b34801561028b57600080fd5b5061029f61029a36600461170e565b61083c565b60405190151581526020016101a9565b6101d26102bd3660046117a1565b6108c4565b3480156102ce57600080fd5b506102d7610a2c565b6040519081526020016101a9565b3480156102f157600080fd5b506101d2610300366004611847565b610af1565b34801561031157600080fd5b506101d2610bc6565b34801561032657600080fd5b506101d2610335366004611871565b610bda565b34801561034657600080fd5b506033546001600160a01b03165b6040516001600160a01b0390911681526020016101a9565b34801561037857600080fd5b50606554610354906001600160a01b031681565b34801561039857600080fd5b506101d26103a73660046116f3565b610ca2565b3480156103b857600080fd5b5061040e6103c73660046116f3565b6040805180820190915260008082526020820152506001600160a01b0316600090815260666020908152604091829020825180840190935280548352600101549082015290565b604080518251815260209283015192810192909252016101a9565b34801561043557600080fd5b506101d26104443660046116f3565b610d1d565b34801561045557600080fd5b506101d26104643660046116f3565b610e6e565b34801561047557600080fd5b506101d26104843660046116f3565b610f27565b34801561049557600080fd5b506105026104a43660046116f3565b6040805160608082018352600080835260208084018290529284018190526001600160a01b0394851681526067835283902083519182018452805482526001015460ff81161515928201929092526101009091049092169082015290565b6040805182518152602080840151151590820152918101516001600160a01b0316908201526060016101a9565b34801561053b57600080fd5b506101d261054a3660046118e4565b610fb4565b806105626033546001600160a01b031690565b6001600160a01b0316336001600160a01b0316148061058b57506065546001600160a01b031633145b806105b757506001600160a01b0381811660009081526067602052604090206001015461010090041633145b15610616576105c5826110ca565b6001600160a01b03821660008181526067602052604080822060018101805460ff19169055829055517f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49190a25050565b6040517fe3b6914b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106de5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107397f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146107a45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016106d5565b6107ad8161110a565b604080516000808252602082019092526107c991839190611112565b50565b6107d46112b2565b6107dd816110ca565b606580546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f5117c6c457d7b27a4cb68df40b118f157ac1f1ba81f8a571d189f829d74fbc8690600090a35050565b6001600160a01b03808316600090815260666020908152604080832081518083018352815481526001918201548185015286861685526067845282852083516060810185528154815292015460ff81161515948301859052610100900490951691810191909152919291906108b6576001925050506108be565b519051101590505b92915050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036109515760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016106d5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166109ac7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610a175760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016106d5565b610a208261110a565b61064882826001611112565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610acc5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106d5565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b81610b046033546001600160a01b031690565b6001600160a01b0316336001600160a01b03161480610b2d57506065546001600160a01b031633145b80610b5957506001600160a01b0381811660009081526067602052604090206001015461010090041633145b1561061657610b67836110ca565b6001600160a01b03831660008181526067602052604090819020849055517f40ba4d5d9facd2fda74e22251d1638576e05a30482470363c7c87a7b5b298c0990610bb49085815260200190565b60405180910390a2505050565b505050565b610bce6112b2565b610bd8600061130c565b565b6033546001600160a01b0316331480610bfd57506065546001600160a01b031633145b15610c7057610c0b826110ca565b6001600160a01b03821660008181526066602090815260409182902084518082558583015160019092018290558351908152918201527f1e0ca12706807bceff25136f95fe6f69c1319c044f6073e6056a287e4f541b1d910160405180910390a25050565b6040517f7d7b71b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6033546001600160a01b0316331480610cc557506065546001600160a01b031633145b15610c7057610cd3816110ca565b6001600160a01b038116600081815260666020526040808220828155600101829055517fe9dce8c992623ce791725b21e857e33248d1f190a25b5168313420eebdaae99d9190a250565b600054610100900460ff1615808015610d3d5750600054600160ff909116105b80610d575750303b158015610d57575060005460ff166001145b610dc95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106d5565b6000805460ff191660011790558015610dec576000805461ff0019166101001790555b610df461136b565b610dfd826110ca565b6065805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384161790558015610648576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6001600160a01b038082166000908152606760205260409020600101548291610100909104163303610ef557610ea3826110ca565b6001600160a01b0382166000818152606760205260408082206001908101805460ff19169091179055517f652f053fc39779b70b29678135ade972fcb79966fc68fcb77c996b1aa4fd9afb9190a25050565b6040517f97ffbac900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610f2f6112b2565b6001600160a01b038116610fab5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106d5565b6107c98161130c565b6033546001600160a01b0316331480610fd757506065546001600160a01b031633145b15610c7057610fe5836110ca565b610fee816110ca565b6040805160608082018352848252600060208084018281526001600160a01b038781168688018181528b831680875260678652898720985189559351600190980180549151909316610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff981515989098167fffffffffffffffffffffff000000000000000000000000000000000000000000909116179690961790558551888152918201929092529384019290925290917f9b1a157188de9a0bd2e7995d72aaba244d9bd012ddf3ae3d4f492135175070cb9101610bb4565b6001600160a01b0381166107c9576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107c96112b2565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561114557610bc1836113de565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561119f575060408051601f3d908101601f1916820190925261119c91810190611920565b60015b6112115760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016106d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146112a65760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016106d5565b50610bc18383836114a9565b6033546001600160a01b03163314610bd85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106d5565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166113d65760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106d5565b610bd86114d4565b6001600160a01b0381163b61145b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016106d5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6114b283611548565b6000825111806114bf5750805b15610bc1576114ce8383611588565b50505050565b600054610100900460ff1661153f5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016106d5565b610bd83361130c565b611551816113de565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606115ad83836040518060600160405280602781526020016119ad602791396115b4565b9392505050565b6060600080856001600160a01b0316856040516115d1919061195d565b600060405180830381855af49150503d806000811461160c576040519150601f19603f3d011682016040523d82523d6000602084013e611611565b606091505b50915091506116228683838761162c565b9695505050505050565b6060831561169b578251600003611694576001600160a01b0385163b6116945760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106d5565b50816116a5565b6116a583836116ad565b949350505050565b8151156116bd5781518083602001fd5b8060405162461bcd60e51b81526004016106d59190611979565b80356001600160a01b03811681146116ee57600080fd5b919050565b60006020828403121561170557600080fd5b6115ad826116d7565b6000806040838503121561172157600080fd5b61172a836116d7565b9150611738602084016116d7565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561179957611799611741565b604052919050565b600080604083850312156117b457600080fd5b6117bd836116d7565b915060208084013567ffffffffffffffff808211156117db57600080fd5b818601915086601f8301126117ef57600080fd5b81358181111561180157611801611741565b611813601f8201601f19168501611770565b9150808252878482850101111561182957600080fd5b80848401858401376000848284010152508093505050509250929050565b6000806040838503121561185a57600080fd5b611863836116d7565b946020939093013593505050565b600080828403606081121561188557600080fd5b61188e846116d7565b92506040601f19820112156118a257600080fd5b506040516040810181811067ffffffffffffffff821117156118c6576118c6611741565b60409081526020858101358352940135938101939093525092909150565b6000806000606084860312156118f957600080fd5b611902846116d7565b925060208401359150611917604085016116d7565b90509250925092565b60006020828403121561193257600080fd5b5051919050565b60005b8381101561195457818101518382015260200161193c565b50506000910152565b6000825161196f818460208701611939565b9190910192915050565b6020815260008251806020840152611998816040850160208701611939565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220a8f6eaeb366c5c8c5c3a1820871dc36dd3bc338983f0986a24053dc142f66b3564736f6c63430008130033a26469706673582212200668ffed1c17f134873a492c76b334f08f5b3055648baae195718e628796b79e64736f6c63430008130033","sourceMap":"138:5034:123:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;442:32;;;;;;;;;;;;;;188:25:128;;;244:2;229:18;;222:34;;;;161:18;442:32:123;;;;;;;;2768:544;;;:::i;:::-;;481:207;;;:::i;694:331::-;;;:::i;2452:134:41:-;;;:::i;:::-;;;;;;;:::i;2079:247:123:-;;;:::i;1651:217::-;;;:::i;3360:151:41:-;;;:::i;:::-;;;;;;;:::i;3904:581:123:-;;;:::i;3221:133:41:-;;;:::i;392:44:123:-;;;;;-1:-1:-1;;;;;392:44:123;;;;;;-1:-1:-1;;;;;3249:55:128;;;3231:74;;3219:2;3204:18;392:44:123;3085:226:128;2922:141:41;;;:::i;180:36:123:-;;;;;;;;-1:-1:-1;;;;;180:36:123;;;267:32;;;;;-1:-1:-1;;;;;267:32:123;;;2738:178:41;;;:::i;:::-;;;;;;;:::i;347:39:123:-;;;;;-1:-1:-1;;;;;347:39:123;;;1874:199;;;:::i;2592:140:41:-;;;:::i;:::-;;;;;;;:::i;4491:679:123:-;;;:::i;222:39::-;;;;;-1:-1:-1;;;;;222:39:123;;;3069:146:41;;;:::i;2332:430:123:-;;;:::i;305:36::-;;;;;-1:-1:-1;;;;;305:36:123;;;2157:141:41;;;:::i;1243:204:37:-;;;:::i;:::-;;;6587:14:128;;6580:22;6562:41;;6550:2;6535:18;1243:204:37;6422:187:128;1031:362:123;;;:::i;2304:142:41:-;;;:::i;3318:580:123:-;;;:::i;1399:246::-;;;:::i;1016:26:48:-;;;;;;;;;2768:544:123;2857:11;;2848:21;;-1:-1:-1;;;2848:21:123;;-1:-1:-1;;;;;2857:11:123;;;2848:21;;;3231:74:128;2835:2:123;;2848:8;;;;3204:18:128;;2848:21:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2879:14:123;;2906:8;;2927:11;;2879:60;;-1:-1:-1;;;2879:60:123;;-1:-1:-1;;;;;2906:8:123;;;2879:60;;;6877:34:128;6927:18;;;6920:34;;;2927:11:123;;;6970:18:128;;;6963:43;2879:14:123;;;;;;-1:-1:-1;2879:26:123;;-1:-1:-1;6789:18:128;;2879:60:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2959:11:123;;2950:21;;-1:-1:-1;;;2950:21:123;;-1:-1:-1;;;;;2959:11:123;;;2950:21;;;3231:74:128;2950:8:123;;-1:-1:-1;2950:8:123;;-1:-1:-1;3204:18:128;;2950:21:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2981:14:123;;3011:8;;2981:39;;;;;-1:-1:-1;;;;;3011:8:123;;;2981:39;;;3231:74:128;2981:14:123;;;;;;-1:-1:-1;2981:29:123;;-1:-1:-1;3204:18:128;;2981:39:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3105:14:123;;3131:8;;3105:35;;-1:-1:-1;;;3105:35:123;;-1:-1:-1;;;;;3131:8:123;;;3105:35;;;3231:74:128;3032:23:123;;-1:-1:-1;3032:23:123;;-1:-1:-1;3032:23:123;;3105:14;;;;;;;:25;;3204:18:128;;3105:35:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3031:109;;;;;;3150:28;3159:15;3176:1;3150:8;:28::i;:::-;3188:29;3197:12;3211:5;3188:8;:29::i;:::-;3255:11;;3227:40;;3236:17;;-1:-1:-1;;;;;3255:11:123;3227:8;:40::i;:::-;2805:507;;;;2768:544::o;481:207::-;532:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;515:14:123;:37;;;;;-1:-1:-1;;;;;515:37:123;;;;;;;;;;;;;588:11;;562:38;;;;;588:11;;;562:38;;;3231:74:128;562:14:123;;;;;;:25;;3204:18:128;;562:38:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;625:56:123;;;;;;;;;646:3;625:56;;;664:15;625:56;;;;;;;610:12;:71;;;-1:-1:-1;;481:207:123:o;694:331::-;748:11;;739:21;;-1:-1:-1;;;739:21:123;;-1:-1:-1;;;;;748:11:123;;;739:21;;;3231:74:128;739:8:123;;;;3204:18:128;;739:21:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;770:14:123;;798:4;;770:47;;-1:-1:-1;;;770:47:123;;-1:-1:-1;;;;;798:4:123;;;770:47;;;7977:74:128;804:12:123;8087:13:128;;8067:18;;;8060:41;8143:17;8137:24;8117:18;;;8110:52;770:14:123;;;;;;-1:-1:-1;770:27:123;;-1:-1:-1;7950:18:128;;770:47:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;861:14:123;;889:4;;861:33;;-1:-1:-1;;;861:33:123;;-1:-1:-1;;;;;889:4:123;;;861:33;;;3231:74:128;828:30:123;;-1:-1:-1;861:14:123;;;;;;-1:-1:-1;861:27:123;;3204:18:128;;861:33:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;913:16;;931:12;:18;828:66;;-1:-1:-1;904:46:123;;:8;:46::i;:::-;960:58;969:10;:22;;;993:12;:24;;;960:8;:58::i;:::-;729:296;694:331::o;2452:134:41:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:41;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;2079:247:123:-;2192:11;;2183:21;;-1:-1:-1;;;2183:21:123;;-1:-1:-1;;;;;2192:11:123;;;2183:21;;;3231:74:128;2170:1:123;;2183:8;;;;3204:18:128;;2183:21:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2214:51:123;;;;;9040:2:128;2214:51:123;;;9022:21:128;;;9059:18;;;9052:30;9118:34;9098:18;;;9091:62;2214:15:123;;-1:-1:-1;2214:15:123;;-1:-1:-1;9170:18:128;;2214:51:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2275:14:123;;:44;;-1:-1:-1;;;2275:44:123;;-1:-1:-1;;;;;3249:55:128;;;2275:44:123;;;3231:74:128;2275:14:123;;;;;;;;-1:-1:-1;2275:32:123;;-1:-1:-1;3204:18:128;;2275:44:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2131:195;2079:247::o;1651:217::-;1722:16;;1713:26;;-1:-1:-1;;;1713:26:123;;-1:-1:-1;;;;;1722:16:123;;;1713:26;;;3231:74:128;1713:8:123;;;;3204:18:128;;1713:26:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1749:55:123;;-1:-1:-1;;;1749:55:123;;-1:-1:-1;;;1749:55:123;;;9343:98:128;1749:15:123;;-1:-1:-1;1749:15:123;;-1:-1:-1;9316:18:128;;1749:55:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1814:14:123;;1842:4;;1814:47;;-1:-1:-1;;;1814:47:123;;-1:-1:-1;;;;;1842:4:123;;;1814:47;;;7977:74:128;1848:12:123;8087:13:128;;8067:18;;;8060:41;8143:17;8137:24;8117:18;;;8110:52;1814:14:123;;;;;;-1:-1:-1;1814:27:123;;-1:-1:-1;7950:18:128;;1814:47:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151:41;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;3904:581:123:-;4042:11;;4033:21;;-1:-1:-1;;;4033:21:123;;-1:-1:-1;;;;;4042:11:123;;;4033:21;;;3231:74:128;3985:2:123;;4020;;4033:8;;;;3204:18:128;;4033:21:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4064:14:123;;4091:8;;4112:11;;4064:60;;-1:-1:-1;;;4064:60:123;;-1:-1:-1;;;;;4091:8:123;;;4064:60;;;6877:34:128;6927:18;;;6920:34;;;4112:11:123;;;6970:18:128;;;6963:43;4064:14:123;;;;;;-1:-1:-1;4064:26:123;;-1:-1:-1;6789:18:128;;4064:60:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4144:11:123;;4135:21;;-1:-1:-1;;;4135:21:123;;-1:-1:-1;;;;;4144:11:123;;;4135:21;;;3231:74:128;4135:8:123;;-1:-1:-1;4135:8:123;;-1:-1:-1;3204:18:128;;4135:21:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4166:14:123;;4197:8;;4166:54;;-1:-1:-1;;;4166:54:123;;-1:-1:-1;;;;;4197:8:123;;;4166:54;;;10068:74:128;10158:18;;;10151:34;;;4166:14:123;;;;;;-1:-1:-1;4166:30:123;;-1:-1:-1;10041:18:128;;4166:54:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4305:14:123;;4331:8;;4305:35;;-1:-1:-1;;;4305:35:123;;-1:-1:-1;;;;;4331:8:123;;;4305:35;;;3231:74:128;4232:23:123;;-1:-1:-1;4232:23:123;;-1:-1:-1;4232:23:123;;4305:14;;;;;;;:25;;3204:18:128;;4305:35:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4231:109;;;;;;4350:39;4359:15;4376:12;4350:8;:39::i;:::-;4399:29;4408:12;4422:5;4399:8;:29::i;:::-;4466:11;;4438:40;;4447:17;;-1:-1:-1;;;;;4466:11:123;4438:8;:40::i;3221:133:41:-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:41;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:41;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;2738:178::-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1874:199:123;1943:16;;1934:26;;-1:-1:-1;;;1934:26:123;;-1:-1:-1;;;;;1943:16:123;;;1934:26;;;3231:74:128;1934:8:123;;;;3204:18:128;;1934:26:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1970:55:123;;-1:-1:-1;;;1970:55:123;;-1:-1:-1;;;1970:55:123;;;9343:98:128;1970:15:123;;-1:-1:-1;1970:15:123;;-1:-1:-1;9316:18:128;;1970:55:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2035:14:123;;2061:4;;2035:31;;-1:-1:-1;;;2035:31:123;;-1:-1:-1;;;;;2061:4:123;;;2035:31;;;3231:74:128;2035:14:123;;;;;;-1:-1:-1;2035:25:123;;-1:-1:-1;3204:18:128;;2035:31:123;3085:226:128;2592:140:41;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4491:679:123;4582:11;;4573:21;;-1:-1:-1;;;4573:21:123;;-1:-1:-1;;;;;4582:11:123;;;4573:21;;;3231:74:128;4560:2:123;;4573:8;;;;3204:18:128;;4573:21:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4604:14:123;;4631:8;;4652:11;;4604:60;;-1:-1:-1;;;4604:60:123;;-1:-1:-1;;;;;4631:8:123;;;4604:60;;;6877:34:128;6927:18;;;6920:34;;;4652:11:123;;;6970:18:128;;;6963:43;4604:14:123;;;;;;-1:-1:-1;4604:26:123;;-1:-1:-1;6789:18:128;;4604:60:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4688:11:123;;4674:26;;;;;-1:-1:-1;;;;;4688:11:123;;;4674:26;;;3231:74:128;4674:13:123;;-1:-1:-1;4674:13:123;;-1:-1:-1;3204:18:128;;4674:26:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4710:14:123;;4742:8;;4710:41;;;;;-1:-1:-1;;;;;4742:8:123;;;4710:41;;;3231:74:128;4710:14:123;;;;;;-1:-1:-1;4710:31:123;;-1:-1:-1;3204:18:128;;4710:41:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:35;309:37;;-1:-1:-1;;;;;4761:12:123;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4795:11:123;;4786:21;;-1:-1:-1;;;4786:21:123;;-1:-1:-1;;;;;4795:11:123;;;4786:21;;;3231:74:128;4786:8:123;;-1:-1:-1;4786:8:123;;-1:-1:-1;3204:18:128;;4786:21:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4817:14:123;;4845:4;;4817:47;;-1:-1:-1;;;4817:47:123;;-1:-1:-1;;;;;4845:4:123;;;4817:47;;;7977:74:128;4851:12:123;8087:13:128;;8067:18;;;8060:41;8143:17;8137:24;8117:18;;;8110:52;4817:14:123;;;;;;-1:-1:-1;4817:27:123;;-1:-1:-1;7950:18:128;;4817:47:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4893:14:123;;4925:4;;4931:8;;4893:47;;-1:-1:-1;;;4893:47:123;;-1:-1:-1;;;;;4925:4:123;;;4893:47;;;10431:34:128;4931:8:123;;;10481:18:128;;;10474:43;4875:15:123;;-1:-1:-1;4893:14:123;;;;;;-1:-1:-1;4893:31:123;;10343:18:128;;4893:47:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4875:65;;4950:22;4961:10;4950;:22::i;:::-;4992:11;;4983:21;;-1:-1:-1;;;4983:21:123;;-1:-1:-1;;;;;4992:11:123;;;4983:21;;;3231:74:128;4983:8:123;;;;3204:18:128;;4983:21:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5014:14:123;;5045:8;;5014:45;;-1:-1:-1;;;5014:45:123;;-1:-1:-1;;;;;5045:8:123;;;5014:45;;;10068:74:128;5055:3:123;10158:18:128;;;10151:34;5014:14:123;;;;;;-1:-1:-1;5014:30:123;;-1:-1:-1;10041:18:128;;5014:45:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5083:14:123;;5115:4;;5121:8;;5083:47;;-1:-1:-1;;;5083:47:123;;-1:-1:-1;;;;;5115:4:123;;;5083:47;;;10431:34:128;5121:8:123;;;10481:18:128;;;10474:43;5083:14:123;;;;;;-1:-1:-1;5083:31:123;;-1:-1:-1;10343:18:128;;5083:47:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5070:60;;5140:23;5152:10;5140:11;:23::i;:::-;4530:640;;4491:679::o;3069:146:41:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2332:430:123;2418:11;;2409:21;;-1:-1:-1;;;2409:21:123;;-1:-1:-1;;;;;2418:11:123;;;2409:21;;;3231:74:128;2396:2:123;;2409:8;;;;3204:18:128;;2409:21:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2440:14:123;;2467:8;;2488:11;;2440:60;;-1:-1:-1;;;2440:60:123;;-1:-1:-1;;;;;2467:8:123;;;2440:60;;;6877:34:128;6927:18;;;6920:34;;;2488:11:123;;;6970:18:128;;;6963:43;2440:14:123;;;;;;-1:-1:-1;2440:26:123;;-1:-1:-1;6789:18:128;;2440:60:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2585:14:123;;2611:8;;2585:35;;-1:-1:-1;;;2585:35:123;;-1:-1:-1;;;;;2611:8:123;;;2585:35;;;3231:74:128;2512:23:123;;-1:-1:-1;2512:23:123;;-1:-1:-1;2512:23:123;;2585:14;;;;;;;:25;;3204:18:128;;2585:35:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2511:109;;;;;;2630:36;2639:15;2656:9;2630:8;:36::i;2157:141:41:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1243:204:37;1302:7;;1282:4;;1302:7;;1298:143;;;-1:-1:-1;1332:7:37;;;;;1243:204::o;1298:143::-;1377:39;;;;;:7;:39;;;10068:74:128;;;1398:17:37;10158:18:128;;;10151:34;1428:1:37;;1377:7;;10041:18:128;;1377:39:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;1370:60;;1243:204;:::o;1031:362:123:-;1083:11;;1074:21;;-1:-1:-1;;;1074:21:123;;-1:-1:-1;;;;;1083:11:123;;;1074:21;;;3231:74:128;1074:8:123;;;;3204:18:128;;1074:21:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1105:14:123;;1133:4;;1105:47;;-1:-1:-1;;;1105:47:123;;-1:-1:-1;;;;;1133:4:123;;;1105:47;;;7977:74:128;1139:12:123;8087:13:128;;8067:18;;;8060:41;8143:17;8137:24;8117:18;;;8110:52;1105:14:123;;;;;;-1:-1:-1;1105:27:123;;-1:-1:-1;7950:18:128;;1105:47:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1172:11:123;;1163:21;;-1:-1:-1;;;1163:21:123;;-1:-1:-1;;;;;1172:11:123;;;1163:21;;;3231:74:128;1163:8:123;;-1:-1:-1;1163:8:123;;-1:-1:-1;3204:18:128;;1163:21:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1194:14:123;;1220:4;;1194:31;;-1:-1:-1;;;1194:31:123;;-1:-1:-1;;;;;1220:4:123;;;1194:31;;;3231:74:128;1194:14:123;;;;;;-1:-1:-1;1194:25:123;;-1:-1:-1;3204:18:128;;1194:31:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1269:14:123;;1297:4;;1269:33;;-1:-1:-1;;;1269:33:123;;-1:-1:-1;;;;;1297:4:123;;;1269:33;;;3231:74:128;1236:30:123;;-1:-1:-1;1269:14:123;;;;;;-1:-1:-1;1269:27:123;;3204:18:128;;1269:33:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1236:66;;1312:29;1321:10;:16;;;1339:1;1312:8;:29::i;:::-;1351:35;1360:10;:22;;;1384:1;1351:8;:35::i;2304:142:41:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:41;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3318:580:123:-;3455:11;;3446:21;;-1:-1:-1;;;3446:21:123;;-1:-1:-1;;;;;3455:11:123;;;3446:21;;;3231:74:128;3398:2:123;;3433;;3446:8;;;;3204:18:128;;3446:21:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3477:14:123;;3504:8;;3525:11;;3477:60;;-1:-1:-1;;;3477:60:123;;-1:-1:-1;;;;;3504:8:123;;;3477:60;;;6877:34:128;6927:18;;;6920:34;;;3525:11:123;;;6970:18:128;;;6963:43;3477:14:123;;;;;;-1:-1:-1;3477:26:123;;-1:-1:-1;6789:18:128;;3477:60:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3557:11:123;;3548:21;;-1:-1:-1;;;3548:21:123;;-1:-1:-1;;;;;3557:11:123;;;3548:21;;;3231:74:128;3548:8:123;;-1:-1:-1;3548:8:123;;-1:-1:-1;3204:18:128;;3548:21:123;3085:226:128;1399:246:123;1500:14;;:22;;;;;;;;1478:1;;1491:8;;;;1500:14;;;;-1:-1:-1;;;;;1500:14:123;;:20;;:22;;;;;;;;;;;;;;;:14;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1491:32;;;;;;;;;;-1:-1:-1;;;;;3249:55:128;;;1491:32:123;;;3231:74:128;3204:18;;1491:32:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1533:14:123;;:44;;-1:-1:-1;;;1533:44:123;;-1:-1:-1;;;;;3249:55:128;;;1533:44:123;;;3231:74:128;1533:14:123;;;;;;;;-1:-1:-1;1533:32:123;;-1:-1:-1;3204:18:128;;1533:44:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1588:50;1597:14;;;;;;;;;-1:-1:-1;;;;;1597:14:123;-1:-1:-1;;;;;1597:26:123;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1627:10;1588:8;:50::i;2270:110:37:-;2349:24;;;;;;;;188:25:128;;;229:18;;;222:34;;;2349:11:37;;;;161:18:128;;2349:24:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2270:110;;:::o;2026:104::-;2099:24;;;;;11938:14:128;;11931:22;2099:24:37;;;11913:41:128;11997:14;;11990:22;11970:18;;;11963:50;2099:11:37;;;;11886:18:128;;2099:24:37;11751:268:128;3454:110:37;3533:24;;;;;-1:-1:-1;;;;;10449:15:128;;;3533:24:37;;;10431:34:128;10501:15;;10481:18;;;10474:43;3533:11:37;;;;10343:18:128;;3533:24:37;10196:327:128;1594:89:37;1657:19;;;;;6587:14:128;;6580:22;1657:19:37;;;6562:41:128;1657:13:37;;;;6535:18:128;;1657:19:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1808:91;1872:20;;;;;6587:14:128;;6580:22;1872:20:37;;;6562:41:128;1872:14:37;;;;6535:18:128;;1872:20:37;6422:187:128;-1:-1:-1;;;;;;;;:::o;267:681:128:-;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:128;767:75;;897:15;;;;862:12;;;;740:1;733:9;704:218;;;-1:-1:-1;939:3:128;;267:681;-1:-1:-1;;;;;;267:681:128:o;953:2127::-;1159:4;1188:2;1228;1217:9;1213:18;1258:2;1247:9;1240:21;1281:6;1316;1310:13;1347:6;1339;1332:22;1373:2;1363:12;;1406:2;1395:9;1391:18;1384:25;;1468:2;1458:6;1455:1;1451:14;1440:9;1436:30;1432:39;1506:2;1498:6;1494:15;1527:1;1537:1514;1551:6;1548:1;1545:13;1537:1514;;;-1:-1:-1;;1616:22:128;;;1612:36;1600:49;;1672:13;;1759:9;;-1:-1:-1;;;;;1755:58:128;1740:74;;1853:11;;1847:18;1885:15;;;1878:27;;;1966:19;;1712:15;;;1998:24;;;2178:21;;;;2045:2;2131:1;2127:16;;;2115:29;;2111:38;;;2069:15;;;;2223:1;2237:705;2253:8;2248:3;2245:17;2237:705;;;2334:19;;;-1:-1:-1;;2330:33:128;2316:48;;2391:15;;2439:9;;2465:24;;;2517:1;2535:169;2551:8;2546:3;2543:17;2535:169;;;2681:2;2675:3;2671:2;2667:12;2663:21;2657:28;2652:2;2646:3;2638:6;2634:16;2630:25;2623:63;2579:2;2574:3;2570:12;2563:19;;2535:169;;;-1:-1:-1;2760:1:128;2732:21;;;2728:30;;2721:41;2871:17;;;;2832:2;2809:17;-1:-1:-1;;2805:31:128;2793:44;;;2789:53;;;-1:-1:-1;2914:14:128;;;;2281:1;2272:11;2237:705;;;-1:-1:-1;;;3029:12:128;;;;2965:6;-1:-1:-1;;2994:15:128;;;;1573:1;1566:9;1537:1514;;;-1:-1:-1;3068:6:128;;953:2127;-1:-1:-1;;;;;;;;953:2127:128:o;3571:1638::-;3775:4;3804:2;3844;3833:9;3829:18;3874:2;3863:9;3856:21;3897:6;3932;3926:13;3963:6;3955;3948:22;3989:2;3979:12;;4022:2;4011:9;4007:18;4000:25;;4084:2;4074:6;4071:1;4067:14;4056:9;4052:30;4048:39;4122:2;4114:6;4110:15;4143:1;4164;4174:1006;4190:6;4185:3;4182:15;4174:1006;;;4259:22;;;-1:-1:-1;;4255:36:128;4243:49;;4315:13;;4402:9;;-1:-1:-1;;;;;4398:58:128;4383:74;;4496:11;;4490:18;4528:15;;;4521:27;;;4609:19;;4355:15;;;4641:24;;;4731:21;;;;4776:1;;4699:2;4687:15;;;4790:282;4806:8;4801:3;4798:17;4790:282;;;4887:15;;4904:66;4883:88;4869:103;;5041:17;;;;4834:1;4825:11;;;;;4998:14;;;;4790:282;;;-1:-1:-1;5158:12:128;;;;5095:5;-1:-1:-1;;;5123:15:128;;;;4216:1;4207:11;4174:1006;;;-1:-1:-1;5197:6:128;;3571:1638;-1:-1:-1;;;;;;;;;3571:1638:128:o;5214:1203::-;5376:4;5405:2;5445;5434:9;5430:18;5475:2;5464:9;5457:21;5498:6;5533;5527:13;5564:6;5556;5549:22;5602:2;5591:9;5587:18;5580:25;;5664:2;5654:6;5651:1;5647:14;5636:9;5632:30;5628:39;5614:53;;5702:2;5694:6;5690:15;5723:1;5744;5754:634;5770:6;5765:3;5762:15;5754:634;;;5839:22;;;-1:-1:-1;;5835:36:128;5823:49;;5895:13;;5937:9;;5959:24;;;6007:1;6021:157;6037:8;6032:3;6029:17;6021:157;;;6145:12;;;6141:21;;6135:28;6112:16;;;6108:25;;6101:63;6056:12;;6021:157;;;-1:-1:-1;6202:21:128;;;6198:30;;6191:41;;;6298:2;6275:17;-1:-1:-1;;6271:31:128;6259:44;;;6255:53;;;-1:-1:-1;6366:12:128;;;;6331:15;;;;5796:1;5787:11;5754:634;;;-1:-1:-1;6405:6:128;;5214:1203;-1:-1:-1;;;;;;;;5214:1203:128:o;7017:164::-;7093:13;;7142;;7135:21;7125:32;;7115:60;;7171:1;7168;7161:12;7115:60;7017:164;;;:::o;7186:200::-;7265:13;;-1:-1:-1;;;;;7307:54:128;;7297:65;;7287:93;;7376:1;7373;7366:12;7391:348;7476:6;7484;7492;7545:2;7533:9;7524:7;7520:23;7516:32;7513:52;;;7561:1;7558;7551:12;7513:52;7590:9;7584:16;7574:26;;7619:46;7661:2;7650:9;7646:18;7619:46;:::i;:::-;7609:56;;7684:49;7729:2;7718:9;7714:18;7684:49;:::i;:::-;7674:59;;7391:348;;;;;:::o;8173:661::-;8274:6;8327:2;8315:9;8306:7;8302:23;8298:32;8295:52;;;8343:1;8340;8333:12;8295:52;8376:2;8370:9;8418:2;8410:6;8406:15;8487:6;8475:10;8472:22;8451:18;8439:10;8436:34;8433:62;8430:242;;;-1:-1:-1;;;8525:1:128;8518:88;8629:4;8626:1;8619:15;8657:4;8654:1;8647:15;8430:242;8688:2;8681:22;8727:16;;8712:32;;8798:2;8783:18;;;8777:25;8760:15;;;8753:50;;;;-1:-1:-1;8719:6:128;8173:661;-1:-1:-1;8173:661:128:o;9452:437::-;9531:1;9527:12;;;;9574;;;9595:61;;9649:4;9641:6;9637:17;9627:27;;9595:61;9702:2;9694:6;9691:14;9671:18;9668:38;9665:218;;-1:-1:-1;;;9736:1:128;9729:88;9840:4;9837:1;9830:15;9868:4;9865:1;9858:15;9665:218;;9452:437;;;:::o;10528:202::-;10595:6;10648:2;10636:9;10627:7;10623:23;10619:32;10616:52;;;10664:1;10661;10654:12;10616:52;10687:37;10714:9;10687:37;:::i;:::-;10677:47;10528:202;-1:-1:-1;;;10528:202:128:o;11349:184::-;11419:6;11472:2;11460:9;11451:7;11447:23;11443:32;11440:52;;;11488:1;11485;11478:12;11440:52;-1:-1:-1;11511:16:128;;11349:184;-1:-1:-1;11349:184:128:o;11538:208::-;11608:6;11661:2;11649:9;11640:7;11636:23;11632:32;11629:52;;;11677:1;11674;11667:12;11629:52;11700:40;11730:9;11700: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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8\",\"dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"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/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\":\"0x58c15350aefdf9379dcc3b0442bf775d66c8595b2fa46180130d6a910ff95ceb\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://4d2a753fffe95c8c7ba708f671eee354e4208454b797e382ad16ca88c33d7e18\",\"dweb:/ipfs/QmSNxyehChShCXR7tuubfDmXXpHuvsJFuB5vw8xQzfcPSs\"]},\"pkg/contracts/test/PassportScorerTest.t.sol\":{\"keccak256\":\"0x0272f36e062ac081325144514cb4f99582930253fa73ead085d8d62cd424a0a7\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://e757d85ca65e98f0faf26da8cd12c0887e4c2ba2a1c57b9598b9d8e37b4dbebd\",\"dweb:/ipfs/QmXxjr16rc6drof5JcZuN3DneLSdEyScMkNbBSWccb9XoV\"]}},\"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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x4075622496acc77fd6d4de4cc30a8577a744d5c75afad33fdeacf1704d6eda98","urls":["bzz-raw://99c8cb3cd19a44bbfb6612605affb7d8b06cee1f6aa9362a37a8672b4f7eeaf8","dweb:/ipfs/QmasyxFDBUp7k5KFgfDWEzM8PYSKEq7GVznzMJ1VxVRF4B"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"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/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":"0x58c15350aefdf9379dcc3b0442bf775d66c8595b2fa46180130d6a910ff95ceb","urls":["bzz-raw://4d2a753fffe95c8c7ba708f671eee354e4208454b797e382ad16ca88c33d7e18","dweb:/ipfs/QmSNxyehChShCXR7tuubfDmXXpHuvsJFuB5vw8xQzfcPSs"],"license":"AGPL-3.0-or-later"},"pkg/contracts/test/PassportScorerTest.t.sol":{"keccak256":"0x0272f36e062ac081325144514cb4f99582930253fa73ead085d8d62cd424a0a7","urls":["bzz-raw://e757d85ca65e98f0faf26da8cd12c0887e4c2ba2a1c57b9598b9d8e37b4dbebd","dweb:/ipfs/QmXxjr16rc6drof5JcZuN3DneLSdEyScMkNbBSWccb9XoV"],"license":"AGPL-3.0-or-later"}},"version":1},"id":123} \ 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 d831068dc..06c6f4ff8 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":"0x608060405234801561001057600080fd5b50612e96806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620001d15760003560e01c806350d005e01162000101578063c4d66de811620000a3578063d547741f116200007a578063d547741f1462000480578063dd93da431462000497578063e0cf1e4c14620004ae578063ee88819614620004c557600080fd5b8063c4d66de8146200042a578063cf189ff21462000441578063cfda7e0a146200045857600080fd5b8063a0cf0aea11620000d8578063a0cf0aea14620003ee578063a217fddf146200040a578063ac402839146200041357600080fd5b806350d005e014620003565780635e8a7915146200039b57806391d1485414620003b257600080fd5b80632f2ff15d11620001775780633a92f65f116200014e5780633a92f65f14620002ee5780633b66dacd14620003055780634756487f146200031c5780635063f361146200033f57600080fd5b80632f2ff15d14620002a957806336568abe14620002c057806339b86b8c14620002d757600080fd5b8063248a9ca311620001ac578063248a9ca314620002445780632497f3c6146200027957806324ae6a27146200029257600080fd5b80630114cf0a14620001d657806301ffc9a714620002055780630ec1fbac146200022d575b600080fd5b620001ed620001e736600462001c07565b620004f0565b604051620001fc919062001c9e565b60405180910390f35b6200021c6200021636600462001d1f565b620006a7565b6040519015158152602001620001fc565b6200021c6200023e36600462001d80565b62000741565b6200026a6200025536600462001c07565b60009081526065602052604090206001015490565b604051908152602001620001fc565b620002906200028a36600462001c07565b62000756565b005b62000290620002a336600462001daf565b62000835565b62000290620002ba36600462001d80565b62000951565b62000290620002d136600462001d80565b6200097f565b6200021c620002e836600462001d80565b62000a13565b6200026a620002ff36600462001fa7565b62000a39565b620002906200031636600462001d80565b62000cea565b6200026a6200032d36600462002056565b60976020526000908152604090205481565b620002906200035036600462002074565b62000d61565b620003826200036736600462001c07565b6099602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001fc565b6200021c620003ac36600462001d80565b62000ded565b6200021c620003c336600462001d80565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6200038273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200026a600081565b6200029062000424366004620020bf565b62000e20565b620002906200043b36600462002056565b62000e93565b620003826200045236600462002100565b62000fd7565b6200026a7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274781565b620002906200049136600462001d80565b620010a5565b620001ed620004a836600462002056565b620010ce565b62000290620004bf36600462002074565b62001297565b620004dc620004d636600462001c07565b620012e2565b604051620001fc9695949392919062002141565b620004fa62001ba4565b609860008381526020019081526020016000206040518060c001604052908160008201548152602001600182015481526020016002820180546200053e906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200056c906200219d565b8015620005bd5780601f106200059157610100808354040283529160200191620005bd565b820191906000526020600020905b8154815290600101906020018083116200059f57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620005f2906200219d565b80601f016020809104026020016040519081016040528092919081815260200182805462000620906200219d565b8015620006715780601f10620006455761010080835404028352916020019162000671565b820191906000526020600020905b8154815290600101906020018083116200065357829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806200073b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006200074f838362001462565b9392505050565b60008181526098602090815260408083206099909252909120546001600160a01b0316338114620007b3576040517fb4d48c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005820180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff199283161783556000868152609960209081526040918290208054909416909355925492519216825284917ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d91015b60405180910390a2505050565b7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274762000861816200148e565b6001600160a01b038216620008895760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146200093a576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156200090e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009349190620021d9565b6200093c565b475b90506200094b8484836200149d565b50505050565b6000828152606560205260409020600101546200096e816200148e565b6200097a8383620014e7565b505050565b6001600160a01b038116331462000a035760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b62000a0f82826200158b565b5050565b6000828152609860205260408120600501546001600160a01b038381169116146200074f565b60008062000a4887856200160f565b6000818152609860205260409020600601549091506001600160a01b03161562000a9e576040517f527e059000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841662000ac65760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b0316815260200162000b06848a6200165e565b6001600160a01b0316905260008381526098602090815260409182902083518155908301516001820155908201519192508291600282019062000b4a908262002245565b5060608201518051600383019081556020820151600484019062000b6f908262002245565b505050608082015160058201805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000bf057506001600160a01b0386163314155b1562000c0f5760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000c8657600086828151811062000c325762000c3262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c705760405163538ba4f960e01b815260040160405180910390fd5b62000c7c8582620014e7565b5060010162000c12565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000cd595949392919062002328565b60405180910390a25090979650505050505050565b8162000cf6816200186c565b600083815260996020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616908117909155915191825284917f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8910162000828565b8162000d6d816200186c565b815160005b8181101562000de657600084828151811062000d925762000d9262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000dd05760405163538ba4f960e01b815260040160405180910390fd5b62000ddc8682620014e7565b5060010162000d72565b5050505050565b6000828152609860205260408120600501546001600160a01b03838116911614806200074f57506200074f838362001462565b8162000e2c816200186c565b6000838152609860209081526040909120835160038201908155918401518492916004019062000e5d908262002245565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3836040516200082891906200237d565b600054600190610100900460ff1615801562000eb6575060005460ff8083169116105b62000f2a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620009fa565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000f665760405163538ba4f960e01b815260040160405180910390fd5b62000f927f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274783620014e7565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000fe5816200186c565b62000ff184846200165e565b60008581526098602052604090209092506002810162001012858262002245565b506006810180546001600160a01b03908116600090815260976020526040808220829055835473ffffffffffffffffffffffffffffffffffffffff19169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062001095908790879062002392565b60405180910390a2505092915050565b600082815260656020526040902060010154620010c2816200148e565b6200097a83836200158b565b620010d862001ba4565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c0810183528154815260018201549381019390935260028101805491928401916200112d906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200115b906200219d565b8015620011ac5780601f106200118057610100808354040283529160200191620011ac565b820191906000526020600020905b8154815290600101906020018083116200118e57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620011e1906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200120f906200219d565b8015620012605780601f10620012345761010080835404028352916020019162001260565b820191906000526020600020905b8154815290600101906020018083116200124257829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620012a3816200186c565b815160005b8181101562000de657620012d985858381518110620012cb57620012cb62002312565b60200260200101516200158b565b600101620012a8565b609860205260009081526040902080546001820154600283018054929391926200130c906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200133a906200219d565b80156200138b5780601f106200135f576101008083540402835291602001916200138b565b820191906000526020600020905b8154815290600101906020018083116200136d57829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620013bc906200219d565b80601f0160208091040260200160405190810160405280929190818152602001828054620013ea906200219d565b80156200143b5780601f106200140f576101008083540402835291602001916200143b565b820191906000526020600020905b8154815290600101906020018083116200141d57829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b60008281526065602090815260408083206001600160a01b038516845290915281205460ff166200074f565b6200149a8133620018a7565b50565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620014da576200097a828262001925565b6200097a83838362001942565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620015473390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff161562000a0f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082826040516020016200164092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001676929190620023bf565b60408051808303601f1901815282825260208301879052308383015281518084038301815260608401928390529093509160009190620016b99060800162001bf9565b601f1982820381018352601f909101166040819052620016df91908490602001620023da565b60408051601f198184030181529082905284516020868101919091208251828401207fff00000000000000000000000000000000000000000000000000000000000000928501929092526bffffffffffffffffffffffff193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c9050818830604051620017869062001bf9565b9182526001600160a01b031660208201526040018190604051809103906000f590508015620017b25760015b6200185e5787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181d9190620021d9565b1462001855576040517f113b81f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80955062001861565b95505b505050505092915050565b6000818152609860205260409020600501546001600160a01b031633146200149a5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f57620018dd8162001992565b620018ea836020620019a5565b604051602001620018fd9291906200240d565b60408051601f198184030181529082905262461bcd60e51b8252620009fa9160040162002492565b60008060008084865af162000a0f5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171662001988576390b8ec186000526004601cfd5b6000603452505050565b60606200073b6001600160a01b03831660145b60606000620019b6836002620024bd565b620019c3906002620024d7565b67ffffffffffffffff811115620019de57620019de62001dde565b6040519080825280601f01601f19166020018201604052801562001a09576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811062001a435762001a4362002312565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062001a915762001a9162002312565b60200101906001600160f81b031916908160001a905350600062001ab7846002620024bd565b62001ac4906001620024d7565b90505b600181111562001b53577f303132333435363738396162636465660000000000000000000000000000000085600f166010811062001b095762001b0962002312565b1a60f81b82828151811062001b225762001b2262002312565b60200101906001600160f81b031916908160001a90535060049490941c9362001b4b81620024ed565b905062001ac7565b5083156200074f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620009fa565b6040518060c0016040528060008019168152602001600081526020016060815260200162001be5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b610959806200250883390190565b60006020828403121562001c1a57600080fd5b5035919050565b60005b8381101562001c3e57818101518382015260200162001c24565b50506000910152565b6000815180845262001c6181602086016020860162001c21565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001c96604085018262001c47565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001cd060e084018262001c47565b90506060840151601f1984830301608085015262001cef828262001c75565b91505060808401516001600160a01b0380821660a08601528060a08701511660c086015250508091505092915050565b60006020828403121562001d3257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200074f57600080fd5b80356001600160a01b038116811462001d7b57600080fd5b919050565b6000806040838503121562001d9457600080fd5b8235915062001da66020840162001d63565b90509250929050565b6000806040838503121562001dc357600080fd5b62001dce8362001d63565b915062001da66020840162001d63565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001e205762001e2062001dde565b604052919050565b600082601f83011262001e3a57600080fd5b813567ffffffffffffffff81111562001e575762001e5762001dde565b62001e6c601f8201601f191660200162001df4565b81815284602083860101111562001e8257600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001eb257600080fd5b6040516040810167ffffffffffffffff828210818311171562001ed95762001ed962001dde565b8160405282935084358352602085013591508082111562001ef957600080fd5b5062001f088582860162001e28565b6020830152505092915050565b600082601f83011262001f2757600080fd5b8135602067ffffffffffffffff82111562001f465762001f4662001dde565b8160051b62001f5782820162001df4565b928352848101820192828101908785111562001f7257600080fd5b83870192505b8483101562001f9c5762001f8c8362001d63565b8252918301919083019062001f78565b979650505050505050565b600080600080600060a0868803121562001fc057600080fd5b85359450602086013567ffffffffffffffff8082111562001fe057600080fd5b62001fee89838a0162001e28565b955060408801359150808211156200200557600080fd5b6200201389838a0162001e9f565b9450620020236060890162001d63565b935060808801359150808211156200203a57600080fd5b50620020498882890162001f15565b9150509295509295909350565b6000602082840312156200206957600080fd5b6200074f8262001d63565b600080604083850312156200208857600080fd5b82359150602083013567ffffffffffffffff811115620020a757600080fd5b620020b58582860162001f15565b9150509250929050565b60008060408385031215620020d357600080fd5b82359150602083013567ffffffffffffffff811115620020f257600080fd5b620020b58582860162001e9f565b600080604083850312156200211457600080fd5b82359150602083013567ffffffffffffffff8111156200213357600080fd5b620020b58582860162001e28565b86815285602082015260c0604082015260006200216260c083018762001c47565b828103606084015262002176818762001c75565b9150506001600160a01b03808516608084015280841660a084015250979650505050505050565b600181811c90821680620021b257607f821691505b602082108103620021d357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620021ec57600080fd5b5051919050565b601f8211156200097a57600081815260208120601f850160051c810160208610156200221c5750805b601f850160051c820191505b818110156200223d5782815560010162002228565b505050505050565b815167ffffffffffffffff81111562002262576200226262001dde565b6200227a816200227384546200219d565b84620021f3565b602080601f831160018114620022b25760008415620022995750858301515b600019600386901b1c1916600185901b1785556200223d565b600085815260208120601f198616915b82811015620022e357888601518255948401946001909101908401620022c2565b5085821015620023025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200234360a083018762001c47565b828103604084015262002357818762001c75565b9150506001600160a01b0380851660608401528084166080840152509695505050505050565b6020815260006200074f602083018462001c75565b604081526000620023a7604083018562001c47565b90506001600160a01b03831660208301529392505050565b82815260406020820152600062001c96604083018462001c47565b60008351620023ee81846020880162001c21565b8351908301906200240481836020880162001c21565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200244781601785016020880162001c21565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516200248681602884016020880162001c21565b01602801949350505050565b6020815260006200074f602083018462001c47565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200073b576200073b620024a7565b808201808211156200073b576200073b620024a7565b600081620024ff57620024ff620024a7565b50600019019056fe60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea264697066735822122001ed55c5497b4f21ebcc53dc09c8345788990de00d4fed233d5e70d2c121c9aa64736f6c63430008130033a2646970667358221220d788251c7a3683faa5b84a0db3736d4d6f83f1035a79f333120bf47ffb11c29064736f6c63430008130033","sourceMap":"5237:15930:2:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b5060043610620001d15760003560e01c806350d005e01162000101578063c4d66de811620000a3578063d547741f116200007a578063d547741f1462000480578063dd93da431462000497578063e0cf1e4c14620004ae578063ee88819614620004c557600080fd5b8063c4d66de8146200042a578063cf189ff21462000441578063cfda7e0a146200045857600080fd5b8063a0cf0aea11620000d8578063a0cf0aea14620003ee578063a217fddf146200040a578063ac402839146200041357600080fd5b806350d005e014620003565780635e8a7915146200039b57806391d1485414620003b257600080fd5b80632f2ff15d11620001775780633a92f65f116200014e5780633a92f65f14620002ee5780633b66dacd14620003055780634756487f146200031c5780635063f361146200033f57600080fd5b80632f2ff15d14620002a957806336568abe14620002c057806339b86b8c14620002d757600080fd5b8063248a9ca311620001ac578063248a9ca314620002445780632497f3c6146200027957806324ae6a27146200029257600080fd5b80630114cf0a14620001d657806301ffc9a714620002055780630ec1fbac146200022d575b600080fd5b620001ed620001e736600462001c07565b620004f0565b604051620001fc919062001c9e565b60405180910390f35b6200021c6200021636600462001d1f565b620006a7565b6040519015158152602001620001fc565b6200021c6200023e36600462001d80565b62000741565b6200026a6200025536600462001c07565b60009081526065602052604090206001015490565b604051908152602001620001fc565b620002906200028a36600462001c07565b62000756565b005b62000290620002a336600462001daf565b62000835565b62000290620002ba36600462001d80565b62000951565b62000290620002d136600462001d80565b6200097f565b6200021c620002e836600462001d80565b62000a13565b6200026a620002ff36600462001fa7565b62000a39565b620002906200031636600462001d80565b62000cea565b6200026a6200032d36600462002056565b60976020526000908152604090205481565b620002906200035036600462002074565b62000d61565b620003826200036736600462001c07565b6099602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001fc565b6200021c620003ac36600462001d80565b62000ded565b6200021c620003c336600462001d80565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6200038273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200026a600081565b6200029062000424366004620020bf565b62000e20565b620002906200043b36600462002056565b62000e93565b620003826200045236600462002100565b62000fd7565b6200026a7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274781565b620002906200049136600462001d80565b620010a5565b620001ed620004a836600462002056565b620010ce565b62000290620004bf36600462002074565b62001297565b620004dc620004d636600462001c07565b620012e2565b604051620001fc9695949392919062002141565b620004fa62001ba4565b609860008381526020019081526020016000206040518060c001604052908160008201548152602001600182015481526020016002820180546200053e906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200056c906200219d565b8015620005bd5780601f106200059157610100808354040283529160200191620005bd565b820191906000526020600020905b8154815290600101906020018083116200059f57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620005f2906200219d565b80601f016020809104026020016040519081016040528092919081815260200182805462000620906200219d565b8015620006715780601f10620006455761010080835404028352916020019162000671565b820191906000526020600020905b8154815290600101906020018083116200065357829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806200073b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006200074f838362001462565b9392505050565b60008181526098602090815260408083206099909252909120546001600160a01b0316338114620007b3576040517fb4d48c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005820180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff199283161783556000868152609960209081526040918290208054909416909355925492519216825284917ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d91015b60405180910390a2505050565b7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274762000861816200148e565b6001600160a01b038216620008895760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146200093a576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156200090e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009349190620021d9565b6200093c565b475b90506200094b8484836200149d565b50505050565b6000828152606560205260409020600101546200096e816200148e565b6200097a8383620014e7565b505050565b6001600160a01b038116331462000a035760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b62000a0f82826200158b565b5050565b6000828152609860205260408120600501546001600160a01b038381169116146200074f565b60008062000a4887856200160f565b6000818152609860205260409020600601549091506001600160a01b03161562000a9e576040517f527e059000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841662000ac65760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b0316815260200162000b06848a6200165e565b6001600160a01b0316905260008381526098602090815260409182902083518155908301516001820155908201519192508291600282019062000b4a908262002245565b5060608201518051600383019081556020820151600484019062000b6f908262002245565b505050608082015160058201805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000bf057506001600160a01b0386163314155b1562000c0f5760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000c8657600086828151811062000c325762000c3262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c705760405163538ba4f960e01b815260040160405180910390fd5b62000c7c8582620014e7565b5060010162000c12565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000cd595949392919062002328565b60405180910390a25090979650505050505050565b8162000cf6816200186c565b600083815260996020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616908117909155915191825284917f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8910162000828565b8162000d6d816200186c565b815160005b8181101562000de657600084828151811062000d925762000d9262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000dd05760405163538ba4f960e01b815260040160405180910390fd5b62000ddc8682620014e7565b5060010162000d72565b5050505050565b6000828152609860205260408120600501546001600160a01b03838116911614806200074f57506200074f838362001462565b8162000e2c816200186c565b6000838152609860209081526040909120835160038201908155918401518492916004019062000e5d908262002245565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3836040516200082891906200237d565b600054600190610100900460ff1615801562000eb6575060005460ff8083169116105b62000f2a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620009fa565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000f665760405163538ba4f960e01b815260040160405180910390fd5b62000f927f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274783620014e7565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000fe5816200186c565b62000ff184846200165e565b60008581526098602052604090209092506002810162001012858262002245565b506006810180546001600160a01b03908116600090815260976020526040808220829055835473ffffffffffffffffffffffffffffffffffffffff19169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062001095908790879062002392565b60405180910390a2505092915050565b600082815260656020526040902060010154620010c2816200148e565b6200097a83836200158b565b620010d862001ba4565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c0810183528154815260018201549381019390935260028101805491928401916200112d906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200115b906200219d565b8015620011ac5780601f106200118057610100808354040283529160200191620011ac565b820191906000526020600020905b8154815290600101906020018083116200118e57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620011e1906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200120f906200219d565b8015620012605780601f10620012345761010080835404028352916020019162001260565b820191906000526020600020905b8154815290600101906020018083116200124257829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620012a3816200186c565b815160005b8181101562000de657620012d985858381518110620012cb57620012cb62002312565b60200260200101516200158b565b600101620012a8565b609860205260009081526040902080546001820154600283018054929391926200130c906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200133a906200219d565b80156200138b5780601f106200135f576101008083540402835291602001916200138b565b820191906000526020600020905b8154815290600101906020018083116200136d57829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620013bc906200219d565b80601f0160208091040260200160405190810160405280929190818152602001828054620013ea906200219d565b80156200143b5780601f106200140f576101008083540402835291602001916200143b565b820191906000526020600020905b8154815290600101906020018083116200141d57829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b60008281526065602090815260408083206001600160a01b038516845290915281205460ff166200074f565b6200149a8133620018a7565b50565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620014da576200097a828262001925565b6200097a83838362001942565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620015473390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff161562000a0f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082826040516020016200164092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001676929190620023bf565b60408051808303601f1901815282825260208301879052308383015281518084038301815260608401928390529093509160009190620016b99060800162001bf9565b601f1982820381018352601f909101166040819052620016df91908490602001620023da565b60408051601f198184030181529082905284516020868101919091208251828401207fff00000000000000000000000000000000000000000000000000000000000000928501929092526bffffffffffffffffffffffff193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c9050818830604051620017869062001bf9565b9182526001600160a01b031660208201526040018190604051809103906000f590508015620017b25760015b6200185e5787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181d9190620021d9565b1462001855576040517f113b81f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80955062001861565b95505b505050505092915050565b6000818152609860205260409020600501546001600160a01b031633146200149a5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f57620018dd8162001992565b620018ea836020620019a5565b604051602001620018fd9291906200240d565b60408051601f198184030181529082905262461bcd60e51b8252620009fa9160040162002492565b60008060008084865af162000a0f5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171662001988576390b8ec186000526004601cfd5b6000603452505050565b60606200073b6001600160a01b03831660145b60606000620019b6836002620024bd565b620019c3906002620024d7565b67ffffffffffffffff811115620019de57620019de62001dde565b6040519080825280601f01601f19166020018201604052801562001a09576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811062001a435762001a4362002312565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062001a915762001a9162002312565b60200101906001600160f81b031916908160001a905350600062001ab7846002620024bd565b62001ac4906001620024d7565b90505b600181111562001b53577f303132333435363738396162636465660000000000000000000000000000000085600f166010811062001b095762001b0962002312565b1a60f81b82828151811062001b225762001b2262002312565b60200101906001600160f81b031916908160001a90535060049490941c9362001b4b81620024ed565b905062001ac7565b5083156200074f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620009fa565b6040518060c0016040528060008019168152602001600081526020016060815260200162001be5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b610959806200250883390190565b60006020828403121562001c1a57600080fd5b5035919050565b60005b8381101562001c3e57818101518382015260200162001c24565b50506000910152565b6000815180845262001c6181602086016020860162001c21565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001c96604085018262001c47565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001cd060e084018262001c47565b90506060840151601f1984830301608085015262001cef828262001c75565b91505060808401516001600160a01b0380821660a08601528060a08701511660c086015250508091505092915050565b60006020828403121562001d3257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200074f57600080fd5b80356001600160a01b038116811462001d7b57600080fd5b919050565b6000806040838503121562001d9457600080fd5b8235915062001da66020840162001d63565b90509250929050565b6000806040838503121562001dc357600080fd5b62001dce8362001d63565b915062001da66020840162001d63565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001e205762001e2062001dde565b604052919050565b600082601f83011262001e3a57600080fd5b813567ffffffffffffffff81111562001e575762001e5762001dde565b62001e6c601f8201601f191660200162001df4565b81815284602083860101111562001e8257600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001eb257600080fd5b6040516040810167ffffffffffffffff828210818311171562001ed95762001ed962001dde565b8160405282935084358352602085013591508082111562001ef957600080fd5b5062001f088582860162001e28565b6020830152505092915050565b600082601f83011262001f2757600080fd5b8135602067ffffffffffffffff82111562001f465762001f4662001dde565b8160051b62001f5782820162001df4565b928352848101820192828101908785111562001f7257600080fd5b83870192505b8483101562001f9c5762001f8c8362001d63565b8252918301919083019062001f78565b979650505050505050565b600080600080600060a0868803121562001fc057600080fd5b85359450602086013567ffffffffffffffff8082111562001fe057600080fd5b62001fee89838a0162001e28565b955060408801359150808211156200200557600080fd5b6200201389838a0162001e9f565b9450620020236060890162001d63565b935060808801359150808211156200203a57600080fd5b50620020498882890162001f15565b9150509295509295909350565b6000602082840312156200206957600080fd5b6200074f8262001d63565b600080604083850312156200208857600080fd5b82359150602083013567ffffffffffffffff811115620020a757600080fd5b620020b58582860162001f15565b9150509250929050565b60008060408385031215620020d357600080fd5b82359150602083013567ffffffffffffffff811115620020f257600080fd5b620020b58582860162001e9f565b600080604083850312156200211457600080fd5b82359150602083013567ffffffffffffffff8111156200213357600080fd5b620020b58582860162001e28565b86815285602082015260c0604082015260006200216260c083018762001c47565b828103606084015262002176818762001c75565b9150506001600160a01b03808516608084015280841660a084015250979650505050505050565b600181811c90821680620021b257607f821691505b602082108103620021d357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620021ec57600080fd5b5051919050565b601f8211156200097a57600081815260208120601f850160051c810160208610156200221c5750805b601f850160051c820191505b818110156200223d5782815560010162002228565b505050505050565b815167ffffffffffffffff81111562002262576200226262001dde565b6200227a816200227384546200219d565b84620021f3565b602080601f831160018114620022b25760008415620022995750858301515b600019600386901b1c1916600185901b1785556200223d565b600085815260208120601f198616915b82811015620022e357888601518255948401946001909101908401620022c2565b5085821015620023025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200234360a083018762001c47565b828103604084015262002357818762001c75565b9150506001600160a01b0380851660608401528084166080840152509695505050505050565b6020815260006200074f602083018462001c75565b604081526000620023a7604083018562001c47565b90506001600160a01b03831660208301529392505050565b82815260406020820152600062001c96604083018462001c47565b60008351620023ee81846020880162001c21565b8351908301906200240481836020880162001c21565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200244781601785016020880162001c21565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516200248681602884016020880162001c21565b01602801949350505050565b6020815260006200074f602083018462001c47565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200073b576200073b620024a7565b808201808211156200073b576200073b620024a7565b600081620024ff57620024ff620024a7565b50600019019056fe60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea264697066735822122001ed55c5497b4f21ebcc53dc09c8345788990de00d4fed233d5e70d2c121c9aa64736f6c63430008130033a2646970667358221220d788251c7a3683faa5b84a0db3736d4d6f83f1035a79f333120bf47ffb11c29064736f6c63430008130033","sourceMap":"5237:15930:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7472:131;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3029:213:12;;;;;;:::i;:::-;;:::i;:::-;;;2428:14:125;;2421:22;2403:41;;2391:2;2376:18;3029:213:12;2263:187:125;13857:156:2;;;;;;:::i;:::-;;:::i;4834:129:12:-;;;;;;:::i;:::-;4908:7;4934:12;;;:6;:12;;;;;:22;;;;4834:129;;;;3061:25:125;;;3049:2;3034:18;4834:129:12;2915:177:125;15016:745:2;;;;;;:::i;:::-;;:::i;:::-;;20847:318;;;;;;:::i;:::-;;:::i;5259:145:12:-;;;;;;:::i;:::-;;:::i;6368: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:125;;;7406:74;;7394:2;7379:18;5859:58:2;7260:226:125;12992:208:2;;;;;;:::i;:::-;;:::i;3329:145:12:-;;;;;;:::i;:::-;3415:4;3438:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3438:29:12;;;;;;;;;;;;;;;3329:145;4412:75:9;;4445:42;4412:75;;2450:49:12;;2495:4;2450:49;;12309:415:2;;;;;;:::i;:::-;;:::i;6841:257::-;;;;;;:::i;:::-;;:::i;11210:830::-;;;;;;:::i;:::-;;:::i;5974:60::-;;6011:23;5974:60;;5684:147:12;;;;;;:::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;3029:213:12:-;3114:4;3137:58;;;3152:43;3137:58;;:98;;-1:-1:-1;1183:36:21;1168:51;;;;3199:36:12;3130:105;3029:213;-1:-1:-1;;3029:213:12: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:125;;15591:35:2;;15708:46;;7379:18:125;15708:46:2;;;;;;;;15077:684;;15016:745;:::o;20847:318::-;6011:23;2928:16:12;2939:4;2928: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:125::0;-1:-1:-1;;;;;21067:23:2;::::1;::::0;::::1;::::0;7379:18:125;;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;5259:145:12:-;4908:7;4934:12;;;:6;:12;;;;;:22;;;2928:16;2939:4;2928:10;:16::i;:::-;5372:25:::1;5383:4;5389:7;5372:10;:25::i;:::-;5259:145:::0;;;:::o;6368:214::-;-1:-1:-1;;;;;6463:23:12;;929:10:19;6463:23:12;6455:83;;;;-1:-1:-1;;;6455:83:12;;9935:2:125;6455:83:12;;;9917:21:125;9974:2;9954:18;;;9947:30;10013:34;9993:18;;;9986:62;10084:17;10064:18;;;10057:45;10119:19;;6455:83:12;;;;;;;;;6549:26;6561:4;6567:7;6549:11;:26::i;:::-;6368: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:125;;;14530:35:2;;14658:53:::1;::::0;7379:18:125;14658:53:2::1;7260:226:125::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:15;;6900:1:2;;4882:13:15;;;;;4881:14;:40;;;;-1:-1:-1;4899:12:15;;:22;;;;:12;;:22;4881:40;4873:99;;;;-1:-1:-1;;;4873:99:15;;13734:2:125;4873:99:15;;;13716:21:125;13773:2;13753:18;;;13746:30;13812:34;13792:18;;;13785:62;13883:16;13863:18;;;13856:44;13917:19;;4873:99:15;13532:410:125;4873:99:15;4982:12;:22;;-1:-1:-1;;5014:20:15;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:15::0;5055:21;;-1:-1:-1;;5055:21:15;;;5091:20;;14119:4:125;14107:17;;14089:36;;5091:20:15;;14077:2:125;14062:18;5091:20:15;;;;;;;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;5684:147:12:-;4908:7;4934:12;;;:6;:12;;;;;:22;;;2928:16;2939:4;2928:10;:16::i;:::-;5798:26:::1;5810:4;5816:7;5798: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;3438:12:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3438:29:12;;;;;;;;;;;;20575:28:2;3329:145:12;3768:103;3834:30;3845:4;929:10:19;3834::12;:30::i;:::-;3768: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;7917:233:12:-;3415:4;3438:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3438:29:12;;;;;;;;;;;;7995:149;;8038:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8038:29:12;;;;;;;;;:36;;-1:-1:-1;;8038:36:12;8070:4;8038:36;;;8120:12;929:10:19;;850:96;8120:12:12;-1:-1:-1;;;;;8093:40:12;8111:7;-1:-1:-1;;;;;8093:40:12;8105:4;8093:40;;;;;;;;;;7917:233;;:::o;8321:234::-;3415:4;3438:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3438:29:12;;;;;;;;;;;;8400:149;;;8474:5;8442:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8442:29:12;;;;;;;;;;:37;;-1:-1:-1;;8442:37:12;;;8498:40;929:10:19;;8442:12:12;;8498:40;;8474:5;8498:40;8321:234;;:::o;19465:159:2:-;19548:7;19601:6;19609;19584:32;;;;;;;;14638:19:125;;;14695:2;14691:15;-1:-1:-1;;14687:53:125;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:125;;;18411:4:2;15291:18:125;;;15284:83;18380:37:2;;;;;;;;;15223:18:125;;;18380:37:2;;;;18303:29;;-1:-1:-1;18380:37:2;-1:-1:-1;;15223:18:125;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:125;;;;-1:-1:-1;;18693:4:2;16215:2:125;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::125;;18654:72:2;;;;;;;;;;;;18644:83;;;;;;18636:92;;18578:161;;18860:4;18866:10;18886:4;18843:49;;;;;:::i;:::-;15250:25:125;;;-1:-1:-1;;;;;15311:55:125;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;;;;;;;;;;;4152:501:12;3415:4;3438:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3438:29:12;;;;;;;;;;;;4235:412;;4423:39;4454:7;4423:30;:39::i;:::-;4533:49;4572:4;4579:2;4533:30;:49::i;:::-;4330:274;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4330:274:12;;;;;;;;;;-1:-1:-1;;;4278:358:12;;;;;;;:::i;2455:490:44:-;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:20:-;2531:13;2563:52;-1:-1:-1;;;;;2575:22:20;;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:20;;1984:47;;2041:15;:6;2048:1;2041:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2041:15:20;;;;;;;;;2066;:6;2073:1;2066:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2066:15:20;;;;;;;;-1:-1:-1;2096:9:20;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:20;;;;;;;;-1:-1:-1;2207:1:20;2197:11;;;;;2131:3;;;:::i;:::-;;;2091:128;;;-1:-1:-1;2236:10:20;;2228:55;;;;-1:-1:-1;;;2228:55:20;;18440:2:125;2228:55:20;;;18422:21:125;;;18459:18;;;18452:30;18518:34;18498:18;;;18491:62;18570:18;;2228:55:20;18238:356:125;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;14:180:125:-;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:125;;14:180;-1:-1:-1;14:180:125: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:125;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:125;673:39;;;;714:4;669:50;;454:271;-1:-1:-1;;454:271:125: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:125: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:125;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:125;;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:125;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:125;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:125: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:125;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:125: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:125: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:125;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:125;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:125;;9544:184;-1:-1:-1;9544:184:125: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:125;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:125;;;12198:26;12149:89;-1:-1:-1;;10953:1:125;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:125;;;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:125;11986:14;;;12002:3;11982:24;11978:37;11974:42;11959:58;11944:74;;11831:201;-1:-1:-1;;;;;12078:1:125;12062:14;;;12058:22;12045:36;;-1:-1:-1;10996:1352:125:o;12353:184::-;-1:-1:-1;;;12402:1:125;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:125;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:125;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:125: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:125: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:125;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:125;;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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"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/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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"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/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},"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":"0x608060405234801561001057600080fd5b50612e96806100206000396000f3fe60806040523480156200001157600080fd5b5060043610620001d15760003560e01c806350d005e01162000101578063c4d66de811620000a3578063d547741f116200007a578063d547741f1462000480578063dd93da431462000497578063e0cf1e4c14620004ae578063ee88819614620004c557600080fd5b8063c4d66de8146200042a578063cf189ff21462000441578063cfda7e0a146200045857600080fd5b8063a0cf0aea11620000d8578063a0cf0aea14620003ee578063a217fddf146200040a578063ac402839146200041357600080fd5b806350d005e014620003565780635e8a7915146200039b57806391d1485414620003b257600080fd5b80632f2ff15d11620001775780633a92f65f116200014e5780633a92f65f14620002ee5780633b66dacd14620003055780634756487f146200031c5780635063f361146200033f57600080fd5b80632f2ff15d14620002a957806336568abe14620002c057806339b86b8c14620002d757600080fd5b8063248a9ca311620001ac578063248a9ca314620002445780632497f3c6146200027957806324ae6a27146200029257600080fd5b80630114cf0a14620001d657806301ffc9a714620002055780630ec1fbac146200022d575b600080fd5b620001ed620001e736600462001c07565b620004f0565b604051620001fc919062001c9e565b60405180910390f35b6200021c6200021636600462001d1f565b620006a7565b6040519015158152602001620001fc565b6200021c6200023e36600462001d80565b62000741565b6200026a6200025536600462001c07565b60009081526065602052604090206001015490565b604051908152602001620001fc565b620002906200028a36600462001c07565b62000756565b005b62000290620002a336600462001daf565b62000835565b62000290620002ba36600462001d80565b62000951565b62000290620002d136600462001d80565b6200097f565b6200021c620002e836600462001d80565b62000a13565b6200026a620002ff36600462001fa7565b62000a39565b620002906200031636600462001d80565b62000cea565b6200026a6200032d36600462002056565b60976020526000908152604090205481565b620002906200035036600462002074565b62000d61565b620003826200036736600462001c07565b6099602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001fc565b6200021c620003ac36600462001d80565b62000ded565b6200021c620003c336600462001d80565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6200038273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200026a600081565b6200029062000424366004620020bf565b62000e20565b620002906200043b36600462002056565b62000e93565b620003826200045236600462002100565b62000fd7565b6200026a7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274781565b620002906200049136600462001d80565b620010a5565b620001ed620004a836600462002056565b620010ce565b62000290620004bf36600462002074565b62001297565b620004dc620004d636600462001c07565b620012e2565b604051620001fc9695949392919062002141565b620004fa62001ba4565b609860008381526020019081526020016000206040518060c001604052908160008201548152602001600182015481526020016002820180546200053e906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200056c906200219d565b8015620005bd5780601f106200059157610100808354040283529160200191620005bd565b820191906000526020600020905b8154815290600101906020018083116200059f57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620005f2906200219d565b80601f016020809104026020016040519081016040528092919081815260200182805462000620906200219d565b8015620006715780601f10620006455761010080835404028352916020019162000671565b820191906000526020600020905b8154815290600101906020018083116200065357829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806200073b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006200074f838362001462565b9392505050565b60008181526098602090815260408083206099909252909120546001600160a01b0316338114620007b3576040517fb4d48c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005820180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff199283161783556000868152609960209081526040918290208054909416909355925492519216825284917ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d91015b60405180910390a2505050565b7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274762000861816200148e565b6001600160a01b038216620008895760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146200093a576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156200090e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009349190620021d9565b6200093c565b475b90506200094b8484836200149d565b50505050565b6000828152606560205260409020600101546200096e816200148e565b6200097a8383620014e7565b505050565b6001600160a01b038116331462000a035760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b62000a0f82826200158b565b5050565b6000828152609860205260408120600501546001600160a01b038381169116146200074f565b60008062000a4887856200160f565b6000818152609860205260409020600601549091506001600160a01b03161562000a9e576040517f527e059000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841662000ac65760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b0316815260200162000b06848a6200165e565b6001600160a01b0316905260008381526098602090815260409182902083518155908301516001820155908201519192508291600282019062000b4a908262002245565b5060608201518051600383019081556020820151600484019062000b6f908262002245565b505050608082015160058201805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000bf057506001600160a01b0386163314155b1562000c0f5760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000c8657600086828151811062000c325762000c3262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c705760405163538ba4f960e01b815260040160405180910390fd5b62000c7c8582620014e7565b5060010162000c12565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000cd595949392919062002328565b60405180910390a25090979650505050505050565b8162000cf6816200186c565b600083815260996020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616908117909155915191825284917f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8910162000828565b8162000d6d816200186c565b815160005b8181101562000de657600084828151811062000d925762000d9262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000dd05760405163538ba4f960e01b815260040160405180910390fd5b62000ddc8682620014e7565b5060010162000d72565b5050505050565b6000828152609860205260408120600501546001600160a01b03838116911614806200074f57506200074f838362001462565b8162000e2c816200186c565b6000838152609860209081526040909120835160038201908155918401518492916004019062000e5d908262002245565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3836040516200082891906200237d565b600054600190610100900460ff1615801562000eb6575060005460ff8083169116105b62000f2a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620009fa565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000f665760405163538ba4f960e01b815260040160405180910390fd5b62000f927f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274783620014e7565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000fe5816200186c565b62000ff184846200165e565b60008581526098602052604090209092506002810162001012858262002245565b506006810180546001600160a01b03908116600090815260976020526040808220829055835473ffffffffffffffffffffffffffffffffffffffff19169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062001095908790879062002392565b60405180910390a2505092915050565b600082815260656020526040902060010154620010c2816200148e565b6200097a83836200158b565b620010d862001ba4565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c0810183528154815260018201549381019390935260028101805491928401916200112d906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200115b906200219d565b8015620011ac5780601f106200118057610100808354040283529160200191620011ac565b820191906000526020600020905b8154815290600101906020018083116200118e57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620011e1906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200120f906200219d565b8015620012605780601f10620012345761010080835404028352916020019162001260565b820191906000526020600020905b8154815290600101906020018083116200124257829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620012a3816200186c565b815160005b8181101562000de657620012d985858381518110620012cb57620012cb62002312565b60200260200101516200158b565b600101620012a8565b609860205260009081526040902080546001820154600283018054929391926200130c906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200133a906200219d565b80156200138b5780601f106200135f576101008083540402835291602001916200138b565b820191906000526020600020905b8154815290600101906020018083116200136d57829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620013bc906200219d565b80601f0160208091040260200160405190810160405280929190818152602001828054620013ea906200219d565b80156200143b5780601f106200140f576101008083540402835291602001916200143b565b820191906000526020600020905b8154815290600101906020018083116200141d57829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b60008281526065602090815260408083206001600160a01b038516845290915281205460ff166200074f565b6200149a8133620018a7565b50565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620014da576200097a828262001925565b6200097a83838362001942565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620015473390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff161562000a0f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082826040516020016200164092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001676929190620023bf565b60408051808303601f1901815282825260208301879052308383015281518084038301815260608401928390529093509160009190620016b99060800162001bf9565b601f1982820381018352601f909101166040819052620016df91908490602001620023da565b60408051601f198184030181529082905284516020868101919091208251828401207fff00000000000000000000000000000000000000000000000000000000000000928501929092526bffffffffffffffffffffffff193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c9050818830604051620017869062001bf9565b9182526001600160a01b031660208201526040018190604051809103906000f590508015620017b25760015b6200185e5787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181d9190620021d9565b1462001855576040517f113b81f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80955062001861565b95505b505050505092915050565b6000818152609860205260409020600501546001600160a01b031633146200149a5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f57620018dd8162001992565b620018ea836020620019a5565b604051602001620018fd9291906200240d565b60408051601f198184030181529082905262461bcd60e51b8252620009fa9160040162002492565b60008060008084865af162000a0f5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171662001988576390b8ec186000526004601cfd5b6000603452505050565b60606200073b6001600160a01b03831660145b60606000620019b6836002620024bd565b620019c3906002620024d7565b67ffffffffffffffff811115620019de57620019de62001dde565b6040519080825280601f01601f19166020018201604052801562001a09576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811062001a435762001a4362002312565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062001a915762001a9162002312565b60200101906001600160f81b031916908160001a905350600062001ab7846002620024bd565b62001ac4906001620024d7565b90505b600181111562001b53577f303132333435363738396162636465660000000000000000000000000000000085600f166010811062001b095762001b0962002312565b1a60f81b82828151811062001b225762001b2262002312565b60200101906001600160f81b031916908160001a90535060049490941c9362001b4b81620024ed565b905062001ac7565b5083156200074f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620009fa565b6040518060c0016040528060008019168152602001600081526020016060815260200162001be5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b610959806200250883390190565b60006020828403121562001c1a57600080fd5b5035919050565b60005b8381101562001c3e57818101518382015260200162001c24565b50506000910152565b6000815180845262001c6181602086016020860162001c21565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001c96604085018262001c47565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001cd060e084018262001c47565b90506060840151601f1984830301608085015262001cef828262001c75565b91505060808401516001600160a01b0380821660a08601528060a08701511660c086015250508091505092915050565b60006020828403121562001d3257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200074f57600080fd5b80356001600160a01b038116811462001d7b57600080fd5b919050565b6000806040838503121562001d9457600080fd5b8235915062001da66020840162001d63565b90509250929050565b6000806040838503121562001dc357600080fd5b62001dce8362001d63565b915062001da66020840162001d63565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001e205762001e2062001dde565b604052919050565b600082601f83011262001e3a57600080fd5b813567ffffffffffffffff81111562001e575762001e5762001dde565b62001e6c601f8201601f191660200162001df4565b81815284602083860101111562001e8257600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001eb257600080fd5b6040516040810167ffffffffffffffff828210818311171562001ed95762001ed962001dde565b8160405282935084358352602085013591508082111562001ef957600080fd5b5062001f088582860162001e28565b6020830152505092915050565b600082601f83011262001f2757600080fd5b8135602067ffffffffffffffff82111562001f465762001f4662001dde565b8160051b62001f5782820162001df4565b928352848101820192828101908785111562001f7257600080fd5b83870192505b8483101562001f9c5762001f8c8362001d63565b8252918301919083019062001f78565b979650505050505050565b600080600080600060a0868803121562001fc057600080fd5b85359450602086013567ffffffffffffffff8082111562001fe057600080fd5b62001fee89838a0162001e28565b955060408801359150808211156200200557600080fd5b6200201389838a0162001e9f565b9450620020236060890162001d63565b935060808801359150808211156200203a57600080fd5b50620020498882890162001f15565b9150509295509295909350565b6000602082840312156200206957600080fd5b6200074f8262001d63565b600080604083850312156200208857600080fd5b82359150602083013567ffffffffffffffff811115620020a757600080fd5b620020b58582860162001f15565b9150509250929050565b60008060408385031215620020d357600080fd5b82359150602083013567ffffffffffffffff811115620020f257600080fd5b620020b58582860162001e9f565b600080604083850312156200211457600080fd5b82359150602083013567ffffffffffffffff8111156200213357600080fd5b620020b58582860162001e28565b86815285602082015260c0604082015260006200216260c083018762001c47565b828103606084015262002176818762001c75565b9150506001600160a01b03808516608084015280841660a084015250979650505050505050565b600181811c90821680620021b257607f821691505b602082108103620021d357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620021ec57600080fd5b5051919050565b601f8211156200097a57600081815260208120601f850160051c810160208610156200221c5750805b601f850160051c820191505b818110156200223d5782815560010162002228565b505050505050565b815167ffffffffffffffff81111562002262576200226262001dde565b6200227a816200227384546200219d565b84620021f3565b602080601f831160018114620022b25760008415620022995750858301515b600019600386901b1c1916600185901b1785556200223d565b600085815260208120601f198616915b82811015620022e357888601518255948401946001909101908401620022c2565b5085821015620023025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200234360a083018762001c47565b828103604084015262002357818762001c75565b9150506001600160a01b0380851660608401528084166080840152509695505050505050565b6020815260006200074f602083018462001c75565b604081526000620023a7604083018562001c47565b90506001600160a01b03831660208301529392505050565b82815260406020820152600062001c96604083018462001c47565b60008351620023ee81846020880162001c21565b8351908301906200240481836020880162001c21565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200244781601785016020880162001c21565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516200248681602884016020880162001c21565b01602801949350505050565b6020815260006200074f602083018462001c47565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200073b576200073b620024a7565b808201808211156200073b576200073b620024a7565b600081620024ff57620024ff620024a7565b50600019019056fe60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea26469706673582212201dad9c06b22783f44bc91041f46d0a433248c9cb2691b35cae8fc535daba215d64736f6c63430008130033a2646970667358221220ea42fa00277211aa74f06c41c3c57b876ecee0a4c574acc6fe811b22a7078ed864736f6c63430008130033","sourceMap":"5237:15930:2:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b5060043610620001d15760003560e01c806350d005e01162000101578063c4d66de811620000a3578063d547741f116200007a578063d547741f1462000480578063dd93da431462000497578063e0cf1e4c14620004ae578063ee88819614620004c557600080fd5b8063c4d66de8146200042a578063cf189ff21462000441578063cfda7e0a146200045857600080fd5b8063a0cf0aea11620000d8578063a0cf0aea14620003ee578063a217fddf146200040a578063ac402839146200041357600080fd5b806350d005e014620003565780635e8a7915146200039b57806391d1485414620003b257600080fd5b80632f2ff15d11620001775780633a92f65f116200014e5780633a92f65f14620002ee5780633b66dacd14620003055780634756487f146200031c5780635063f361146200033f57600080fd5b80632f2ff15d14620002a957806336568abe14620002c057806339b86b8c14620002d757600080fd5b8063248a9ca311620001ac578063248a9ca314620002445780632497f3c6146200027957806324ae6a27146200029257600080fd5b80630114cf0a14620001d657806301ffc9a714620002055780630ec1fbac146200022d575b600080fd5b620001ed620001e736600462001c07565b620004f0565b604051620001fc919062001c9e565b60405180910390f35b6200021c6200021636600462001d1f565b620006a7565b6040519015158152602001620001fc565b6200021c6200023e36600462001d80565b62000741565b6200026a6200025536600462001c07565b60009081526065602052604090206001015490565b604051908152602001620001fc565b620002906200028a36600462001c07565b62000756565b005b62000290620002a336600462001daf565b62000835565b62000290620002ba36600462001d80565b62000951565b62000290620002d136600462001d80565b6200097f565b6200021c620002e836600462001d80565b62000a13565b6200026a620002ff36600462001fa7565b62000a39565b620002906200031636600462001d80565b62000cea565b6200026a6200032d36600462002056565b60976020526000908152604090205481565b620002906200035036600462002074565b62000d61565b620003826200036736600462001c07565b6099602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001620001fc565b6200021c620003ac36600462001d80565b62000ded565b6200021c620003c336600462001d80565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6200038273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6200026a600081565b6200029062000424366004620020bf565b62000e20565b620002906200043b36600462002056565b62000e93565b620003826200045236600462002100565b62000fd7565b6200026a7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274781565b620002906200049136600462001d80565b620010a5565b620001ed620004a836600462002056565b620010ce565b62000290620004bf36600462002074565b62001297565b620004dc620004d636600462001c07565b620012e2565b604051620001fc9695949392919062002141565b620004fa62001ba4565b609860008381526020019081526020016000206040518060c001604052908160008201548152602001600182015481526020016002820180546200053e906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200056c906200219d565b8015620005bd5780601f106200059157610100808354040283529160200191620005bd565b820191906000526020600020905b8154815290600101906020018083116200059f57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620005f2906200219d565b80601f016020809104026020016040519081016040528092919081815260200182805462000620906200219d565b8015620006715780601f10620006455761010080835404028352916020019162000671565b820191906000526020600020905b8154815290600101906020018083116200065357829003601f168201915b50505091909252505050815260058201546001600160a01b03908116602083015260069092015490911660409091015292915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806200073b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60006200074f838362001462565b9392505050565b60008181526098602090815260408083206099909252909120546001600160a01b0316338114620007b3576040517fb4d48c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005820180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff199283161783556000868152609960209081526040918290208054909416909355925492519216825284917ffd9ad63830df7bdf1586c8293dc88a30864cb43e9037e7afdb2c7210facf217d91015b60405180910390a2505050565b7f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274762000861816200148e565b6001600160a01b038216620008895760405163538ba4f960e01b815260040160405180910390fd5b60006001600160a01b03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146200093a576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa1580156200090e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009349190620021d9565b6200093c565b475b90506200094b8484836200149d565b50505050565b6000828152606560205260409020600101546200096e816200148e565b6200097a8383620014e7565b505050565b6001600160a01b038116331462000a035760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b62000a0f82826200158b565b5050565b6000828152609860205260408120600501546001600160a01b038381169116146200074f565b60008062000a4887856200160f565b6000818152609860205260409020600601549091506001600160a01b03161562000a9e576040517f527e059000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03841662000ac65760405163538ba4f960e01b815260040160405180910390fd5b60006040518060c00160405280838152602001898152602001888152602001878152602001866001600160a01b0316815260200162000b06848a6200165e565b6001600160a01b0316905260008381526098602090815260409182902083518155908301516001820155908201519192508291600282019062000b4a908262002245565b5060608201518051600383019081556020820151600484019062000b6f908262002245565b505050608082015160058201805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039384161790915560a0938401516006909301805490911692821692909217909155908201511660009081526097602052604090208290558351801580159062000bf057506001600160a01b0386163314155b1562000c0f5760405163075fd2b160e01b815260040160405180910390fd5b60005b8181101562000c8657600086828151811062000c325762000c3262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000c705760405163538ba4f960e01b815260040160405180910390fd5b62000c7c8582620014e7565b5060010162000c12565b50827f1e28352ff00d67474b59b87e6817d6ba65daa0130446266db8640214d8b8060983602001518460400151856060015186608001518760a0015160405162000cd595949392919062002328565b60405180910390a25090979650505050505050565b8162000cf6816200186c565b600083815260996020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038616908117909155915191825284917f21fe5cd61055ef88f636a264885b927f3ec2b380b6053a6b4a7495a6336a95c8910162000828565b8162000d6d816200186c565b815160005b8181101562000de657600084828151811062000d925762000d9262002312565b6020026020010151905060006001600160a01b0316816001600160a01b03160362000dd05760405163538ba4f960e01b815260040160405180910390fd5b62000ddc8682620014e7565b5060010162000d72565b5050505050565b6000828152609860205260408120600501546001600160a01b03838116911614806200074f57506200074f838362001462565b8162000e2c816200186c565b6000838152609860209081526040909120835160038201908155918401518492916004019062000e5d908262002245565b50905050827fa366054a574e4f861cb295fd23b5440c5119c1ba329c36f5dfeb5643537cb0f3836040516200082891906200237d565b600054600190610100900460ff1615801562000eb6575060005460ff8083169116105b62000f2a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401620009fa565b6000805461ffff191660ff8316176101001790556001600160a01b03821662000f665760405163538ba4f960e01b815260040160405180910390fd5b62000f927f815b5a78dc333d344c7df9da23c04dbd432015cc701876ddb9ffe850e688274783620014e7565b6000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008262000fe5816200186c565b62000ff184846200165e565b60008581526098602052604090209092506002810162001012858262002245565b506006810180546001600160a01b03908116600090815260976020526040808220829055835473ffffffffffffffffffffffffffffffffffffffff19169287169283179093559081528190208690555185907f54cd733148631b9ff1cb945f2d0dcd33c0692e154763bfa2f35e2d10a76c432f9062001095908790879062002392565b60405180910390a2505092915050565b600082815260656020526040902060010154620010c2816200148e565b6200097a83836200158b565b620010d862001ba4565b6001600160a01b0382166000908152609760209081526040808320548084526098835292819020815160c0810183528154815260018201549381019390935260028101805491928401916200112d906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200115b906200219d565b8015620011ac5780601f106200118057610100808354040283529160200191620011ac565b820191906000526020600020905b8154815290600101906020018083116200118e57829003601f168201915b505050505081526020016003820160405180604001604052908160008201548152602001600182018054620011e1906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200120f906200219d565b8015620012605780601f10620012345761010080835404028352916020019162001260565b820191906000526020600020905b8154815290600101906020018083116200124257829003601f168201915b50505091909252505050815260058201546001600160a01b0390811660208301526006909201549091166040909101529392505050565b81620012a3816200186c565b815160005b8181101562000de657620012d985858381518110620012cb57620012cb62002312565b60200260200101516200158b565b600101620012a8565b609860205260009081526040902080546001820154600283018054929391926200130c906200219d565b80601f01602080910402602001604051908101604052809291908181526020018280546200133a906200219d565b80156200138b5780601f106200135f576101008083540402835291602001916200138b565b820191906000526020600020905b8154815290600101906020018083116200136d57829003601f168201915b5050505050908060030160405180604001604052908160008201548152602001600182018054620013bc906200219d565b80601f0160208091040260200160405190810160405280929190818152602001828054620013ea906200219d565b80156200143b5780601f106200140f576101008083540402835291602001916200143b565b820191906000526020600020905b8154815290600101906020018083116200141d57829003601f168201915b50505091909252505050600582015460069092015490916001600160a01b03908116911686565b60008281526065602090815260408083206001600160a01b038516845290915281205460ff166200074f565b6200149a8133620018a7565b50565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601620014da576200097a828262001925565b6200097a83838362001942565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620015473390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff161562000a0f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600082826040516020016200164092919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b60405160208183030381529060405280519060200120905092915050565b600080838360405160200162001676929190620023bf565b60408051808303601f1901815282825260208301879052308383015281518084038301815260608401928390529093509160009190620016b99060800162001bf9565b601f1982820381018352601f909101166040819052620016df91908490602001620023da565b60408051601f198184030181529082905284516020868101919091208251828401207fff00000000000000000000000000000000000000000000000000000000000000928501929092526bffffffffffffffffffffffff193060601b166021850152603584018190526055840191909152909250906000906075016040516020818303038152906040528051906020012060001c9050818830604051620017869062001bf9565b9182526001600160a01b031660208201526040018190604051809103906000f590508015620017b25760015b6200185e5787816001600160a01b03166308386eba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620017f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181d9190620021d9565b1462001855576040517f113b81f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80955062001861565b95505b505050505092915050565b6000818152609860205260409020600501546001600160a01b031633146200149a5760405163075fd2b160e01b815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1662000a0f57620018dd8162001992565b620018ea836020620019a5565b604051602001620018fd9291906200240d565b60408051601f198184030181529082905262461bcd60e51b8252620009fa9160040162002492565b60008060008084865af162000a0f5763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d15600160005114171662001988576390b8ec186000526004601cfd5b6000603452505050565b60606200073b6001600160a01b03831660145b60606000620019b6836002620024bd565b620019c3906002620024d7565b67ffffffffffffffff811115620019de57620019de62001dde565b6040519080825280601f01601f19166020018201604052801562001a09576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811062001a435762001a4362002312565b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062001a915762001a9162002312565b60200101906001600160f81b031916908160001a905350600062001ab7846002620024bd565b62001ac4906001620024d7565b90505b600181111562001b53577f303132333435363738396162636465660000000000000000000000000000000085600f166010811062001b095762001b0962002312565b1a60f81b82828151811062001b225762001b2262002312565b60200101906001600160f81b031916908160001a90535060049490941c9362001b4b81620024ed565b905062001ac7565b5083156200074f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620009fa565b6040518060c0016040528060008019168152602001600081526020016060815260200162001be5604051806040016040528060008152602001606081525090565b815260006020820181905260409091015290565b610959806200250883390190565b60006020828403121562001c1a57600080fd5b5035919050565b60005b8381101562001c3e57818101518382015260200162001c24565b50506000910152565b6000815180845262001c6181602086016020860162001c21565b601f01601f19169290920160200192915050565b80518252600060208201516040602085015262001c96604085018262001c47565b949350505050565b6020815281516020820152602082015160408201526000604083015160c0606084015262001cd060e084018262001c47565b90506060840151601f1984830301608085015262001cef828262001c75565b91505060808401516001600160a01b0380821660a08601528060a08701511660c086015250508091505092915050565b60006020828403121562001d3257600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146200074f57600080fd5b80356001600160a01b038116811462001d7b57600080fd5b919050565b6000806040838503121562001d9457600080fd5b8235915062001da66020840162001d63565b90509250929050565b6000806040838503121562001dc357600080fd5b62001dce8362001d63565b915062001da66020840162001d63565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171562001e205762001e2062001dde565b604052919050565b600082601f83011262001e3a57600080fd5b813567ffffffffffffffff81111562001e575762001e5762001dde565b62001e6c601f8201601f191660200162001df4565b81815284602083860101111562001e8257600080fd5b816020850160208301376000918101602001919091529392505050565b60006040828403121562001eb257600080fd5b6040516040810167ffffffffffffffff828210818311171562001ed95762001ed962001dde565b8160405282935084358352602085013591508082111562001ef957600080fd5b5062001f088582860162001e28565b6020830152505092915050565b600082601f83011262001f2757600080fd5b8135602067ffffffffffffffff82111562001f465762001f4662001dde565b8160051b62001f5782820162001df4565b928352848101820192828101908785111562001f7257600080fd5b83870192505b8483101562001f9c5762001f8c8362001d63565b8252918301919083019062001f78565b979650505050505050565b600080600080600060a0868803121562001fc057600080fd5b85359450602086013567ffffffffffffffff8082111562001fe057600080fd5b62001fee89838a0162001e28565b955060408801359150808211156200200557600080fd5b6200201389838a0162001e9f565b9450620020236060890162001d63565b935060808801359150808211156200203a57600080fd5b50620020498882890162001f15565b9150509295509295909350565b6000602082840312156200206957600080fd5b6200074f8262001d63565b600080604083850312156200208857600080fd5b82359150602083013567ffffffffffffffff811115620020a757600080fd5b620020b58582860162001f15565b9150509250929050565b60008060408385031215620020d357600080fd5b82359150602083013567ffffffffffffffff811115620020f257600080fd5b620020b58582860162001e9f565b600080604083850312156200211457600080fd5b82359150602083013567ffffffffffffffff8111156200213357600080fd5b620020b58582860162001e28565b86815285602082015260c0604082015260006200216260c083018762001c47565b828103606084015262002176818762001c75565b9150506001600160a01b03808516608084015280841660a084015250979650505050505050565b600181811c90821680620021b257607f821691505b602082108103620021d357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215620021ec57600080fd5b5051919050565b601f8211156200097a57600081815260208120601f850160051c810160208610156200221c5750805b601f850160051c820191505b818110156200223d5782815560010162002228565b505050505050565b815167ffffffffffffffff81111562002262576200226262001dde565b6200227a816200227384546200219d565b84620021f3565b602080601f831160018114620022b25760008415620022995750858301515b600019600386901b1c1916600185901b1785556200223d565b600085815260208120601f198616915b82811015620022e357888601518255948401946001909101908401620022c2565b5085821015620023025787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b85815260a0602082015260006200234360a083018762001c47565b828103604084015262002357818762001c75565b9150506001600160a01b0380851660608401528084166080840152509695505050505050565b6020815260006200074f602083018462001c75565b604081526000620023a7604083018562001c47565b90506001600160a01b03831660208301529392505050565b82815260406020820152600062001c96604083018462001c47565b60008351620023ee81846020880162001c21565b8351908301906200240481836020880162001c21565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200244781601785016020880162001c21565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516200248681602884016020880162001c21565b01602801949350505050565b6020815260006200074f602083018462001c47565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176200073b576200073b620024a7565b808201808211156200073b576200073b620024a7565b600081620024ff57620024ff620024a7565b50600019019056fe60c060405234801561001057600080fd5b5060405161095938038061095983398101604081905261002f91610043565b6001600160a01b031660805260a052610080565b6000806040838503121561005657600080fd5b825160208401519092506001600160a01b038116811461007557600080fd5b809150509250929050565b60805160a0516108a76100b26000396000818160c701526102e8015260008181610166015261031701526108a76000f3fe6080604052600436106100745760003560e01c80637b1039991161004e5780637b10399914610154578063b61d27f6146101a0578063bc197c81146101cd578063f23a6e611461021257600080fd5b806301ffc9a71461008057806308386eba146100b5578063150b7a02146100f757600080fd5b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610471565b610257565b60405190151581526020015b60405180910390f35b3480156100c157600080fd5b506100e97f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100ac565b34801561010357600080fd5b5061013b61011236600461058e565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040516001600160e01b031990911681526020016100ac565b34801561016057600080fd5b506101887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100ac565b3480156101ac57600080fd5b506101c06101bb3660046105f6565b6102c0565b6040516100ac9190610671565b3480156101d957600080fd5b5061013b6101e8366004610724565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b34801561021e57600080fd5b5061013b61022d3660046107ce565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b60006001600160e01b031982167f4e2312e00000000000000000000000000000000000000000000000000000000014806102ba57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316145b92915050565b6040517f39b86b8c0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523360248201526060907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906339b86b8c90604401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610833565b6103c0576040517f075fd2b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0384166103e7576040516384aed38d60e01b815260040160405180910390fd5b600080856001600160a01b031685856040516104039190610855565b60006040518083038185875af1925050503d8060008114610440576040519150601f19603f3d011682016040523d82523d6000602084013e610445565b606091505b509150915081610468576040516384aed38d60e01b815260040160405180910390fd5b95945050505050565b60006020828403121561048357600080fd5b81356001600160e01b03198116811461049b57600080fd5b9392505050565b80356001600160a01b03811681146104b957600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610516576105166104be565b604052919050565b600082601f83011261052f57600080fd5b813567ffffffffffffffff811115610549576105496104be565b61055c601f8201601f19166020016104ed565b81815284602083860101111561057157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080608085870312156105a457600080fd5b6105ad856104a2565b93506105bb602086016104a2565b925060408501359150606085013567ffffffffffffffff8111156105de57600080fd5b6105ea8782880161051e565b91505092959194509250565b60008060006060848603121561060b57600080fd5b610614846104a2565b925060208401359150604084013567ffffffffffffffff81111561063757600080fd5b6106438682870161051e565b9150509250925092565b60005b83811015610668578181015183820152602001610650565b50506000910152565b602081526000825180602084015261069081604085016020870161064d565b601f01601f19169190910160400192915050565b600082601f8301126106b557600080fd5b8135602067ffffffffffffffff8211156106d1576106d16104be565b8160051b6106e08282016104ed565b92835284810182019282810190878511156106fa57600080fd5b83870192505b8483101561071957823582529183019190830190610700565b979650505050505050565b600080600080600060a0868803121561073c57600080fd5b610745866104a2565b9450610753602087016104a2565b9350604086013567ffffffffffffffff8082111561077057600080fd5b61077c89838a016106a4565b9450606088013591508082111561079257600080fd5b61079e89838a016106a4565b935060808801359150808211156107b457600080fd5b506107c18882890161051e565b9150509295509295909350565b600080600080600060a086880312156107e657600080fd5b6107ef866104a2565b94506107fd602087016104a2565b93506040860135925060608601359150608086013567ffffffffffffffff81111561082757600080fd5b6107c18882890161051e565b60006020828403121561084557600080fd5b8151801515811461049b57600080fd5b6000825161086781846020870161064d565b919091019291505056fea26469706673582212201dad9c06b22783f44bc91041f46d0a433248c9cb2691b35cae8fc535daba215d64736f6c63430008130033a2646970667358221220ea42fa00277211aa74f06c41c3c57b876ecee0a4c574acc6fe811b22a7078ed864736f6c63430008130033","sourceMap":"5237:15930:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7472:131;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3029:213:12;;;;;;:::i;:::-;;:::i;:::-;;;2428:14:128;;2421:22;2403:41;;2391:2;2376:18;3029:213:12;2263:187:128;13857:156:2;;;;;;:::i;:::-;;:::i;4834:129:12:-;;;;;;:::i;:::-;4908:7;4934:12;;;:6;:12;;;;;:22;;;;4834:129;;;;3061:25:128;;;3049:2;3034:18;4834:129:12;2915:177:128;15016:745:2;;;;;;:::i;:::-;;:::i;:::-;;20847:318;;;;;;:::i;:::-;;:::i;5259:145:12:-;;;;;;:::i;:::-;;:::i;6368: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:128;;;7406:74;;7394:2;7379:18;5859:58:2;7260:226:128;12992:208:2;;;;;;:::i;:::-;;:::i;3329:145:12:-;;;;;;:::i;:::-;3415:4;3438:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3438:29:12;;;;;;;;;;;;;;;3329:145;4412:75:9;;4445:42;4412:75;;2450:49:12;;2495:4;2450:49;;12309:415:2;;;;;;:::i;:::-;;:::i;6841:257::-;;;;;;:::i;:::-;;:::i;11210:830::-;;;;;;:::i;:::-;;:::i;5974:60::-;;6011:23;5974:60;;5684:147:12;;;;;;:::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;3029:213:12:-;3114:4;3137:58;;;3152:43;3137:58;;:98;;-1:-1:-1;1183:36:22;1168:51;;;;3199:36:12;3130:105;3029:213;-1:-1:-1;;3029:213:12: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:128;;15591:35:2;;15708:46;;7379:18:128;15708:46:2;;;;;;;;15077:684;;15016:745;:::o;20847:318::-;6011:23;2928:16:12;2939:4;2928: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:128::0;-1:-1:-1;;;;;21067:23:2;::::1;::::0;::::1;::::0;7379:18:128;;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;5259:145:12:-;4908:7;4934:12;;;:6;:12;;;;;:22;;;2928:16;2939:4;2928:10;:16::i;:::-;5372:25:::1;5383:4;5389:7;5372:10;:25::i;:::-;5259:145:::0;;;:::o;6368:214::-;-1:-1:-1;;;;;6463:23:12;;929:10:20;6463:23:12;6455:83;;;;-1:-1:-1;;;6455:83:12;;9935:2:128;6455:83:12;;;9917:21:128;9974:2;9954:18;;;9947:30;10013:34;9993:18;;;9986:62;10084:17;10064:18;;;10057:45;10119:19;;6455:83:12;;;;;;;;;6549:26;6561:4;6567:7;6549:11;:26::i;:::-;6368: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:128;;;14530:35:2;;14658:53:::1;::::0;7379:18:128;14658:53:2::1;7260:226:128::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:16;;6900:1:2;;4882:13:16;;;;;4881:14;:40;;;;-1:-1:-1;4899:12:16;;:22;;;;:12;;:22;4881:40;4873:99;;;;-1:-1:-1;;;4873:99:16;;13734:2:128;4873:99:16;;;13716:21:128;13773:2;13753:18;;;13746:30;13812:34;13792:18;;;13785:62;13883:16;13863:18;;;13856:44;13917:19;;4873:99:16;13532:410:128;4873:99:16;4982:12;:22;;-1:-1:-1;;5014:20:16;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:16::0;5055:21;;-1:-1:-1;;5055:21:16;;;5091:20;;14119:4:128;14107:17;;14089:36;;5091:20:16;;14077:2:128;14062:18;5091:20:16;;;;;;;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;5684:147:12:-;4908:7;4934:12;;;:6;:12;;;;;:22;;;2928:16;2939:4;2928:10;:16::i;:::-;5798:26:::1;5810:4;5816:7;5798: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;3438:12:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3438:29:12;;;;;;;;;;;;20575:28:2;3329:145:12;3768:103;3834:30;3845:4;929:10:20;3834::12;:30::i;:::-;3768: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;7917:233:12:-;3415:4;3438:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3438:29:12;;;;;;;;;;;;7995:149;;8038:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8038:29:12;;;;;;;;;:36;;-1:-1:-1;;8038:36:12;8070:4;8038:36;;;8120:12;929:10:20;;850:96;8120:12:12;-1:-1:-1;;;;;8093:40:12;8111:7;-1:-1:-1;;;;;8093:40:12;8105:4;8093:40;;;;;;;;;;7917:233;;:::o;8321:234::-;3415:4;3438:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3438:29:12;;;;;;;;;;;;8400:149;;;8474:5;8442:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8442:29:12;;;;;;;;;;:37;;-1:-1:-1;;8442:37:12;;;8498:40;929:10:20;;8442:12:12;;8498:40;;8474:5;8498:40;8321:234;;:::o;19465:159:2:-;19548:7;19601:6;19609;19584:32;;;;;;;;14638:19:128;;;14695:2;14691:15;-1:-1:-1;;14687:53:128;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:128;;;18411:4:2;15291:18:128;;;15284:83;18380:37:2;;;;;;;;;15223:18:128;;;18380:37:2;;;;18303:29;;-1:-1:-1;18380:37:2;-1:-1:-1;;15223:18:128;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:128;;;;-1:-1:-1;;18693:4:2;16215:2:128;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::128;;18654:72:2;;;;;;;;;;;;18644:83;;;;;;18636:92;;18578:161;;18860:4;18866:10;18886:4;18843:49;;;;;:::i;:::-;15250:25:128;;;-1:-1:-1;;;;;15311:55:128;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;;;;;;;;;;;4152:501:12;3415:4;3438:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3438:29:12;;;;;;;;;;;;4235:412;;4423:39;4454:7;4423:30;:39::i;:::-;4533:49;4572:4;4579:2;4533:30;:49::i;:::-;4330:274;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4330:274:12;;;;;;;;;;-1:-1:-1;;;4278:358:12;;;;;;;:::i;2455:490:28:-;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:21:-;2531:13;2563:52;-1:-1:-1;;;;;2575:22:21;;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:21;;1984:47;;2041:15;:6;2048:1;2041:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2041:15:21;;;;;;;;;2066;:6;2073:1;2066:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2066:15:21;;;;;;;;-1:-1:-1;2096:9:21;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:21;;;;;;;;-1:-1:-1;2207:1:21;2197:11;;;;;2131:3;;;:::i;:::-;;;2091:128;;;-1:-1:-1;2236:10:21;;2228:55;;;;-1:-1:-1;;;2228:55:21;;18440:2:128;2228:55:21;;;18422:21:128;;;18459:18;;;18452:30;18518:34;18498:18;;;18491:62;18570:18;;2228:55:21;18238:356:128;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;14:180:128:-;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:128;;14:180;-1:-1:-1;14:180:128: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:128;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:128;673:39;;;;714:4;669:50;;454:271;-1:-1:-1;;454:271:128: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:128: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:128;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:128;;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:128;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:128;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:128: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:128;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:128: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:128: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:128;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:128;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:128;;9544:184;-1:-1:-1;9544:184:128: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:128;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:128;;;12198:26;12149:89;-1:-1:-1;;10953:1:128;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:128;;;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:128;11986:14;;;12002:3;11982:24;11978:37;11974:42;11959:58;11944:74;;11831:201;-1:-1:-1;;;;;12078:1:128;12062:14;;;12058:22;12045:36;;-1:-1:-1;10996:1352:128:o;12353:184::-;-1:-1:-1;;;12402:1:128;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:128;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:128;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:128: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:128: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:128;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:128;;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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"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/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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"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/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},"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 4fa22e2a8..8506c2009 100644 --- a/pkg/contracts/out/RegistryCommunity.sol/FAllo.json +++ b/pkg/contracts/out/RegistryCommunity.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/RegistryCommunity.sol\":\"FAllo\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"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\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x9a0dba4c62abd4bc2887a8fec229c2e1916ba0d8bc7bbc8da712188552650752\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://48a99a5af361529ac37e477e3195d6a9355ff5ab2ef3e4d002d80a404da6e4dd\",\"dweb:/ipfs/Qmf8BsNJcG2Lno4gjUV3DfDsDsgNGrCLRMTXkWkm4JnM6u\"]},\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0xf57d2536496fa592ffed2901d5d56e330d7c70955508b9d2ffa60aad76f42586\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://958bc6c5ef6816c7613ee98fa69b002efb6b85b3e4a8448ec2dd20d45d3a68e1\",\"dweb:/ipfs/QmNQtPpCqzvSCf9QVPaaBUvpYWzxCLhp1UWq94qziSagXf\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0x1c576e15a5543c06e92cb45f7162a2aa5dac1a276088ec323f5c0438f69c2e52\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://60cb3de95b895d81666b3899a5d73d620742a5c98558ad9799c0464da7b3ab55\",\"dweb:/ipfs/QmReM4jMH5Vc6gGeo7UtHFruHVnqY2rWaecXr1FwDmA6gE\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]}},\"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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"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"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x9a0dba4c62abd4bc2887a8fec229c2e1916ba0d8bc7bbc8da712188552650752","urls":["bzz-raw://48a99a5af361529ac37e477e3195d6a9355ff5ab2ef3e4d002d80a404da6e4dd","dweb:/ipfs/Qmf8BsNJcG2Lno4gjUV3DfDsDsgNGrCLRMTXkWkm4JnM6u"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0xf57d2536496fa592ffed2901d5d56e330d7c70955508b9d2ffa60aad76f42586","urls":["bzz-raw://958bc6c5ef6816c7613ee98fa69b002efb6b85b3e4a8448ec2dd20d45d3a68e1","dweb:/ipfs/QmNQtPpCqzvSCf9QVPaaBUvpYWzxCLhp1UWq94qziSagXf"],"license":"MIT"},"pkg/contracts/src/RegistryCommunity.sol":{"keccak256":"0x1c576e15a5543c06e92cb45f7162a2aa5dac1a276088ec323f5c0438f69c2e52","urls":["bzz-raw://60cb3de95b895d81666b3899a5d73d620742a5c98558ad9799c0464da7b3ab55","dweb:/ipfs/QmReM4jMH5Vc6gGeo7UtHFruHVnqY2rWaecXr1FwDmA6gE"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"}},"version":1},"id":115} \ 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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"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/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\":\"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71\",\"dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"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\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"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\":\"0x9a0dba4c62abd4bc2887a8fec229c2e1916ba0d8bc7bbc8da712188552650752\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://48a99a5af361529ac37e477e3195d6a9355ff5ab2ef3e4d002d80a404da6e4dd\",\"dweb:/ipfs/Qmf8BsNJcG2Lno4gjUV3DfDsDsgNGrCLRMTXkWkm4JnM6u\"]},\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0x1c576e15a5543c06e92cb45f7162a2aa5dac1a276088ec323f5c0438f69c2e52\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://60cb3de95b895d81666b3899a5d73d620742a5c98558ad9799c0464da7b3ab55\",\"dweb:/ipfs/QmReM4jMH5Vc6gGeo7UtHFruHVnqY2rWaecXr1FwDmA6gE\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]}},\"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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"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/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":"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69","urls":["bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71","dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"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":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"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":"0x9a0dba4c62abd4bc2887a8fec229c2e1916ba0d8bc7bbc8da712188552650752","urls":["bzz-raw://48a99a5af361529ac37e477e3195d6a9355ff5ab2ef3e4d002d80a404da6e4dd","dweb:/ipfs/Qmf8BsNJcG2Lno4gjUV3DfDsDsgNGrCLRMTXkWkm4JnM6u"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-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":"0x1c576e15a5543c06e92cb45f7162a2aa5dac1a276088ec323f5c0438f69c2e52","urls":["bzz-raw://60cb3de95b895d81666b3899a5d73d620742a5c98558ad9799c0464da7b3ab55","dweb:/ipfs/QmReM4jMH5Vc6gGeo7UtHFruHVnqY2rWaecXr1FwDmA6gE"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"}},"version":1},"id":118} \ 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 0034b481f..ef91f6835 100644 --- a/pkg/contracts/out/RegistryCommunity.sol/RegistryCommunity.json +++ b/pkg/contracts/out/RegistryCommunity.sol/RegistryCommunity.json @@ -1 +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":"0x60806040523480156200001157600080fd5b506001600090815562000046907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b906200004c565b62000099565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b61465580620000a96000396000f3fe608060405234801561001057600080fd5b506004361061036d5760003560e01c80636c53db9a116101d3578063a230c52411610104578063d547741f116100a2578063db61d65c1161007c578063db61d65c1461086c578063ebd7dc521461087f578063f86c5f8914610892578063ff6409ef146108a557600080fd5b8063d547741f1461083d578063d6d8428d14610850578063d7050f071461086357600080fd5b8063b64e39af116100de578063b64e39af14610810578063b99b437014610825578063bc063e1a1461082d578063c6d572ae1461083557600080fd5b8063a230c5241461079e578063b3f00674146107f5578063b5058c501461080857600080fd5b80638961be6b1161017157806397991cfa1161014b57806397991cfa14610724578063a0b21cdf14610754578063a0cf0aea1461077b578063a217fddf1461079657600080fd5b80638961be6b146106cf57806391d14854146106d857806396f0adec1461071157600080fd5b806378a0b8a9116101ad57806378a0b8a91461063d5780637b1039991461064657806382d6a1e71461065957806388cfe6841461066c57600080fd5b80636c53db9a146105de57806373265c37146105f15780637817ee4f1461060457600080fd5b80632f2ff15d116102ad578063477a5cc01161024b5780635ecf71c5116102255780635ecf71c51461057a57806365e3864c1461058d5780636871eb4d146105b857806368decabb146105cb57600080fd5b8063477a5cc014610526578063559de05d146105545780635c94e4d21461056757600080fd5b80633517aa7d116102875780633517aa7d146104d557806336568abe146104dd578063397e2543146104f05780633a871fe11461050357600080fd5b80632f2ff15d146104a657806331f61bca146104b957806333960459146104cc57600080fd5b80631f787d281161031a578063248a9ca3116102f4578063248a9ca31461042357806328c309e9146104475780632b38c69c1461044f5780632c611c4a1461047a57600080fd5b80631f787d28146103f0578063223e5479146103fd57806322bcf9991461041057600080fd5b80630d12bbdb1161034b5780630d12bbdb146103b55780630d4a8b49146103ca578063175188e8146103dd57600080fd5b806301ffc9a7146103725780630331383c1461039a57806308386eba146103ac575b600080fd5b61038561038036600461377d565b6108b8565b60405190151581526020015b60405180910390f35b6003545b604051908152602001610391565b61039e60055481565b6103c86103c33660046137a7565b610908565b005b6103c86103d83660046137e5565b610992565b6103c86103eb36600461381e565b610cf9565b6002546103859060ff1681565b6103c861040b36600461381e565b610d0d565b6103c861041e3660046137e5565b610d1e565b61039e6104313660046137a7565b6000908152600160208190526040909120015490565b61039e610e2d565b61046261045d36600461383b565b610f17565b6040516001600160a01b039091168152602001610391565b61039e61048836600461381e565b6001600160a01b031660009081526013602052604090206001015490565b6103c86104b4366004613867565b610f4f565b6103c86104c73660046137a7565b610f7a565b61039e60095481565b6103c8610fb7565b6103c86104eb366004613867565b6113bc565b6103c86104fe36600461381e565b61144d565b61038561051136600461381e565b60116020526000908152604090205460ff1681565b6103856105343660046137e5565b601560209081526000928352604080842090915290825290205460ff1681565b6103c86105623660046137a7565b6114ba565b600854610462906001600160a01b031681565b6103c86105883660046137a7565b611794565b61039e61059b3660046137e5565b601260209081526000928352604080842090915290825290205481565b6103c86105c63660046137e5565b611b4e565b600a54610462906001600160a01b031681565b600d54610462906001600160a01b031681565b6103c86105ff3660046137a7565b611d59565b61039e6106123660046137e5565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b61039e60035481565b600b54610462906001600160a01b031681565b6103c86106673660046137a7565b611deb565b6106a861067a36600461381e565b6013602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b0390941684526020840192909252151590820152606001610391565b61039e60045481565b6103856106e6366004613867565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6103c861071f366004613a50565b611e9c565b610737610732366004613cab565b612388565b604080519283526001600160a01b03909116602083015201610391565b61039e7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b61046273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61039e600081565b6103856107ac36600461381e565b6001600160a01b039081166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b600654610462906001600160a01b031681565b6103c86123d2565b61081861241e565b6040516103919190613d5e565b6103c86124ac565b61039e61260f565b61081861261f565b6103c861084b366004613867565b61262c565b600e54610462906001600160a01b031681565b61039e61271081565b600c54610462906001600160a01b031681565b61038561088d36600461381e565b612652565b600754610462906001600160a01b031681565b6107376108b3366004613d71565b612692565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061090257506301ffc9a760e01b6001600160e01b03198316145b92915050565b610910612811565b61091d612710600a613dfd565b811115610956576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60048190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b61099b82612879565b6109a4816128dc565b6109ad8161292e565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff1615610a0d576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0380831660009081526013602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff161515918301919091526003805490846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abd9190613e2a565b6003811115610ace57610ace613e14565b03610b4d5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b469190613e47565b9050610c3f565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb39190613e2a565b6003811115610bc457610bc4613e14565b14610c3f5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af1158015610c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3c9190613e47565b90505b6001600160a01b038581166000818152601260209081526040808320948916808452948252808320869055838352601582528083208584528252808320805460ff19166001908117909155848452601483528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b610d01612811565b610d0a8161296e565b50565b610d15612811565b610d0a816129c8565b610d2782612879565b610d308161292e565b610d3a3382612a6f565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff16610d99576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000818152601560209081526040808320948616808452948252808320805460ff191690559282526012815282822093825292909252812055610de78282612aba565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b910160405180910390a15050565b6007546000906001600160a01b031681610e4a6127106064613dfd565b600454600354610e5a9190613dfd565b610e649190613e60565b90506000610e756127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190613e47565b600354610eea9190613dfd565b610ef49190613e60565b90508082600354610f059190613e82565b610f0f9190613e82565b935050505090565b60146020528160005260406000208181548110610f3357600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008281526001602081905260409091200154610f6b81612bdc565b610f758383612be6565b505050565b610f82612811565b60038190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f90602001610987565b610fbf612c6d565b33600081815260136020526040812060075490916001600160a01b0390911690610fec6127106064613dfd565b600454600354610ffc9190613dfd565b6110069190613e60565b905060006110176127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190613e47565b60035461108c9190613dfd565b6110969190613e60565b6001600160a01b038087166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190529091506113ab5760028401805460ff191660019081179091556003549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152600c5461114691906001600160a01b0316612cc6565b6111788530838560035461115a9190613e82565b6111649190613e82565b600c546001600160a01b0316929190612d24565b6111b76040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e74000000000000000000000000000081525083612da8565b81156112245760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260065461120791906001600160a01b0316612cc6565b600654600c54611224916001600160a01b03918216911684612e06565b6112636040518060400160405280601081526020017f67617264656e73466565416d6f756e740000000000000000000000000000000081525082612da8565b8015611364576112ec6040518060600160405280602681526020016145fa60269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e79190613e95565b612cc6565b611364836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113519190613e95565b600c546001600160a01b03169083612e06565b600354604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b50505050506113ba6001600055565b565b6001600160a01b038116331461143f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6114498282612e36565b5050565b611455612811565b61145e8161292e565b600a80546001600160a01b0319166001600160a01b03838116918217909255600d546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610987565b6114c2612c6d565b6114ca612eb9565b3360008181526014602090815260408083208054825181850281018501909352808352919290919083018282801561152b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161150d575b50505050509050600080600090505b82518110156116fb5782818151811061155557611555613eb2565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af11580156115b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d49190613e47565b915081156116e9576001600160a01b0384166000908152601260205260408120845184929086908590811061160b5761160b613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546116429190613e82565b925050819055506116e96040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525060126000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815181106116bb576116bb613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054612da8565b806116f381613ec8565b91505061153a565b50600c54611714906001600160a01b0316843087612d24565b6001600160a01b0383166000908152601360205260408120600101805486929061173f908490613e82565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a1505050610d0a6001600055565b61179c612c6d565b6117a4612eb9565b336000818152601460209081526040808320600354601390935290832060010154909291906117d4908690613ee1565b101561180c576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c54611823906001600160a01b03168486612e06565b60005b8254811015611ade57600083828154811061184357611843613eb2565b6000918252602090912001546001600160a01b0316905061186b8163f1801e6160e01b612f18565b15611a12576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156118d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fc9190613e47565b9250600060126000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858154811061193957611939613eb2565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156119a4576040517f8a11f3180000000000000000000000000000000000000000000000000000000081526004810185905260248101829052604401611436565b6001600160a01b038616600090815260126020526040812086548692908890879081106119d3576119d3613eb2565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190611a07908490613ee1565b909155505050611acb565b83548490611a2290600190613ee1565b81548110611a3257611a32613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110611a6257611a62613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480611aa057611aa0613ef4565b600082815260209020810160001990810180546001600160a01b0319169055019055611acb8161296e565b5080611ad681613ec8565b915050611826565b506001600160a01b03831660009081526013602052604081206001018054869290611b0a908490613ee1565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8910161177f565b611b56612c6d565b611b5e612811565b60025460ff16611b9a576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052611bfd57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152611c4b83612f3b565b6001600160a01b03838116600090815260136020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff19169055600c5490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af1158015611cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfd9190613f0a565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a1506114496001600055565b611d61612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611dab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dd39190810190613f27565b602001519050611de28161292e565b6114498161296e565b611df3612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611e3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e659190810190613f27565b602001519050611e748161292e565b611e8e6001600160a01b03821663f1801e6160e01b612f18565b1561144957611449816129c8565b611ea9816020015161292e565b611eb781610100015161292e565b8051611ec29061292e565b611ecf8160a0015161292e565b611edd81610180015161292e565b606081015115611ef457611ef48160c0015161292e565b8051600e80546001600160a01b039283166001600160a01b0319918216179091556020830151600c80549190931691161790556040810151600003611f65576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015160035560608101516004556101408101516002805460ff1916911515919091179055610120810151600f90611f9f90826140d1565b50610160810151601090611fb390826140d1565b5060a0810151600780546001600160a01b03199081166001600160a01b039384161790915560c0830151600680548316918416919091179055610100830151600d8054831682851617905561018084015160088054909316931692909217905561203e907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90612be6565b600e60009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015612091573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b59190613e95565b600b80546001600160a01b0319166001600160a01b03928316179055600d54604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121579190810190614191565b90506000815160026121699190613e82565b67ffffffffffffffff8111156121815761218161388c565b6040519080825280602002602001820160405280156121aa578160200160208202803683370190505b50905060005b825181101561220f578281815181106121cb576121cb613eb2565b60200260200101518282815181106121e5576121e5613eb2565b6001600160a01b03909216602092830291909101909101528061220781613ec8565b9150506121b0565b50600d5481516001600160a01b0390911690829061222f90600190613ee1565b8151811061223f5761223f613eb2565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835161226f9190613ee1565b8151811061227f5761227f613eb2565b6001600160a01b039283166020918202929092010152600b54608085015160e08601516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f926122e79291600f9130908890600401614323565b6020604051808303816000875af1158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613e47565b60055580516123409060169060208401906136e9565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205600554600f8560e0015160405161237b93929190614371565b60405180910390a1505050565b60085460098054600092839283926123b7926001600160a01b031691846123ae83613ec8565b9190505561305d565b90506123c581878787612692565b9250925050935093915050565b600a546001600160a01b03163314612416576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113ba6130b1565b6010805461242b90614049565b80601f016020809104026020016040519081016040528092919081815260200182805461245790614049565b80156124a45780601f10612479576101008083540402835291602001916124a4565b820191906000526020600020905b81548152906001019060200180831161248757829003601f168201915b505050505081565b6124b4612c6d565b336124be81612879565b6124c781612f3b565b6001600160a01b0380821660008181526013602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945560149052918220909161253e919061374e565b600c54602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015612596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ba9190613f0a565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a150506113ba6001600055565b61261c612710600a613dfd565b81565b600f805461242b90614049565b6000828152600160208190526040909120015461264881612bdc565b610f758383612e36565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff16610902565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156126bc5750845b8691506000601680548060200260200160405190810160405280929190818152602001828054801561271757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116126f9575b5050600e546005546040519596506001600160a01b039091169463e1007d4a945090925087915061274c908b906020016143ba565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b81526004016127829796959493929190614452565b6020604051808303816000875af11580156127a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c59190613e47565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a896040516127fe9594939291906144be565b60405180910390a1505094509492505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff166113ba576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038082166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052610d0a57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03811660009081526011602052604090205460ff16610d0a576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116610d0a576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129778161292e565b6001600160a01b038116600081815260116020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49101610987565b6001600160a01b03811660009081526011602052604090205460ff1615612a1b576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815260116020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610987565b806001600160a01b0316826001600160a01b031614611449576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152601460205260408120905b8154811015612bd657826001600160a01b0316828281548110612af957612af9613eb2565b6000918252602090912001546001600160a01b031603612bc45781548290612b2390600190613ee1565b81548110612b3357612b33613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110612b6357612b63613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480612ba157612ba1613ef4565b600082815260209020810160001990810180546001600160a01b03191690550190555b80612bce81613ec8565b915050612ad4565b50505050565b610d0a813361310c565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b600260005403612cbf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401611436565b6002600055565b6114498282604051602401612cdc9291906144f8565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b0380851660248301528316604482015260648101829052612bd69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526131a2565b6114498282604051602401612dbe929190614523565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b038316602482015260448101829052610f7590849063a9059cbb60e01b90606401612d71565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16156114495760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b33600090815260136020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526113ba57604051636a5cfb6d60e01b815260040160405180910390fd5b6000612f238361328a565b8015612f345750612f3483836132bd565b9392505050565b6001600160a01b038116600090815260146020908152604080832080548251818502810185019093528083529192909190830182828015612fa557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612f87575b5050505050905060005b8151811015610f7557818181518110612fca57612fca613eb2565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801561303257600080fd5b505af1158015613046573d6000803e3d6000fd5b50505050808061305590613ec8565b915050612faf565b6040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506130a98482613346565b949350505050565b600a8054600d80546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495761313f816133e3565b61314a8360206133f5565b60405160200161315b929190614545565b60408051601f198184030181529082905262461bcd60e51b825261143691600401613d5e565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006131f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135d69092919063ffffffff16565b90508051600014806132185750808060200190518101906132189190613f0a565b610f755760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611436565b600061329d826301ffc9a760e01b6132bd565b801561090257506132b6826001600160e01b03196132bd565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561332f575060208210155b801561333b5750600081115b979650505050505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166109025760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401611436565b60606109026001600160a01b03831660145b60606000613404836002613dfd565b61340f906002613e82565b67ffffffffffffffff8111156134275761342761388c565b6040519080825280601f01601f191660200182016040528015613451576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061348857613488613eb2565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106134d3576134d3613eb2565b60200101906001600160f81b031916908160001a90535060006134f7846002613dfd565b613502906001613e82565b90505b6001811115613587577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061354357613543613eb2565b1a60f81b82828151811061355957613559613eb2565b60200101906001600160f81b031916908160001a90535060049490941c93613580816145c6565b9050613505565b508315612f345760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611436565b60606130a9848460008585600080866001600160a01b031685876040516135fd91906145dd565b60006040518083038185875af1925050503d806000811461363a576040519150601f19603f3d011682016040523d82523d6000602084013e61363f565b606091505b509150915061333b87838387606083156136ba5782516000036136b3576001600160a01b0385163b6136b35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611436565b50816130a9565b6130a983838151156136cf5781518083602001fd5b8060405162461bcd60e51b81526004016114369190613d5e565b82805482825590600052602060002090810192821561373e579160200282015b8281111561373e57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613709565b5061374a929150613768565b5090565b5080546000825590600052602060002090810190610d0a91905b5b8082111561374a5760008155600101613769565b60006020828403121561378f57600080fd5b81356001600160e01b031981168114612f3457600080fd5b6000602082840312156137b957600080fd5b5035919050565b6001600160a01b0381168114610d0a57600080fd5b80356137e0816137c0565b919050565b600080604083850312156137f857600080fd5b8235613803816137c0565b91506020830135613813816137c0565b809150509250929050565b60006020828403121561383057600080fd5b8135612f34816137c0565b6000806040838503121561384e57600080fd5b8235613859816137c0565b946020939093013593505050565b6000806040838503121561387a57600080fd5b823591506020830135613813816137c0565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156138c5576138c561388c565b60405290565b6040516101a0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051610120810167ffffffffffffffff811182821017156138c5576138c561388c565b60405160c0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051601f8201601f1916810167ffffffffffffffff8111828210171561395f5761395f61388c565b604052919050565b600067ffffffffffffffff8211156139815761398161388c565b50601f01601f191660200190565b600082601f8301126139a057600080fd5b81356139b36139ae82613967565b613936565b8181528460208386010111156139c857600080fd5b816020850160208301376000918101602001919091529392505050565b6000604082840312156139f757600080fd5b6139ff6138a2565b905081358152602082013567ffffffffffffffff811115613a1f57600080fd5b613a2b8482850161398f565b60208301525092915050565b8015158114610d0a57600080fd5b80356137e081613a37565b600060208284031215613a6257600080fd5b813567ffffffffffffffff80821115613a7a57600080fd5b908301906101a08286031215613a8f57600080fd5b613a976138cb565b613aa0836137d5565b8152613aae602084016137d5565b6020820152604083013560408201526060830135606082015260808301356080820152613add60a084016137d5565b60a0820152613aee60c084016137d5565b60c082015260e083013582811115613b0557600080fd5b613b11878286016139e5565b60e083015250610100613b258185016137d5565b908201526101208381013583811115613b3d57600080fd5b613b498882870161398f565b828401525050610140613b5d818501613a45565b908201526101608381013583811115613b7557600080fd5b613b818882870161398f565b8284015250506101809150613b978284016137d5565b91810191909152949350505050565b8035600381106137e057600080fd5b60048110610d0a57600080fd5b80356137e081613bb5565b600060208284031215613bdf57600080fd5b6040516020810181811067ffffffffffffffff82111715613c0257613c0261388c565b6040529135825250919050565b60006101208284031215613c2257600080fd5b613c2a6138ef565b9050613c35826137d5565b815260208201356020820152604082013560408201526060820135606082015260808201356080820152613c6b60a08301613ba6565b60a0820152613c7c60c08301613bc2565b60c0820152613c8e8360e08401613bcd565b60e0820152610100613ca18184016137d5565b9082015292915050565b60008060006101608486031215613cc157600080fd5b8335613ccc816137c0565b9250613cdb8560208601613c0f565b915061014084013567ffffffffffffffff811115613cf857600080fd5b613d04868287016139e5565b9150509250925092565b60005b83811015613d29578181015183820152602001613d11565b50506000910152565b60008151808452613d4a816020860160208601613d0e565b601f01601f19169290920160200192915050565b602081526000612f346020830184613d32565b6000806000806101808587031215613d8857600080fd5b8435613d93816137c0565b93506020850135613da3816137c0565b9250613db28660408701613c0f565b915061016085013567ffffffffffffffff811115613dcf57600080fd5b613ddb878288016139e5565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761090257610902613de7565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613e3c57600080fd5b8151612f3481613bb5565b600060208284031215613e5957600080fd5b5051919050565b600082613e7d57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561090257610902613de7565b600060208284031215613ea757600080fd5b8151612f34816137c0565b634e487b7160e01b600052603260045260246000fd5b600060018201613eda57613eda613de7565b5060010190565b8181038181111561090257610902613de7565b634e487b7160e01b600052603160045260246000fd5b600060208284031215613f1c57600080fd5b8151612f3481613a37565b60006020808385031215613f3a57600080fd5b825167ffffffffffffffff80821115613f5257600080fd5b9084019060c08287031215613f6657600080fd5b613f6e613913565b8251815283830151613f7f816137c0565b818501526040830151613f91816137c0565b6040820152606083015182811115613fa857600080fd5b830160408189031215613fba57600080fd5b613fc26138a2565b815181528582015184811115613fd757600080fd5b82019350601f84018913613fea57600080fd5b83519150613ffa6139ae83613967565b828152898784870101111561400e57600080fd5b61401d83888301898801613d0e565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c9082168061405d57607f821691505b60208210810361407d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f7557600081815260208120601f850160051c810160208610156140aa5750805b601f850160051c820191505b818110156140c9578281556001016140b6565b505050505050565b815167ffffffffffffffff8111156140eb576140eb61388c565b6140ff816140f98454614049565b84614083565b602080601f831160018114614134576000841561411c5750858301515b600019600386901b1c1916600185901b1785556140c9565b600085815260208120601f198616915b8281101561416357888601518255948401946001909101908401614144565b50858210156141815787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083850312156141a457600080fd5b825167ffffffffffffffff808211156141bc57600080fd5b818501915085601f8301126141d057600080fd5b8151818111156141e2576141e261388c565b8060051b91506141f3848301613936565b818152918301840191848101908884111561420d57600080fd5b938501935b838510156142375784519250614227836137c0565b8282529385019390850190614212565b98975050505050505050565b6000815461425081614049565b80855260206001838116801561426d5760018114614287576142b5565b60ff1985168884015283151560051b8801830195506142b5565b866000528260002060005b858110156142ad5781548a8201860152908301908401614292565b890184019650505b505050505092915050565b8051825260006020820151604060208501526130a96040850182613d32565b600081518084526020808501945080840160005b838110156143185781516001600160a01b0316875295820195908201906001016142f3565b509495945050505050565b85815260a06020820152600061433c60a0830187614243565b828103604084015261434e81876142c0565b90506001600160a01b0385166060840152828103608084015261423781856142df565b83815260606020820152600061438a6060830185614243565b828103604084015261439c81856142c0565b9695505050505050565b600481106143b6576143b6613e14565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061440d5761440d613e14565b8060a08401525060c083015161442660c08401826143a6565b5060e083015161443960e0840182519052565b50610100928301516001600160a01b0316919092015290565b87815260006001600160a01b03808916602084015260e0604084015261447b60e0840189613d32565b818816606085015286608085015283810360a085015261449b81876142c0565b91505082810360c08401526144b081856142df565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a0608083015261333b60a08301846142c0565b60408152600061450b6040830185613d32565b90506001600160a01b03831660208301529392505050565b6040815260006145366040830185613d32565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161457d816017850160208801613d0e565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516145ba816028840160208801613d0e565b01602801949350505050565b6000816145d5576145d5613de7565b506000190190565b600082516145ef818460208701613d0e565b919091019291505056fe67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829a2646970667358221220cdd8a978867f857ae681e7722dc999d50c0d7c69b0187a98ff1af2af6f0c8cb664736f6c63430008130033","sourceMap":"1630:21524:115:-:0;;;7758:145;;;;;;;;;-1:-1:-1;1716:1:28;1821:7;:22;;;7840:56:115;;2090:34;;7840:13;:56::i;:::-;1630:21524;;7172:247:25;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;1630:21524:115:-;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061036d5760003560e01c80636c53db9a116101d3578063a230c52411610104578063d547741f116100a2578063db61d65c1161007c578063db61d65c1461086c578063ebd7dc521461087f578063f86c5f8914610892578063ff6409ef146108a557600080fd5b8063d547741f1461083d578063d6d8428d14610850578063d7050f071461086357600080fd5b8063b64e39af116100de578063b64e39af14610810578063b99b437014610825578063bc063e1a1461082d578063c6d572ae1461083557600080fd5b8063a230c5241461079e578063b3f00674146107f5578063b5058c501461080857600080fd5b80638961be6b1161017157806397991cfa1161014b57806397991cfa14610724578063a0b21cdf14610754578063a0cf0aea1461077b578063a217fddf1461079657600080fd5b80638961be6b146106cf57806391d14854146106d857806396f0adec1461071157600080fd5b806378a0b8a9116101ad57806378a0b8a91461063d5780637b1039991461064657806382d6a1e71461065957806388cfe6841461066c57600080fd5b80636c53db9a146105de57806373265c37146105f15780637817ee4f1461060457600080fd5b80632f2ff15d116102ad578063477a5cc01161024b5780635ecf71c5116102255780635ecf71c51461057a57806365e3864c1461058d5780636871eb4d146105b857806368decabb146105cb57600080fd5b8063477a5cc014610526578063559de05d146105545780635c94e4d21461056757600080fd5b80633517aa7d116102875780633517aa7d146104d557806336568abe146104dd578063397e2543146104f05780633a871fe11461050357600080fd5b80632f2ff15d146104a657806331f61bca146104b957806333960459146104cc57600080fd5b80631f787d281161031a578063248a9ca3116102f4578063248a9ca31461042357806328c309e9146104475780632b38c69c1461044f5780632c611c4a1461047a57600080fd5b80631f787d28146103f0578063223e5479146103fd57806322bcf9991461041057600080fd5b80630d12bbdb1161034b5780630d12bbdb146103b55780630d4a8b49146103ca578063175188e8146103dd57600080fd5b806301ffc9a7146103725780630331383c1461039a57806308386eba146103ac575b600080fd5b61038561038036600461377d565b6108b8565b60405190151581526020015b60405180910390f35b6003545b604051908152602001610391565b61039e60055481565b6103c86103c33660046137a7565b610908565b005b6103c86103d83660046137e5565b610992565b6103c86103eb36600461381e565b610cf9565b6002546103859060ff1681565b6103c861040b36600461381e565b610d0d565b6103c861041e3660046137e5565b610d1e565b61039e6104313660046137a7565b6000908152600160208190526040909120015490565b61039e610e2d565b61046261045d36600461383b565b610f17565b6040516001600160a01b039091168152602001610391565b61039e61048836600461381e565b6001600160a01b031660009081526013602052604090206001015490565b6103c86104b4366004613867565b610f4f565b6103c86104c73660046137a7565b610f7a565b61039e60095481565b6103c8610fb7565b6103c86104eb366004613867565b6113bc565b6103c86104fe36600461381e565b61144d565b61038561051136600461381e565b60116020526000908152604090205460ff1681565b6103856105343660046137e5565b601560209081526000928352604080842090915290825290205460ff1681565b6103c86105623660046137a7565b6114ba565b600854610462906001600160a01b031681565b6103c86105883660046137a7565b611794565b61039e61059b3660046137e5565b601260209081526000928352604080842090915290825290205481565b6103c86105c63660046137e5565b611b4e565b600a54610462906001600160a01b031681565b600d54610462906001600160a01b031681565b6103c86105ff3660046137a7565b611d59565b61039e6106123660046137e5565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b61039e60035481565b600b54610462906001600160a01b031681565b6103c86106673660046137a7565b611deb565b6106a861067a36600461381e565b6013602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b0390941684526020840192909252151590820152606001610391565b61039e60045481565b6103856106e6366004613867565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6103c861071f366004613a50565b611e9c565b610737610732366004613cab565b612388565b604080519283526001600160a01b03909116602083015201610391565b61039e7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b61046273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61039e600081565b6103856107ac36600461381e565b6001600160a01b039081166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b600654610462906001600160a01b031681565b6103c86123d2565b61081861241e565b6040516103919190613d5e565b6103c86124ac565b61039e61260f565b61081861261f565b6103c861084b366004613867565b61262c565b600e54610462906001600160a01b031681565b61039e61271081565b600c54610462906001600160a01b031681565b61038561088d36600461381e565b612652565b600754610462906001600160a01b031681565b6107376108b3366004613d71565b612692565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061090257506301ffc9a760e01b6001600160e01b03198316145b92915050565b610910612811565b61091d612710600a613dfd565b811115610956576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60048190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b61099b82612879565b6109a4816128dc565b6109ad8161292e565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff1615610a0d576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0380831660009081526013602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff161515918301919091526003805490846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abd9190613e2a565b6003811115610ace57610ace613e14565b03610b4d5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b469190613e47565b9050610c3f565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb39190613e2a565b6003811115610bc457610bc4613e14565b14610c3f5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af1158015610c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3c9190613e47565b90505b6001600160a01b038581166000818152601260209081526040808320948916808452948252808320869055838352601582528083208584528252808320805460ff19166001908117909155848452601483528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b610d01612811565b610d0a8161296e565b50565b610d15612811565b610d0a816129c8565b610d2782612879565b610d308161292e565b610d3a3382612a6f565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff16610d99576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000818152601560209081526040808320948616808452948252808320805460ff191690559282526012815282822093825292909252812055610de78282612aba565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b910160405180910390a15050565b6007546000906001600160a01b031681610e4a6127106064613dfd565b600454600354610e5a9190613dfd565b610e649190613e60565b90506000610e756127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190613e47565b600354610eea9190613dfd565b610ef49190613e60565b90508082600354610f059190613e82565b610f0f9190613e82565b935050505090565b60146020528160005260406000208181548110610f3357600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008281526001602081905260409091200154610f6b81612bdc565b610f758383612be6565b505050565b610f82612811565b60038190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f90602001610987565b610fbf612c6d565b33600081815260136020526040812060075490916001600160a01b0390911690610fec6127106064613dfd565b600454600354610ffc9190613dfd565b6110069190613e60565b905060006110176127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190613e47565b60035461108c9190613dfd565b6110969190613e60565b6001600160a01b038087166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190529091506113ab5760028401805460ff191660019081179091556003549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152600c5461114691906001600160a01b0316612cc6565b6111788530838560035461115a9190613e82565b6111649190613e82565b600c546001600160a01b0316929190612d24565b6111b76040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e74000000000000000000000000000081525083612da8565b81156112245760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260065461120791906001600160a01b0316612cc6565b600654600c54611224916001600160a01b03918216911684612e06565b6112636040518060400160405280601081526020017f67617264656e73466565416d6f756e740000000000000000000000000000000081525082612da8565b8015611364576112ec6040518060600160405280602681526020016145fa60269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e79190613e95565b612cc6565b611364836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113519190613e95565b600c546001600160a01b03169083612e06565b600354604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b50505050506113ba6001600055565b565b6001600160a01b038116331461143f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6114498282612e36565b5050565b611455612811565b61145e8161292e565b600a80546001600160a01b0319166001600160a01b03838116918217909255600d546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610987565b6114c2612c6d565b6114ca612eb9565b3360008181526014602090815260408083208054825181850281018501909352808352919290919083018282801561152b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161150d575b50505050509050600080600090505b82518110156116fb5782818151811061155557611555613eb2565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af11580156115b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d49190613e47565b915081156116e9576001600160a01b0384166000908152601260205260408120845184929086908590811061160b5761160b613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546116429190613e82565b925050819055506116e96040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525060126000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815181106116bb576116bb613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054612da8565b806116f381613ec8565b91505061153a565b50600c54611714906001600160a01b0316843087612d24565b6001600160a01b0383166000908152601360205260408120600101805486929061173f908490613e82565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a1505050610d0a6001600055565b61179c612c6d565b6117a4612eb9565b336000818152601460209081526040808320600354601390935290832060010154909291906117d4908690613ee1565b101561180c576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c54611823906001600160a01b03168486612e06565b60005b8254811015611ade57600083828154811061184357611843613eb2565b6000918252602090912001546001600160a01b0316905061186b8163f1801e6160e01b612f18565b15611a12576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156118d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fc9190613e47565b9250600060126000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858154811061193957611939613eb2565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156119a4576040517f8a11f3180000000000000000000000000000000000000000000000000000000081526004810185905260248101829052604401611436565b6001600160a01b038616600090815260126020526040812086548692908890879081106119d3576119d3613eb2565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190611a07908490613ee1565b909155505050611acb565b83548490611a2290600190613ee1565b81548110611a3257611a32613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110611a6257611a62613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480611aa057611aa0613ef4565b600082815260209020810160001990810180546001600160a01b0319169055019055611acb8161296e565b5080611ad681613ec8565b915050611826565b506001600160a01b03831660009081526013602052604081206001018054869290611b0a908490613ee1565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8910161177f565b611b56612c6d565b611b5e612811565b60025460ff16611b9a576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052611bfd57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152611c4b83612f3b565b6001600160a01b03838116600090815260136020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff19169055600c5490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af1158015611cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfd9190613f0a565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a1506114496001600055565b611d61612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611dab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dd39190810190613f27565b602001519050611de28161292e565b6114498161296e565b611df3612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611e3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e659190810190613f27565b602001519050611e748161292e565b611e8e6001600160a01b03821663f1801e6160e01b612f18565b1561144957611449816129c8565b611ea9816020015161292e565b611eb781610100015161292e565b8051611ec29061292e565b611ecf8160a0015161292e565b611edd81610180015161292e565b606081015115611ef457611ef48160c0015161292e565b8051600e80546001600160a01b039283166001600160a01b0319918216179091556020830151600c80549190931691161790556040810151600003611f65576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015160035560608101516004556101408101516002805460ff1916911515919091179055610120810151600f90611f9f90826140d1565b50610160810151601090611fb390826140d1565b5060a0810151600780546001600160a01b03199081166001600160a01b039384161790915560c0830151600680548316918416919091179055610100830151600d8054831682851617905561018084015160088054909316931692909217905561203e907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90612be6565b600e60009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015612091573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b59190613e95565b600b80546001600160a01b0319166001600160a01b03928316179055600d54604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121579190810190614191565b90506000815160026121699190613e82565b67ffffffffffffffff8111156121815761218161388c565b6040519080825280602002602001820160405280156121aa578160200160208202803683370190505b50905060005b825181101561220f578281815181106121cb576121cb613eb2565b60200260200101518282815181106121e5576121e5613eb2565b6001600160a01b03909216602092830291909101909101528061220781613ec8565b9150506121b0565b50600d5481516001600160a01b0390911690829061222f90600190613ee1565b8151811061223f5761223f613eb2565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835161226f9190613ee1565b8151811061227f5761227f613eb2565b6001600160a01b039283166020918202929092010152600b54608085015160e08601516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f926122e79291600f9130908890600401614323565b6020604051808303816000875af1158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613e47565b60055580516123409060169060208401906136e9565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205600554600f8560e0015160405161237b93929190614371565b60405180910390a1505050565b60085460098054600092839283926123b7926001600160a01b031691846123ae83613ec8565b9190505561305d565b90506123c581878787612692565b9250925050935093915050565b600a546001600160a01b03163314612416576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113ba6130b1565b6010805461242b90614049565b80601f016020809104026020016040519081016040528092919081815260200182805461245790614049565b80156124a45780601f10612479576101008083540402835291602001916124a4565b820191906000526020600020905b81548152906001019060200180831161248757829003601f168201915b505050505081565b6124b4612c6d565b336124be81612879565b6124c781612f3b565b6001600160a01b0380821660008181526013602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945560149052918220909161253e919061374e565b600c54602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015612596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ba9190613f0a565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a150506113ba6001600055565b61261c612710600a613dfd565b81565b600f805461242b90614049565b6000828152600160208190526040909120015461264881612bdc565b610f758383612e36565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff16610902565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156126bc5750845b8691506000601680548060200260200160405190810160405280929190818152602001828054801561271757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116126f9575b5050600e546005546040519596506001600160a01b039091169463e1007d4a945090925087915061274c908b906020016143ba565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b81526004016127829796959493929190614452565b6020604051808303816000875af11580156127a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c59190613e47565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a896040516127fe9594939291906144be565b60405180910390a1505094509492505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff166113ba576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038082166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052610d0a57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03811660009081526011602052604090205460ff16610d0a576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116610d0a576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129778161292e565b6001600160a01b038116600081815260116020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49101610987565b6001600160a01b03811660009081526011602052604090205460ff1615612a1b576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815260116020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610987565b806001600160a01b0316826001600160a01b031614611449576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152601460205260408120905b8154811015612bd657826001600160a01b0316828281548110612af957612af9613eb2565b6000918252602090912001546001600160a01b031603612bc45781548290612b2390600190613ee1565b81548110612b3357612b33613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110612b6357612b63613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480612ba157612ba1613ef4565b600082815260209020810160001990810180546001600160a01b03191690550190555b80612bce81613ec8565b915050612ad4565b50505050565b610d0a813361310c565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b600260005403612cbf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401611436565b6002600055565b6114498282604051602401612cdc9291906144f8565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b0380851660248301528316604482015260648101829052612bd69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526131a2565b6114498282604051602401612dbe929190614523565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b038316602482015260448101829052610f7590849063a9059cbb60e01b90606401612d71565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16156114495760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b33600090815260136020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526113ba57604051636a5cfb6d60e01b815260040160405180910390fd5b6000612f238361328a565b8015612f345750612f3483836132bd565b9392505050565b6001600160a01b038116600090815260146020908152604080832080548251818502810185019093528083529192909190830182828015612fa557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612f87575b5050505050905060005b8151811015610f7557818181518110612fca57612fca613eb2565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801561303257600080fd5b505af1158015613046573d6000803e3d6000fd5b50505050808061305590613ec8565b915050612faf565b6040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506130a98482613346565b949350505050565b600a8054600d80546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495761313f816133e3565b61314a8360206133f5565b60405160200161315b929190614545565b60408051601f198184030181529082905262461bcd60e51b825261143691600401613d5e565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006131f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135d69092919063ffffffff16565b90508051600014806132185750808060200190518101906132189190613f0a565b610f755760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611436565b600061329d826301ffc9a760e01b6132bd565b801561090257506132b6826001600160e01b03196132bd565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561332f575060208210155b801561333b5750600081115b979650505050505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166109025760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401611436565b60606109026001600160a01b03831660145b60606000613404836002613dfd565b61340f906002613e82565b67ffffffffffffffff8111156134275761342761388c565b6040519080825280601f01601f191660200182016040528015613451576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061348857613488613eb2565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106134d3576134d3613eb2565b60200101906001600160f81b031916908160001a90535060006134f7846002613dfd565b613502906001613e82565b90505b6001811115613587577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061354357613543613eb2565b1a60f81b82828151811061355957613559613eb2565b60200101906001600160f81b031916908160001a90535060049490941c93613580816145c6565b9050613505565b508315612f345760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611436565b60606130a9848460008585600080866001600160a01b031685876040516135fd91906145dd565b60006040518083038185875af1925050503d806000811461363a576040519150601f19603f3d011682016040523d82523d6000602084013e61363f565b606091505b509150915061333b87838387606083156136ba5782516000036136b3576001600160a01b0385163b6136b35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611436565b50816130a9565b6130a983838151156136cf5781518083602001fd5b8060405162461bcd60e51b81526004016114369190613d5e565b82805482825590600052602060002090810192821561373e579160200282015b8281111561373e57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613709565b5061374a929150613768565b5090565b5080546000825590600052602060002090810190610d0a91905b5b8082111561374a5760008155600101613769565b60006020828403121561378f57600080fd5b81356001600160e01b031981168114612f3457600080fd5b6000602082840312156137b957600080fd5b5035919050565b6001600160a01b0381168114610d0a57600080fd5b80356137e0816137c0565b919050565b600080604083850312156137f857600080fd5b8235613803816137c0565b91506020830135613813816137c0565b809150509250929050565b60006020828403121561383057600080fd5b8135612f34816137c0565b6000806040838503121561384e57600080fd5b8235613859816137c0565b946020939093013593505050565b6000806040838503121561387a57600080fd5b823591506020830135613813816137c0565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156138c5576138c561388c565b60405290565b6040516101a0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051610120810167ffffffffffffffff811182821017156138c5576138c561388c565b60405160c0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051601f8201601f1916810167ffffffffffffffff8111828210171561395f5761395f61388c565b604052919050565b600067ffffffffffffffff8211156139815761398161388c565b50601f01601f191660200190565b600082601f8301126139a057600080fd5b81356139b36139ae82613967565b613936565b8181528460208386010111156139c857600080fd5b816020850160208301376000918101602001919091529392505050565b6000604082840312156139f757600080fd5b6139ff6138a2565b905081358152602082013567ffffffffffffffff811115613a1f57600080fd5b613a2b8482850161398f565b60208301525092915050565b8015158114610d0a57600080fd5b80356137e081613a37565b600060208284031215613a6257600080fd5b813567ffffffffffffffff80821115613a7a57600080fd5b908301906101a08286031215613a8f57600080fd5b613a976138cb565b613aa0836137d5565b8152613aae602084016137d5565b6020820152604083013560408201526060830135606082015260808301356080820152613add60a084016137d5565b60a0820152613aee60c084016137d5565b60c082015260e083013582811115613b0557600080fd5b613b11878286016139e5565b60e083015250610100613b258185016137d5565b908201526101208381013583811115613b3d57600080fd5b613b498882870161398f565b828401525050610140613b5d818501613a45565b908201526101608381013583811115613b7557600080fd5b613b818882870161398f565b8284015250506101809150613b978284016137d5565b91810191909152949350505050565b8035600381106137e057600080fd5b60048110610d0a57600080fd5b80356137e081613bb5565b600060208284031215613bdf57600080fd5b6040516020810181811067ffffffffffffffff82111715613c0257613c0261388c565b6040529135825250919050565b60006101208284031215613c2257600080fd5b613c2a6138ef565b9050613c35826137d5565b815260208201356020820152604082013560408201526060820135606082015260808201356080820152613c6b60a08301613ba6565b60a0820152613c7c60c08301613bc2565b60c0820152613c8e8360e08401613bcd565b60e0820152610100613ca18184016137d5565b9082015292915050565b60008060006101608486031215613cc157600080fd5b8335613ccc816137c0565b9250613cdb8560208601613c0f565b915061014084013567ffffffffffffffff811115613cf857600080fd5b613d04868287016139e5565b9150509250925092565b60005b83811015613d29578181015183820152602001613d11565b50506000910152565b60008151808452613d4a816020860160208601613d0e565b601f01601f19169290920160200192915050565b602081526000612f346020830184613d32565b6000806000806101808587031215613d8857600080fd5b8435613d93816137c0565b93506020850135613da3816137c0565b9250613db28660408701613c0f565b915061016085013567ffffffffffffffff811115613dcf57600080fd5b613ddb878288016139e5565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761090257610902613de7565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613e3c57600080fd5b8151612f3481613bb5565b600060208284031215613e5957600080fd5b5051919050565b600082613e7d57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561090257610902613de7565b600060208284031215613ea757600080fd5b8151612f34816137c0565b634e487b7160e01b600052603260045260246000fd5b600060018201613eda57613eda613de7565b5060010190565b8181038181111561090257610902613de7565b634e487b7160e01b600052603160045260246000fd5b600060208284031215613f1c57600080fd5b8151612f3481613a37565b60006020808385031215613f3a57600080fd5b825167ffffffffffffffff80821115613f5257600080fd5b9084019060c08287031215613f6657600080fd5b613f6e613913565b8251815283830151613f7f816137c0565b818501526040830151613f91816137c0565b6040820152606083015182811115613fa857600080fd5b830160408189031215613fba57600080fd5b613fc26138a2565b815181528582015184811115613fd757600080fd5b82019350601f84018913613fea57600080fd5b83519150613ffa6139ae83613967565b828152898784870101111561400e57600080fd5b61401d83888301898801613d0e565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c9082168061405d57607f821691505b60208210810361407d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f7557600081815260208120601f850160051c810160208610156140aa5750805b601f850160051c820191505b818110156140c9578281556001016140b6565b505050505050565b815167ffffffffffffffff8111156140eb576140eb61388c565b6140ff816140f98454614049565b84614083565b602080601f831160018114614134576000841561411c5750858301515b600019600386901b1c1916600185901b1785556140c9565b600085815260208120601f198616915b8281101561416357888601518255948401946001909101908401614144565b50858210156141815787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083850312156141a457600080fd5b825167ffffffffffffffff808211156141bc57600080fd5b818501915085601f8301126141d057600080fd5b8151818111156141e2576141e261388c565b8060051b91506141f3848301613936565b818152918301840191848101908884111561420d57600080fd5b938501935b838510156142375784519250614227836137c0565b8282529385019390850190614212565b98975050505050505050565b6000815461425081614049565b80855260206001838116801561426d5760018114614287576142b5565b60ff1985168884015283151560051b8801830195506142b5565b866000528260002060005b858110156142ad5781548a8201860152908301908401614292565b890184019650505b505050505092915050565b8051825260006020820151604060208501526130a96040850182613d32565b600081518084526020808501945080840160005b838110156143185781516001600160a01b0316875295820195908201906001016142f3565b509495945050505050565b85815260a06020820152600061433c60a0830187614243565b828103604084015261434e81876142c0565b90506001600160a01b0385166060840152828103608084015261423781856142df565b83815260606020820152600061438a6060830185614243565b828103604084015261439c81856142c0565b9695505050505050565b600481106143b6576143b6613e14565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061440d5761440d613e14565b8060a08401525060c083015161442660c08401826143a6565b5060e083015161443960e0840182519052565b50610100928301516001600160a01b0316919092015290565b87815260006001600160a01b03808916602084015260e0604084015261447b60e0840189613d32565b818816606085015286608085015283810360a085015261449b81876142c0565b91505082810360c08401526144b081856142df565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a0608083015261333b60a08301846142c0565b60408152600061450b6040830185613d32565b90506001600160a01b03831660208301529392505050565b6040815260006145366040830185613d32565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161457d816017850160208801613d0e565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516145ba816028840160208801613d0e565b01602801949350505050565b6000816145d5576145d5613de7565b506000190190565b600082516145ef818460208701613d0e565b919091019291505056fe67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829a2646970667358221220cdd8a978867f857ae681e7722dc999d50c0d7c69b0187a98ff1af2af6f0c8cb664736f6c63430008130033","sourceMap":"1630:21524:115:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2732:202:25;;;;;;:::i;:::-;;:::i;:::-;;;516:14:125;;509:22;491:41;;479:2;464:18;2732:202:25;;;;;;;;20889:107:115;20970:19;;20889:107;;;689:25:125;;;677:2;662:18;20889:107:115;543:177:125;6534:24:115;;;;;;21190:280;;;;;;:::i;:::-;;:::i;:::-;;10866:1179;;;;;;:::i;:::-;;:::i;17581:120::-;;;;;;:::i;:::-;;:::i;6292:25::-;;;;;;;;;16639:120;;;;;;:::i;:::-;;:::i;12051:691::-;;;;;;:::i;:::-;;:::i;4504:129:25:-;;;;;;:::i;:::-;4578:7;4604:12;;;:6;:12;;;;;;;;:22;;;4504:129;20416:467:115;;;:::i;7409:82::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;2836:55:125;;;2818:74;;2806:2;2791:18;7409:82:115;2672:226:125;16048:143:115;;;;;;:::i;:::-;-1:-1:-1;;;;;16143:28:115;16117:7;16143:28;;;:19;:28;;;;;:41;;;;16048:143;4929:145:25;;;;;;:::i;:::-;;:::i;21002:182:115:-;;;;;;:::i;:::-;;:::i;6714:25::-;;;;;;18503:1907;;;:::i;6038:214:25:-;;;;;;:::i;:::-;;:::i;17707:240:115:-;;;;;;:::i;:::-;;:::i;7164:68::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;7497:107;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;13179:998;;;;;;:::i;:::-;;:::i;6677:31::-;;;;;-1:-1:-1;;;;;6677:31:115;;;14317:1554;;;;;;:::i;:::-;;:::i;7238:98::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;22581:571;;;;;;:::i;:::-;;:::i;6745:41::-;;;;;-1:-1:-1;;;;;6745:41:115;;;6926:24;;;;;-1:-1:-1;;;;;6926:24:115;;;17154:229;;;;;;:::i;:::-;;:::i;15877:165::-;;;;;;:::i;:::-;-1:-1:-1;;;;;15994:30:115;;;15968:7;15994:30;;;:21;:30;;;;;;;;:41;;;;;;;;;;;;;15877:165;6461:34;;;;;;6864:25;;;;;-1:-1:-1;;;;;6864:25:115;;;16320:313;;;;;;:::i;:::-;;:::i;7343:60::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7343:60:115;;;;;;;;;;;;;-1:-1:-1;;;;;4439:55:125;;;4421:74;;4526:2;4511:18;;4504:34;;;;4581:14;4574:22;4554:18;;;4547:50;4409:2;4394:18;7343:60:115;4225:378:125;6501:27:115;;;;;;3021:145:25;;;;;;:::i;:::-;3107:4;3130:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3130:29:25;;;;;;;;;;;;;;;3021:145;7909:1945:115;;;;;;:::i;:::-;;:::i;9860:341::-;;;;;;:::i;:::-;;:::i;:::-;;;;11670:25:125;;;-1:-1:-1;;;;;11731:55:125;;;11726:2;11711:18;;11704:83;11643:18;9860:341:115;11496:297:125;2042:82:115;;2090:34;2042:82;;1796:75;;1829:42;1796:75;;2153:49:25;;2198:4;2153:49;;18315:182:115;;;;;;:::i;:::-;-1:-1:-1;;;;;18423:28:115;;;18371:14;18423:28;;;:19;:28;;;;;;;;;18397:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18315:182;6609:26;;;;;-1:-1:-1;;;;;6609:26:115;;;18138:171;;;:::i;7070:30::-;;;:::i;:::-;;;;;;;:::i;21650:453::-;;;:::i;7697:54::-;;;:::i;7037:27::-;;;:::i;5354:147:25:-;;;;;;:::i;:::-;;:::i;6956:17:115:-;;;;;-1:-1:-1;;;;;6956:17:115;;;7642:49;;7684:7;7642:49;;6895:25;;;;;-1:-1:-1;;;;;6895:25:115;;;21512:132;;;;;;:::i;:::-;;:::i;6641:30::-;;;;;-1:-1:-1;;;;;6641:30:115;;;10207:653;;;;;;:::i;:::-;;:::i;2732:202:25:-;2817:4;-1:-1:-1;;;;;;2840:47:25;;2855:32;2840:47;;:87;;-1:-1:-1;;;;;;;;;;937:40:37;;;2891:36:25;2833:94;2732:202;-1:-1:-1;;2732:202:25:o;21190:280:115:-;21258:17;:15;:17::i;:::-;7731:20;7684:7;7731:2;:20;:::i;:::-;21289:16;:26;21285:86;;;21338:22;;;;;;;;;;;;;;21285:86;21380:12;:31;;;21426:37;;689:25:125;;;21426:37:115;;677:2:125;662:18;21426:37:115;;;;;;;;21190:280;:::o;10866:1179::-;10953:34;10979:7;10953:25;:34::i;:::-;10997:30;11017:9;10997:19;:30::i;:::-;11037:29;11056:9;11037:18;:29::i;:::-;-1:-1:-1;;;;;11081:36:115;;;;;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;11077:107;;;11151:22;;;;;;;;;;;;;;11077:107;-1:-1:-1;;;;;11217:28:115;;;11194:20;11217:28;;;:19;:28;;;;;;;;;11194:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11340:19;;;;11389:9;-1:-1:-1;;;;;11374:40:115;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:82;;;;;;;;:::i;:::-;;11370:384;;11491:51;;-1:-1:-1;;;11491:51:115;;-1:-1:-1;;;;;14843:55:125;;;11491:51:115;;;14825:74:125;11540:1:115;14915:18:125;;;14908:34;11491:39:115;;;;;14798:18:125;;11491:51:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11472:70;;11370:384;;;11609:32;11578:9;-1:-1:-1;;;;;11563:40:115;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:78;;;;;;;;:::i;:::-;;11559:195;;11676:67;;-1:-1:-1;;;11676:67:115;;-1:-1:-1;;;;;14843:55:125;;;11676:67:115;;;14825:74:125;14915:18;;;14908:34;;;11676:39:115;;;;;14798:18:125;;11676:67:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11657:86;;11559:195;-1:-1:-1;;;;;11764:30:115;;;;;;;:21;:30;;;;;;;;:41;;;;;;;;;;;;:60;;;11853:36;;;:27;:36;;;;;:47;;;;;;;;:54;;-1:-1:-1;;11853:54:115;11903:4;11853:54;;;;;;11918:27;;;:18;:27;;;;;:43;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11918:43:115;;;;;11977:61;;15707:34:125;;;15757:18;;15750:43;;;;15809:18;;;15802:34;;;11977:61:115;;15634:2:125;15619:18;11977:61:115;;;;;;;10943:1102;;;10866:1179;;:::o;17581:120::-;17641:17;:15;:17::i;:::-;17668:26;17684:9;17668:15;:26::i;:::-;17581:120;:::o;16639:::-;16699:17;:15;:17::i;:::-;16726:26;16739:12;16726;:26::i;12051:691::-;12140:34;12166:7;12140:25;:34::i;:::-;12184:29;12203:9;12184:18;:29::i;:::-;12223:42;12243:10;12255:9;12223:19;:42::i;:::-;-1:-1:-1;;;;;12281:36:115;;;;;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;12276:110;;12351:24;;;;;;;;;;;;;;12276:110;-1:-1:-1;;;;;12396:36:115;;;12446:5;12396:36;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;:55;;-1:-1:-1;;12396:55:115;;;12461:30;;;:21;:30;;;;;:41;;;;;;;;;:45;12516:44;12424:7;12433:9;12516:24;:44::i;:::-;12690:45;;;-1:-1:-1;;;;;16100:15:125;;;16082:34;;16152:15;;16147:2;16132:18;;16125:43;12690:45:115;;15994:18:125;12690:45:115;;;;;;;12051:691;;:::o;20416:467::-;20539:15;;20471:7;;-1:-1:-1;;;;;20539:15:115;20471:7;20634:21;7684:7;20634:3;:21;:::i;:::-;20617:12;;20595:19;;:34;;;;:::i;:::-;20594:62;;;;:::i;:::-;20565:91;-1:-1:-1;20666:24:115;20777:21;7684:7;20777:3;:21;:::i;:::-;20728:44;;-1:-1:-1;;;20728:44:115;;20766:4;20728:44;;;2818:74:125;-1:-1:-1;;;;;20728:29:115;;;;;2791:18:125;;20728:44:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20706:19;;:66;;;;:::i;:::-;20705:94;;;;:::i;:::-;20666:133;;20860:16;20839:18;20817:19;;:40;;;;:::i;:::-;:59;;;;:::i;:::-;20810:66;;;;;20416:467;:::o;7409:82::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7409:82:115;;-1:-1:-1;7409:82:115;;-1:-1:-1;7409:82:115:o;4929:145:25:-;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;21002:182:115:-;21071:17;:15;:17::i;:::-;21098:19;:32;;;21145;;689:25:125;;;21145:32:115;;677:2:125;662:18;21145:32:115;543:177:125;18503:1907:115;2261:21:28;:19;:21::i;:::-;18585:10:115::1;18567:15;18632:28:::0;;;:19:::1;:28;::::0;;;;18719:15:::1;::::0;18632:28;;-1:-1:-1;;;;;18719:15:115;;::::1;::::0;18814:21:::1;7684:7;18814:3;:21;:::i;:::-;18797:12;;18775:19;;:34;;;;:::i;:::-;18774:62;;;;:::i;:::-;18745:91:::0;-1:-1:-1;18846:24:115::1;18957:21;7684:7;18957:3;:21;:::i;:::-;18908:44;::::0;-1:-1:-1;;;18908:44:115;;18946:4:::1;18908:44;::::0;::::1;2818:74:125::0;-1:-1:-1;;;;;18908:29:115;::::1;::::0;::::1;::::0;2791:18:125;;18908:44:115::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18886:19;;:66;;;;:::i;:::-;18885:94;;;;:::i;:::-;-1:-1:-1::0;;;;;18423:28:115;;;18371:14;18423:28;;;:19;:28;;;;;;;;;18397:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18846:133;;-1:-1:-1;18989:1415:115::1;;19027:22;::::0;::::1;:29:::0;;-1:-1:-1;;19027:29:115::1;19052:4;19027:29:::0;;::::1;::::0;;;19096:19:::1;::::0;19071:22;;::::1;:44:::0;19201:48:::1;::::0;;;;::::1;::::0;;;::::1;::::0;;::::1;;::::0;::::1;::::0;19236:11:::1;::::0;19201:48:::1;::::0;;-1:-1:-1;;;;;19236:11:115::1;19201;:48::i;:::-;19264:143;19310:7;19327:4;19377:16;19356:18;19334:19;;:40;;;;:::i;:::-;:59;;;;:::i;:::-;19264:11;::::0;-1:-1:-1;;;;;19264:11:115::1;::::0;:143;;:28:::1;:143::i;:::-;19758:53;;;;;;;;;;;;;;;;;::::0;19792:18:::1;19758:11;:53::i;:::-;19829:22:::0;;19825:175:::1;;19871:39;::::0;;;;::::1;::::0;;;::::1;::::0;;::::1;;::::0;::::1;::::0;19898:11:::1;::::0;19871:39:::1;::::0;;-1:-1:-1;;;;;19898:11:115::1;19871;:39::i;:::-;19953:11;::::0;19928::::1;::::0;:57:::1;::::0;-1:-1:-1;;;;;19928:11:115;;::::1;::::0;19953::::1;19966:18:::0;19928:24:::1;:57::i;:::-;20013:49;;;;;;;;;;;;;;;;;::::0;20045:16:::1;20013:11;:49::i;:::-;20080:20:::0;;20076:252:::1;;20120:93;;;;;;;;;;;;;;;;;;20174:14;-1:-1:-1::0;;;;;20174:36:115::1;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20120:11;:93::i;:::-;20231:82;20256:14;-1:-1:-1::0;;;;;20256:36:115::1;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20231:11;::::0;-1:-1:-1;;;;;20231:11:115::1;::::0;20296:16;20231:24:::1;:82::i;:::-;20373:19;::::0;20347:46:::1;::::0;;-1:-1:-1;;;;;14843:55:125;;14825:74;;14930:2;14915:18;;14908:34;;;;20347:46:115::1;::::0;14798:18:125;20347:46:115::1;;;;;;;18989:1415;18557:1853;;;;;2303:20:28::0;1716:1;2809:7;:22;2629:209;2303:20;18503:1907:115:o;6038:214:25:-;-1:-1:-1;;;;;6133:23:25;;719:10:35;6133:23:25;6125:83;;;;-1:-1:-1;;;6125:83:25;;17046:2:125;6125:83:25;;;17028:21:125;17085:2;17065:18;;;17058:30;17124:34;17104:18;;;17097:62;17195:17;17175:18;;;17168:45;17230:19;;6125:83:25;;;;;;;;;6219:26;6231:4;6237:7;6219:11;:26::i;:::-;6038:214;;:::o;17707:240:115:-;17771:17;:15;:17::i;:::-;17798:25;17817:5;17798:18;:25::i;:::-;17833:18;:26;;-1:-1:-1;;;;;;17833:26:115;-1:-1:-1;;;;;17833:26:115;;;;;;;;;17907:11;;17874:66;;;17907:11;;;;16082:34:125;;16147:2;16132:18;;16125:43;;;;17874:66:115;;15994:18:125;17874:66:115;15847:327:125;13179:998:115;2261:21:28;:19;:21::i;:::-;13255:26:115::1;:24;:26::i;:::-;13308:10;13291:14;13364:26:::0;;;:18:::1;:26;::::0;;;;;;;13328:62;;;;;;::::1;::::0;;;;;;;;;;;;13364:26;;13328:62;;::::1;13364:26:::0;13328:62;;::::1;;;;;;;;;;;;;;;;::::0;;-1:-1:-1;;;;;13328:62:115::1;::::0;;;;;::::1;::::0;::::1;;::::0;;::::1;;;;;;;;;;;13401:24;13441:9:::0;13453:1:::1;13441:13;;13436:533;13460:16;:23;13456:1;:27;13436:533;;;13643:16;13660:1;13643:19;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;13628:72:::1;::::0;-1:-1:-1;;;13628:72:115;;-1:-1:-1;;;;;14843:55:125;;;13628:72:115::1;::::0;::::1;14825:74:125::0;14915:18;;;14908:34;;;13628:49:115;;::::1;::::0;::::1;::::0;14798:18:125;;13628:72:115::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13609:91:::0;-1:-1:-1;13718:21:115;;13714:229:::1;;-1:-1:-1::0;;;;;13759:29:115;::::1;;::::0;;;:21:::1;:29;::::0;;;;13789:19;;13813:16;;13759:29;13789:16;;13806:1;;13789:19;::::1;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;13759:50:115::1;-1:-1:-1::0;;;;;13759:50:115::1;;;;;;;;;;;;;:70;;;;;;;:::i;:::-;;;;;;;;13847:81;;;;;;;;;;;;;;;;;::::0;13877:21:::1;:29;13899:6;-1:-1:-1::0;;;;;13877:29:115::1;-1:-1:-1::0;;;;;13877:29:115::1;;;;;;;;;;;;:50;13907:16;13924:1;13907:19;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;13877:50:115::1;-1:-1:-1::0;;;;;13877:50:115::1;;;;;;;;;;;;;13847:11;:81::i;:::-;13485:3:::0;::::1;::::0;::::1;:::i;:::-;;;;13436:533;;;-1:-1:-1::0;13979:11:115::1;::::0;:66:::1;::::0;-1:-1:-1;;;;;13979:11:115::1;14008:6:::0;14024:4:::1;14031:13:::0;13979:28:::1;:66::i;:::-;-1:-1:-1::0;;;;;14055:27:115;::::1;;::::0;;;:19:::1;:27;::::0;;;;:40:::1;;:57:::0;;14099:13;;14055:27;:57:::1;::::0;14099:13;;14055:57:::1;:::i;:::-;::::0;;;-1:-1:-1;;14127:43:115::1;::::0;;-1:-1:-1;;;;;14843:55:125;;14825:74;;14930:2;14915:18;;14908:34;;;14127:43:115::1;::::0;14798:18:125;14127:43:115::1;;;;;;;;13245:932;;;2303:20:28::0;1716:1;2809:7;:22;2629:209;14317:1554:115;2261:21:28;:19;:21::i;:::-;14395:26:115::1;:24;:26::i;:::-;14448:10;14431:14;14505:26:::0;;;:18:::1;:26;::::0;;;;;;;14642:19:::1;::::0;14581::::1;:27:::0;;;;;;:40:::1;;::::0;14505:26;;14431:14;14642:19;14581:58:::1;::::0;14624:15;;14581:58:::1;:::i;:::-;:80;14577:140;;;14684:22;;;;;;;;;;;;;;14577:140;14726:11;::::0;:49:::1;::::0;-1:-1:-1;;;;;14726:11:115::1;14751:6:::0;14759:15;14726:24:::1;:49::i;:::-;14790:9;14785:951;14809:23:::0;;14805:27;::::1;14785:951;;;14853:16;14872;14889:1;14872:19;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;14872:19:115::1;::::0;-1:-1:-1;14909:60:115::1;14872:19:::0;-1:-1:-1;;;14909:26:115::1;:60::i;:::-;14905:804;;;15008:63;::::0;;;;-1:-1:-1;;;;;14843:55:125;;;15008:63:115::1;::::0;::::1;14825:74:125::0;14915:18;;;14908:34;;;15008:38:115;::::1;::::0;::::1;::::0;14798:18:125;;15008:63:115::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14989:82;;15089:20;15112:21;:29;15134:6;-1:-1:-1::0;;;;;15112:29:115::1;-1:-1:-1::0;;;;;15112:29:115::1;;;;;;;;;;;;:50;15142:16;15159:1;15142:19;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;::::1;::::0;-1:-1:-1;;;;;15142:19:115::1;15112:50:::0;;;::::1;::::0;;;;;;;;;;-1:-1:-1;15184:31:115;;::::1;15180:259;;;15246:57;::::0;::::1;::::0;;::::1;::::0;::::1;18236:25:125::0;;;18277:18;;;18270:34;;;18209:18;;15246:57:115::1;18062:248:125::0;15180:259:115::1;-1:-1:-1::0;;;;;15350:29:115;::::1;;::::0;;;:21:::1;:29;::::0;;;;15380:19;;15404:16;;15350:29;15380:16;;15397:1;;15380:19;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;::::1;::::0;-1:-1:-1;;;;;15380:19:115::1;15350:50:::0;;;::::1;::::0;;;;;;;;:70;;:50;;15380:19;15350:70:::1;::::0;;;::::1;:::i;:::-;::::0;;;-1:-1:-1;;14971:482:115::1;14905:804;;;15583:23:::0;;15566:16;;15583:27:::1;::::0;15609:1:::1;::::0;15583:27:::1;:::i;:::-;15566:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;15566:45:115::1;15544:16;15561:1;15544:19;;;;;;;;:::i;:::-;;;;;;;;;:67;;;;;-1:-1:-1::0;;;;;15544:67:115::1;;;;;-1:-1:-1::0;;;;;15544:67:115::1;;;;;;15629:16;:22;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;15629:22:115;;;;;-1:-1:-1;;;;;;15629:22:115::1;::::0;;;;;15669:25:::1;15685:8:::0;15669:15:::1;:25::i;:::-;-1:-1:-1::0;14834:3:115;::::1;::::0;::::1;:::i;:::-;;;;14785:951;;;-1:-1:-1::0;;;;;;15745:27:115;::::1;;::::0;;;:19:::1;:27;::::0;;;;:40:::1;;:59:::0;;15789:15;;15745:27;:59:::1;::::0;15789:15;;15745:59:::1;:::i;:::-;::::0;;;-1:-1:-1;;15819:45:115::1;::::0;;-1:-1:-1;;;;;14843:55:125;;14825:74;;14930:2;14915:18;;14908:34;;;15819:45:115::1;::::0;14798:18:125;15819:45:115::1;14643:305:125::0;22581:571:115;2261:21:28;:19;:21::i;:::-;22674:17:115::1;:15;:17::i;:::-;22706:13;::::0;::::1;;22701:68;;22742:16;;;;;;;;;;;;;;22701:68;-1:-1:-1::0;;;;;18423:28:115;;;18371:14;18423:28;;;:19;:28;;;;;;;;;18397:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22778:75:::1;;22823:19;;-1:-1:-1::0;;;22823:19:115::1;;;;;;;;;;;22778:75;-1:-1:-1::0;;;;;22885:28:115;;::::1;22862:20;22885:28:::0;;;:19:::1;:28;::::0;;;;;;;;22862:51;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;;::::1;::::0;;;;::::1;;::::0;::::1;;;;::::0;;;;22923:32:::1;22905:7:::0;22923:23:::1;:32::i;:::-;-1:-1:-1::0;;;;;22972:28:115;;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;22965:35;;-1:-1:-1;;;;;;22965:35:115::1;::::0;;-1:-1:-1;22965:35:115;::::1;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;22965:35:115::1;::::0;;23011:11:::1;::::0;23050:19;;::::1;::::0;23011:59;;-1:-1:-1;;;23011:59:115;;14843:55:125;;;23011:59:115::1;::::0;::::1;14825:74:125::0;14915:18;;;14908:34;;;;23011:11:115;;::::1;::::0;:20:::1;::::0;14798:18:125;;23011:59:115::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;23125:19:115::1;::::0;;::::1;::::0;23085:60:::1;::::0;;-1:-1:-1;;;;;15725:15:125;;;15707:34;;15777:15;;15757:18;;;15750:43;;;;15809:18;;15802:34;23085:60:115::1;::::0;15634:2:125;15619:18;23085:60:115::1;;;;;;;22664:488;2303:20:28::0;1716:1;2809:7;:22;2629:209;17154:229:115;17219:17;:15;:17::i;:::-;17273:4;;:20;;-1:-1:-1;;;17273:20:115;;;;;689:25:125;;;17246:16:115;;-1:-1:-1;;;;;17273:4:115;;:12;;662:18:125;;17273:20:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17273:20:115;;;;;;;;;;;;:::i;:::-;:29;;;17246:57;;17313:28;17332:8;17313:18;:28::i;:::-;17351:25;17367:8;17351:15;:25::i;16320:313::-;16382:17;:15;:17::i;:::-;16436:4;;:20;;-1:-1:-1;;;16436:20:115;;;;;689:25:125;;;16409:16:115;;-1:-1:-1;;;;;16436:4:115;;:12;;662:18:125;;16436:20:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16436:20:115;;;;;;;;;;;;:::i;:::-;:29;;;16409:57;;16476:28;16495:8;16476:18;:28::i;:::-;16518:60;-1:-1:-1;;;;;16518:26:115;;-1:-1:-1;;;16518:26:115;:60::i;:::-;16514:113;;;16594:22;16607:8;16594:12;:22::i;7909:1945::-;7996:48;8023:6;:19;;;7996:18;:48::i;:::-;8054:39;8073:6;:19;;;8054:18;:39::i;:::-;8122:12;;8103:32;;:18;:32::i;:::-;8145:43;8164:6;:23;;;8145:18;:43::i;:::-;8198:44;8217:6;:24;;;8198:18;:44::i;:::-;8257:20;;;;:25;8253:95;;8298:39;8317:6;:19;;;8298:18;:39::i;:::-;8370:12;;8357:4;:26;;-1:-1:-1;;;;;8357:26:115;;;-1:-1:-1;;;;;;8357:26:115;;;;;;;8407:19;;;;8393:11;:33;;;;;;;;;;;8440:27;;;;8370:12;8440:32;8436:89;;8495:19;;;;;;;;;;;;;;8436:89;8556:27;;;;8534:19;:49;8608:20;;;;8593:12;:35;8654:21;;;;8638:13;:37;;-1:-1:-1;;8638:37:115;;;;;;;;;;8701:21;;;;8685:13;;:37;;:13;:37;:::i;:::-;-1:-1:-1;8751:23:115;;;;8732:16;;:42;;:16;:42;:::i;:::-;-1:-1:-1;8802:23:115;;;;8784:15;:41;;-1:-1:-1;;;;;;8784:41:115;;;-1:-1:-1;;;;;8784:41:115;;;;;;;8849:19;;;;8835:11;:33;;;;;;;;;;;;;8784:41;8898:19;;;8878:11;:40;;;;;;;;;;8947:24;;;;8928:16;:43;;;;;;;;;;;;;8982:54;;2090:34;;8982:10;:54::i;:::-;9068:4;;;;;;;;;-1:-1:-1;;;;;9068:4:115;-1:-1:-1;;;;;9068:16:115;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9047:8;:40;;-1:-1:-1;;;;;;9047:40:115;-1:-1:-1;;;;;9047:40:115;;;;;;9124:11;;:23;;;;;;;;-1:-1:-1;;9124:11:115;;;;;:21;;:23;;;;;-1:-1:-1;;9124:23:115;;;;;;;;:11;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9124:23:115;;;;;;;;;;;;:::i;:::-;9098:49;;9157:36;9210:6;:13;9226:1;9210:17;;;;:::i;:::-;9196:32;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9196:32:115;;9157:71;;9244:9;9239:103;9263:6;:13;9259:1;:17;9239:103;;;9322:6;9329:1;9322:9;;;;;;;;:::i;:::-;;;;;;;9297:19;9317:1;9297:22;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9297:34:115;;;:22;;;;;;;;;;;:34;9278:3;;;;:::i;:::-;;;;9239:103;;;-1:-1:-1;9414:11:115;;9372:26;;-1:-1:-1;;;;;9414:11:115;;;;9352:19;;9372:30;;9414:11;;9372:30;:::i;:::-;9352:51;;;;;;;;:::i;:::-;;;;;;:74;-1:-1:-1;;;;;9352:74:115;;;-1:-1:-1;;;;;9352:74:115;;;;;9498:4;9436:19;9485:1;9456:19;:26;:30;;;;:::i;:::-;9436:51;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9436:67:115;;;:51;;;;;;;;;:67;9615:8;;9638:13;;;;9668:16;;;;9615:106;;;;;:8;;;;;:22;;:106;;9638:13;9653;;9694:4;;9701:19;;9615:106;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9591:9;:130;9732:36;;;;:14;;:36;;;;;:::i;:::-;;9784:63;9804:9;;9815:13;9830:6;:16;;;9784:63;;;;;;;;:::i;:::-;;;;;;;;7986:1868;;7909:1945;:::o;9860:341::-;10093:16;;10111:10;:12;;10003:14;;;;;;10075:49;;-1:-1:-1;;;;;10093:16:115;;10003:14;10111:12;;;:::i;:::-;;;;;10075:17;:49::i;:::-;10051:73;;10141:53;10152:13;10167:6;10175:7;10184:9;10141:10;:53::i;:::-;10134:60;;;;;9860:341;;;;;;:::o;18138:171::-;18202:18;;-1:-1:-1;;;;;18202:18:115;18188:10;:32;18184:89;;18243:19;;;;;;;;;;;;;;18184:89;18282:20;:18;:20::i;7070:30::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;21650:453::-;2261:21:28;:19;:21::i;:::-;21726:10:115::1;21746:34;21726:10:::0;21746:25:::1;:34::i;:::-;21790:32;21814:7;21790:23;:32::i;:::-;-1:-1:-1::0;;;;;21855:28:115;;::::1;21832:20;21855:28:::0;;;:19:::1;:28;::::0;;;;;;;21832:51;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;;::::0;;;;21900:28;;;-1:-1:-1;;;;;;21893:35:115;;::::1;::::0;;;;;;;-1:-1:-1;;21893:35:115;;::::1;::::0;;;21945:18:::1;:27:::0;;;;;21832:51;;21938:34:::1;::::0;21945:27;21938:34:::1;:::i;:::-;21983:11;::::0;22013:19:::1;::::0;::::1;::::0;21983:50:::1;::::0;-1:-1:-1;;;21983:50:115;;-1:-1:-1;;;;;14843:55:125;;;21983:50:115::1;::::0;::::1;14825:74:125::0;14915:18;;;14908:34;;;;21983:11:115;::::1;::::0;:20:::1;::::0;14798:18:125;;21983:50:115::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;22076:19:115::1;::::0;;::::1;::::0;22048:48:::1;::::0;;-1:-1:-1;;;;;14843:55:125;;14825:74;;14915:18;;;14908:34;;;;22048:48:115::1;::::0;14798:18:125;22048:48:115::1;;;;;;;21698:405;;2303:20:28::0;1716:1;2809:7;:22;2629:209;7697:54:115;7731:20;7684:7;7731:2;:20;:::i;:::-;7697:54;:::o;7037:27::-;;;;;;;:::i;5354:147:25:-;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;21512:132:115:-:0;-1:-1:-1;;;;;3130:29:25;;21575:4:115;3130:29:25;;;:12;;:29;:12;:29;;;;;21598:39:115;3021:145:25;10207:653:115;10391:14;;1829:42;-1:-1:-1;;;;;10471:20:115;;;10467:65;;-1:-1:-1;10515:6:115;10467:65;10552:9;10541:20;;10572:31;10606:14;10572:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10572:48:115;;;;;;;;;;;;;;;;-1:-1:-1;;10640:4:115;;10687:9;;10708:19;;10572:48;;-1:-1:-1;;;;;;10640:4:115;;;;:33;;-1:-1:-1;10687:9:115;;-1:-1:-1;10698:8:115;;-1:-1:-1;10708:19:115;;10719:7;;10708:19;;;:::i;:::-;;;;;;;;;;;;;10729:5;10736:1;10739:9;10750:14;10640:134;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10631:143;;10790:63;10802:6;10810:8;10828:4;10835:6;10843:9;10790:63;;;;;;;;;;:::i;:::-;;;;;;;;10425:435;;10207:653;;;;;;;:::o;3564:155::-;3650:10;3107:4:25;3130:29;;;:12;;:29;:12;:29;;;;;3614:99:115;;3684:18;;;;;;;;;;;;;;3874:156;-1:-1:-1;;;;;18423:28:115;;;18371:14;18423:28;;;:19;:28;;;;;;;;;18397:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3949:75;;3994:19;;-1:-1:-1;;;3994:19:115;;;;;;;;;;;4036:162;-1:-1:-1;;;;;4112:28:115;;;;;;:17;:28;;;;;;;;4107:85;;4163:18;;;;;;;;;;;;;;17015:133;-1:-1:-1;;;;;17089:22:115;;17085:56;;17120:21;;;;;;;;;;;;;;17389:186;17452:29;17471:9;17452:18;:29::i;:::-;-1:-1:-1;;;;;17491:28:115;;17522:5;17491:28;;;:17;:28;;;;;;;;;:36;;-1:-1:-1;;17491:36:115;;;17542:26;;2818:74:125;;;17542:26:115;;2791:18:125;17542:26:115;2672:226:125;16765:244:115;-1:-1:-1;;;;;16832:31:115;;;;;;:17;:31;;;;;;;;16828:85;;;16886:16;;;;;;;;;;;;;;16828:85;-1:-1:-1;;;;;16922:31:115;;;;;;:17;:31;;;;;;;;;:38;;-1:-1:-1;;16922:38:115;16956:4;16922:38;;;16975:27;;2818:74:125;;;16975:27:115;;2791:18:125;16975:27:115;2672:226:125;4204:171:115;4307:9;-1:-1:-1;;;;;4296:20:115;:7;-1:-1:-1;;;;;4296:20:115;;4292:77;;4339:19;;;;;;;;;;;;;;12748:425;-1:-1:-1;;;;;12874:27:115;;12837:34;12874:27;;;:18;:27;;;;;;12911:256;12935:23;;12931:27;;12911:256;;;13006:9;-1:-1:-1;;;;;12983:32:115;:16;13000:1;12983:19;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;12983:19:115;:32;12979:178;;13074:23;;13057:16;;13074:27;;13100:1;;13074:27;:::i;:::-;13057:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13057:45:115;13035:16;13052:1;13035:19;;;;;;;;:::i;:::-;;;;;;;;;:67;;;;;-1:-1:-1;;;;;13035:67:115;;;;;-1:-1:-1;;;;;13035:67:115;;;;;;13120:16;:22;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;13120:22:115;;;;;-1:-1:-1;;;;;;13120:22:115;;;;;;12979:178;12960:3;;;;:::i;:::-;;;;12911:256;;;;12827:346;12748:425;;:::o;3460:103:25:-;3526:30;3537:4;719:10:35;3526::25;:30::i;7587:233::-;3107:4;3130:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3130:29:25;;;;;;;;;;;;7665:149;;7708:12;;;;7740:4;7708:12;;;;;;;;-1:-1:-1;;;;;7708:29:25;;;;;;;;;;:36;;-1:-1:-1;;7708:36:25;;;;;;;7763:40;;719:10:35;;7708:12:25;;7763:40;;7708:12;7763:40;7587:233;;:::o;2336:287:28:-;1759:1;2468:7;;:19;2460:63;;;;-1:-1:-1;;;2460:63:28;;30349:2:125;2460:63:28;;;30331:21:125;30388:2;30368:18;;;30361:30;30427:33;30407:18;;;30400:61;30478:18;;2460:63:28;30147:355:125;2460:63:28;1759:1;2598:7;:18;2336:287::o;6994:145:66:-;7061:71;7124:2;7128;7077:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7077:54:66;;;;;;;;;;;;;;-1:-1:-1;;;;;7077:54:66;;;;;7061:15;:71::i;1355:203:33:-;1482:68;;-1:-1:-1;;;;;15725:15:125;;;1482:68:33;;;15707:34:125;15777:15;;15757:18;;;15750:43;15809:18;;;15802:34;;;1455:96:33;;1475:5;;1505:27;;15619:18:125;;1482:68:33;;;;-1:-1:-1;;1482:68:33;;;;;;;;;;;;;;-1:-1:-1;;;;;1482:68:33;-1:-1:-1;;;;;;1482:68:33;;;;;;;;;;1455:19;:96::i;6548:139:66:-;6612:68;6672:2;6676;6628:51;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6628:51:66;;;;;;;;;;;;;;-1:-1:-1;;;;;6628:51:66;;;;;6612:15;:68::i;941:175:33:-;1050:58;;-1:-1:-1;;;;;14843:55:125;;1050:58:33;;;14825:74:125;14915:18;;;14908:34;;;1023:86:33;;1043:5;;-1:-1:-1;;;1073:23:33;14798:18:125;;1050:58:33;14643:305:125;7991:234:25;3107:4;3130:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3130:29:25;;;;;;;;;;;;8070:149;;;8144:5;8112:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8112:29:25;;;;;;;;;;:37;;-1:-1:-1;;8112:37:25;;;8168:40;719:10:35;;8112:12:25;;8168:40;;8144:5;8168:40;7991:234;;:::o;3725:143:115:-;3798:10;18371:14;18423:28;;;:19;:28;;;;;;;;;18397:54;;;;;;;;;-1:-1:-1;;;;;18397:54:115;;;;;;;;;;;;;;;;;;;;;;;;;;3784:78;;3832:19;;-1:-1:-1;;;3832:19:115;;;;;;;;;;;1349:282:38;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:38:o;22109:466:115:-;-1:-1:-1;;;;;22214:27:115;;22178:33;22214:27;;;:18;:27;;;;;;;;22178:63;;;;;;;;;;;;;;;;;;;22214:27;;22178:63;;;22214:27;22178:63;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22178:63:115;;;;;;;;;;;;;;;;;;;;;;;22322:9;22317:252;22341:16;:23;22337:1;:27;22317:252;;;22512:16;22529:1;22512:19;;;;;;;;:::i;:::-;;;;;;;;;;;22497:61;;;;;-1:-1:-1;;;;;2836:55:125;;;22497:61:115;;;2818:74:125;22497:52:115;;;;;;2791:18:125;;22497:61:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22366:3;;;;;:::i;:::-;;;;22317:252;;4749:279:6;4867:36;;-1:-1:-1;;4884:10:6;31325:2:125;31321:15;31317:53;4867:36:6;;;31305:66:125;31387:12;;;31380:28;;;4823:7:6;;;;31424:12:125;;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;17953:179:115:-;18022:18;;;18002:11;:39;;-1:-1:-1;;;;;18022:18:115;;-1:-1:-1;;;;;;18002:39:115;;;;;;;18051:25;;;18091:34;;-1:-1:-1;2818:74:125;;18091:34:115;;2806:2:125;2791:18;18091:34:115;;;;;;;17953:179::o;3844:479:25:-;3107:4;3130:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3130:29:25;;;;;;;;;;;;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:25;;;;;;;;;;-1:-1:-1;;;3970:336:25;;;;;;;:::i;181:376:66:-;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;5196:642:33:-;5615:23;5641:69;5669:4;5641:69;;;;;;;;;;;;;;;;;5649:5;-1:-1:-1;;;;;5641:27:33;;;:69;;;;;:::i;:::-;5615:95;;5728:10;:17;5749:1;5728:22;:56;;;;5765:10;5754:30;;;;;;;;;;;;:::i;:::-;5720:111;;;;-1:-1:-1;;;5720:111:33;;32705:2:125;5720:111:33;;;32687:21:125;32744:2;32724:18;;;32717:30;32783:34;32763:18;;;32756:62;32854:12;32834:18;;;32827:40;32884:19;;5720:111:33;32503:406:125;704:427:38;768:4;975:68;1008:7;-1:-1:-1;;;975:32:38;:68::i;:::-;:149;;;;-1:-1:-1;1060:64:38;1093:7;-1:-1:-1;;;;;;1060:32:38;:64::i;:::-;1059:65;956:168;704:427;-1:-1:-1;;704:427:38:o;4421:647::-;4592:71;;;-1:-1:-1;;;;;;33076:79:125;;4592:71:38;;;;33058:98:125;;;;4592:71:38;;;;;;;;;;33031:18:125;;;;4592:71:38;;;;;;;;;-1:-1:-1;;;;;4592:71:38;-1:-1:-1;;;4592:71:38;;;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:38:o;2118:794:14:-;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:14;;2847:58;;;;-1:-1:-1;;;2847:58:14;;33369:2:125;2847:58:14;;;33351:21:125;33408:2;33388:18;;;33381:30;33447:25;33427:18;;;33420:53;33490:18;;2847:58:14;33167:347:125;2407:149:36;2465:13;2497:52;-1:-1:-1;;;;;2509:22:36;;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:36;;1918:47;;1975:15;:6;1982:1;1975:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1975:15:36;;;;;;;;;2000;:6;2007:1;2000:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2000:15:36;;;;;;;;-1:-1:-1;2030:9:36;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:36;;;;;;;;-1:-1:-1;2141:1:36;2131:11;;;;;2065:3;;;:::i;:::-;;;2025:128;;;-1:-1:-1;2170:10:36;;2162:55;;;;-1:-1:-1;;;2162:55:36;;33862:2:125;2162:55:36;;;33844:21:125;;;33881:18;;;33874:30;33940:34;33920:18;;;33913:62;33992:18;;2162:55:36;33660:356:125;4108:223:34;4241:12;4272:52;4294:6;4302:4;4308:1;4311:12;4241;5446;5460:23;5487:6;-1:-1:-1;;;;;5487:11:34;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:34;;;8113:60;;;;-1:-1:-1;;;8113:60:34;;34922:2:125;8113:60:34;;;34904:21:125;34961:2;34941:18;;;34934:30;35000:31;34980:18;;;34973:59;35049:18;;8113:60:34;34720:353:125;8113:60:34;-1:-1:-1;8208:10:34;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:34;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:332:125;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:125;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:125;;907:180;-1:-1:-1;907:180:125:o;1092:154::-;-1:-1:-1;;;;;1171:5:125;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:125;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:125: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:125;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:125;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:125:o;6117:187::-;6166:4;6199:18;6191:6;6188:30;6185:56;;;6221:18;;:::i;:::-;-1:-1:-1;6287:2:125;6266:15;-1:-1:-1;;6262:29:125;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:125: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:125: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:125;9598:416;-1:-1:-1;9598:416:125: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:125: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:125;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:125;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:125;12272:39;;;;12313:4;12268:50;;12053:271;-1:-1:-1;;12053:271:125:o;12329:220::-;12478:2;12467:9;12460:21;12441:4;12498:45;12539:2;12528:9;12524:18;12516:6;12498:45;:::i;13046:759::-;13193:6;13201;13209;13217;13270:3;13258:9;13249:7;13245:23;13241:33;13238:53;;;13287:1;13284;13277:12;13238:53;13326:9;13313:23;13345:31;13370:5;13345:31;:::i;:::-;13395:5;-1:-1:-1;13452:2:125;13437:18;;13424:32;13465:33;13424:32;13465:33;:::i;:::-;13517:7;-1:-1:-1;13543:63:125;13598:7;13593:2;13578:18;;13543:63;:::i;:::-;13533:73;;13657:3;13646:9;13642:19;13629:33;13685:18;13677:6;13674:30;13671:50;;;13717:1;13714;13707:12;13671:50;13740:59;13791:7;13782:6;13771:9;13767:22;13740:59;:::i;:::-;13730:69;;;13046:759;;;;;;;:::o;13810:184::-;-1:-1:-1;;;13859:1:125;13852:88;13959:4;13956:1;13949:15;13983:4;13980:1;13973:15;13999:168;14072:9;;;14103;;14120:15;;;14114:22;;14100:37;14090:71;;14141:18;;:::i;14172:184::-;-1:-1:-1;;;14221:1:125;14214:88;14321:4;14318:1;14311:15;14345:4;14342:1;14335:15;14361:277;14448:6;14501:2;14489:9;14480:7;14476:23;14472:32;14469:52;;;14517:1;14514;14507:12;14469:52;14549:9;14543:16;14568:40;14602:5;14568:40;:::i;14953:184::-;15023:6;15076:2;15064:9;15055:7;15051:23;15047:32;15044:52;;;15092:1;15089;15082:12;15044:52;-1:-1:-1;15115:16:125;;14953:184;-1:-1:-1;14953:184:125:o;16179:274::-;16219:1;16245;16235:189;;-1:-1:-1;;;16277:1:125;16270:88;16381:4;16378:1;16371:15;16409:4;16406:1;16399:15;16235:189;-1:-1:-1;16438:9:125;;16179:274::o;16458:125::-;16523:9;;;16544:10;;;16541:36;;;16557:18;;:::i;16588:251::-;16658:6;16711:2;16699:9;16690:7;16686:23;16682:32;16679:52;;;16727:1;16724;16717:12;16679:52;16759:9;16753:16;16778:31;16803:5;16778:31;:::i;17600:184::-;-1:-1:-1;;;17649:1:125;17642:88;17749:4;17746:1;17739:15;17773:4;17770:1;17763:15;17789:135;17828:3;17849:17;;;17846:43;;17869:18;;:::i;:::-;-1:-1:-1;17916:1:125;17905:13;;17789:135::o;17929:128::-;17996:9;;;18017:11;;;18014:37;;;18031:18;;:::i;18315:184::-;-1:-1:-1;;;18364:1:125;18357:88;18464:4;18461:1;18454:15;18488:4;18485:1;18478:15;18504:245;18571:6;18624:2;18612:9;18603:7;18599:23;18595:32;18592:52;;;18640:1;18637;18630:12;18592:52;18672:9;18666:16;18691:28;18713:5;18691:28;:::i;18754:1653::-;18846:6;18877:2;18920;18908:9;18899:7;18895:23;18891:32;18888:52;;;18936:1;18933;18926:12;18888:52;18969:9;18963:16;18998:18;19039:2;19031:6;19028:14;19025:34;;;19055:1;19052;19045:12;19025:34;19078:22;;;;19134:4;19116:16;;;19112:27;19109:47;;;19152:1;19149;19142:12;19109:47;19178:22;;:::i;:::-;19229:2;19223:9;19216:5;19209:24;19271:2;19267;19263:11;19257:18;19284:33;19309:7;19284:33;:::i;:::-;19333:14;;;19326:31;19395:2;19387:11;;19381:18;19408:33;19381:18;19408:33;:::i;:::-;19468:2;19457:14;;19450:31;19520:2;19512:11;;19506:18;19536:16;;;19533:36;;;19565:1;19562;19555:12;19533:36;19588:17;;19639:2;19621:16;;;19617:25;19614:45;;;19655:1;19652;19645:12;19614:45;19683:22;;:::i;:::-;19736:2;19730:9;19721:7;19714:26;19779:2;19775;19771:11;19765:18;19808:2;19798:8;19795:16;19792:36;;;19824:1;19821;19814:12;19792:36;19847:17;;;-1:-1:-1;19895:4:125;19887:13;;19883:27;-1:-1:-1;19873:55:125;;19924:1;19921;19914:12;19873:55;19953:2;19947:9;19937:19;;19978:49;19994:32;20023:2;19994:32;:::i;19978:49::-;20050:2;20043:5;20036:17;20090:7;20085:2;20080;20076;20072:11;20068:20;20065:33;20062:53;;;20111:1;20108;20101:12;20062:53;20124:67;20188:2;20183;20176:5;20172:14;20167:2;20163;20159:11;20124:67;:::i;:::-;20207:16;;;20200:31;;;;-1:-1:-1;20258:2:125;20247:14;;20240:31;;;;-1:-1:-1;20318:3:125;20310:12;;;20304:19;20287:15;;;20280:44;20371:3;20363:12;;;20357:19;20340:15;;;20333:44;20251:5;18754:1653;-1:-1:-1;;;18754:1653:125:o;20412:437::-;20491:1;20487:12;;;;20534;;;20555:61;;20609:4;20601:6;20597:17;20587:27;;20555:61;20662:2;20654:6;20651:14;20631:18;20628:38;20625:218;;-1:-1:-1;;;20696:1:125;20689:88;20800:4;20797:1;20790:15;20828:4;20825:1;20818:15;20625:218;;20412:437;;;:::o;20980:545::-;21082:2;21077:3;21074:11;21071:448;;;21118:1;21143:5;21139:2;21132:17;21188:4;21184:2;21174:19;21258:2;21246:10;21242:19;21239:1;21235:27;21229:4;21225:38;21294:4;21282:10;21279:20;21276:47;;;-1:-1:-1;21317:4:125;21276:47;21372:2;21367:3;21363:12;21360:1;21356:20;21350:4;21346:31;21336:41;;21427:82;21445:2;21438:5;21435:13;21427:82;;;21490:17;;;21471:1;21460:13;21427:82;;;21431:3;;;20980:545;;;:::o;21701:1352::-;21827:3;21821:10;21854:18;21846:6;21843:30;21840:56;;;21876:18;;:::i;:::-;21905:97;21995:6;21955:38;21987:4;21981:11;21955:38;:::i;:::-;21949:4;21905:97;:::i;:::-;22057:4;;22121:2;22110:14;;22138:1;22133:663;;;;22840:1;22857:6;22854:89;;;-1:-1:-1;22909:19:125;;;22903:26;22854:89;-1:-1:-1;;21658:1:125;21654:11;;;21650:24;21646:29;21636:40;21682:1;21678:11;;;21633:57;22956:81;;22103:944;;22133:663;20927:1;20920:14;;;20964:4;20951:18;;-1:-1:-1;;22169:20:125;;;22287:236;22301:7;22298:1;22295:14;22287:236;;;22390:19;;;22384:26;22369:42;;22482:27;;;;22450:1;22438:14;;;;22317:19;;22287:236;;;22291:3;22551:6;22542:7;22539:19;22536:201;;;22612:19;;;22606:26;-1:-1:-1;;22695:1:125;22691:14;;;22707:3;22687:24;22683:37;22679:42;22664:58;22649:74;;22536:201;-1:-1:-1;;;;;22783:1:125;22767:14;;;22763:22;22750:36;;-1:-1:-1;21701:1352:125:o;23058:1011::-;23153:6;23184:2;23227;23215:9;23206:7;23202:23;23198:32;23195:52;;;23243:1;23240;23233:12;23195:52;23276:9;23270:16;23305:18;23346:2;23338:6;23335:14;23332:34;;;23362:1;23359;23352:12;23332:34;23400:6;23389:9;23385:22;23375:32;;23445:7;23438:4;23434:2;23430:13;23426:27;23416:55;;23467:1;23464;23457:12;23416:55;23496:2;23490:9;23518:2;23514;23511:10;23508:36;;;23524:18;;:::i;:::-;23570:2;23567:1;23563:10;23553:20;;23593:28;23617:2;23613;23609:11;23593:28;:::i;:::-;23655:15;;;23725:11;;;23721:20;;;23686:12;;;;23753:19;;;23750:39;;;23785:1;23782;23775:12;23750:39;23809:11;;;;23829:210;23845:6;23840:3;23837:15;23829:210;;;23918:3;23912:10;23899:23;;23935:31;23960:5;23935:31;:::i;:::-;23979:18;;;23862:12;;;;24017;;;;23829:210;;;24058:5;23058:1011;-1:-1:-1;;;;;;;;23058:1011:125:o;24074:772::-;24124:3;24165:5;24159:12;24194:36;24220:9;24194:36;:::i;:::-;24239:19;;;24277:4;24300:1;24317:18;;;24344:146;;;;24504:1;24499:341;;;;24310:530;;24344:146;-1:-1:-1;;24386:24:125;;24372:12;;;24365:46;24458:14;;24451:22;24448:1;24444:30;24435:40;;24431:49;;;-1:-1:-1;24344:146:125;;24499:341;24530:5;24527:1;24520:16;24577:2;24574:1;24564:16;24602:1;24616:174;24630:6;24627:1;24624:13;24616:174;;;24717:14;;24699:11;;;24695:20;;24688:44;24760:16;;;;24645:10;;24616:174;;;24814:11;;24810:20;;;-1:-1:-1;;24310:530:125;;;;;;24074:772;;;;:::o;24851:252::-;24938:5;24932:12;24927:3;24920:25;24902:3;24991:4;24984:5;24980:16;24974:23;25029:4;25022;25017:3;25013:14;25006:28;25050:47;25091:4;25086:3;25082:14;25068:12;25050:47;:::i;25108:484::-;25161:3;25199:5;25193:12;25226:6;25221:3;25214:19;25252:4;25281:2;25276:3;25272:12;25265:19;;25318:2;25311:5;25307:14;25339:1;25349:218;25363:6;25360:1;25357:13;25349:218;;;25428:13;;-1:-1:-1;;;;;25424:62:125;25412:75;;25507:12;;;;25542:15;;;;25385:1;25378:9;25349:218;;;-1:-1:-1;25583:3:125;;25108:484;-1:-1:-1;;;;;25108:484:125:o;25597:827::-;25957:6;25946:9;25939:25;26000:3;25995:2;25984:9;25980:18;25973:31;25920:4;26027:54;26076:3;26065:9;26061:19;26053:6;26027:54;:::i;:::-;26129:9;26121:6;26117:22;26112:2;26101:9;26097:18;26090:50;26163:42;26198:6;26190;26163:42;:::i;:::-;26149:56;;-1:-1:-1;;;;;26245:6:125;26241:55;26236:2;26225:9;26221:18;26214:83;26346:9;26338:6;26334:22;26328:3;26317:9;26313:19;26306:51;26374:44;26411:6;26403;26374:44;:::i;26618:500::-;26872:6;26861:9;26854:25;26915:2;26910;26899:9;26895:18;26888:30;26835:4;26941:53;26990:2;26979:9;26975:18;26967:6;26941:53;:::i;:::-;27042:9;27034:6;27030:22;27025:2;27014:9;27010:18;27003:50;27070:42;27105:6;27097;27070:42;:::i;:::-;27062:50;26618:500;-1:-1:-1;;;;;;26618:500:125:o;27123:142::-;27206:1;27199:5;27196:12;27186:46;;27212:18;;:::i;:::-;27241;;27123:142::o;27365:1129::-;27527:4;27569:3;27558:9;27554:19;27546:27;;-1:-1:-1;;;;;27610:6:125;27604:13;27600:62;27589:9;27582:81;27719:4;27711:6;27707:17;27701:24;27694:4;27683:9;27679:20;27672:54;27782:4;27774:6;27770:17;27764:24;27757:4;27746:9;27742:20;27735:54;27845:4;27837:6;27833:17;27827:24;27820:4;27809:9;27805:20;27798:54;27908:4;27900:6;27896:17;27890:24;27883:4;27872:9;27868:20;27861:54;27962:4;27954:6;27950:17;27944:24;28004:1;27990:12;27987:19;27977:53;;28010:18;;:::i;:::-;28068:12;28061:4;28050:9;28046:20;28039:42;;28130:4;28122:6;28118:17;28112:24;28145:65;28204:4;28193:9;28189:20;28173:14;28145:65;:::i;:::-;;28259:4;28251:6;28247:17;28241:24;28274:73;28341:4;28330:9;28326:20;28310:14;27345:12;27333:25;;27270:90;28274:73;-1:-1:-1;28366:6:125;28409:15;;;28403:22;-1:-1:-1;;;;;2606:54:125;28469:18;;;;2594:67;27365:1129;:::o;28499:1002::-;28924:6;28913:9;28906:25;28887:4;-1:-1:-1;;;;;29040:2:125;29032:6;29028:15;29023:2;29012:9;29008:18;29001:43;29080:3;29075:2;29064:9;29060:18;29053:31;29107:46;29148:3;29137:9;29133:19;29125:6;29107:46;:::i;:::-;29201:2;29193:6;29189:15;29184:2;29173:9;29169:18;29162:43;29242:6;29236:3;29225:9;29221:19;29214:35;29298:9;29290:6;29286:22;29280:3;29269:9;29265:19;29258:51;29332:42;29367:6;29359;29332:42;:::i;:::-;29318:56;;;29423:9;29415:6;29411:22;29405:3;29394:9;29390:19;29383:51;29451:44;29488:6;29480;29451:44;:::i;:::-;29443:52;28499:1002;-1:-1:-1;;;;;;;;;;28499:1002:125:o;29506:636::-;29799:6;29788:9;29781:25;29762:4;-1:-1:-1;;;;;29915:2:125;29907:6;29903:15;29898:2;29887:9;29883:18;29876:43;29967:2;29959:6;29955:15;29950:2;29939:9;29935:18;29928:43;30019:2;30011:6;30007:15;30002:2;29991:9;29987:18;29980:43;;30060:3;30054;30043:9;30039:19;30032:32;30081:55;30131:3;30120:9;30116:19;30108:6;30081:55;:::i;30507:340::-;30684:2;30673:9;30666:21;30647:4;30704:45;30745:2;30734:9;30730:18;30722:6;30704:45;:::i;:::-;30696:53;;-1:-1:-1;;;;;30789:6:125;30785:55;30780:2;30769:9;30765:18;30758:83;30507:340;;;;;:::o;30852:291::-;31029:2;31018:9;31011:21;30992:4;31049:45;31090:2;31079:9;31075:18;31067:6;31049:45;:::i;:::-;31041:53;;31130:6;31125:2;31114:9;31110:18;31103:34;30852:291;;;;;:::o;31686:812::-;32097:25;32092:3;32085:38;32067:3;32152:6;32146:13;32168:75;32236:6;32231:2;32226:3;32222:12;32215:4;32207:6;32203:17;32168:75;:::i;:::-;32307:19;32302:2;32262:16;;;32294:11;;;32287:40;32352:13;;32374:76;32352:13;32436:2;32428:11;;32421:4;32409:17;;32374:76;:::i;:::-;32470:17;32489:2;32466:26;;31686:812;-1:-1:-1;;;;31686:812:125:o;33519:136::-;33558:3;33586:5;33576:39;;33595:18;;:::i;:::-;-1:-1:-1;;;33631:18:125;;33519:136::o;34428:287::-;34557:3;34595:6;34589:13;34611:66;34670:6;34665:3;34658:4;34650:6;34646:17;34611:66;:::i;:::-;34693:16;;;;;34428:287;-1:-1:-1;;34428:287:125: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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"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\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x9a0dba4c62abd4bc2887a8fec229c2e1916ba0d8bc7bbc8da712188552650752\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://48a99a5af361529ac37e477e3195d6a9355ff5ab2ef3e4d002d80a404da6e4dd\",\"dweb:/ipfs/Qmf8BsNJcG2Lno4gjUV3DfDsDsgNGrCLRMTXkWkm4JnM6u\"]},\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0xf57d2536496fa592ffed2901d5d56e330d7c70955508b9d2ffa60aad76f42586\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://958bc6c5ef6816c7613ee98fa69b002efb6b85b3e4a8448ec2dd20d45d3a68e1\",\"dweb:/ipfs/QmNQtPpCqzvSCf9QVPaaBUvpYWzxCLhp1UWq94qziSagXf\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0x1c576e15a5543c06e92cb45f7162a2aa5dac1a276088ec323f5c0438f69c2e52\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://60cb3de95b895d81666b3899a5d73d620742a5c98558ad9799c0464da7b3ab55\",\"dweb:/ipfs/QmReM4jMH5Vc6gGeo7UtHFruHVnqY2rWaecXr1FwDmA6gE\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]}},\"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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"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"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x9a0dba4c62abd4bc2887a8fec229c2e1916ba0d8bc7bbc8da712188552650752","urls":["bzz-raw://48a99a5af361529ac37e477e3195d6a9355ff5ab2ef3e4d002d80a404da6e4dd","dweb:/ipfs/Qmf8BsNJcG2Lno4gjUV3DfDsDsgNGrCLRMTXkWkm4JnM6u"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0xf57d2536496fa592ffed2901d5d56e330d7c70955508b9d2ffa60aad76f42586","urls":["bzz-raw://958bc6c5ef6816c7613ee98fa69b002efb6b85b3e4a8448ec2dd20d45d3a68e1","dweb:/ipfs/QmNQtPpCqzvSCf9QVPaaBUvpYWzxCLhp1UWq94qziSagXf"],"license":"MIT"},"pkg/contracts/src/RegistryCommunity.sol":{"keccak256":"0x1c576e15a5543c06e92cb45f7162a2aa5dac1a276088ec323f5c0438f69c2e52","urls":["bzz-raw://60cb3de95b895d81666b3899a5d73d620742a5c98558ad9799c0464da7b3ab55","dweb:/ipfs/QmReM4jMH5Vc6gGeo7UtHFruHVnqY2rWaecXr1FwDmA6gE"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"}},"version":1},"id":115} \ 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":"0x60806040523480156200001157600080fd5b506001600090815562000046907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b906200004c565b62000099565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b61465580620000a96000396000f3fe608060405234801561001057600080fd5b506004361061036d5760003560e01c80636c53db9a116101d3578063a230c52411610104578063d547741f116100a2578063db61d65c1161007c578063db61d65c1461086c578063ebd7dc521461087f578063f86c5f8914610892578063ff6409ef146108a557600080fd5b8063d547741f1461083d578063d6d8428d14610850578063d7050f071461086357600080fd5b8063b64e39af116100de578063b64e39af14610810578063b99b437014610825578063bc063e1a1461082d578063c6d572ae1461083557600080fd5b8063a230c5241461079e578063b3f00674146107f5578063b5058c501461080857600080fd5b80638961be6b1161017157806397991cfa1161014b57806397991cfa14610724578063a0b21cdf14610754578063a0cf0aea1461077b578063a217fddf1461079657600080fd5b80638961be6b146106cf57806391d14854146106d857806396f0adec1461071157600080fd5b806378a0b8a9116101ad57806378a0b8a91461063d5780637b1039991461064657806382d6a1e71461065957806388cfe6841461066c57600080fd5b80636c53db9a146105de57806373265c37146105f15780637817ee4f1461060457600080fd5b80632f2ff15d116102ad578063477a5cc01161024b5780635ecf71c5116102255780635ecf71c51461057a57806365e3864c1461058d5780636871eb4d146105b857806368decabb146105cb57600080fd5b8063477a5cc014610526578063559de05d146105545780635c94e4d21461056757600080fd5b80633517aa7d116102875780633517aa7d146104d557806336568abe146104dd578063397e2543146104f05780633a871fe11461050357600080fd5b80632f2ff15d146104a657806331f61bca146104b957806333960459146104cc57600080fd5b80631f787d281161031a578063248a9ca3116102f4578063248a9ca31461042357806328c309e9146104475780632b38c69c1461044f5780632c611c4a1461047a57600080fd5b80631f787d28146103f0578063223e5479146103fd57806322bcf9991461041057600080fd5b80630d12bbdb1161034b5780630d12bbdb146103b55780630d4a8b49146103ca578063175188e8146103dd57600080fd5b806301ffc9a7146103725780630331383c1461039a57806308386eba146103ac575b600080fd5b61038561038036600461377d565b6108b8565b60405190151581526020015b60405180910390f35b6003545b604051908152602001610391565b61039e60055481565b6103c86103c33660046137a7565b610908565b005b6103c86103d83660046137e5565b610992565b6103c86103eb36600461381e565b610cf9565b6002546103859060ff1681565b6103c861040b36600461381e565b610d0d565b6103c861041e3660046137e5565b610d1e565b61039e6104313660046137a7565b6000908152600160208190526040909120015490565b61039e610e2d565b61046261045d36600461383b565b610f17565b6040516001600160a01b039091168152602001610391565b61039e61048836600461381e565b6001600160a01b031660009081526013602052604090206001015490565b6103c86104b4366004613867565b610f4f565b6103c86104c73660046137a7565b610f7a565b61039e60095481565b6103c8610fb7565b6103c86104eb366004613867565b6113bc565b6103c86104fe36600461381e565b61144d565b61038561051136600461381e565b60116020526000908152604090205460ff1681565b6103856105343660046137e5565b601560209081526000928352604080842090915290825290205460ff1681565b6103c86105623660046137a7565b6114ba565b600854610462906001600160a01b031681565b6103c86105883660046137a7565b611794565b61039e61059b3660046137e5565b601260209081526000928352604080842090915290825290205481565b6103c86105c63660046137e5565b611b4e565b600a54610462906001600160a01b031681565b600d54610462906001600160a01b031681565b6103c86105ff3660046137a7565b611d59565b61039e6106123660046137e5565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b61039e60035481565b600b54610462906001600160a01b031681565b6103c86106673660046137a7565b611deb565b6106a861067a36600461381e565b6013602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b0390941684526020840192909252151590820152606001610391565b61039e60045481565b6103856106e6366004613867565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6103c861071f366004613a50565b611e9c565b610737610732366004613cab565b612388565b604080519283526001600160a01b03909116602083015201610391565b61039e7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b61046273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61039e600081565b6103856107ac36600461381e565b6001600160a01b039081166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b600654610462906001600160a01b031681565b6103c86123d2565b61081861241e565b6040516103919190613d5e565b6103c86124ac565b61039e61260f565b61081861261f565b6103c861084b366004613867565b61262c565b600e54610462906001600160a01b031681565b61039e61271081565b600c54610462906001600160a01b031681565b61038561088d36600461381e565b612652565b600754610462906001600160a01b031681565b6107376108b3366004613d71565b612692565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061090257506301ffc9a760e01b6001600160e01b03198316145b92915050565b610910612811565b61091d612710600a613dfd565b811115610956576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60048190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b61099b82612879565b6109a4816128dc565b6109ad8161292e565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff1615610a0d576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0380831660009081526013602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff161515918301919091526003805490846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abd9190613e2a565b6003811115610ace57610ace613e14565b03610b4d5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b469190613e47565b9050610c3f565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb39190613e2a565b6003811115610bc457610bc4613e14565b14610c3f5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af1158015610c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3c9190613e47565b90505b6001600160a01b038581166000818152601260209081526040808320948916808452948252808320869055838352601582528083208584528252808320805460ff19166001908117909155848452601483528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b610d01612811565b610d0a8161296e565b50565b610d15612811565b610d0a816129c8565b610d2782612879565b610d308161292e565b610d3a3382612a6f565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff16610d99576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000818152601560209081526040808320948616808452948252808320805460ff191690559282526012815282822093825292909252812055610de78282612aba565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b910160405180910390a15050565b6007546000906001600160a01b031681610e4a6127106064613dfd565b600454600354610e5a9190613dfd565b610e649190613e60565b90506000610e756127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190613e47565b600354610eea9190613dfd565b610ef49190613e60565b90508082600354610f059190613e82565b610f0f9190613e82565b935050505090565b60146020528160005260406000208181548110610f3357600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008281526001602081905260409091200154610f6b81612bdc565b610f758383612be6565b505050565b610f82612811565b60038190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f90602001610987565b610fbf612c6d565b33600081815260136020526040812060075490916001600160a01b0390911690610fec6127106064613dfd565b600454600354610ffc9190613dfd565b6110069190613e60565b905060006110176127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190613e47565b60035461108c9190613dfd565b6110969190613e60565b6001600160a01b038087166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190529091506113ab5760028401805460ff191660019081179091556003549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152600c5461114691906001600160a01b0316612cc6565b6111788530838560035461115a9190613e82565b6111649190613e82565b600c546001600160a01b0316929190612d24565b6111b76040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e74000000000000000000000000000081525083612da8565b81156112245760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260065461120791906001600160a01b0316612cc6565b600654600c54611224916001600160a01b03918216911684612e06565b6112636040518060400160405280601081526020017f67617264656e73466565416d6f756e740000000000000000000000000000000081525082612da8565b8015611364576112ec6040518060600160405280602681526020016145fa60269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e79190613e95565b612cc6565b611364836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113519190613e95565b600c546001600160a01b03169083612e06565b600354604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b50505050506113ba6001600055565b565b6001600160a01b038116331461143f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6114498282612e36565b5050565b611455612811565b61145e8161292e565b600a80546001600160a01b0319166001600160a01b03838116918217909255600d546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610987565b6114c2612c6d565b6114ca612eb9565b3360008181526014602090815260408083208054825181850281018501909352808352919290919083018282801561152b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161150d575b50505050509050600080600090505b82518110156116fb5782818151811061155557611555613eb2565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af11580156115b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d49190613e47565b915081156116e9576001600160a01b0384166000908152601260205260408120845184929086908590811061160b5761160b613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546116429190613e82565b925050819055506116e96040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525060126000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815181106116bb576116bb613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054612da8565b806116f381613ec8565b91505061153a565b50600c54611714906001600160a01b0316843087612d24565b6001600160a01b0383166000908152601360205260408120600101805486929061173f908490613e82565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a1505050610d0a6001600055565b61179c612c6d565b6117a4612eb9565b336000818152601460209081526040808320600354601390935290832060010154909291906117d4908690613ee1565b101561180c576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c54611823906001600160a01b03168486612e06565b60005b8254811015611ade57600083828154811061184357611843613eb2565b6000918252602090912001546001600160a01b0316905061186b8163f1801e6160e01b612f18565b15611a12576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156118d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fc9190613e47565b9250600060126000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858154811061193957611939613eb2565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156119a4576040517f8a11f3180000000000000000000000000000000000000000000000000000000081526004810185905260248101829052604401611436565b6001600160a01b038616600090815260126020526040812086548692908890879081106119d3576119d3613eb2565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190611a07908490613ee1565b909155505050611acb565b83548490611a2290600190613ee1565b81548110611a3257611a32613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110611a6257611a62613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480611aa057611aa0613ef4565b600082815260209020810160001990810180546001600160a01b0319169055019055611acb8161296e565b5080611ad681613ec8565b915050611826565b506001600160a01b03831660009081526013602052604081206001018054869290611b0a908490613ee1565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8910161177f565b611b56612c6d565b611b5e612811565b60025460ff16611b9a576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052611bfd57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152611c4b83612f3b565b6001600160a01b03838116600090815260136020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff19169055600c5490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af1158015611cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfd9190613f0a565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a1506114496001600055565b611d61612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611dab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dd39190810190613f27565b602001519050611de28161292e565b6114498161296e565b611df3612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611e3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e659190810190613f27565b602001519050611e748161292e565b611e8e6001600160a01b03821663f1801e6160e01b612f18565b1561144957611449816129c8565b611ea9816020015161292e565b611eb781610100015161292e565b8051611ec29061292e565b611ecf8160a0015161292e565b611edd81610180015161292e565b606081015115611ef457611ef48160c0015161292e565b8051600e80546001600160a01b039283166001600160a01b0319918216179091556020830151600c80549190931691161790556040810151600003611f65576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015160035560608101516004556101408101516002805460ff1916911515919091179055610120810151600f90611f9f90826140d1565b50610160810151601090611fb390826140d1565b5060a0810151600780546001600160a01b03199081166001600160a01b039384161790915560c0830151600680548316918416919091179055610100830151600d8054831682851617905561018084015160088054909316931692909217905561203e907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90612be6565b600e60009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015612091573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b59190613e95565b600b80546001600160a01b0319166001600160a01b03928316179055600d54604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121579190810190614191565b90506000815160026121699190613e82565b67ffffffffffffffff8111156121815761218161388c565b6040519080825280602002602001820160405280156121aa578160200160208202803683370190505b50905060005b825181101561220f578281815181106121cb576121cb613eb2565b60200260200101518282815181106121e5576121e5613eb2565b6001600160a01b03909216602092830291909101909101528061220781613ec8565b9150506121b0565b50600d5481516001600160a01b0390911690829061222f90600190613ee1565b8151811061223f5761223f613eb2565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835161226f9190613ee1565b8151811061227f5761227f613eb2565b6001600160a01b039283166020918202929092010152600b54608085015160e08601516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f926122e79291600f9130908890600401614323565b6020604051808303816000875af1158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613e47565b60055580516123409060169060208401906136e9565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205600554600f8560e0015160405161237b93929190614371565b60405180910390a1505050565b60085460098054600092839283926123b7926001600160a01b031691846123ae83613ec8565b9190505561305d565b90506123c581878787612692565b9250925050935093915050565b600a546001600160a01b03163314612416576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113ba6130b1565b6010805461242b90614049565b80601f016020809104026020016040519081016040528092919081815260200182805461245790614049565b80156124a45780601f10612479576101008083540402835291602001916124a4565b820191906000526020600020905b81548152906001019060200180831161248757829003601f168201915b505050505081565b6124b4612c6d565b336124be81612879565b6124c781612f3b565b6001600160a01b0380821660008181526013602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945560149052918220909161253e919061374e565b600c54602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015612596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ba9190613f0a565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a150506113ba6001600055565b61261c612710600a613dfd565b81565b600f805461242b90614049565b6000828152600160208190526040909120015461264881612bdc565b610f758383612e36565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff16610902565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156126bc5750845b8691506000601680548060200260200160405190810160405280929190818152602001828054801561271757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116126f9575b5050600e546005546040519596506001600160a01b039091169463e1007d4a945090925087915061274c908b906020016143ba565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b81526004016127829796959493929190614452565b6020604051808303816000875af11580156127a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c59190613e47565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a896040516127fe9594939291906144be565b60405180910390a1505094509492505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff166113ba576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038082166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052610d0a57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03811660009081526011602052604090205460ff16610d0a576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116610d0a576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129778161292e565b6001600160a01b038116600081815260116020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49101610987565b6001600160a01b03811660009081526011602052604090205460ff1615612a1b576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815260116020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610987565b806001600160a01b0316826001600160a01b031614611449576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152601460205260408120905b8154811015612bd657826001600160a01b0316828281548110612af957612af9613eb2565b6000918252602090912001546001600160a01b031603612bc45781548290612b2390600190613ee1565b81548110612b3357612b33613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110612b6357612b63613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480612ba157612ba1613ef4565b600082815260209020810160001990810180546001600160a01b03191690550190555b80612bce81613ec8565b915050612ad4565b50505050565b610d0a813361310c565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b600260005403612cbf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401611436565b6002600055565b6114498282604051602401612cdc9291906144f8565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b0380851660248301528316604482015260648101829052612bd69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526131a2565b6114498282604051602401612dbe929190614523565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b038316602482015260448101829052610f7590849063a9059cbb60e01b90606401612d71565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16156114495760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b33600090815260136020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526113ba57604051636a5cfb6d60e01b815260040160405180910390fd5b6000612f238361328a565b8015612f345750612f3483836132bd565b9392505050565b6001600160a01b038116600090815260146020908152604080832080548251818502810185019093528083529192909190830182828015612fa557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612f87575b5050505050905060005b8151811015610f7557818181518110612fca57612fca613eb2565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801561303257600080fd5b505af1158015613046573d6000803e3d6000fd5b50505050808061305590613ec8565b915050612faf565b6040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506130a98482613346565b949350505050565b600a8054600d80546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495761313f816133e3565b61314a8360206133f5565b60405160200161315b929190614545565b60408051601f198184030181529082905262461bcd60e51b825261143691600401613d5e565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006131f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135d69092919063ffffffff16565b90508051600014806132185750808060200190518101906132189190613f0a565b610f755760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611436565b600061329d826301ffc9a760e01b6132bd565b801561090257506132b6826001600160e01b03196132bd565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561332f575060208210155b801561333b5750600081115b979650505050505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166109025760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401611436565b60606109026001600160a01b03831660145b60606000613404836002613dfd565b61340f906002613e82565b67ffffffffffffffff8111156134275761342761388c565b6040519080825280601f01601f191660200182016040528015613451576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061348857613488613eb2565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106134d3576134d3613eb2565b60200101906001600160f81b031916908160001a90535060006134f7846002613dfd565b613502906001613e82565b90505b6001811115613587577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061354357613543613eb2565b1a60f81b82828151811061355957613559613eb2565b60200101906001600160f81b031916908160001a90535060049490941c93613580816145c6565b9050613505565b508315612f345760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611436565b60606130a9848460008585600080866001600160a01b031685876040516135fd91906145dd565b60006040518083038185875af1925050503d806000811461363a576040519150601f19603f3d011682016040523d82523d6000602084013e61363f565b606091505b509150915061333b87838387606083156136ba5782516000036136b3576001600160a01b0385163b6136b35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611436565b50816130a9565b6130a983838151156136cf5781518083602001fd5b8060405162461bcd60e51b81526004016114369190613d5e565b82805482825590600052602060002090810192821561373e579160200282015b8281111561373e57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613709565b5061374a929150613768565b5090565b5080546000825590600052602060002090810190610d0a91905b5b8082111561374a5760008155600101613769565b60006020828403121561378f57600080fd5b81356001600160e01b031981168114612f3457600080fd5b6000602082840312156137b957600080fd5b5035919050565b6001600160a01b0381168114610d0a57600080fd5b80356137e0816137c0565b919050565b600080604083850312156137f857600080fd5b8235613803816137c0565b91506020830135613813816137c0565b809150509250929050565b60006020828403121561383057600080fd5b8135612f34816137c0565b6000806040838503121561384e57600080fd5b8235613859816137c0565b946020939093013593505050565b6000806040838503121561387a57600080fd5b823591506020830135613813816137c0565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156138c5576138c561388c565b60405290565b6040516101a0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051610120810167ffffffffffffffff811182821017156138c5576138c561388c565b60405160c0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051601f8201601f1916810167ffffffffffffffff8111828210171561395f5761395f61388c565b604052919050565b600067ffffffffffffffff8211156139815761398161388c565b50601f01601f191660200190565b600082601f8301126139a057600080fd5b81356139b36139ae82613967565b613936565b8181528460208386010111156139c857600080fd5b816020850160208301376000918101602001919091529392505050565b6000604082840312156139f757600080fd5b6139ff6138a2565b905081358152602082013567ffffffffffffffff811115613a1f57600080fd5b613a2b8482850161398f565b60208301525092915050565b8015158114610d0a57600080fd5b80356137e081613a37565b600060208284031215613a6257600080fd5b813567ffffffffffffffff80821115613a7a57600080fd5b908301906101a08286031215613a8f57600080fd5b613a976138cb565b613aa0836137d5565b8152613aae602084016137d5565b6020820152604083013560408201526060830135606082015260808301356080820152613add60a084016137d5565b60a0820152613aee60c084016137d5565b60c082015260e083013582811115613b0557600080fd5b613b11878286016139e5565b60e083015250610100613b258185016137d5565b908201526101208381013583811115613b3d57600080fd5b613b498882870161398f565b828401525050610140613b5d818501613a45565b908201526101608381013583811115613b7557600080fd5b613b818882870161398f565b8284015250506101809150613b978284016137d5565b91810191909152949350505050565b8035600381106137e057600080fd5b60048110610d0a57600080fd5b80356137e081613bb5565b600060208284031215613bdf57600080fd5b6040516020810181811067ffffffffffffffff82111715613c0257613c0261388c565b6040529135825250919050565b60006101208284031215613c2257600080fd5b613c2a6138ef565b9050613c35826137d5565b815260208201356020820152604082013560408201526060820135606082015260808201356080820152613c6b60a08301613ba6565b60a0820152613c7c60c08301613bc2565b60c0820152613c8e8360e08401613bcd565b60e0820152610100613ca18184016137d5565b9082015292915050565b60008060006101608486031215613cc157600080fd5b8335613ccc816137c0565b9250613cdb8560208601613c0f565b915061014084013567ffffffffffffffff811115613cf857600080fd5b613d04868287016139e5565b9150509250925092565b60005b83811015613d29578181015183820152602001613d11565b50506000910152565b60008151808452613d4a816020860160208601613d0e565b601f01601f19169290920160200192915050565b602081526000612f346020830184613d32565b6000806000806101808587031215613d8857600080fd5b8435613d93816137c0565b93506020850135613da3816137c0565b9250613db28660408701613c0f565b915061016085013567ffffffffffffffff811115613dcf57600080fd5b613ddb878288016139e5565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761090257610902613de7565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613e3c57600080fd5b8151612f3481613bb5565b600060208284031215613e5957600080fd5b5051919050565b600082613e7d57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561090257610902613de7565b600060208284031215613ea757600080fd5b8151612f34816137c0565b634e487b7160e01b600052603260045260246000fd5b600060018201613eda57613eda613de7565b5060010190565b8181038181111561090257610902613de7565b634e487b7160e01b600052603160045260246000fd5b600060208284031215613f1c57600080fd5b8151612f3481613a37565b60006020808385031215613f3a57600080fd5b825167ffffffffffffffff80821115613f5257600080fd5b9084019060c08287031215613f6657600080fd5b613f6e613913565b8251815283830151613f7f816137c0565b818501526040830151613f91816137c0565b6040820152606083015182811115613fa857600080fd5b830160408189031215613fba57600080fd5b613fc26138a2565b815181528582015184811115613fd757600080fd5b82019350601f84018913613fea57600080fd5b83519150613ffa6139ae83613967565b828152898784870101111561400e57600080fd5b61401d83888301898801613d0e565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c9082168061405d57607f821691505b60208210810361407d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f7557600081815260208120601f850160051c810160208610156140aa5750805b601f850160051c820191505b818110156140c9578281556001016140b6565b505050505050565b815167ffffffffffffffff8111156140eb576140eb61388c565b6140ff816140f98454614049565b84614083565b602080601f831160018114614134576000841561411c5750858301515b600019600386901b1c1916600185901b1785556140c9565b600085815260208120601f198616915b8281101561416357888601518255948401946001909101908401614144565b50858210156141815787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083850312156141a457600080fd5b825167ffffffffffffffff808211156141bc57600080fd5b818501915085601f8301126141d057600080fd5b8151818111156141e2576141e261388c565b8060051b91506141f3848301613936565b818152918301840191848101908884111561420d57600080fd5b938501935b838510156142375784519250614227836137c0565b8282529385019390850190614212565b98975050505050505050565b6000815461425081614049565b80855260206001838116801561426d5760018114614287576142b5565b60ff1985168884015283151560051b8801830195506142b5565b866000528260002060005b858110156142ad5781548a8201860152908301908401614292565b890184019650505b505050505092915050565b8051825260006020820151604060208501526130a96040850182613d32565b600081518084526020808501945080840160005b838110156143185781516001600160a01b0316875295820195908201906001016142f3565b509495945050505050565b85815260a06020820152600061433c60a0830187614243565b828103604084015261434e81876142c0565b90506001600160a01b0385166060840152828103608084015261423781856142df565b83815260606020820152600061438a6060830185614243565b828103604084015261439c81856142c0565b9695505050505050565b600481106143b6576143b6613e14565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061440d5761440d613e14565b8060a08401525060c083015161442660c08401826143a6565b5060e083015161443960e0840182519052565b50610100928301516001600160a01b0316919092015290565b87815260006001600160a01b03808916602084015260e0604084015261447b60e0840189613d32565b818816606085015286608085015283810360a085015261449b81876142c0565b91505082810360c08401526144b081856142df565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a0608083015261333b60a08301846142c0565b60408152600061450b6040830185613d32565b90506001600160a01b03831660208301529392505050565b6040815260006145366040830185613d32565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161457d816017850160208801613d0e565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516145ba816028840160208801613d0e565b01602801949350505050565b6000816145d5576145d5613de7565b506000190190565b600082516145ef818460208701613d0e565b919091019291505056fe67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829a26469706673582212204c3c6e8a22ea35c00bf2ba860e2ff063477b7bb6ff8f36945ae4ba1d149195e964736f6c63430008130033","sourceMap":"1630:21524:118:-:0;;;7758:145;;;;;;;;;-1:-1:-1;1716:1:67;1821:7;:22;;;7840:56:118;;2090:34;;7840:13;:56::i;:::-;1630:21524;;7172:247:59;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;1630:21524:118:-;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061036d5760003560e01c80636c53db9a116101d3578063a230c52411610104578063d547741f116100a2578063db61d65c1161007c578063db61d65c1461086c578063ebd7dc521461087f578063f86c5f8914610892578063ff6409ef146108a557600080fd5b8063d547741f1461083d578063d6d8428d14610850578063d7050f071461086357600080fd5b8063b64e39af116100de578063b64e39af14610810578063b99b437014610825578063bc063e1a1461082d578063c6d572ae1461083557600080fd5b8063a230c5241461079e578063b3f00674146107f5578063b5058c501461080857600080fd5b80638961be6b1161017157806397991cfa1161014b57806397991cfa14610724578063a0b21cdf14610754578063a0cf0aea1461077b578063a217fddf1461079657600080fd5b80638961be6b146106cf57806391d14854146106d857806396f0adec1461071157600080fd5b806378a0b8a9116101ad57806378a0b8a91461063d5780637b1039991461064657806382d6a1e71461065957806388cfe6841461066c57600080fd5b80636c53db9a146105de57806373265c37146105f15780637817ee4f1461060457600080fd5b80632f2ff15d116102ad578063477a5cc01161024b5780635ecf71c5116102255780635ecf71c51461057a57806365e3864c1461058d5780636871eb4d146105b857806368decabb146105cb57600080fd5b8063477a5cc014610526578063559de05d146105545780635c94e4d21461056757600080fd5b80633517aa7d116102875780633517aa7d146104d557806336568abe146104dd578063397e2543146104f05780633a871fe11461050357600080fd5b80632f2ff15d146104a657806331f61bca146104b957806333960459146104cc57600080fd5b80631f787d281161031a578063248a9ca3116102f4578063248a9ca31461042357806328c309e9146104475780632b38c69c1461044f5780632c611c4a1461047a57600080fd5b80631f787d28146103f0578063223e5479146103fd57806322bcf9991461041057600080fd5b80630d12bbdb1161034b5780630d12bbdb146103b55780630d4a8b49146103ca578063175188e8146103dd57600080fd5b806301ffc9a7146103725780630331383c1461039a57806308386eba146103ac575b600080fd5b61038561038036600461377d565b6108b8565b60405190151581526020015b60405180910390f35b6003545b604051908152602001610391565b61039e60055481565b6103c86103c33660046137a7565b610908565b005b6103c86103d83660046137e5565b610992565b6103c86103eb36600461381e565b610cf9565b6002546103859060ff1681565b6103c861040b36600461381e565b610d0d565b6103c861041e3660046137e5565b610d1e565b61039e6104313660046137a7565b6000908152600160208190526040909120015490565b61039e610e2d565b61046261045d36600461383b565b610f17565b6040516001600160a01b039091168152602001610391565b61039e61048836600461381e565b6001600160a01b031660009081526013602052604090206001015490565b6103c86104b4366004613867565b610f4f565b6103c86104c73660046137a7565b610f7a565b61039e60095481565b6103c8610fb7565b6103c86104eb366004613867565b6113bc565b6103c86104fe36600461381e565b61144d565b61038561051136600461381e565b60116020526000908152604090205460ff1681565b6103856105343660046137e5565b601560209081526000928352604080842090915290825290205460ff1681565b6103c86105623660046137a7565b6114ba565b600854610462906001600160a01b031681565b6103c86105883660046137a7565b611794565b61039e61059b3660046137e5565b601260209081526000928352604080842090915290825290205481565b6103c86105c63660046137e5565b611b4e565b600a54610462906001600160a01b031681565b600d54610462906001600160a01b031681565b6103c86105ff3660046137a7565b611d59565b61039e6106123660046137e5565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b61039e60035481565b600b54610462906001600160a01b031681565b6103c86106673660046137a7565b611deb565b6106a861067a36600461381e565b6013602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b0390941684526020840192909252151590820152606001610391565b61039e60045481565b6103856106e6366004613867565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6103c861071f366004613a50565b611e9c565b610737610732366004613cab565b612388565b604080519283526001600160a01b03909116602083015201610391565b61039e7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b61046273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61039e600081565b6103856107ac36600461381e565b6001600160a01b039081166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b600654610462906001600160a01b031681565b6103c86123d2565b61081861241e565b6040516103919190613d5e565b6103c86124ac565b61039e61260f565b61081861261f565b6103c861084b366004613867565b61262c565b600e54610462906001600160a01b031681565b61039e61271081565b600c54610462906001600160a01b031681565b61038561088d36600461381e565b612652565b600754610462906001600160a01b031681565b6107376108b3366004613d71565b612692565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061090257506301ffc9a760e01b6001600160e01b03198316145b92915050565b610910612811565b61091d612710600a613dfd565b811115610956576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60048190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b61099b82612879565b6109a4816128dc565b6109ad8161292e565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff1615610a0d576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0380831660009081526013602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff161515918301919091526003805490846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abd9190613e2a565b6003811115610ace57610ace613e14565b03610b4d5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b469190613e47565b9050610c3f565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb39190613e2a565b6003811115610bc457610bc4613e14565b14610c3f5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af1158015610c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3c9190613e47565b90505b6001600160a01b038581166000818152601260209081526040808320948916808452948252808320869055838352601582528083208584528252808320805460ff19166001908117909155848452601483528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b610d01612811565b610d0a8161296e565b50565b610d15612811565b610d0a816129c8565b610d2782612879565b610d308161292e565b610d3a3382612a6f565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff16610d99576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000818152601560209081526040808320948616808452948252808320805460ff191690559282526012815282822093825292909252812055610de78282612aba565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b910160405180910390a15050565b6007546000906001600160a01b031681610e4a6127106064613dfd565b600454600354610e5a9190613dfd565b610e649190613e60565b90506000610e756127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190613e47565b600354610eea9190613dfd565b610ef49190613e60565b90508082600354610f059190613e82565b610f0f9190613e82565b935050505090565b60146020528160005260406000208181548110610f3357600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008281526001602081905260409091200154610f6b81612bdc565b610f758383612be6565b505050565b610f82612811565b60038190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f90602001610987565b610fbf612c6d565b33600081815260136020526040812060075490916001600160a01b0390911690610fec6127106064613dfd565b600454600354610ffc9190613dfd565b6110069190613e60565b905060006110176127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190613e47565b60035461108c9190613dfd565b6110969190613e60565b6001600160a01b038087166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190529091506113ab5760028401805460ff191660019081179091556003549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152600c5461114691906001600160a01b0316612cc6565b6111788530838560035461115a9190613e82565b6111649190613e82565b600c546001600160a01b0316929190612d24565b6111b76040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e74000000000000000000000000000081525083612da8565b81156112245760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260065461120791906001600160a01b0316612cc6565b600654600c54611224916001600160a01b03918216911684612e06565b6112636040518060400160405280601081526020017f67617264656e73466565416d6f756e740000000000000000000000000000000081525082612da8565b8015611364576112ec6040518060600160405280602681526020016145fa60269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e79190613e95565b612cc6565b611364836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113519190613e95565b600c546001600160a01b03169083612e06565b600354604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b50505050506113ba6001600055565b565b6001600160a01b038116331461143f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6114498282612e36565b5050565b611455612811565b61145e8161292e565b600a80546001600160a01b0319166001600160a01b03838116918217909255600d546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610987565b6114c2612c6d565b6114ca612eb9565b3360008181526014602090815260408083208054825181850281018501909352808352919290919083018282801561152b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161150d575b50505050509050600080600090505b82518110156116fb5782818151811061155557611555613eb2565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af11580156115b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d49190613e47565b915081156116e9576001600160a01b0384166000908152601260205260408120845184929086908590811061160b5761160b613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546116429190613e82565b925050819055506116e96040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525060126000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815181106116bb576116bb613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054612da8565b806116f381613ec8565b91505061153a565b50600c54611714906001600160a01b0316843087612d24565b6001600160a01b0383166000908152601360205260408120600101805486929061173f908490613e82565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a1505050610d0a6001600055565b61179c612c6d565b6117a4612eb9565b336000818152601460209081526040808320600354601390935290832060010154909291906117d4908690613ee1565b101561180c576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c54611823906001600160a01b03168486612e06565b60005b8254811015611ade57600083828154811061184357611843613eb2565b6000918252602090912001546001600160a01b0316905061186b8163f1801e6160e01b612f18565b15611a12576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156118d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fc9190613e47565b9250600060126000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858154811061193957611939613eb2565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156119a4576040517f8a11f3180000000000000000000000000000000000000000000000000000000081526004810185905260248101829052604401611436565b6001600160a01b038616600090815260126020526040812086548692908890879081106119d3576119d3613eb2565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190611a07908490613ee1565b909155505050611acb565b83548490611a2290600190613ee1565b81548110611a3257611a32613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110611a6257611a62613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480611aa057611aa0613ef4565b600082815260209020810160001990810180546001600160a01b0319169055019055611acb8161296e565b5080611ad681613ec8565b915050611826565b506001600160a01b03831660009081526013602052604081206001018054869290611b0a908490613ee1565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8910161177f565b611b56612c6d565b611b5e612811565b60025460ff16611b9a576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052611bfd57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152611c4b83612f3b565b6001600160a01b03838116600090815260136020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff19169055600c5490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af1158015611cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfd9190613f0a565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a1506114496001600055565b611d61612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611dab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dd39190810190613f27565b602001519050611de28161292e565b6114498161296e565b611df3612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611e3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e659190810190613f27565b602001519050611e748161292e565b611e8e6001600160a01b03821663f1801e6160e01b612f18565b1561144957611449816129c8565b611ea9816020015161292e565b611eb781610100015161292e565b8051611ec29061292e565b611ecf8160a0015161292e565b611edd81610180015161292e565b606081015115611ef457611ef48160c0015161292e565b8051600e80546001600160a01b039283166001600160a01b0319918216179091556020830151600c80549190931691161790556040810151600003611f65576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015160035560608101516004556101408101516002805460ff1916911515919091179055610120810151600f90611f9f90826140d1565b50610160810151601090611fb390826140d1565b5060a0810151600780546001600160a01b03199081166001600160a01b039384161790915560c0830151600680548316918416919091179055610100830151600d8054831682851617905561018084015160088054909316931692909217905561203e907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90612be6565b600e60009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015612091573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b59190613e95565b600b80546001600160a01b0319166001600160a01b03928316179055600d54604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121579190810190614191565b90506000815160026121699190613e82565b67ffffffffffffffff8111156121815761218161388c565b6040519080825280602002602001820160405280156121aa578160200160208202803683370190505b50905060005b825181101561220f578281815181106121cb576121cb613eb2565b60200260200101518282815181106121e5576121e5613eb2565b6001600160a01b03909216602092830291909101909101528061220781613ec8565b9150506121b0565b50600d5481516001600160a01b0390911690829061222f90600190613ee1565b8151811061223f5761223f613eb2565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835161226f9190613ee1565b8151811061227f5761227f613eb2565b6001600160a01b039283166020918202929092010152600b54608085015160e08601516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f926122e79291600f9130908890600401614323565b6020604051808303816000875af1158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613e47565b60055580516123409060169060208401906136e9565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205600554600f8560e0015160405161237b93929190614371565b60405180910390a1505050565b60085460098054600092839283926123b7926001600160a01b031691846123ae83613ec8565b9190505561305d565b90506123c581878787612692565b9250925050935093915050565b600a546001600160a01b03163314612416576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113ba6130b1565b6010805461242b90614049565b80601f016020809104026020016040519081016040528092919081815260200182805461245790614049565b80156124a45780601f10612479576101008083540402835291602001916124a4565b820191906000526020600020905b81548152906001019060200180831161248757829003601f168201915b505050505081565b6124b4612c6d565b336124be81612879565b6124c781612f3b565b6001600160a01b0380821660008181526013602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945560149052918220909161253e919061374e565b600c54602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015612596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ba9190613f0a565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a150506113ba6001600055565b61261c612710600a613dfd565b81565b600f805461242b90614049565b6000828152600160208190526040909120015461264881612bdc565b610f758383612e36565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff16610902565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156126bc5750845b8691506000601680548060200260200160405190810160405280929190818152602001828054801561271757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116126f9575b5050600e546005546040519596506001600160a01b039091169463e1007d4a945090925087915061274c908b906020016143ba565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b81526004016127829796959493929190614452565b6020604051808303816000875af11580156127a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c59190613e47565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a896040516127fe9594939291906144be565b60405180910390a1505094509492505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff166113ba576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038082166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052610d0a57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03811660009081526011602052604090205460ff16610d0a576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116610d0a576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129778161292e565b6001600160a01b038116600081815260116020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49101610987565b6001600160a01b03811660009081526011602052604090205460ff1615612a1b576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815260116020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610987565b806001600160a01b0316826001600160a01b031614611449576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152601460205260408120905b8154811015612bd657826001600160a01b0316828281548110612af957612af9613eb2565b6000918252602090912001546001600160a01b031603612bc45781548290612b2390600190613ee1565b81548110612b3357612b33613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110612b6357612b63613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480612ba157612ba1613ef4565b600082815260209020810160001990810180546001600160a01b03191690550190555b80612bce81613ec8565b915050612ad4565b50505050565b610d0a813361310c565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b600260005403612cbf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401611436565b6002600055565b6114498282604051602401612cdc9291906144f8565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b0380851660248301528316604482015260648101829052612bd69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526131a2565b6114498282604051602401612dbe929190614523565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b038316602482015260448101829052610f7590849063a9059cbb60e01b90606401612d71565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16156114495760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b33600090815260136020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526113ba57604051636a5cfb6d60e01b815260040160405180910390fd5b6000612f238361328a565b8015612f345750612f3483836132bd565b9392505050565b6001600160a01b038116600090815260146020908152604080832080548251818502810185019093528083529192909190830182828015612fa557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612f87575b5050505050905060005b8151811015610f7557818181518110612fca57612fca613eb2565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801561303257600080fd5b505af1158015613046573d6000803e3d6000fd5b50505050808061305590613ec8565b915050612faf565b6040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506130a98482613346565b949350505050565b600a8054600d80546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495761313f816133e3565b61314a8360206133f5565b60405160200161315b929190614545565b60408051601f198184030181529082905262461bcd60e51b825261143691600401613d5e565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006131f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135d69092919063ffffffff16565b90508051600014806132185750808060200190518101906132189190613f0a565b610f755760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611436565b600061329d826301ffc9a760e01b6132bd565b801561090257506132b6826001600160e01b03196132bd565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561332f575060208210155b801561333b5750600081115b979650505050505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166109025760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401611436565b60606109026001600160a01b03831660145b60606000613404836002613dfd565b61340f906002613e82565b67ffffffffffffffff8111156134275761342761388c565b6040519080825280601f01601f191660200182016040528015613451576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061348857613488613eb2565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106134d3576134d3613eb2565b60200101906001600160f81b031916908160001a90535060006134f7846002613dfd565b613502906001613e82565b90505b6001811115613587577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061354357613543613eb2565b1a60f81b82828151811061355957613559613eb2565b60200101906001600160f81b031916908160001a90535060049490941c93613580816145c6565b9050613505565b508315612f345760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611436565b60606130a9848460008585600080866001600160a01b031685876040516135fd91906145dd565b60006040518083038185875af1925050503d806000811461363a576040519150601f19603f3d011682016040523d82523d6000602084013e61363f565b606091505b509150915061333b87838387606083156136ba5782516000036136b3576001600160a01b0385163b6136b35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611436565b50816130a9565b6130a983838151156136cf5781518083602001fd5b8060405162461bcd60e51b81526004016114369190613d5e565b82805482825590600052602060002090810192821561373e579160200282015b8281111561373e57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613709565b5061374a929150613768565b5090565b5080546000825590600052602060002090810190610d0a91905b5b8082111561374a5760008155600101613769565b60006020828403121561378f57600080fd5b81356001600160e01b031981168114612f3457600080fd5b6000602082840312156137b957600080fd5b5035919050565b6001600160a01b0381168114610d0a57600080fd5b80356137e0816137c0565b919050565b600080604083850312156137f857600080fd5b8235613803816137c0565b91506020830135613813816137c0565b809150509250929050565b60006020828403121561383057600080fd5b8135612f34816137c0565b6000806040838503121561384e57600080fd5b8235613859816137c0565b946020939093013593505050565b6000806040838503121561387a57600080fd5b823591506020830135613813816137c0565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156138c5576138c561388c565b60405290565b6040516101a0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051610120810167ffffffffffffffff811182821017156138c5576138c561388c565b60405160c0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051601f8201601f1916810167ffffffffffffffff8111828210171561395f5761395f61388c565b604052919050565b600067ffffffffffffffff8211156139815761398161388c565b50601f01601f191660200190565b600082601f8301126139a057600080fd5b81356139b36139ae82613967565b613936565b8181528460208386010111156139c857600080fd5b816020850160208301376000918101602001919091529392505050565b6000604082840312156139f757600080fd5b6139ff6138a2565b905081358152602082013567ffffffffffffffff811115613a1f57600080fd5b613a2b8482850161398f565b60208301525092915050565b8015158114610d0a57600080fd5b80356137e081613a37565b600060208284031215613a6257600080fd5b813567ffffffffffffffff80821115613a7a57600080fd5b908301906101a08286031215613a8f57600080fd5b613a976138cb565b613aa0836137d5565b8152613aae602084016137d5565b6020820152604083013560408201526060830135606082015260808301356080820152613add60a084016137d5565b60a0820152613aee60c084016137d5565b60c082015260e083013582811115613b0557600080fd5b613b11878286016139e5565b60e083015250610100613b258185016137d5565b908201526101208381013583811115613b3d57600080fd5b613b498882870161398f565b828401525050610140613b5d818501613a45565b908201526101608381013583811115613b7557600080fd5b613b818882870161398f565b8284015250506101809150613b978284016137d5565b91810191909152949350505050565b8035600381106137e057600080fd5b60048110610d0a57600080fd5b80356137e081613bb5565b600060208284031215613bdf57600080fd5b6040516020810181811067ffffffffffffffff82111715613c0257613c0261388c565b6040529135825250919050565b60006101208284031215613c2257600080fd5b613c2a6138ef565b9050613c35826137d5565b815260208201356020820152604082013560408201526060820135606082015260808201356080820152613c6b60a08301613ba6565b60a0820152613c7c60c08301613bc2565b60c0820152613c8e8360e08401613bcd565b60e0820152610100613ca18184016137d5565b9082015292915050565b60008060006101608486031215613cc157600080fd5b8335613ccc816137c0565b9250613cdb8560208601613c0f565b915061014084013567ffffffffffffffff811115613cf857600080fd5b613d04868287016139e5565b9150509250925092565b60005b83811015613d29578181015183820152602001613d11565b50506000910152565b60008151808452613d4a816020860160208601613d0e565b601f01601f19169290920160200192915050565b602081526000612f346020830184613d32565b6000806000806101808587031215613d8857600080fd5b8435613d93816137c0565b93506020850135613da3816137c0565b9250613db28660408701613c0f565b915061016085013567ffffffffffffffff811115613dcf57600080fd5b613ddb878288016139e5565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761090257610902613de7565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613e3c57600080fd5b8151612f3481613bb5565b600060208284031215613e5957600080fd5b5051919050565b600082613e7d57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561090257610902613de7565b600060208284031215613ea757600080fd5b8151612f34816137c0565b634e487b7160e01b600052603260045260246000fd5b600060018201613eda57613eda613de7565b5060010190565b8181038181111561090257610902613de7565b634e487b7160e01b600052603160045260246000fd5b600060208284031215613f1c57600080fd5b8151612f3481613a37565b60006020808385031215613f3a57600080fd5b825167ffffffffffffffff80821115613f5257600080fd5b9084019060c08287031215613f6657600080fd5b613f6e613913565b8251815283830151613f7f816137c0565b818501526040830151613f91816137c0565b6040820152606083015182811115613fa857600080fd5b830160408189031215613fba57600080fd5b613fc26138a2565b815181528582015184811115613fd757600080fd5b82019350601f84018913613fea57600080fd5b83519150613ffa6139ae83613967565b828152898784870101111561400e57600080fd5b61401d83888301898801613d0e565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c9082168061405d57607f821691505b60208210810361407d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f7557600081815260208120601f850160051c810160208610156140aa5750805b601f850160051c820191505b818110156140c9578281556001016140b6565b505050505050565b815167ffffffffffffffff8111156140eb576140eb61388c565b6140ff816140f98454614049565b84614083565b602080601f831160018114614134576000841561411c5750858301515b600019600386901b1c1916600185901b1785556140c9565b600085815260208120601f198616915b8281101561416357888601518255948401946001909101908401614144565b50858210156141815787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083850312156141a457600080fd5b825167ffffffffffffffff808211156141bc57600080fd5b818501915085601f8301126141d057600080fd5b8151818111156141e2576141e261388c565b8060051b91506141f3848301613936565b818152918301840191848101908884111561420d57600080fd5b938501935b838510156142375784519250614227836137c0565b8282529385019390850190614212565b98975050505050505050565b6000815461425081614049565b80855260206001838116801561426d5760018114614287576142b5565b60ff1985168884015283151560051b8801830195506142b5565b866000528260002060005b858110156142ad5781548a8201860152908301908401614292565b890184019650505b505050505092915050565b8051825260006020820151604060208501526130a96040850182613d32565b600081518084526020808501945080840160005b838110156143185781516001600160a01b0316875295820195908201906001016142f3565b509495945050505050565b85815260a06020820152600061433c60a0830187614243565b828103604084015261434e81876142c0565b90506001600160a01b0385166060840152828103608084015261423781856142df565b83815260606020820152600061438a6060830185614243565b828103604084015261439c81856142c0565b9695505050505050565b600481106143b6576143b6613e14565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061440d5761440d613e14565b8060a08401525060c083015161442660c08401826143a6565b5060e083015161443960e0840182519052565b50610100928301516001600160a01b0316919092015290565b87815260006001600160a01b03808916602084015260e0604084015261447b60e0840189613d32565b818816606085015286608085015283810360a085015261449b81876142c0565b91505082810360c08401526144b081856142df565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a0608083015261333b60a08301846142c0565b60408152600061450b6040830185613d32565b90506001600160a01b03831660208301529392505050565b6040815260006145366040830185613d32565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161457d816017850160208801613d0e565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516145ba816028840160208801613d0e565b01602801949350505050565b6000816145d5576145d5613de7565b506000190190565b600082516145ef818460208701613d0e565b919091019291505056fe67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829a26469706673582212204c3c6e8a22ea35c00bf2ba860e2ff063477b7bb6ff8f36945ae4ba1d149195e964736f6c63430008130033","sourceMap":"1630:21524:118:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2732:202:59;;;;;;:::i;:::-;;:::i;:::-;;;516:14:128;;509:22;491:41;;479:2;464:18;2732:202:59;;;;;;;;20889:107:118;20970:19;;20889:107;;;689:25:128;;;677:2;662:18;20889:107:118;543:177:128;6534:24:118;;;;;;21190:280;;;;;;:::i;:::-;;:::i;:::-;;10866:1179;;;;;;:::i;:::-;;:::i;17581:120::-;;;;;;:::i;:::-;;:::i;6292:25::-;;;;;;;;;16639:120;;;;;;:::i;:::-;;:::i;12051:691::-;;;;;;:::i;:::-;;:::i;4504:129:59:-;;;;;;:::i;:::-;4578:7;4604:12;;;:6;:12;;;;;;;;:22;;;4504:129;20416:467:118;;;:::i;7409:82::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;2836:55:128;;;2818:74;;2806:2;2791:18;7409:82:118;2672:226:128;16048:143:118;;;;;;:::i;:::-;-1:-1:-1;;;;;16143:28:118;16117:7;16143:28;;;:19;:28;;;;;:41;;;;16048:143;4929:145:59;;;;;;:::i;:::-;;:::i;21002:182:118:-;;;;;;:::i;:::-;;:::i;6714:25::-;;;;;;18503:1907;;;:::i;6038:214:59:-;;;;;;:::i;:::-;;:::i;17707:240:118:-;;;;;;:::i;:::-;;:::i;7164:68::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;7497:107;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;13179:998;;;;;;:::i;:::-;;:::i;6677:31::-;;;;;-1:-1:-1;;;;;6677:31:118;;;14317:1554;;;;;;:::i;:::-;;:::i;7238:98::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;22581:571;;;;;;:::i;:::-;;:::i;6745:41::-;;;;;-1:-1:-1;;;;;6745:41:118;;;6926:24;;;;;-1:-1:-1;;;;;6926:24:118;;;17154:229;;;;;;:::i;:::-;;:::i;15877:165::-;;;;;;:::i;:::-;-1:-1:-1;;;;;15994:30:118;;;15968:7;15994:30;;;:21;:30;;;;;;;;:41;;;;;;;;;;;;;15877:165;6461:34;;;;;;6864:25;;;;;-1:-1:-1;;;;;6864:25:118;;;16320:313;;;;;;:::i;:::-;;:::i;7343:60::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7343:60:118;;;;;;;;;;;;;-1:-1:-1;;;;;4439:55:128;;;4421:74;;4526:2;4511:18;;4504:34;;;;4581:14;4574:22;4554:18;;;4547:50;4409:2;4394:18;7343:60:118;4225:378:128;6501:27:118;;;;;;3021:145:59;;;;;;:::i;:::-;3107:4;3130:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3130:29:59;;;;;;;;;;;;;;;3021:145;7909:1945:118;;;;;;:::i;:::-;;:::i;9860:341::-;;;;;;:::i;:::-;;:::i;:::-;;;;11670:25:128;;;-1:-1:-1;;;;;11731:55:128;;;11726:2;11711:18;;11704:83;11643:18;9860:341:118;11496:297:128;2042:82:118;;2090:34;2042:82;;1796:75;;1829:42;1796:75;;2153:49:59;;2198:4;2153:49;;18315:182:118;;;;;;:::i;:::-;-1:-1:-1;;;;;18423:28:118;;;18371:14;18423:28;;;:19;:28;;;;;;;;;18397:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18315:182;6609:26;;;;;-1:-1:-1;;;;;6609:26:118;;;18138:171;;;:::i;7070:30::-;;;:::i;:::-;;;;;;;:::i;21650:453::-;;;:::i;7697:54::-;;;:::i;7037:27::-;;;:::i;5354:147:59:-;;;;;;:::i;:::-;;:::i;6956:17:118:-;;;;;-1:-1:-1;;;;;6956:17:118;;;7642:49;;7684:7;7642:49;;6895:25;;;;;-1:-1:-1;;;;;6895:25:118;;;21512:132;;;;;;:::i;:::-;;:::i;6641:30::-;;;;;-1:-1:-1;;;;;6641:30:118;;;10207:653;;;;;;:::i;:::-;;:::i;2732:202:59:-;2817:4;-1:-1:-1;;;;;;2840:47:59;;2855:32;2840:47;;:87;;-1:-1:-1;;;;;;;;;;937:40:82;;;2891:36:59;2833:94;2732:202;-1:-1:-1;;2732:202:59:o;21190:280:118:-;21258:17;:15;:17::i;:::-;7731:20;7684:7;7731:2;:20;:::i;:::-;21289:16;:26;21285:86;;;21338:22;;;;;;;;;;;;;;21285:86;21380:12;:31;;;21426:37;;689:25:128;;;21426:37:118;;677:2:128;662:18;21426:37:118;;;;;;;;21190:280;:::o;10866:1179::-;10953:34;10979:7;10953:25;:34::i;:::-;10997:30;11017:9;10997:19;:30::i;:::-;11037:29;11056:9;11037:18;:29::i;:::-;-1:-1:-1;;;;;11081:36:118;;;;;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;11077:107;;;11151:22;;;;;;;;;;;;;;11077:107;-1:-1:-1;;;;;11217:28:118;;;11194:20;11217:28;;;:19;:28;;;;;;;;;11194:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11340:19;;;;11389:9;-1:-1:-1;;;;;11374:40:118;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:82;;;;;;;;:::i;:::-;;11370:384;;11491:51;;-1:-1:-1;;;11491:51:118;;-1:-1:-1;;;;;14844:55:128;;;11491:51:118;;;14826:74:128;11540:1:118;14916:18:128;;;14909:34;11491:39:118;;;;;14799:18:128;;11491:51:118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11472:70;;11370:384;;;11609:32;11578:9;-1:-1:-1;;;;;11563:40:118;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:78;;;;;;;;:::i;:::-;;11559:195;;11676:67;;-1:-1:-1;;;11676:67:118;;-1:-1:-1;;;;;14844:55:128;;;11676:67:118;;;14826:74:128;14916:18;;;14909:34;;;11676:39:118;;;;;14799:18:128;;11676:67:118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11657:86;;11559:195;-1:-1:-1;;;;;11764:30:118;;;;;;;:21;:30;;;;;;;;:41;;;;;;;;;;;;:60;;;11853:36;;;:27;:36;;;;;:47;;;;;;;;:54;;-1:-1:-1;;11853:54:118;11903:4;11853:54;;;;;;11918:27;;;:18;:27;;;;;:43;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11918:43:118;;;;;11977:61;;15708:34:128;;;15758:18;;15751:43;;;;15810:18;;;15803:34;;;11977:61:118;;15635:2:128;15620:18;11977:61:118;;;;;;;10943:1102;;;10866:1179;;:::o;17581:120::-;17641:17;:15;:17::i;:::-;17668:26;17684:9;17668:15;:26::i;:::-;17581:120;:::o;16639:::-;16699:17;:15;:17::i;:::-;16726:26;16739:12;16726;:26::i;12051:691::-;12140:34;12166:7;12140:25;:34::i;:::-;12184:29;12203:9;12184:18;:29::i;:::-;12223:42;12243:10;12255:9;12223:19;:42::i;:::-;-1:-1:-1;;;;;12281:36:118;;;;;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;12276:110;;12351:24;;;;;;;;;;;;;;12276:110;-1:-1:-1;;;;;12396:36:118;;;12446:5;12396:36;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;:55;;-1:-1:-1;;12396:55:118;;;12461:30;;;:21;:30;;;;;:41;;;;;;;;;:45;12516:44;12424:7;12433:9;12516:24;:44::i;:::-;12690:45;;;-1:-1:-1;;;;;16101:15:128;;;16083:34;;16153:15;;16148:2;16133:18;;16126:43;12690:45:118;;15995:18:128;12690:45:118;;;;;;;12051:691;;:::o;20416:467::-;20539:15;;20471:7;;-1:-1:-1;;;;;20539:15:118;20471:7;20634:21;7684:7;20634:3;:21;:::i;:::-;20617:12;;20595:19;;:34;;;;:::i;:::-;20594:62;;;;:::i;:::-;20565:91;-1:-1:-1;20666:24:118;20777:21;7684:7;20777:3;:21;:::i;:::-;20728:44;;-1:-1:-1;;;20728:44:118;;20766:4;20728:44;;;2818:74:128;-1:-1:-1;;;;;20728:29:118;;;;;2791:18:128;;20728:44:118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20706:19;;:66;;;;:::i;:::-;20705:94;;;;:::i;:::-;20666:133;;20860:16;20839:18;20817:19;;:40;;;;:::i;:::-;:59;;;;:::i;:::-;20810:66;;;;;20416:467;:::o;7409:82::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7409:82:118;;-1:-1:-1;7409:82:118;;-1:-1:-1;7409:82:118:o;4929:145:59:-;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;21002:182:118:-;21071:17;:15;:17::i;:::-;21098:19;:32;;;21145;;689:25:128;;;21145:32:118;;677:2:128;662:18;21145:32:118;543:177:128;18503:1907:118;2261:21:67;:19;:21::i;:::-;18585:10:118::1;18567:15;18632:28:::0;;;:19:::1;:28;::::0;;;;18719:15:::1;::::0;18632:28;;-1:-1:-1;;;;;18719:15:118;;::::1;::::0;18814:21:::1;7684:7;18814:3;:21;:::i;:::-;18797:12;;18775:19;;:34;;;;:::i;:::-;18774:62;;;;:::i;:::-;18745:91:::0;-1:-1:-1;18846:24:118::1;18957:21;7684:7;18957:3;:21;:::i;:::-;18908:44;::::0;-1:-1:-1;;;18908:44:118;;18946:4:::1;18908:44;::::0;::::1;2818:74:128::0;-1:-1:-1;;;;;18908:29:118;::::1;::::0;::::1;::::0;2791:18:128;;18908:44:118::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18886:19;;:66;;;;:::i;:::-;18885:94;;;;:::i;:::-;-1:-1:-1::0;;;;;18423:28:118;;;18371:14;18423:28;;;:19;:28;;;;;;;;;18397:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18846:133;;-1:-1:-1;18989:1415:118::1;;19027:22;::::0;::::1;:29:::0;;-1:-1:-1;;19027:29:118::1;19052:4;19027:29:::0;;::::1;::::0;;;19096:19:::1;::::0;19071:22;;::::1;:44:::0;19201:48:::1;::::0;;;;::::1;::::0;;;::::1;::::0;;::::1;;::::0;::::1;::::0;19236:11:::1;::::0;19201:48:::1;::::0;;-1:-1:-1;;;;;19236:11:118::1;19201;:48::i;:::-;19264:143;19310:7;19327:4;19377:16;19356:18;19334:19;;:40;;;;:::i;:::-;:59;;;;:::i;:::-;19264:11;::::0;-1:-1:-1;;;;;19264:11:118::1;::::0;:143;;:28:::1;:143::i;:::-;19758:53;;;;;;;;;;;;;;;;;::::0;19792:18:::1;19758:11;:53::i;:::-;19829:22:::0;;19825:175:::1;;19871:39;::::0;;;;::::1;::::0;;;::::1;::::0;;::::1;;::::0;::::1;::::0;19898:11:::1;::::0;19871:39:::1;::::0;;-1:-1:-1;;;;;19898:11:118::1;19871;:39::i;:::-;19953:11;::::0;19928::::1;::::0;:57:::1;::::0;-1:-1:-1;;;;;19928:11:118;;::::1;::::0;19953::::1;19966:18:::0;19928:24:::1;:57::i;:::-;20013:49;;;;;;;;;;;;;;;;;::::0;20045:16:::1;20013:11;:49::i;:::-;20080:20:::0;;20076:252:::1;;20120:93;;;;;;;;;;;;;;;;;;20174:14;-1:-1:-1::0;;;;;20174:36:118::1;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20120:11;:93::i;:::-;20231:82;20256:14;-1:-1:-1::0;;;;;20256:36:118::1;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20231:11;::::0;-1:-1:-1;;;;;20231:11:118::1;::::0;20296:16;20231:24:::1;:82::i;:::-;20373:19;::::0;20347:46:::1;::::0;;-1:-1:-1;;;;;14844:55:128;;14826:74;;14931:2;14916:18;;14909:34;;;;20347:46:118::1;::::0;14799:18:128;20347:46:118::1;;;;;;;18989:1415;18557:1853;;;;;2303:20:67::0;1716:1;2809:7;:22;2629:209;2303:20;18503:1907:118:o;6038:214:59:-;-1:-1:-1;;;;;6133:23:59;;734:10:79;6133:23:59;6125:83;;;;-1:-1:-1;;;6125:83:59;;17047:2:128;6125:83:59;;;17029:21:128;17086:2;17066:18;;;17059:30;17125:34;17105:18;;;17098:62;17196:17;17176:18;;;17169:45;17231:19;;6125:83:59;;;;;;;;;6219:26;6231:4;6237:7;6219:11;:26::i;:::-;6038:214;;:::o;17707:240:118:-;17771:17;:15;:17::i;:::-;17798:25;17817:5;17798:18;:25::i;:::-;17833:18;:26;;-1:-1:-1;;;;;;17833:26:118;-1:-1:-1;;;;;17833:26:118;;;;;;;;;17907:11;;17874:66;;;17907:11;;;;16083:34:128;;16148:2;16133:18;;16126:43;;;;17874:66:118;;15995:18:128;17874:66:118;15848:327:128;13179:998:118;2261:21:67;:19;:21::i;:::-;13255:26:118::1;:24;:26::i;:::-;13308:10;13291:14;13364:26:::0;;;:18:::1;:26;::::0;;;;;;;13328:62;;;;;;::::1;::::0;;;;;;;;;;;;13364:26;;13328:62;;::::1;13364:26:::0;13328:62;;::::1;;;;;;;;;;;;;;;;::::0;;-1:-1:-1;;;;;13328:62:118::1;::::0;;;;;::::1;::::0;::::1;;::::0;;::::1;;;;;;;;;;;13401:24;13441:9:::0;13453:1:::1;13441:13;;13436:533;13460:16;:23;13456:1;:27;13436:533;;;13643:16;13660:1;13643:19;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;13628:72:::1;::::0;-1:-1:-1;;;13628:72:118;;-1:-1:-1;;;;;14844:55:128;;;13628:72:118::1;::::0;::::1;14826:74:128::0;14916:18;;;14909:34;;;13628:49:118;;::::1;::::0;::::1;::::0;14799:18:128;;13628:72:118::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13609:91:::0;-1:-1:-1;13718:21:118;;13714:229:::1;;-1:-1:-1::0;;;;;13759:29:118;::::1;;::::0;;;:21:::1;:29;::::0;;;;13789:19;;13813:16;;13759:29;13789:16;;13806:1;;13789:19;::::1;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;13759:50:118::1;-1:-1:-1::0;;;;;13759:50:118::1;;;;;;;;;;;;;:70;;;;;;;:::i;:::-;;;;;;;;13847:81;;;;;;;;;;;;;;;;;::::0;13877:21:::1;:29;13899:6;-1:-1:-1::0;;;;;13877:29:118::1;-1:-1:-1::0;;;;;13877:29:118::1;;;;;;;;;;;;:50;13907:16;13924:1;13907:19;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;13877:50:118::1;-1:-1:-1::0;;;;;13877:50:118::1;;;;;;;;;;;;;13847:11;:81::i;:::-;13485:3:::0;::::1;::::0;::::1;:::i;:::-;;;;13436:533;;;-1:-1:-1::0;13979:11:118::1;::::0;:66:::1;::::0;-1:-1:-1;;;;;13979:11:118::1;14008:6:::0;14024:4:::1;14031:13:::0;13979:28:::1;:66::i;:::-;-1:-1:-1::0;;;;;14055:27:118;::::1;;::::0;;;:19:::1;:27;::::0;;;;:40:::1;;:57:::0;;14099:13;;14055:27;:57:::1;::::0;14099:13;;14055:57:::1;:::i;:::-;::::0;;;-1:-1:-1;;14127:43:118::1;::::0;;-1:-1:-1;;;;;14844:55:128;;14826:74;;14931:2;14916:18;;14909:34;;;14127:43:118::1;::::0;14799:18:128;14127:43:118::1;;;;;;;;13245:932;;;2303:20:67::0;1716:1;2809:7;:22;2629:209;14317:1554:118;2261:21:67;:19;:21::i;:::-;14395:26:118::1;:24;:26::i;:::-;14448:10;14431:14;14505:26:::0;;;:18:::1;:26;::::0;;;;;;;14642:19:::1;::::0;14581::::1;:27:::0;;;;;;:40:::1;;::::0;14505:26;;14431:14;14642:19;14581:58:::1;::::0;14624:15;;14581:58:::1;:::i;:::-;:80;14577:140;;;14684:22;;;;;;;;;;;;;;14577:140;14726:11;::::0;:49:::1;::::0;-1:-1:-1;;;;;14726:11:118::1;14751:6:::0;14759:15;14726:24:::1;:49::i;:::-;14790:9;14785:951;14809:23:::0;;14805:27;::::1;14785:951;;;14853:16;14872;14889:1;14872:19;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;14872:19:118::1;::::0;-1:-1:-1;14909:60:118::1;14872:19:::0;-1:-1:-1;;;14909:26:118::1;:60::i;:::-;14905:804;;;15008:63;::::0;;;;-1:-1:-1;;;;;14844:55:128;;;15008:63:118::1;::::0;::::1;14826:74:128::0;14916:18;;;14909:34;;;15008:38:118;::::1;::::0;::::1;::::0;14799:18:128;;15008:63:118::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14989:82;;15089:20;15112:21;:29;15134:6;-1:-1:-1::0;;;;;15112:29:118::1;-1:-1:-1::0;;;;;15112:29:118::1;;;;;;;;;;;;:50;15142:16;15159:1;15142:19;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;::::1;::::0;-1:-1:-1;;;;;15142:19:118::1;15112:50:::0;;;::::1;::::0;;;;;;;;;;-1:-1:-1;15184:31:118;;::::1;15180:259;;;15246:57;::::0;::::1;::::0;;::::1;::::0;::::1;18237:25:128::0;;;18278:18;;;18271:34;;;18210:18;;15246:57:118::1;18063:248:128::0;15180:259:118::1;-1:-1:-1::0;;;;;15350:29:118;::::1;;::::0;;;:21:::1;:29;::::0;;;;15380:19;;15404:16;;15350:29;15380:16;;15397:1;;15380:19;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;::::1;::::0;-1:-1:-1;;;;;15380:19:118::1;15350:50:::0;;;::::1;::::0;;;;;;;;:70;;:50;;15380:19;15350:70:::1;::::0;;;::::1;:::i;:::-;::::0;;;-1:-1:-1;;14971:482:118::1;14905:804;;;15583:23:::0;;15566:16;;15583:27:::1;::::0;15609:1:::1;::::0;15583:27:::1;:::i;:::-;15566:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;15566:45:118::1;15544:16;15561:1;15544:19;;;;;;;;:::i;:::-;;;;;;;;;:67;;;;;-1:-1:-1::0;;;;;15544:67:118::1;;;;;-1:-1:-1::0;;;;;15544:67:118::1;;;;;;15629:16;:22;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;15629:22:118;;;;;-1:-1:-1;;;;;;15629:22:118::1;::::0;;;;;15669:25:::1;15685:8:::0;15669:15:::1;:25::i;:::-;-1:-1:-1::0;14834:3:118;::::1;::::0;::::1;:::i;:::-;;;;14785:951;;;-1:-1:-1::0;;;;;;15745:27:118;::::1;;::::0;;;:19:::1;:27;::::0;;;;:40:::1;;:59:::0;;15789:15;;15745:27;:59:::1;::::0;15789:15;;15745:59:::1;:::i;:::-;::::0;;;-1:-1:-1;;15819:45:118::1;::::0;;-1:-1:-1;;;;;14844:55:128;;14826:74;;14931:2;14916:18;;14909:34;;;15819:45:118::1;::::0;14799:18:128;15819:45:118::1;14644:305:128::0;22581:571:118;2261:21:67;:19;:21::i;:::-;22674:17:118::1;:15;:17::i;:::-;22706:13;::::0;::::1;;22701:68;;22742:16;;;;;;;;;;;;;;22701:68;-1:-1:-1::0;;;;;18423:28:118;;;18371:14;18423:28;;;:19;:28;;;;;;;;;18397:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22778:75:::1;;22823:19;;-1:-1:-1::0;;;22823:19:118::1;;;;;;;;;;;22778:75;-1:-1:-1::0;;;;;22885:28:118;;::::1;22862:20;22885:28:::0;;;:19:::1;:28;::::0;;;;;;;;22862:51;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;;::::1;::::0;;;;::::1;;::::0;::::1;;;;::::0;;;;22923:32:::1;22905:7:::0;22923:23:::1;:32::i;:::-;-1:-1:-1::0;;;;;22972:28:118;;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;22965:35;;-1:-1:-1;;;;;;22965:35:118::1;::::0;;-1:-1:-1;22965:35:118;::::1;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;22965:35:118::1;::::0;;23011:11:::1;::::0;23050:19;;::::1;::::0;23011:59;;-1:-1:-1;;;23011:59:118;;14844:55:128;;;23011:59:118::1;::::0;::::1;14826:74:128::0;14916:18;;;14909:34;;;;23011:11:118;;::::1;::::0;:20:::1;::::0;14799:18:128;;23011:59:118::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;23125:19:118::1;::::0;;::::1;::::0;23085:60:::1;::::0;;-1:-1:-1;;;;;15726:15:128;;;15708:34;;15778:15;;15758:18;;;15751:43;;;;15810:18;;15803:34;23085:60:118::1;::::0;15635:2:128;15620:18;23085:60:118::1;;;;;;;22664:488;2303:20:67::0;1716:1;2809:7;:22;2629:209;17154:229:118;17219:17;:15;:17::i;:::-;17273:4;;:20;;-1:-1:-1;;;17273:20:118;;;;;689:25:128;;;17246:16:118;;-1:-1:-1;;;;;17273:4:118;;:12;;662:18:128;;17273:20:118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17273:20:118;;;;;;;;;;;;:::i;:::-;:29;;;17246:57;;17313:28;17332:8;17313:18;:28::i;:::-;17351:25;17367:8;17351:15;:25::i;16320:313::-;16382:17;:15;:17::i;:::-;16436:4;;:20;;-1:-1:-1;;;16436:20:118;;;;;689:25:128;;;16409:16:118;;-1:-1:-1;;;;;16436:4:118;;:12;;662:18:128;;16436:20:118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16436:20:118;;;;;;;;;;;;:::i;:::-;:29;;;16409:57;;16476:28;16495:8;16476:18;:28::i;:::-;16518:60;-1:-1:-1;;;;;16518:26:118;;-1:-1:-1;;;16518:26:118;:60::i;:::-;16514:113;;;16594:22;16607:8;16594:12;:22::i;7909:1945::-;7996:48;8023:6;:19;;;7996:18;:48::i;:::-;8054:39;8073:6;:19;;;8054:18;:39::i;:::-;8122:12;;8103:32;;:18;:32::i;:::-;8145:43;8164:6;:23;;;8145:18;:43::i;:::-;8198:44;8217:6;:24;;;8198:18;:44::i;:::-;8257:20;;;;:25;8253:95;;8298:39;8317:6;:19;;;8298:18;:39::i;:::-;8370:12;;8357:4;:26;;-1:-1:-1;;;;;8357:26:118;;;-1:-1:-1;;;;;;8357:26:118;;;;;;;8407:19;;;;8393:11;:33;;;;;;;;;;;8440:27;;;;8370:12;8440:32;8436:89;;8495:19;;;;;;;;;;;;;;8436:89;8556:27;;;;8534:19;:49;8608:20;;;;8593:12;:35;8654:21;;;;8638:13;:37;;-1:-1:-1;;8638:37:118;;;;;;;;;;8701:21;;;;8685:13;;:37;;:13;:37;:::i;:::-;-1:-1:-1;8751:23:118;;;;8732:16;;:42;;:16;:42;:::i;:::-;-1:-1:-1;8802:23:118;;;;8784:15;:41;;-1:-1:-1;;;;;;8784:41:118;;;-1:-1:-1;;;;;8784:41:118;;;;;;;8849:19;;;;8835:11;:33;;;;;;;;;;;;;8784:41;8898:19;;;8878:11;:40;;;;;;;;;;8947:24;;;;8928:16;:43;;;;;;;;;;;;;8982:54;;2090:34;;8982:10;:54::i;:::-;9068:4;;;;;;;;;-1:-1:-1;;;;;9068:4:118;-1:-1:-1;;;;;9068:16:118;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9047:8;:40;;-1:-1:-1;;;;;;9047:40:118;-1:-1:-1;;;;;9047:40:118;;;;;;9124:11;;:23;;;;;;;;-1:-1:-1;;9124:11:118;;;;;:21;;:23;;;;;-1:-1:-1;;9124:23:118;;;;;;;;:11;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9124:23:118;;;;;;;;;;;;:::i;:::-;9098:49;;9157:36;9210:6;:13;9226:1;9210:17;;;;:::i;:::-;9196:32;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9196:32:118;;9157:71;;9244:9;9239:103;9263:6;:13;9259:1;:17;9239:103;;;9322:6;9329:1;9322:9;;;;;;;;:::i;:::-;;;;;;;9297:19;9317:1;9297:22;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9297:34:118;;;:22;;;;;;;;;;;:34;9278:3;;;;:::i;:::-;;;;9239:103;;;-1:-1:-1;9414:11:118;;9372:26;;-1:-1:-1;;;;;9414:11:118;;;;9352:19;;9372:30;;9414:11;;9372:30;:::i;:::-;9352:51;;;;;;;;:::i;:::-;;;;;;:74;-1:-1:-1;;;;;9352:74:118;;;-1:-1:-1;;;;;9352:74:118;;;;;9498:4;9436:19;9485:1;9456:19;:26;:30;;;;:::i;:::-;9436:51;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9436:67:118;;;:51;;;;;;;;;:67;9615:8;;9638:13;;;;9668:16;;;;9615:106;;;;;:8;;;;;:22;;:106;;9638:13;9653;;9694:4;;9701:19;;9615:106;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9591:9;:130;9732:36;;;;:14;;:36;;;;;:::i;:::-;;9784:63;9804:9;;9815:13;9830:6;:16;;;9784:63;;;;;;;;:::i;:::-;;;;;;;;7986:1868;;7909:1945;:::o;9860:341::-;10093:16;;10111:10;:12;;10003:14;;;;;;10075:49;;-1:-1:-1;;;;;10093:16:118;;10003:14;10111:12;;;:::i;:::-;;;;;10075:17;:49::i;:::-;10051:73;;10141:53;10152:13;10167:6;10175:7;10184:9;10141:10;:53::i;:::-;10134:60;;;;;9860:341;;;;;;:::o;18138:171::-;18202:18;;-1:-1:-1;;;;;18202:18:118;18188:10;:32;18184:89;;18243:19;;;;;;;;;;;;;;18184:89;18282:20;:18;:20::i;7070:30::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;21650:453::-;2261:21:67;:19;:21::i;:::-;21726:10:118::1;21746:34;21726:10:::0;21746:25:::1;:34::i;:::-;21790:32;21814:7;21790:23;:32::i;:::-;-1:-1:-1::0;;;;;21855:28:118;;::::1;21832:20;21855:28:::0;;;:19:::1;:28;::::0;;;;;;;21832:51;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;;::::0;;;;21900:28;;;-1:-1:-1;;;;;;21893:35:118;;::::1;::::0;;;;;;;-1:-1:-1;;21893:35:118;;::::1;::::0;;;21945:18:::1;:27:::0;;;;;21832:51;;21938:34:::1;::::0;21945:27;21938:34:::1;:::i;:::-;21983:11;::::0;22013:19:::1;::::0;::::1;::::0;21983:50:::1;::::0;-1:-1:-1;;;21983:50:118;;-1:-1:-1;;;;;14844:55:128;;;21983:50:118::1;::::0;::::1;14826:74:128::0;14916:18;;;14909:34;;;;21983:11:118;::::1;::::0;:20:::1;::::0;14799:18:128;;21983:50:118::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;22076:19:118::1;::::0;;::::1;::::0;22048:48:::1;::::0;;-1:-1:-1;;;;;14844:55:128;;14826:74;;14916:18;;;14909:34;;;;22048:48:118::1;::::0;14799:18:128;22048:48:118::1;;;;;;;21698:405;;2303:20:67::0;1716:1;2809:7;:22;2629:209;7697:54:118;7731:20;7684:7;7731:2;:20;:::i;:::-;7697:54;:::o;7037:27::-;;;;;;;:::i;5354:147:59:-;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;21512:132:118:-:0;-1:-1:-1;;;;;3130:29:59;;21575:4:118;3130:29:59;;;:12;;:29;:12;:29;;;;;21598:39:118;3021:145:59;10207:653:118;10391:14;;1829:42;-1:-1:-1;;;;;10471:20:118;;;10467:65;;-1:-1:-1;10515:6:118;10467:65;10552:9;10541:20;;10572:31;10606:14;10572:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10572:48:118;;;;;;;;;;;;;;;;-1:-1:-1;;10640:4:118;;10687:9;;10708:19;;10572:48;;-1:-1:-1;;;;;;10640:4:118;;;;:33;;-1:-1:-1;10687:9:118;;-1:-1:-1;10698:8:118;;-1:-1:-1;10708:19:118;;10719:7;;10708:19;;;:::i;:::-;;;;;;;;;;;;;10729:5;10736:1;10739:9;10750:14;10640:134;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10631:143;;10790:63;10802:6;10810:8;10828:4;10835:6;10843:9;10790:63;;;;;;;;;;:::i;:::-;;;;;;;;10425:435;;10207:653;;;;;;;:::o;3564:155::-;3650:10;3107:4:59;3130:29;;;:12;;:29;:12;:29;;;;;3614:99:118;;3684:18;;;;;;;;;;;;;;3874:156;-1:-1:-1;;;;;18423:28:118;;;18371:14;18423:28;;;:19;:28;;;;;;;;;18397:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3949:75;;3994:19;;-1:-1:-1;;;3994:19:118;;;;;;;;;;;4036:162;-1:-1:-1;;;;;4112:28:118;;;;;;:17;:28;;;;;;;;4107:85;;4163:18;;;;;;;;;;;;;;17015:133;-1:-1:-1;;;;;17089:22:118;;17085:56;;17120:21;;;;;;;;;;;;;;17389:186;17452:29;17471:9;17452:18;:29::i;:::-;-1:-1:-1;;;;;17491:28:118;;17522:5;17491:28;;;:17;:28;;;;;;;;;:36;;-1:-1:-1;;17491:36:118;;;17542:26;;2818:74:128;;;17542:26:118;;2791:18:128;17542:26:118;2672:226:128;16765:244:118;-1:-1:-1;;;;;16832:31:118;;;;;;:17;:31;;;;;;;;16828:85;;;16886:16;;;;;;;;;;;;;;16828:85;-1:-1:-1;;;;;16922:31:118;;;;;;:17;:31;;;;;;;;;:38;;-1:-1:-1;;16922:38:118;16956:4;16922:38;;;16975:27;;2818:74:128;;;16975:27:118;;2791:18:128;16975:27:118;2672:226:128;4204:171:118;4307:9;-1:-1:-1;;;;;4296:20:118;:7;-1:-1:-1;;;;;4296:20:118;;4292:77;;4339:19;;;;;;;;;;;;;;12748:425;-1:-1:-1;;;;;12874:27:118;;12837:34;12874:27;;;:18;:27;;;;;;12911:256;12935:23;;12931:27;;12911:256;;;13006:9;-1:-1:-1;;;;;12983:32:118;:16;13000:1;12983:19;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;12983:19:118;:32;12979:178;;13074:23;;13057:16;;13074:27;;13100:1;;13074:27;:::i;:::-;13057:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13057:45:118;13035:16;13052:1;13035:19;;;;;;;;:::i;:::-;;;;;;;;;:67;;;;;-1:-1:-1;;;;;13035:67:118;;;;;-1:-1:-1;;;;;13035:67:118;;;;;;13120:16;:22;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;13120:22:118;;;;;-1:-1:-1;;;;;;13120:22:118;;;;;;12979:178;12960:3;;;;:::i;:::-;;;;12911:256;;;;12827:346;12748:425;;:::o;3460:103:59:-;3526:30;3537:4;734:10:79;3526::59;:30::i;7587:233::-;3107:4;3130:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3130:29:59;;;;;;;;;;;;7665:149;;7708:12;;;;7740:4;7708:12;;;;;;;;-1:-1:-1;;;;;7708:29:59;;;;;;;;;;:36;;-1:-1:-1;;7708:36:59;;;;;;;7763:40;;734:10:79;;7708:12:59;;7763:40;;7708:12;7763:40;7587:233;;:::o;2336:287:67:-;1759:1;2468:7;;:19;2460:63;;;;-1:-1:-1;;;2460:63:67;;30350:2:128;2460:63:67;;;30332:21:128;30389:2;30369:18;;;30362:30;30428:33;30408:18;;;30401:61;30479:18;;2460:63:67;30148:355:128;2460:63:67;1759:1;2598:7;:18;2336:287::o;6994:145:50:-;7061:71;7124:2;7128;7077:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7077:54:50;;;;;;;;;;;;;;-1:-1:-1;;;;;7077:54:50;;;;;7061:15;:71::i;1355:203:75:-;1482:68;;-1:-1:-1;;;;;15726:15:128;;;1482:68:75;;;15708:34:128;15778:15;;15758:18;;;15751:43;15810:18;;;15803:34;;;1455:96:75;;1475:5;;1505:27;;15620:18:128;;1482:68:75;;;;-1:-1:-1;;1482:68:75;;;;;;;;;;;;;;-1:-1:-1;;;;;1482:68:75;-1:-1:-1;;;;;;1482:68:75;;;;;;;;;;1455:19;:96::i;6548:139:50:-;6612:68;6672:2;6676;6628:51;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6628:51:50;;;;;;;;;;;;;;-1:-1:-1;;;;;6628:51:50;;;;;6612:15;:68::i;941:175:75:-;1050:58;;-1:-1:-1;;;;;14844:55:128;;1050:58:75;;;14826:74:128;14916:18;;;14909:34;;;1023:86:75;;1043:5;;-1:-1:-1;;;1073:23:75;14799:18:128;;1050:58:75;14644:305:128;7991:234:59;3107:4;3130:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3130:29:59;;;;;;;;;;;;8070:149;;;8144:5;8112:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;8112:29:59;;;;;;;;;;:37;;-1:-1:-1;;8112:37:59;;;8168:40;734:10:79;;8112:12:59;;8168:40;;8144:5;8168:40;7991:234;;:::o;3725:143:118:-;3798:10;18371:14;18423:28;;;:19;:28;;;;;;;;;18397:54;;;;;;;;;-1:-1:-1;;;;;18397:54:118;;;;;;;;;;;;;;;;;;;;;;;;;;3784:78;;3832:19;;-1:-1:-1;;;3832:19:118;;;;;;;;;;;1349:282:83;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:83:o;22109:466:118:-;-1:-1:-1;;;;;22214:27:118;;22178:33;22214:27;;;:18;:27;;;;;;;;22178:63;;;;;;;;;;;;;;;;;;;22214:27;;22178:63;;;22214:27;22178:63;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22178:63:118;;;;;;;;;;;;;;;;;;;;;;;22322:9;22317:252;22341:16;:23;22337:1;:27;22317:252;;;22512:16;22529:1;22512:19;;;;;;;;:::i;:::-;;;;;;;;;;;22497:61;;;;;-1:-1:-1;;;;;2836:55:128;;;22497:61:118;;;2818:74:128;22497:52:118;;;;;;2791:18:128;;22497:61:118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22366:3;;;;;:::i;:::-;;;;22317:252;;4749:279:6;4867:36;;-1:-1:-1;;4884:10:6;31326:2:128;31322:15;31318:53;4867:36:6;;;31306:66:128;31388:12;;;31381:28;;;4823:7:6;;;;31425:12:128;;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;17953:179:118:-;18022:18;;;18002:11;:39;;-1:-1:-1;;;;;18022:18:118;;-1:-1:-1;;;;;;18002:39:118;;;;;;;18051:25;;;18091:34;;-1:-1:-1;2818:74:128;;18091:34:118;;2806:2:128;2791:18;18091:34:118;;;;;;;17953:179::o;3844:479:59:-;3107:4;3130:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3130:29:59;;;;;;;;;;;;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:59;;;;;;;;;;-1:-1:-1;;;3970:336:59;;;;;;;:::i;181:376:50:-;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;5196:642:75:-;5615:23;5641:69;5669:4;5641:69;;;;;;;;;;;;;;;;;5649:5;-1:-1:-1;;;;;5641:27:75;;;:69;;;;;:::i;:::-;5615:95;;5728:10;:17;5749:1;5728:22;:56;;;;5765:10;5754:30;;;;;;;;;;;;:::i;:::-;5720:111;;;;-1:-1:-1;;;5720:111:75;;32706:2:128;5720:111:75;;;32688:21:128;32745:2;32725:18;;;32718:30;32784:34;32764:18;;;32757:62;32855:12;32835:18;;;32828:40;32885:19;;5720:111:75;32504:406:128;704:427:83;768:4;975:68;1008:7;-1:-1:-1;;;975:32:83;:68::i;:::-;:149;;;;-1:-1:-1;1060:64:83;1093:7;-1:-1:-1;;;;;;1060:32:83;:64::i;:::-;1059:65;956:168;704:427;-1:-1:-1;;704:427:83:o;4421:647::-;4592:71;;;-1:-1:-1;;;;;;33077:79:128;;4592:71:83;;;;33059:98:128;;;;4592:71:83;;;;;;;;;;33032:18:128;;;;4592:71:83;;;;;;;;;-1:-1:-1;;;;;4592:71:83;-1:-1:-1;;;4592:71:83;;;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:83:o;2118:794:15:-;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:15;;2847:58;;;;-1:-1:-1;;;2847:58:15;;33370:2:128;2847:58:15;;;33352:21:128;33409:2;33389:18;;;33382:30;33448:25;33428:18;;;33421:53;33491:18;;2847:58:15;33168:347:128;2407:149:81;2465:13;2497:52;-1:-1:-1;;;;;2509:22:81;;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:81;;1918:47;;1975:15;:6;1982:1;1975:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1975:15:81;;;;;;;;;2000;:6;2007:1;2000:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2000:15:81;;;;;;;;-1:-1:-1;2030:9:81;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:81;;;;;;;;-1:-1:-1;2141:1:81;2131:11;;;;;2065:3;;;:::i;:::-;;;2025:128;;;-1:-1:-1;2170:10:81;;2162:55;;;;-1:-1:-1;;;2162:55:81;;33863:2:128;2162:55:81;;;33845:21:128;;;33882:18;;;33875:30;33941:34;33921:18;;;33914:62;33993:18;;2162:55:81;33661:356:128;4108:223:78;4241:12;4272:52;4294:6;4302:4;4308:1;4311:12;4241;5446;5460:23;5487:6;-1:-1:-1;;;;;5487:11:78;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:78;;;8113:60;;;;-1:-1:-1;;;8113:60:78;;34923:2:128;8113:60:78;;;34905:21:128;34962:2;34942:18;;;34935:30;35001:31;34981:18;;;34974:59;35050:18;;8113:60:78;34721:353:128;8113:60:78;-1:-1:-1;8208:10:78;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:78;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:332:128;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:128;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:128;;907:180;-1:-1:-1;907:180:128:o;1092:154::-;-1:-1:-1;;;;;1171:5:128;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:128;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:128: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:128;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:128;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:128:o;6117:187::-;6166:4;6199:18;6191:6;6188:30;6185:56;;;6221:18;;:::i;:::-;-1:-1:-1;6287:2:128;6266:15;-1:-1:-1;;6262:29:128;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:128: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:128: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:128;9598:416;-1:-1:-1;9598:416:128: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:128: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:128;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:128;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:128;12272:39;;;;12313:4;12268:50;;12053:271;-1:-1:-1;;12053:271:128: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:128;13438:18;;13425:32;13466:33;13425:32;13466:33;:::i;:::-;13518:7;-1:-1:-1;13544:63:128;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:128;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:128;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:128;;14954:184;-1:-1:-1;14954:184:128:o;16180:274::-;16220:1;16246;16236:189;;-1:-1:-1;;;16278:1:128;16271:88;16382:4;16379:1;16372:15;16410:4;16407:1;16400:15;16236:189;-1:-1:-1;16439:9:128;;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:128;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:128;17906:13;;17790:135::o;17930:128::-;17997:9;;;18018:11;;;18015:37;;;18032:18;;:::i;18316:184::-;-1:-1:-1;;;18365:1:128;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:128;19888:13;;19884:27;-1:-1:-1;19874:55:128;;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:128;20248:14;;20241:31;;;;-1:-1:-1;20319:3:128;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:128: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:128;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:128;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:128;;;22904:26;22855:89;-1:-1:-1;;21659:1:128;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:128;;;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:128;22692:14;;;22708:3;22688:24;22684:37;22680:42;22665:58;22650:74;;22537:201;-1:-1:-1;;;;;22784:1:128;22768:14;;;22764:22;22751:36;;-1:-1:-1;21702:1352:128: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:128: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:128;;24373:12;;;24366:46;24459:14;;24452:22;24449:1;24445:30;24436:40;;24432:49;;;-1:-1:-1;24345:146:128;;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:128;;;;;;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:128;25413:75;;25508:12;;;;25543:15;;;;25386:1;25379:9;25350:218;;;-1:-1:-1;25584:3:128;;25109:484;-1:-1:-1;;;;;25109:484:128: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:128;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:128: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:128;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:128;28410:15;;;28404:22;-1:-1:-1;;;;;2606:54:128;28470:18;;;;2594:67;27366:1129;:::o;28500:1002::-;28925:6;28914:9;28907:25;28888:4;-1:-1:-1;;;;;29041:2:128;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:128:o;29507:636::-;29800:6;29789:9;29782:25;29763:4;-1:-1:-1;;;;;29916:2:128;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:128;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:128:o;33520:136::-;33559:3;33587:5;33577:39;;33596:18;;:::i;:::-;-1:-1:-1;;;33632:18:128;;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:128: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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"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/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\":\"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71\",\"dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"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\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"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\":\"0x9a0dba4c62abd4bc2887a8fec229c2e1916ba0d8bc7bbc8da712188552650752\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://48a99a5af361529ac37e477e3195d6a9355ff5ab2ef3e4d002d80a404da6e4dd\",\"dweb:/ipfs/Qmf8BsNJcG2Lno4gjUV3DfDsDsgNGrCLRMTXkWkm4JnM6u\"]},\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0x1c576e15a5543c06e92cb45f7162a2aa5dac1a276088ec323f5c0438f69c2e52\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://60cb3de95b895d81666b3899a5d73d620742a5c98558ad9799c0464da7b3ab55\",\"dweb:/ipfs/QmReM4jMH5Vc6gGeo7UtHFruHVnqY2rWaecXr1FwDmA6gE\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]}},\"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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"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/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":"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69","urls":["bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71","dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"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":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"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":"0x9a0dba4c62abd4bc2887a8fec229c2e1916ba0d8bc7bbc8da712188552650752","urls":["bzz-raw://48a99a5af361529ac37e477e3195d6a9355ff5ab2ef3e4d002d80a404da6e4dd","dweb:/ipfs/Qmf8BsNJcG2Lno4gjUV3DfDsDsgNGrCLRMTXkWkm4JnM6u"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-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":"0x1c576e15a5543c06e92cb45f7162a2aa5dac1a276088ec323f5c0438f69c2e52","urls":["bzz-raw://60cb3de95b895d81666b3899a5d73d620742a5c98558ad9799c0464da7b3ab55","dweb:/ipfs/QmReM4jMH5Vc6gGeo7UtHFruHVnqY2rWaecXr1FwDmA6gE"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"}},"version":1},"id":118} \ 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 679b6188b..bba2be087 100644 --- a/pkg/contracts/out/RegistryFactory.sol/RegistryFactory.json +++ b/pkg/contracts/out/RegistryFactory.sol/RegistryFactory.json @@ -1 +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":"0x6080604052600060015534801561001557600080fd5b5061001f33610024565b610074565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6152d1806100836000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c8063987435be11610081578063b8bed9011161005b578063b8bed90114610198578063f2fde38b146101ab578063f5016b5e146101be57600080fd5b8063987435be1461016b578063affed0e01461017c578063b5b3ca2c1461018557600080fd5b80638279c7db116100b25780638279c7db1461011c5780638a16135f1461012f5780638da5cb5b1461015a57600080fd5b80630a992e0c146100d95780635a2c8ace146100ff578063715018a614610114575b600080fd5b6100ec6100e73660046106a3565b6101fa565b6040519081526020015b60405180910390f35b61011261010d3660046106d7565b61027b565b005b6101126102e7565b61011261012a3660046106a3565b6102fb565b61014261013d366004610848565b61036d565b6040516001600160a01b0390911681526020016100f6565b6000546001600160a01b0316610142565b6003546001600160a01b0316610142565b6100ec60015481565b61011261019336600461099e565b61048e565b600354610142906001600160a01b031681565b6101126101b93660046106a3565b6104ea565b6101ea6101cc3660046106a3565b6001600160a01b031660009081526002602052604090205460ff1690565b60405190151581526020016100f6565b6001600160a01b03811660009081526002602052604081205460ff1661025c576040517ff5a6943d0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024015b60405180910390fd5b506001600160a01b031660009081526002602052604090206001015490565b61028361057a565b6001600160a01b038216600081815260026020908152604091829020805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b6102ef61057a565b6102f960006105d4565b565b61030361057a565b61030c81610631565b6003805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d9060200160405180910390a150565b60008060405161037c90610671565b604051809103906000f080158015610398573d6000803e3d6000fd5b506001805491925060006103ab836109ca565b9091555060808401523060a08401526040517f96f0adec0000000000000000000000000000000000000000000000000000000081526001600160a01b038216906396f0adec906103ff908690600401610a5e565b600060405180830381600087803b15801561041957600080fd5b505af115801561042d573d6000803e3d6000fd5b505050506001600160a01b038116600081815260026020908152604091829020805460ff1916600117905590519182527fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29910160405180910390a192915050565b61049661057a565b6001600160a01b038216600081815260026020908152604091829020600101849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c91016102db565b6104f261057a565b6001600160a01b03811661056e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610253565b610577816105d4565b50565b6000546001600160a01b031633146102f95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610253565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116610577576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6146fe80610b9e83390190565b6001600160a01b038116811461057757600080fd5b803561069e8161067e565b919050565b6000602082840312156106b557600080fd5b81356106c08161067e565b9392505050565b8035801515811461069e57600080fd5b600080604083850312156106ea57600080fd5b82356106f58161067e565b9150610703602084016106c7565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b6040516101a0810167ffffffffffffffff811182821017156107465761074661070c565b60405290565b600082601f83011261075d57600080fd5b813567ffffffffffffffff808211156107785761077861070c565b604051601f8301601f19908116603f011681019082821181831017156107a0576107a061070c565b816040528381528660208588010111156107b957600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000604082840312156107eb57600080fd5b6040516040810167ffffffffffffffff828210818311171561080f5761080f61070c565b8160405282935084358352602085013591508082111561082e57600080fd5b5061083b8582860161074c565b6020830152505092915050565b60006020828403121561085a57600080fd5b813567ffffffffffffffff8082111561087257600080fd5b908301906101a0828603121561088757600080fd5b61088f610722565b61089883610693565b81526108a660208401610693565b60208201526040830135604082015260608301356060820152608083013560808201526108d560a08401610693565b60a08201526108e660c08401610693565b60c082015260e0830135828111156108fd57600080fd5b610909878286016107d9565b60e08301525061010061091d818501610693565b90820152610120838101358381111561093557600080fd5b6109418882870161074c565b8284015250506101406109558185016106c7565b90820152610160838101358381111561096d57600080fd5b6109798882870161074c565b828401525050610180915061098f828401610693565b91810191909152949350505050565b600080604083850312156109b157600080fd5b82356109bc8161067e565b946020939093013593505050565b6000600182016109ea57634e487b7160e01b600052601160045260246000fd5b5060010190565b6000815180845260005b81811015610a17576020818501810151868301820152016109fb565b506000602082860101526020601f19601f83011685010191505092915050565b805182526000602082015160406020850152610a5660408501826109f1565b949350505050565b60208152610a786020820183516001600160a01b03169052565b60006020830151610a9460408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015160a083015260a0830151610acd60c08401826001600160a01b03169052565b5060c08301516001600160a01b03811660e08401525060e08301516101a06101008181860152610b016101c0860184610a37565b90860151909250610120610b1f868201836001600160a01b03169052565b80870151915050601f19610140818786030181880152610b3f85846109f1565b945080880151925050610160610b588188018415159052565b80880151925050610180818786030181880152610b7585846109f1565b94508088015192505050610b93828601826001600160a01b03169052565b509094935050505056fe60806040523480156200001157600080fd5b506001600090815562000046907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b906200004c565b62000099565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b61465580620000a96000396000f3fe608060405234801561001057600080fd5b506004361061036d5760003560e01c80636c53db9a116101d3578063a230c52411610104578063d547741f116100a2578063db61d65c1161007c578063db61d65c1461086c578063ebd7dc521461087f578063f86c5f8914610892578063ff6409ef146108a557600080fd5b8063d547741f1461083d578063d6d8428d14610850578063d7050f071461086357600080fd5b8063b64e39af116100de578063b64e39af14610810578063b99b437014610825578063bc063e1a1461082d578063c6d572ae1461083557600080fd5b8063a230c5241461079e578063b3f00674146107f5578063b5058c501461080857600080fd5b80638961be6b1161017157806397991cfa1161014b57806397991cfa14610724578063a0b21cdf14610754578063a0cf0aea1461077b578063a217fddf1461079657600080fd5b80638961be6b146106cf57806391d14854146106d857806396f0adec1461071157600080fd5b806378a0b8a9116101ad57806378a0b8a91461063d5780637b1039991461064657806382d6a1e71461065957806388cfe6841461066c57600080fd5b80636c53db9a146105de57806373265c37146105f15780637817ee4f1461060457600080fd5b80632f2ff15d116102ad578063477a5cc01161024b5780635ecf71c5116102255780635ecf71c51461057a57806365e3864c1461058d5780636871eb4d146105b857806368decabb146105cb57600080fd5b8063477a5cc014610526578063559de05d146105545780635c94e4d21461056757600080fd5b80633517aa7d116102875780633517aa7d146104d557806336568abe146104dd578063397e2543146104f05780633a871fe11461050357600080fd5b80632f2ff15d146104a657806331f61bca146104b957806333960459146104cc57600080fd5b80631f787d281161031a578063248a9ca3116102f4578063248a9ca31461042357806328c309e9146104475780632b38c69c1461044f5780632c611c4a1461047a57600080fd5b80631f787d28146103f0578063223e5479146103fd57806322bcf9991461041057600080fd5b80630d12bbdb1161034b5780630d12bbdb146103b55780630d4a8b49146103ca578063175188e8146103dd57600080fd5b806301ffc9a7146103725780630331383c1461039a57806308386eba146103ac575b600080fd5b61038561038036600461377d565b6108b8565b60405190151581526020015b60405180910390f35b6003545b604051908152602001610391565b61039e60055481565b6103c86103c33660046137a7565b610908565b005b6103c86103d83660046137e5565b610992565b6103c86103eb36600461381e565b610cf9565b6002546103859060ff1681565b6103c861040b36600461381e565b610d0d565b6103c861041e3660046137e5565b610d1e565b61039e6104313660046137a7565b6000908152600160208190526040909120015490565b61039e610e2d565b61046261045d36600461383b565b610f17565b6040516001600160a01b039091168152602001610391565b61039e61048836600461381e565b6001600160a01b031660009081526013602052604090206001015490565b6103c86104b4366004613867565b610f4f565b6103c86104c73660046137a7565b610f7a565b61039e60095481565b6103c8610fb7565b6103c86104eb366004613867565b6113bc565b6103c86104fe36600461381e565b61144d565b61038561051136600461381e565b60116020526000908152604090205460ff1681565b6103856105343660046137e5565b601560209081526000928352604080842090915290825290205460ff1681565b6103c86105623660046137a7565b6114ba565b600854610462906001600160a01b031681565b6103c86105883660046137a7565b611794565b61039e61059b3660046137e5565b601260209081526000928352604080842090915290825290205481565b6103c86105c63660046137e5565b611b4e565b600a54610462906001600160a01b031681565b600d54610462906001600160a01b031681565b6103c86105ff3660046137a7565b611d59565b61039e6106123660046137e5565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b61039e60035481565b600b54610462906001600160a01b031681565b6103c86106673660046137a7565b611deb565b6106a861067a36600461381e565b6013602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b0390941684526020840192909252151590820152606001610391565b61039e60045481565b6103856106e6366004613867565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6103c861071f366004613a50565b611e9c565b610737610732366004613cab565b612388565b604080519283526001600160a01b03909116602083015201610391565b61039e7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b61046273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61039e600081565b6103856107ac36600461381e565b6001600160a01b039081166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b600654610462906001600160a01b031681565b6103c86123d2565b61081861241e565b6040516103919190613d5e565b6103c86124ac565b61039e61260f565b61081861261f565b6103c861084b366004613867565b61262c565b600e54610462906001600160a01b031681565b61039e61271081565b600c54610462906001600160a01b031681565b61038561088d36600461381e565b612652565b600754610462906001600160a01b031681565b6107376108b3366004613d71565b612692565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061090257506301ffc9a760e01b6001600160e01b03198316145b92915050565b610910612811565b61091d612710600a613dfd565b811115610956576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60048190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b61099b82612879565b6109a4816128dc565b6109ad8161292e565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff1615610a0d576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0380831660009081526013602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff161515918301919091526003805490846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abd9190613e2a565b6003811115610ace57610ace613e14565b03610b4d5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b469190613e47565b9050610c3f565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb39190613e2a565b6003811115610bc457610bc4613e14565b14610c3f5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af1158015610c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3c9190613e47565b90505b6001600160a01b038581166000818152601260209081526040808320948916808452948252808320869055838352601582528083208584528252808320805460ff19166001908117909155848452601483528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b610d01612811565b610d0a8161296e565b50565b610d15612811565b610d0a816129c8565b610d2782612879565b610d308161292e565b610d3a3382612a6f565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff16610d99576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000818152601560209081526040808320948616808452948252808320805460ff191690559282526012815282822093825292909252812055610de78282612aba565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b910160405180910390a15050565b6007546000906001600160a01b031681610e4a6127106064613dfd565b600454600354610e5a9190613dfd565b610e649190613e60565b90506000610e756127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190613e47565b600354610eea9190613dfd565b610ef49190613e60565b90508082600354610f059190613e82565b610f0f9190613e82565b935050505090565b60146020528160005260406000208181548110610f3357600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008281526001602081905260409091200154610f6b81612bdc565b610f758383612be6565b505050565b610f82612811565b60038190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f90602001610987565b610fbf612c6d565b33600081815260136020526040812060075490916001600160a01b0390911690610fec6127106064613dfd565b600454600354610ffc9190613dfd565b6110069190613e60565b905060006110176127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190613e47565b60035461108c9190613dfd565b6110969190613e60565b6001600160a01b038087166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190529091506113ab5760028401805460ff191660019081179091556003549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152600c5461114691906001600160a01b0316612cc6565b6111788530838560035461115a9190613e82565b6111649190613e82565b600c546001600160a01b0316929190612d24565b6111b76040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e74000000000000000000000000000081525083612da8565b81156112245760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260065461120791906001600160a01b0316612cc6565b600654600c54611224916001600160a01b03918216911684612e06565b6112636040518060400160405280601081526020017f67617264656e73466565416d6f756e740000000000000000000000000000000081525082612da8565b8015611364576112ec6040518060600160405280602681526020016145fa60269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e79190613e95565b612cc6565b611364836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113519190613e95565b600c546001600160a01b03169083612e06565b600354604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b50505050506113ba6001600055565b565b6001600160a01b038116331461143f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6114498282612e36565b5050565b611455612811565b61145e8161292e565b600a80546001600160a01b0319166001600160a01b03838116918217909255600d546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610987565b6114c2612c6d565b6114ca612eb9565b3360008181526014602090815260408083208054825181850281018501909352808352919290919083018282801561152b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161150d575b50505050509050600080600090505b82518110156116fb5782818151811061155557611555613eb2565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af11580156115b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d49190613e47565b915081156116e9576001600160a01b0384166000908152601260205260408120845184929086908590811061160b5761160b613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546116429190613e82565b925050819055506116e96040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525060126000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815181106116bb576116bb613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054612da8565b806116f381613ec8565b91505061153a565b50600c54611714906001600160a01b0316843087612d24565b6001600160a01b0383166000908152601360205260408120600101805486929061173f908490613e82565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a1505050610d0a6001600055565b61179c612c6d565b6117a4612eb9565b336000818152601460209081526040808320600354601390935290832060010154909291906117d4908690613ee1565b101561180c576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c54611823906001600160a01b03168486612e06565b60005b8254811015611ade57600083828154811061184357611843613eb2565b6000918252602090912001546001600160a01b0316905061186b8163f1801e6160e01b612f18565b15611a12576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156118d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fc9190613e47565b9250600060126000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858154811061193957611939613eb2565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156119a4576040517f8a11f3180000000000000000000000000000000000000000000000000000000081526004810185905260248101829052604401611436565b6001600160a01b038616600090815260126020526040812086548692908890879081106119d3576119d3613eb2565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190611a07908490613ee1565b909155505050611acb565b83548490611a2290600190613ee1565b81548110611a3257611a32613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110611a6257611a62613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480611aa057611aa0613ef4565b600082815260209020810160001990810180546001600160a01b0319169055019055611acb8161296e565b5080611ad681613ec8565b915050611826565b506001600160a01b03831660009081526013602052604081206001018054869290611b0a908490613ee1565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8910161177f565b611b56612c6d565b611b5e612811565b60025460ff16611b9a576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052611bfd57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152611c4b83612f3b565b6001600160a01b03838116600090815260136020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff19169055600c5490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af1158015611cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfd9190613f0a565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a1506114496001600055565b611d61612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611dab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dd39190810190613f27565b602001519050611de28161292e565b6114498161296e565b611df3612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611e3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e659190810190613f27565b602001519050611e748161292e565b611e8e6001600160a01b03821663f1801e6160e01b612f18565b1561144957611449816129c8565b611ea9816020015161292e565b611eb781610100015161292e565b8051611ec29061292e565b611ecf8160a0015161292e565b611edd81610180015161292e565b606081015115611ef457611ef48160c0015161292e565b8051600e80546001600160a01b039283166001600160a01b0319918216179091556020830151600c80549190931691161790556040810151600003611f65576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015160035560608101516004556101408101516002805460ff1916911515919091179055610120810151600f90611f9f90826140d1565b50610160810151601090611fb390826140d1565b5060a0810151600780546001600160a01b03199081166001600160a01b039384161790915560c0830151600680548316918416919091179055610100830151600d8054831682851617905561018084015160088054909316931692909217905561203e907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90612be6565b600e60009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015612091573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b59190613e95565b600b80546001600160a01b0319166001600160a01b03928316179055600d54604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121579190810190614191565b90506000815160026121699190613e82565b67ffffffffffffffff8111156121815761218161388c565b6040519080825280602002602001820160405280156121aa578160200160208202803683370190505b50905060005b825181101561220f578281815181106121cb576121cb613eb2565b60200260200101518282815181106121e5576121e5613eb2565b6001600160a01b03909216602092830291909101909101528061220781613ec8565b9150506121b0565b50600d5481516001600160a01b0390911690829061222f90600190613ee1565b8151811061223f5761223f613eb2565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835161226f9190613ee1565b8151811061227f5761227f613eb2565b6001600160a01b039283166020918202929092010152600b54608085015160e08601516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f926122e79291600f9130908890600401614323565b6020604051808303816000875af1158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613e47565b60055580516123409060169060208401906136e9565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205600554600f8560e0015160405161237b93929190614371565b60405180910390a1505050565b60085460098054600092839283926123b7926001600160a01b031691846123ae83613ec8565b9190505561305d565b90506123c581878787612692565b9250925050935093915050565b600a546001600160a01b03163314612416576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113ba6130b1565b6010805461242b90614049565b80601f016020809104026020016040519081016040528092919081815260200182805461245790614049565b80156124a45780601f10612479576101008083540402835291602001916124a4565b820191906000526020600020905b81548152906001019060200180831161248757829003601f168201915b505050505081565b6124b4612c6d565b336124be81612879565b6124c781612f3b565b6001600160a01b0380821660008181526013602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945560149052918220909161253e919061374e565b600c54602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015612596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ba9190613f0a565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a150506113ba6001600055565b61261c612710600a613dfd565b81565b600f805461242b90614049565b6000828152600160208190526040909120015461264881612bdc565b610f758383612e36565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff16610902565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156126bc5750845b8691506000601680548060200260200160405190810160405280929190818152602001828054801561271757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116126f9575b5050600e546005546040519596506001600160a01b039091169463e1007d4a945090925087915061274c908b906020016143ba565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b81526004016127829796959493929190614452565b6020604051808303816000875af11580156127a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c59190613e47565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a896040516127fe9594939291906144be565b60405180910390a1505094509492505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff166113ba576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038082166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052610d0a57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03811660009081526011602052604090205460ff16610d0a576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116610d0a576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129778161292e565b6001600160a01b038116600081815260116020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49101610987565b6001600160a01b03811660009081526011602052604090205460ff1615612a1b576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815260116020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610987565b806001600160a01b0316826001600160a01b031614611449576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152601460205260408120905b8154811015612bd657826001600160a01b0316828281548110612af957612af9613eb2565b6000918252602090912001546001600160a01b031603612bc45781548290612b2390600190613ee1565b81548110612b3357612b33613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110612b6357612b63613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480612ba157612ba1613ef4565b600082815260209020810160001990810180546001600160a01b03191690550190555b80612bce81613ec8565b915050612ad4565b50505050565b610d0a813361310c565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b600260005403612cbf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401611436565b6002600055565b6114498282604051602401612cdc9291906144f8565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b0380851660248301528316604482015260648101829052612bd69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526131a2565b6114498282604051602401612dbe929190614523565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b038316602482015260448101829052610f7590849063a9059cbb60e01b90606401612d71565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16156114495760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b33600090815260136020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526113ba57604051636a5cfb6d60e01b815260040160405180910390fd5b6000612f238361328a565b8015612f345750612f3483836132bd565b9392505050565b6001600160a01b038116600090815260146020908152604080832080548251818502810185019093528083529192909190830182828015612fa557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612f87575b5050505050905060005b8151811015610f7557818181518110612fca57612fca613eb2565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801561303257600080fd5b505af1158015613046573d6000803e3d6000fd5b50505050808061305590613ec8565b915050612faf565b6040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506130a98482613346565b949350505050565b600a8054600d80546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495761313f816133e3565b61314a8360206133f5565b60405160200161315b929190614545565b60408051601f198184030181529082905262461bcd60e51b825261143691600401613d5e565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006131f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135d69092919063ffffffff16565b90508051600014806132185750808060200190518101906132189190613f0a565b610f755760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611436565b600061329d826301ffc9a760e01b6132bd565b801561090257506132b6826001600160e01b03196132bd565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561332f575060208210155b801561333b5750600081115b979650505050505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166109025760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401611436565b60606109026001600160a01b03831660145b60606000613404836002613dfd565b61340f906002613e82565b67ffffffffffffffff8111156134275761342761388c565b6040519080825280601f01601f191660200182016040528015613451576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061348857613488613eb2565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106134d3576134d3613eb2565b60200101906001600160f81b031916908160001a90535060006134f7846002613dfd565b613502906001613e82565b90505b6001811115613587577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061354357613543613eb2565b1a60f81b82828151811061355957613559613eb2565b60200101906001600160f81b031916908160001a90535060049490941c93613580816145c6565b9050613505565b508315612f345760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611436565b60606130a9848460008585600080866001600160a01b031685876040516135fd91906145dd565b60006040518083038185875af1925050503d806000811461363a576040519150601f19603f3d011682016040523d82523d6000602084013e61363f565b606091505b509150915061333b87838387606083156136ba5782516000036136b3576001600160a01b0385163b6136b35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611436565b50816130a9565b6130a983838151156136cf5781518083602001fd5b8060405162461bcd60e51b81526004016114369190613d5e565b82805482825590600052602060002090810192821561373e579160200282015b8281111561373e57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613709565b5061374a929150613768565b5090565b5080546000825590600052602060002090810190610d0a91905b5b8082111561374a5760008155600101613769565b60006020828403121561378f57600080fd5b81356001600160e01b031981168114612f3457600080fd5b6000602082840312156137b957600080fd5b5035919050565b6001600160a01b0381168114610d0a57600080fd5b80356137e0816137c0565b919050565b600080604083850312156137f857600080fd5b8235613803816137c0565b91506020830135613813816137c0565b809150509250929050565b60006020828403121561383057600080fd5b8135612f34816137c0565b6000806040838503121561384e57600080fd5b8235613859816137c0565b946020939093013593505050565b6000806040838503121561387a57600080fd5b823591506020830135613813816137c0565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156138c5576138c561388c565b60405290565b6040516101a0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051610120810167ffffffffffffffff811182821017156138c5576138c561388c565b60405160c0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051601f8201601f1916810167ffffffffffffffff8111828210171561395f5761395f61388c565b604052919050565b600067ffffffffffffffff8211156139815761398161388c565b50601f01601f191660200190565b600082601f8301126139a057600080fd5b81356139b36139ae82613967565b613936565b8181528460208386010111156139c857600080fd5b816020850160208301376000918101602001919091529392505050565b6000604082840312156139f757600080fd5b6139ff6138a2565b905081358152602082013567ffffffffffffffff811115613a1f57600080fd5b613a2b8482850161398f565b60208301525092915050565b8015158114610d0a57600080fd5b80356137e081613a37565b600060208284031215613a6257600080fd5b813567ffffffffffffffff80821115613a7a57600080fd5b908301906101a08286031215613a8f57600080fd5b613a976138cb565b613aa0836137d5565b8152613aae602084016137d5565b6020820152604083013560408201526060830135606082015260808301356080820152613add60a084016137d5565b60a0820152613aee60c084016137d5565b60c082015260e083013582811115613b0557600080fd5b613b11878286016139e5565b60e083015250610100613b258185016137d5565b908201526101208381013583811115613b3d57600080fd5b613b498882870161398f565b828401525050610140613b5d818501613a45565b908201526101608381013583811115613b7557600080fd5b613b818882870161398f565b8284015250506101809150613b978284016137d5565b91810191909152949350505050565b8035600381106137e057600080fd5b60048110610d0a57600080fd5b80356137e081613bb5565b600060208284031215613bdf57600080fd5b6040516020810181811067ffffffffffffffff82111715613c0257613c0261388c565b6040529135825250919050565b60006101208284031215613c2257600080fd5b613c2a6138ef565b9050613c35826137d5565b815260208201356020820152604082013560408201526060820135606082015260808201356080820152613c6b60a08301613ba6565b60a0820152613c7c60c08301613bc2565b60c0820152613c8e8360e08401613bcd565b60e0820152610100613ca18184016137d5565b9082015292915050565b60008060006101608486031215613cc157600080fd5b8335613ccc816137c0565b9250613cdb8560208601613c0f565b915061014084013567ffffffffffffffff811115613cf857600080fd5b613d04868287016139e5565b9150509250925092565b60005b83811015613d29578181015183820152602001613d11565b50506000910152565b60008151808452613d4a816020860160208601613d0e565b601f01601f19169290920160200192915050565b602081526000612f346020830184613d32565b6000806000806101808587031215613d8857600080fd5b8435613d93816137c0565b93506020850135613da3816137c0565b9250613db28660408701613c0f565b915061016085013567ffffffffffffffff811115613dcf57600080fd5b613ddb878288016139e5565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761090257610902613de7565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613e3c57600080fd5b8151612f3481613bb5565b600060208284031215613e5957600080fd5b5051919050565b600082613e7d57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561090257610902613de7565b600060208284031215613ea757600080fd5b8151612f34816137c0565b634e487b7160e01b600052603260045260246000fd5b600060018201613eda57613eda613de7565b5060010190565b8181038181111561090257610902613de7565b634e487b7160e01b600052603160045260246000fd5b600060208284031215613f1c57600080fd5b8151612f3481613a37565b60006020808385031215613f3a57600080fd5b825167ffffffffffffffff80821115613f5257600080fd5b9084019060c08287031215613f6657600080fd5b613f6e613913565b8251815283830151613f7f816137c0565b818501526040830151613f91816137c0565b6040820152606083015182811115613fa857600080fd5b830160408189031215613fba57600080fd5b613fc26138a2565b815181528582015184811115613fd757600080fd5b82019350601f84018913613fea57600080fd5b83519150613ffa6139ae83613967565b828152898784870101111561400e57600080fd5b61401d83888301898801613d0e565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c9082168061405d57607f821691505b60208210810361407d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f7557600081815260208120601f850160051c810160208610156140aa5750805b601f850160051c820191505b818110156140c9578281556001016140b6565b505050505050565b815167ffffffffffffffff8111156140eb576140eb61388c565b6140ff816140f98454614049565b84614083565b602080601f831160018114614134576000841561411c5750858301515b600019600386901b1c1916600185901b1785556140c9565b600085815260208120601f198616915b8281101561416357888601518255948401946001909101908401614144565b50858210156141815787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083850312156141a457600080fd5b825167ffffffffffffffff808211156141bc57600080fd5b818501915085601f8301126141d057600080fd5b8151818111156141e2576141e261388c565b8060051b91506141f3848301613936565b818152918301840191848101908884111561420d57600080fd5b938501935b838510156142375784519250614227836137c0565b8282529385019390850190614212565b98975050505050505050565b6000815461425081614049565b80855260206001838116801561426d5760018114614287576142b5565b60ff1985168884015283151560051b8801830195506142b5565b866000528260002060005b858110156142ad5781548a8201860152908301908401614292565b890184019650505b505050505092915050565b8051825260006020820151604060208501526130a96040850182613d32565b600081518084526020808501945080840160005b838110156143185781516001600160a01b0316875295820195908201906001016142f3565b509495945050505050565b85815260a06020820152600061433c60a0830187614243565b828103604084015261434e81876142c0565b90506001600160a01b0385166060840152828103608084015261423781856142df565b83815260606020820152600061438a6060830185614243565b828103604084015261439c81856142c0565b9695505050505050565b600481106143b6576143b6613e14565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061440d5761440d613e14565b8060a08401525060c083015161442660c08401826143a6565b5060e083015161443960e0840182519052565b50610100928301516001600160a01b0316919092015290565b87815260006001600160a01b03808916602084015260e0604084015261447b60e0840189613d32565b818816606085015286608085015283810360a085015261449b81876142c0565b91505082810360c08401526144b081856142df565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a0608083015261333b60a08301846142c0565b60408152600061450b6040830185613d32565b90506001600160a01b03831660208301529392505050565b6040815260006145366040830185613d32565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161457d816017850160208801613d0e565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516145ba816028840160208801613d0e565b01602801949350505050565b6000816145d5576145d5613de7565b506000190190565b600082516145ef818460208701613d0e565b919091019291505056fe67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829a2646970667358221220cdd8a978867f857ae681e7722dc999d50c0d7c69b0187a98ff1af2af6f0c8cb664736f6c63430008130033a264697066735822122099faa7de0f30424ad2a718524e6b59107ebea9b314ca3ee4204a61b4ef40188f64736f6c63430008130033","sourceMap":"202:2981:116:-:0;;;267:1;244:24;;202:2981;;;;;;;;;-1:-1:-1;936:32:27;719:10:35;936:18:27;:32::i;:::-;202:2981:116;;2426:187:27;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:27;;;-1:-1:-1;;;;;;2534:17:27;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;202:2981:116:-;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100d45760003560e01c8063987435be11610081578063b8bed9011161005b578063b8bed90114610198578063f2fde38b146101ab578063f5016b5e146101be57600080fd5b8063987435be1461016b578063affed0e01461017c578063b5b3ca2c1461018557600080fd5b80638279c7db116100b25780638279c7db1461011c5780638a16135f1461012f5780638da5cb5b1461015a57600080fd5b80630a992e0c146100d95780635a2c8ace146100ff578063715018a614610114575b600080fd5b6100ec6100e73660046106a3565b6101fa565b6040519081526020015b60405180910390f35b61011261010d3660046106d7565b61027b565b005b6101126102e7565b61011261012a3660046106a3565b6102fb565b61014261013d366004610848565b61036d565b6040516001600160a01b0390911681526020016100f6565b6000546001600160a01b0316610142565b6003546001600160a01b0316610142565b6100ec60015481565b61011261019336600461099e565b61048e565b600354610142906001600160a01b031681565b6101126101b93660046106a3565b6104ea565b6101ea6101cc3660046106a3565b6001600160a01b031660009081526002602052604090205460ff1690565b60405190151581526020016100f6565b6001600160a01b03811660009081526002602052604081205460ff1661025c576040517ff5a6943d0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024015b60405180910390fd5b506001600160a01b031660009081526002602052604090206001015490565b61028361057a565b6001600160a01b038216600081815260026020908152604091829020805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b6102ef61057a565b6102f960006105d4565b565b61030361057a565b61030c81610631565b6003805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d9060200160405180910390a150565b60008060405161037c90610671565b604051809103906000f080158015610398573d6000803e3d6000fd5b506001805491925060006103ab836109ca565b9091555060808401523060a08401526040517f96f0adec0000000000000000000000000000000000000000000000000000000081526001600160a01b038216906396f0adec906103ff908690600401610a5e565b600060405180830381600087803b15801561041957600080fd5b505af115801561042d573d6000803e3d6000fd5b505050506001600160a01b038116600081815260026020908152604091829020805460ff1916600117905590519182527fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29910160405180910390a192915050565b61049661057a565b6001600160a01b038216600081815260026020908152604091829020600101849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c91016102db565b6104f261057a565b6001600160a01b03811661056e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610253565b610577816105d4565b50565b6000546001600160a01b031633146102f95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610253565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116610577576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6146fe80610b9e83390190565b6001600160a01b038116811461057757600080fd5b803561069e8161067e565b919050565b6000602082840312156106b557600080fd5b81356106c08161067e565b9392505050565b8035801515811461069e57600080fd5b600080604083850312156106ea57600080fd5b82356106f58161067e565b9150610703602084016106c7565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b6040516101a0810167ffffffffffffffff811182821017156107465761074661070c565b60405290565b600082601f83011261075d57600080fd5b813567ffffffffffffffff808211156107785761077861070c565b604051601f8301601f19908116603f011681019082821181831017156107a0576107a061070c565b816040528381528660208588010111156107b957600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000604082840312156107eb57600080fd5b6040516040810167ffffffffffffffff828210818311171561080f5761080f61070c565b8160405282935084358352602085013591508082111561082e57600080fd5b5061083b8582860161074c565b6020830152505092915050565b60006020828403121561085a57600080fd5b813567ffffffffffffffff8082111561087257600080fd5b908301906101a0828603121561088757600080fd5b61088f610722565b61089883610693565b81526108a660208401610693565b60208201526040830135604082015260608301356060820152608083013560808201526108d560a08401610693565b60a08201526108e660c08401610693565b60c082015260e0830135828111156108fd57600080fd5b610909878286016107d9565b60e08301525061010061091d818501610693565b90820152610120838101358381111561093557600080fd5b6109418882870161074c565b8284015250506101406109558185016106c7565b90820152610160838101358381111561096d57600080fd5b6109798882870161074c565b828401525050610180915061098f828401610693565b91810191909152949350505050565b600080604083850312156109b157600080fd5b82356109bc8161067e565b946020939093013593505050565b6000600182016109ea57634e487b7160e01b600052601160045260246000fd5b5060010190565b6000815180845260005b81811015610a17576020818501810151868301820152016109fb565b506000602082860101526020601f19601f83011685010191505092915050565b805182526000602082015160406020850152610a5660408501826109f1565b949350505050565b60208152610a786020820183516001600160a01b03169052565b60006020830151610a9460408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015160a083015260a0830151610acd60c08401826001600160a01b03169052565b5060c08301516001600160a01b03811660e08401525060e08301516101a06101008181860152610b016101c0860184610a37565b90860151909250610120610b1f868201836001600160a01b03169052565b80870151915050601f19610140818786030181880152610b3f85846109f1565b945080880151925050610160610b588188018415159052565b80880151925050610180818786030181880152610b7585846109f1565b94508088015192505050610b93828601826001600160a01b03169052565b509094935050505056fe60806040523480156200001157600080fd5b506001600090815562000046907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b906200004c565b62000099565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b61465580620000a96000396000f3fe608060405234801561001057600080fd5b506004361061036d5760003560e01c80636c53db9a116101d3578063a230c52411610104578063d547741f116100a2578063db61d65c1161007c578063db61d65c1461086c578063ebd7dc521461087f578063f86c5f8914610892578063ff6409ef146108a557600080fd5b8063d547741f1461083d578063d6d8428d14610850578063d7050f071461086357600080fd5b8063b64e39af116100de578063b64e39af14610810578063b99b437014610825578063bc063e1a1461082d578063c6d572ae1461083557600080fd5b8063a230c5241461079e578063b3f00674146107f5578063b5058c501461080857600080fd5b80638961be6b1161017157806397991cfa1161014b57806397991cfa14610724578063a0b21cdf14610754578063a0cf0aea1461077b578063a217fddf1461079657600080fd5b80638961be6b146106cf57806391d14854146106d857806396f0adec1461071157600080fd5b806378a0b8a9116101ad57806378a0b8a91461063d5780637b1039991461064657806382d6a1e71461065957806388cfe6841461066c57600080fd5b80636c53db9a146105de57806373265c37146105f15780637817ee4f1461060457600080fd5b80632f2ff15d116102ad578063477a5cc01161024b5780635ecf71c5116102255780635ecf71c51461057a57806365e3864c1461058d5780636871eb4d146105b857806368decabb146105cb57600080fd5b8063477a5cc014610526578063559de05d146105545780635c94e4d21461056757600080fd5b80633517aa7d116102875780633517aa7d146104d557806336568abe146104dd578063397e2543146104f05780633a871fe11461050357600080fd5b80632f2ff15d146104a657806331f61bca146104b957806333960459146104cc57600080fd5b80631f787d281161031a578063248a9ca3116102f4578063248a9ca31461042357806328c309e9146104475780632b38c69c1461044f5780632c611c4a1461047a57600080fd5b80631f787d28146103f0578063223e5479146103fd57806322bcf9991461041057600080fd5b80630d12bbdb1161034b5780630d12bbdb146103b55780630d4a8b49146103ca578063175188e8146103dd57600080fd5b806301ffc9a7146103725780630331383c1461039a57806308386eba146103ac575b600080fd5b61038561038036600461377d565b6108b8565b60405190151581526020015b60405180910390f35b6003545b604051908152602001610391565b61039e60055481565b6103c86103c33660046137a7565b610908565b005b6103c86103d83660046137e5565b610992565b6103c86103eb36600461381e565b610cf9565b6002546103859060ff1681565b6103c861040b36600461381e565b610d0d565b6103c861041e3660046137e5565b610d1e565b61039e6104313660046137a7565b6000908152600160208190526040909120015490565b61039e610e2d565b61046261045d36600461383b565b610f17565b6040516001600160a01b039091168152602001610391565b61039e61048836600461381e565b6001600160a01b031660009081526013602052604090206001015490565b6103c86104b4366004613867565b610f4f565b6103c86104c73660046137a7565b610f7a565b61039e60095481565b6103c8610fb7565b6103c86104eb366004613867565b6113bc565b6103c86104fe36600461381e565b61144d565b61038561051136600461381e565b60116020526000908152604090205460ff1681565b6103856105343660046137e5565b601560209081526000928352604080842090915290825290205460ff1681565b6103c86105623660046137a7565b6114ba565b600854610462906001600160a01b031681565b6103c86105883660046137a7565b611794565b61039e61059b3660046137e5565b601260209081526000928352604080842090915290825290205481565b6103c86105c63660046137e5565b611b4e565b600a54610462906001600160a01b031681565b600d54610462906001600160a01b031681565b6103c86105ff3660046137a7565b611d59565b61039e6106123660046137e5565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b61039e60035481565b600b54610462906001600160a01b031681565b6103c86106673660046137a7565b611deb565b6106a861067a36600461381e565b6013602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b0390941684526020840192909252151590820152606001610391565b61039e60045481565b6103856106e6366004613867565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6103c861071f366004613a50565b611e9c565b610737610732366004613cab565b612388565b604080519283526001600160a01b03909116602083015201610391565b61039e7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b61046273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61039e600081565b6103856107ac36600461381e565b6001600160a01b039081166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b600654610462906001600160a01b031681565b6103c86123d2565b61081861241e565b6040516103919190613d5e565b6103c86124ac565b61039e61260f565b61081861261f565b6103c861084b366004613867565b61262c565b600e54610462906001600160a01b031681565b61039e61271081565b600c54610462906001600160a01b031681565b61038561088d36600461381e565b612652565b600754610462906001600160a01b031681565b6107376108b3366004613d71565b612692565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061090257506301ffc9a760e01b6001600160e01b03198316145b92915050565b610910612811565b61091d612710600a613dfd565b811115610956576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60048190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b61099b82612879565b6109a4816128dc565b6109ad8161292e565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff1615610a0d576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0380831660009081526013602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff161515918301919091526003805490846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abd9190613e2a565b6003811115610ace57610ace613e14565b03610b4d5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b469190613e47565b9050610c3f565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb39190613e2a565b6003811115610bc457610bc4613e14565b14610c3f5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af1158015610c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3c9190613e47565b90505b6001600160a01b038581166000818152601260209081526040808320948916808452948252808320869055838352601582528083208584528252808320805460ff19166001908117909155848452601483528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b610d01612811565b610d0a8161296e565b50565b610d15612811565b610d0a816129c8565b610d2782612879565b610d308161292e565b610d3a3382612a6f565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff16610d99576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000818152601560209081526040808320948616808452948252808320805460ff191690559282526012815282822093825292909252812055610de78282612aba565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b910160405180910390a15050565b6007546000906001600160a01b031681610e4a6127106064613dfd565b600454600354610e5a9190613dfd565b610e649190613e60565b90506000610e756127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190613e47565b600354610eea9190613dfd565b610ef49190613e60565b90508082600354610f059190613e82565b610f0f9190613e82565b935050505090565b60146020528160005260406000208181548110610f3357600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008281526001602081905260409091200154610f6b81612bdc565b610f758383612be6565b505050565b610f82612811565b60038190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f90602001610987565b610fbf612c6d565b33600081815260136020526040812060075490916001600160a01b0390911690610fec6127106064613dfd565b600454600354610ffc9190613dfd565b6110069190613e60565b905060006110176127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190613e47565b60035461108c9190613dfd565b6110969190613e60565b6001600160a01b038087166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190529091506113ab5760028401805460ff191660019081179091556003549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152600c5461114691906001600160a01b0316612cc6565b6111788530838560035461115a9190613e82565b6111649190613e82565b600c546001600160a01b0316929190612d24565b6111b76040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e74000000000000000000000000000081525083612da8565b81156112245760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260065461120791906001600160a01b0316612cc6565b600654600c54611224916001600160a01b03918216911684612e06565b6112636040518060400160405280601081526020017f67617264656e73466565416d6f756e740000000000000000000000000000000081525082612da8565b8015611364576112ec6040518060600160405280602681526020016145fa60269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e79190613e95565b612cc6565b611364836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113519190613e95565b600c546001600160a01b03169083612e06565b600354604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b50505050506113ba6001600055565b565b6001600160a01b038116331461143f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6114498282612e36565b5050565b611455612811565b61145e8161292e565b600a80546001600160a01b0319166001600160a01b03838116918217909255600d546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610987565b6114c2612c6d565b6114ca612eb9565b3360008181526014602090815260408083208054825181850281018501909352808352919290919083018282801561152b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161150d575b50505050509050600080600090505b82518110156116fb5782818151811061155557611555613eb2565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af11580156115b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d49190613e47565b915081156116e9576001600160a01b0384166000908152601260205260408120845184929086908590811061160b5761160b613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546116429190613e82565b925050819055506116e96040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525060126000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815181106116bb576116bb613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054612da8565b806116f381613ec8565b91505061153a565b50600c54611714906001600160a01b0316843087612d24565b6001600160a01b0383166000908152601360205260408120600101805486929061173f908490613e82565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a1505050610d0a6001600055565b61179c612c6d565b6117a4612eb9565b336000818152601460209081526040808320600354601390935290832060010154909291906117d4908690613ee1565b101561180c576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c54611823906001600160a01b03168486612e06565b60005b8254811015611ade57600083828154811061184357611843613eb2565b6000918252602090912001546001600160a01b0316905061186b8163f1801e6160e01b612f18565b15611a12576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156118d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fc9190613e47565b9250600060126000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858154811061193957611939613eb2565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156119a4576040517f8a11f3180000000000000000000000000000000000000000000000000000000081526004810185905260248101829052604401611436565b6001600160a01b038616600090815260126020526040812086548692908890879081106119d3576119d3613eb2565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190611a07908490613ee1565b909155505050611acb565b83548490611a2290600190613ee1565b81548110611a3257611a32613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110611a6257611a62613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480611aa057611aa0613ef4565b600082815260209020810160001990810180546001600160a01b0319169055019055611acb8161296e565b5080611ad681613ec8565b915050611826565b506001600160a01b03831660009081526013602052604081206001018054869290611b0a908490613ee1565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8910161177f565b611b56612c6d565b611b5e612811565b60025460ff16611b9a576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052611bfd57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152611c4b83612f3b565b6001600160a01b03838116600090815260136020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff19169055600c5490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af1158015611cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfd9190613f0a565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a1506114496001600055565b611d61612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611dab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dd39190810190613f27565b602001519050611de28161292e565b6114498161296e565b611df3612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611e3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e659190810190613f27565b602001519050611e748161292e565b611e8e6001600160a01b03821663f1801e6160e01b612f18565b1561144957611449816129c8565b611ea9816020015161292e565b611eb781610100015161292e565b8051611ec29061292e565b611ecf8160a0015161292e565b611edd81610180015161292e565b606081015115611ef457611ef48160c0015161292e565b8051600e80546001600160a01b039283166001600160a01b0319918216179091556020830151600c80549190931691161790556040810151600003611f65576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015160035560608101516004556101408101516002805460ff1916911515919091179055610120810151600f90611f9f90826140d1565b50610160810151601090611fb390826140d1565b5060a0810151600780546001600160a01b03199081166001600160a01b039384161790915560c0830151600680548316918416919091179055610100830151600d8054831682851617905561018084015160088054909316931692909217905561203e907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90612be6565b600e60009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015612091573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b59190613e95565b600b80546001600160a01b0319166001600160a01b03928316179055600d54604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121579190810190614191565b90506000815160026121699190613e82565b67ffffffffffffffff8111156121815761218161388c565b6040519080825280602002602001820160405280156121aa578160200160208202803683370190505b50905060005b825181101561220f578281815181106121cb576121cb613eb2565b60200260200101518282815181106121e5576121e5613eb2565b6001600160a01b03909216602092830291909101909101528061220781613ec8565b9150506121b0565b50600d5481516001600160a01b0390911690829061222f90600190613ee1565b8151811061223f5761223f613eb2565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835161226f9190613ee1565b8151811061227f5761227f613eb2565b6001600160a01b039283166020918202929092010152600b54608085015160e08601516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f926122e79291600f9130908890600401614323565b6020604051808303816000875af1158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613e47565b60055580516123409060169060208401906136e9565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205600554600f8560e0015160405161237b93929190614371565b60405180910390a1505050565b60085460098054600092839283926123b7926001600160a01b031691846123ae83613ec8565b9190505561305d565b90506123c581878787612692565b9250925050935093915050565b600a546001600160a01b03163314612416576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113ba6130b1565b6010805461242b90614049565b80601f016020809104026020016040519081016040528092919081815260200182805461245790614049565b80156124a45780601f10612479576101008083540402835291602001916124a4565b820191906000526020600020905b81548152906001019060200180831161248757829003601f168201915b505050505081565b6124b4612c6d565b336124be81612879565b6124c781612f3b565b6001600160a01b0380821660008181526013602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945560149052918220909161253e919061374e565b600c54602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015612596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ba9190613f0a565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a150506113ba6001600055565b61261c612710600a613dfd565b81565b600f805461242b90614049565b6000828152600160208190526040909120015461264881612bdc565b610f758383612e36565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff16610902565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156126bc5750845b8691506000601680548060200260200160405190810160405280929190818152602001828054801561271757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116126f9575b5050600e546005546040519596506001600160a01b039091169463e1007d4a945090925087915061274c908b906020016143ba565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b81526004016127829796959493929190614452565b6020604051808303816000875af11580156127a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c59190613e47565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a896040516127fe9594939291906144be565b60405180910390a1505094509492505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff166113ba576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038082166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052610d0a57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03811660009081526011602052604090205460ff16610d0a576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116610d0a576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129778161292e565b6001600160a01b038116600081815260116020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49101610987565b6001600160a01b03811660009081526011602052604090205460ff1615612a1b576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815260116020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610987565b806001600160a01b0316826001600160a01b031614611449576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152601460205260408120905b8154811015612bd657826001600160a01b0316828281548110612af957612af9613eb2565b6000918252602090912001546001600160a01b031603612bc45781548290612b2390600190613ee1565b81548110612b3357612b33613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110612b6357612b63613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480612ba157612ba1613ef4565b600082815260209020810160001990810180546001600160a01b03191690550190555b80612bce81613ec8565b915050612ad4565b50505050565b610d0a813361310c565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b600260005403612cbf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401611436565b6002600055565b6114498282604051602401612cdc9291906144f8565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b0380851660248301528316604482015260648101829052612bd69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526131a2565b6114498282604051602401612dbe929190614523565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b038316602482015260448101829052610f7590849063a9059cbb60e01b90606401612d71565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16156114495760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b33600090815260136020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526113ba57604051636a5cfb6d60e01b815260040160405180910390fd5b6000612f238361328a565b8015612f345750612f3483836132bd565b9392505050565b6001600160a01b038116600090815260146020908152604080832080548251818502810185019093528083529192909190830182828015612fa557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612f87575b5050505050905060005b8151811015610f7557818181518110612fca57612fca613eb2565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801561303257600080fd5b505af1158015613046573d6000803e3d6000fd5b50505050808061305590613ec8565b915050612faf565b6040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506130a98482613346565b949350505050565b600a8054600d80546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495761313f816133e3565b61314a8360206133f5565b60405160200161315b929190614545565b60408051601f198184030181529082905262461bcd60e51b825261143691600401613d5e565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006131f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135d69092919063ffffffff16565b90508051600014806132185750808060200190518101906132189190613f0a565b610f755760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611436565b600061329d826301ffc9a760e01b6132bd565b801561090257506132b6826001600160e01b03196132bd565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561332f575060208210155b801561333b5750600081115b979650505050505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166109025760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401611436565b60606109026001600160a01b03831660145b60606000613404836002613dfd565b61340f906002613e82565b67ffffffffffffffff8111156134275761342761388c565b6040519080825280601f01601f191660200182016040528015613451576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061348857613488613eb2565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106134d3576134d3613eb2565b60200101906001600160f81b031916908160001a90535060006134f7846002613dfd565b613502906001613e82565b90505b6001811115613587577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061354357613543613eb2565b1a60f81b82828151811061355957613559613eb2565b60200101906001600160f81b031916908160001a90535060049490941c93613580816145c6565b9050613505565b508315612f345760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611436565b60606130a9848460008585600080866001600160a01b031685876040516135fd91906145dd565b60006040518083038185875af1925050503d806000811461363a576040519150601f19603f3d011682016040523d82523d6000602084013e61363f565b606091505b509150915061333b87838387606083156136ba5782516000036136b3576001600160a01b0385163b6136b35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611436565b50816130a9565b6130a983838151156136cf5781518083602001fd5b8060405162461bcd60e51b81526004016114369190613d5e565b82805482825590600052602060002090810192821561373e579160200282015b8281111561373e57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613709565b5061374a929150613768565b5090565b5080546000825590600052602060002090810190610d0a91905b5b8082111561374a5760008155600101613769565b60006020828403121561378f57600080fd5b81356001600160e01b031981168114612f3457600080fd5b6000602082840312156137b957600080fd5b5035919050565b6001600160a01b0381168114610d0a57600080fd5b80356137e0816137c0565b919050565b600080604083850312156137f857600080fd5b8235613803816137c0565b91506020830135613813816137c0565b809150509250929050565b60006020828403121561383057600080fd5b8135612f34816137c0565b6000806040838503121561384e57600080fd5b8235613859816137c0565b946020939093013593505050565b6000806040838503121561387a57600080fd5b823591506020830135613813816137c0565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156138c5576138c561388c565b60405290565b6040516101a0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051610120810167ffffffffffffffff811182821017156138c5576138c561388c565b60405160c0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051601f8201601f1916810167ffffffffffffffff8111828210171561395f5761395f61388c565b604052919050565b600067ffffffffffffffff8211156139815761398161388c565b50601f01601f191660200190565b600082601f8301126139a057600080fd5b81356139b36139ae82613967565b613936565b8181528460208386010111156139c857600080fd5b816020850160208301376000918101602001919091529392505050565b6000604082840312156139f757600080fd5b6139ff6138a2565b905081358152602082013567ffffffffffffffff811115613a1f57600080fd5b613a2b8482850161398f565b60208301525092915050565b8015158114610d0a57600080fd5b80356137e081613a37565b600060208284031215613a6257600080fd5b813567ffffffffffffffff80821115613a7a57600080fd5b908301906101a08286031215613a8f57600080fd5b613a976138cb565b613aa0836137d5565b8152613aae602084016137d5565b6020820152604083013560408201526060830135606082015260808301356080820152613add60a084016137d5565b60a0820152613aee60c084016137d5565b60c082015260e083013582811115613b0557600080fd5b613b11878286016139e5565b60e083015250610100613b258185016137d5565b908201526101208381013583811115613b3d57600080fd5b613b498882870161398f565b828401525050610140613b5d818501613a45565b908201526101608381013583811115613b7557600080fd5b613b818882870161398f565b8284015250506101809150613b978284016137d5565b91810191909152949350505050565b8035600381106137e057600080fd5b60048110610d0a57600080fd5b80356137e081613bb5565b600060208284031215613bdf57600080fd5b6040516020810181811067ffffffffffffffff82111715613c0257613c0261388c565b6040529135825250919050565b60006101208284031215613c2257600080fd5b613c2a6138ef565b9050613c35826137d5565b815260208201356020820152604082013560408201526060820135606082015260808201356080820152613c6b60a08301613ba6565b60a0820152613c7c60c08301613bc2565b60c0820152613c8e8360e08401613bcd565b60e0820152610100613ca18184016137d5565b9082015292915050565b60008060006101608486031215613cc157600080fd5b8335613ccc816137c0565b9250613cdb8560208601613c0f565b915061014084013567ffffffffffffffff811115613cf857600080fd5b613d04868287016139e5565b9150509250925092565b60005b83811015613d29578181015183820152602001613d11565b50506000910152565b60008151808452613d4a816020860160208601613d0e565b601f01601f19169290920160200192915050565b602081526000612f346020830184613d32565b6000806000806101808587031215613d8857600080fd5b8435613d93816137c0565b93506020850135613da3816137c0565b9250613db28660408701613c0f565b915061016085013567ffffffffffffffff811115613dcf57600080fd5b613ddb878288016139e5565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761090257610902613de7565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613e3c57600080fd5b8151612f3481613bb5565b600060208284031215613e5957600080fd5b5051919050565b600082613e7d57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561090257610902613de7565b600060208284031215613ea757600080fd5b8151612f34816137c0565b634e487b7160e01b600052603260045260246000fd5b600060018201613eda57613eda613de7565b5060010190565b8181038181111561090257610902613de7565b634e487b7160e01b600052603160045260246000fd5b600060208284031215613f1c57600080fd5b8151612f3481613a37565b60006020808385031215613f3a57600080fd5b825167ffffffffffffffff80821115613f5257600080fd5b9084019060c08287031215613f6657600080fd5b613f6e613913565b8251815283830151613f7f816137c0565b818501526040830151613f91816137c0565b6040820152606083015182811115613fa857600080fd5b830160408189031215613fba57600080fd5b613fc26138a2565b815181528582015184811115613fd757600080fd5b82019350601f84018913613fea57600080fd5b83519150613ffa6139ae83613967565b828152898784870101111561400e57600080fd5b61401d83888301898801613d0e565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c9082168061405d57607f821691505b60208210810361407d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f7557600081815260208120601f850160051c810160208610156140aa5750805b601f850160051c820191505b818110156140c9578281556001016140b6565b505050505050565b815167ffffffffffffffff8111156140eb576140eb61388c565b6140ff816140f98454614049565b84614083565b602080601f831160018114614134576000841561411c5750858301515b600019600386901b1c1916600185901b1785556140c9565b600085815260208120601f198616915b8281101561416357888601518255948401946001909101908401614144565b50858210156141815787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083850312156141a457600080fd5b825167ffffffffffffffff808211156141bc57600080fd5b818501915085601f8301126141d057600080fd5b8151818111156141e2576141e261388c565b8060051b91506141f3848301613936565b818152918301840191848101908884111561420d57600080fd5b938501935b838510156142375784519250614227836137c0565b8282529385019390850190614212565b98975050505050505050565b6000815461425081614049565b80855260206001838116801561426d5760018114614287576142b5565b60ff1985168884015283151560051b8801830195506142b5565b866000528260002060005b858110156142ad5781548a8201860152908301908401614292565b890184019650505b505050505092915050565b8051825260006020820151604060208501526130a96040850182613d32565b600081518084526020808501945080840160005b838110156143185781516001600160a01b0316875295820195908201906001016142f3565b509495945050505050565b85815260a06020820152600061433c60a0830187614243565b828103604084015261434e81876142c0565b90506001600160a01b0385166060840152828103608084015261423781856142df565b83815260606020820152600061438a6060830185614243565b828103604084015261439c81856142c0565b9695505050505050565b600481106143b6576143b6613e14565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061440d5761440d613e14565b8060a08401525060c083015161442660c08401826143a6565b5060e083015161443960e0840182519052565b50610100928301516001600160a01b0316919092015290565b87815260006001600160a01b03808916602084015260e0604084015261447b60e0840189613d32565b818816606085015286608085015283810360a085015261449b81876142c0565b91505082810360c08401526144b081856142df565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a0608083015261333b60a08301846142c0565b60408152600061450b6040830185613d32565b90506001600160a01b03831660208301529392505050565b6040815260006145366040830185613d32565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161457d816017850160208801613d0e565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516145ba816028840160208801613d0e565b01602801949350505050565b6000816145d5576145d5613de7565b506000190190565b600082516145ef818460208701613d0e565b919091019291505056fe67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829a2646970667358221220cdd8a978867f857ae681e7722dc999d50c0d7c69b0187a98ff1af2af6f0c8cb664736f6c63430008130033a264697066735822122099faa7de0f30424ad2a718524e6b59107ebea9b314ca3ee4204a61b4ef40188f64736f6c63430008130033","sourceMap":"202:2981:116:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2940:241;;;;;;:::i;:::-;;:::i;:::-;;;710:25:125;;;698:2;683:18;2940:241:116;;;;;;;;2592:200;;;;;;:::i;:::-;;:::i;:::-;;1824:101:27;;;:::i;2043:214:116:-;;;;;;:::i;:::-;;:::i;1519:518::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;5023:55:125;;;5005:74;;4993:2;4978:18;1519:518:116;4859:226:125;1201:85:27;1247:7;1273:6;-1:-1:-1;;;;;1273:6:27;1201:85;;2263:107:116;2345:18;;-1:-1:-1;;;;;2345:18:116;2263:107;;244:24;;;;;;2376:210;;;;;;:::i;:::-;;:::i;515:33::-;;;;;-1:-1:-1;;;;;515:33:116;;;2074:198:27;;;;;;:::i;:::-;;:::i;2798:136:116:-;;;;;;:::i;:::-;-1:-1:-1;;;;;2894:27:116;2871:4;2894:27;;;:15;:27;;;;;:33;;;;2798:136;;;;5671:14:125;;5664:22;5646:41;;5634:2;5619:18;2798:136:116;5506:187:125;2940:241:116;-1:-1:-1;;;;;3031:27:116;;3007:7;3031:27;;;:15;:27;;;;;:33;;;3026:100;;3087:28;;;;;-1:-1:-1;;;;;5023:55:125;;3087:28:116;;;5005:74:125;4978:18;;3087:28:116;;;;;;;;3026:100;-1:-1:-1;;;;;;3143:27:116;;;;;:15;:27;;;;;:31;;;;2940:241::o;2592:200::-;1094:13:27;:11;:13::i;:::-;-1:-1:-1;;;;;2684:27:116;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:44;;-1:-1:-1;;2684:44:116::1;::::0;::::1;;::::0;;::::1;::::0;;;2743:42;;5866:74:125;;;5956:18;;;5949:50;2743:42:116::1;::::0;5839:18:125;2743:42:116::1;;;;;;;;2592:200:::0;;:::o;1824:101:27:-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;2043:214:116:-;1094:13:27;:11;:13::i;:::-;2123:35:116::1;2142:15;2123:18;:35::i;:::-;2168:18;:36:::0;;-1:-1:-1;;2168:36:116::1;-1:-1:-1::0;;;;;2168:36:116;::::1;::::0;;::::1;::::0;;;2219:31:::1;::::0;5005:74:125;;;2219:31:116::1;::::0;4993:2:125;4978:18;2219:31:116::1;;;;;;;2043:214:::0;:::o;1519:518::-;1625:31;1672:35;1710:23;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1759:5:116;:7;;1672:61;;-1:-1:-1;1759:5:116;:7;;;:::i;:::-;;;;-1:-1:-1;1743:13:116;;;:23;1810:4;1776:23;;;:39;1826:36;;;;;-1:-1:-1;;;;;1826:28:116;;;;;:36;;1743:6;;1826:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;1872:43:116;;;;;;:15;:43;;;;;;;;;:56;;-1:-1:-1;;1872:56:116;1924:4;1872:56;;;1943:44;;5005:74:125;;;1943:44:116;;4978:18:125;1943:44:116;;;;;;;2012:17;1519:518;-1:-1:-1;;1519:518:116:o;2376:210::-;1094:13:27;:11;:13::i;:::-;-1:-1:-1;;;;;2472:27:116;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:31:::1;;:49:::0;;;2536:43;;9044:74:125;;;9134:18;;9127:34;;;2536:43:116::1;::::0;9017:18:125;2536:43:116::1;8870:297:125::0;2074:198:27;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:27;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:27;;9374:2:125;2154:73:27::1;::::0;::::1;9356:21:125::0;9413:2;9393:18;;;9386:30;9452:34;9432:18;;;9425:62;9523:8;9503:18;;;9496:36;9549:19;;2154:73:27::1;9172:402:125::0;2154:73:27::1;2237:28;2256:8;2237:18;:28::i;:::-;2074:198:::0;:::o;1359:130::-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:27;719:10:35;1422:23:27;1414:68;;;;-1:-1:-1;;;1414:68:27;;9781:2:125;1414:68:27;;;9763:21:125;;;9800:18;;;9793:30;9859:34;9839:18;;;9832:62;9911:18;;1414:68:27;9579:356:125;2426:187:27;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:27;;;-1:-1:-1;;2534:17:27;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;1380:133:116:-;-1:-1:-1;;;;;1454:22:116;;1450:56;;1485:21;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;:::o;14:154:125:-;-1:-1:-1;;;;;93:5:125;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:125: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:125;1216:2;1201:18;;1185:35;:::i;:::-;1175:45;;911:315;;;;;:::o;1231:184::-;-1:-1:-1;;;1280:1:125;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:125;;;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:125: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:125:o;6010:289::-;6049:3;6070:17;;;6067:197;;-1:-1:-1;;;6117:1:125;6110:88;6221:4;6218:1;6211:15;6249:4;6246:1;6239:15;6067:197;-1:-1:-1;6291:1:125;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:125: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:125;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:125;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:125;4781:67;;4727:127;7608:55;-1:-1:-1;7712:3:125;7700:16;;7694:23;-1:-1:-1;;;;;4793:54:125;;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:125;8091:54;8126:18;;;8038:22;-1:-1:-1;;;;;4793:54:125;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:125;4781:67;;4727:127;8782:54;-1:-1:-1;8853:6:125;;6989:1876;-1:-1:-1;;;;6989:1876:125: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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"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\"]},\"pkg/contracts/src/CVStrategy.sol\":{\"keccak256\":\"0x9a0dba4c62abd4bc2887a8fec229c2e1916ba0d8bc7bbc8da712188552650752\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://48a99a5af361529ac37e477e3195d6a9355ff5ab2ef3e4d002d80a404da6e4dd\",\"dweb:/ipfs/Qmf8BsNJcG2Lno4gjUV3DfDsDsgNGrCLRMTXkWkm4JnM6u\"]},\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0xf57d2536496fa592ffed2901d5d56e330d7c70955508b9d2ffa60aad76f42586\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://958bc6c5ef6816c7613ee98fa69b002efb6b85b3e4a8448ec2dd20d45d3a68e1\",\"dweb:/ipfs/QmNQtPpCqzvSCf9QVPaaBUvpYWzxCLhp1UWq94qziSagXf\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0x1c576e15a5543c06e92cb45f7162a2aa5dac1a276088ec323f5c0438f69c2e52\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://60cb3de95b895d81666b3899a5d73d620742a5c98558ad9799c0464da7b3ab55\",\"dweb:/ipfs/QmReM4jMH5Vc6gGeo7UtHFruHVnqY2rWaecXr1FwDmA6gE\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]}},\"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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"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"},"pkg/contracts/src/CVStrategy.sol":{"keccak256":"0x9a0dba4c62abd4bc2887a8fec229c2e1916ba0d8bc7bbc8da712188552650752","urls":["bzz-raw://48a99a5af361529ac37e477e3195d6a9355ff5ab2ef3e4d002d80a404da6e4dd","dweb:/ipfs/Qmf8BsNJcG2Lno4gjUV3DfDsDsgNGrCLRMTXkWkm4JnM6u"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-3.0-only"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0xf57d2536496fa592ffed2901d5d56e330d7c70955508b9d2ffa60aad76f42586","urls":["bzz-raw://958bc6c5ef6816c7613ee98fa69b002efb6b85b3e4a8448ec2dd20d45d3a68e1","dweb:/ipfs/QmNQtPpCqzvSCf9QVPaaBUvpYWzxCLhp1UWq94qziSagXf"],"license":"MIT"},"pkg/contracts/src/RegistryCommunity.sol":{"keccak256":"0x1c576e15a5543c06e92cb45f7162a2aa5dac1a276088ec323f5c0438f69c2e52","urls":["bzz-raw://60cb3de95b895d81666b3899a5d73d620742a5c98558ad9799c0464da7b3ab55","dweb:/ipfs/QmReM4jMH5Vc6gGeo7UtHFruHVnqY2rWaecXr1FwDmA6gE"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"}},"version":1},"id":116} \ 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":"0x6080604052600060015534801561001557600080fd5b5061001f33610024565b610074565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6152d1806100836000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c8063987435be11610081578063b8bed9011161005b578063b8bed90114610198578063f2fde38b146101ab578063f5016b5e146101be57600080fd5b8063987435be1461016b578063affed0e01461017c578063b5b3ca2c1461018557600080fd5b80638279c7db116100b25780638279c7db1461011c5780638a16135f1461012f5780638da5cb5b1461015a57600080fd5b80630a992e0c146100d95780635a2c8ace146100ff578063715018a614610114575b600080fd5b6100ec6100e73660046106a3565b6101fa565b6040519081526020015b60405180910390f35b61011261010d3660046106d7565b61027b565b005b6101126102e7565b61011261012a3660046106a3565b6102fb565b61014261013d366004610848565b61036d565b6040516001600160a01b0390911681526020016100f6565b6000546001600160a01b0316610142565b6003546001600160a01b0316610142565b6100ec60015481565b61011261019336600461099e565b61048e565b600354610142906001600160a01b031681565b6101126101b93660046106a3565b6104ea565b6101ea6101cc3660046106a3565b6001600160a01b031660009081526002602052604090205460ff1690565b60405190151581526020016100f6565b6001600160a01b03811660009081526002602052604081205460ff1661025c576040517ff5a6943d0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024015b60405180910390fd5b506001600160a01b031660009081526002602052604090206001015490565b61028361057a565b6001600160a01b038216600081815260026020908152604091829020805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b6102ef61057a565b6102f960006105d4565b565b61030361057a565b61030c81610631565b6003805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d9060200160405180910390a150565b60008060405161037c90610671565b604051809103906000f080158015610398573d6000803e3d6000fd5b506001805491925060006103ab836109ca565b9091555060808401523060a08401526040517f96f0adec0000000000000000000000000000000000000000000000000000000081526001600160a01b038216906396f0adec906103ff908690600401610a5e565b600060405180830381600087803b15801561041957600080fd5b505af115801561042d573d6000803e3d6000fd5b505050506001600160a01b038116600081815260026020908152604091829020805460ff1916600117905590519182527fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29910160405180910390a192915050565b61049661057a565b6001600160a01b038216600081815260026020908152604091829020600101849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c91016102db565b6104f261057a565b6001600160a01b03811661056e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610253565b610577816105d4565b50565b6000546001600160a01b031633146102f95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610253565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116610577576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6146fe80610b9e83390190565b6001600160a01b038116811461057757600080fd5b803561069e8161067e565b919050565b6000602082840312156106b557600080fd5b81356106c08161067e565b9392505050565b8035801515811461069e57600080fd5b600080604083850312156106ea57600080fd5b82356106f58161067e565b9150610703602084016106c7565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b6040516101a0810167ffffffffffffffff811182821017156107465761074661070c565b60405290565b600082601f83011261075d57600080fd5b813567ffffffffffffffff808211156107785761077861070c565b604051601f8301601f19908116603f011681019082821181831017156107a0576107a061070c565b816040528381528660208588010111156107b957600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000604082840312156107eb57600080fd5b6040516040810167ffffffffffffffff828210818311171561080f5761080f61070c565b8160405282935084358352602085013591508082111561082e57600080fd5b5061083b8582860161074c565b6020830152505092915050565b60006020828403121561085a57600080fd5b813567ffffffffffffffff8082111561087257600080fd5b908301906101a0828603121561088757600080fd5b61088f610722565b61089883610693565b81526108a660208401610693565b60208201526040830135604082015260608301356060820152608083013560808201526108d560a08401610693565b60a08201526108e660c08401610693565b60c082015260e0830135828111156108fd57600080fd5b610909878286016107d9565b60e08301525061010061091d818501610693565b90820152610120838101358381111561093557600080fd5b6109418882870161074c565b8284015250506101406109558185016106c7565b90820152610160838101358381111561096d57600080fd5b6109798882870161074c565b828401525050610180915061098f828401610693565b91810191909152949350505050565b600080604083850312156109b157600080fd5b82356109bc8161067e565b946020939093013593505050565b6000600182016109ea57634e487b7160e01b600052601160045260246000fd5b5060010190565b6000815180845260005b81811015610a17576020818501810151868301820152016109fb565b506000602082860101526020601f19601f83011685010191505092915050565b805182526000602082015160406020850152610a5660408501826109f1565b949350505050565b60208152610a786020820183516001600160a01b03169052565b60006020830151610a9460408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015160a083015260a0830151610acd60c08401826001600160a01b03169052565b5060c08301516001600160a01b03811660e08401525060e08301516101a06101008181860152610b016101c0860184610a37565b90860151909250610120610b1f868201836001600160a01b03169052565b80870151915050601f19610140818786030181880152610b3f85846109f1565b945080880151925050610160610b588188018415159052565b80880151925050610180818786030181880152610b7585846109f1565b94508088015192505050610b93828601826001600160a01b03169052565b509094935050505056fe60806040523480156200001157600080fd5b506001600090815562000046907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b906200004c565b62000099565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b61465580620000a96000396000f3fe608060405234801561001057600080fd5b506004361061036d5760003560e01c80636c53db9a116101d3578063a230c52411610104578063d547741f116100a2578063db61d65c1161007c578063db61d65c1461086c578063ebd7dc521461087f578063f86c5f8914610892578063ff6409ef146108a557600080fd5b8063d547741f1461083d578063d6d8428d14610850578063d7050f071461086357600080fd5b8063b64e39af116100de578063b64e39af14610810578063b99b437014610825578063bc063e1a1461082d578063c6d572ae1461083557600080fd5b8063a230c5241461079e578063b3f00674146107f5578063b5058c501461080857600080fd5b80638961be6b1161017157806397991cfa1161014b57806397991cfa14610724578063a0b21cdf14610754578063a0cf0aea1461077b578063a217fddf1461079657600080fd5b80638961be6b146106cf57806391d14854146106d857806396f0adec1461071157600080fd5b806378a0b8a9116101ad57806378a0b8a91461063d5780637b1039991461064657806382d6a1e71461065957806388cfe6841461066c57600080fd5b80636c53db9a146105de57806373265c37146105f15780637817ee4f1461060457600080fd5b80632f2ff15d116102ad578063477a5cc01161024b5780635ecf71c5116102255780635ecf71c51461057a57806365e3864c1461058d5780636871eb4d146105b857806368decabb146105cb57600080fd5b8063477a5cc014610526578063559de05d146105545780635c94e4d21461056757600080fd5b80633517aa7d116102875780633517aa7d146104d557806336568abe146104dd578063397e2543146104f05780633a871fe11461050357600080fd5b80632f2ff15d146104a657806331f61bca146104b957806333960459146104cc57600080fd5b80631f787d281161031a578063248a9ca3116102f4578063248a9ca31461042357806328c309e9146104475780632b38c69c1461044f5780632c611c4a1461047a57600080fd5b80631f787d28146103f0578063223e5479146103fd57806322bcf9991461041057600080fd5b80630d12bbdb1161034b5780630d12bbdb146103b55780630d4a8b49146103ca578063175188e8146103dd57600080fd5b806301ffc9a7146103725780630331383c1461039a57806308386eba146103ac575b600080fd5b61038561038036600461377d565b6108b8565b60405190151581526020015b60405180910390f35b6003545b604051908152602001610391565b61039e60055481565b6103c86103c33660046137a7565b610908565b005b6103c86103d83660046137e5565b610992565b6103c86103eb36600461381e565b610cf9565b6002546103859060ff1681565b6103c861040b36600461381e565b610d0d565b6103c861041e3660046137e5565b610d1e565b61039e6104313660046137a7565b6000908152600160208190526040909120015490565b61039e610e2d565b61046261045d36600461383b565b610f17565b6040516001600160a01b039091168152602001610391565b61039e61048836600461381e565b6001600160a01b031660009081526013602052604090206001015490565b6103c86104b4366004613867565b610f4f565b6103c86104c73660046137a7565b610f7a565b61039e60095481565b6103c8610fb7565b6103c86104eb366004613867565b6113bc565b6103c86104fe36600461381e565b61144d565b61038561051136600461381e565b60116020526000908152604090205460ff1681565b6103856105343660046137e5565b601560209081526000928352604080842090915290825290205460ff1681565b6103c86105623660046137a7565b6114ba565b600854610462906001600160a01b031681565b6103c86105883660046137a7565b611794565b61039e61059b3660046137e5565b601260209081526000928352604080842090915290825290205481565b6103c86105c63660046137e5565b611b4e565b600a54610462906001600160a01b031681565b600d54610462906001600160a01b031681565b6103c86105ff3660046137a7565b611d59565b61039e6106123660046137e5565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b61039e60035481565b600b54610462906001600160a01b031681565b6103c86106673660046137a7565b611deb565b6106a861067a36600461381e565b6013602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b0390941684526020840192909252151590820152606001610391565b61039e60045481565b6103856106e6366004613867565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6103c861071f366004613a50565b611e9c565b610737610732366004613cab565b612388565b604080519283526001600160a01b03909116602083015201610391565b61039e7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b61046273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61039e600081565b6103856107ac36600461381e565b6001600160a01b039081166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b600654610462906001600160a01b031681565b6103c86123d2565b61081861241e565b6040516103919190613d5e565b6103c86124ac565b61039e61260f565b61081861261f565b6103c861084b366004613867565b61262c565b600e54610462906001600160a01b031681565b61039e61271081565b600c54610462906001600160a01b031681565b61038561088d36600461381e565b612652565b600754610462906001600160a01b031681565b6107376108b3366004613d71565b612692565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061090257506301ffc9a760e01b6001600160e01b03198316145b92915050565b610910612811565b61091d612710600a613dfd565b811115610956576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60048190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b61099b82612879565b6109a4816128dc565b6109ad8161292e565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff1615610a0d576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0380831660009081526013602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff161515918301919091526003805490846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abd9190613e2a565b6003811115610ace57610ace613e14565b03610b4d5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b469190613e47565b9050610c3f565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb39190613e2a565b6003811115610bc457610bc4613e14565b14610c3f5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af1158015610c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3c9190613e47565b90505b6001600160a01b038581166000818152601260209081526040808320948916808452948252808320869055838352601582528083208584528252808320805460ff19166001908117909155848452601483528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b610d01612811565b610d0a8161296e565b50565b610d15612811565b610d0a816129c8565b610d2782612879565b610d308161292e565b610d3a3382612a6f565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff16610d99576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000818152601560209081526040808320948616808452948252808320805460ff191690559282526012815282822093825292909252812055610de78282612aba565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b910160405180910390a15050565b6007546000906001600160a01b031681610e4a6127106064613dfd565b600454600354610e5a9190613dfd565b610e649190613e60565b90506000610e756127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190613e47565b600354610eea9190613dfd565b610ef49190613e60565b90508082600354610f059190613e82565b610f0f9190613e82565b935050505090565b60146020528160005260406000208181548110610f3357600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008281526001602081905260409091200154610f6b81612bdc565b610f758383612be6565b505050565b610f82612811565b60038190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f90602001610987565b610fbf612c6d565b33600081815260136020526040812060075490916001600160a01b0390911690610fec6127106064613dfd565b600454600354610ffc9190613dfd565b6110069190613e60565b905060006110176127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190613e47565b60035461108c9190613dfd565b6110969190613e60565b6001600160a01b038087166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190529091506113ab5760028401805460ff191660019081179091556003549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152600c5461114691906001600160a01b0316612cc6565b6111788530838560035461115a9190613e82565b6111649190613e82565b600c546001600160a01b0316929190612d24565b6111b76040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e74000000000000000000000000000081525083612da8565b81156112245760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260065461120791906001600160a01b0316612cc6565b600654600c54611224916001600160a01b03918216911684612e06565b6112636040518060400160405280601081526020017f67617264656e73466565416d6f756e740000000000000000000000000000000081525082612da8565b8015611364576112ec6040518060600160405280602681526020016145fa60269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e79190613e95565b612cc6565b611364836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113519190613e95565b600c546001600160a01b03169083612e06565b600354604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b50505050506113ba6001600055565b565b6001600160a01b038116331461143f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6114498282612e36565b5050565b611455612811565b61145e8161292e565b600a80546001600160a01b0319166001600160a01b03838116918217909255600d546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610987565b6114c2612c6d565b6114ca612eb9565b3360008181526014602090815260408083208054825181850281018501909352808352919290919083018282801561152b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161150d575b50505050509050600080600090505b82518110156116fb5782818151811061155557611555613eb2565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af11580156115b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d49190613e47565b915081156116e9576001600160a01b0384166000908152601260205260408120845184929086908590811061160b5761160b613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546116429190613e82565b925050819055506116e96040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525060126000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815181106116bb576116bb613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054612da8565b806116f381613ec8565b91505061153a565b50600c54611714906001600160a01b0316843087612d24565b6001600160a01b0383166000908152601360205260408120600101805486929061173f908490613e82565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a1505050610d0a6001600055565b61179c612c6d565b6117a4612eb9565b336000818152601460209081526040808320600354601390935290832060010154909291906117d4908690613ee1565b101561180c576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c54611823906001600160a01b03168486612e06565b60005b8254811015611ade57600083828154811061184357611843613eb2565b6000918252602090912001546001600160a01b0316905061186b8163f1801e6160e01b612f18565b15611a12576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156118d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fc9190613e47565b9250600060126000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858154811061193957611939613eb2565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156119a4576040517f8a11f3180000000000000000000000000000000000000000000000000000000081526004810185905260248101829052604401611436565b6001600160a01b038616600090815260126020526040812086548692908890879081106119d3576119d3613eb2565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190611a07908490613ee1565b909155505050611acb565b83548490611a2290600190613ee1565b81548110611a3257611a32613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110611a6257611a62613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480611aa057611aa0613ef4565b600082815260209020810160001990810180546001600160a01b0319169055019055611acb8161296e565b5080611ad681613ec8565b915050611826565b506001600160a01b03831660009081526013602052604081206001018054869290611b0a908490613ee1565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8910161177f565b611b56612c6d565b611b5e612811565b60025460ff16611b9a576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052611bfd57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152611c4b83612f3b565b6001600160a01b03838116600090815260136020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff19169055600c5490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af1158015611cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfd9190613f0a565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a1506114496001600055565b611d61612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611dab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dd39190810190613f27565b602001519050611de28161292e565b6114498161296e565b611df3612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611e3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e659190810190613f27565b602001519050611e748161292e565b611e8e6001600160a01b03821663f1801e6160e01b612f18565b1561144957611449816129c8565b611ea9816020015161292e565b611eb781610100015161292e565b8051611ec29061292e565b611ecf8160a0015161292e565b611edd81610180015161292e565b606081015115611ef457611ef48160c0015161292e565b8051600e80546001600160a01b039283166001600160a01b0319918216179091556020830151600c80549190931691161790556040810151600003611f65576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015160035560608101516004556101408101516002805460ff1916911515919091179055610120810151600f90611f9f90826140d1565b50610160810151601090611fb390826140d1565b5060a0810151600780546001600160a01b03199081166001600160a01b039384161790915560c0830151600680548316918416919091179055610100830151600d8054831682851617905561018084015160088054909316931692909217905561203e907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90612be6565b600e60009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015612091573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b59190613e95565b600b80546001600160a01b0319166001600160a01b03928316179055600d54604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121579190810190614191565b90506000815160026121699190613e82565b67ffffffffffffffff8111156121815761218161388c565b6040519080825280602002602001820160405280156121aa578160200160208202803683370190505b50905060005b825181101561220f578281815181106121cb576121cb613eb2565b60200260200101518282815181106121e5576121e5613eb2565b6001600160a01b03909216602092830291909101909101528061220781613ec8565b9150506121b0565b50600d5481516001600160a01b0390911690829061222f90600190613ee1565b8151811061223f5761223f613eb2565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835161226f9190613ee1565b8151811061227f5761227f613eb2565b6001600160a01b039283166020918202929092010152600b54608085015160e08601516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f926122e79291600f9130908890600401614323565b6020604051808303816000875af1158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613e47565b60055580516123409060169060208401906136e9565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205600554600f8560e0015160405161237b93929190614371565b60405180910390a1505050565b60085460098054600092839283926123b7926001600160a01b031691846123ae83613ec8565b9190505561305d565b90506123c581878787612692565b9250925050935093915050565b600a546001600160a01b03163314612416576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113ba6130b1565b6010805461242b90614049565b80601f016020809104026020016040519081016040528092919081815260200182805461245790614049565b80156124a45780601f10612479576101008083540402835291602001916124a4565b820191906000526020600020905b81548152906001019060200180831161248757829003601f168201915b505050505081565b6124b4612c6d565b336124be81612879565b6124c781612f3b565b6001600160a01b0380821660008181526013602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945560149052918220909161253e919061374e565b600c54602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015612596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ba9190613f0a565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a150506113ba6001600055565b61261c612710600a613dfd565b81565b600f805461242b90614049565b6000828152600160208190526040909120015461264881612bdc565b610f758383612e36565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff16610902565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156126bc5750845b8691506000601680548060200260200160405190810160405280929190818152602001828054801561271757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116126f9575b5050600e546005546040519596506001600160a01b039091169463e1007d4a945090925087915061274c908b906020016143ba565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b81526004016127829796959493929190614452565b6020604051808303816000875af11580156127a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c59190613e47565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a896040516127fe9594939291906144be565b60405180910390a1505094509492505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff166113ba576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038082166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052610d0a57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03811660009081526011602052604090205460ff16610d0a576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116610d0a576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129778161292e565b6001600160a01b038116600081815260116020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49101610987565b6001600160a01b03811660009081526011602052604090205460ff1615612a1b576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815260116020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610987565b806001600160a01b0316826001600160a01b031614611449576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152601460205260408120905b8154811015612bd657826001600160a01b0316828281548110612af957612af9613eb2565b6000918252602090912001546001600160a01b031603612bc45781548290612b2390600190613ee1565b81548110612b3357612b33613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110612b6357612b63613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480612ba157612ba1613ef4565b600082815260209020810160001990810180546001600160a01b03191690550190555b80612bce81613ec8565b915050612ad4565b50505050565b610d0a813361310c565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b600260005403612cbf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401611436565b6002600055565b6114498282604051602401612cdc9291906144f8565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b0380851660248301528316604482015260648101829052612bd69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526131a2565b6114498282604051602401612dbe929190614523565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b038316602482015260448101829052610f7590849063a9059cbb60e01b90606401612d71565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16156114495760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b33600090815260136020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526113ba57604051636a5cfb6d60e01b815260040160405180910390fd5b6000612f238361328a565b8015612f345750612f3483836132bd565b9392505050565b6001600160a01b038116600090815260146020908152604080832080548251818502810185019093528083529192909190830182828015612fa557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612f87575b5050505050905060005b8151811015610f7557818181518110612fca57612fca613eb2565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801561303257600080fd5b505af1158015613046573d6000803e3d6000fd5b50505050808061305590613ec8565b915050612faf565b6040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506130a98482613346565b949350505050565b600a8054600d80546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495761313f816133e3565b61314a8360206133f5565b60405160200161315b929190614545565b60408051601f198184030181529082905262461bcd60e51b825261143691600401613d5e565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006131f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135d69092919063ffffffff16565b90508051600014806132185750808060200190518101906132189190613f0a565b610f755760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611436565b600061329d826301ffc9a760e01b6132bd565b801561090257506132b6826001600160e01b03196132bd565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561332f575060208210155b801561333b5750600081115b979650505050505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166109025760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401611436565b60606109026001600160a01b03831660145b60606000613404836002613dfd565b61340f906002613e82565b67ffffffffffffffff8111156134275761342761388c565b6040519080825280601f01601f191660200182016040528015613451576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061348857613488613eb2565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106134d3576134d3613eb2565b60200101906001600160f81b031916908160001a90535060006134f7846002613dfd565b613502906001613e82565b90505b6001811115613587577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061354357613543613eb2565b1a60f81b82828151811061355957613559613eb2565b60200101906001600160f81b031916908160001a90535060049490941c93613580816145c6565b9050613505565b508315612f345760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611436565b60606130a9848460008585600080866001600160a01b031685876040516135fd91906145dd565b60006040518083038185875af1925050503d806000811461363a576040519150601f19603f3d011682016040523d82523d6000602084013e61363f565b606091505b509150915061333b87838387606083156136ba5782516000036136b3576001600160a01b0385163b6136b35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611436565b50816130a9565b6130a983838151156136cf5781518083602001fd5b8060405162461bcd60e51b81526004016114369190613d5e565b82805482825590600052602060002090810192821561373e579160200282015b8281111561373e57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613709565b5061374a929150613768565b5090565b5080546000825590600052602060002090810190610d0a91905b5b8082111561374a5760008155600101613769565b60006020828403121561378f57600080fd5b81356001600160e01b031981168114612f3457600080fd5b6000602082840312156137b957600080fd5b5035919050565b6001600160a01b0381168114610d0a57600080fd5b80356137e0816137c0565b919050565b600080604083850312156137f857600080fd5b8235613803816137c0565b91506020830135613813816137c0565b809150509250929050565b60006020828403121561383057600080fd5b8135612f34816137c0565b6000806040838503121561384e57600080fd5b8235613859816137c0565b946020939093013593505050565b6000806040838503121561387a57600080fd5b823591506020830135613813816137c0565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156138c5576138c561388c565b60405290565b6040516101a0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051610120810167ffffffffffffffff811182821017156138c5576138c561388c565b60405160c0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051601f8201601f1916810167ffffffffffffffff8111828210171561395f5761395f61388c565b604052919050565b600067ffffffffffffffff8211156139815761398161388c565b50601f01601f191660200190565b600082601f8301126139a057600080fd5b81356139b36139ae82613967565b613936565b8181528460208386010111156139c857600080fd5b816020850160208301376000918101602001919091529392505050565b6000604082840312156139f757600080fd5b6139ff6138a2565b905081358152602082013567ffffffffffffffff811115613a1f57600080fd5b613a2b8482850161398f565b60208301525092915050565b8015158114610d0a57600080fd5b80356137e081613a37565b600060208284031215613a6257600080fd5b813567ffffffffffffffff80821115613a7a57600080fd5b908301906101a08286031215613a8f57600080fd5b613a976138cb565b613aa0836137d5565b8152613aae602084016137d5565b6020820152604083013560408201526060830135606082015260808301356080820152613add60a084016137d5565b60a0820152613aee60c084016137d5565b60c082015260e083013582811115613b0557600080fd5b613b11878286016139e5565b60e083015250610100613b258185016137d5565b908201526101208381013583811115613b3d57600080fd5b613b498882870161398f565b828401525050610140613b5d818501613a45565b908201526101608381013583811115613b7557600080fd5b613b818882870161398f565b8284015250506101809150613b978284016137d5565b91810191909152949350505050565b8035600381106137e057600080fd5b60048110610d0a57600080fd5b80356137e081613bb5565b600060208284031215613bdf57600080fd5b6040516020810181811067ffffffffffffffff82111715613c0257613c0261388c565b6040529135825250919050565b60006101208284031215613c2257600080fd5b613c2a6138ef565b9050613c35826137d5565b815260208201356020820152604082013560408201526060820135606082015260808201356080820152613c6b60a08301613ba6565b60a0820152613c7c60c08301613bc2565b60c0820152613c8e8360e08401613bcd565b60e0820152610100613ca18184016137d5565b9082015292915050565b60008060006101608486031215613cc157600080fd5b8335613ccc816137c0565b9250613cdb8560208601613c0f565b915061014084013567ffffffffffffffff811115613cf857600080fd5b613d04868287016139e5565b9150509250925092565b60005b83811015613d29578181015183820152602001613d11565b50506000910152565b60008151808452613d4a816020860160208601613d0e565b601f01601f19169290920160200192915050565b602081526000612f346020830184613d32565b6000806000806101808587031215613d8857600080fd5b8435613d93816137c0565b93506020850135613da3816137c0565b9250613db28660408701613c0f565b915061016085013567ffffffffffffffff811115613dcf57600080fd5b613ddb878288016139e5565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761090257610902613de7565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613e3c57600080fd5b8151612f3481613bb5565b600060208284031215613e5957600080fd5b5051919050565b600082613e7d57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561090257610902613de7565b600060208284031215613ea757600080fd5b8151612f34816137c0565b634e487b7160e01b600052603260045260246000fd5b600060018201613eda57613eda613de7565b5060010190565b8181038181111561090257610902613de7565b634e487b7160e01b600052603160045260246000fd5b600060208284031215613f1c57600080fd5b8151612f3481613a37565b60006020808385031215613f3a57600080fd5b825167ffffffffffffffff80821115613f5257600080fd5b9084019060c08287031215613f6657600080fd5b613f6e613913565b8251815283830151613f7f816137c0565b818501526040830151613f91816137c0565b6040820152606083015182811115613fa857600080fd5b830160408189031215613fba57600080fd5b613fc26138a2565b815181528582015184811115613fd757600080fd5b82019350601f84018913613fea57600080fd5b83519150613ffa6139ae83613967565b828152898784870101111561400e57600080fd5b61401d83888301898801613d0e565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c9082168061405d57607f821691505b60208210810361407d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f7557600081815260208120601f850160051c810160208610156140aa5750805b601f850160051c820191505b818110156140c9578281556001016140b6565b505050505050565b815167ffffffffffffffff8111156140eb576140eb61388c565b6140ff816140f98454614049565b84614083565b602080601f831160018114614134576000841561411c5750858301515b600019600386901b1c1916600185901b1785556140c9565b600085815260208120601f198616915b8281101561416357888601518255948401946001909101908401614144565b50858210156141815787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083850312156141a457600080fd5b825167ffffffffffffffff808211156141bc57600080fd5b818501915085601f8301126141d057600080fd5b8151818111156141e2576141e261388c565b8060051b91506141f3848301613936565b818152918301840191848101908884111561420d57600080fd5b938501935b838510156142375784519250614227836137c0565b8282529385019390850190614212565b98975050505050505050565b6000815461425081614049565b80855260206001838116801561426d5760018114614287576142b5565b60ff1985168884015283151560051b8801830195506142b5565b866000528260002060005b858110156142ad5781548a8201860152908301908401614292565b890184019650505b505050505092915050565b8051825260006020820151604060208501526130a96040850182613d32565b600081518084526020808501945080840160005b838110156143185781516001600160a01b0316875295820195908201906001016142f3565b509495945050505050565b85815260a06020820152600061433c60a0830187614243565b828103604084015261434e81876142c0565b90506001600160a01b0385166060840152828103608084015261423781856142df565b83815260606020820152600061438a6060830185614243565b828103604084015261439c81856142c0565b9695505050505050565b600481106143b6576143b6613e14565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061440d5761440d613e14565b8060a08401525060c083015161442660c08401826143a6565b5060e083015161443960e0840182519052565b50610100928301516001600160a01b0316919092015290565b87815260006001600160a01b03808916602084015260e0604084015261447b60e0840189613d32565b818816606085015286608085015283810360a085015261449b81876142c0565b91505082810360c08401526144b081856142df565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a0608083015261333b60a08301846142c0565b60408152600061450b6040830185613d32565b90506001600160a01b03831660208301529392505050565b6040815260006145366040830185613d32565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161457d816017850160208801613d0e565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516145ba816028840160208801613d0e565b01602801949350505050565b6000816145d5576145d5613de7565b506000190190565b600082516145ef818460208701613d0e565b919091019291505056fe67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829a26469706673582212204c3c6e8a22ea35c00bf2ba860e2ff063477b7bb6ff8f36945ae4ba1d149195e964736f6c63430008130033a2646970667358221220d514669a2f38d354f81a983cf02290520de61b3785f944f78f5dfbfeb5075c0164736f6c63430008130033","sourceMap":"202:2981:119:-:0;;;267:1;244:24;;202:2981;;;;;;;;;-1:-1:-1;936:32:61;734:10:79;936:18:61;:32::i;:::-;202:2981:119;;2426:187:61;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:61;;;-1:-1:-1;;;;;;2534:17:61;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;202:2981:119:-;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100d45760003560e01c8063987435be11610081578063b8bed9011161005b578063b8bed90114610198578063f2fde38b146101ab578063f5016b5e146101be57600080fd5b8063987435be1461016b578063affed0e01461017c578063b5b3ca2c1461018557600080fd5b80638279c7db116100b25780638279c7db1461011c5780638a16135f1461012f5780638da5cb5b1461015a57600080fd5b80630a992e0c146100d95780635a2c8ace146100ff578063715018a614610114575b600080fd5b6100ec6100e73660046106a3565b6101fa565b6040519081526020015b60405180910390f35b61011261010d3660046106d7565b61027b565b005b6101126102e7565b61011261012a3660046106a3565b6102fb565b61014261013d366004610848565b61036d565b6040516001600160a01b0390911681526020016100f6565b6000546001600160a01b0316610142565b6003546001600160a01b0316610142565b6100ec60015481565b61011261019336600461099e565b61048e565b600354610142906001600160a01b031681565b6101126101b93660046106a3565b6104ea565b6101ea6101cc3660046106a3565b6001600160a01b031660009081526002602052604090205460ff1690565b60405190151581526020016100f6565b6001600160a01b03811660009081526002602052604081205460ff1661025c576040517ff5a6943d0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024015b60405180910390fd5b506001600160a01b031660009081526002602052604090206001015490565b61028361057a565b6001600160a01b038216600081815260026020908152604091829020805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b6102ef61057a565b6102f960006105d4565b565b61030361057a565b61030c81610631565b6003805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d9060200160405180910390a150565b60008060405161037c90610671565b604051809103906000f080158015610398573d6000803e3d6000fd5b506001805491925060006103ab836109ca565b9091555060808401523060a08401526040517f96f0adec0000000000000000000000000000000000000000000000000000000081526001600160a01b038216906396f0adec906103ff908690600401610a5e565b600060405180830381600087803b15801561041957600080fd5b505af115801561042d573d6000803e3d6000fd5b505050506001600160a01b038116600081815260026020908152604091829020805460ff1916600117905590519182527fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29910160405180910390a192915050565b61049661057a565b6001600160a01b038216600081815260026020908152604091829020600101849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c91016102db565b6104f261057a565b6001600160a01b03811661056e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610253565b610577816105d4565b50565b6000546001600160a01b031633146102f95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610253565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116610577576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6146fe80610b9e83390190565b6001600160a01b038116811461057757600080fd5b803561069e8161067e565b919050565b6000602082840312156106b557600080fd5b81356106c08161067e565b9392505050565b8035801515811461069e57600080fd5b600080604083850312156106ea57600080fd5b82356106f58161067e565b9150610703602084016106c7565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b6040516101a0810167ffffffffffffffff811182821017156107465761074661070c565b60405290565b600082601f83011261075d57600080fd5b813567ffffffffffffffff808211156107785761077861070c565b604051601f8301601f19908116603f011681019082821181831017156107a0576107a061070c565b816040528381528660208588010111156107b957600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000604082840312156107eb57600080fd5b6040516040810167ffffffffffffffff828210818311171561080f5761080f61070c565b8160405282935084358352602085013591508082111561082e57600080fd5b5061083b8582860161074c565b6020830152505092915050565b60006020828403121561085a57600080fd5b813567ffffffffffffffff8082111561087257600080fd5b908301906101a0828603121561088757600080fd5b61088f610722565b61089883610693565b81526108a660208401610693565b60208201526040830135604082015260608301356060820152608083013560808201526108d560a08401610693565b60a08201526108e660c08401610693565b60c082015260e0830135828111156108fd57600080fd5b610909878286016107d9565b60e08301525061010061091d818501610693565b90820152610120838101358381111561093557600080fd5b6109418882870161074c565b8284015250506101406109558185016106c7565b90820152610160838101358381111561096d57600080fd5b6109798882870161074c565b828401525050610180915061098f828401610693565b91810191909152949350505050565b600080604083850312156109b157600080fd5b82356109bc8161067e565b946020939093013593505050565b6000600182016109ea57634e487b7160e01b600052601160045260246000fd5b5060010190565b6000815180845260005b81811015610a17576020818501810151868301820152016109fb565b506000602082860101526020601f19601f83011685010191505092915050565b805182526000602082015160406020850152610a5660408501826109f1565b949350505050565b60208152610a786020820183516001600160a01b03169052565b60006020830151610a9460408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015160a083015260a0830151610acd60c08401826001600160a01b03169052565b5060c08301516001600160a01b03811660e08401525060e08301516101a06101008181860152610b016101c0860184610a37565b90860151909250610120610b1f868201836001600160a01b03169052565b80870151915050601f19610140818786030181880152610b3f85846109f1565b945080880151925050610160610b588188018415159052565b80880151925050610180818786030181880152610b7585846109f1565b94508088015192505050610b93828601826001600160a01b03169052565b509094935050505056fe60806040523480156200001157600080fd5b506001600090815562000046907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b906200004c565b62000099565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b61465580620000a96000396000f3fe608060405234801561001057600080fd5b506004361061036d5760003560e01c80636c53db9a116101d3578063a230c52411610104578063d547741f116100a2578063db61d65c1161007c578063db61d65c1461086c578063ebd7dc521461087f578063f86c5f8914610892578063ff6409ef146108a557600080fd5b8063d547741f1461083d578063d6d8428d14610850578063d7050f071461086357600080fd5b8063b64e39af116100de578063b64e39af14610810578063b99b437014610825578063bc063e1a1461082d578063c6d572ae1461083557600080fd5b8063a230c5241461079e578063b3f00674146107f5578063b5058c501461080857600080fd5b80638961be6b1161017157806397991cfa1161014b57806397991cfa14610724578063a0b21cdf14610754578063a0cf0aea1461077b578063a217fddf1461079657600080fd5b80638961be6b146106cf57806391d14854146106d857806396f0adec1461071157600080fd5b806378a0b8a9116101ad57806378a0b8a91461063d5780637b1039991461064657806382d6a1e71461065957806388cfe6841461066c57600080fd5b80636c53db9a146105de57806373265c37146105f15780637817ee4f1461060457600080fd5b80632f2ff15d116102ad578063477a5cc01161024b5780635ecf71c5116102255780635ecf71c51461057a57806365e3864c1461058d5780636871eb4d146105b857806368decabb146105cb57600080fd5b8063477a5cc014610526578063559de05d146105545780635c94e4d21461056757600080fd5b80633517aa7d116102875780633517aa7d146104d557806336568abe146104dd578063397e2543146104f05780633a871fe11461050357600080fd5b80632f2ff15d146104a657806331f61bca146104b957806333960459146104cc57600080fd5b80631f787d281161031a578063248a9ca3116102f4578063248a9ca31461042357806328c309e9146104475780632b38c69c1461044f5780632c611c4a1461047a57600080fd5b80631f787d28146103f0578063223e5479146103fd57806322bcf9991461041057600080fd5b80630d12bbdb1161034b5780630d12bbdb146103b55780630d4a8b49146103ca578063175188e8146103dd57600080fd5b806301ffc9a7146103725780630331383c1461039a57806308386eba146103ac575b600080fd5b61038561038036600461377d565b6108b8565b60405190151581526020015b60405180910390f35b6003545b604051908152602001610391565b61039e60055481565b6103c86103c33660046137a7565b610908565b005b6103c86103d83660046137e5565b610992565b6103c86103eb36600461381e565b610cf9565b6002546103859060ff1681565b6103c861040b36600461381e565b610d0d565b6103c861041e3660046137e5565b610d1e565b61039e6104313660046137a7565b6000908152600160208190526040909120015490565b61039e610e2d565b61046261045d36600461383b565b610f17565b6040516001600160a01b039091168152602001610391565b61039e61048836600461381e565b6001600160a01b031660009081526013602052604090206001015490565b6103c86104b4366004613867565b610f4f565b6103c86104c73660046137a7565b610f7a565b61039e60095481565b6103c8610fb7565b6103c86104eb366004613867565b6113bc565b6103c86104fe36600461381e565b61144d565b61038561051136600461381e565b60116020526000908152604090205460ff1681565b6103856105343660046137e5565b601560209081526000928352604080842090915290825290205460ff1681565b6103c86105623660046137a7565b6114ba565b600854610462906001600160a01b031681565b6103c86105883660046137a7565b611794565b61039e61059b3660046137e5565b601260209081526000928352604080842090915290825290205481565b6103c86105c63660046137e5565b611b4e565b600a54610462906001600160a01b031681565b600d54610462906001600160a01b031681565b6103c86105ff3660046137a7565b611d59565b61039e6106123660046137e5565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b61039e60035481565b600b54610462906001600160a01b031681565b6103c86106673660046137a7565b611deb565b6106a861067a36600461381e565b6013602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b0390941684526020840192909252151590820152606001610391565b61039e60045481565b6103856106e6366004613867565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6103c861071f366004613a50565b611e9c565b610737610732366004613cab565b612388565b604080519283526001600160a01b03909116602083015201610391565b61039e7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b61046273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61039e600081565b6103856107ac36600461381e565b6001600160a01b039081166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b600654610462906001600160a01b031681565b6103c86123d2565b61081861241e565b6040516103919190613d5e565b6103c86124ac565b61039e61260f565b61081861261f565b6103c861084b366004613867565b61262c565b600e54610462906001600160a01b031681565b61039e61271081565b600c54610462906001600160a01b031681565b61038561088d36600461381e565b612652565b600754610462906001600160a01b031681565b6107376108b3366004613d71565b612692565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061090257506301ffc9a760e01b6001600160e01b03198316145b92915050565b610910612811565b61091d612710600a613dfd565b811115610956576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60048190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b61099b82612879565b6109a4816128dc565b6109ad8161292e565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff1615610a0d576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0380831660009081526013602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff161515918301919091526003805490846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abd9190613e2a565b6003811115610ace57610ace613e14565b03610b4d5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b469190613e47565b9050610c3f565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb39190613e2a565b6003811115610bc457610bc4613e14565b14610c3f5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af1158015610c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3c9190613e47565b90505b6001600160a01b038581166000818152601260209081526040808320948916808452948252808320869055838352601582528083208584528252808320805460ff19166001908117909155848452601483528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b610d01612811565b610d0a8161296e565b50565b610d15612811565b610d0a816129c8565b610d2782612879565b610d308161292e565b610d3a3382612a6f565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff16610d99576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000818152601560209081526040808320948616808452948252808320805460ff191690559282526012815282822093825292909252812055610de78282612aba565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b910160405180910390a15050565b6007546000906001600160a01b031681610e4a6127106064613dfd565b600454600354610e5a9190613dfd565b610e649190613e60565b90506000610e756127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190613e47565b600354610eea9190613dfd565b610ef49190613e60565b90508082600354610f059190613e82565b610f0f9190613e82565b935050505090565b60146020528160005260406000208181548110610f3357600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008281526001602081905260409091200154610f6b81612bdc565b610f758383612be6565b505050565b610f82612811565b60038190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f90602001610987565b610fbf612c6d565b33600081815260136020526040812060075490916001600160a01b0390911690610fec6127106064613dfd565b600454600354610ffc9190613dfd565b6110069190613e60565b905060006110176127106064613dfd565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190613e47565b60035461108c9190613dfd565b6110969190613e60565b6001600160a01b038087166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190529091506113ab5760028401805460ff191660019081179091556003549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152600c5461114691906001600160a01b0316612cc6565b6111788530838560035461115a9190613e82565b6111649190613e82565b600c546001600160a01b0316929190612d24565b6111b76040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e74000000000000000000000000000081525083612da8565b81156112245760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260065461120791906001600160a01b0316612cc6565b600654600c54611224916001600160a01b03918216911684612e06565b6112636040518060400160405280601081526020017f67617264656e73466565416d6f756e740000000000000000000000000000000081525082612da8565b8015611364576112ec6040518060600160405280602681526020016145fa60269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e79190613e95565b612cc6565b611364836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113519190613e95565b600c546001600160a01b03169083612e06565b600354604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b50505050506113ba6001600055565b565b6001600160a01b038116331461143f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6114498282612e36565b5050565b611455612811565b61145e8161292e565b600a80546001600160a01b0319166001600160a01b03838116918217909255600d546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610987565b6114c2612c6d565b6114ca612eb9565b3360008181526014602090815260408083208054825181850281018501909352808352919290919083018282801561152b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161150d575b50505050509050600080600090505b82518110156116fb5782818151811061155557611555613eb2565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af11580156115b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d49190613e47565b915081156116e9576001600160a01b0384166000908152601260205260408120845184929086908590811061160b5761160b613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546116429190613e82565b925050819055506116e96040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525060126000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815181106116bb576116bb613eb2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054612da8565b806116f381613ec8565b91505061153a565b50600c54611714906001600160a01b0316843087612d24565b6001600160a01b0383166000908152601360205260408120600101805486929061173f908490613e82565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a1505050610d0a6001600055565b61179c612c6d565b6117a4612eb9565b336000818152601460209081526040808320600354601390935290832060010154909291906117d4908690613ee1565b101561180c576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c54611823906001600160a01b03168486612e06565b60005b8254811015611ade57600083828154811061184357611843613eb2565b6000918252602090912001546001600160a01b0316905061186b8163f1801e6160e01b612f18565b15611a12576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156118d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fc9190613e47565b9250600060126000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858154811061193957611939613eb2565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156119a4576040517f8a11f3180000000000000000000000000000000000000000000000000000000081526004810185905260248101829052604401611436565b6001600160a01b038616600090815260126020526040812086548692908890879081106119d3576119d3613eb2565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190611a07908490613ee1565b909155505050611acb565b83548490611a2290600190613ee1565b81548110611a3257611a32613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110611a6257611a62613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480611aa057611aa0613ef4565b600082815260209020810160001990810180546001600160a01b0319169055019055611acb8161296e565b5080611ad681613ec8565b915050611826565b506001600160a01b03831660009081526013602052604081206001018054869290611b0a908490613ee1565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8910161177f565b611b56612c6d565b611b5e612811565b60025460ff16611b9a576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052611bfd57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152611c4b83612f3b565b6001600160a01b03838116600090815260136020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff19169055600c5490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af1158015611cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfd9190613f0a565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a1506114496001600055565b611d61612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611dab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dd39190810190613f27565b602001519050611de28161292e565b6114498161296e565b611df3612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611e3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e659190810190613f27565b602001519050611e748161292e565b611e8e6001600160a01b03821663f1801e6160e01b612f18565b1561144957611449816129c8565b611ea9816020015161292e565b611eb781610100015161292e565b8051611ec29061292e565b611ecf8160a0015161292e565b611edd81610180015161292e565b606081015115611ef457611ef48160c0015161292e565b8051600e80546001600160a01b039283166001600160a01b0319918216179091556020830151600c80549190931691161790556040810151600003611f65576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015160035560608101516004556101408101516002805460ff1916911515919091179055610120810151600f90611f9f90826140d1565b50610160810151601090611fb390826140d1565b5060a0810151600780546001600160a01b03199081166001600160a01b039384161790915560c0830151600680548316918416919091179055610100830151600d8054831682851617905561018084015160088054909316931692909217905561203e907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90612be6565b600e60009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015612091573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b59190613e95565b600b80546001600160a01b0319166001600160a01b03928316179055600d54604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121579190810190614191565b90506000815160026121699190613e82565b67ffffffffffffffff8111156121815761218161388c565b6040519080825280602002602001820160405280156121aa578160200160208202803683370190505b50905060005b825181101561220f578281815181106121cb576121cb613eb2565b60200260200101518282815181106121e5576121e5613eb2565b6001600160a01b03909216602092830291909101909101528061220781613ec8565b9150506121b0565b50600d5481516001600160a01b0390911690829061222f90600190613ee1565b8151811061223f5761223f613eb2565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835161226f9190613ee1565b8151811061227f5761227f613eb2565b6001600160a01b039283166020918202929092010152600b54608085015160e08601516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f926122e79291600f9130908890600401614323565b6020604051808303816000875af1158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613e47565b60055580516123409060169060208401906136e9565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205600554600f8560e0015160405161237b93929190614371565b60405180910390a1505050565b60085460098054600092839283926123b7926001600160a01b031691846123ae83613ec8565b9190505561305d565b90506123c581878787612692565b9250925050935093915050565b600a546001600160a01b03163314612416576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113ba6130b1565b6010805461242b90614049565b80601f016020809104026020016040519081016040528092919081815260200182805461245790614049565b80156124a45780601f10612479576101008083540402835291602001916124a4565b820191906000526020600020905b81548152906001019060200180831161248757829003601f168201915b505050505081565b6124b4612c6d565b336124be81612879565b6124c781612f3b565b6001600160a01b0380821660008181526013602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945560149052918220909161253e919061374e565b600c54602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015612596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ba9190613f0a565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a150506113ba6001600055565b61261c612710600a613dfd565b81565b600f805461242b90614049565b6000828152600160208190526040909120015461264881612bdc565b610f758383612e36565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff16610902565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156126bc5750845b8691506000601680548060200260200160405190810160405280929190818152602001828054801561271757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116126f9575b5050600e546005546040519596506001600160a01b039091169463e1007d4a945090925087915061274c908b906020016143ba565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b81526004016127829796959493929190614452565b6020604051808303816000875af11580156127a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c59190613e47565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a896040516127fe9594939291906144be565b60405180910390a1505094509492505050565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff166113ba576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038082166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052610d0a57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03811660009081526011602052604090205460ff16610d0a576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116610d0a576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129778161292e565b6001600160a01b038116600081815260116020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49101610987565b6001600160a01b03811660009081526011602052604090205460ff1615612a1b576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815260116020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610987565b806001600160a01b0316826001600160a01b031614611449576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152601460205260408120905b8154811015612bd657826001600160a01b0316828281548110612af957612af9613eb2565b6000918252602090912001546001600160a01b031603612bc45781548290612b2390600190613ee1565b81548110612b3357612b33613eb2565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110612b6357612b63613eb2565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480612ba157612ba1613ef4565b600082815260209020810160001990810180546001600160a01b03191690550190555b80612bce81613ec8565b915050612ad4565b50505050565b610d0a813361310c565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b600260005403612cbf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401611436565b6002600055565b6114498282604051602401612cdc9291906144f8565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b0380851660248301528316604482015260648101829052612bd69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526131a2565b6114498282604051602401612dbe929190614523565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b038316602482015260448101829052610f7590849063a9059cbb60e01b90606401612d71565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16156114495760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b33600090815260136020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526113ba57604051636a5cfb6d60e01b815260040160405180910390fd5b6000612f238361328a565b8015612f345750612f3483836132bd565b9392505050565b6001600160a01b038116600090815260146020908152604080832080548251818502810185019093528083529192909190830182828015612fa557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612f87575b5050505050905060005b8151811015610f7557818181518110612fca57612fca613eb2565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801561303257600080fd5b505af1158015613046573d6000803e3d6000fd5b50505050808061305590613ec8565b915050612faf565b6040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506130a98482613346565b949350505050565b600a8054600d80546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495761313f816133e3565b61314a8360206133f5565b60405160200161315b929190614545565b60408051601f198184030181529082905262461bcd60e51b825261143691600401613d5e565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006131f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135d69092919063ffffffff16565b90508051600014806132185750808060200190518101906132189190613f0a565b610f755760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611436565b600061329d826301ffc9a760e01b6132bd565b801561090257506132b6826001600160e01b03196132bd565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561332f575060208210155b801561333b5750600081115b979650505050505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166109025760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401611436565b60606109026001600160a01b03831660145b60606000613404836002613dfd565b61340f906002613e82565b67ffffffffffffffff8111156134275761342761388c565b6040519080825280601f01601f191660200182016040528015613451576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061348857613488613eb2565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106134d3576134d3613eb2565b60200101906001600160f81b031916908160001a90535060006134f7846002613dfd565b613502906001613e82565b90505b6001811115613587577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061354357613543613eb2565b1a60f81b82828151811061355957613559613eb2565b60200101906001600160f81b031916908160001a90535060049490941c93613580816145c6565b9050613505565b508315612f345760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611436565b60606130a9848460008585600080866001600160a01b031685876040516135fd91906145dd565b60006040518083038185875af1925050503d806000811461363a576040519150601f19603f3d011682016040523d82523d6000602084013e61363f565b606091505b509150915061333b87838387606083156136ba5782516000036136b3576001600160a01b0385163b6136b35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611436565b50816130a9565b6130a983838151156136cf5781518083602001fd5b8060405162461bcd60e51b81526004016114369190613d5e565b82805482825590600052602060002090810192821561373e579160200282015b8281111561373e57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613709565b5061374a929150613768565b5090565b5080546000825590600052602060002090810190610d0a91905b5b8082111561374a5760008155600101613769565b60006020828403121561378f57600080fd5b81356001600160e01b031981168114612f3457600080fd5b6000602082840312156137b957600080fd5b5035919050565b6001600160a01b0381168114610d0a57600080fd5b80356137e0816137c0565b919050565b600080604083850312156137f857600080fd5b8235613803816137c0565b91506020830135613813816137c0565b809150509250929050565b60006020828403121561383057600080fd5b8135612f34816137c0565b6000806040838503121561384e57600080fd5b8235613859816137c0565b946020939093013593505050565b6000806040838503121561387a57600080fd5b823591506020830135613813816137c0565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156138c5576138c561388c565b60405290565b6040516101a0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051610120810167ffffffffffffffff811182821017156138c5576138c561388c565b60405160c0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051601f8201601f1916810167ffffffffffffffff8111828210171561395f5761395f61388c565b604052919050565b600067ffffffffffffffff8211156139815761398161388c565b50601f01601f191660200190565b600082601f8301126139a057600080fd5b81356139b36139ae82613967565b613936565b8181528460208386010111156139c857600080fd5b816020850160208301376000918101602001919091529392505050565b6000604082840312156139f757600080fd5b6139ff6138a2565b905081358152602082013567ffffffffffffffff811115613a1f57600080fd5b613a2b8482850161398f565b60208301525092915050565b8015158114610d0a57600080fd5b80356137e081613a37565b600060208284031215613a6257600080fd5b813567ffffffffffffffff80821115613a7a57600080fd5b908301906101a08286031215613a8f57600080fd5b613a976138cb565b613aa0836137d5565b8152613aae602084016137d5565b6020820152604083013560408201526060830135606082015260808301356080820152613add60a084016137d5565b60a0820152613aee60c084016137d5565b60c082015260e083013582811115613b0557600080fd5b613b11878286016139e5565b60e083015250610100613b258185016137d5565b908201526101208381013583811115613b3d57600080fd5b613b498882870161398f565b828401525050610140613b5d818501613a45565b908201526101608381013583811115613b7557600080fd5b613b818882870161398f565b8284015250506101809150613b978284016137d5565b91810191909152949350505050565b8035600381106137e057600080fd5b60048110610d0a57600080fd5b80356137e081613bb5565b600060208284031215613bdf57600080fd5b6040516020810181811067ffffffffffffffff82111715613c0257613c0261388c565b6040529135825250919050565b60006101208284031215613c2257600080fd5b613c2a6138ef565b9050613c35826137d5565b815260208201356020820152604082013560408201526060820135606082015260808201356080820152613c6b60a08301613ba6565b60a0820152613c7c60c08301613bc2565b60c0820152613c8e8360e08401613bcd565b60e0820152610100613ca18184016137d5565b9082015292915050565b60008060006101608486031215613cc157600080fd5b8335613ccc816137c0565b9250613cdb8560208601613c0f565b915061014084013567ffffffffffffffff811115613cf857600080fd5b613d04868287016139e5565b9150509250925092565b60005b83811015613d29578181015183820152602001613d11565b50506000910152565b60008151808452613d4a816020860160208601613d0e565b601f01601f19169290920160200192915050565b602081526000612f346020830184613d32565b6000806000806101808587031215613d8857600080fd5b8435613d93816137c0565b93506020850135613da3816137c0565b9250613db28660408701613c0f565b915061016085013567ffffffffffffffff811115613dcf57600080fd5b613ddb878288016139e5565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761090257610902613de7565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613e3c57600080fd5b8151612f3481613bb5565b600060208284031215613e5957600080fd5b5051919050565b600082613e7d57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561090257610902613de7565b600060208284031215613ea757600080fd5b8151612f34816137c0565b634e487b7160e01b600052603260045260246000fd5b600060018201613eda57613eda613de7565b5060010190565b8181038181111561090257610902613de7565b634e487b7160e01b600052603160045260246000fd5b600060208284031215613f1c57600080fd5b8151612f3481613a37565b60006020808385031215613f3a57600080fd5b825167ffffffffffffffff80821115613f5257600080fd5b9084019060c08287031215613f6657600080fd5b613f6e613913565b8251815283830151613f7f816137c0565b818501526040830151613f91816137c0565b6040820152606083015182811115613fa857600080fd5b830160408189031215613fba57600080fd5b613fc26138a2565b815181528582015184811115613fd757600080fd5b82019350601f84018913613fea57600080fd5b83519150613ffa6139ae83613967565b828152898784870101111561400e57600080fd5b61401d83888301898801613d0e565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c9082168061405d57607f821691505b60208210810361407d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f7557600081815260208120601f850160051c810160208610156140aa5750805b601f850160051c820191505b818110156140c9578281556001016140b6565b505050505050565b815167ffffffffffffffff8111156140eb576140eb61388c565b6140ff816140f98454614049565b84614083565b602080601f831160018114614134576000841561411c5750858301515b600019600386901b1c1916600185901b1785556140c9565b600085815260208120601f198616915b8281101561416357888601518255948401946001909101908401614144565b50858210156141815787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083850312156141a457600080fd5b825167ffffffffffffffff808211156141bc57600080fd5b818501915085601f8301126141d057600080fd5b8151818111156141e2576141e261388c565b8060051b91506141f3848301613936565b818152918301840191848101908884111561420d57600080fd5b938501935b838510156142375784519250614227836137c0565b8282529385019390850190614212565b98975050505050505050565b6000815461425081614049565b80855260206001838116801561426d5760018114614287576142b5565b60ff1985168884015283151560051b8801830195506142b5565b866000528260002060005b858110156142ad5781548a8201860152908301908401614292565b890184019650505b505050505092915050565b8051825260006020820151604060208501526130a96040850182613d32565b600081518084526020808501945080840160005b838110156143185781516001600160a01b0316875295820195908201906001016142f3565b509495945050505050565b85815260a06020820152600061433c60a0830187614243565b828103604084015261434e81876142c0565b90506001600160a01b0385166060840152828103608084015261423781856142df565b83815260606020820152600061438a6060830185614243565b828103604084015261439c81856142c0565b9695505050505050565b600481106143b6576143b6613e14565b9052565b6000610120820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061440d5761440d613e14565b8060a08401525060c083015161442660c08401826143a6565b5060e083015161443960e0840182519052565b50610100928301516001600160a01b0316919092015290565b87815260006001600160a01b03808916602084015260e0604084015261447b60e0840189613d32565b818816606085015286608085015283810360a085015261449b81876142c0565b91505082810360c08401526144b081856142df565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a0608083015261333b60a08301846142c0565b60408152600061450b6040830185613d32565b90506001600160a01b03831660208301529392505050565b6040815260006145366040830185613d32565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161457d816017850160208801613d0e565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516145ba816028840160208801613d0e565b01602801949350505050565b6000816145d5576145d5613de7565b506000190190565b600082516145ef818460208701613d0e565b919091019291505056fe67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829a26469706673582212204c3c6e8a22ea35c00bf2ba860e2ff063477b7bb6ff8f36945ae4ba1d149195e964736f6c63430008130033a2646970667358221220d514669a2f38d354f81a983cf02290520de61b3785f944f78f5dfbfeb5075c0164736f6c63430008130033","sourceMap":"202:2981:119:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2940:241;;;;;;:::i;:::-;;:::i;:::-;;;710:25:128;;;698:2;683:18;2940:241:119;;;;;;;;2592:200;;;;;;:::i;:::-;;:::i;:::-;;1824:101:61;;;:::i;2043:214:119:-;;;;;;:::i;:::-;;:::i;1519:518::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;5023:55:128;;;5005:74;;4993:2;4978:18;1519:518:119;4859:226:128;1201:85:61;1247:7;1273:6;-1:-1:-1;;;;;1273:6:61;1201:85;;2263:107:119;2345:18;;-1:-1:-1;;;;;2345:18:119;2263:107;;244:24;;;;;;2376:210;;;;;;:::i;:::-;;:::i;515:33::-;;;;;-1:-1:-1;;;;;515:33:119;;;2074:198:61;;;;;;:::i;:::-;;:::i;2798:136:119:-;;;;;;:::i;:::-;-1:-1:-1;;;;;2894:27:119;2871:4;2894:27;;;:15;:27;;;;;:33;;;;2798:136;;;;5671:14:128;;5664:22;5646:41;;5634:2;5619:18;2798:136:119;5506:187:128;2940:241:119;-1:-1:-1;;;;;3031:27:119;;3007:7;3031:27;;;:15;:27;;;;;:33;;;3026:100;;3087:28;;;;;-1:-1:-1;;;;;5023:55:128;;3087:28:119;;;5005:74:128;4978:18;;3087:28:119;;;;;;;;3026:100;-1:-1:-1;;;;;;3143:27:119;;;;;:15;:27;;;;;:31;;;;2940:241::o;2592:200::-;1094:13:61;:11;:13::i;:::-;-1:-1:-1;;;;;2684:27:119;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:44;;-1:-1:-1;;2684:44:119::1;::::0;::::1;;::::0;;::::1;::::0;;;2743:42;;5866:74:128;;;5956:18;;;5949:50;2743:42:119::1;::::0;5839:18:128;2743:42:119::1;;;;;;;;2592:200:::0;;:::o;1824:101:61:-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;2043:214:119:-;1094:13:61;:11;:13::i;:::-;2123:35:119::1;2142:15;2123:18;:35::i;:::-;2168:18;:36:::0;;-1:-1:-1;;2168:36:119::1;-1:-1:-1::0;;;;;2168:36:119;::::1;::::0;;::::1;::::0;;;2219:31:::1;::::0;5005:74:128;;;2219:31:119::1;::::0;4993:2:128;4978:18;2219:31:119::1;;;;;;;2043:214:::0;:::o;1519:518::-;1625:31;1672:35;1710:23;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1759:5:119;:7;;1672:61;;-1:-1:-1;1759:5:119;:7;;;:::i;:::-;;;;-1:-1:-1;1743:13:119;;;:23;1810:4;1776:23;;;:39;1826:36;;;;;-1:-1:-1;;;;;1826:28:119;;;;;:36;;1743:6;;1826:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;1872:43:119;;;;;;:15;:43;;;;;;;;;:56;;-1:-1:-1;;1872:56:119;1924:4;1872:56;;;1943:44;;5005:74:128;;;1943:44:119;;4978:18:128;1943:44:119;;;;;;;2012:17;1519:518;-1:-1:-1;;1519:518:119:o;2376:210::-;1094:13:61;:11;:13::i;:::-;-1:-1:-1;;;;;2472:27:119;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:31:::1;;:49:::0;;;2536:43;;9044:74:128;;;9134:18;;9127:34;;;2536:43:119::1;::::0;9017:18:128;2536:43:119::1;8870:297:128::0;2074:198:61;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:61;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:61;;9374:2:128;2154:73:61::1;::::0;::::1;9356:21:128::0;9413:2;9393:18;;;9386:30;9452:34;9432:18;;;9425:62;9523:8;9503:18;;;9496:36;9549:19;;2154:73:61::1;9172:402:128::0;2154:73:61::1;2237:28;2256:8;2237:18;:28::i;:::-;2074:198:::0;:::o;1359:130::-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:61;734:10:79;1422:23:61;1414:68;;;;-1:-1:-1;;;1414:68:61;;9781:2:128;1414:68:61;;;9763:21:128;;;9800:18;;;9793:30;9859:34;9839:18;;;9832:62;9911:18;;1414:68:61;9579:356:128;2426:187:61;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:61;;;-1:-1:-1;;2534:17:61;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;1380:133:119:-;-1:-1:-1;;;;;1454:22:119;;1450:56;;1485:21;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;:::o;14:154:128:-;-1:-1:-1;;;;;93:5:128;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:128: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:128;1216:2;1201:18;;1185:35;:::i;:::-;1175:45;;911:315;;;;;:::o;1231:184::-;-1:-1:-1;;;1280:1:128;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:128;;;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:128: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:128:o;6010:289::-;6049:3;6070:17;;;6067:197;;-1:-1:-1;;;6117:1:128;6110:88;6221:4;6218:1;6211:15;6249:4;6246:1;6239:15;6067:197;-1:-1:-1;6291:1:128;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:128: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:128;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:128;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:128;4781:67;;4727:127;7608:55;-1:-1:-1;7712:3:128;7700:16;;7694:23;-1:-1:-1;;;;;4793:54:128;;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:128;8091:54;8126:18;;;8038:22;-1:-1:-1;;;;;4793:54:128;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:128;4781:67;;4727:127;8782:54;-1:-1:-1;8853:6:128;;6989:1876;-1:-1:-1;;;;6989:1876:128: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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol\":{\"keccak256\":\"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964\",\"dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j\"]},\"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/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\":\"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71\",\"dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"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\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"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\":\"0x9a0dba4c62abd4bc2887a8fec229c2e1916ba0d8bc7bbc8da712188552650752\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://48a99a5af361529ac37e477e3195d6a9355ff5ab2ef3e4d002d80a404da6e4dd\",\"dweb:/ipfs/Qmf8BsNJcG2Lno4gjUV3DfDsDsgNGrCLRMTXkWkm4JnM6u\"]},\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x0e25fbb8497ac3c969d80c9032362d45e56c0a45dc9ba3dff6a8a704571f38ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0dff90ebae6e7131a5300fcaf525bc2ab0ae90fcd13f277d7b7b6939eeb8b7eb\",\"dweb:/ipfs/QmYGkYqpUVrBWoNY6f3CtwrrVQFWSvnJfpu68t95f6AkBY\"]},\"pkg/contracts/src/RegistryCommunity.sol\":{\"keccak256\":\"0x1c576e15a5543c06e92cb45f7162a2aa5dac1a276088ec323f5c0438f69c2e52\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://60cb3de95b895d81666b3899a5d73d620742a5c98558ad9799c0464da7b3ab55\",\"dweb:/ipfs/QmReM4jMH5Vc6gGeo7UtHFruHVnqY2rWaecXr1FwDmA6gE\"]},\"pkg/contracts/src/RegistryFactory.sol\":{\"keccak256\":\"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6\",\"dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo\"]}},\"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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/openzeppelin-contracts-upgradeable/contracts/proxy/ClonesUpgradeable.sol":{"keccak256":"0x3d98edeb5d5be8410fca707b73dabe7544d1dd11e35b73dd907c473fe43cc3ae","urls":["bzz-raw://1a3fa9fc3aec149b8ad0dd8895277ab11e9244e9d2b7adc8404b22de974fc964","dweb:/ipfs/QmRggzxs1WjuvGJSAKb2Nw5r7P3VDMefCWKTbkNPKRkv2j"],"license":"MIT"},"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/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":"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69","urls":["bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71","dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"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":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"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":"0x9a0dba4c62abd4bc2887a8fec229c2e1916ba0d8bc7bbc8da712188552650752","urls":["bzz-raw://48a99a5af361529ac37e477e3195d6a9355ff5ab2ef3e4d002d80a404da6e4dd","dweb:/ipfs/Qmf8BsNJcG2Lno4gjUV3DfDsDsgNGrCLRMTXkWkm4JnM6u"],"license":"AGPL-3.0-only"},"pkg/contracts/src/ISafe.sol":{"keccak256":"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143","urls":["bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef","dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj"],"license":"LGPL-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":"0x1c576e15a5543c06e92cb45f7162a2aa5dac1a276088ec323f5c0438f69c2e52","urls":["bzz-raw://60cb3de95b895d81666b3899a5d73d620742a5c98558ad9799c0464da7b3ab55","dweb:/ipfs/QmReM4jMH5Vc6gGeo7UtHFruHVnqY2rWaecXr1FwDmA6gE"],"license":"AGPL-3.0-only"},"pkg/contracts/src/RegistryFactory.sol":{"keccak256":"0x888b7f5eb1079f90ccfa0b41d8a970bffd8d4d469f9b31917a58279b358dbda5","urls":["bzz-raw://af25fd783de00adf01d1c7caa572801fed0d474306a43b862535b08e65ec10c6","dweb:/ipfs/Qmeb2nEaMQLV86y1CYAAV2c6BYpBDTbpLuC1SigeNjdqLo"],"license":"AGPL-3.0-only"}},"version":1},"id":119} \ 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 dc4176744..5b2734876 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":"0x6080604052600c8054600160ff199182168117909255601e8054909116909117905534801561002d57600080fd5b5061177b8061003d6000396000f3fe608060405234801561001057600080fd5b50600436106102dd5760003560e01c80637b10399911610186578063aa3744bd116100e3578063d5bee9f511610097578063e20c9f7111610071578063e20c9f711461046e578063ef0d790f14610476578063fa7626d41461047e57600080fd5b8063d5bee9f514610456578063da4bf0871461045e578063dac4eb161461046657600080fd5b8063ba414fa6116100c8578063ba414fa61461042e578063d1e82b5814610446578063d1f2cd881461044e57600080fd5b8063aa3744bd1461041e578063b5508aa91461042657600080fd5b80638c7408c41161013a5780638e3c24931161011f5780638e3c249314610406578063916a17c61461040e578063a407c67a1461041657600080fd5b80638c7408c41461031d5780638e0d1a50146103fe57600080fd5b80637cbe79ed1161016b5780637cbe79ed146103e1578063829e423f1461031d57806385226c81146103e957600080fd5b80637b103999146103c35780637b2edf32146103d957600080fd5b80633f7286f41161023f57806366d9a9a0116101f357806374d9284e116101cd57806374d9284e1461031d578063759c9a86146103b357806379e62d0d146103bb57600080fd5b806366d9a9a01461038e5780636a38dd0a146103a357806370a32944146103ab57600080fd5b8063587c124311610224578063587c1243146103765780635aff59991461037e57806366d003ac1461038657600080fd5b80633f7286f4146103665780634bf4ba211461036e57600080fd5b80631b96dce6116102965780631ed7831c1161027b5780631ed7831c146103345780632ade3880146103495780633e5e3c231461035e57600080fd5b80631b96dce6146103245780631e7bcb2e1461032c57600080fd5b80630688b135116102c75780630688b1351461030f5780630f166ad414610317578063174eedde1461031d57600080fd5b8062b1fad7146102e2578063030e400614610307575b600080fd5b6102ea61048b565b6040516001600160a01b0390911681526020015b60405180910390f35b6102ea6104d0565b6102ea610510565b306102ea565b60006102ea565b6102ea610550565b6102ea610590565b61033c6105d0565b6040516102fe91906113dc565b610351610632565b6040516102fe9190611479565b61033c610774565b61033c6107d4565b61033c610834565b6102ea610857565b6102ea610897565b6102ea6108d7565b610396610917565b6040516102fe9190611539565b6102ea610a12565b61033c610a52565b6102ea610aea565b61033c610b2a565b601e5461010090046001600160a01b03166102ea565b6102ea610b92565b6102ea610bd2565b6103f1610c12565b6040516102fe9190611604565b6102ea610ce2565b6102ea610d22565b610396610d62565b61033c610e5d565b6102ea610ec5565b6103f1610f05565b610436610fd5565b60405190151581526020016102fe565b6102ea6110a9565b6102ea6110e9565b6102ea611129565b6102ea611169565b6102ea6111a9565b61033c6111e9565b6102ea611249565b601e546104369060ff1681565b60006104cb6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250611285565b905090565b60006104cb6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250611285565b60006104cb6040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250611285565b6060601680548060200260200160405190810160405280929190818152602001828054801561062857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161060a575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101561076b57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156107545783829060005260206000200180546106c790611666565b80601f01602080910402602001604051908101604052809291908181526020018280546106f390611666565b80156107405780601f1061071557610100808354040283529160200191610740565b820191906000526020600020905b81548152906001019060200180831161072357829003601f168201915b5050505050815260200190600101906106a8565b505050508152505081526020019060010190610656565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020018280548015610628576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161060a575050505050905090565b60606017805480602002602001604051908101604052809291908181526020018280548015610628576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161060a575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006104cb6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250611285565b60006104cb6040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250611285565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101561076b5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156109fa57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116109a75790505b5050505050815250508152602001906001019061093b565b60006104cb6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250611285565b60408051600280825260608083018452926000929190602083019080368337019050509050610a7f610590565b81600081518110610a9257610a926116a0565b60200260200101906001600160a01b031690816001600160a01b031681525050610aba610b92565b81600181518110610acd57610acd6116a0565b6001600160a01b0390921660209283029190910190910152919050565b60006104cb6040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250611285565b60408051600280825260608083018452926000929190602083019080368337019050509050610b5761048b565b81600081518110610b6a57610b6a6116a0565b60200260200101906001600160a01b031690816001600160a01b031681525050610aba610a12565b60006104cb6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250611285565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101561076b578382906000526020600020018054610c5590611666565b80601f0160208091040260200160405190810160405280929190818152602001828054610c8190611666565b8015610cce5780601f10610ca357610100808354040283529160200191610cce565b820191906000526020600020905b815481529060010190602001808311610cb157829003601f168201915b505050505081526020019060010190610c36565b60006104cb6040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250611285565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101561076b5760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610e4557602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610df25790505b50505050508152505081526020019060010190610d86565b60408051600280825260608083018452926000929190602083019080368337019050509050610e8a610857565b81600081518110610e9d57610e9d6116a0565b60200260200101906001600160a01b031690816001600160a01b031681525050610aba610d22565b60006104cb6040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250611285565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101561076b578382906000526020600020018054610f4890611666565b80601f0160208091040260200160405190810160405280929190818152602001828054610f7490611666565b8015610fc15780601f10610f9657610100808354040283529160200191610fc1565b820191906000526020600020905b815481529060010190602001808311610fa457829003601f168201915b505050505081526020019060010190610f29565b60085460009060ff1615610fed575060085460ff1690565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c65640000000000000000000000000000000000000000000000000000602483015260009163667f9d7090604401602060405180830381865afa15801561107e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a291906116b6565b1415905090565b60006104cb6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250611285565b60606015805480602002602001604051908101604052809291908181526020018280548015610628576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161060a575050505050905090565b60006104cb6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b600061129082611297565b5092915050565b600080826040516020016112ab91906116cf565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa15801561132c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135091906116eb565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c718906113a5908590879060040161171b565b600060405180830381600087803b1580156113bf57600080fd5b505af11580156113d3573d6000803e3d6000fd5b50505050915091565b6020808252825182820181905260009190848201906040850190845b8181101561141d5783516001600160a01b0316835292840192918401916001016113f8565b50909695505050505050565b60005b8381101561144457818101518382015260200161142c565b50506000910152565b60008151808452611465816020860160208601611429565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101561152957603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101561151357605f1989850301835261150184865161144d565b948e01949350918d01916001016114e5565b505050978a0197945050918801916001016114a0565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156115f557898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156115e05783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b019061159e565b50978a01979550505091870191600101611561565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561165957603f1988860301845261164785835161144d565b9450928501929085019060010161162b565b5092979650505050505050565b600181811c9082168061167a57607f821691505b60208210810361169a57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156116c857600080fd5b5051919050565b600082516116e1818460208701611429565b9190910192915050565b6000602082840312156116fd57600080fd5b81516001600160a01b038116811461171457600080fd5b9392505050565b6001600160a01b038316815260406020820152600061173d604083018461144d565b94935050505056fea2646970667358221220c2ffed589a9a5a4debdb856f7fb483ea7c0884a11967f18944ca955f0b199b3d64736f6c63430008130033","sourceMap":"393:304:47:-:0;;;3126:44:54;;;3166:4;-1:-1:-1;;3126:44:54;;;;;;;;1016:26:64;;;;;;;;;;;393:304:47;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106102dd5760003560e01c80637b10399911610186578063aa3744bd116100e3578063d5bee9f511610097578063e20c9f7111610071578063e20c9f711461046e578063ef0d790f14610476578063fa7626d41461047e57600080fd5b8063d5bee9f514610456578063da4bf0871461045e578063dac4eb161461046657600080fd5b8063ba414fa6116100c8578063ba414fa61461042e578063d1e82b5814610446578063d1f2cd881461044e57600080fd5b8063aa3744bd1461041e578063b5508aa91461042657600080fd5b80638c7408c41161013a5780638e3c24931161011f5780638e3c249314610406578063916a17c61461040e578063a407c67a1461041657600080fd5b80638c7408c41461031d5780638e0d1a50146103fe57600080fd5b80637cbe79ed1161016b5780637cbe79ed146103e1578063829e423f1461031d57806385226c81146103e957600080fd5b80637b103999146103c35780637b2edf32146103d957600080fd5b80633f7286f41161023f57806366d9a9a0116101f357806374d9284e116101cd57806374d9284e1461031d578063759c9a86146103b357806379e62d0d146103bb57600080fd5b806366d9a9a01461038e5780636a38dd0a146103a357806370a32944146103ab57600080fd5b8063587c124311610224578063587c1243146103765780635aff59991461037e57806366d003ac1461038657600080fd5b80633f7286f4146103665780634bf4ba211461036e57600080fd5b80631b96dce6116102965780631ed7831c1161027b5780631ed7831c146103345780632ade3880146103495780633e5e3c231461035e57600080fd5b80631b96dce6146103245780631e7bcb2e1461032c57600080fd5b80630688b135116102c75780630688b1351461030f5780630f166ad414610317578063174eedde1461031d57600080fd5b8062b1fad7146102e2578063030e400614610307575b600080fd5b6102ea61048b565b6040516001600160a01b0390911681526020015b60405180910390f35b6102ea6104d0565b6102ea610510565b306102ea565b60006102ea565b6102ea610550565b6102ea610590565b61033c6105d0565b6040516102fe91906113dc565b610351610632565b6040516102fe9190611479565b61033c610774565b61033c6107d4565b61033c610834565b6102ea610857565b6102ea610897565b6102ea6108d7565b610396610917565b6040516102fe9190611539565b6102ea610a12565b61033c610a52565b6102ea610aea565b61033c610b2a565b601e5461010090046001600160a01b03166102ea565b6102ea610b92565b6102ea610bd2565b6103f1610c12565b6040516102fe9190611604565b6102ea610ce2565b6102ea610d22565b610396610d62565b61033c610e5d565b6102ea610ec5565b6103f1610f05565b610436610fd5565b60405190151581526020016102fe565b6102ea6110a9565b6102ea6110e9565b6102ea611129565b6102ea611169565b6102ea6111a9565b61033c6111e9565b6102ea611249565b601e546104369060ff1681565b60006104cb6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250611285565b905090565b60006104cb6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250611285565b60006104cb6040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250611285565b6060601680548060200260200160405190810160405280929190818152602001828054801561062857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161060a575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101561076b57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156107545783829060005260206000200180546106c790611666565b80601f01602080910402602001604051908101604052809291908181526020018280546106f390611666565b80156107405780601f1061071557610100808354040283529160200191610740565b820191906000526020600020905b81548152906001019060200180831161072357829003601f168201915b5050505050815260200190600101906106a8565b505050508152505081526020019060010190610656565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020018280548015610628576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161060a575050505050905090565b60606017805480602002602001604051908101604052809291908181526020018280548015610628576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161060a575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006104cb6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250611285565b60006104cb6040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250611285565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101561076b5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156109fa57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116109a75790505b5050505050815250508152602001906001019061093b565b60006104cb6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250611285565b60408051600280825260608083018452926000929190602083019080368337019050509050610a7f610590565b81600081518110610a9257610a926116a0565b60200260200101906001600160a01b031690816001600160a01b031681525050610aba610b92565b81600181518110610acd57610acd6116a0565b6001600160a01b0390921660209283029190910190910152919050565b60006104cb6040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250611285565b60408051600280825260608083018452926000929190602083019080368337019050509050610b5761048b565b81600081518110610b6a57610b6a6116a0565b60200260200101906001600160a01b031690816001600160a01b031681525050610aba610a12565b60006104cb6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250611285565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101561076b578382906000526020600020018054610c5590611666565b80601f0160208091040260200160405190810160405280929190818152602001828054610c8190611666565b8015610cce5780601f10610ca357610100808354040283529160200191610cce565b820191906000526020600020905b815481529060010190602001808311610cb157829003601f168201915b505050505081526020019060010190610c36565b60006104cb6040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250611285565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101561076b5760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610e4557602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610df25790505b50505050508152505081526020019060010190610d86565b60408051600280825260608083018452926000929190602083019080368337019050509050610e8a610857565b81600081518110610e9d57610e9d6116a0565b60200260200101906001600160a01b031690816001600160a01b031681525050610aba610d22565b60006104cb6040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250611285565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101561076b578382906000526020600020018054610f4890611666565b80601f0160208091040260200160405190810160405280929190818152602001828054610f7490611666565b8015610fc15780601f10610f9657610100808354040283529160200191610fc1565b820191906000526020600020905b815481529060010190602001808311610fa457829003601f168201915b505050505081526020019060010190610f29565b60085460009060ff1615610fed575060085460ff1690565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c65640000000000000000000000000000000000000000000000000000602483015260009163667f9d7090604401602060405180830381865afa15801561107e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a291906116b6565b1415905090565b60006104cb6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250611285565b60606015805480602002602001604051908101604052809291908181526020018280548015610628576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161060a575050505050905090565b60006104cb6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b600061129082611297565b5092915050565b600080826040516020016112ab91906116cf565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa15801561132c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135091906116eb565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c718906113a5908590879060040161171b565b600060405180830381600087803b1580156113bf57600080fd5b505af11580156113d3573d6000803e3d6000fd5b50505050915091565b6020808252825182820181905260009190848201906040850190845b8181101561141d5783516001600160a01b0316835292840192918401916001016113f8565b50909695505050505050565b60005b8381101561144457818101518382015260200161142c565b50506000910152565b60008151808452611465816020860160208601611429565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101561152957603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101561151357605f1989850301835261150184865161144d565b948e01949350918d01916001016114e5565b505050978a0197945050918801916001016114a0565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156115f557898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156115e05783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b019061159e565b50978a01979550505091870191600101611561565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561165957603f1988860301845261164785835161144d565b9450928501929085019060010161162b565b5092979650505050505050565b600181811c9082168061167a57607f821691505b60208210810361169a57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156116c857600080fd5b5051919050565b600082516116e1818460208701611429565b9190910192915050565b6000602082840312156116fd57600080fd5b81516001600160a01b038116811461171457600080fd5b9392505050565b6001600160a01b038316815260406020820152600061173d604083018461144d565b94935050505056fea2646970667358221220c2ffed589a9a5a4debdb856f7fb483ea7c0884a11967f18944ca955f0b199b3d64736f6c63430008130033","sourceMap":"393:304:47:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:45;;;:::i;:::-;;;-1:-1:-1;;;;;178:55:125;;;160:74;;148:2;133:18;1763:107:45;;;;;;;;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:57:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;3221:133::-;;;:::i;2922:141::-;;;:::i;1331:118:45:-;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;4152:99::-;;;:::i;2738:178:57:-;;;:::i;:::-;;;;;;;:::i;1876:107:45:-;;;:::i;2792:241::-;;;:::i;4376:105::-;;;:::i;1989:232::-;;;:::i;610:85:47:-;678:10;;;;;-1:-1:-1;;;;;678:10:47;610:85;;2673:113:45;;;:::i;439:101::-;;;:::i;2592:140:57:-;;;:::i;:::-;;;;;;;:::i;1537:101:45:-;;;:::i;3485:113::-;;;:::i;3069:146:57:-;;;:::i;3604:241:45:-;;;:::i;3938:101::-;;;:::i;2157:141:57:-;;;:::i;1243:204:53:-;;;:::i;:::-;;;6098:14:125;;6091:22;6073:41;;6061:2;6046:18;1243:204:53;5933:187:125;1644:113:45;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;546:124::-;;;:::i;324:109::-;;;:::i;2304:142:57:-;;;:::i;3241:119:45:-;;;:::i;1016:26:64:-;;;;;;;;;1763:107:45;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:57:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:57;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;3221:133::-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:57;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:57;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;1331:118:45:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:45;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:57:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:45;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:45;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:45;;;-1:-1:-1;;;;;2926:32:45;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:45;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:45: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:45;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:45;;;-1:-1:-1;;;;;2120:29:45;;;;;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:57:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1537:101:45;1583:7;1609:22;;;;;;;;;;;;;;;;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;;;;;:8;:28::i;3069:146:57:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3604:241:45;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:45;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:45;;;-1:-1:-1;;;;;3738:32:45;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;;;;;:8;:22::i;2157:141:57:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1243:204:53;1302:7;;1282:4;;1302:7;;1298:143;;;-1:-1:-1;1332:7:53;;;;;1243:204::o;1298:143::-;1377:39;;;;;:7;:39;;;7366:74:125;;;1398:17:53;7456:18:125;;;7449:34;1428:1:53;;1377:7;;7339:18:125;;1377:39:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;1370:60;;1243:204;:::o;1644:113:45:-;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:57:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:57;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3241:119:45:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:55;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:55;20439:125;-1:-1:-1;;20439:125:55:o;20158:242::-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:55;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;8123:25:125;;;20293:33:55;-1:-1:-1;20344:7:55;;;;8096:18:125;;20344:19:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;;;;20337:26;;-1:-1:-1;20373:8:55;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;245:681:125:-;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:125;745:75;;875:15;;;;840:12;;;;718:1;711:9;682:218;;;-1:-1:-1;917:3:125;;245:681;-1:-1:-1;;;;;;245:681:125: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:125;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:125;1405:39;;;;1446:4;1401:50;;1186:271;-1:-1:-1;;1186:271:125: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:125;;;2169:36;2157:49;;2229:13;;2316:9;;-1:-1:-1;;;;;2312:58:125;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:125;;;;2839:1;2830:11;2795:296;;;-1:-1:-1;;;3178:12:125;;;;3114:6;-1:-1:-1;;3143:15:125;;;;2130:1;2121:11;2088:1112;;;-1:-1:-1;3217:6:125;;1462:1767;-1:-1:-1;;;;;;;;;;1462:1767:125: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:125;3906:49;;3978:13;;4065:9;;-1:-1:-1;;;;;4061:58:125;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:125;;;;4758:5;-1:-1:-1;;;4786:15:125;;;;3879:1;3870:11;3837:1006;;;-1:-1:-1;4860:6:125;;3234:1638;-1:-1:-1;;;;;;;;;3234:1638:125: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:125;;;;5842:15;;;;5680:1;5673:9;5644:255;;;-1:-1:-1;5916:6:125;;5125:803;-1:-1:-1;;;;;;;5125:803:125: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:125;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:125;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:125;;7494:184;-1:-1:-1;7494:184:125: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:125: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:125;8369:54;8362:5;8359:65;8349:93;;8438:1;8435;8428:12;8349:93;8461:5;8159:313;-1:-1:-1;;;8159:313:125:o;8477:340::-;-1:-1:-1;;;;;8658:6:125;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:125: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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"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/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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"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/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},"id":47} \ 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":"0x6080604052600c8054600160ff199182168117909255601e8054909116909117905534801561002d57600080fd5b5061177b8061003d6000396000f3fe608060405234801561001057600080fd5b50600436106102dd5760003560e01c80637b10399911610186578063aa3744bd116100e3578063d5bee9f511610097578063e20c9f7111610071578063e20c9f711461046e578063ef0d790f14610476578063fa7626d41461047e57600080fd5b8063d5bee9f514610456578063da4bf0871461045e578063dac4eb161461046657600080fd5b8063ba414fa6116100c8578063ba414fa61461042e578063d1e82b5814610446578063d1f2cd881461044e57600080fd5b8063aa3744bd1461041e578063b5508aa91461042657600080fd5b80638c7408c41161013a5780638e3c24931161011f5780638e3c249314610406578063916a17c61461040e578063a407c67a1461041657600080fd5b80638c7408c41461031d5780638e0d1a50146103fe57600080fd5b80637cbe79ed1161016b5780637cbe79ed146103e1578063829e423f1461031d57806385226c81146103e957600080fd5b80637b103999146103c35780637b2edf32146103d957600080fd5b80633f7286f41161023f57806366d9a9a0116101f357806374d9284e116101cd57806374d9284e1461031d578063759c9a86146103b357806379e62d0d146103bb57600080fd5b806366d9a9a01461038e5780636a38dd0a146103a357806370a32944146103ab57600080fd5b8063587c124311610224578063587c1243146103765780635aff59991461037e57806366d003ac1461038657600080fd5b80633f7286f4146103665780634bf4ba211461036e57600080fd5b80631b96dce6116102965780631ed7831c1161027b5780631ed7831c146103345780632ade3880146103495780633e5e3c231461035e57600080fd5b80631b96dce6146103245780631e7bcb2e1461032c57600080fd5b80630688b135116102c75780630688b1351461030f5780630f166ad414610317578063174eedde1461031d57600080fd5b8062b1fad7146102e2578063030e400614610307575b600080fd5b6102ea61048b565b6040516001600160a01b0390911681526020015b60405180910390f35b6102ea6104d0565b6102ea610510565b306102ea565b60006102ea565b6102ea610550565b6102ea610590565b61033c6105d0565b6040516102fe91906113dc565b610351610632565b6040516102fe9190611479565b61033c610774565b61033c6107d4565b61033c610834565b6102ea610857565b6102ea610897565b6102ea6108d7565b610396610917565b6040516102fe9190611539565b6102ea610a12565b61033c610a52565b6102ea610aea565b61033c610b2a565b601e5461010090046001600160a01b03166102ea565b6102ea610b92565b6102ea610bd2565b6103f1610c12565b6040516102fe9190611604565b6102ea610ce2565b6102ea610d22565b610396610d62565b61033c610e5d565b6102ea610ec5565b6103f1610f05565b610436610fd5565b60405190151581526020016102fe565b6102ea6110a9565b6102ea6110e9565b6102ea611129565b6102ea611169565b6102ea6111a9565b61033c6111e9565b6102ea611249565b601e546104369060ff1681565b60006104cb6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250611285565b905090565b60006104cb6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250611285565b60006104cb6040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250611285565b6060601680548060200260200160405190810160405280929190818152602001828054801561062857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161060a575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101561076b57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156107545783829060005260206000200180546106c790611666565b80601f01602080910402602001604051908101604052809291908181526020018280546106f390611666565b80156107405780601f1061071557610100808354040283529160200191610740565b820191906000526020600020905b81548152906001019060200180831161072357829003601f168201915b5050505050815260200190600101906106a8565b505050508152505081526020019060010190610656565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020018280548015610628576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161060a575050505050905090565b60606017805480602002602001604051908101604052809291908181526020018280548015610628576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161060a575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006104cb6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250611285565b60006104cb6040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250611285565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101561076b5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156109fa57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116109a75790505b5050505050815250508152602001906001019061093b565b60006104cb6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250611285565b60408051600280825260608083018452926000929190602083019080368337019050509050610a7f610590565b81600081518110610a9257610a926116a0565b60200260200101906001600160a01b031690816001600160a01b031681525050610aba610b92565b81600181518110610acd57610acd6116a0565b6001600160a01b0390921660209283029190910190910152919050565b60006104cb6040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250611285565b60408051600280825260608083018452926000929190602083019080368337019050509050610b5761048b565b81600081518110610b6a57610b6a6116a0565b60200260200101906001600160a01b031690816001600160a01b031681525050610aba610a12565b60006104cb6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250611285565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101561076b578382906000526020600020018054610c5590611666565b80601f0160208091040260200160405190810160405280929190818152602001828054610c8190611666565b8015610cce5780601f10610ca357610100808354040283529160200191610cce565b820191906000526020600020905b815481529060010190602001808311610cb157829003601f168201915b505050505081526020019060010190610c36565b60006104cb6040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250611285565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101561076b5760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610e4557602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610df25790505b50505050508152505081526020019060010190610d86565b60408051600280825260608083018452926000929190602083019080368337019050509050610e8a610857565b81600081518110610e9d57610e9d6116a0565b60200260200101906001600160a01b031690816001600160a01b031681525050610aba610d22565b60006104cb6040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250611285565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101561076b578382906000526020600020018054610f4890611666565b80601f0160208091040260200160405190810160405280929190818152602001828054610f7490611666565b8015610fc15780601f10610f9657610100808354040283529160200191610fc1565b820191906000526020600020905b815481529060010190602001808311610fa457829003601f168201915b505050505081526020019060010190610f29565b60085460009060ff1615610fed575060085460ff1690565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c65640000000000000000000000000000000000000000000000000000602483015260009163667f9d7090604401602060405180830381865afa15801561107e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a291906116b6565b1415905090565b60006104cb6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250611285565b60606015805480602002602001604051908101604052809291908181526020018280548015610628576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161060a575050505050905090565b60006104cb6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b600061129082611297565b5092915050565b600080826040516020016112ab91906116cf565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa15801561132c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135091906116eb565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c718906113a5908590879060040161171b565b600060405180830381600087803b1580156113bf57600080fd5b505af11580156113d3573d6000803e3d6000fd5b50505050915091565b6020808252825182820181905260009190848201906040850190845b8181101561141d5783516001600160a01b0316835292840192918401916001016113f8565b50909695505050505050565b60005b8381101561144457818101518382015260200161142c565b50506000910152565b60008151808452611465816020860160208601611429565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101561152957603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101561151357605f1989850301835261150184865161144d565b948e01949350918d01916001016114e5565b505050978a0197945050918801916001016114a0565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156115f557898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156115e05783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b019061159e565b50978a01979550505091870191600101611561565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561165957603f1988860301845261164785835161144d565b9450928501929085019060010161162b565b5092979650505050505050565b600181811c9082168061167a57607f821691505b60208210810361169a57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156116c857600080fd5b5051919050565b600082516116e1818460208701611429565b9190910192915050565b6000602082840312156116fd57600080fd5b81516001600160a01b038116811461171457600080fd5b9392505050565b6001600160a01b038316815260406020820152600061173d604083018461144d565b94935050505056fea26469706673582212203920d71dccae0f03111c2b1e585a57c7d8bae2178c4f54fe89ba999399016bc564736f6c63430008130033","sourceMap":"393:304:31:-:0;;;3126:44:38;;;3166:4;-1:-1:-1;;3126:44:38;;;;;;;;1016:26:48;;;;;;;;;;;393:304:31;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106102dd5760003560e01c80637b10399911610186578063aa3744bd116100e3578063d5bee9f511610097578063e20c9f7111610071578063e20c9f711461046e578063ef0d790f14610476578063fa7626d41461047e57600080fd5b8063d5bee9f514610456578063da4bf0871461045e578063dac4eb161461046657600080fd5b8063ba414fa6116100c8578063ba414fa61461042e578063d1e82b5814610446578063d1f2cd881461044e57600080fd5b8063aa3744bd1461041e578063b5508aa91461042657600080fd5b80638c7408c41161013a5780638e3c24931161011f5780638e3c249314610406578063916a17c61461040e578063a407c67a1461041657600080fd5b80638c7408c41461031d5780638e0d1a50146103fe57600080fd5b80637cbe79ed1161016b5780637cbe79ed146103e1578063829e423f1461031d57806385226c81146103e957600080fd5b80637b103999146103c35780637b2edf32146103d957600080fd5b80633f7286f41161023f57806366d9a9a0116101f357806374d9284e116101cd57806374d9284e1461031d578063759c9a86146103b357806379e62d0d146103bb57600080fd5b806366d9a9a01461038e5780636a38dd0a146103a357806370a32944146103ab57600080fd5b8063587c124311610224578063587c1243146103765780635aff59991461037e57806366d003ac1461038657600080fd5b80633f7286f4146103665780634bf4ba211461036e57600080fd5b80631b96dce6116102965780631ed7831c1161027b5780631ed7831c146103345780632ade3880146103495780633e5e3c231461035e57600080fd5b80631b96dce6146103245780631e7bcb2e1461032c57600080fd5b80630688b135116102c75780630688b1351461030f5780630f166ad414610317578063174eedde1461031d57600080fd5b8062b1fad7146102e2578063030e400614610307575b600080fd5b6102ea61048b565b6040516001600160a01b0390911681526020015b60405180910390f35b6102ea6104d0565b6102ea610510565b306102ea565b60006102ea565b6102ea610550565b6102ea610590565b61033c6105d0565b6040516102fe91906113dc565b610351610632565b6040516102fe9190611479565b61033c610774565b61033c6107d4565b61033c610834565b6102ea610857565b6102ea610897565b6102ea6108d7565b610396610917565b6040516102fe9190611539565b6102ea610a12565b61033c610a52565b6102ea610aea565b61033c610b2a565b601e5461010090046001600160a01b03166102ea565b6102ea610b92565b6102ea610bd2565b6103f1610c12565b6040516102fe9190611604565b6102ea610ce2565b6102ea610d22565b610396610d62565b61033c610e5d565b6102ea610ec5565b6103f1610f05565b610436610fd5565b60405190151581526020016102fe565b6102ea6110a9565b6102ea6110e9565b6102ea611129565b6102ea611169565b6102ea6111a9565b61033c6111e9565b6102ea611249565b601e546104369060ff1681565b60006104cb6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250611285565b905090565b60006104cb6040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250611285565b60006104cb6040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250611285565b6060601680548060200260200160405190810160405280929190818152602001828054801561062857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161060a575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101561076b57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156107545783829060005260206000200180546106c790611666565b80601f01602080910402602001604051908101604052809291908181526020018280546106f390611666565b80156107405780601f1061071557610100808354040283529160200191610740565b820191906000526020600020905b81548152906001019060200180831161072357829003601f168201915b5050505050815260200190600101906106a8565b505050508152505081526020019060010190610656565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020018280548015610628576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161060a575050505050905090565b60606017805480602002602001604051908101604052809291908181526020018280548015610628576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161060a575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006104cb6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250611285565b60006104cb6040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250611285565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101561076b5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156109fa57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116109a75790505b5050505050815250508152602001906001019061093b565b60006104cb6040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250611285565b60408051600280825260608083018452926000929190602083019080368337019050509050610a7f610590565b81600081518110610a9257610a926116a0565b60200260200101906001600160a01b031690816001600160a01b031681525050610aba610b92565b81600181518110610acd57610acd6116a0565b6001600160a01b0390921660209283029190910190910152919050565b60006104cb6040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250611285565b60408051600280825260608083018452926000929190602083019080368337019050509050610b5761048b565b81600081518110610b6a57610b6a6116a0565b60200260200101906001600160a01b031690816001600160a01b031681525050610aba610a12565b60006104cb6040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250611285565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101561076b578382906000526020600020018054610c5590611666565b80601f0160208091040260200160405190810160405280929190818152602001828054610c8190611666565b8015610cce5780601f10610ca357610100808354040283529160200191610cce565b820191906000526020600020905b815481529060010190602001808311610cb157829003601f168201915b505050505081526020019060010190610c36565b60006104cb6040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250611285565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101561076b5760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610e4557602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610df25790505b50505050508152505081526020019060010190610d86565b60408051600280825260608083018452926000929190602083019080368337019050509050610e8a610857565b81600081518110610e9d57610e9d6116a0565b60200260200101906001600160a01b031690816001600160a01b031681525050610aba610d22565b60006104cb6040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250611285565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101561076b578382906000526020600020018054610f4890611666565b80601f0160208091040260200160405190810160405280929190818152602001828054610f7490611666565b8015610fc15780601f10610f9657610100808354040283529160200191610fc1565b820191906000526020600020905b815481529060010190602001808311610fa457829003601f168201915b505050505081526020019060010190610f29565b60085460009060ff1615610fed575060085460ff1690565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c65640000000000000000000000000000000000000000000000000000602483015260009163667f9d7090604401602060405180830381865afa15801561107e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a291906116b6565b1415905090565b60006104cb6040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250611285565b60006104cb6040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250611285565b60606015805480602002602001604051908101604052809291908181526020018280548015610628576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161060a575050505050905090565b60006104cb6040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b600061129082611297565b5092915050565b600080826040516020016112ab91906116cf565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa15801561132c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135091906116eb565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c718906113a5908590879060040161171b565b600060405180830381600087803b1580156113bf57600080fd5b505af11580156113d3573d6000803e3d6000fd5b50505050915091565b6020808252825182820181905260009190848201906040850190845b8181101561141d5783516001600160a01b0316835292840192918401916001016113f8565b50909695505050505050565b60005b8381101561144457818101518382015260200161142c565b50506000910152565b60008151808452611465816020860160208601611429565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b8581101561152957603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b8181101561151357605f1989850301835261150184865161144d565b948e01949350918d01916001016114e5565b505050978a0197945050918801916001016114a0565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b848110156115f557898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156115e05783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b019061159e565b50978a01979550505091870191600101611561565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561165957603f1988860301845261164785835161144d565b9450928501929085019060010161162b565b5092979650505050505050565b600181811c9082168061167a57607f821691505b60208210810361169a57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156116c857600080fd5b5051919050565b600082516116e1818460208701611429565b9190910192915050565b6000602082840312156116fd57600080fd5b81516001600160a01b038116811461171457600080fd5b9392505050565b6001600160a01b038316815260406020820152600061173d604083018461144d565b94935050505056fea26469706673582212203920d71dccae0f03111c2b1e585a57c7d8bae2178c4f54fe89ba999399016bc564736f6c63430008130033","sourceMap":"393:304:31:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:29;;;:::i;:::-;;;-1:-1:-1;;;;;178:55:128;;;160:74;;148:2;133:18;1763:107:29;;;;;;;;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:41:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;3221:133::-;;;:::i;2922:141::-;;;:::i;1331:118:29:-;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;4152:99::-;;;:::i;2738:178:41:-;;;:::i;:::-;;;;;;;:::i;1876:107:29:-;;;:::i;2792:241::-;;;:::i;4376:105::-;;;:::i;1989:232::-;;;:::i;610:85:31:-;678:10;;;;;-1:-1:-1;;;;;678:10:31;610:85;;2673:113:29;;;:::i;439:101::-;;;:::i;2592:140:41:-;;;:::i;:::-;;;;;;;:::i;1537:101:29:-;;;:::i;3485:113::-;;;:::i;3069:146:41:-;;;:::i;3604:241:29:-;;;:::i;3938:101::-;;;:::i;2157:141:41:-;;;:::i;1243:204:37:-;;;:::i;:::-;;;6098:14:128;;6091:22;6073:41;;6061:2;6046:18;1243:204:37;5933:187:128;1644:113:29;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;546:124::-;;;:::i;324:109::-;;;:::i;2304:142:41:-;;;:::i;3241:119:29:-;;;:::i;1016:26:48:-;;;;;;;;;1763:107:29;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:41:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:41;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;3221:133::-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:41;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:41;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;1331:118:29:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:29;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:41:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:29;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:29;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:29;;;-1:-1:-1;;;;;2926:32:29;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:29;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:29: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:29;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:29;;;-1:-1:-1;;;;;2120:29:29;;;;;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:41:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1537:101:29;1583:7;1609:22;;;;;;;;;;;;;;;;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;;;;;:8;:28::i;3069:146:41:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3604:241:29;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:29;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:29;;;-1:-1:-1;;;;;3738:32:29;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;;;;;:8;:22::i;2157:141:41:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1243:204:37;1302:7;;1282:4;;1302:7;;1298:143;;;-1:-1:-1;1332:7:37;;;;;1243:204::o;1298:143::-;1377:39;;;;;:7;:39;;;7366:74:128;;;1398:17:37;7456:18:128;;;7449:34;1428:1:37;;1377:7;;7339:18:128;;1377:39:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;1370:60;;1243:204;:::o;1644:113:29:-;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:41:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:41;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3241:119:29:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:39;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:39;20439:125;-1:-1:-1;;20439:125:39:o;20158:242::-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:39;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;8123:25:128;;;20293:33:39;-1:-1:-1;20344:7:39;;;;8096:18:128;;20344:19:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;;;;20337:26;;-1:-1:-1;20373:8:39;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;245:681:128:-;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:128;745:75;;875:15;;;;840:12;;;;718:1;711:9;682:218;;;-1:-1:-1;917:3:128;;245:681;-1:-1:-1;;;;;;245:681:128: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:128;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:128;1405:39;;;;1446:4;1401:50;;1186:271;-1:-1:-1;;1186:271:128: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:128;;;2169:36;2157:49;;2229:13;;2316:9;;-1:-1:-1;;;;;2312:58:128;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:128;;;;2839:1;2830:11;2795:296;;;-1:-1:-1;;;3178:12:128;;;;3114:6;-1:-1:-1;;3143:15:128;;;;2130:1;2121:11;2088:1112;;;-1:-1:-1;3217:6:128;;1462:1767;-1:-1:-1;;;;;;;;;;1462:1767:128: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:128;3906:49;;3978:13;;4065:9;;-1:-1:-1;;;;;4061:58:128;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:128;;;;4758:5;-1:-1:-1;;;4786:15:128;;;;3879:1;3870:11;3837:1006;;;-1:-1:-1;4860:6:128;;3234:1638;-1:-1:-1;;;;;;;;;3234:1638:128: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:128;;;;5842:15;;;;5680:1;5673:9;5644:255;;;-1:-1:-1;5916:6:128;;5125:803;-1:-1:-1;;;;;;;5125:803:128: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:128;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:128;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:128;;7494:184;-1:-1:-1;7494:184:128: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:128: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:128;8369:54;8362:5;8359:65;8349:93;;8438:1;8435;8428:12;8349:93;8461:5;8159:313;-1:-1:-1;;;8159:313:128:o;8477:340::-;-1:-1:-1;;;;;8658:6:128;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:128: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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"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/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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"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/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},"id":31} \ 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 eba85fdac..159628159 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":"0x6080604052600c8054600160ff199182168117909255601e8054909116909117905534801561002d57600080fd5b506118128061003d6000396000f3fe608060405234801561001057600080fd5b506004361061031f5760003560e01c806379e62d0d116101a7578063b5508aa9116100ee578063da4bf08711610097578063ef0d790f11610071578063ef0d790f14610505578063fa7626d41461050d578063fd325c601461051a57600080fd5b8063da4bf087146104ed578063dac4eb16146104f5578063e20c9f71146104fd57600080fd5b8063d1e82b58116100c8578063d1e82b58146104d5578063d1f2cd88146104dd578063d5bee9f5146104e557600080fd5b8063b5508aa9146104a4578063ba414fa6146104ac578063c5d7d73b146104c457600080fd5b80638c7408c411610150578063916a17c61161012a578063916a17c61461048c578063a407c67a14610494578063aa3744bd1461049c57600080fd5b80638c7408c41461035f5780638e0d1a501461047c5780638e3c24931461048457600080fd5b80637cbe79ed116101815780637cbe79ed1461045f578063829e423f1461035f57806385226c811461046757600080fd5b806379e62d0d146104395780637b103999146104415780637b2edf321461045757600080fd5b806339f56f7f1161026b57806366d003ac1161021457806370a32944116101ee57806370a329441461042957806374d9284e1461035f578063759c9a861461043157600080fd5b806366d003ac1461040457806366d9a9a01461040c5780636a38dd0a1461042157600080fd5b80634bf4ba21116102455780634bf4ba21146103ec578063587c1243146103f45780635aff5999146103fc57600080fd5b806339f56f7f146103d45780633e5e3c23146103dc5780633f7286f4146103e457600080fd5b806318540361116102cd5780631ed7831c116102a75780631ed7831c146103995780632ade3880146103ae5780633554642a146103c357600080fd5b806318540361146103775780631b96dce6146103895780631e7bcb2e1461039157600080fd5b80630f166ad4116102fe5780630f166ad414610359578063174eedde1461035f578063176effb31461036657600080fd5b8062b1fad714610324578063030e4006146103495780630688b13514610351575b600080fd5b61032c610522565b6040516001600160a01b0390911681526020015b60405180910390f35b61032c610567565b61032c6105a7565b3061032c565b600061032c565b6020546001600160a01b031661032c565b6023545b604051908152602001610340565b61032c6105e7565b61032c610627565b6103a1610667565b6040516103409190611473565b6103b66106c9565b6040516103409190611510565b6024546001600160a01b031661032c565b60215461037b565b6103a161080b565b6103a161086b565b6103a16108cb565b61032c6108ee565b61032c61092e565b61032c61096e565b6104146109ae565b60405161034091906115d0565b61032c610aa9565b6103a1610ae9565b61032c610b81565b6103a1610bc1565b601e5461010090046001600160a01b031661032c565b61032c610c29565b61032c610c69565b61046f610ca9565b604051610340919061169b565b61032c610d79565b61032c610db9565b610414610df9565b6103a1610ef4565b61032c610f5c565b61046f610f9c565b6104b461106c565b6040519015158152602001610340565b6022546001600160a01b031661032c565b61032c611140565b61032c611180565b61032c6111c0565b61032c611200565b61032c611240565b6103a1611280565b61032c6112e0565b601e546104b49060ff1681565b601f5461037b565b60006105626040518060400160405280600d81526020017f706f6f6c5f6d616e61676572310000000000000000000000000000000000000081525061131c565b905090565b60006105626040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d6265720000000000000000000000000081525061131c565b60006105626040518060400160405280600a81526020017f726563697069656e74320000000000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600e81526020017f70726f66696c65325f6f776e657200000000000000000000000000000000000081525061131c565b60006105626040518060400160405280601081526020017f70726f66696c65315f6d656d626572310000000000000000000000000000000081525061131c565b606060168054806020026020016040519081016040528092919081815260200182805480156106bf57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116106a1575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101561080257600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156107eb57838290600052602060002001805461075e906116fd565b80601f016020809104026020016040519081016040528092919081815260200182805461078a906116fd565b80156107d75780601f106107ac576101008083540402835291602001916107d7565b820191906000526020600020905b8154815290600101906020018083116107ba57829003601f168201915b50505050508152602001906001019061073f565b5050505081525050815260200190600101906106ed565b50505050905090565b606060188054806020026020016040519081016040528092919081815260200182805480156106bf576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116106a1575050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156106bf576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116106a1575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006105626040518060400160405280601081526020017f70726f66696c65325f6d656d626572310000000000000000000000000000000081525061131c565b60006105626040518060400160405280601081526020017f726563697069656e74416464726573730000000000000000000000000000000081525061131c565b60006105626040518060400160405280600981526020017f726563697069656e74000000000000000000000000000000000000000000000081525061131c565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156108025760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610a9157602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610a3e5790505b505050505081525050815260200190600101906109d2565b60006105626040518060400160405280600d81526020017f706f6f6c5f6d616e61676572320000000000000000000000000000000000000081525061131c565b60408051600280825260608083018452926000929190602083019080368337019050509050610b16610627565b81600081518110610b2957610b29611737565b60200260200101906001600160a01b031690816001600160a01b031681525050610b51610c29565b81600181518110610b6457610b64611737565b6001600160a01b0390921660209283029190910190910152919050565b60006105626040518060400160405280600c81526020017f6e6f5f726563697069656e74000000000000000000000000000000000000000081525061131c565b60408051600280825260608083018452926000929190602083019080368337019050509050610bee610522565b81600081518110610c0157610c01611737565b60200260200101906001600160a01b031690816001600160a01b031681525050610b51610aa9565b60006105626040518060400160405280601081526020017f70726f66696c65315f6d656d626572320000000000000000000000000000000081525061131c565b60006105626040518060400160405280600a81526020017f616c6c6f5f6f776e65720000000000000000000000000000000000000000000081525061131c565b6060601a805480602002602001604051908101604052809291908181526020016000905b82821015610802578382906000526020600020018054610cec906116fd565b80601f0160208091040260200160405190810160405280929190818152602001828054610d18906116fd565b8015610d655780601f10610d3a57610100808354040283529160200191610d65565b820191906000526020600020905b815481529060010190602001808311610d4857829003601f168201915b505050505081526020019060010190610ccd565b60006105626040518060400160405280600a81526020017f706f6f6c5f61646d696e0000000000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280601081526020017f70726f66696c65325f6d656d626572320000000000000000000000000000000081525061131c565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156108025760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610edc57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610e895790505b50505050508152505081526020019060010190610e1d565b60408051600280825260608083018452926000929190602083019080368337019050509050610f216108ee565b81600081518110610f3457610f34611737565b60200260200101906001600160a01b031690816001600160a01b031681525050610b51610db9565b60006105626040518060400160405280600a81526020017f726563697069656e74310000000000000000000000000000000000000000000081525061131c565b60606019805480602002602001604051908101604052809291908181526020016000905b82821015610802578382906000526020600020018054610fdf906116fd565b80601f016020809104026020016040519081016040528092919081815260200182805461100b906116fd565b80156110585780601f1061102d57610100808354040283529160200191611058565b820191906000526020600020905b81548152906001019060200180831161103b57829003601f168201915b505050505081526020019060010190610fc0565b60085460009060ff1615611084575060085460ff1690565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c65640000000000000000000000000000000000000000000000000000602483015260009163667f9d7090604401602060405180830381865afa158015611115573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611139919061174d565b1415905090565b60006105626040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e616765720000000000000000000000000000000081525061131c565b60006105626040518060400160405280600e81526020017f70726f66696c65315f6f776e657200000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600b81526020017f72616e646f6d206368616400000000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600d81526020017f616c6c6f5f74726561737572790000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600e81526020017f72656769737472795f6f776e657200000000000000000000000000000000000081525061131c565b606060158054806020026020016040519081016040528092919081815260200182805480156106bf576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116106a1575050505050905090565b60006105626040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006113278261132e565b5092915050565b600080826040516020016113429190611766565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156113c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e79190611782565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061143c90859087906004016117b2565b600060405180830381600087803b15801561145657600080fd5b505af115801561146a573d6000803e3d6000fd5b50505050915091565b6020808252825182820181905260009190848201906040850190845b818110156114b45783516001600160a01b03168352928401929184019160010161148f565b50909695505050505050565b60005b838110156114db5781810151838201526020016114c3565b50506000910152565b600081518084526114fc8160208601602086016114c0565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b858110156115c057603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156115aa57605f198985030183526115988486516114e4565b948e01949350918d019160010161157c565b505050978a019794505091880191600101611537565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561168c57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156116775783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b0190611635565b50978a019795505050918701916001016115f8565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156116f057603f198886030184526116de8583516114e4565b945092850192908501906001016116c2565b5092979650505050505050565b600181811c9082168061171157607f821691505b60208210810361173157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561175f57600080fd5b5051919050565b600082516117788184602087016114c0565b9190910192915050565b60006020828403121561179457600080fd5b81516001600160a01b03811681146117ab57600080fd5b9392505050565b6001600160a01b03831681526040602082015260006117d460408301846114e4565b94935050505056fea2646970667358221220f42b18917d12db2b1cb9bc8637a64748b5918ec2cf1b20afcf0e465b64a1833e64736f6c63430008130033","sourceMap":"833:2031:47:-:0;;;3126:44:54;;;3166:4;-1:-1:-1;;3126:44:54;;;;;;;;1016:26:64;;;;;;;;;;;833:2031:47;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061031f5760003560e01c806379e62d0d116101a7578063b5508aa9116100ee578063da4bf08711610097578063ef0d790f11610071578063ef0d790f14610505578063fa7626d41461050d578063fd325c601461051a57600080fd5b8063da4bf087146104ed578063dac4eb16146104f5578063e20c9f71146104fd57600080fd5b8063d1e82b58116100c8578063d1e82b58146104d5578063d1f2cd88146104dd578063d5bee9f5146104e557600080fd5b8063b5508aa9146104a4578063ba414fa6146104ac578063c5d7d73b146104c457600080fd5b80638c7408c411610150578063916a17c61161012a578063916a17c61461048c578063a407c67a14610494578063aa3744bd1461049c57600080fd5b80638c7408c41461035f5780638e0d1a501461047c5780638e3c24931461048457600080fd5b80637cbe79ed116101815780637cbe79ed1461045f578063829e423f1461035f57806385226c811461046757600080fd5b806379e62d0d146104395780637b103999146104415780637b2edf321461045757600080fd5b806339f56f7f1161026b57806366d003ac1161021457806370a32944116101ee57806370a329441461042957806374d9284e1461035f578063759c9a861461043157600080fd5b806366d003ac1461040457806366d9a9a01461040c5780636a38dd0a1461042157600080fd5b80634bf4ba21116102455780634bf4ba21146103ec578063587c1243146103f45780635aff5999146103fc57600080fd5b806339f56f7f146103d45780633e5e3c23146103dc5780633f7286f4146103e457600080fd5b806318540361116102cd5780631ed7831c116102a75780631ed7831c146103995780632ade3880146103ae5780633554642a146103c357600080fd5b806318540361146103775780631b96dce6146103895780631e7bcb2e1461039157600080fd5b80630f166ad4116102fe5780630f166ad414610359578063174eedde1461035f578063176effb31461036657600080fd5b8062b1fad714610324578063030e4006146103495780630688b13514610351575b600080fd5b61032c610522565b6040516001600160a01b0390911681526020015b60405180910390f35b61032c610567565b61032c6105a7565b3061032c565b600061032c565b6020546001600160a01b031661032c565b6023545b604051908152602001610340565b61032c6105e7565b61032c610627565b6103a1610667565b6040516103409190611473565b6103b66106c9565b6040516103409190611510565b6024546001600160a01b031661032c565b60215461037b565b6103a161080b565b6103a161086b565b6103a16108cb565b61032c6108ee565b61032c61092e565b61032c61096e565b6104146109ae565b60405161034091906115d0565b61032c610aa9565b6103a1610ae9565b61032c610b81565b6103a1610bc1565b601e5461010090046001600160a01b031661032c565b61032c610c29565b61032c610c69565b61046f610ca9565b604051610340919061169b565b61032c610d79565b61032c610db9565b610414610df9565b6103a1610ef4565b61032c610f5c565b61046f610f9c565b6104b461106c565b6040519015158152602001610340565b6022546001600160a01b031661032c565b61032c611140565b61032c611180565b61032c6111c0565b61032c611200565b61032c611240565b6103a1611280565b61032c6112e0565b601e546104b49060ff1681565b601f5461037b565b60006105626040518060400160405280600d81526020017f706f6f6c5f6d616e61676572310000000000000000000000000000000000000081525061131c565b905090565b60006105626040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d6265720000000000000000000000000081525061131c565b60006105626040518060400160405280600a81526020017f726563697069656e74320000000000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600e81526020017f70726f66696c65325f6f776e657200000000000000000000000000000000000081525061131c565b60006105626040518060400160405280601081526020017f70726f66696c65315f6d656d626572310000000000000000000000000000000081525061131c565b606060168054806020026020016040519081016040528092919081815260200182805480156106bf57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116106a1575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101561080257600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156107eb57838290600052602060002001805461075e906116fd565b80601f016020809104026020016040519081016040528092919081815260200182805461078a906116fd565b80156107d75780601f106107ac576101008083540402835291602001916107d7565b820191906000526020600020905b8154815290600101906020018083116107ba57829003601f168201915b50505050508152602001906001019061073f565b5050505081525050815260200190600101906106ed565b50505050905090565b606060188054806020026020016040519081016040528092919081815260200182805480156106bf576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116106a1575050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156106bf576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116106a1575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006105626040518060400160405280601081526020017f70726f66696c65325f6d656d626572310000000000000000000000000000000081525061131c565b60006105626040518060400160405280601081526020017f726563697069656e74416464726573730000000000000000000000000000000081525061131c565b60006105626040518060400160405280600981526020017f726563697069656e74000000000000000000000000000000000000000000000081525061131c565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156108025760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610a9157602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610a3e5790505b505050505081525050815260200190600101906109d2565b60006105626040518060400160405280600d81526020017f706f6f6c5f6d616e61676572320000000000000000000000000000000000000081525061131c565b60408051600280825260608083018452926000929190602083019080368337019050509050610b16610627565b81600081518110610b2957610b29611737565b60200260200101906001600160a01b031690816001600160a01b031681525050610b51610c29565b81600181518110610b6457610b64611737565b6001600160a01b0390921660209283029190910190910152919050565b60006105626040518060400160405280600c81526020017f6e6f5f726563697069656e74000000000000000000000000000000000000000081525061131c565b60408051600280825260608083018452926000929190602083019080368337019050509050610bee610522565b81600081518110610c0157610c01611737565b60200260200101906001600160a01b031690816001600160a01b031681525050610b51610aa9565b60006105626040518060400160405280601081526020017f70726f66696c65315f6d656d626572320000000000000000000000000000000081525061131c565b60006105626040518060400160405280600a81526020017f616c6c6f5f6f776e65720000000000000000000000000000000000000000000081525061131c565b6060601a805480602002602001604051908101604052809291908181526020016000905b82821015610802578382906000526020600020018054610cec906116fd565b80601f0160208091040260200160405190810160405280929190818152602001828054610d18906116fd565b8015610d655780601f10610d3a57610100808354040283529160200191610d65565b820191906000526020600020905b815481529060010190602001808311610d4857829003601f168201915b505050505081526020019060010190610ccd565b60006105626040518060400160405280600a81526020017f706f6f6c5f61646d696e0000000000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280601081526020017f70726f66696c65325f6d656d626572320000000000000000000000000000000081525061131c565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156108025760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610edc57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610e895790505b50505050508152505081526020019060010190610e1d565b60408051600280825260608083018452926000929190602083019080368337019050509050610f216108ee565b81600081518110610f3457610f34611737565b60200260200101906001600160a01b031690816001600160a01b031681525050610b51610db9565b60006105626040518060400160405280600a81526020017f726563697069656e74310000000000000000000000000000000000000000000081525061131c565b60606019805480602002602001604051908101604052809291908181526020016000905b82821015610802578382906000526020600020018054610fdf906116fd565b80601f016020809104026020016040519081016040528092919081815260200182805461100b906116fd565b80156110585780601f1061102d57610100808354040283529160200191611058565b820191906000526020600020905b81548152906001019060200180831161103b57829003601f168201915b505050505081526020019060010190610fc0565b60085460009060ff1615611084575060085460ff1690565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c65640000000000000000000000000000000000000000000000000000602483015260009163667f9d7090604401602060405180830381865afa158015611115573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611139919061174d565b1415905090565b60006105626040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e616765720000000000000000000000000000000081525061131c565b60006105626040518060400160405280600e81526020017f70726f66696c65315f6f776e657200000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600b81526020017f72616e646f6d206368616400000000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600d81526020017f616c6c6f5f74726561737572790000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600e81526020017f72656769737472795f6f776e657200000000000000000000000000000000000081525061131c565b606060158054806020026020016040519081016040528092919081815260200182805480156106bf576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116106a1575050505050905090565b60006105626040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006113278261132e565b5092915050565b600080826040516020016113429190611766565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156113c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e79190611782565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061143c90859087906004016117b2565b600060405180830381600087803b15801561145657600080fd5b505af115801561146a573d6000803e3d6000fd5b50505050915091565b6020808252825182820181905260009190848201906040850190845b818110156114b45783516001600160a01b03168352928401929184019160010161148f565b50909695505050505050565b60005b838110156114db5781810151838201526020016114c3565b50506000910152565b600081518084526114fc8160208601602086016114c0565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b858110156115c057603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156115aa57605f198985030183526115988486516114e4565b948e01949350918d019160010161157c565b505050978a019794505091880191600101611537565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561168c57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156116775783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b0190611635565b50978a019795505050918701916001016115f8565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156116f057603f198886030184526116de8583516114e4565b945092850192908501906001016116c2565b5092979650505050505050565b600181811c9082168061171157607f821691505b60208210810361173157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561175f57600080fd5b5051919050565b600082516117788184602087016114c0565b9190910192915050565b60006020828403121561179457600080fd5b81516001600160a01b03811681146117ab57600080fd5b9392505050565b6001600160a01b03831681526040602082015260006117d460408301846114e4565b94935050505056fea2646970667358221220f42b18917d12db2b1cb9bc8637a64748b5918ec2cf1b20afcf0e465b64a1833e64736f6c63430008130033","sourceMap":"833:2031:47:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:45;;;:::i;:::-;;;-1:-1:-1;;;;;178:55:125;;;160:74;;148:2;133:18;1763:107:45;;;;;;;;2429:119;;;:::i;4045:101::-;;;:::i;226:92::-;306:4;226:92;;905:138;968:7;905:138;;2159:111:47;2244:19;;-1:-1:-1;;;;;2244:19:47;2159:111;;2572:97;2650:12;;2572:97;;;391:25:125;;;379:2;364:18;2572:97:47;245:177:125;3126:109:45;;;:::i;2554:113::-;;;:::i;2452:134:57:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;2757:105:47:-;2839:16;;-1:-1:-1;;;;;2839:16:47;2757:105;;2276:97;2354:12;;2276:97;;3221:133:57;;;:::i;2922:141::-;;;:::i;1331:118:45:-;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;4152:99::-;;;:::i;2738:178:57:-;;;:::i;:::-;;;;;;;:::i;1876:107:45:-;;;:::i;2792:241::-;;;:::i;4376:105::-;;;:::i;1989:232::-;;;:::i;610:85:47:-;678:10;;;;;-1:-1:-1;;;;;678:10:47;610:85;;2673:113:45;;;:::i;439:101::-;;;:::i;2592:140:57:-;;;:::i;:::-;;;;;;;:::i;1537:101:45:-;;;:::i;3485:113::-;;;:::i;3069:146:57:-;;;:::i;3604:241:45:-;;;:::i;3938:101::-;;;:::i;2157:141:57:-;;;:::i;1243:204:53:-;;;:::i;:::-;;;6280:14:125;;6273:22;6255:41;;6243:2;6228:18;1243:204:53;6115:187:125;2461:105:47;2543:16;;-1:-1:-1;;;;;2543:16:47;2461:105;;1644:113:45;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;546:124::-;;;:::i;324:109::-;;;:::i;2304:142:57:-;;;:::i;3241:119:45:-;;;:::i;1016:26:64:-;;;;;;;;;2050:103:47;2131:15;;2050:103;;1763:107:45;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:57:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:57;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;3221:133::-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:57;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:57;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;1331:118:45:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:45;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:57:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:45;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:45;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:45;;;-1:-1:-1;;;;;2926:32:45;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:45;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:45: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:45;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:45;;;-1:-1:-1;;;;;2120:29:45;;;;;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:57:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1537:101:45;1583:7;1609:22;;;;;;;;;;;;;;;;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;;;;;:8;:28::i;3069:146:57:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3604:241:45;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:45;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:45;;;-1:-1:-1;;;;;3738:32:45;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;;;;;:8;:22::i;2157:141:57:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1243:204:53;1302:7;;1282:4;;1302:7;;1298:143;;;-1:-1:-1;1332:7:53;;;;;1243:204::o;1298:143::-;1377:39;;;;;:7;:39;;;7548:74:125;;;1398:17:53;7638:18:125;;;7631:34;1428:1:53;;1377:7;;7521:18:125;;1377:39:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;1370:60;;1243:204;:::o;1644:113:45:-;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:57:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:57;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3241:119:45:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:55;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:55;20439:125;-1:-1:-1;;20439:125:55:o;20158:242::-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:55;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;391:25:125;;;20293:33:55;-1:-1:-1;20344:7:55;;;;364:18:125;;20344:19:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;;;;20337:26;;-1:-1:-1;20373:8:55;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;427:681:125:-;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:125;927:75;;1057:15;;;;1022:12;;;;900:1;893:9;864:218;;;-1:-1:-1;1099:3:125;;427:681;-1:-1:-1;;;;;;427:681:125: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:125;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:125;1587:39;;;;1628:4;1583:50;;1368:271;-1:-1:-1;;1368:271:125: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:125;;;2351:36;2339:49;;2411:13;;2498:9;;-1:-1:-1;;;;;2494:58:125;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:125;;;;3021:1;3012:11;2977:296;;;-1:-1:-1;;;3360:12:125;;;;3296:6;-1:-1:-1;;3325:15:125;;;;2312:1;2303:11;2270:1112;;;-1:-1:-1;3399:6:125;;1644:1767;-1:-1:-1;;;;;;;;;;1644:1767:125: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:125;4088:49;;4160:13;;4247:9;;-1:-1:-1;;;;;4243:58:125;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:125;;;;4940:5;-1:-1:-1;;;4968:15:125;;;;4061:1;4052:11;4019:1006;;;-1:-1:-1;5042:6:125;;3416:1638;-1:-1:-1;;;;;;;;;3416:1638:125: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:125;;;;6024:15;;;;5862:1;5855:9;5826:255;;;-1:-1:-1;6098:6:125;;5307:803;-1:-1:-1;;;;;;;5307:803:125: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:125;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:125;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:125;;7676:184;-1:-1:-1;7676:184:125: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:125: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:125;8551:54;8544:5;8541:65;8531:93;;8620:1;8617;8610:12;8531:93;8643:5;8341:313;-1:-1:-1;;;8341:313:125:o;8659:340::-;-1:-1:-1;;;;;8840:6:125;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:125: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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"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/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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"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/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},"id":47} \ 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":"0x6080604052600c8054600160ff199182168117909255601e8054909116909117905534801561002d57600080fd5b506118128061003d6000396000f3fe608060405234801561001057600080fd5b506004361061031f5760003560e01c806379e62d0d116101a7578063b5508aa9116100ee578063da4bf08711610097578063ef0d790f11610071578063ef0d790f14610505578063fa7626d41461050d578063fd325c601461051a57600080fd5b8063da4bf087146104ed578063dac4eb16146104f5578063e20c9f71146104fd57600080fd5b8063d1e82b58116100c8578063d1e82b58146104d5578063d1f2cd88146104dd578063d5bee9f5146104e557600080fd5b8063b5508aa9146104a4578063ba414fa6146104ac578063c5d7d73b146104c457600080fd5b80638c7408c411610150578063916a17c61161012a578063916a17c61461048c578063a407c67a14610494578063aa3744bd1461049c57600080fd5b80638c7408c41461035f5780638e0d1a501461047c5780638e3c24931461048457600080fd5b80637cbe79ed116101815780637cbe79ed1461045f578063829e423f1461035f57806385226c811461046757600080fd5b806379e62d0d146104395780637b103999146104415780637b2edf321461045757600080fd5b806339f56f7f1161026b57806366d003ac1161021457806370a32944116101ee57806370a329441461042957806374d9284e1461035f578063759c9a861461043157600080fd5b806366d003ac1461040457806366d9a9a01461040c5780636a38dd0a1461042157600080fd5b80634bf4ba21116102455780634bf4ba21146103ec578063587c1243146103f45780635aff5999146103fc57600080fd5b806339f56f7f146103d45780633e5e3c23146103dc5780633f7286f4146103e457600080fd5b806318540361116102cd5780631ed7831c116102a75780631ed7831c146103995780632ade3880146103ae5780633554642a146103c357600080fd5b806318540361146103775780631b96dce6146103895780631e7bcb2e1461039157600080fd5b80630f166ad4116102fe5780630f166ad414610359578063174eedde1461035f578063176effb31461036657600080fd5b8062b1fad714610324578063030e4006146103495780630688b13514610351575b600080fd5b61032c610522565b6040516001600160a01b0390911681526020015b60405180910390f35b61032c610567565b61032c6105a7565b3061032c565b600061032c565b6020546001600160a01b031661032c565b6023545b604051908152602001610340565b61032c6105e7565b61032c610627565b6103a1610667565b6040516103409190611473565b6103b66106c9565b6040516103409190611510565b6024546001600160a01b031661032c565b60215461037b565b6103a161080b565b6103a161086b565b6103a16108cb565b61032c6108ee565b61032c61092e565b61032c61096e565b6104146109ae565b60405161034091906115d0565b61032c610aa9565b6103a1610ae9565b61032c610b81565b6103a1610bc1565b601e5461010090046001600160a01b031661032c565b61032c610c29565b61032c610c69565b61046f610ca9565b604051610340919061169b565b61032c610d79565b61032c610db9565b610414610df9565b6103a1610ef4565b61032c610f5c565b61046f610f9c565b6104b461106c565b6040519015158152602001610340565b6022546001600160a01b031661032c565b61032c611140565b61032c611180565b61032c6111c0565b61032c611200565b61032c611240565b6103a1611280565b61032c6112e0565b601e546104b49060ff1681565b601f5461037b565b60006105626040518060400160405280600d81526020017f706f6f6c5f6d616e61676572310000000000000000000000000000000000000081525061131c565b905090565b60006105626040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d6265720000000000000000000000000081525061131c565b60006105626040518060400160405280600a81526020017f726563697069656e74320000000000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600e81526020017f70726f66696c65325f6f776e657200000000000000000000000000000000000081525061131c565b60006105626040518060400160405280601081526020017f70726f66696c65315f6d656d626572310000000000000000000000000000000081525061131c565b606060168054806020026020016040519081016040528092919081815260200182805480156106bf57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116106a1575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101561080257600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156107eb57838290600052602060002001805461075e906116fd565b80601f016020809104026020016040519081016040528092919081815260200182805461078a906116fd565b80156107d75780601f106107ac576101008083540402835291602001916107d7565b820191906000526020600020905b8154815290600101906020018083116107ba57829003601f168201915b50505050508152602001906001019061073f565b5050505081525050815260200190600101906106ed565b50505050905090565b606060188054806020026020016040519081016040528092919081815260200182805480156106bf576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116106a1575050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156106bf576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116106a1575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006105626040518060400160405280601081526020017f70726f66696c65325f6d656d626572310000000000000000000000000000000081525061131c565b60006105626040518060400160405280601081526020017f726563697069656e74416464726573730000000000000000000000000000000081525061131c565b60006105626040518060400160405280600981526020017f726563697069656e74000000000000000000000000000000000000000000000081525061131c565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156108025760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610a9157602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610a3e5790505b505050505081525050815260200190600101906109d2565b60006105626040518060400160405280600d81526020017f706f6f6c5f6d616e61676572320000000000000000000000000000000000000081525061131c565b60408051600280825260608083018452926000929190602083019080368337019050509050610b16610627565b81600081518110610b2957610b29611737565b60200260200101906001600160a01b031690816001600160a01b031681525050610b51610c29565b81600181518110610b6457610b64611737565b6001600160a01b0390921660209283029190910190910152919050565b60006105626040518060400160405280600c81526020017f6e6f5f726563697069656e74000000000000000000000000000000000000000081525061131c565b60408051600280825260608083018452926000929190602083019080368337019050509050610bee610522565b81600081518110610c0157610c01611737565b60200260200101906001600160a01b031690816001600160a01b031681525050610b51610aa9565b60006105626040518060400160405280601081526020017f70726f66696c65315f6d656d626572320000000000000000000000000000000081525061131c565b60006105626040518060400160405280600a81526020017f616c6c6f5f6f776e65720000000000000000000000000000000000000000000081525061131c565b6060601a805480602002602001604051908101604052809291908181526020016000905b82821015610802578382906000526020600020018054610cec906116fd565b80601f0160208091040260200160405190810160405280929190818152602001828054610d18906116fd565b8015610d655780601f10610d3a57610100808354040283529160200191610d65565b820191906000526020600020905b815481529060010190602001808311610d4857829003601f168201915b505050505081526020019060010190610ccd565b60006105626040518060400160405280600a81526020017f706f6f6c5f61646d696e0000000000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280601081526020017f70726f66696c65325f6d656d626572320000000000000000000000000000000081525061131c565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156108025760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610edc57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610e895790505b50505050508152505081526020019060010190610e1d565b60408051600280825260608083018452926000929190602083019080368337019050509050610f216108ee565b81600081518110610f3457610f34611737565b60200260200101906001600160a01b031690816001600160a01b031681525050610b51610db9565b60006105626040518060400160405280600a81526020017f726563697069656e74310000000000000000000000000000000000000000000081525061131c565b60606019805480602002602001604051908101604052809291908181526020016000905b82821015610802578382906000526020600020018054610fdf906116fd565b80601f016020809104026020016040519081016040528092919081815260200182805461100b906116fd565b80156110585780601f1061102d57610100808354040283529160200191611058565b820191906000526020600020905b81548152906001019060200180831161103b57829003601f168201915b505050505081526020019060010190610fc0565b60085460009060ff1615611084575060085460ff1690565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c65640000000000000000000000000000000000000000000000000000602483015260009163667f9d7090604401602060405180830381865afa158015611115573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611139919061174d565b1415905090565b60006105626040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e616765720000000000000000000000000000000081525061131c565b60006105626040518060400160405280600e81526020017f70726f66696c65315f6f776e657200000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600b81526020017f72616e646f6d206368616400000000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600d81526020017f616c6c6f5f74726561737572790000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600e81526020017f72656769737472795f6f776e657200000000000000000000000000000000000081525061131c565b606060158054806020026020016040519081016040528092919081815260200182805480156106bf576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116106a1575050505050905090565b60006105626040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006113278261132e565b5092915050565b600080826040516020016113429190611766565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156113c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e79190611782565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061143c90859087906004016117b2565b600060405180830381600087803b15801561145657600080fd5b505af115801561146a573d6000803e3d6000fd5b50505050915091565b6020808252825182820181905260009190848201906040850190845b818110156114b45783516001600160a01b03168352928401929184019160010161148f565b50909695505050505050565b60005b838110156114db5781810151838201526020016114c3565b50506000910152565b600081518084526114fc8160208601602086016114c0565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b858110156115c057603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156115aa57605f198985030183526115988486516114e4565b948e01949350918d019160010161157c565b505050978a019794505091880191600101611537565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561168c57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156116775783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b0190611635565b50978a019795505050918701916001016115f8565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156116f057603f198886030184526116de8583516114e4565b945092850192908501906001016116c2565b5092979650505050505050565b600181811c9082168061171157607f821691505b60208210810361173157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561175f57600080fd5b5051919050565b600082516117788184602087016114c0565b9190910192915050565b60006020828403121561179457600080fd5b81516001600160a01b03811681146117ab57600080fd5b9392505050565b6001600160a01b03831681526040602082015260006117d460408301846114e4565b94935050505056fea2646970667358221220c03cdd77e1c9a72f26aecb265c0c9e7a88dd67df7dc919951a9aaa9075bda5b564736f6c63430008130033","sourceMap":"833:2031:31:-:0;;;3126:44:38;;;3166:4;-1:-1:-1;;3126:44:38;;;;;;;;1016:26:48;;;;;;;;;;;833:2031:31;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061031f5760003560e01c806379e62d0d116101a7578063b5508aa9116100ee578063da4bf08711610097578063ef0d790f11610071578063ef0d790f14610505578063fa7626d41461050d578063fd325c601461051a57600080fd5b8063da4bf087146104ed578063dac4eb16146104f5578063e20c9f71146104fd57600080fd5b8063d1e82b58116100c8578063d1e82b58146104d5578063d1f2cd88146104dd578063d5bee9f5146104e557600080fd5b8063b5508aa9146104a4578063ba414fa6146104ac578063c5d7d73b146104c457600080fd5b80638c7408c411610150578063916a17c61161012a578063916a17c61461048c578063a407c67a14610494578063aa3744bd1461049c57600080fd5b80638c7408c41461035f5780638e0d1a501461047c5780638e3c24931461048457600080fd5b80637cbe79ed116101815780637cbe79ed1461045f578063829e423f1461035f57806385226c811461046757600080fd5b806379e62d0d146104395780637b103999146104415780637b2edf321461045757600080fd5b806339f56f7f1161026b57806366d003ac1161021457806370a32944116101ee57806370a329441461042957806374d9284e1461035f578063759c9a861461043157600080fd5b806366d003ac1461040457806366d9a9a01461040c5780636a38dd0a1461042157600080fd5b80634bf4ba21116102455780634bf4ba21146103ec578063587c1243146103f45780635aff5999146103fc57600080fd5b806339f56f7f146103d45780633e5e3c23146103dc5780633f7286f4146103e457600080fd5b806318540361116102cd5780631ed7831c116102a75780631ed7831c146103995780632ade3880146103ae5780633554642a146103c357600080fd5b806318540361146103775780631b96dce6146103895780631e7bcb2e1461039157600080fd5b80630f166ad4116102fe5780630f166ad414610359578063174eedde1461035f578063176effb31461036657600080fd5b8062b1fad714610324578063030e4006146103495780630688b13514610351575b600080fd5b61032c610522565b6040516001600160a01b0390911681526020015b60405180910390f35b61032c610567565b61032c6105a7565b3061032c565b600061032c565b6020546001600160a01b031661032c565b6023545b604051908152602001610340565b61032c6105e7565b61032c610627565b6103a1610667565b6040516103409190611473565b6103b66106c9565b6040516103409190611510565b6024546001600160a01b031661032c565b60215461037b565b6103a161080b565b6103a161086b565b6103a16108cb565b61032c6108ee565b61032c61092e565b61032c61096e565b6104146109ae565b60405161034091906115d0565b61032c610aa9565b6103a1610ae9565b61032c610b81565b6103a1610bc1565b601e5461010090046001600160a01b031661032c565b61032c610c29565b61032c610c69565b61046f610ca9565b604051610340919061169b565b61032c610d79565b61032c610db9565b610414610df9565b6103a1610ef4565b61032c610f5c565b61046f610f9c565b6104b461106c565b6040519015158152602001610340565b6022546001600160a01b031661032c565b61032c611140565b61032c611180565b61032c6111c0565b61032c611200565b61032c611240565b6103a1611280565b61032c6112e0565b601e546104b49060ff1681565b601f5461037b565b60006105626040518060400160405280600d81526020017f706f6f6c5f6d616e61676572310000000000000000000000000000000000000081525061131c565b905090565b60006105626040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d6265720000000000000000000000000081525061131c565b60006105626040518060400160405280600a81526020017f726563697069656e74320000000000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600e81526020017f70726f66696c65325f6f776e657200000000000000000000000000000000000081525061131c565b60006105626040518060400160405280601081526020017f70726f66696c65315f6d656d626572310000000000000000000000000000000081525061131c565b606060168054806020026020016040519081016040528092919081815260200182805480156106bf57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116106a1575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101561080257600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156107eb57838290600052602060002001805461075e906116fd565b80601f016020809104026020016040519081016040528092919081815260200182805461078a906116fd565b80156107d75780601f106107ac576101008083540402835291602001916107d7565b820191906000526020600020905b8154815290600101906020018083116107ba57829003601f168201915b50505050508152602001906001019061073f565b5050505081525050815260200190600101906106ed565b50505050905090565b606060188054806020026020016040519081016040528092919081815260200182805480156106bf576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116106a1575050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156106bf576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116106a1575050505050905090565b604080516002808252606080830184529260208301908036833701905050905090565b60006105626040518060400160405280601081526020017f70726f66696c65325f6d656d626572310000000000000000000000000000000081525061131c565b60006105626040518060400160405280601081526020017f726563697069656e74416464726573730000000000000000000000000000000081525061131c565b60006105626040518060400160405280600981526020017f726563697069656e74000000000000000000000000000000000000000000000081525061131c565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156108025760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610a9157602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610a3e5790505b505050505081525050815260200190600101906109d2565b60006105626040518060400160405280600d81526020017f706f6f6c5f6d616e61676572320000000000000000000000000000000000000081525061131c565b60408051600280825260608083018452926000929190602083019080368337019050509050610b16610627565b81600081518110610b2957610b29611737565b60200260200101906001600160a01b031690816001600160a01b031681525050610b51610c29565b81600181518110610b6457610b64611737565b6001600160a01b0390921660209283029190910190910152919050565b60006105626040518060400160405280600c81526020017f6e6f5f726563697069656e74000000000000000000000000000000000000000081525061131c565b60408051600280825260608083018452926000929190602083019080368337019050509050610bee610522565b81600081518110610c0157610c01611737565b60200260200101906001600160a01b031690816001600160a01b031681525050610b51610aa9565b60006105626040518060400160405280601081526020017f70726f66696c65315f6d656d626572320000000000000000000000000000000081525061131c565b60006105626040518060400160405280600a81526020017f616c6c6f5f6f776e65720000000000000000000000000000000000000000000081525061131c565b6060601a805480602002602001604051908101604052809291908181526020016000905b82821015610802578382906000526020600020018054610cec906116fd565b80601f0160208091040260200160405190810160405280929190818152602001828054610d18906116fd565b8015610d655780601f10610d3a57610100808354040283529160200191610d65565b820191906000526020600020905b815481529060010190602001808311610d4857829003601f168201915b505050505081526020019060010190610ccd565b60006105626040518060400160405280600a81526020017f706f6f6c5f61646d696e0000000000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280601081526020017f70726f66696c65325f6d656d626572320000000000000000000000000000000081525061131c565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156108025760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610edc57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610e895790505b50505050508152505081526020019060010190610e1d565b60408051600280825260608083018452926000929190602083019080368337019050509050610f216108ee565b81600081518110610f3457610f34611737565b60200260200101906001600160a01b031690816001600160a01b031681525050610b51610db9565b60006105626040518060400160405280600a81526020017f726563697069656e74310000000000000000000000000000000000000000000081525061131c565b60606019805480602002602001604051908101604052809291908181526020016000905b82821015610802578382906000526020600020018054610fdf906116fd565b80601f016020809104026020016040519081016040528092919081815260200182805461100b906116fd565b80156110585780601f1061102d57610100808354040283529160200191611058565b820191906000526020600020905b81548152906001019060200180831161103b57829003601f168201915b505050505081526020019060010190610fc0565b60085460009060ff1615611084575060085460ff1690565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c65640000000000000000000000000000000000000000000000000000602483015260009163667f9d7090604401602060405180830381865afa158015611115573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611139919061174d565b1415905090565b60006105626040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e616765720000000000000000000000000000000081525061131c565b60006105626040518060400160405280600e81526020017f70726f66696c65315f6f776e657200000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600b81526020017f72616e646f6d206368616400000000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600d81526020017f616c6c6f5f74726561737572790000000000000000000000000000000000000081525061131c565b60006105626040518060400160405280600e81526020017f72656769737472795f6f776e657200000000000000000000000000000000000081525061131c565b606060158054806020026020016040519081016040528092919081815260200182805480156106bf576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116106a1575050505050905090565b60006105626040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006113278261132e565b5092915050565b600080826040516020016113429190611766565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156113c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e79190611782565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061143c90859087906004016117b2565b600060405180830381600087803b15801561145657600080fd5b505af115801561146a573d6000803e3d6000fd5b50505050915091565b6020808252825182820181905260009190848201906040850190845b818110156114b45783516001600160a01b03168352928401929184019160010161148f565b50909695505050505050565b60005b838110156114db5781810151838201526020016114c3565b50506000910152565b600081518084526114fc8160208601602086016114c0565b601f01601f19169290920160200192915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b858110156115c057603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b818110156115aa57605f198985030183526115988486516114e4565b948e01949350918d019160010161157c565b505050978a019794505091880191600101611537565b50919a9950505050505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561168c57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156116775783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b0190611635565b50978a019795505050918701916001016115f8565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156116f057603f198886030184526116de8583516114e4565b945092850192908501906001016116c2565b5092979650505050505050565b600181811c9082168061171157607f821691505b60208210810361173157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561175f57600080fd5b5051919050565b600082516117788184602087016114c0565b9190910192915050565b60006020828403121561179457600080fd5b81516001600160a01b03811681146117ab57600080fd5b9392505050565b6001600160a01b03831681526040602082015260006117d460408301846114e4565b94935050505056fea2646970667358221220c03cdd77e1c9a72f26aecb265c0c9e7a88dd67df7dc919951a9aaa9075bda5b564736f6c63430008130033","sourceMap":"833:2031:31:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:29;;;:::i;:::-;;;-1:-1:-1;;;;;178:55:128;;;160:74;;148:2;133:18;1763:107:29;;;;;;;;2429:119;;;:::i;4045:101::-;;;:::i;226:92::-;306:4;226:92;;905:138;968:7;905:138;;2159:111:31;2244:19;;-1:-1:-1;;;;;2244:19:31;2159:111;;2572:97;2650:12;;2572:97;;;391:25:128;;;379:2;364:18;2572:97:31;245:177:128;3126:109:29;;;:::i;2554:113::-;;;:::i;2452:134:41:-;;;:::i;:::-;;;;;;;:::i;3360:151::-;;;:::i;:::-;;;;;;;:::i;2757:105:31:-;2839:16;;-1:-1:-1;;;;;2839:16:31;2757:105;;2276:97;2354:12;;2276:97;;3221:133:41;;;:::i;2922:141::-;;;:::i;1331:118:29:-;;;:::i;3366:113::-;;;:::i;4257:::-;;;:::i;4152:99::-;;;:::i;2738:178:41:-;;;:::i;:::-;;;;;;;:::i;1876:107:29:-;;;:::i;2792:241::-;;;:::i;4376:105::-;;;:::i;1989:232::-;;;:::i;610:85:31:-;678:10;;;;;-1:-1:-1;;;;;678:10:31;610:85;;2673:113:29;;;:::i;439:101::-;;;:::i;2592:140:41:-;;;:::i;:::-;;;;;;;:::i;1537:101:29:-;;;:::i;3485:113::-;;;:::i;3069:146:41:-;;;:::i;3604:241:29:-;;;:::i;3938:101::-;;;:::i;2157:141:41:-;;;:::i;1243:204:37:-;;;:::i;:::-;;;6280:14:128;;6273:22;6255:41;;6243:2;6228:18;1243:204:37;6115:187:128;2461:105:31;2543:16;;-1:-1:-1;;;;;2543:16:31;2461:105;;1644:113:29;;;:::i;2314:109::-;;;:::i;4571:105::-;;;:::i;546:124::-;;;:::i;324:109::-;;;:::i;2304:142:41:-;;;:::i;3241:119:29:-;;;:::i;1016:26:48:-;;;;;;;;;2050:103:31;2131:15;;2050:103;;1763:107:29;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:41:-;2499:33;2563:16;2544:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2544:35:41;;;;;;;;;;;;;;;;;;;;;;;2452:134;:::o;3360:151::-;3409:42;3485:19;3463:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3463:41:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3360:151;:::o;3221:133::-;3267:33;3331:16;3312:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3312:35:41;;;;;;;;;;;;;;;;;;;;;;3221:133;:::o;2922:141::-;2970:35;3038:18;3017:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3017:39:41;;;;;;;;;;;;;;;;;;;;;;2922:141;:::o;1331:118:29:-;1426:16;;;1440:1;1426:16;;;1391;1426;;;;;1391;1426;;;;;;;;;;-1:-1:-1;1426:16:29;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:41:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:107:29;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:29;2872:44;;2940:18;:16;:18::i;:::-;2926:8;2935:1;2926:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;2926:32:29;;;-1:-1:-1;;;;;2926:32:29;;;;;2982:18;:16;:18::i;:::-;2968:8;2977:1;2968:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2968:32:29;;;:11;;;;;;;;;;;:32;3018:8;2792:241;-1:-1:-1;2792:241:29: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:29;2066:44;;2134:15;:13;:15::i;:::-;2120:8;2129:1;2120:11;;;;;;;;:::i;:::-;;;;;;:29;-1:-1:-1;;;;;2120:29:29;;;-1:-1:-1;;;;;2120:29:29;;;;;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:41:-;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1537:101:29;1583:7;1609:22;;;;;;;;;;;;;;;;;;:8;:22::i;3485:113::-;3537:7;3563:28;;;;;;;;;;;;;;;;;;:8;:28::i;3069:146:41:-;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3604:241:29;3712:16;;;3726:1;3712:16;;;3656;3712;;;;;3656;3684:25;;3712:16;3726:1;3712:16;;;;;;;;;;-1:-1:-1;3712:16:29;3684:44;;3752:18;:16;:18::i;:::-;3738:8;3747:1;3738:11;;;;;;;;:::i;:::-;;;;;;:32;-1:-1:-1;;;;;3738:32:29;;;-1:-1:-1;;;;;3738:32:29;;;;;3794:18;:16;:18::i;3938:101::-;3984:7;4010:22;;;;;;;;;;;;;;;;;;:8;:22::i;2157:141:41:-;2206:34;2273:18;2252:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1243:204:37;1302:7;;1282:4;;1302:7;;1298:143;;;-1:-1:-1;1332:7:37;;;;;1243:204::o;1298:143::-;1377:39;;;;;:7;:39;;;7548:74:128;;;1398:17:37;7638:18:128;;;7631:34;1428:1:37;;1377:7;;7521:18:128;;1377:39:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;1370:60;;1243:204;:::o;1644:113:29:-;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:41:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:41;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;3241:119:29:-;3296:7;3322:31;;;;;;;;;;;;;;;;;;20439:125:39;20503:12;20537:20;20552:4;20537:14;:20::i;:::-;-1:-1:-1;20527:30:39;20439:125;-1:-1:-1;;20439:125:39:o;20158:242::-;20228:12;20242:18;20320:4;20303:22;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;20303:22:39;;;;;;;20293:33;;20303:22;20293:33;;;;20344:19;;;;;;391:25:128;;;20293:33:39;-1:-1:-1;20344:7:39;;;;364:18:128;;20344:19:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;;;;20337:26;;-1:-1:-1;20373:8:39;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;427:681:128:-;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:128;927:75;;1057:15;;;;1022:12;;;;900:1;893:9;864:218;;;-1:-1:-1;1099:3:128;;427:681;-1:-1:-1;;;;;;427:681:128: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:128;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:128;1587:39;;;;1628:4;1583:50;;1368:271;-1:-1:-1;;1368:271:128: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:128;;;2351:36;2339:49;;2411:13;;2498:9;;-1:-1:-1;;;;;2494:58:128;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:128;;;;3021:1;3012:11;2977:296;;;-1:-1:-1;;;3360:12:128;;;;3296:6;-1:-1:-1;;3325:15:128;;;;2312:1;2303:11;2270:1112;;;-1:-1:-1;3399:6:128;;1644:1767;-1:-1:-1;;;;;;;;;;1644:1767:128: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:128;4088:49;;4160:13;;4247:9;;-1:-1:-1;;;;;4243:58:128;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:128;;;;4940:5;-1:-1:-1;;;4968:15:128;;;;4061:1;4052:11;4019:1006;;;-1:-1:-1;5042:6:128;;3416:1638;-1:-1:-1;;;;;;;;;3416:1638:128: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:128;;;;6024:15;;;;5862:1;5855:9;5826:255;;;-1:-1:-1;6098:6:128;;5307:803;-1:-1:-1;;;;;;;5307:803:128: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:128;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:128;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:128;;7676:184;-1:-1:-1;7676:184:128: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:128: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:128;8551:54;8544:5;8541:65;8531:93;;8620:1;8617;8610:12;8531:93;8643:5;8341:313;-1:-1:-1;;;8341:313:128:o;8659:340::-;-1:-1:-1;;;;;8840:6:128;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:128: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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709\",\"dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol\":{\"keccak256\":\"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c\",\"dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol\":{\"keccak256\":\"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a\",\"dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7\",\"dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol\":{\"keccak256\":\"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758\",\"dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol\":{\"keccak256\":\"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91\",\"dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB\"]},\"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol\":{\"keccak256\":\"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4\",\"dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z\"]},\"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/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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0xfeefb24d068524440e1ba885efdf105d91f83504af3c2d745ffacc4595396831","urls":["bzz-raw://3df5f6a75f86411cb20df54362ed4ec9b4c270720be20da7095f169932fa2709","dweb:/ipfs/QmTThfuAwFYAvtHgZbmp6ZAbN2MVGSabAnhAbsB6JQxJCF"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol":{"keccak256":"0xb8f5302f12138c5561362e88a78d061573e6298b7a1a5afe84a1e2c8d4d5aeaa","urls":["bzz-raw://740cf4dc535e3082560cf5a031473029f322690fc8037fe9d5e3a8bef42e757c","dweb:/ipfs/QmTQxFdfxcaueQa23VX34wAPqzruZbkzyeN58tZK2yav2b"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol":{"keccak256":"0xb96dc79b65b7c37937919dcdb356a969ce0aa2e8338322bf4dc027a3c9c9a7eb","urls":["bzz-raw://f8613145881436fc0480fff22da4868d611e2b0c0c3da083334eb4362ce1945a","dweb:/ipfs/QmPqpP3YeRbBdTJRe6Gv2eGsUaANf4J6RwTNRW36iYahfV"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0x9a3b990bd56d139df3e454a9edf1c64668530b5a77fc32eb063bc206f958274a","urls":["bzz-raw://0895399d170daab2d69b4c43a0202e5a07f2e67a93b26e3354dcbedb062232f7","dweb:/ipfs/QmUM1VH3XDk559Dsgh4QPvupr3YVKjz87HrSyYzzVFZbxw"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol":{"keccak256":"0xc6cef87559d0aeffdf0a99803de655938a7779ec0a3cd5d4383483ad85565a09","urls":["bzz-raw://92ad7e572cf44e6b4b37631b44b62f9eb9fb1cf14d9ce51c1504d5dc7ccaf758","dweb:/ipfs/QmcnbqX85tsWnUXPmtuPLE4SczME2sJaTfmqEFkuAJvWhy"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol":{"keccak256":"0x2bc0007987c229ae7624eb29be6a9b84f6a6a5872f76248b15208b131ea41c4e","urls":["bzz-raw://2b2835c737d073ef8b82a4cc246495a9740f43e7ff2cf130906b2449ff9bfb91","dweb:/ipfs/QmSCWfNoSvvTN57ic7o1RW6NqSxxGAqbBTnLKc7QHe27qB"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol":{"keccak256":"0x88f6b7bba3ee33eeb741f9a0f5bc98b6e6e352d0fe4905377bb328590f84095a","urls":["bzz-raw://88ace2d60f265752f18903d839910be4e4e104340b2957678585b812447825d4","dweb:/ipfs/QmXFkNxMc3AAGzhs2wUEZyErWQjsvoTGyYjuU5oZkFki5Z"],"license":"MIT"},"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/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},"id":31} \ 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 7880e2f04..2ad6d85df 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":"0x60806040523480156200001157600080fd5b5060405162000f8a38038062000f8a833981016040819052620000349162000134565b600062000042848262000248565b50600162000051838262000248565b506002805460ff191660ff9290921691909117905550620003149050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200009757600080fd5b81516001600160401b0380821115620000b457620000b46200006f565b604051601f8301601f19908116603f01168101908282118183101715620000df57620000df6200006f565b81604052838152602092508683858801011115620000fc57600080fd5b600091505b8382101562000120578582018301518183018401529082019062000101565b600093810190920192909252949350505050565b6000806000606084860312156200014a57600080fd5b83516001600160401b03808211156200016257600080fd5b620001708783880162000085565b945060208601519150808211156200018757600080fd5b50620001968682870162000085565b925050604084015160ff81168114620001ae57600080fd5b809150509250925092565b600181811c90821680620001ce57607f821691505b602082108103620001ef57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024357600081815260208120601f850160051c810160208610156200021e5750805b601f850160051c820191505b818110156200023f578281556001016200022a565b5050505b505050565b81516001600160401b038111156200026457620002646200006f565b6200027c81620002758454620001b9565b84620001f5565b602080601f831160018114620002b457600084156200029b5750858301515b600019600386901b1c1916600185901b1785556200023f565b600085815260208120601f198616915b82811015620002e557888601518255948401946001909101908401620002c4565b5085821015620003045787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620003246000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220a4920599eaf21bbbc37c17d70787472c686053dbc3e8d2670b8c90aca768feb764736f6c63430008130033","sourceMap":"290:2085:124:-:0;;;408:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;491:5;:13;499:5;491;:13;:::i;:::-;-1:-1:-1;514:7:124;:17;524:7;514;:17;:::i;:::-;-1:-1:-1;541:9:124;:21;;-1:-1:-1;;541:21:124;;;;;;;;;;;;-1:-1:-1;290:2085:124;;-1:-1:-1;290:2085:124;14:127:125;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:125;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:125;;;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:125: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:125;;;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:125;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:125;;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:125;;;4142:26;4093:89;-1:-1:-1;;2897:1:125;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:125;;;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:125;3930:14;;;3946:3;3926:24;3922:37;3918:42;3903:58;3888:74;;3775:201;-1:-1:-1;;;;;4022:1:125;4006:14;;;4002:22;3989:36;;-1:-1:-1;2940:1352:125:o;:::-;290:2085:124;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220a4920599eaf21bbbc37c17d70787472c686053dbc3e8d2670b8c90aca768feb764736f6c63430008130033","sourceMap":"290:2085:124:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;575:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5995:573:43;;;;;;:::i;:::-;;:::i;:::-;;;1192:14:125;;1185:22;1167:41;;1155:2;1140:18;5995:573:43;1027:187:125;4847:195:43;5007:18;5001:25;4847:195;;;1365:25:125;;;1353:2;1338:18;4847:195:43;1219:177:125;1603:189:124;;;;;;:::i;:::-;;:::i;787:98::-;869:9;;787:98;;869:9;;;;1876:36:125;;1864:2;1849:18;787:98:124;1734:184:125;17096:1062:43;;;:::i;1798:184:124:-;;;;;;:::i;:::-;;:::i;891:102::-;;;;;;:::i;:::-;;:::i;:::-;;5108:286:43;;;;;;:::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:124;;;:::i;999:106::-;;;;;;:::i;:::-;;:::i;1988:184::-;;;;;;:::i;:::-;;:::i;1449:148::-;;;;;;:::i;:::-;;:::i;1268:175::-;;;;;;:::i;:::-;;:::i;14027:3010:43:-;;;;;;:::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:124;;;;;;:::i;:::-;;:::i;575:98::-;629:13;661:5;654:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;575:98;:::o;5995:573:43:-;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:43;5995:573;;;;:::o;1603:189:124:-;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:124:o;17096:1062:43:-;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:43;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:124:-;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:124: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:43:-;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:43;16838:12;;16833:67;16920:4;16913:15;-1:-1:-1;;16990:1:43;16984:4;16977:15;-1:-1:-1;;;;;;14027:3010:43:o;1111:151:124:-;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:43:-;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:43;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:43;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:124;;:::o;20140:1119:43:-;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:43;;;21162:22;;;21135:25;21129:4;-1:-1:-1;21118:70:43;891:102:124;;:::o;7890:1035:43:-;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:43;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:43;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:124;;;:::o;14:548:125:-;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:125: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:125;;;;2874:5;2926:3;2911:19;;2898:33;;-1:-1:-1;2978:3:125;2963:19;;;2950:33;;2296:693;-1:-1:-1;;2296:693:125: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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/\",\":@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/=lib/allo-v2/lib/openzeppelin-contracts/contracts/","@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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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},"id":124} \ 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":"0x60806040523480156200001157600080fd5b5060405162000f8a38038062000f8a833981016040819052620000349162000134565b600062000042848262000248565b50600162000051838262000248565b506002805460ff191660ff9290921691909117905550620003149050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200009757600080fd5b81516001600160401b0380821115620000b457620000b46200006f565b604051601f8301601f19908116603f01168101908282118183101715620000df57620000df6200006f565b81604052838152602092508683858801011115620000fc57600080fd5b600091505b8382101562000120578582018301518183018401529082019062000101565b600093810190920192909252949350505050565b6000806000606084860312156200014a57600080fd5b83516001600160401b03808211156200016257600080fd5b620001708783880162000085565b945060208601519150808211156200018757600080fd5b50620001968682870162000085565b925050604084015160ff81168114620001ae57600080fd5b809150509250925092565b600181811c90821680620001ce57607f821691505b602082108103620001ef57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024357600081815260208120601f850160051c810160208610156200021e5750805b601f850160051c820191505b818110156200023f578281556001016200022a565b5050505b505050565b81516001600160401b038111156200026457620002646200006f565b6200027c81620002758454620001b9565b84620001f5565b602080601f831160018114620002b457600084156200029b5750858301515b600019600386901b1c1916600185901b1785556200023f565b600085815260208120601f198616915b82811015620002e557888601518255948401946001909101908401620002c4565b5085821015620003045787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c6680620003246000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220855ee43ce5df89e6aa6f7561061797ba48c3b947a0fda150766d8ce15803981e64736f6c63430008130033","sourceMap":"290:2085:127:-:0;;;408:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;491:5;:13;499:5;491;:13;:::i;:::-;-1:-1:-1;514:7:127;:17;524:7;514;:17;:::i;:::-;-1:-1:-1;541:9:127;:21;;-1:-1:-1;;541:21:127;;;;;;;;;;;;-1:-1:-1;290:2085:127;;-1:-1:-1;290:2085:127;14:127:128;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:128;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:128;;;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:128: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:128;;;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:128;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:128;;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:128;;;4142:26;4093:89;-1:-1:-1;;2897:1:128;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:128;;;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:128;3930:14;;;3946:3;3926:24;3922:37;3918:42;3903:58;3888:74;;3775:201;-1:-1:-1;;;;;4022:1:128;4006:14;;;4002:22;3989:36;;-1:-1:-1;2940:1352:128:o;:::-;290:2085:127;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101365760003560e01c80637ecebe00116100b2578063a9059cbb11610081578063d505accf11610066578063d505accf1461028e578063dd62ed3e146102a1578063f83d1791146102ca57600080fd5b8063a9059cbb14610268578063d30ed3b31461027b57600080fd5b80637ecebe001461021457806395d89b411461023a5780639dc29fac14610242578063a457c2d71461025557600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101c657806340c10f19146101d957806370a08231146101ee57600080fd5b8063313ce567146101a95780633644e515146101be57600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd14610196575b600080fd5b6101436102dd565b6040516101509190610a3f565b60405180910390f35b61016c610167366004610ab6565b61036f565b6040519015158152602001610150565b6805345cdf77eb68f44c545b604051908152602001610150565b61016c6101a4366004610ae0565b6103c2565b60025460405160ff9091168152602001610150565b6101886103e7565b61016c6101d4366004610ab6565b61045d565b6101ec6101e7366004610ab6565b610478565b005b6101886101fc366004610b1c565b6387a211a2600c908152600091909152602090205490565b610188610222366004610b1c565b6338377508600c908152600091909152602090205490565b61014361048e565b6101ec610250366004610ab6565b61049d565b61016c610263366004610ab6565b6104af565b61016c610276366004610ab6565b6104c3565b6101ec610289366004610ae0565b6104d7565b6101ec61029c366004610b37565b6104f7565b6101886102af366004610baa565b602052637f5e9f20600c908152600091909152603490205490565b6101ec6102d8366004610ae0565b610636565b6060600080546102ec90610bdd565b80601f016020809104026020016040519081016040528092919081815260200182805461031890610bdd565b80156103655780601f1061033a57610100808354040283529160200191610365565b820191906000526020600020905b81548152906001019060200180831161034857829003601f168201915b5050505050905090565b600082602052637f5e9f20600c5233600052816034600c205581600052602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006103df6103d085610651565b6103d985610651565b84610660565b949350505050565b60405160006103f46102dd565b80516020918201207f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f845290830152507fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a0902090565b600061047161046b84610651565b8361071e565b9392505050565b61048a61048483610651565b82610790565b5050565b6060600180546102ec90610bdd565b61048a6104a983610651565b8261080f565b60006104716104bd84610651565b83610893565b60006104716104d184610651565b83610906565b6104f26104e384610651565b6104ec84610651565b83610981565b505050565b60006105016103e7565b90506040518542111561051c57631a15a3cc6000526004601cfd5b8860601b60601c98508760601b60601c97506338377508600c52886000526020600c2080546001810182557f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a602084015289604084015288606084015280608084015250508560a08201526119016000528160205260c081206040526042601e206000528460ff1660205283604052826060526020806080600060015afa50883d51146105d45763ddafbaef6000526004601cfd5b777f5e9f20000000000000000000000000000000000000000088176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250506000606052505050505050565b6104f261064284610651565b61064b84610651565b836109c4565b60005a60a01b82179050919050565b60008360601b33602052637f5e9f208117600c526034600c20805460001981146106a0578085111561069a576313be252b6000526004601cfd5b84810382555b50506387a211a28117600c526020600c208054808511156106c95763f4d678b86000526004601cfd5b84810382555050836000526020600c208381540181555082602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505060019392505050565b600082602052637f5e9f20600c52336000526034600c208054838101818110156107505763f90670666000526004601cfd5b80835580600052505050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b6805345cdf77eb68f44c54818101818110156107b45763e5cfe9576000526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52816000526020600c208181540181555080602052600c5160601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050565b6387a211a2600c52816000526020600c208054808311156108385763f4d678b86000526004601cfd5b82900390556805345cdf77eb68f44c80548290039055600081815273ffffffffffffffffffffffffffffffffffffffff83167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602083a35050565b600082602052637f5e9f20600c52336000526034600c208054838110156108c257638301ab386000526004601cfd5b8381039050808255806000525050602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a350600192915050565b60006387a211a2600c52336000526020600c208054808411156109315763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350600192915050565b81602052637f5e9f20600c52826000526034600c20805460001981146109bd57808311156109b7576313be252b6000526004601cfd5b82810382555b5050505050565b8260601b6387a211a28117600c526020600c208054808411156109ef5763f4d678b86000526004601cfd5b83810382555050826000526020600c208281540181555081602052600c5160601c8160601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505050565b600060208083528351808285015260005b81811015610a6c57858101830151858201604001528201610a50565b506000604082860101526040601f19601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ab157600080fd5b919050565b60008060408385031215610ac957600080fd5b610ad283610a8d565b946020939093013593505050565b600080600060608486031215610af557600080fd5b610afe84610a8d565b9250610b0c60208501610a8d565b9150604084013590509250925092565b600060208284031215610b2e57600080fd5b61047182610a8d565b600080600080600080600060e0888a031215610b5257600080fd5b610b5b88610a8d565b9650610b6960208901610a8d565b95506040880135945060608801359350608088013560ff81168114610b8d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610bbd57600080fd5b610bc683610a8d565b9150610bd460208401610a8d565b90509250929050565b600181811c90821680610bf157607f821691505b602082108103610c2a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea2646970667358221220855ee43ce5df89e6aa6f7561061797ba48c3b947a0fda150766d8ce15803981e64736f6c63430008130033","sourceMap":"290:2085:127:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;575:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5995:573:27;;;;;;:::i;:::-;;:::i;:::-;;;1192:14:128;;1185:22;1167:41;;1155:2;1140:18;5995:573:27;1027:187:128;4847:195:27;5007:18;5001:25;4847:195;;;1365:25:128;;;1353:2;1338:18;4847:195:27;1219:177:128;1603:189:127;;;;;;:::i;:::-;;:::i;787:98::-;869:9;;787:98;;869:9;;;;1876:36:128;;1864:2;1849:18;787:98:127;1734:184:128;17096:1062:27;;;:::i;1798:184:127:-;;;;;;:::i;:::-;;:::i;891:102::-;;;;;;:::i;:::-;;:::i;:::-;;5108:286:27;;;;;;:::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:127;;;:::i;999:106::-;;;;;;:::i;:::-;;:::i;1988:184::-;;;;;;:::i;:::-;;:::i;1449:148::-;;;;;;:::i;:::-;;:::i;1268:175::-;;;;;;:::i;:::-;;:::i;14027:3010:27:-;;;;;;:::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:127;;;;;;:::i;:::-;;:::i;575:98::-;629:13;661:5;654:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;575:98;:::o;5995:573:27:-;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:27;5995:573;;;;:::o;1603:189:127:-;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:127:o;17096:1062:27:-;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:27;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:127:-;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:127: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:27:-;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:27;16838:12;;16833:67;16920:4;16913:15;-1:-1:-1;;16990:1:27;16984:4;16977:15;-1:-1:-1;;;;;;14027:3010:27:o;1111:151:127:-;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:27:-;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:27;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:27;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:127;;:::o;20140:1119:27:-;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:27;;;21162:22;;;21135:25;21129:4;-1:-1:-1;21118:70:27;891:102:127;;:::o;7890:1035:27:-;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:27;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:27;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:127;;;:::o;14:548:128:-;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:128: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:128;;;;2874:5;2926:3;2911:19;;2898:33;;-1:-1:-1;2978:3:128;2963:19;;;2950:33;;2296:693;-1:-1:-1;;2296:693:128: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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":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/\",\":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/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","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/","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},"id":127} \ No newline at end of file diff --git a/pkg/contracts/script/DeployCV.s.sol b/pkg/contracts/script/DeployCV.s.sol index 5936fdd8d..a4208674a 100644 --- a/pkg/contracts/script/DeployCV.s.sol +++ b/pkg/contracts/script/DeployCV.s.sol @@ -58,7 +58,8 @@ contract DeployCV is Native, CVStrategyHelpers, Script, SafeSetup { registry = allo.getRegistry(); - sybilScorer = new PassportScorer(scorer_list_manager()); + sybilScorer = new PassportScorer(); + sybilScorer.initialize(scorer_list_manager()); registryFactory = new RegistryFactory(); diff --git a/pkg/contracts/src/ISybilScorer.sol b/pkg/contracts/src/ISybilScorer.sol index 4e44588fc..6163c3c69 100644 --- a/pkg/contracts/src/ISybilScorer.sol +++ b/pkg/contracts/src/ISybilScorer.sol @@ -13,6 +13,7 @@ struct Strategy { } interface ISybilScorer { + function initialize(address _listManager) external; function addUserScore(address _user, PassportData memory _passportData) external; function removeUser(address _user) external; function changeListManager(address _newManager) external; diff --git a/pkg/contracts/src/PassportScorer.sol b/pkg/contracts/src/PassportScorer.sol index 0d5a01e61..551a4fa0c 100644 --- a/pkg/contracts/src/PassportScorer.sol +++ b/pkg/contracts/src/PassportScorer.sol @@ -1,10 +1,12 @@ // SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity ^0.8.19; -import {Ownable} from "openzeppelin-contracts/contracts/access/Ownable.sol"; import {ISybilScorer, PassportData, Strategy} from "./ISybilScorer.sol"; +import {UUPSUpgradeable} from "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol"; +import {OwnableUpgradeable} from "openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol"; +import {Initializable} from "openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol"; -contract PassportScorer is Ownable, ISybilScorer { +contract PassportScorer is Initializable, UUPSUpgradeable, OwnableUpgradeable, ISybilScorer { address public listManager; mapping(address => PassportData) public userScores; @@ -53,7 +55,8 @@ contract PassportScorer is Ownable, ISybilScorer { } } - constructor(address _listManager) Ownable() { + function initialize(address _listManager) public initializer { + __Ownable_init(); _revertZeroAddress(_listManager); listManager = _listManager; } @@ -132,9 +135,9 @@ contract PassportScorer is Ownable, ISybilScorer { return userScore.score >= strategy.threshold; } + /// @notice Get the score of a user /// @param _user address of the user to check - function getUserScore(address _user) external view returns (PassportData memory) { return userScores[_user]; } @@ -144,4 +147,6 @@ contract PassportScorer is Ownable, ISybilScorer { function getStrategy(address _strategy) external view returns (Strategy memory) { return strategies[_strategy]; } + + function _authorizeUpgrade(address) internal override onlyOwner {} } diff --git a/pkg/contracts/test/CVStrategyTest.t.sol b/pkg/contracts/test/CVStrategyTest.t.sol index 33ecba650..dabf5f089 100644 --- a/pkg/contracts/test/CVStrategyTest.t.sol +++ b/pkg/contracts/test/CVStrategyTest.t.sol @@ -104,7 +104,9 @@ contract CVStrategyTest is Test, AlloSetup, RegistrySetupFull, CVStrategyHelpers registryCommunity = RegistryCommunity(registryFactory.createRegistry(params)); - passportScorer = new PassportScorer(factoryOwner); + passportScorer = new PassportScorer(); + passportScorer.initialize(factoryOwner); + // passportScorer.transferOwnership(factoryOwner); vm.startPrank(factoryOwner); diff --git a/pkg/contracts/test/PassportScorerTest.t.sol b/pkg/contracts/test/PassportScorerTest.t.sol index e02d05dc7..022ae64ee 100644 --- a/pkg/contracts/test/PassportScorerTest.t.sol +++ b/pkg/contracts/test/PassportScorerTest.t.sol @@ -14,7 +14,8 @@ contract PassportScorerTest is Test { PassportData public passportData; function setUp() public { - passportScorer = new PassportScorer(listManager); + passportScorer = new PassportScorer(); + passportScorer.initialize(listManager); passportData = PassportData({score: 100, lastUpdated: block.timestamp}); } diff --git a/remappings.txt b/remappings.txt index c3e121938..e0e98456e 100644 --- a/remappings.txt +++ b/remappings.txt @@ -1,33 +1,6 @@ -@openzeppelin/contracts/=lib/allo-v2/lib/openzeppelin-contracts/contracts/ -@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/=lib/allo-v2/ -ds-test/=lib/allo-v2/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/allo-v2/lib/openzeppelin-contracts-upgradeable/ -openzeppelin-contracts/=lib/openzeppelin-contracts/ -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/ -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/ -safe-contracts/=lib/safe-contracts/ allo-v2/=lib/allo-v2/ allo-v2-contracts/=lib/allo-v2/contracts/ allo-v2-test/=lib/allo-v2/test/ +@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/ +@openzeppelin/foundry/=lib/openzeppelin-foundry-upgrades/src/ +@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/ \ No newline at end of file