diff --git a/.prettierrc.json b/.prettierrc.json index fa6a26e50..c92533ea1 100644 --- a/.prettierrc.json +++ b/.prettierrc.json @@ -14,20 +14,14 @@ "^~/(.*)$", "^[./]" ], - "importOrderParserPlugins": [ - "typescript", - "jsx", - "decorators-legacy" - ], + "importOrderParserPlugins": ["typescript", "jsx", "decorators-legacy"], "importOrderTypeScriptVersion": "4.4.0", "overrides": [ { - "files": [ - "*.yaml|*.yml" - ], + "files": ["*.yaml|*.yml"], "options": { "bracketSpacing": false } } ] -} \ No newline at end of file +} diff --git a/.vscode/settings.json b/.vscode/settings.json index 83f5f6101..c39d26c1c 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,8 +2,8 @@ "solidity.packageDefaultDependenciesContractsDirectory": "pkg/contracts/src", "solidity.packageDefaultDependenciesDirectory": "lib", "[solidity]": { - "editor.defaultFormatter": "NomicFoundation.hardhat-solidity", + "editor.defaultFormatter": "JuanBlanco.solidity", "editor.formatOnSave": true }, - "solidity.formatter": "forge", + "solidity.formatter": "forge" } diff --git a/package.json b/package.json index 1e9bda0ec..9c90b21f7 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "devDependencies": { "eslint-config-custom": "workspace:*", "prettier": "latest", + "prettier-plugin-solidity": "^1.3.1", "turbo": "^1.7.4" }, "engines": { @@ -25,4 +26,4 @@ "@typescript-eslint/parser": "6.18.2-alpha.2" }, "packageManager": "pnpm@7.16.1" -} \ 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 1e46b7afd..451411de9 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":"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":"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":"sybilConfig","type":"tuple","internalType":"struct StrategyStruct.SybilConfig","components":[{"name":"sybilOracleScorer","type":"address","internalType":"address"},{"name":"threshold","type":"uint256","internalType":"uint256"}]}]}],"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":"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":"UserIsInactive","inputs":[]},{"type":"error","name":"UserNotInRegistry","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x60c0604052600060065560006009553480156200001b57600080fd5b5060405162004ab338038062004ab38339810160408190526200003e91620000a6565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200008191839101620000d8565b60408051601f19818403018152919052805160209091012060a0525062000128915050565b600060208284031215620000b957600080fd5b81516001600160a01b0381168114620000d157600080fd5b9392505050565b600060208083528351808285015260005b818110156200010757858101830151858201604001528201620000e9565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516149506200016360003960006105de0152600081816104720152818161188f015281816119220152611bab01526149506000f3fe60806040526004361061033f5760003560e01c806376365af7116101ae578063b5f620ce116100eb578063e0dd2c381161008f578063edd146cc1161006c578063edd146cc14610a09578063ef2920fc14610a29578063f5b0dfb714610a3c578063fc1711f214610a5c57005b8063e0dd2c381461099c578063e33add93146109bc578063eb11af93146109dc57005b8063c7f758a8116100c8578063c7f758a814610909578063d1e362321461093f578063dc96ff2d14610954578063df868ed31461098457005b8063b5f620ce14610896578063bcc5b93b146108b6578063c3292171146108ec57005b8063950559d711610152578063a47ff7e51161012f578063a47ff7e51461080f578063a574cea414610826578063aba9ffee14610853578063b2b878d01461086957005b8063950559d7146107b1578063a0cf0aea146107d1578063a1aab33f146107f957005b8063814516ad1161018b578063814516ad14610746578063817b1cd21461075b578063824ea8ed14610771578063868c57b81461079157005b806376365af7146106fa578063782aadff146107105780637c6570ba1461073057005b80632ed04b2b1161027c5780634d31d087116102205780635db64b99116101fd5780635db64b991461066d5780636003e4141461069a5780636453d9c4146106ba57806369fa25c4146106da57005b80634d31d0871461061757806354fac9191461063757806359a5db8b1461064d57005b806338fff2d01161025957806338fff2d0146105a5578063406244d8146105ba57806342fda9c7146105cf5780634ab4ba421461060257005b80632ed04b2b1461053e578063346db8cb1461055e578063351d9f961461057e57005b806311f22ae3116102e35780631ddf1e23116102c05780631ddf1e23146104ca5780632bbe0cae146104df5780632cefadbb146104f25780632dbd6fdd1461051257005b806311f22ae31461044357806315cc481e146104635780631aa91a9e146104aa57005b80630a6f0ee91161031c5780630a6f0ee9146103d75780630ba95909146103f75780630c0512e9146104165780630f529ba21461042c57005b8063013cf08b1461034857806301ffc9a714610387578063058aca44146103b757005b3661034657005b005b34801561035457600080fd5b506103686103633660046138e1565b610a7c565b60405161037e9a9998979695949392919061399b565b60405180910390f35b34801561039357600080fd5b506103a76103a2366004613a0e565b610b8a565b604051901515815260200161037e565b3480156103c357600080fd5b506103466103d2366004613a65565b610c23565b3480156103e357600080fd5b506103466103f2366004613c6d565b610c90565b34801561040357600080fd5b50600c545b60405190815260200161037e565b34801561042257600080fd5b5061040860065481565b34801561043857600080fd5b506104086298968081565b34801561044f57600080fd5b5061034661045e3660046138e1565b610cb0565b34801561046f57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b03909116815260200161037e565b3480156104b657600080fd5b506104086104c53660046138e1565b610cef565b3480156104d657600080fd5b50610346610d7a565b6104926104ed366004613ce5565b610d85565b3480156104fe57600080fd5b5061034661050d3660046138e1565b610da8565b34801561051e57600080fd5b50600b5461053190610100900460ff1681565b60405161037e9190613d47565b34801561054a57600080fd5b50610408610559366004613d55565b610df4565b34801561056a57600080fd5b50610408610579366004613d81565b610ec6565b34801561058a57600080fd5b50600b546105989060ff1681565b60405161037e9190613dbd565b3480156105b157600080fd5b50600154610408565b3480156105c657600080fd5b50610408600a81565b3480156105db57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610408565b34801561060e57600080fd5b50600254610408565b34801561062357600080fd5b506103a7610632366004613a65565b610f6b565b34801561064357600080fd5b5061040860035481565b34801561065957600080fd5b506104086106683660046138e1565b610f76565b34801561067957600080fd5b50610408610688366004613a65565b600f6020526000908152604090205481565b3480156106a657600080fd5b50600d54610492906001600160a01b031681565b3480156106c657600080fd5b506103466106d5366004613a65565b6110b3565b3480156106e657600080fd5b506103466106f53660046138e1565b6110c7565b34801561070657600080fd5b5061040860045481565b34801561071c57600080fd5b5061040861072b366004613d55565b611106565b34801561073c57600080fd5b5061040860095481565b34801561075257600080fd5b50610346611282565b34801561076757600080fd5b5061040860075481565b34801561077d57600080fd5b506103a761078c3660046138e1565b61138c565b34801561079d57600080fd5b506104086107ac366004613d55565b6113e9565b3480156107bd57600080fd5b506104086107cc3660046138e1565b61141a565b3480156107dd57600080fd5b5061049273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801561080557600080fd5b5061040860055481565b34801561081b57600080fd5b50600c546104089081565b34801561083257600080fd5b506108466108413660046138e1565b611444565b60405161037e9190613dcb565b34801561085f57600080fd5b5061040860085481565b34801561087557600080fd5b50610889610884366004613dde565b611523565b60405161037e9190613eb3565b3480156108a257600080fd5b506103466108b1366004613f21565b61153e565b3480156108c257600080fd5b506104086108d1366004613a65565b6001600160a01b03166000908152600f602052604090205490565b3480156108f857600080fd5b50600b54610100900460ff16610531565b34801561091557600080fd5b506109296109243660046138e1565b611547565b60405161037e9a99989796959493929190613f3e565b34801561094b57600080fd5b50600854610408565b34801561096057600080fd5b5061040861096f3660046138e1565b6000908152600e602052604090206002015490565b34801561099057600080fd5b5060005460ff166103a7565b3480156109a857600080fd5b506104086109b7366004613fa3565b611649565b3480156109c857600080fd5b506103466109d7366004613fc8565b611674565b3480156109e857600080fd5b506109fc6109f7366004613a65565b61168d565b60405161037e9190614073565b348015610a1557600080fd5b50610346610a2436600461408d565b611698565b610346610a37366004613ce5565b6117c6565b348015610a4857600080fd5b50610346610a573660046138e1565b6117e4565b348015610a6857600080fd5b50610346610a773660046138e1565b61180d565b600e602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610b03906140d4565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2f906140d4565b8015610b7c5780601f10610b5157610100808354040283529160200191610b7c565b820191906000526020600020905b815481529060010190602001808311610b5f57829003601f168201915b50505050508152505090508a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff1801e61000000000000000000000000000000000000000000000000000000001480610c1d57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33610c2d8161184c565b600d805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906020015b60405180910390a15050565b610c98611917565b610ca0611960565b610cab83838361199c565b505050565b33610cba8161184c565b60048290556040518281527f08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab90602001610c84565b6000818152600e6020526040812080548314610d265760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6001600882015460ff166004811115610d4157610d416138fa565b14610d62576040516344980d8f60e01b815260048101849052602401610d1d565b610d70818260020154611cd3565b6003015492915050565b610d8333611d0e565b565b6000610d8f611917565b610d97611960565b610da18383611e5f565b9392505050565b33610db28161184c565b60095460408051918252602082018490527f056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b910160405180910390a150600955565b6000610dfe612197565b60006002600b54610100900460ff166003811115610e1e57610e1e6138fa565b1480610e4557506001600b54610100900460ff166003811115610e4357610e436138fa565b145b15610e51575081610e5e565b610e5b84846121db565b90505b8060086000828254610e70919061411e565b9091555050604080516001600160a01b0386168152602081018590529081018290527f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19060600160405180910390a19392505050565b6000808490506000610eec629896806080600354901b610ee69190614147565b8361249f565b905060806f8000000000000000000000000000000060035462989680610f12919061411e565b610f2084600160801b61411e565b610f2d6298968089614169565b610f379190614169565b610f419190614147565b610f4b8885614169565b610f559190614180565b610f5f9190614180565b901c9695505050505050565b6000610c1d82612548565b60008060025411610fb3576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fbc82612568565b15610fda57604051630efd728560e21b815260040160405180910390fd5b600254600090610ff38468010000000000000000614169565b610ffd9190614147565b62989680600454680100000000000000006110189190614169565b6110229190614147565b61102c919061411e565b9050604061103960085490565b600354611049906298968061411e565b6298968060406110598680614169565b901c629896806080600554901b6110709190614147565b61107a9190614147565b6110849190614169565b61108e9190614147565b6110989190614169565b901c915060095482116110ad57600954610da1565b50919050565b6110bb612197565b6110c481611d0e565b50565b336110d18161184c565b60038290556040518281527f592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f290602001610c84565b6000611110612197565b60006002600b54610100900460ff166003811115611130576111306138fa565b0361113e57825b905061119b565b6001600b54610100900460ff16600381111561115c5761115c6138fa565b0361116b57611137848461258f565b6003600b54610100900460ff166003811115611189576111896138fa565b0361119b5761119884846126f5565b90505b600d5460405163011de97360e61b81526001600160a01b038681166004830152306024830152600092169063477a5cc090604401602060405180830381865afa1580156111ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112109190614193565b9050801561123057816008600082825461122a9190614180565b90915550505b604080516001600160a01b0387168152602081018690529081018390527f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a9060600160405180910390a1509392505050565b600d546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081523360048201819052306024830152916001600160a01b031690630d4a8b4990604401600060405180830381600087803b1580156112e757600080fd5b505af11580156112fb573d6000803e3d6000fd5b5050600d54604051637817ee4f60e01b81526001600160a01b0385811660048301523060248301529091169250637817ee4f9150604401602060405180830381865afa15801561134f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137391906141b0565b600860008282546113849190614180565b909155505050565b6000818152600e602052604081206002810154829081906113ae90849061293c565b915091508160001480156113c0575080155b156113cd57826003015491505b60006113dc8460010154610f76565b9092101595945050505050565b6010602052816000526040600020818154811061140557600080fd5b90600052602060002001600091509150505481565b60006003546298968061142d919061411e565b61143a6298968084614169565b610c1d9190614147565b6040805180820190915260008152606060208201526000600e6000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054611499906140d4565b80601f01602080910402602001604051908101604052809291908181526020018280546114c5906140d4565b80156115125780601f106114e757610100808354040283529160200191611512565b820191906000526020600020905b8154815290600101906020018083116114f557829003601f168201915b505050505081525050915050919050565b606060405163d623472560e01b815260040160405180910390fd5b6110c481612994565b6000806000806000806000806000806000600e60008d81526020019081526020016000209050806001015460001461158b576115868160010154610f76565b61158e565b60005b92508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548a896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000828152600e602090815260408083206001600160a01b0385168452600901909152812054610da1565b60405163d623472560e01b815260040160405180910390fd5b6000610c1d826129d5565b6116a1826129f5565b6000818060200190518101906116b79190614274565b80519091506001600160a01b03166116e257604051635df4b1ef60e01b815260040160405180910390fd5b8051600d805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516003556040810151600455606081015160055560a0810151600b805460ff19166001836002811115611749576117496138fa565b021790555060c0810151600b805461ff001916610100836003811115611771576117716138fa565b021790555060e081015151600c5560808101516009556040517f8de50bebef1bd84245c2bf562892194bb7f5f441c7f848c1aa181f1e4e191e42906117b99085908490614310565b60405180910390a1505050565b6117ce611917565b6117d6611960565b6117e08282612a76565b5050565b6117ec611917565b80600260008282546117fe9190614180565b909155506110c4905081612b5f565b336118178161184c565b60058290556040518281527f30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb4990602001610c84565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa1580156118d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fa9190614193565b6110c45760405163075fd2b160e01b815260040160405180910390fd5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d835760405163075fd2b160e01b815260040160405180910390fd5b600154600003610d83576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008251116119d7576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906119ed91906141b0565b905080600003611a29576040517ff881a10d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152600e602052604090206001600b5460ff166002811115611a5057611a506138fa565b03611ccc5780548214611a795760405163c1d17bef60e01b815260048101839052602401610d1d565b60025481600101541115611ad15760018101546002546040517f5863b0b60000000000000000000000000000000000000000000000000000000081526004810185905260248101929092526044820152606401610d1d565b6001600882015460ff166004811115611aec57611aec6138fa565b14611b0d576040516344980d8f60e01b815260048101839052602401610d1d565b6000611b1883610cef565b90506000611b298360010154610f76565b90508082108015611b3e575060008360010154115b15611b75576040517fcce7930800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d91611be29160040190815260200190565b600060405180830381865afa158015611bff573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c27919081019061443c565b9050836001015460026000828254611c3f919061411e565b9091555050604081015160048501546001860154611c6792916001600160a01b031690612b8f565b60088401805460ff191660049081179091558401546001850154604080518881526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a15050505b5050505050565b600080611ce0848461293c565b91509150816000148015611cf2575080155b15611cfd5750505050565b600784015560039092019190915550565b600d54604051637817ee4f60e01b81526001600160a01b03838116600483015230602483015290911690637817ee4f90604401602060405180830381865afa158015611d5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d8291906141b0565b60086000828254611d93919061411e565b9091555050600d546040517f22bcf9990000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152909116906322bcf99990604401600060405180830381600087803b158015611dfe57600080fd5b505af1158015611e12573d6000803e3d6000fd5b50505050611e1f81612bd4565b6040516001600160a01b03821681527f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b906020015b60405180910390a150565b60008083806020019051810190611e7691906144f0565b8051909150600003611eb4576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600b5460ff166002811115611ecd57611ecd6138fa565b0361207d57611edf8160200151612cff565b60608101516001600160a01b0316611f23576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f879190614597565b6001600160a01b031663068bcd8d6001546040518263ffffffff1660e01b8152600401611fb691815260200190565b600060405180830381865afa158015611fd3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ffb919081019061443c565b604001519050806001600160a01b031682606001516001600160a01b031614612050576040517fa29c498600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61205d8260400151612568565b1561207b57604051630efd728560e21b815260040160405180910390fd5b505b600060066000815461208e906145b4565b91829055506000818152600e602090815260408083208481556005810180546001600160a01b038b811673ffffffffffffffffffffffffffffffffffffffff19928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b84019061214f908261461b565b505060015460408051918252602082018590527ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b92500160405180910390a150949350505050565b600d546001600160a01b03163314610d83576040517faf0916a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d54604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa15801561222b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061224f9190614597565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156122a8575060408051601f3d908101601f191682019092526122a5918101906146db565b60015b6122ef576122ea6040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250612d3f565b6122f5565b60ff1690505b6123346040518060400160405280601081526020017f5f616d6f756e74546f556e7374616b650000000000000000000000000000000081525084612db0565b600d546040516316308e2560e11b81526001600160a01b0386811660048301526000928692911690632c611c4a90602401602060405180830381865afa158015612382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a691906141b0565b6123b0919061411e565b90506123f16040518060400160405280600d81526020017f6e6577546f74616c5374616b650000000000000000000000000000000000000081525082612db0565b600061241061240184600a6147e2565b61240b9084614169565b612e23565b600d54604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009284921690637817ee4f90604401602060405180830381865afa158015612466573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061248a91906141b0565b612494919061411e565b979650505050505050565b6000600160801b83106124f45760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610d1d565b50600160801b82825b80156125405780600116600003612522576125188283612f0b565b915060011c6124fd565b61252c8383612f0b565b925061253960018261411e565b90506124fd565b505092915050565b60006001600160a01b03821615612560576001610c1d565b600092915050565b60006125776298968083614169565b6002546004546125879190614169565b111592915050565b6000808290506125d46040518060400160405280601281526020017f504f494e545320544f20494e435245415345000000000000000000000000000081525082612db0565b600d54604051637817ee4f60e01b81526001600160a01b0386811660048301523060248301526000921690637817ee4f90604401602060405180830381865afa158015612625573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061264991906141b0565b905061268a6040518060400160405280600b81526020017f4d454d424552504f57455200000000000000000000000000000000000000000081525082612db0565b600c546126978383614180565b11156126ae57600c546126ab90829061411e565b91505b6126ed6040518060400160405280601681526020017f504f494e545320544f20494e43524541534520454e440000000000000000000081525083612db0565b509392505050565b600d546040516316308e2560e11b81526001600160a01b0384811660048301526000928392859290911690632c611c4a90602401602060405180830381865afa158015612746573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061276a91906141b0565b6127749190614180565b600d54604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa1580156127c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127e89190614597565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612841575060408051601f3d908101601f1916820190925261283e918101906146db565b60015b612888576128836040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250612d3f565b61288e565b60ff1690505b60006128a861289e83600a6147e2565b61240b9085614169565b600d54604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa1580156128fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061292291906141b0565b90506000612930828461411e565b98975050505050505050565b6000804390508084600701541115612956576129566147ee565b8084600701540361296c5750600090508061298d565b61298a84600701548261297f919061411e565b856003015485610ec6565b91505b9250929050565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001611e54565b60006001600160a01b038216156129ed576002610c1d565b600392915050565b6129fd611917565b60015415612a37576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003612a71576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b612a7f8161300a565b600d5460405163011de97360e61b81526001600160a01b038381166004830152306024830152600092169063477a5cc090604401602060405180830381865afa158015612ad0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612af49190614193565b905080612b2d576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083806020019051810190612b439190614804565b9050612b4f8382613130565b612b5983826132f3565b50505050565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001611e54565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601612bc957610cab8282613717565b610cab838383613733565b6001600160a01b038116600090815260106020908152604080832080548251818502810185019093528083529192909190830182828015612c3457602002820191906000526020600020905b815481526020019060010190808311612c20575b5050505050905060005b8151811015610cab576000828281518110612c5b57612c5b6148af565b602002602001015190506000600e60008381526020019081526020016000209050612c8582613782565b15612cea576001600160a01b0385166000908152600982016020526040812080549082905560028301805491928392612cbf90849061411e565b925050819055508060076000828254612cd8919061411e565b90915550612ce890508282611cd3565b505b50508080612cf7906145b4565b915050612c3e565b6001600160a01b0381166110c4576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110c481604051602401612d5391906148c5565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac000000000000000000000000000000000000000000000000000000001790526137bb565b6117e08282604051602401612dc69291906148d8565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d0000000000000000000000000000000000000000000000000000000001790526137bb565b600081600003612e3557506000919050565b60006001612e42846137dc565b901c6001901b90506001818481612e5b57612e5b614131565b048201901c90506001818481612e7357612e73614131565b048201901c90506001818481612e8b57612e8b614131565b048201901c90506001818481612ea357612ea3614131565b048201901c90506001818481612ebb57612ebb614131565b048201901c90506001818481612ed357612ed3614131565b048201901c90506001818481612eeb57612eeb614131565b048201901c9050610da181828581612f0557612f05614131565b04613870565b6000600160801b831115612f875760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610d1d565b600160801b8210612fda5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610d1d565b60806f80000000000000000000000000000000612ff78486614169565b6130019190614180565b901c9392505050565b6001600160a01b03811661304a576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d546001600160a01b031661307357604051635df4b1ef60e01b815260040160405180910390fd5b600d546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063a230c52490602401602060405180830381865afa1580156130d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130fa9190614193565b6110c4576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b82518110156131ed5782818151811061314f5761314f6148af565b602002602001015160000151600003156131db576000838281518110613177576131776148af565b602002602001015160000151905061318e81613782565b6131ae5760405163c1d17bef60e01b815260048101829052602401610d1d565b8382815181106131c0576131c06148af565b602002602001015160200151836131d791906148fa565b9250505b806131e5816145b4565b915050613134565b506001600160a01b0383166000908152600f60205260408120546132119083613886565b600d54604051637817ee4f60e01b81526001600160a01b03878116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa158015613267573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061328b91906141b0565b9050808211156132d1576040517fd64182fe0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610d1d565b506001600160a01b039093166000908152600f60205260409020929092555050565b606060005b8251811015612b59576000838281518110613315576133156148af565b602002602001015160000151905082516000036133715760408051600180825281830190925290602080830190803683370190505092508083600081518110613360576133606148af565b6020026020010181815250506134c4565b6000805b84518110156133f05782858281518110613391576133916148af565b6020026020010151036133de576040517fadebb154000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260019250604401610d1d565b806133e8816145b4565b915050613375565b50806134c2576000845160016134069190614180565b67ffffffffffffffff81111561341e5761341e613a82565b604051908082528060200260200182016040528015613447578160200160208202803683370190505b50905060005b855181101561349f57858181518110613468576134686148af565b6020026020010151828281518110613482576134826148af565b602090810291909101015280613497816145b4565b91505061344d565b5082818651815181106134b4576134b46148af565b602090810291909101015293505b505b60008483815181106134d8576134d86148af565b6020908102919091018101518101516000848152600e835260408082206001600160a01b038b168352600981019094528120549193506135188285613886565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152601060205260409020548110156135b15784546001600160a01b038c166000908152601060205260409020805483908110613586576135866148af565b90600052602060002001540361359f57600191506135b1565b806135a9816145b4565b91505061353a565b50806135e7576001600160a01b038a16600090815260106020908152604082208654815460018101835591845291909220909101555b818311613637576135f8838361411e565b600760008282546136099190614180565b909155506136199050838361411e565b84600201600082825461362c9190614180565b9091555061367b9050565b613641828461411e565b60076000828254613652919061411e565b909155506136629050828461411e565b846002016000828254613675919061411e565b90915550505b8360070154600003613692574360078501556136fe565b61369c8484611cd3565b60028401546003850154604080516001600160a01b038e168152602081018a9052908101859052606081019290925260808201527f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9060a00160405180910390a15b505050505050808061370f906145b4565b9150506132f8565b60008060008084865af16117e05763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716613778576390b8ec186000526004601cfd5b6000603452505050565b6000818152600e602052604081205415801590610c1d5750506000908152600e60205260409020600501546001600160a01b0316151590565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080608083901c156137f157608092831c92015b604083901c1561380357604092831c92015b602083901c1561381557602092831c92015b601083901c1561382757601092831c92015b600883901c1561383957600892831c92015b600483901c1561384b57600492831c92015b600283901c1561385d57600292831c92015b600183901c15610c1d5760010192915050565b600081831061387f5781610da1565b5090919050565b60008061389383856148fa565b90506000811215610da1576040517f3bbc7142000000000000000000000000000000000000000000000000000000008152600481018590526024810184905260448101829052606401610d1d565b6000602082840312156138f357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60058110613920576139206138fa565b9052565b60005b8381101561393f578181015183820152602001613927565b50506000910152565b60008151808452613960816020860160208601613924565b601f01601f19169290920160200192915050565b8051825260006020820151604060208501526139936040850182613948565b949350505050565b60006101408c83528b60208401528a60408401528960608401526001600160a01b03808a16608085015280891660a085015280881660c0850152508560e08401526139ea610100840186613910565b806101208401526139fd81840185613974565b9d9c50505050505050505050505050565b600060208284031215613a2057600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610da157600080fd5b6001600160a01b03811681146110c457600080fd5b600060208284031215613a7757600080fd5b8135610da181613a50565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715613abb57613abb613a82565b60405290565b604051610120810167ffffffffffffffff81118282101715613abb57613abb613a82565b60405160c0810167ffffffffffffffff81118282101715613abb57613abb613a82565b60405160a0810167ffffffffffffffff81118282101715613abb57613abb613a82565b604051601f8201601f1916810167ffffffffffffffff81118282101715613b5457613b54613a82565b604052919050565b600067ffffffffffffffff821115613b7657613b76613a82565b5060051b60200190565b600082601f830112613b9157600080fd5b81356020613ba6613ba183613b5c565b613b2b565b82815260059290921b84018101918181019086841115613bc557600080fd5b8286015b84811015613be9578035613bdc81613a50565b8352918301918301613bc9565b509695505050505050565b600067ffffffffffffffff821115613c0e57613c0e613a82565b50601f01601f191660200190565b600082601f830112613c2d57600080fd5b8135613c3b613ba182613bf4565b818152846020838601011115613c5057600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613c8257600080fd5b833567ffffffffffffffff80821115613c9a57600080fd5b613ca687838801613b80565b94506020860135915080821115613cbc57600080fd5b50613cc986828701613c1c565b9250506040840135613cda81613a50565b809150509250925092565b60008060408385031215613cf857600080fd5b823567ffffffffffffffff811115613d0f57600080fd5b613d1b85828601613c1c565b9250506020830135613d2c81613a50565b809150509250929050565b60048110613920576139206138fa565b60208101610c1d8284613d37565b60008060408385031215613d6857600080fd5b8235613d7381613a50565b946020939093013593505050565b600080600060608486031215613d9657600080fd5b505081359360208301359350604090920135919050565b60038110613920576139206138fa565b60208101610c1d8284613dad565b602081526000610da16020830184613974565b60008060408385031215613df157600080fd5b823567ffffffffffffffff80821115613e0957600080fd5b613e1586838701613b80565b9350602091508185013581811115613e2c57600080fd5b8501601f81018713613e3d57600080fd5b8035613e4b613ba182613b5c565b81815260059190911b82018401908481019089831115613e6a57600080fd5b8584015b83811015613ea257803586811115613e865760008081fd5b613e948c8983890101613c1c565b845250918601918601613e6e565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015613f0657613ef684835180516001600160a01b03168252602090810151910152565b9284019290850190600101613ed0565b5091979650505050505050565b80151581146110c457600080fd5b600060208284031215613f3357600080fd5b8135610da181613f13565b6001600160a01b038b811682528a811660208301528916604082015260608101889052608081018790526101408101613f7a60a0830188613910565b8560c08301528460e083015283610100830152826101208301529b9a5050505050505050505050565b60008060408385031215613fb657600080fd5b823591506020830135613d2c81613a50565b60006020808385031215613fdb57600080fd5b823567ffffffffffffffff811115613ff257600080fd5b8301601f8101851361400357600080fd5b8035614011613ba182613b5c565b81815260069190911b8201830190838101908783111561403057600080fd5b928401925b82841015612494576040848903121561404e5760008081fd5b614056613a98565b843581528585013586820152825260409093019290840190614035565b6020810160078310614087576140876138fa565b91905290565b600080604083850312156140a057600080fd5b82359150602083013567ffffffffffffffff8111156140be57600080fd5b6140ca85828601613c1c565b9150509250929050565b600181811c908216806140e857607f821691505b6020821081036110ad57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610c1d57610c1d614108565b634e487b7160e01b600052601260045260246000fd5b60008261416457634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c1d57610c1d614108565b80820180821115610c1d57610c1d614108565b6000602082840312156141a557600080fd5b8151610da181613f13565b6000602082840312156141c257600080fd5b5051919050565b80516141d481613a50565b919050565b8051600381106141d457600080fd5b8051600481106141d457600080fd5b60006020828403121561420957600080fd5b6040516020810181811067ffffffffffffffff8211171561422c5761422c613a82565b6040529151825250919050565b60006040828403121561424b57600080fd5b614253613a98565b9050815161426081613a50565b808252506020820151602082015292915050565b6000610140828403121561428757600080fd5b61428f613ac1565b614298836141c9565b8152602083015160208201526040830151604082015260608301516060820152608083015160808201526142ce60a084016141d9565b60a08201526142df60c084016141e8565b60c08201526142f18460e085016141f7565b60e082015261010061430585828601614239565b908201529392505050565b6000610160820190508382526001600160a01b038351166020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015161436660c0840182613dad565b5060c083015161437960e0840182613d37565b5060e083015151610100838101919091529092015180516001600160a01b03166101208301526020015161014090910152919050565b6000604082840312156143c157600080fd5b6143c9613a98565b905081518152602082015167ffffffffffffffff8111156143e957600080fd5b8201601f810184136143fa57600080fd5b8051614408613ba182613bf4565b81815285602083850101111561441d57600080fd5b61442e826020830160208601613924565b602084015250909392505050565b60006020828403121561444e57600080fd5b815167ffffffffffffffff8082111561446657600080fd5b9083019060c0828603121561447a57600080fd5b614482613ae5565b82518152602083015161449481613a50565b602082015260408301516144a781613a50565b60408201526060830151828111156144be57600080fd5b6144ca878286016143af565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b60006020828403121561450257600080fd5b815167ffffffffffffffff8082111561451a57600080fd5b9083019060a0828603121561452e57600080fd5b614536613b08565b82518152602083015161454881613a50565b602082015260408381015190820152606083015161456581613a50565b606082015260808301518281111561457c57600080fd5b614588878286016143af565b60808301525095945050505050565b6000602082840312156145a957600080fd5b8151610da181613a50565b6000600182016145c6576145c6614108565b5060010190565b601f821115610cab57600081815260208120601f850160051c810160208610156145f45750805b601f850160051c820191505b8181101561461357828155600101614600565b505050505050565b815167ffffffffffffffff81111561463557614635613a82565b6146498161464384546140d4565b846145cd565b602080601f83116001811461467e57600084156146665750858301515b600019600386901b1c1916600185901b178555614613565b600085815260208120601f198616915b828110156146ad5788860151825594840194600190910190840161468e565b50858210156146cb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156146ed57600080fd5b815160ff81168114610da157600080fd5b600181815b8085111561473957816000190482111561471f5761471f614108565b8085161561472c57918102915b93841c9390800290614703565b509250929050565b60008261475057506001610c1d565b8161475d57506000610c1d565b8160018114614773576002811461477d57614799565b6001915050610c1d565b60ff84111561478e5761478e614108565b50506001821b610c1d565b5060208310610133831016604e8410600b84101617156147bc575081810a610c1d565b6147c683836146fe565b80600019048211156147da576147da614108565b029392505050565b6000610da18383614741565b634e487b7160e01b600052600160045260246000fd5b6000602080838503121561481757600080fd5b825167ffffffffffffffff81111561482e57600080fd5b8301601f8101851361483f57600080fd5b805161484d613ba182613b5c565b81815260069190911b8201830190838101908783111561486c57600080fd5b928401925b82841015612494576040848903121561488a5760008081fd5b614892613a98565b845181528585015186820152825260409093019290840190614871565b634e487b7160e01b600052603260045260246000fd5b602081526000610da16020830184613948565b6040815260006148eb6040830185613948565b90508260208301529392505050565b80820182811260008312801582168215821617156125405761254061410856fea26469706673582212205d1aa5a88b5f5546faee787f3e80e787a856de37186a40560d39d113f0308a9464736f6c63430008130033","sourceMap":"2822:37282:109:-:0;;;6387:1;6354:34;;6504:1;6467:38;;7496:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5210:135:11;;;;;;;;;;;-1:-1:-1;;;5210:135:11;;;;;;;;-1:-1:-1;;;;;5268:19:11;;;;5320:17;;7544:5:109;;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;2822:37282:109;;-1:-1:-1;;2822:37282:109;14:290:123;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:123;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:123: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;:::-;2822:37282:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361061033f5760003560e01c806376365af7116101ae578063b5f620ce116100eb578063e0dd2c381161008f578063edd146cc1161006c578063edd146cc14610a09578063ef2920fc14610a29578063f5b0dfb714610a3c578063fc1711f214610a5c57005b8063e0dd2c381461099c578063e33add93146109bc578063eb11af93146109dc57005b8063c7f758a8116100c8578063c7f758a814610909578063d1e362321461093f578063dc96ff2d14610954578063df868ed31461098457005b8063b5f620ce14610896578063bcc5b93b146108b6578063c3292171146108ec57005b8063950559d711610152578063a47ff7e51161012f578063a47ff7e51461080f578063a574cea414610826578063aba9ffee14610853578063b2b878d01461086957005b8063950559d7146107b1578063a0cf0aea146107d1578063a1aab33f146107f957005b8063814516ad1161018b578063814516ad14610746578063817b1cd21461075b578063824ea8ed14610771578063868c57b81461079157005b806376365af7146106fa578063782aadff146107105780637c6570ba1461073057005b80632ed04b2b1161027c5780634d31d087116102205780635db64b99116101fd5780635db64b991461066d5780636003e4141461069a5780636453d9c4146106ba57806369fa25c4146106da57005b80634d31d0871461061757806354fac9191461063757806359a5db8b1461064d57005b806338fff2d01161025957806338fff2d0146105a5578063406244d8146105ba57806342fda9c7146105cf5780634ab4ba421461060257005b80632ed04b2b1461053e578063346db8cb1461055e578063351d9f961461057e57005b806311f22ae3116102e35780631ddf1e23116102c05780631ddf1e23146104ca5780632bbe0cae146104df5780632cefadbb146104f25780632dbd6fdd1461051257005b806311f22ae31461044357806315cc481e146104635780631aa91a9e146104aa57005b80630a6f0ee91161031c5780630a6f0ee9146103d75780630ba95909146103f75780630c0512e9146104165780630f529ba21461042c57005b8063013cf08b1461034857806301ffc9a714610387578063058aca44146103b757005b3661034657005b005b34801561035457600080fd5b506103686103633660046138e1565b610a7c565b60405161037e9a9998979695949392919061399b565b60405180910390f35b34801561039357600080fd5b506103a76103a2366004613a0e565b610b8a565b604051901515815260200161037e565b3480156103c357600080fd5b506103466103d2366004613a65565b610c23565b3480156103e357600080fd5b506103466103f2366004613c6d565b610c90565b34801561040357600080fd5b50600c545b60405190815260200161037e565b34801561042257600080fd5b5061040860065481565b34801561043857600080fd5b506104086298968081565b34801561044f57600080fd5b5061034661045e3660046138e1565b610cb0565b34801561046f57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b03909116815260200161037e565b3480156104b657600080fd5b506104086104c53660046138e1565b610cef565b3480156104d657600080fd5b50610346610d7a565b6104926104ed366004613ce5565b610d85565b3480156104fe57600080fd5b5061034661050d3660046138e1565b610da8565b34801561051e57600080fd5b50600b5461053190610100900460ff1681565b60405161037e9190613d47565b34801561054a57600080fd5b50610408610559366004613d55565b610df4565b34801561056a57600080fd5b50610408610579366004613d81565b610ec6565b34801561058a57600080fd5b50600b546105989060ff1681565b60405161037e9190613dbd565b3480156105b157600080fd5b50600154610408565b3480156105c657600080fd5b50610408600a81565b3480156105db57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610408565b34801561060e57600080fd5b50600254610408565b34801561062357600080fd5b506103a7610632366004613a65565b610f6b565b34801561064357600080fd5b5061040860035481565b34801561065957600080fd5b506104086106683660046138e1565b610f76565b34801561067957600080fd5b50610408610688366004613a65565b600f6020526000908152604090205481565b3480156106a657600080fd5b50600d54610492906001600160a01b031681565b3480156106c657600080fd5b506103466106d5366004613a65565b6110b3565b3480156106e657600080fd5b506103466106f53660046138e1565b6110c7565b34801561070657600080fd5b5061040860045481565b34801561071c57600080fd5b5061040861072b366004613d55565b611106565b34801561073c57600080fd5b5061040860095481565b34801561075257600080fd5b50610346611282565b34801561076757600080fd5b5061040860075481565b34801561077d57600080fd5b506103a761078c3660046138e1565b61138c565b34801561079d57600080fd5b506104086107ac366004613d55565b6113e9565b3480156107bd57600080fd5b506104086107cc3660046138e1565b61141a565b3480156107dd57600080fd5b5061049273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801561080557600080fd5b5061040860055481565b34801561081b57600080fd5b50600c546104089081565b34801561083257600080fd5b506108466108413660046138e1565b611444565b60405161037e9190613dcb565b34801561085f57600080fd5b5061040860085481565b34801561087557600080fd5b50610889610884366004613dde565b611523565b60405161037e9190613eb3565b3480156108a257600080fd5b506103466108b1366004613f21565b61153e565b3480156108c257600080fd5b506104086108d1366004613a65565b6001600160a01b03166000908152600f602052604090205490565b3480156108f857600080fd5b50600b54610100900460ff16610531565b34801561091557600080fd5b506109296109243660046138e1565b611547565b60405161037e9a99989796959493929190613f3e565b34801561094b57600080fd5b50600854610408565b34801561096057600080fd5b5061040861096f3660046138e1565b6000908152600e602052604090206002015490565b34801561099057600080fd5b5060005460ff166103a7565b3480156109a857600080fd5b506104086109b7366004613fa3565b611649565b3480156109c857600080fd5b506103466109d7366004613fc8565b611674565b3480156109e857600080fd5b506109fc6109f7366004613a65565b61168d565b60405161037e9190614073565b348015610a1557600080fd5b50610346610a2436600461408d565b611698565b610346610a37366004613ce5565b6117c6565b348015610a4857600080fd5b50610346610a573660046138e1565b6117e4565b348015610a6857600080fd5b50610346610a773660046138e1565b61180d565b600e602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610b03906140d4565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2f906140d4565b8015610b7c5780601f10610b5157610100808354040283529160200191610b7c565b820191906000526020600020905b815481529060010190602001808311610b5f57829003601f168201915b50505050508152505090508a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff1801e61000000000000000000000000000000000000000000000000000000001480610c1d57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33610c2d8161184c565b600d805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906020015b60405180910390a15050565b610c98611917565b610ca0611960565b610cab83838361199c565b505050565b33610cba8161184c565b60048290556040518281527f08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab90602001610c84565b6000818152600e6020526040812080548314610d265760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6001600882015460ff166004811115610d4157610d416138fa565b14610d62576040516344980d8f60e01b815260048101849052602401610d1d565b610d70818260020154611cd3565b6003015492915050565b610d8333611d0e565b565b6000610d8f611917565b610d97611960565b610da18383611e5f565b9392505050565b33610db28161184c565b60095460408051918252602082018490527f056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b910160405180910390a150600955565b6000610dfe612197565b60006002600b54610100900460ff166003811115610e1e57610e1e6138fa565b1480610e4557506001600b54610100900460ff166003811115610e4357610e436138fa565b145b15610e51575081610e5e565b610e5b84846121db565b90505b8060086000828254610e70919061411e565b9091555050604080516001600160a01b0386168152602081018590529081018290527f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19060600160405180910390a19392505050565b6000808490506000610eec629896806080600354901b610ee69190614147565b8361249f565b905060806f8000000000000000000000000000000060035462989680610f12919061411e565b610f2084600160801b61411e565b610f2d6298968089614169565b610f379190614169565b610f419190614147565b610f4b8885614169565b610f559190614180565b610f5f9190614180565b901c9695505050505050565b6000610c1d82612548565b60008060025411610fb3576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fbc82612568565b15610fda57604051630efd728560e21b815260040160405180910390fd5b600254600090610ff38468010000000000000000614169565b610ffd9190614147565b62989680600454680100000000000000006110189190614169565b6110229190614147565b61102c919061411e565b9050604061103960085490565b600354611049906298968061411e565b6298968060406110598680614169565b901c629896806080600554901b6110709190614147565b61107a9190614147565b6110849190614169565b61108e9190614147565b6110989190614169565b901c915060095482116110ad57600954610da1565b50919050565b6110bb612197565b6110c481611d0e565b50565b336110d18161184c565b60038290556040518281527f592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f290602001610c84565b6000611110612197565b60006002600b54610100900460ff166003811115611130576111306138fa565b0361113e57825b905061119b565b6001600b54610100900460ff16600381111561115c5761115c6138fa565b0361116b57611137848461258f565b6003600b54610100900460ff166003811115611189576111896138fa565b0361119b5761119884846126f5565b90505b600d5460405163011de97360e61b81526001600160a01b038681166004830152306024830152600092169063477a5cc090604401602060405180830381865afa1580156111ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112109190614193565b9050801561123057816008600082825461122a9190614180565b90915550505b604080516001600160a01b0387168152602081018690529081018390527f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a9060600160405180910390a1509392505050565b600d546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081523360048201819052306024830152916001600160a01b031690630d4a8b4990604401600060405180830381600087803b1580156112e757600080fd5b505af11580156112fb573d6000803e3d6000fd5b5050600d54604051637817ee4f60e01b81526001600160a01b0385811660048301523060248301529091169250637817ee4f9150604401602060405180830381865afa15801561134f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137391906141b0565b600860008282546113849190614180565b909155505050565b6000818152600e602052604081206002810154829081906113ae90849061293c565b915091508160001480156113c0575080155b156113cd57826003015491505b60006113dc8460010154610f76565b9092101595945050505050565b6010602052816000526040600020818154811061140557600080fd5b90600052602060002001600091509150505481565b60006003546298968061142d919061411e565b61143a6298968084614169565b610c1d9190614147565b6040805180820190915260008152606060208201526000600e6000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054611499906140d4565b80601f01602080910402602001604051908101604052809291908181526020018280546114c5906140d4565b80156115125780601f106114e757610100808354040283529160200191611512565b820191906000526020600020905b8154815290600101906020018083116114f557829003601f168201915b505050505081525050915050919050565b606060405163d623472560e01b815260040160405180910390fd5b6110c481612994565b6000806000806000806000806000806000600e60008d81526020019081526020016000209050806001015460001461158b576115868160010154610f76565b61158e565b60005b92508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548a896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000828152600e602090815260408083206001600160a01b0385168452600901909152812054610da1565b60405163d623472560e01b815260040160405180910390fd5b6000610c1d826129d5565b6116a1826129f5565b6000818060200190518101906116b79190614274565b80519091506001600160a01b03166116e257604051635df4b1ef60e01b815260040160405180910390fd5b8051600d805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516003556040810151600455606081015160055560a0810151600b805460ff19166001836002811115611749576117496138fa565b021790555060c0810151600b805461ff001916610100836003811115611771576117716138fa565b021790555060e081015151600c5560808101516009556040517f8de50bebef1bd84245c2bf562892194bb7f5f441c7f848c1aa181f1e4e191e42906117b99085908490614310565b60405180910390a1505050565b6117ce611917565b6117d6611960565b6117e08282612a76565b5050565b6117ec611917565b80600260008282546117fe9190614180565b909155506110c4905081612b5f565b336118178161184c565b60058290556040518281527f30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb4990602001610c84565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa1580156118d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fa9190614193565b6110c45760405163075fd2b160e01b815260040160405180910390fd5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d835760405163075fd2b160e01b815260040160405180910390fd5b600154600003610d83576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008251116119d7576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906119ed91906141b0565b905080600003611a29576040517ff881a10d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152600e602052604090206001600b5460ff166002811115611a5057611a506138fa565b03611ccc5780548214611a795760405163c1d17bef60e01b815260048101839052602401610d1d565b60025481600101541115611ad15760018101546002546040517f5863b0b60000000000000000000000000000000000000000000000000000000081526004810185905260248101929092526044820152606401610d1d565b6001600882015460ff166004811115611aec57611aec6138fa565b14611b0d576040516344980d8f60e01b815260048101839052602401610d1d565b6000611b1883610cef565b90506000611b298360010154610f76565b90508082108015611b3e575060008360010154115b15611b75576040517fcce7930800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d91611be29160040190815260200190565b600060405180830381865afa158015611bff573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c27919081019061443c565b9050836001015460026000828254611c3f919061411e565b9091555050604081015160048501546001860154611c6792916001600160a01b031690612b8f565b60088401805460ff191660049081179091558401546001850154604080518881526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a15050505b5050505050565b600080611ce0848461293c565b91509150816000148015611cf2575080155b15611cfd5750505050565b600784015560039092019190915550565b600d54604051637817ee4f60e01b81526001600160a01b03838116600483015230602483015290911690637817ee4f90604401602060405180830381865afa158015611d5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d8291906141b0565b60086000828254611d93919061411e565b9091555050600d546040517f22bcf9990000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152909116906322bcf99990604401600060405180830381600087803b158015611dfe57600080fd5b505af1158015611e12573d6000803e3d6000fd5b50505050611e1f81612bd4565b6040516001600160a01b03821681527f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b906020015b60405180910390a150565b60008083806020019051810190611e7691906144f0565b8051909150600003611eb4576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600b5460ff166002811115611ecd57611ecd6138fa565b0361207d57611edf8160200151612cff565b60608101516001600160a01b0316611f23576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f879190614597565b6001600160a01b031663068bcd8d6001546040518263ffffffff1660e01b8152600401611fb691815260200190565b600060405180830381865afa158015611fd3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ffb919081019061443c565b604001519050806001600160a01b031682606001516001600160a01b031614612050576040517fa29c498600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61205d8260400151612568565b1561207b57604051630efd728560e21b815260040160405180910390fd5b505b600060066000815461208e906145b4565b91829055506000818152600e602090815260408083208481556005810180546001600160a01b038b811673ffffffffffffffffffffffffffffffffffffffff19928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b84019061214f908261461b565b505060015460408051918252602082018590527ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b92500160405180910390a150949350505050565b600d546001600160a01b03163314610d83576040517faf0916a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d54604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa15801561222b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061224f9190614597565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156122a8575060408051601f3d908101601f191682019092526122a5918101906146db565b60015b6122ef576122ea6040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250612d3f565b6122f5565b60ff1690505b6123346040518060400160405280601081526020017f5f616d6f756e74546f556e7374616b650000000000000000000000000000000081525084612db0565b600d546040516316308e2560e11b81526001600160a01b0386811660048301526000928692911690632c611c4a90602401602060405180830381865afa158015612382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a691906141b0565b6123b0919061411e565b90506123f16040518060400160405280600d81526020017f6e6577546f74616c5374616b650000000000000000000000000000000000000081525082612db0565b600061241061240184600a6147e2565b61240b9084614169565b612e23565b600d54604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009284921690637817ee4f90604401602060405180830381865afa158015612466573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061248a91906141b0565b612494919061411e565b979650505050505050565b6000600160801b83106124f45760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610d1d565b50600160801b82825b80156125405780600116600003612522576125188283612f0b565b915060011c6124fd565b61252c8383612f0b565b925061253960018261411e565b90506124fd565b505092915050565b60006001600160a01b03821615612560576001610c1d565b600092915050565b60006125776298968083614169565b6002546004546125879190614169565b111592915050565b6000808290506125d46040518060400160405280601281526020017f504f494e545320544f20494e435245415345000000000000000000000000000081525082612db0565b600d54604051637817ee4f60e01b81526001600160a01b0386811660048301523060248301526000921690637817ee4f90604401602060405180830381865afa158015612625573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061264991906141b0565b905061268a6040518060400160405280600b81526020017f4d454d424552504f57455200000000000000000000000000000000000000000081525082612db0565b600c546126978383614180565b11156126ae57600c546126ab90829061411e565b91505b6126ed6040518060400160405280601681526020017f504f494e545320544f20494e43524541534520454e440000000000000000000081525083612db0565b509392505050565b600d546040516316308e2560e11b81526001600160a01b0384811660048301526000928392859290911690632c611c4a90602401602060405180830381865afa158015612746573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061276a91906141b0565b6127749190614180565b600d54604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa1580156127c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127e89190614597565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612841575060408051601f3d908101601f1916820190925261283e918101906146db565b60015b612888576128836040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250612d3f565b61288e565b60ff1690505b60006128a861289e83600a6147e2565b61240b9085614169565b600d54604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa1580156128fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061292291906141b0565b90506000612930828461411e565b98975050505050505050565b6000804390508084600701541115612956576129566147ee565b8084600701540361296c5750600090508061298d565b61298a84600701548261297f919061411e565b856003015485610ec6565b91505b9250929050565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001611e54565b60006001600160a01b038216156129ed576002610c1d565b600392915050565b6129fd611917565b60015415612a37576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003612a71576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b612a7f8161300a565b600d5460405163011de97360e61b81526001600160a01b038381166004830152306024830152600092169063477a5cc090604401602060405180830381865afa158015612ad0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612af49190614193565b905080612b2d576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083806020019051810190612b439190614804565b9050612b4f8382613130565b612b5983826132f3565b50505050565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001611e54565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601612bc957610cab8282613717565b610cab838383613733565b6001600160a01b038116600090815260106020908152604080832080548251818502810185019093528083529192909190830182828015612c3457602002820191906000526020600020905b815481526020019060010190808311612c20575b5050505050905060005b8151811015610cab576000828281518110612c5b57612c5b6148af565b602002602001015190506000600e60008381526020019081526020016000209050612c8582613782565b15612cea576001600160a01b0385166000908152600982016020526040812080549082905560028301805491928392612cbf90849061411e565b925050819055508060076000828254612cd8919061411e565b90915550612ce890508282611cd3565b505b50508080612cf7906145b4565b915050612c3e565b6001600160a01b0381166110c4576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110c481604051602401612d5391906148c5565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac000000000000000000000000000000000000000000000000000000001790526137bb565b6117e08282604051602401612dc69291906148d8565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d0000000000000000000000000000000000000000000000000000000001790526137bb565b600081600003612e3557506000919050565b60006001612e42846137dc565b901c6001901b90506001818481612e5b57612e5b614131565b048201901c90506001818481612e7357612e73614131565b048201901c90506001818481612e8b57612e8b614131565b048201901c90506001818481612ea357612ea3614131565b048201901c90506001818481612ebb57612ebb614131565b048201901c90506001818481612ed357612ed3614131565b048201901c90506001818481612eeb57612eeb614131565b048201901c9050610da181828581612f0557612f05614131565b04613870565b6000600160801b831115612f875760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610d1d565b600160801b8210612fda5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610d1d565b60806f80000000000000000000000000000000612ff78486614169565b6130019190614180565b901c9392505050565b6001600160a01b03811661304a576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d546001600160a01b031661307357604051635df4b1ef60e01b815260040160405180910390fd5b600d546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063a230c52490602401602060405180830381865afa1580156130d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130fa9190614193565b6110c4576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b82518110156131ed5782818151811061314f5761314f6148af565b602002602001015160000151600003156131db576000838281518110613177576131776148af565b602002602001015160000151905061318e81613782565b6131ae5760405163c1d17bef60e01b815260048101829052602401610d1d565b8382815181106131c0576131c06148af565b602002602001015160200151836131d791906148fa565b9250505b806131e5816145b4565b915050613134565b506001600160a01b0383166000908152600f60205260408120546132119083613886565b600d54604051637817ee4f60e01b81526001600160a01b03878116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa158015613267573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061328b91906141b0565b9050808211156132d1576040517fd64182fe0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610d1d565b506001600160a01b039093166000908152600f60205260409020929092555050565b606060005b8251811015612b59576000838281518110613315576133156148af565b602002602001015160000151905082516000036133715760408051600180825281830190925290602080830190803683370190505092508083600081518110613360576133606148af565b6020026020010181815250506134c4565b6000805b84518110156133f05782858281518110613391576133916148af565b6020026020010151036133de576040517fadebb154000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260019250604401610d1d565b806133e8816145b4565b915050613375565b50806134c2576000845160016134069190614180565b67ffffffffffffffff81111561341e5761341e613a82565b604051908082528060200260200182016040528015613447578160200160208202803683370190505b50905060005b855181101561349f57858181518110613468576134686148af565b6020026020010151828281518110613482576134826148af565b602090810291909101015280613497816145b4565b91505061344d565b5082818651815181106134b4576134b46148af565b602090810291909101015293505b505b60008483815181106134d8576134d86148af565b6020908102919091018101518101516000848152600e835260408082206001600160a01b038b168352600981019094528120549193506135188285613886565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152601060205260409020548110156135b15784546001600160a01b038c166000908152601060205260409020805483908110613586576135866148af565b90600052602060002001540361359f57600191506135b1565b806135a9816145b4565b91505061353a565b50806135e7576001600160a01b038a16600090815260106020908152604082208654815460018101835591845291909220909101555b818311613637576135f8838361411e565b600760008282546136099190614180565b909155506136199050838361411e565b84600201600082825461362c9190614180565b9091555061367b9050565b613641828461411e565b60076000828254613652919061411e565b909155506136629050828461411e565b846002016000828254613675919061411e565b90915550505b8360070154600003613692574360078501556136fe565b61369c8484611cd3565b60028401546003850154604080516001600160a01b038e168152602081018a9052908101859052606081019290925260808201527f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9060a00160405180910390a15b505050505050808061370f906145b4565b9150506132f8565b60008060008084865af16117e05763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716613778576390b8ec186000526004601cfd5b6000603452505050565b6000818152600e602052604081205415801590610c1d5750506000908152600e60205260409020600501546001600160a01b0316151590565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080608083901c156137f157608092831c92015b604083901c1561380357604092831c92015b602083901c1561381557602092831c92015b601083901c1561382757601092831c92015b600883901c1561383957600892831c92015b600483901c1561384b57600492831c92015b600283901c1561385d57600292831c92015b600183901c15610c1d5760010192915050565b600081831061387f5781610da1565b5090919050565b60008061389383856148fa565b90506000811215610da1576040517f3bbc7142000000000000000000000000000000000000000000000000000000008152600481018590526024810184905260448101829052606401610d1d565b6000602082840312156138f357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60058110613920576139206138fa565b9052565b60005b8381101561393f578181015183820152602001613927565b50506000910152565b60008151808452613960816020860160208601613924565b601f01601f19169290920160200192915050565b8051825260006020820151604060208501526139936040850182613948565b949350505050565b60006101408c83528b60208401528a60408401528960608401526001600160a01b03808a16608085015280891660a085015280881660c0850152508560e08401526139ea610100840186613910565b806101208401526139fd81840185613974565b9d9c50505050505050505050505050565b600060208284031215613a2057600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610da157600080fd5b6001600160a01b03811681146110c457600080fd5b600060208284031215613a7757600080fd5b8135610da181613a50565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715613abb57613abb613a82565b60405290565b604051610120810167ffffffffffffffff81118282101715613abb57613abb613a82565b60405160c0810167ffffffffffffffff81118282101715613abb57613abb613a82565b60405160a0810167ffffffffffffffff81118282101715613abb57613abb613a82565b604051601f8201601f1916810167ffffffffffffffff81118282101715613b5457613b54613a82565b604052919050565b600067ffffffffffffffff821115613b7657613b76613a82565b5060051b60200190565b600082601f830112613b9157600080fd5b81356020613ba6613ba183613b5c565b613b2b565b82815260059290921b84018101918181019086841115613bc557600080fd5b8286015b84811015613be9578035613bdc81613a50565b8352918301918301613bc9565b509695505050505050565b600067ffffffffffffffff821115613c0e57613c0e613a82565b50601f01601f191660200190565b600082601f830112613c2d57600080fd5b8135613c3b613ba182613bf4565b818152846020838601011115613c5057600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613c8257600080fd5b833567ffffffffffffffff80821115613c9a57600080fd5b613ca687838801613b80565b94506020860135915080821115613cbc57600080fd5b50613cc986828701613c1c565b9250506040840135613cda81613a50565b809150509250925092565b60008060408385031215613cf857600080fd5b823567ffffffffffffffff811115613d0f57600080fd5b613d1b85828601613c1c565b9250506020830135613d2c81613a50565b809150509250929050565b60048110613920576139206138fa565b60208101610c1d8284613d37565b60008060408385031215613d6857600080fd5b8235613d7381613a50565b946020939093013593505050565b600080600060608486031215613d9657600080fd5b505081359360208301359350604090920135919050565b60038110613920576139206138fa565b60208101610c1d8284613dad565b602081526000610da16020830184613974565b60008060408385031215613df157600080fd5b823567ffffffffffffffff80821115613e0957600080fd5b613e1586838701613b80565b9350602091508185013581811115613e2c57600080fd5b8501601f81018713613e3d57600080fd5b8035613e4b613ba182613b5c565b81815260059190911b82018401908481019089831115613e6a57600080fd5b8584015b83811015613ea257803586811115613e865760008081fd5b613e948c8983890101613c1c565b845250918601918601613e6e565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015613f0657613ef684835180516001600160a01b03168252602090810151910152565b9284019290850190600101613ed0565b5091979650505050505050565b80151581146110c457600080fd5b600060208284031215613f3357600080fd5b8135610da181613f13565b6001600160a01b038b811682528a811660208301528916604082015260608101889052608081018790526101408101613f7a60a0830188613910565b8560c08301528460e083015283610100830152826101208301529b9a5050505050505050505050565b60008060408385031215613fb657600080fd5b823591506020830135613d2c81613a50565b60006020808385031215613fdb57600080fd5b823567ffffffffffffffff811115613ff257600080fd5b8301601f8101851361400357600080fd5b8035614011613ba182613b5c565b81815260069190911b8201830190838101908783111561403057600080fd5b928401925b82841015612494576040848903121561404e5760008081fd5b614056613a98565b843581528585013586820152825260409093019290840190614035565b6020810160078310614087576140876138fa565b91905290565b600080604083850312156140a057600080fd5b82359150602083013567ffffffffffffffff8111156140be57600080fd5b6140ca85828601613c1c565b9150509250929050565b600181811c908216806140e857607f821691505b6020821081036110ad57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610c1d57610c1d614108565b634e487b7160e01b600052601260045260246000fd5b60008261416457634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c1d57610c1d614108565b80820180821115610c1d57610c1d614108565b6000602082840312156141a557600080fd5b8151610da181613f13565b6000602082840312156141c257600080fd5b5051919050565b80516141d481613a50565b919050565b8051600381106141d457600080fd5b8051600481106141d457600080fd5b60006020828403121561420957600080fd5b6040516020810181811067ffffffffffffffff8211171561422c5761422c613a82565b6040529151825250919050565b60006040828403121561424b57600080fd5b614253613a98565b9050815161426081613a50565b808252506020820151602082015292915050565b6000610140828403121561428757600080fd5b61428f613ac1565b614298836141c9565b8152602083015160208201526040830151604082015260608301516060820152608083015160808201526142ce60a084016141d9565b60a08201526142df60c084016141e8565b60c08201526142f18460e085016141f7565b60e082015261010061430585828601614239565b908201529392505050565b6000610160820190508382526001600160a01b038351166020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015161436660c0840182613dad565b5060c083015161437960e0840182613d37565b5060e083015151610100838101919091529092015180516001600160a01b03166101208301526020015161014090910152919050565b6000604082840312156143c157600080fd5b6143c9613a98565b905081518152602082015167ffffffffffffffff8111156143e957600080fd5b8201601f810184136143fa57600080fd5b8051614408613ba182613bf4565b81815285602083850101111561441d57600080fd5b61442e826020830160208601613924565b602084015250909392505050565b60006020828403121561444e57600080fd5b815167ffffffffffffffff8082111561446657600080fd5b9083019060c0828603121561447a57600080fd5b614482613ae5565b82518152602083015161449481613a50565b602082015260408301516144a781613a50565b60408201526060830151828111156144be57600080fd5b6144ca878286016143af565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b60006020828403121561450257600080fd5b815167ffffffffffffffff8082111561451a57600080fd5b9083019060a0828603121561452e57600080fd5b614536613b08565b82518152602083015161454881613a50565b602082015260408381015190820152606083015161456581613a50565b606082015260808301518281111561457c57600080fd5b614588878286016143af565b60808301525095945050505050565b6000602082840312156145a957600080fd5b8151610da181613a50565b6000600182016145c6576145c6614108565b5060010190565b601f821115610cab57600081815260208120601f850160051c810160208610156145f45750805b601f850160051c820191505b8181101561461357828155600101614600565b505050505050565b815167ffffffffffffffff81111561463557614635613a82565b6146498161464384546140d4565b846145cd565b602080601f83116001811461467e57600084156146665750858301515b600019600386901b1c1916600185901b178555614613565b600085815260208120601f198616915b828110156146ad5788860151825594840194600190910190840161468e565b50858210156146cb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156146ed57600080fd5b815160ff81168114610da157600080fd5b600181815b8085111561473957816000190482111561471f5761471f614108565b8085161561472c57918102915b93841c9390800290614703565b509250929050565b60008261475057506001610c1d565b8161475d57506000610c1d565b8160018114614773576002811461477d57614799565b6001915050610c1d565b60ff84111561478e5761478e614108565b50506001821b610c1d565b5060208310610133831016604e8410600b84101617156147bc575081810a610c1d565b6147c683836146fe565b80600019048211156147da576147da614108565b029392505050565b6000610da18383614741565b634e487b7160e01b600052600160045260246000fd5b6000602080838503121561481757600080fd5b825167ffffffffffffffff81111561482e57600080fd5b8301601f8101851361483f57600080fd5b805161484d613ba182613b5c565b81815260069190911b8201830190838101908783111561486c57600080fd5b928401925b82841015612494576040848903121561488a5760008081fd5b614892613a98565b845181528585015186820152825260409093019290840190614871565b634e487b7160e01b600052603260045260246000fd5b602081526000610da16020830184613948565b6040815260006148eb6040830185613948565b90508260208301529392505050565b80820182811260008312801582168215821617156125405761254061410856fea26469706673582212205d1aa5a88b5f5546faee787f3e80e787a856de37186a40560d39d113f0308a9464736f6c63430008130033","sourceMap":"2822:37282:109:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7028:60;;;;;;;;;;-1:-1:-1;7028:60:109;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;9003:202;;;;;;;;;;-1:-1:-1;9003:202:109;;;;;:::i;:::-;;:::i;:::-;;;2891:14:123;;2884:22;2866:41;;2854:2;2839:18;9003:202:109;2726:187:123;39640:219:109;;;;;;;;;;-1:-1:-1;39640:219:109;;;;;:::i;:::-;;:::i;10705:325:11:-;;;;;;;;;;-1:-1:-1;10705:325:11;;;;;:::i;:::-;;:::i;17263:99:109:-;;;;;;;;;;-1:-1:-1;17334:11:109;:21;17263:99;;;7277:25:123;;;7265:2;7250:18;17263:99:109;7131:177:123;6354:34:109;;;;;;;;;;;;;;;;5806:36;;;;;;;;;;;;5834:8;5806:36;;39330:155;;;;;;;;;;-1:-1:-1;39330:155:109;;;;;:::i;:::-;;:::i;6785:86:11:-;;;;;;;;;;-1:-1:-1;6860:4:11;6785:86;;;-1:-1:-1;;;;;7491:55:123;;;7473:74;;7461:2;7446:18;6785:86:11;7313:240:123;38531:520:109;;;;;;;;;;-1:-1:-1;38531:520:109;;;;;:::i;:::-;;:::i;12595:81::-;;;;;;;;;;;;;:::i;9429:344:11:-;;;;;;:::i;:::-;;:::i;39865:237:109:-;;;;;;;;;;-1:-1:-1;39865:237:109;;;;;:::i;:::-;;:::i;6784:45::-;;;;;;;;;;-1:-1:-1;6784:45:109;;;;;;;;;;;;;;;;;;:::i;14137:681::-;;;;;;;;;;-1:-1:-1;14137:681:109;;;;;:::i;:::-;;:::i;32689:1145::-;;;;;;;;;;-1:-1:-1;32689:1145:109;;;;;:::i;:::-;;:::i;6678:47::-;;;;;;;;;;-1:-1:-1;6678:47:109;;;;;;;;;;;;;;;:::i;6953:92:11:-;;;;;;;;;;-1:-1:-1;7032:6:11;;6953:92;;6095:49:109;;;;;;;;;;;;6142:2;6095: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;6272:20:109:-;;;;;;;;;;;;;;;;34415:1482;;;;;;;;;;-1:-1:-1;34415:1482:109;;;;;:::i;:::-;;:::i;7144:53::-;;;;;;;;;;-1:-1:-1;7144:53:109;;;;;:::i;:::-;;;;;;;;;;;;;;6919:42;;;;;;;;;;-1:-1:-1;6919:42:109;;;;-1:-1:-1;;;;;6919:42:109;;;12682:128;;;;;;;;;;-1:-1:-1;12682:128:109;;;;;:::i;:::-;;:::i;39187:137::-;;;;;;;;;;-1:-1:-1;39187:137:109;;;;;:::i;:::-;;:::i;6298:23::-;;;;;;;;;;;;;;;;13173:958;;;;;;;;;;-1:-1:-1;13173:958:109;;;;;:::i;:::-;;:::i;6467:38::-;;;;;;;;;;;;;;;;12336:253;;;;;;;;;;;;;:::i;6394:26::-;;;;;;;;;;;;;;;;20535:735;;;;;;;;;;-1:-1:-1;20535:735:109;;;;;:::i;:::-;;:::i;7235:57::-;;;;;;;;;;-1:-1:-1;7235:57:109;;;;;:::i;:::-;;:::i;39057:124::-;;;;;;;;;;-1:-1:-1;39057:124:109;;;;;:::i;:::-;;:::i;4412:75:9:-;;;;;;;;;;;;4445:42;4412:75;;6327:21:109;;;;;;;;;;;;;;;;6835:51;;;;;;;;;;-1:-1:-1;6835:51:109;;;;;;25319:198;;;;;;;;;;-1:-1:-1;25319:198:109;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;6426:35::-;;;;;;;;;;;;;;;;21909:288;;;;;;;;;;-1:-1:-1;21909:288:109;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;22892:86::-;;;;;;;;;;-1:-1:-1;22892:86:109;;;;;:::i;:::-;;:::i;26114:127::-;;;;;;;;;;-1:-1:-1;26114:127:109;;;;;:::i;:::-;-1:-1:-1;;;;;26208:26:109;26182:7;26208:26;;;:18;:26;;;;;;;26114:127;17368:110;;;;;;;;;;-1:-1:-1;17460:11:109;;;;;;;17368:110;;24275:1038;;;;;;;;;;-1:-1:-1;24275:1038:109;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::i;37102:112::-;;;;;;;;;;-1:-1:-1;37187:20:109;;37102:112;;25900:145;;;;;;;;;;-1:-1:-1;25900:145:109;;;;;:::i;:::-;25977:7;26003:22;;;:9;:22;;;;;:35;;;;25900:145;7566:101:11;;;;;;;;;;-1:-1:-1;7622:4:11;14479:10;;;7566:101;;25718:176:109;;;;;;;;;;-1:-1:-1;25718:176:109;;;;;:::i;:::-;;:::i;17594:226::-;;;;;;;;;;-1:-1:-1;17594:226:109;;;;;:::i;:::-;;:::i;7823:146:11:-;;;;;;;;;;-1:-1:-1;7823:146:11;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;7574:1028:109:-;;;;;;;;;;-1:-1:-1;7574:1028:109;;;;;:::i;:::-;;:::i;10092:220:11:-;;;;;;:::i;:::-;;:::i;8816:197::-;;;;;;;;;;-1:-1:-1;8816:197:11;;;;;:::i;:::-;;:::i;39491:143:109:-;;;;;;;;;;-1:-1:-1;39491:143:109;;;;;:::i;:::-;;:::i;7028:60::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7028:60:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9003:202::-;9088:4;9111:47;;;9126:32;9111:47;;:87;;-1:-1:-1;952:25:37;937:40;;;;9162:36:109;9104:94;9003:202;-1:-1:-1;;9003:202:109:o;39640:219::-;39723:10;5954:30:11;5976:7;5954:21;:30::i;:::-;39745:17:109::1;:57:::0;;-1:-1:-1;;39745:57:109::1;-1:-1:-1::0;;;;;39745:57:109;::::1;::::0;;::::1;::::0;;;39817:35:::1;::::0;7473:74:123;;;39817:35:109::1;::::0;7461:2:123;7446:18;39817:35:109::1;;;;;;;;39640: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;39330:155:109:-;39395:10;5954:30:11;5976:7;5954:21;:30::i;:::-;39417:8:109::1;:20:::0;;;39452:26:::1;::::0;7277:25:123;;;39452:26:109::1;::::0;7265:2:123;7250:18;39452:26:109::1;7131:177:123::0;38531:520:109;38601:7;38663:21;;;:9;:21;;;;;38699:19;;:33;;38695:100;;38755:29;;-1:-1:-1;;;38755:29:109;;;;;7277:25:123;;;7250:18;;38755:29:109;;;;;;;;38695:100;38836:36;38809:23;;;;;;:63;;;;;;;;:::i;:::-;;38805:130;;38895:29;;-1:-1:-1;;;38895:29:109;;;;;7277:25:123;;;7250:18;;38895:29:109;7131:177:123;38805:130:109;38945:59;38972:8;38982;:21;;;38945:26;:59::i;:::-;39021:23;;;;38531:520;-1:-1:-1;;38531:520:109:o;12595:81::-;12640:29;12658:10;12640:17;:29::i;:::-;12595: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;39865:237:109:-;39950:10;5954:30:11;5976:7;5954:21;:30::i;:::-;40003:19:109::1;::::0;39977:67:::1;::::0;;16754:25:123;;;16810:2;16795:18;;16788:34;;;39977:67:109::1;::::0;16727:18:123;39977:67:109::1;;;;;;;-1:-1:-1::0;40054:19:109::1;:41:::0;39865:237::o;14137:681::-;14221:7;14240:23;:21;:23::i;:::-;14319:24;14376:36;14361:11;;;;;;;:51;;;;;;;;:::i;:::-;;:103;;;-1:-1:-1;14431:33:109;14416:11;;;;;;;:48;;;;;;;;:::i;:::-;;14361:103;14357:298;;;-1:-1:-1;14528:16:109;14357:298;;;14595:49;14618:7;14627:16;14595:22;:49::i;:::-;14576:68;;14357:298;14688:16;14664:20;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;14719:59:109;;;-1:-1:-1;;;;;17375:55:123;;17357:74;;17462:2;17447:18;;17440:34;;;17490:18;;;17483:34;;;14719:59:109;;17345:2:123;17330:18;14719:59:109;;;;;;;14795:16;14137:681;-1:-1:-1;;;14137:681:109:o;32689:1145::-;32823:7;32846:9;32858:11;32846:23;;33184:17;33204:27;5834:8;33219:3;33210:5;;:12;;33209:18;;;;:::i;:::-;33229:1;33204:4;:27::i;:::-;33184:47;;33824:3;5977:34;33801:5;;5834:8;33797:9;;;;:::i;:::-;33772:19;33782:9;-1:-1:-1;;;33772:19:109;:::i;:::-;33754:14;5834:8;33754:10;:14;:::i;:::-;:38;;;;:::i;:::-;33753:54;;;;:::i;:::-;33727:21;33739:9;33727;:21;:::i;:::-;33726:82;;;;:::i;:::-;33725:94;;;;:::i;:::-;33724:103;;;32689:1145;-1:-1:-1;;;;;;32689:1145:109:o;12395:145:11:-;12481:4;12504:29;12522:10;12504:17;:29::i;34415:1482:109:-;34490:18;34658:1;34644:10;;:15;34640:66;;34682:13;;;;;;;;;;;;;;34640:66;35146:33;35162:16;35146:15;:33::i;:::-;35142:91;;;35202:20;;-1:-1:-1;;;35202:20:109;;;;;;;;;;;35142:91;35455:10;;35381:13;;35425:26;:16;35444:7;35425:26;:::i;:::-;35424:41;;;;:::i;:::-;5834:8;35398;;35409:7;35398:18;;;;:::i;:::-;35397:24;;;;:::i;:::-;:68;;;;:::i;:::-;35381:84;;35618:2;35576:28;37187:20;;;37102:112;35576:28;35566:5;;35562:9;;5834:8;35562:9;:::i;:::-;5834:8;35549:2;35531:13;35539:5;;35531:13;:::i;:::-;35530:21;;5834:8;35517:3;35507:6;;:13;;35506:19;;;;:::i;:::-;35505:47;;;;:::i;:::-;35504:53;;;;:::i;:::-;35503:69;;;;:::i;:::-;35502:102;;;;:::i;:::-;35488:132;;35475:145;;35836:19;;35823:10;:32;:67;;35871:19;;35823:67;;;-1:-1:-1;35858:10:109;35810:80;-1:-1:-1;34415:1482:109:o;12682:128::-;12744:23;:21;:23::i;:::-;12777:26;12795:7;12777:17;:26::i;:::-;12682:128;:::o;39187:137::-;39246:10;5954:30:11;5976:7;5954:21;:30::i;:::-;39268:5:109::1;:14:::0;;;39297:20:::1;::::0;7277:25:123;;;39297:20:109::1;::::0;7265:2:123;7250:18;39297:20:109::1;7131:177:123::0;13173:958:109;13255:7;13319:23;:21;:23::i;:::-;13352:24;13409:36;13394:11;;;;;;;:51;;;;;;;;:::i;:::-;;13390:441;;13503:14;13480:38;13461:57;;13390:441;;;13554:33;13539:11;;;;;;;:48;;;;;;;;:::i;:::-;;13535:296;;13622:44;13642:7;13651:14;13622:19;:44::i;13535:296::-;13702:36;13687:11;;;;;;;:51;;;;;;;;:::i;:::-;;13683:148;;13773:47;13796:7;13805:14;13773:22;:47::i;:::-;13754:66;;13683:148;13859:17;;:69;;-1:-1:-1;;;13859:69:109;;-1:-1:-1;;;;;18552:15:123;;;13859:69:109;;;18534:34:123;13922:4:109;18584:18:123;;;18577:43;13840:16:109;;13859:17;;:45;;18446:18:123;;13859:69:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13840:88;;13942:11;13938:82;;;13993:16;13969:20;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;13938:82:109;14034:57;;;-1:-1:-1;;;;;17375:55:123;;17357:74;;17462:2;17447:18;;17440:34;;;17490:18;;;17483:34;;;14034:57:109;;17345:2:123;17330:18;14034:57:109;;;;;;;-1:-1:-1;14108:16:109;13173:958;-1:-1:-1;;;13173:958:109:o;12336:253::-;12418:17;;:65;;;;;12398:10;12418:65;;;18534:34:123;;;12477:4:109;18584:18:123;;;18577:43;12398:10:109;-1:-1:-1;;;;;12418:17:109;;:42;;18446:18:123;;12418:65:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12517:17:109;;:65;;-1:-1:-1;;;12517:65:109;;-1:-1:-1;;;;;18552:15:123;;;12517:65:109;;;18534:34:123;12576:4:109;18584:18:123;;;18577:43;12517:17:109;;;;-1:-1:-1;12517:42:109;;-1:-1:-1;18446:18:123;;12517:65:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12493:20;;:89;;;;;;;:::i;:::-;;;;-1:-1:-1;;;12336:253:109:o;20535:735::-;20604:18;20677:21;;;:9;:21;;;;;20887;;;;20604:18;;;;20843:66;;20677:21;;20843:33;:66::i;:::-;20783:126;;;;20924:14;20942:1;20924:19;:39;;;;-1:-1:-1;20947:16:109;;20924:39;20920:110;;;20996:8;:23;;;20979:40;;20920:110;21039:17;21059:44;21078:8;:24;;;21059:18;:44::i;:::-;21236:27;;;;;20535:735;-1:-1:-1;;;;;20535:735:109:o;7235:57::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;39057:124::-;39120:7;39167:5;;5834:8;39163:9;;;;:::i;:::-;39148:10;5834:8;39148:6;:10;:::i;:::-;39147:26;;;;:::i;25319:198::-;-1:-1:-1;;;;;;;;;;;;;;;;;25411:40:109;25454:9;:22;25464:11;25454:22;;;;;;;;;;;25411:65;;25493:8;:17;;25486:24;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25319:198;;;:::o;21909:288::-;21995:22;22079:16;;-1:-1:-1;;;22079:16:109;;;;;;;;;;;22892:86;22948:23;22963:7;22948:14;:23::i;24275:1038::-;24377:17;24408:19;24441:22;24477:23;24514:20;24548:44;24606:17;24637:22;24673:17;24704:25;24754:40;24797:9;:22;24807:11;24797:22;;;;;;;;;;;24754:65;;24842:8;:24;;;24870:1;24842:29;:80;;24878:44;24897:8;:24;;;24878:18;:44::i;:::-;24842:80;;;24874:1;24842:80;24830:92;;24953:8;:18;;;;;;;;;;-1:-1:-1;;;;;24953:18:109;24985:8;:20;;;;;;;;;;-1:-1:-1;;;;;24985:20:109;25019:8;:23;;;;;;;;;;-1:-1:-1;;;;;25019:23:109;25056:8;:24;;;25094:8;:21;;;25129:8;:23;;;;;;;;;;;;25166:8;:18;;;25198:8;:23;;;25235:9;25258:8;:26;;:38;25285:10;-1:-1:-1;;;;;25258:38:109;-1:-1:-1;;;;;25258:38:109;;;;;;;;;;;;;24932:374;;;;;;;;;;;;;;;;;;;;;24275:1038;;;;;;;;;;;:::o;25718:176::-;25809:7;26374:22;;;:9;:22;;;;;;;;-1:-1:-1;;;;;26374:48:109;;;;:40;;:48;;;;;;25835:52;26247:182;17594:226;17737:16;;-1:-1:-1;;;17737:16:109;;;;;;;;;;;7823:146:11;7904:6;7929:33;7949:12;7929:19;:33::i;7574:1028:109:-;7650:28;7670:7;7650:19;:28::i;:::-;7688:41;7743:5;7732:52;;;;;;;;;;;;:::i;:::-;8139:20;;7688:96;;-1:-1:-1;;;;;;8139:34:109;8135:94;;8196:22;;-1:-1:-1;;;8196:22:109;;;;;;;;;;;8135:94;8277:20;;8239:17;:59;;-1:-1:-1;;8239:59:109;-1:-1:-1;;;;;8239:59:109;;;;;;;;;8316:8;;;;8308:5;:16;8345:11;;;;8334:8;:22;8375:9;;;;8366:6;:18;8409:15;;;;8394:12;:30;;-1:-1:-1;;8394:30:109;-1:-1:-1;8409:15:109;8394:30;;;;;;;;:::i;:::-;;;;;-1:-1:-1;8448:14:109;;;;8434:11;:28;;-1:-1:-1;;8434:28:109;;8448:14;8434:28;;;;;;;;:::i;:::-;;;;;-1:-1:-1;8486:14:109;;;;8472:28;:11;:28;8532:21;;;;8510:19;:43;8569:26;;;;;;8583:7;;8486:2;;8569:26;:::i;:::-;;;;;;;;7640:962;7574:1028;;:::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;39491:143:109:-:0;39552:10;5954:30:11;5976:7;5954:21;:30::i;:::-;39574:6:109::1;:16:::0;;;39605:22:::1;::::0;7277:25:123;;;39605:22:109::1;::::0;7265:2:123;7250:18;39605:22:109::1;7131:177:123::0;13122:142:11;13218:6;;13199:35;;;;;;;;22607:25:123;;;;-1:-1:-1;;;;;22668:55:123;;;22648:18;;;22641:83;13199:4:11;:18;;;;22580::123;;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;;;;;;;;;;;;;;18773:1756:109;18968:1;18952:5;:12;:17;18948:76;;18992:21;;;;;;;;;;;;;;18948:76;19034:18;19066:5;19055:28;;;;;;;;;;;;:::i;:::-;19034:49;;19098:10;19112:1;19098:15;19094:77;;19136:24;;;;;;;;;;;;;;19094:77;19180:40;19223:21;;;:9;:21;;;;;19275:35;19259:12;;;;:51;;;;;;;;:::i;:::-;;19255:1208;;19330:19;;:33;;19326:108;;19390:29;;-1:-1:-1;;;19390:29:109;;;;;7277:25:123;;;7250:18;;19390:29:109;7131:177:123;19326:108:109;19479:10;;19452:8;:24;;;:37;19448:152;;;19548:24;;;;19574:10;;19516:69;;;;;;;;22937:25:123;;;22978:18;;;22971:34;;;;23021:18;;;23014:34;22910:18;;19516:69:109;22735:319:123;19448:152:109;19645:36;19618:23;;;;;;:63;;;;;;;;:::i;:::-;;19614:138;;19708:29;;-1:-1:-1;;;19708:29:109;;;;;7277:25:123;;;7250:18;;19708:29:109;7131:177:123;19614:138:109;19766:22;19791:36;19816:10;19791:24;:36::i;:::-;19766:61;;19841:17;19861:44;19880:8;:24;;;19861:18;:44::i;:::-;19841:64;;19941:9;19924:14;:26;:58;;;;;19981:1;19954:8;:24;;;:28;19924:58;19920:137;;;20009:33;;;;;;;;;;;;;;19920:137;20109:6;;20096:20;;;;;20071:22;;-1:-1:-1;;;;;20096:4:109;:12;;;;:20;;;;7277:25:123;;;7265:2;7250:18;;7131:177;20096:20:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20096:20:109;;;;;;;;;;;;:::i;:::-;20071:45;;20145:8;:24;;;20131:10;;:38;;;;;;;:::i;:::-;;;;-1:-1:-1;;20207:10:109;;;;20219:20;;;;;20241:24;;;20191:75;;20207:10;-1:-1:-1;;;;;20219:20:109;;20191:15;:75::i;:::-;20297:23;;;:64;;-1:-1:-1;;20297:64:109;20323:38;20297:64;;;;;;20405:20;;;20297:64;20427:24;;;20381:71;;;25025:25:123;;;-1:-1:-1;;;;;20405:20:109;;;25081:2:123;25066:18;;25059:83;25158:18;;25151:34;20381:71:109;;25013:2:123;24998:18;20381:71:109;;;;;;;19312:1151;;;19255:1208;18859:1670;;18773:1756;;;:::o;37404:396::-;37523:18;37543:19;37566:56;37600:9;37611:10;37566:33;:56::i;:::-;37522:100;;;;37636:10;37650:1;37636:15;:35;;;;-1:-1:-1;37655:16:109;;37636:35;37632:72;;;37687:7;;37404:396;;:::o;37632:72::-;37713:19;;;:33;37756:24;;;;:37;;;;-1:-1:-1;37404:396:109:o;12816:351::-;12903:17;;:66;;-1:-1:-1;;;12903:66:109;;-1:-1:-1;;;;;18552:15:123;;;12903:66:109;;;18534:34:123;12963:4:109;18584:18:123;;;18577:43;12903:17:109;;;;:42;;18446:18:123;;12903:66:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12879:20;;:90;;;;;;;:::i;:::-;;;;-1:-1:-1;;12979:17:109;;:68;;;;;-1:-1:-1;;;;;18552:15:123;;;12979:68:109;;;18534:34:123;13041:4:109;18584:18:123;;;18577:43;12979:17:109;;;;:44;;18446:18:123;;12979:68:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13102:17;13111:7;13102:8;:17::i;:::-;13134:26;;-1:-1:-1;;;;;7491:55:123;;7473:74;;13134:26:109;;7461:2:123;7446:18;13134:26:109;;;;;;;;12816:351;:::o;10385:1945::-;10477:7;10556:45;10615:5;10604:50;;;;;;;;;;;;:::i;:::-;10769:15;;10556:98;;-1:-1:-1;10769:15:109;:20;10765:78;;10812:20;;;;;;;;;;;;;;10765:78;10935:35;10919:12;;;;:51;;;;;;;;:::i;:::-;;10915:721;;10986:39;11004:8;:20;;;10986:17;:39::i;:::-;11091:23;;;;-1:-1:-1;;;;;11091:37:109;11087:102;;11155:19;;;;;;;;;;;;;;11087:102;11202:17;11222:4;-1:-1:-1;;;;;11222:12:109;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11222:22:109;;11245:6;;11222:30;;;;;;;;;;;;;7277:25:123;;7265:2;7250:18;;7131:177;11222:30:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11222:30:109;;;;;;;;;;;;:::i;:::-;:36;;;11202:56;;11303:9;-1:-1:-1;;;;;11276:36:109;:8;:23;;;-1:-1:-1;;;;;11276:36:109;;11272:234;;11474:17;;;;;;;;;;;;;;11272:234;11523:41;11539:8;:24;;;11523:15;:41::i;:::-;11519:107;;;11591:20;;-1:-1:-1;;;11591:20:109;;;;;;;;;;;11519:107;10972:664;10915:721;11645:18;11668:15;;11666:17;;;;;:::i;:::-;;;;;-1:-1:-1;11693:33:109;11729:21;;;:9;:21;;;;;;;;11761:25;;;11796:11;;;:21;;-1:-1:-1;;;;;11796:21:109;;;-1:-1:-1;;11796:21:109;;;;;;;11843:20;;;;11827:13;;;:36;;;;;;;;;;;;;;11892:23;;;;11873:16;;;:42;;;;;;;;;;;11945:24;;;;-1:-1:-1;11925:17:109;;;:44;;;;12030:16;;;:55;;-1:-1:-1;;12030:55:109;;;;;;12109:12;12095:11;;;:26;-1:-1:-1;12131:16:109;;:20;;;;12210:17;;;;12197:30;;:10;;;:30;;;;;;;11666:17;;-1:-1:-1;11729:21:109;;12197:30;;;;;;;;:::i;:::-;-1:-1:-1;;12259:6:109;;12243:35;;;16754:25:123;;;16810:2;16795:18;;16788:34;;;12243:35:109;;-1:-1:-1;16727:18:123;12243:35:109;;;;;;;-1:-1:-1;12311:10:109;10385:1945;-1:-1:-1;;;;10385:1945:109:o;9759:162::-;9841:17;;-1:-1:-1;;;;;9841:17:109;9819:10;:40;9815:100;;9882:22;;;;;;;;;;;;;;16455:802;16620:17;;:31;;;-1:-1:-1;;;16620:31:109;;;;16553:7;;16590:2;;-1:-1:-1;;;;;16620:17:109;;;;:29;;:31;;;;;;;;;;;;;;;:17;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16606:56:109;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16606:58:109;;;;;;;;-1:-1:-1;;16606:58:109;;;;;;;;;;;;:::i;:::-;;;16602:208;;16763:36;;;;;;;;;;;;;;;;;;:11;:36::i;:::-;16602:208;;;16714:17;;;-1:-1:-1;16602:208:109;16819:49;;;;;;;;;;;;;;;;;;16851:16;16819:11;:49::i;:::-;16902:17;;:48;;-1:-1:-1;;;16902:48:109;;-1:-1:-1;;;;;7491:55:123;;;16902:48:109;;;7473:74:123;16878:21:109;;16953:16;;16902:17;;;:39;;7446:18:123;;16902:48:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:67;;;;:::i;:::-;16878:91;;16979:43;;;;;;;;;;;;;;;;;;17008:13;16979:11;:43::i;:::-;17032:22;17057:40;17083:13;17089:7;17083:2;:13;:::i;:::-;17067:29;;:13;:29;:::i;:::-;17057:9;:40::i;:::-;17134:17;;:66;;-1:-1:-1;;;17134:66:109;;-1:-1:-1;;;;;18552:15:123;;;17134:66:109;;;18534:34:123;17194:4:109;18584:18:123;;;18577:43;17032:65:109;;-1:-1:-1;17107:24:109;;17032:65;;17134:17;;:42;;18446:18:123;;17134:66:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:83;;;;:::i;:::-;17107:110;16455:802;-1:-1:-1;;;;;;;16455:802:109:o;36649:447::-;36710:15;-1:-1:-1;;;36745:2:109;:12;36737:53;;;;-1:-1:-1;;;36737:53:109;;30926:2:123;36737:53:109;;;30908:21:123;30965:2;30945:18;;;30938:30;31004;30984:18;;;30977:58;31052:18;;36737:53:109;30724:352:123;36737:53:109;-1:-1:-1;;;;36812:2:109;36836;36875:215;36882:5;;36875:215;;36907:1;36911;36907:5;36916:1;36907:10;36903:177;;36941:10;36946:1;36949;36941:4;:10::i;:::-;36937:14;-1:-1:-1;36975:1:109;36969:7;36875:215;;36903:177;37025:16;37030:7;37039:1;37025:4;:16::i;:::-;37015:26;-1:-1:-1;37059:6:109;37064:1;37059:6;;:::i;:::-;;;36875:215;;;36727:369;;36649:447;;;;:::o;22695:191::-;22774:4;-1:-1:-1;;;;;22840:24:109;;;:39;;22875:4;22840:39;;;22867:5;22833:46;22695:191;-1:-1:-1;;22695:191:109:o;26777:174::-;26851:19;26924:20;5834:8;26924:16;:20;:::i;:::-;26910:10;;26899:8;;:21;;;;:::i;:::-;:45;;;26777:174;-1:-1:-1;;26777:174:109:o;14956:615::-;15049:7;15068:24;15095:14;15068:41;;15119:51;;;;;;;;;;;;;;;;;;15153:16;15119:11;:51::i;:::-;15202:17;;:66;;-1:-1:-1;;;15202:66:109;;-1:-1:-1;;;;;18552:15:123;;;15202:66:109;;;18534:34:123;15262:4:109;18584:18:123;;;18577:43;15180:19:109;;15202:17;;:42;;18446:18:123;;15202:66:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15180:88;;15278:39;;;;;;;;;;;;;;;;;;15305:11;15278;:39::i;:::-;15364:11;:21;15331:30;15345:16;15331:11;:30;:::i;:::-;:54;15327:139;;;15420:11;:21;:35;;15444:11;;15420:35;:::i;:::-;15401:54;;15327:139;15475:55;;;;;;;;;;;;;;;;;;15513:16;15475:11;:55::i;:::-;-1:-1:-1;15548:16:109;14956:615;-1:-1:-1;;;14956:615:109:o;15577:730::-;15713:17;;:48;;-1:-1:-1;;;15713:48:109;;-1:-1:-1;;;;;7491:55:123;;;15713:48:109;;;7473:74:123;15673:7:109;;;;15764:14;;15713:17;;;;:39;;7446:18:123;;15713:48:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:65;;;;:::i;:::-;15837:17;;:31;;;-1:-1:-1;;;15837:31:109;;;;15692:86;;-1:-1:-1;15807:2:109;;-1:-1:-1;;;;;15837:17:109;;;;:29;;:31;;;;;;;;;;;;;;;:17;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15823:56:109;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15823:58:109;;;;;;;;-1:-1:-1;;15823:58:109;;;;;;;;;;;;:::i;:::-;;;15819:208;;15980:36;;;;;;;;;;;;;;;;;;:11;:36::i;:::-;15819:208;;;15931:17;;;-1:-1:-1;15819:208:109;16036:22;16061:37;16084:13;16090:7;16084:2;:13;:::i;:::-;16071:26;;:10;:26;:::i;16061:37::-;16132:17;;:66;;-1:-1:-1;;;16132:66:109;;-1:-1:-1;;;;;18552:15:123;;;16132:66:109;;;18534:34:123;16192:4:109;18584:18:123;;;18577:43;16036:62:109;;-1:-1:-1;16108:21:109;;16132:17;;;;:42;;18446:18:123;;16132:66:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16108:90;-1:-1:-1;16209:24:109;16236:30;16108:90;16236:14;:30;:::i;:::-;16209:57;15577:730;-1:-1:-1;;;;;;;;15577:730:109:o;37806:719::-;37959:18;37979:19;38028:12;38014:26;;38080:11;38057:9;:19;;;:34;;38050:42;;;;:::i;:::-;38129:11;38106:9;:19;;;:34;38102:173;;-1:-1:-1;38230:1:109;;-1:-1:-1;38230:1:109;38222:13;;38102:173;38341:177;38388:9;:19;;;38374:11;:33;;;;:::i;:::-;38460:9;:24;;;38498:10;38341:19;:177::i;:::-;38328:190;;37806:719;;;;;;:::o;14116:118:11:-;14173:10;:20;;-1:-1:-1;;14173:20:11;;;;;;;;;;14208:19;;2866:41:123;;;14208:19:11;;2854:2:123;2839:18;14208:19:11;2726:187:123;21560:220:109;21643:6;-1:-1:-1;;;;;21711:26:109;;;:62;;21758:15;21711:62;;;21740:15;21704:69;21560:220;-1:-1:-1;;21560:220:109: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;17966:551:109:-;18050:28;18070:7;18050:19;:28::i;:::-;18165:17;;:69;;-1:-1:-1;;;18165:69:109;;-1:-1:-1;;;;;18552:15:123;;;18165:69:109;;;18534:34:123;18228:4:109;18584:18:123;;;18577:43;18134:28:109;;18165:17;;:45;;18446:18:123;;18165:69:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18134:100;;18249:23;18244:78;;18295:16;;;;;;;;;;;;;;18244:78;18331:42;18387:5;18376:53;;;;;;;;;;;;:::i;:::-;18331:98;;18439:37;18464:7;18473:2;18439:24;:37::i;:::-;18486:24;18498:7;18507:2;18486:11;:24::i;:::-;18040:477;;17966:551;;:::o;22473:127::-;22565:28;;7277:25:123;;;22565:28:109;;7265:2:123;7250:18;22565:28:109;7131:177:123;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;22984:729:109:-;-1:-1:-1;;;;;23118:29:109;;23086;23118;;;:20;:29;;;;;;;;23086:61;;;;;;;;;;;;;;;;;;;23118:29;;23086:61;;;23118:29;23086:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23162:9;23157:550;23181:12;:19;23177:1;:23;23157:550;;;23221:18;23242:12;23255:1;23242:15;;;;;;;;:::i;:::-;;;;;;;23221:36;;23271:40;23314:9;:21;23324:10;23314:21;;;;;;;;;;;23271:64;;23353:26;23368:10;23353:14;:26::i;:::-;23349:348;;;-1:-1:-1;;;;;23422:35:109;;23399:20;23422:35;;;:26;;;:35;;;;;;;23475:39;;;;23532:21;;;:37;;23422:35;;;;23532:37;;23422:35;;23532:37;:::i;:::-;;;;;;;;23602:12;23587:11;;:27;;;;;;;:::i;:::-;;;;-1:-1:-1;23632:50:109;;-1:-1:-1;23659:8:109;23669:12;23632:26;:50::i;:::-;23381:316;23349:348;23207:500;;23202:3;;;;;:::i;:::-;;;;23157:550;;9927:132;-1:-1:-1;;;;;10000:22:109;;9996:56;;10031:21;;;;;;;;;;;;;;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;36158:269:109:-;36219:15;-1:-1:-1;;;36254:2:109;:13;;36246:66;;;;-1:-1:-1;;;36246:66:109;;33372:2:123;36246:66:109;;;33354:21:123;33411:2;33391:18;;;33384:30;33450:34;33430:18;;;33423:62;33521:10;33501:18;;;33494:38;33549:19;;36246:66:109;33170:404:123;36246:66:109;-1:-1:-1;;;36330:2:109;:12;36322:53;;;;-1:-1:-1;;;36322:53:109;;33781:2:123;36322:53:109;;;33763:21:123;33820:2;33800:18;;;33793:30;33859;33839:18;;;33832:58;33907:18;;36322:53:109;33579:352:123;36322:53:109;36417:3;5977:34;36394:7;36399:2;36394;:7;:::i;:::-;36393:19;;;;:::i;:::-;36392:28;;;36158:269;-1:-1:-1;;;36158:269:109:o;9376:377::-;-1:-1:-1;;;;;9449:21:109;;9445:77;;9493:18;;;;;;;;;;;;;;9445:77;9543:17;;-1:-1:-1;;;;;9543:17:109;9531:100;;9598:22;;-1:-1:-1;;;9598:22:109;;;;;;;;;;;9531:100;9645:17;;:35;;;;;-1:-1:-1;;;;;7491:55:123;;;9645:35:109;;;7473:74:123;9645:17:109;;;;:26;;7446:18:123;;9645:35:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9640:93;;9703:19;;;;;;;;;;;;;;26957:1548;27097:22;27138:9;27133:630;27157:16;:23;27153:1;:27;27133:630;;;27260:16;27277:1;27260:19;;;;;;;;:::i;:::-;;;;;;;:30;;;27294:1;27260:35;27256:187;27420:8;27256:187;27456:18;27477:16;27494:1;27477:19;;;;;;;;:::i;:::-;;;;;;;:30;;;27456:51;;27526:26;27541:10;27526:14;:26::i;:::-;27521:167;;27579:29;;-1:-1:-1;;;27579:29:109;;;;;7277:25:123;;;7250:18;;27579:29:109;7131:177:123;27521:167:109;27720:16;27737:1;27720:19;;;;;;;;:::i;:::-;;;;;;;:32;;;27701:51;;;;;:::i;:::-;;;27187:576;27133:630;27182:3;;;;:::i;:::-;;;;27133:630;;;-1:-1:-1;;;;;;26208:26:109;;27859:29;26208:26;;;:18;:26;;;;;;27891:60;;27935:15;27891:11;:60::i;:::-;28062:17;;:66;;-1:-1:-1;;;28062:66:109;;-1:-1:-1;;;;;18552:15:123;;;28062:66:109;;;18534:34:123;28122:4:109;18584:18:123;;;18577:43;27859:92:109;;-1:-1:-1;28033:26:109;;28062:17;;;;:42;;18446:18:123;;28062:66:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28033:95;;28318:18;28294:21;:42;28290:147;;;28359:67;;;;;;;;16754:25:123;;;16795:18;;;16788:34;;;16727:18;;28359:67:109;16580:248:123;28290:147:109;-1:-1:-1;;;;;;28447:27:109;;;;;;;:18;:27;;;;;:51;;;;-1:-1:-1;;26957:1548:109:o;28511:3479::-;28626:29;28670:9;28665:3319;28689:16;:23;28685:1;:27;28665:3319;;;28733:18;28754:16;28771:1;28754:19;;;;;;;;:::i;:::-;;;;;;;:30;;;28733:51;;28857:12;:19;28880:1;28857:24;28853:920;;28916:16;;;28930:1;28916:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;28916:16:109;28901:31;;28968:10;28950:12;28963:1;28950:15;;;;;;;;:::i;:::-;;;;;;:28;;;;;28853:920;;;29027:10;29068:9;29063:318;29087:12;:19;29083:1;:23;29063:318;;;29183:10;29164:12;29177:1;29164:15;;;;;;;;:::i;:::-;;;;;;;:29;29160:203;;29266:40;;;;;;;;16754:25:123;;;16795:18;;;16788:34;;;29229:4:109;;-1:-1:-1;16727:18:123;;29266:40:109;16580:248:123;29160:203:109;29108:3;;;;:::i;:::-;;;;29063:318;;;;29403:5;29398:361;;29432:21;29470:12;:19;29492:1;29470:23;;;;:::i;:::-;29456:38;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29456:38:109;;29432:62;;29521:9;29516:124;29540:12;:19;29536:1;:23;29516:124;;;29602:12;29615:1;29602:15;;;;;;;;:::i;:::-;;;;;;;29592:4;29597:1;29592:7;;;;;;;;:::i;:::-;;;;;;;;;;:25;29561:3;;;;:::i;:::-;;;;29516:124;;;;29689:10;29661:4;29666:12;:19;29661:25;;;;;;;;:::i;:::-;;;;;;;;;;:38;29736:4;-1:-1:-1;29398:361:109;29009:764;28853:920;29786:12;29801:16;29818:1;29801:19;;;;;;;;:::i;:::-;;;;;;;;;;;;:32;;;29848:40;29891:21;;;:9;:21;;;;;;-1:-1:-1;;;;;30045:35:109;;;;:26;;;:35;;;;;;29801:32;;-1:-1:-1;30268:40:109;30045:35;29801:32;30268:11;:40::i;:::-;-1:-1:-1;;;;;30443:35:109;;;;;;:26;;;:35;;;;;:50;;;30245:63;;-1:-1:-1;30443:35:109;30765:246;-1:-1:-1;;;;;30789:29:109;;;;;;:20;:29;;;;;:36;30785:40;;30765:246;;;30890:19;;-1:-1:-1;;;;;30854:29:109;;30890:19;30854:29;;;:20;:29;;;;;:32;;30884:1;;30854:32;;;;;;:::i;:::-;;;;;;;;;:55;30850:147;;30947:4;30933:18;;30973:5;;30850:147;30827:3;;;;:::i;:::-;;;;30765:246;;;;31029:11;31024:106;;-1:-1:-1;;;;;31060:29:109;;;;;;:20;:29;;;;;;;31095:19;;31060:55;;;;;;;;;;;;;;;;;;31024:106;31309:12;31285:20;:36;31281:370;;31356:35;31371:20;31356:12;:35;:::i;:::-;31341:11;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;31434:35:109;;-1:-1:-1;31449:20:109;31434:12;:35;:::i;:::-;31409:8;:21;;;:60;;;;;;;:::i;:::-;;;;-1:-1:-1;31281:370:109;;-1:-1:-1;31281:370:109;;31523:35;31546:12;31523:20;:35;:::i;:::-;31508:11;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;31601:35:109;;-1:-1:-1;31624:12:109;31601:20;:35;:::i;:::-;31576:8;:21;;;:60;;;;;;;:::i;:::-;;;;-1:-1:-1;;31281:370:109;31668:8;:18;;;31690:1;31668:23;31664:310;;31732:12;31711:18;;;:33;31664:310;;;31783:58;31810:8;31820:20;31783:26;:58::i;:::-;31912:21;;;;31935:23;;;;31864:95;;;-1:-1:-1;;;;;34434:55:123;;34416:74;;34521:2;34506:18;;34499:34;;;34549:18;;;34542:34;;;34607:2;34592:18;;34585:34;;;;34650:3;34635:19;;34628:35;31864:95:109;;34403:3:123;34388:19;31864:95:109;;;;;;;31664:310;28719:3265;;;;;;28714:3;;;;;:::i;:::-;;;;28665: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;26586:185:109:-;26654:4;26677:22;;;:9;:22;;;;;:33;:37;;;;:87;;-1:-1:-1;;26762:1:109;26718:22;;;:9;:22;;;;;:32;;;-1:-1:-1;;;;;26718:32:109;:46;;;26586: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;31996:276:109:-;32073:7;;32108:25;32127:6;32115:8;32108:25;:::i;:::-;32092:41;;32157:1;32148:6;:10;32144:90;;;32181:42;;;;;;;;22937:25:123;;;22978:18;;;22971:34;;;23021:18;;;23014:34;;;22910:18;;32181:42:109;22735:319:123;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:123;;14:180;-1:-1:-1;14:180:123:o;199:184::-;-1:-1:-1;;;248:1:123;241:88;348:4;345:1;338:15;372:4;369:1;362:15;388:145;474:1;467:5;464:12;454:46;;480:18;;:::i;:::-;509;;388:145::o;538:250::-;623:1;633:113;647:6;644:1;641:13;633:113;;;723:11;;;717:18;704:11;;;697:39;669:2;662:10;633:113;;;-1:-1:-1;;780:1:123;762:16;;755:27;538:250::o;793:271::-;835:3;873:5;867:12;900:6;895:3;888:19;916:76;985:6;978:4;973:3;969:14;962:4;955:5;951:16;916:76;:::i;:::-;1046:2;1025:15;-1:-1:-1;;1021:29:123;1012:39;;;;1053:4;1008:50;;793:271;-1:-1:-1;;793:271:123:o;1069:252::-;1156:5;1150:12;1145:3;1138:25;1120:3;1209:4;1202:5;1198:16;1192:23;1247:4;1240;1235:3;1231:14;1224:28;1268:47;1309:4;1304:3;1300:14;1286:12;1268:47;:::i;:::-;1261:54;1069:252;-1:-1:-1;;;;1069:252:123:o;1326:1058::-;1740:4;1769:3;1799:6;1788:9;1781:25;1842:6;1837:2;1826:9;1822:18;1815:34;1885:6;1880:2;1869:9;1865:18;1858:34;1928:6;1923:2;1912:9;1908:18;1901:34;-1:-1:-1;;;;;2045:2:123;2037:6;2033:15;2027:3;2016:9;2012:19;2005:44;2098:2;2090:6;2086:15;2080:3;2069:9;2065:19;2058:44;2151:2;2143:6;2139:15;2133:3;2122:9;2118:19;2111:44;;2192:6;2186:3;2175:9;2171:19;2164:35;2208:59;2262:3;2251:9;2247:19;2239:6;2208:59;:::i;:::-;2304:2;2298:3;2287:9;2283:19;2276:31;2324:54;2374:2;2363:9;2359:18;2351:6;2324:54;:::i;:::-;2316:62;1326:1058;-1:-1:-1;;;;;;;;;;;;;1326:1058:123:o;2389:332::-;2447:6;2500:2;2488:9;2479:7;2475:23;2471:32;2468:52;;;2516:1;2513;2506:12;2468:52;2555:9;2542:23;2605:66;2598:5;2594:78;2587:5;2584:89;2574:117;;2687:1;2684;2677:12;2918:154;-1:-1:-1;;;;;2997:5:123;2993:54;2986:5;2983:65;2973:93;;3062:1;3059;3052:12;3077:247;3136:6;3189:2;3177:9;3168:7;3164:23;3160:32;3157:52;;;3205:1;3202;3195:12;3157:52;3244:9;3231:23;3263:31;3288:5;3263:31;:::i;3329:184::-;-1:-1:-1;;;3378:1:123;3371:88;3478:4;3475:1;3468:15;3502:4;3499:1;3492:15;3518:257;3590:4;3584:11;;;3622:17;;3669:18;3654:34;;3690:22;;;3651:62;3648:88;;;3716:18;;:::i;:::-;3752:4;3745:24;3518:257;:::o;3780:255::-;3852:2;3846:9;3894:6;3882:19;;3931:18;3916:34;;3952:22;;;3913:62;3910:88;;;3978:18;;:::i;4040:253::-;4112:2;4106:9;4154:4;4142:17;;4189:18;4174:34;;4210:22;;;4171:62;4168:88;;;4236:18;;:::i;4298:253::-;4370:2;4364:9;4412:4;4400:17;;4447:18;4432:34;;4468:22;;;4429:62;4426:88;;;4494:18;;:::i;4556:275::-;4627:2;4621:9;4692:2;4673:13;;-1:-1:-1;;4669:27:123;4657:40;;4727:18;4712:34;;4748:22;;;4709:62;4706:88;;;4774:18;;:::i;:::-;4810:2;4803:22;4556:275;;-1:-1:-1;4556:275:123:o;4836:183::-;4896:4;4929:18;4921:6;4918:30;4915:56;;;4951:18;;:::i;:::-;-1:-1:-1;4996:1:123;4992:14;5008:4;4988:25;;4836:183::o;5024:737::-;5078:5;5131:3;5124:4;5116:6;5112:17;5108:27;5098:55;;5149:1;5146;5139:12;5098:55;5185:6;5172:20;5211:4;5235:60;5251:43;5291:2;5251:43;:::i;:::-;5235:60;:::i;:::-;5329:15;;;5415:1;5411:10;;;;5399:23;;5395:32;;;5360:12;;;;5439:15;;;5436:35;;;5467:1;5464;5457:12;5436:35;5503:2;5495:6;5491:15;5515:217;5531:6;5526:3;5523:15;5515:217;;;5611:3;5598:17;5628:31;5653:5;5628:31;:::i;:::-;5672:18;;5710:12;;;;5548;;5515:217;;;-1:-1:-1;5750:5:123;5024:737;-1:-1:-1;;;;;;5024:737:123:o;5766:186::-;5814:4;5847:18;5839:6;5836:30;5833:56;;;5869:18;;:::i;:::-;-1:-1:-1;5935:2:123;5914:15;-1:-1:-1;;5910:29:123;5941:4;5906:40;;5766:186::o;5957:462::-;5999:5;6052:3;6045:4;6037:6;6033:17;6029:27;6019:55;;6070:1;6067;6060:12;6019:55;6106:6;6093:20;6137:48;6153:31;6181:2;6153:31;:::i;6137:48::-;6210:2;6201:7;6194:19;6256:3;6249:4;6244:2;6236:6;6232:15;6228:26;6225:35;6222:55;;;6273:1;6270;6263:12;6222:55;6338:2;6331:4;6323:6;6319:17;6312:4;6303:7;6299:18;6286:55;6386:1;6361:16;;;6379:4;6357:27;6350:38;;;;6365:7;5957:462;-1:-1:-1;;;5957:462:123:o;6424:702::-;6535:6;6543;6551;6604:2;6592:9;6583:7;6579:23;6575:32;6572:52;;;6620:1;6617;6610:12;6572:52;6660:9;6647:23;6689:18;6730:2;6722:6;6719:14;6716:34;;;6746:1;6743;6736:12;6716:34;6769:61;6822:7;6813:6;6802:9;6798:22;6769:61;:::i;:::-;6759:71;;6883:2;6872:9;6868:18;6855:32;6839:48;;6912:2;6902:8;6899:16;6896:36;;;6928:1;6925;6918:12;6896:36;;6951:51;6994:7;6983:8;6972:9;6968:24;6951:51;:::i;:::-;6941:61;;;7052:2;7041:9;7037:18;7024:32;7065:31;7090:5;7065:31;:::i;:::-;7115:5;7105:15;;;6424:702;;;;;:::o;7558:455::-;7635:6;7643;7696:2;7684:9;7675:7;7671:23;7667:32;7664:52;;;7712:1;7709;7702:12;7664:52;7752:9;7739:23;7785:18;7777:6;7774:30;7771:50;;;7817:1;7814;7807:12;7771:50;7840:49;7881:7;7872:6;7861:9;7857:22;7840:49;:::i;:::-;7830:59;;;7939:2;7928:9;7924:18;7911:32;7952:31;7977:5;7952:31;:::i;:::-;8002:5;7992:15;;;7558:455;;;;;:::o;8249:142::-;8332:1;8325:5;8322:12;8312:46;;8338:18;;:::i;8396:213::-;8545:2;8530:18;;8557:46;8534:9;8585:6;8557:46;:::i;8614:315::-;8682:6;8690;8743:2;8731:9;8722:7;8718:23;8714:32;8711:52;;;8759:1;8756;8749:12;8711:52;8798:9;8785:23;8817:31;8842:5;8817:31;:::i;:::-;8867:5;8919:2;8904:18;;;;8891:32;;-1:-1:-1;;;8614:315:123:o;8934:316::-;9011:6;9019;9027;9080:2;9068:9;9059:7;9055:23;9051:32;9048:52;;;9096:1;9093;9086:12;9048:52;-1:-1:-1;;9119:23:123;;;9189:2;9174:18;;9161:32;;-1:-1:-1;9240:2:123;9225:18;;;9212:32;;8934:316;-1:-1:-1;8934:316:123:o;9255:143::-;9339:1;9332:5;9329:12;9319:46;;9345:18;;:::i;9403:215::-;9553:2;9538:18;;9565:47;9542:9;9594:6;9565:47;:::i;10063:261::-;10244:2;10233:9;10226:21;10207:4;10264:54;10314:2;10303:9;10299:18;10291:6;10264:54;:::i;10329:1357::-;10456:6;10464;10517:2;10505:9;10496:7;10492:23;10488:32;10485:52;;;10533:1;10530;10523:12;10485:52;10573:9;10560:23;10602:18;10643:2;10635:6;10632:14;10629:34;;;10659:1;10656;10649:12;10629:34;10682:61;10735:7;10726:6;10715:9;10711:22;10682:61;:::i;:::-;10672:71;;10762:2;10752:12;;10817:2;10806:9;10802:18;10789:32;10846:2;10836:8;10833:16;10830:36;;;10862:1;10859;10852:12;10830:36;10885:24;;10940:4;10932:13;;10928:27;-1:-1:-1;10918:55:123;;10969:1;10966;10959:12;10918:55;11005:2;10992:16;11028:60;11044:43;11084:2;11044:43;:::i;11028:60::-;11122:15;;;11204:1;11200:10;;;;11192:19;;11188:28;;;11153:12;;;;11228:19;;;11225:39;;;11260:1;11257;11250:12;11225:39;11292:2;11288;11284:11;11304:352;11320:6;11315:3;11312:15;11304:352;;;11406:3;11393:17;11442:2;11429:11;11426:19;11423:109;;;11486:1;11515:2;11511;11504:14;11423:109;11557:56;11605:7;11600:2;11586:11;11582:2;11578:20;11574:29;11557:56;:::i;:::-;11545:69;;-1:-1:-1;11634:12:123;;;;11337;;11304:352;;;11308:3;11675:5;11665:15;;;;;;;;10329:1357;;;;;:::o;11899:740::-;12132:2;12184:21;;;12254:13;;12157:18;;;12276:22;;;12103:4;;12132:2;12317;;12335:18;;;;12376:15;;;12103:4;12419:194;12433:6;12430:1;12427:13;12419:194;;;12482:51;12529:3;12520:6;12514:13;11774:12;;-1:-1:-1;;;;;11770:61:123;11758:74;;11881:4;11870:16;;;11864:23;11848:14;;11841:47;11691:203;12482:51;12553:12;;;;12588:15;;;;12455:1;12448:9;12419:194;;;-1:-1:-1;12630:3:123;;11899:740;-1:-1:-1;;;;;;;11899:740:123:o;12644:118::-;12730:5;12723:13;12716:21;12709:5;12706:32;12696:60;;12752:1;12749;12742:12;12767:241;12823:6;12876:2;12864:9;12855:7;12851:23;12847:32;12844:52;;;12892:1;12889;12882:12;12844:52;12931:9;12918:23;12950:28;12972:5;12950:28;:::i;13013:953::-;-1:-1:-1;;;;;13509:15:123;;;13491:34;;13561:15;;;13556:2;13541:18;;13534:43;13613:15;;13608:2;13593:18;;13586:43;13660:2;13645:18;;13638:34;;;13703:3;13688:19;;13681:35;;;13417:3;13402:19;;13725:59;13779:3;13764:19;;13756:6;13725:59;:::i;:::-;13821:6;13815:3;13804:9;13800:19;13793:35;13865:6;13859:3;13848:9;13844:19;13837:35;13909:6;13903:3;13892:9;13888:19;13881:35;13953:6;13947:3;13936:9;13932:19;13925:35;13013:953;;;;;;;;;;;;;:::o;13971:315::-;14039:6;14047;14100:2;14088:9;14079:7;14075:23;14071:32;14068:52;;;14116:1;14113;14106:12;14068:52;14152:9;14139:23;14129:33;;14212:2;14201:9;14197:18;14184:32;14225:31;14250:5;14225:31;:::i;14291:1202::-;14409:6;14440:2;14483;14471:9;14462:7;14458:23;14454:32;14451:52;;;14499:1;14496;14489:12;14451:52;14539:9;14526:23;14572:18;14564:6;14561:30;14558:50;;;14604:1;14601;14594:12;14558:50;14627:22;;14680:4;14672:13;;14668:27;-1:-1:-1;14658:55:123;;14709:1;14706;14699:12;14658:55;14745:2;14732:16;14768:60;14784:43;14824:2;14784:43;:::i;14768:60::-;14862:15;;;14944:1;14940:10;;;;14932:19;;14928:28;;;14893:12;;;;14968:19;;;14965:39;;;15000:1;14997;14990:12;14965:39;15024:11;;;;15044:419;15060:6;15055:3;15052:15;15044:419;;;15142:4;15136:3;15127:7;15123:17;15119:28;15116:118;;;15188:1;15217:2;15213;15206:14;15116:118;15260:22;;:::i;:::-;15309:17;;15295:32;;15376:12;;;15363:26;15347:14;;;15340:50;15403:18;;15086:4;15077:14;;;;15441:12;;;;15044:419;;15498:242;15641:2;15626:18;;15674:1;15663:13;;15653:47;;15680:18;;:::i;:::-;15709:25;;;15498:242;:::o;15745:388::-;15822:6;15830;15883:2;15871:9;15862:7;15858:23;15854:32;15851:52;;;15899:1;15896;15889:12;15851:52;15935:9;15922:23;15912:33;;15996:2;15985:9;15981:18;15968:32;16023:18;16015:6;16012:30;16009:50;;;16055:1;16052;16045:12;16009:50;16078:49;16119:7;16110:6;16099:9;16095:22;16078:49;:::i;:::-;16068:59;;;15745:388;;;;;:::o;16138:437::-;16217:1;16213:12;;;;16260;;;16281:61;;16335:4;16327:6;16323:17;16313:27;;16281:61;16388:2;16380:6;16377:14;16357:18;16354:38;16351:218;;-1:-1:-1;;;16422:1:123;16415:88;16526:4;16523:1;16516:15;16554:4;16551:1;16544:15;16833:184;-1:-1:-1;;;16882:1:123;16875:88;16982:4;16979:1;16972:15;17006:4;17003:1;16996:15;17022:128;17089:9;;;17110:11;;;17107:37;;;17124:18;;:::i;17528:184::-;-1:-1:-1;;;17577:1:123;17570:88;17677:4;17674:1;17667:15;17701:4;17698:1;17691:15;17717:274;17757:1;17783;17773:189;;-1:-1:-1;;;17815:1:123;17808:88;17919:4;17916:1;17909:15;17947:4;17944:1;17937:15;17773:189;-1:-1:-1;17976:9:123;;17717:274::o;17996:168::-;18069:9;;;18100;;18117:15;;;18111:22;;18097:37;18087:71;;18138:18;;:::i;18169:125::-;18234:9;;;18255:10;;;18252:36;;;18268:18;;:::i;18631:245::-;18698:6;18751:2;18739:9;18730:7;18726:23;18722:32;18719:52;;;18767:1;18764;18757:12;18719:52;18799:9;18793:16;18818:28;18840:5;18818:28;:::i;18881:184::-;18951:6;19004:2;18992:9;18983:7;18979:23;18975:32;18972:52;;;19020:1;19017;19010:12;18972:52;-1:-1:-1;19043:16:123;;18881:184;-1:-1:-1;18881:184:123:o;19070:138::-;19149:13;;19171:31;19149:13;19171:31;:::i;:::-;19070:138;;;:::o;19213:157::-;19302:13;;19344:1;19334:12;;19324:40;;19360:1;19357;19350:12;19375:156;19463:13;;19505:1;19495:12;;19485:40;;19521:1;19518;19511:12;19536:420;19611:5;19659:4;19647:9;19642:3;19638:19;19634:30;19631:50;;;19677:1;19674;19667:12;19631:50;19710:2;19704:9;19752:4;19744:6;19740:17;19823:6;19811:10;19808:22;19787:18;19775:10;19772:34;19769:62;19766:88;;;19834:18;;:::i;:::-;19870:2;19863:22;19933:16;;19918:32;;-1:-1:-1;19903:6:123;19536:420;-1:-1:-1;19536:420:123:o;19961:356::-;20030:5;20078:4;20066:9;20061:3;20057:19;20053:30;20050:50;;;20096:1;20093;20086:12;20050:50;20118:22;;:::i;:::-;20109:31;;20170:9;20164:16;20189:33;20214:7;20189:33;:::i;:::-;20245:7;20238:5;20231:22;;20306:2;20295:9;20291:18;20285:25;20280:2;20273:5;20269:14;20262:49;19961:356;;;;:::o;20322:972::-;20427:6;20480:3;20468:9;20459:7;20455:23;20451:33;20448:53;;;20497:1;20494;20487:12;20448:53;20523:22;;:::i;:::-;20568:40;20598:9;20568:40;:::i;:::-;20561:5;20554:55;20662:2;20651:9;20647:18;20641:25;20636:2;20629:5;20625:14;20618:49;20720:2;20709:9;20705:18;20699:25;20694:2;20687:5;20683:14;20676:49;20778:2;20767:9;20763:18;20757:25;20752:2;20745:5;20741:14;20734:49;20837:3;20826:9;20822:19;20816:26;20810:3;20803:5;20799:15;20792:51;20876:60;20931:3;20920:9;20916:19;20876:60;:::i;:::-;20870:3;20863:5;20859:15;20852:85;20970:59;21024:3;21013:9;21009:19;20970:59;:::i;:::-;20964:3;20957:5;20953:15;20946:84;21063:76;21131:7;21125:3;21114:9;21110:19;21063:76;:::i;:::-;21057:3;21050:5;21046:15;21039:101;21159:3;21194:69;21255:7;21250:2;21239:9;21235:18;21194:69;:::i;:::-;21178:14;;;21171:93;21182:5;20322:972;-1:-1:-1;;;20322:972:123:o;21299:1129::-;21489:4;21531:3;21520:9;21516:19;21508:27;;21562:6;21551:9;21544:25;-1:-1:-1;;;;;21615:6:123;21609:13;21605:62;21600:2;21589:9;21585:18;21578:90;21722:2;21714:6;21710:15;21704:22;21699:2;21688:9;21684:18;21677:50;21781:2;21773:6;21769:15;21763:22;21758:2;21747:9;21743:18;21736:50;21841:2;21833:6;21829:15;21823:22;21817:3;21806:9;21802:19;21795:51;21901:3;21893:6;21889:16;21883:23;21877:3;21866:9;21862:19;21855:52;21954:3;21946:6;21942:16;21936:23;21968:63;22026:3;22015:9;22011:19;21997:12;21968:63;:::i;:::-;;22080:3;22072:6;22068:16;22062:23;22094:64;22153:3;22142:9;22138:19;22122:14;22094:64;:::i;:::-;-1:-1:-1;22207:3:123;22195:16;;22189:23;22270:21;22231:3;22250:18;;;22243:49;;;;22329:15;;;22323:22;11774:12;;-1:-1:-1;;;;;11770:61:123;22417:3;22402:19;;11758:74;11881:4;11870:16;11864:23;11848:14;;;;11841:47;21299:1129;;-1:-1:-1;21299:1129:123:o;23059:726::-;23125:5;23173:4;23161:9;23156:3;23152:19;23148:30;23145:50;;;23191:1;23188;23181:12;23145:50;23213:22;;:::i;:::-;23204:31;;23264:9;23258:16;23251:5;23244:31;23319:2;23308:9;23304:18;23298:25;23346:18;23338:6;23335:30;23332:50;;;23378:1;23375;23368:12;23332:50;23401:22;;23454:4;23446:13;;23442:23;-1:-1:-1;23432:51:123;;23479:1;23476;23469:12;23432:51;23508:2;23502:9;23533:48;23549:31;23577:2;23549:31;:::i;23533:48::-;23604:2;23597:5;23590:17;23644:3;23639:2;23634;23630;23626:11;23622:20;23619:29;23616:49;;;23661:1;23658;23651:12;23616:49;23674:67;23738:2;23733;23726:5;23722:14;23717:2;23713;23709:11;23674:67;:::i;:::-;23768:2;23757:14;;23750:29;-1:-1:-1;23761:5:123;;23059:726;-1:-1:-1;;;23059:726:123:o;23790:1028::-;23882:6;23935:2;23923:9;23914:7;23910:23;23906:32;23903:52;;;23951:1;23948;23941:12;23903:52;23984:9;23978:16;24013:18;24054:2;24046:6;24043:14;24040:34;;;24070:1;24067;24060:12;24040:34;24093:22;;;;24149:4;24131:16;;;24127:27;24124:47;;;24167:1;24164;24157:12;24124:47;24193:22;;:::i;:::-;24244:2;24238:9;24231:5;24224:24;24286:2;24282;24278:11;24272:18;24299:33;24324:7;24299:33;:::i;:::-;24359:2;24348:14;;24341:31;24410:2;24402:11;;24396:18;24423:33;24396:18;24423:33;:::i;:::-;24483:2;24472:14;;24465:31;24535:2;24527:11;;24521:18;24551:16;;;24548:36;;;24580:1;24577;24570:12;24548:36;24616:65;24673:7;24662:8;24658:2;24654:17;24616:65;:::i;:::-;24611:2;24604:5;24600:14;24593:89;;24729:3;24725:2;24721:12;24715:19;24709:3;24702:5;24698:15;24691:44;24782:3;24778:2;24774:12;24768:19;24762:3;24755:5;24751:15;24744:44;24807:5;24797:15;;;;;23790:1028;;;;:::o;25196:986::-;25299:6;25352:2;25340:9;25331:7;25327:23;25323:32;25320:52;;;25368:1;25365;25358:12;25320:52;25401:9;25395:16;25430:18;25471:2;25463:6;25460:14;25457:34;;;25487:1;25484;25477:12;25457:34;25510:22;;;;25566:4;25548:16;;;25544:27;25541:47;;;25584:1;25581;25574:12;25541:47;25610:22;;:::i;:::-;25661:2;25655:9;25648:5;25641:24;25703:2;25699;25695:11;25689:18;25716:33;25741:7;25716:33;:::i;:::-;25776:2;25765:14;;25758:31;25835:2;25827:11;;;25821:18;25805:14;;;25798:42;25878:2;25870:11;;25864:18;25891:33;25864:18;25891:33;:::i;:::-;25951:2;25940:14;;25933:31;26003:3;25995:12;;25989:19;26020:16;;;26017:36;;;26049:1;26046;26039:12;26017:36;26086:65;26143:7;26132:8;26128:2;26124:17;26086:65;:::i;:::-;26080:3;26069:15;;26062:90;-1:-1:-1;26073:5:123;25196:986;-1:-1:-1;;;;;25196:986:123:o;26187:265::-;26271:6;26324:2;26312:9;26303:7;26299:23;26295:32;26292:52;;;26340:1;26337;26330:12;26292:52;26372:9;26366:16;26391:31;26416:5;26391:31;:::i;26457:135::-;26496:3;26517:17;;;26514:43;;26537:18;;:::i;:::-;-1:-1:-1;26584:1:123;26573:13;;26457:135::o;26723:545::-;26825:2;26820:3;26817:11;26814:448;;;26861:1;26886:5;26882:2;26875:17;26931:4;26927:2;26917:19;27001:2;26989:10;26985:19;26982:1;26978:27;26972:4;26968:38;27037:4;27025:10;27022:20;27019:47;;;-1:-1:-1;27060:4:123;27019:47;27115:2;27110:3;27106:12;27103:1;27099:20;27093:4;27089:31;27079:41;;27170:82;27188:2;27181:5;27178:13;27170:82;;;27233:17;;;27214:1;27203:13;27170:82;;;27174:3;;;26723:545;;;:::o;27444:1352::-;27570:3;27564:10;27597:18;27589:6;27586:30;27583:56;;;27619:18;;:::i;:::-;27648:97;27738:6;27698:38;27730:4;27724:11;27698:38;:::i;:::-;27692:4;27648:97;:::i;:::-;27800:4;;27864:2;27853:14;;27881:1;27876:663;;;;28583:1;28600:6;28597:89;;;-1:-1:-1;28652:19:123;;;28646:26;28597:89;-1:-1:-1;;27401:1:123;27397:11;;;27393:24;27389:29;27379:40;27425:1;27421:11;;;27376:57;28699:81;;27846:944;;27876:663;26670:1;26663:14;;;26707:4;26694:18;;-1:-1:-1;;27912:20:123;;;28030:236;28044:7;28041:1;28038:14;28030:236;;;28133:19;;;28127:26;28112:42;;28225:27;;;;28193:1;28181:14;;;;28060:19;;28030:236;;;28034:3;28294:6;28285:7;28282:19;28279:201;;;28355:19;;;28349:26;-1:-1:-1;;28438:1:123;28434:14;;;28450:3;28430:24;28426:37;28422:42;28407:58;28392:74;;28279:201;-1:-1:-1;;;;;28526:1:123;28510:14;;;28506:22;28493:36;;-1:-1:-1;27444:1352:123:o;29072:273::-;29140:6;29193:2;29181:9;29172:7;29168:23;29164:32;29161:52;;;29209:1;29206;29199:12;29161:52;29241:9;29235:16;29291:4;29284:5;29280:16;29273:5;29270:27;29260:55;;29311:1;29308;29301:12;29350:422;29439:1;29482:5;29439:1;29496:270;29517:7;29507:8;29504:21;29496:270;;;29576:4;29572:1;29568:6;29564:17;29558:4;29555:27;29552:53;;;29585:18;;:::i;:::-;29635:7;29625:8;29621:22;29618:55;;;29655:16;;;;29618:55;29734:22;;;;29694:15;;;;29496:270;;;29500:3;29350:422;;;;;:::o;29777:806::-;29826:5;29856:8;29846:80;;-1:-1:-1;29897:1:123;29911:5;;29846:80;29945:4;29935:76;;-1:-1:-1;29982:1:123;29996:5;;29935:76;30027:4;30045:1;30040:59;;;;30113:1;30108:130;;;;30020:218;;30040:59;30070:1;30061:10;;30084:5;;;30108:130;30145:3;30135:8;30132:17;30129:43;;;30152:18;;:::i;:::-;-1:-1:-1;;30208:1:123;30194:16;;30223:5;;30020:218;;30322:2;30312:8;30309:16;30303:3;30297:4;30294:13;30290:36;30284:2;30274:8;30271:16;30266:2;30260:4;30257:12;30253:35;30250:77;30247:159;;;-1:-1:-1;30359:19:123;;;30391:5;;30247:159;30438:34;30463:8;30457:4;30438:34;:::i;:::-;30508:6;30504:1;30500:6;30496:19;30487:7;30484:32;30481:58;;;30519:18;;:::i;:::-;30557:20;;29777:806;-1:-1:-1;;;29777:806:123:o;30588:131::-;30648:5;30677:36;30704:8;30698:4;30677:36;:::i;31081:184::-;-1:-1:-1;;;31130:1:123;31123:88;31230:4;31227:1;31220:15;31254:4;31251:1;31244:15;31270:1185;31399:6;31430:2;31473;31461:9;31452:7;31448:23;31444:32;31441:52;;;31489:1;31486;31479:12;31441:52;31522:9;31516:16;31555:18;31547:6;31544:30;31541:50;;;31587:1;31584;31577:12;31541:50;31610:22;;31663:4;31655:13;;31651:27;-1:-1:-1;31641:55:123;;31692:1;31689;31682:12;31641:55;31721:2;31715:9;31744:60;31760:43;31800:2;31760:43;:::i;31744:60::-;31838:15;;;31920:1;31916:10;;;;31908:19;;31904:28;;;31869:12;;;;31944:19;;;31941:39;;;31976:1;31973;31966:12;31941:39;32000:11;;;;32020:405;32036:6;32031:3;32028:15;32020:405;;;32118:4;32112:3;32103:7;32099:17;32095:28;32092:118;;;32164:1;32193:2;32189;32182:14;32092:118;32236:22;;:::i;:::-;32285:10;;32271:25;;32338:12;;;32332:19;32316:14;;;32309:43;32365:18;;32062:4;32053:14;;;;32403:12;;;;32020:405;;32460:184;-1:-1:-1;;;32509:1:123;32502:88;32609:4;32606:1;32599:15;32633:4;32630:1;32623:15;32649:220;32798:2;32787:9;32780:21;32761:4;32818:45;32859:2;32848:9;32844:18;32836:6;32818:45;:::i;32874:291::-;33051:2;33040:9;33033:21;33014:4;33071:45;33112:2;33101:9;33097:18;33089:6;33071:45;:::i;:::-;33063:53;;33152:6;33147:2;33136:9;33132:18;33125:34;32874:291;;;;;:::o;33936:216::-;34000:9;;;34028:11;;;33975:3;34058:9;;34086:10;;34082:19;;34111:10;;34103:19;;34079:44;34076:70;;;34126:18;;:::i","linkReferences":{},"immutableReferences":{"3335":[{"start":1138,"length":32},{"start":6287,"length":32},{"start":6434,"length":32},{"start":7083,"length":32}],"3337":[{"start":1502,"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","setWeight(uint256)":"fc1711f2","supportProposal((uint256,int256)[])":"e33add93","supportsInterface(bytes4)":"01ffc9a7","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\":\"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\":\"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\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"sybilOracleScorer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.SybilConfig\",\"name\":\"sybilConfig\",\"type\":\"tuple\"}],\"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\":\"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\":\"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/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/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\":\"0x3032ef966b217c359e29a9735604ee4e8e6529a9a0632369abdd7a7ae285dbd7\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://788c0a1deb7c53faedadc5efc152107ba22db81aaa9cffa1ba52d1427adfe2be\",\"dweb:/ipfs/QmQGANoMw4kb87y8JGCEgndo888YVDfRKMCepTJ2NVWUmY\"]},\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"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":"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":"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":"struct StrategyStruct.SybilConfig","name":"sybilConfig","type":"tuple","components":[{"internalType":"address","name":"sybilOracleScorer","type":"address"},{"internalType":"uint256","name":"threshold","type":"uint256"}]}],"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":"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":"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/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/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":"0x3032ef966b217c359e29a9735604ee4e8e6529a9a0632369abdd7a7ae285dbd7","urls":["bzz-raw://788c0a1deb7c53faedadc5efc152107ba22db81aaa9cffa1ba52d1427adfe2be","dweb:/ipfs/QmQGANoMw4kb87y8JGCEgndo888YVDfRKMCepTJ2NVWUmY"],"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/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":109} \ 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":"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":"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":"sybilConfig","type":"tuple","internalType":"struct StrategyStruct.SybilConfig","components":[{"name":"sybilOracleScorer","type":"address","internalType":"address"},{"name":"threshold","type":"uint256","internalType":"uint256"}]}]}],"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":"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":"UserIsInactive","inputs":[]},{"type":"error","name":"UserNotInRegistry","inputs":[]},{"type":"error","name":"ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x60c0604052600060065560006009553480156200001b57600080fd5b5060405162004ab338038062004ab38339810160408190526200003e91620000a6565b604080518082018252600a8152694356537472617465677960b01b6020808301919091526001600160a01b038416608052915183926200008191839101620000d8565b60408051601f19818403018152919052805160209091012060a0525062000128915050565b600060208284031215620000b957600080fd5b81516001600160a01b0381168114620000d157600080fd5b9392505050565b600060208083528351808285015260005b818110156200010757858101830151858201604001528201620000e9565b506000604082860101526040601f19601f8301168501019250505092915050565b60805160a0516149506200016360003960006105de0152600081816104720152818161188f015281816119220152611bab01526149506000f3fe60806040526004361061033f5760003560e01c806376365af7116101ae578063b5f620ce116100eb578063e0dd2c381161008f578063edd146cc1161006c578063edd146cc14610a09578063ef2920fc14610a29578063f5b0dfb714610a3c578063fc1711f214610a5c57005b8063e0dd2c381461099c578063e33add93146109bc578063eb11af93146109dc57005b8063c7f758a8116100c8578063c7f758a814610909578063d1e362321461093f578063dc96ff2d14610954578063df868ed31461098457005b8063b5f620ce14610896578063bcc5b93b146108b6578063c3292171146108ec57005b8063950559d711610152578063a47ff7e51161012f578063a47ff7e51461080f578063a574cea414610826578063aba9ffee14610853578063b2b878d01461086957005b8063950559d7146107b1578063a0cf0aea146107d1578063a1aab33f146107f957005b8063814516ad1161018b578063814516ad14610746578063817b1cd21461075b578063824ea8ed14610771578063868c57b81461079157005b806376365af7146106fa578063782aadff146107105780637c6570ba1461073057005b80632ed04b2b1161027c5780634d31d087116102205780635db64b99116101fd5780635db64b991461066d5780636003e4141461069a5780636453d9c4146106ba57806369fa25c4146106da57005b80634d31d0871461061757806354fac9191461063757806359a5db8b1461064d57005b806338fff2d01161025957806338fff2d0146105a5578063406244d8146105ba57806342fda9c7146105cf5780634ab4ba421461060257005b80632ed04b2b1461053e578063346db8cb1461055e578063351d9f961461057e57005b806311f22ae3116102e35780631ddf1e23116102c05780631ddf1e23146104ca5780632bbe0cae146104df5780632cefadbb146104f25780632dbd6fdd1461051257005b806311f22ae31461044357806315cc481e146104635780631aa91a9e146104aa57005b80630a6f0ee91161031c5780630a6f0ee9146103d75780630ba95909146103f75780630c0512e9146104165780630f529ba21461042c57005b8063013cf08b1461034857806301ffc9a714610387578063058aca44146103b757005b3661034657005b005b34801561035457600080fd5b506103686103633660046138e1565b610a7c565b60405161037e9a9998979695949392919061399b565b60405180910390f35b34801561039357600080fd5b506103a76103a2366004613a0e565b610b8a565b604051901515815260200161037e565b3480156103c357600080fd5b506103466103d2366004613a65565b610c23565b3480156103e357600080fd5b506103466103f2366004613c6d565b610c90565b34801561040357600080fd5b50600c545b60405190815260200161037e565b34801561042257600080fd5b5061040860065481565b34801561043857600080fd5b506104086298968081565b34801561044f57600080fd5b5061034661045e3660046138e1565b610cb0565b34801561046f57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b03909116815260200161037e565b3480156104b657600080fd5b506104086104c53660046138e1565b610cef565b3480156104d657600080fd5b50610346610d7a565b6104926104ed366004613ce5565b610d85565b3480156104fe57600080fd5b5061034661050d3660046138e1565b610da8565b34801561051e57600080fd5b50600b5461053190610100900460ff1681565b60405161037e9190613d47565b34801561054a57600080fd5b50610408610559366004613d55565b610df4565b34801561056a57600080fd5b50610408610579366004613d81565b610ec6565b34801561058a57600080fd5b50600b546105989060ff1681565b60405161037e9190613dbd565b3480156105b157600080fd5b50600154610408565b3480156105c657600080fd5b50610408600a81565b3480156105db57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610408565b34801561060e57600080fd5b50600254610408565b34801561062357600080fd5b506103a7610632366004613a65565b610f6b565b34801561064357600080fd5b5061040860035481565b34801561065957600080fd5b506104086106683660046138e1565b610f76565b34801561067957600080fd5b50610408610688366004613a65565b600f6020526000908152604090205481565b3480156106a657600080fd5b50600d54610492906001600160a01b031681565b3480156106c657600080fd5b506103466106d5366004613a65565b6110b3565b3480156106e657600080fd5b506103466106f53660046138e1565b6110c7565b34801561070657600080fd5b5061040860045481565b34801561071c57600080fd5b5061040861072b366004613d55565b611106565b34801561073c57600080fd5b5061040860095481565b34801561075257600080fd5b50610346611282565b34801561076757600080fd5b5061040860075481565b34801561077d57600080fd5b506103a761078c3660046138e1565b61138c565b34801561079d57600080fd5b506104086107ac366004613d55565b6113e9565b3480156107bd57600080fd5b506104086107cc3660046138e1565b61141a565b3480156107dd57600080fd5b5061049273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801561080557600080fd5b5061040860055481565b34801561081b57600080fd5b50600c546104089081565b34801561083257600080fd5b506108466108413660046138e1565b611444565b60405161037e9190613dcb565b34801561085f57600080fd5b5061040860085481565b34801561087557600080fd5b50610889610884366004613dde565b611523565b60405161037e9190613eb3565b3480156108a257600080fd5b506103466108b1366004613f21565b61153e565b3480156108c257600080fd5b506104086108d1366004613a65565b6001600160a01b03166000908152600f602052604090205490565b3480156108f857600080fd5b50600b54610100900460ff16610531565b34801561091557600080fd5b506109296109243660046138e1565b611547565b60405161037e9a99989796959493929190613f3e565b34801561094b57600080fd5b50600854610408565b34801561096057600080fd5b5061040861096f3660046138e1565b6000908152600e602052604090206002015490565b34801561099057600080fd5b5060005460ff166103a7565b3480156109a857600080fd5b506104086109b7366004613fa3565b611649565b3480156109c857600080fd5b506103466109d7366004613fc8565b611674565b3480156109e857600080fd5b506109fc6109f7366004613a65565b61168d565b60405161037e9190614073565b348015610a1557600080fd5b50610346610a2436600461408d565b611698565b610346610a37366004613ce5565b6117c6565b348015610a4857600080fd5b50610346610a573660046138e1565b6117e4565b348015610a6857600080fd5b50610346610a773660046138e1565b61180d565b600e602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610b03906140d4565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2f906140d4565b8015610b7c5780601f10610b5157610100808354040283529160200191610b7c565b820191906000526020600020905b815481529060010190602001808311610b5f57829003601f168201915b50505050508152505090508a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff1801e61000000000000000000000000000000000000000000000000000000001480610c1d57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33610c2d8161184c565b600d805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906020015b60405180910390a15050565b610c98611917565b610ca0611960565b610cab83838361199c565b505050565b33610cba8161184c565b60048290556040518281527f08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab90602001610c84565b6000818152600e6020526040812080548314610d265760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6001600882015460ff166004811115610d4157610d416138fa565b14610d62576040516344980d8f60e01b815260048101849052602401610d1d565b610d70818260020154611cd3565b6003015492915050565b610d8333611d0e565b565b6000610d8f611917565b610d97611960565b610da18383611e5f565b9392505050565b33610db28161184c565b60095460408051918252602082018490527f056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b910160405180910390a150600955565b6000610dfe612197565b60006002600b54610100900460ff166003811115610e1e57610e1e6138fa565b1480610e4557506001600b54610100900460ff166003811115610e4357610e436138fa565b145b15610e51575081610e5e565b610e5b84846121db565b90505b8060086000828254610e70919061411e565b9091555050604080516001600160a01b0386168152602081018590529081018290527f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19060600160405180910390a19392505050565b6000808490506000610eec629896806080600354901b610ee69190614147565b8361249f565b905060806f8000000000000000000000000000000060035462989680610f12919061411e565b610f2084600160801b61411e565b610f2d6298968089614169565b610f379190614169565b610f419190614147565b610f4b8885614169565b610f559190614180565b610f5f9190614180565b901c9695505050505050565b6000610c1d82612548565b60008060025411610fb3576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fbc82612568565b15610fda57604051630efd728560e21b815260040160405180910390fd5b600254600090610ff38468010000000000000000614169565b610ffd9190614147565b62989680600454680100000000000000006110189190614169565b6110229190614147565b61102c919061411e565b9050604061103960085490565b600354611049906298968061411e565b6298968060406110598680614169565b901c629896806080600554901b6110709190614147565b61107a9190614147565b6110849190614169565b61108e9190614147565b6110989190614169565b901c915060095482116110ad57600954610da1565b50919050565b6110bb612197565b6110c481611d0e565b50565b336110d18161184c565b60038290556040518281527f592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f290602001610c84565b6000611110612197565b60006002600b54610100900460ff166003811115611130576111306138fa565b0361113e57825b905061119b565b6001600b54610100900460ff16600381111561115c5761115c6138fa565b0361116b57611137848461258f565b6003600b54610100900460ff166003811115611189576111896138fa565b0361119b5761119884846126f5565b90505b600d5460405163011de97360e61b81526001600160a01b038681166004830152306024830152600092169063477a5cc090604401602060405180830381865afa1580156111ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112109190614193565b9050801561123057816008600082825461122a9190614180565b90915550505b604080516001600160a01b0387168152602081018690529081018390527f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a9060600160405180910390a1509392505050565b600d546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081523360048201819052306024830152916001600160a01b031690630d4a8b4990604401600060405180830381600087803b1580156112e757600080fd5b505af11580156112fb573d6000803e3d6000fd5b5050600d54604051637817ee4f60e01b81526001600160a01b0385811660048301523060248301529091169250637817ee4f9150604401602060405180830381865afa15801561134f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137391906141b0565b600860008282546113849190614180565b909155505050565b6000818152600e602052604081206002810154829081906113ae90849061293c565b915091508160001480156113c0575080155b156113cd57826003015491505b60006113dc8460010154610f76565b9092101595945050505050565b6010602052816000526040600020818154811061140557600080fd5b90600052602060002001600091509150505481565b60006003546298968061142d919061411e565b61143a6298968084614169565b610c1d9190614147565b6040805180820190915260008152606060208201526000600e6000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054611499906140d4565b80601f01602080910402602001604051908101604052809291908181526020018280546114c5906140d4565b80156115125780601f106114e757610100808354040283529160200191611512565b820191906000526020600020905b8154815290600101906020018083116114f557829003601f168201915b505050505081525050915050919050565b606060405163d623472560e01b815260040160405180910390fd5b6110c481612994565b6000806000806000806000806000806000600e60008d81526020019081526020016000209050806001015460001461158b576115868160010154610f76565b61158e565b60005b92508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548a896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000828152600e602090815260408083206001600160a01b0385168452600901909152812054610da1565b60405163d623472560e01b815260040160405180910390fd5b6000610c1d826129d5565b6116a1826129f5565b6000818060200190518101906116b79190614274565b80519091506001600160a01b03166116e257604051635df4b1ef60e01b815260040160405180910390fd5b8051600d805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516003556040810151600455606081015160055560a0810151600b805460ff19166001836002811115611749576117496138fa565b021790555060c0810151600b805461ff001916610100836003811115611771576117716138fa565b021790555060e081015151600c5560808101516009556040517f8de50bebef1bd84245c2bf562892194bb7f5f441c7f848c1aa181f1e4e191e42906117b99085908490614310565b60405180910390a1505050565b6117ce611917565b6117d6611960565b6117e08282612a76565b5050565b6117ec611917565b80600260008282546117fe9190614180565b909155506110c4905081612b5f565b336118178161184c565b60058290556040518281527f30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb4990602001610c84565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa1580156118d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fa9190614193565b6110c45760405163075fd2b160e01b815260040160405180910390fd5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d835760405163075fd2b160e01b815260040160405180910390fd5b600154600003610d83576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008251116119d7576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906119ed91906141b0565b905080600003611a29576040517ff881a10d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152600e602052604090206001600b5460ff166002811115611a5057611a506138fa565b03611ccc5780548214611a795760405163c1d17bef60e01b815260048101839052602401610d1d565b60025481600101541115611ad15760018101546002546040517f5863b0b60000000000000000000000000000000000000000000000000000000081526004810185905260248101929092526044820152606401610d1d565b6001600882015460ff166004811115611aec57611aec6138fa565b14611b0d576040516344980d8f60e01b815260048101839052602401610d1d565b6000611b1883610cef565b90506000611b298360010154610f76565b90508082108015611b3e575060008360010154115b15611b75576040517fcce7930800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d91611be29160040190815260200190565b600060405180830381865afa158015611bff573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c27919081019061443c565b9050836001015460026000828254611c3f919061411e565b9091555050604081015160048501546001860154611c6792916001600160a01b031690612b8f565b60088401805460ff191660049081179091558401546001850154604080518881526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a15050505b5050505050565b600080611ce0848461293c565b91509150816000148015611cf2575080155b15611cfd5750505050565b600784015560039092019190915550565b600d54604051637817ee4f60e01b81526001600160a01b03838116600483015230602483015290911690637817ee4f90604401602060405180830381865afa158015611d5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d8291906141b0565b60086000828254611d93919061411e565b9091555050600d546040517f22bcf9990000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152909116906322bcf99990604401600060405180830381600087803b158015611dfe57600080fd5b505af1158015611e12573d6000803e3d6000fd5b50505050611e1f81612bd4565b6040516001600160a01b03821681527f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b906020015b60405180910390a150565b60008083806020019051810190611e7691906144f0565b8051909150600003611eb4576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600b5460ff166002811115611ecd57611ecd6138fa565b0361207d57611edf8160200151612cff565b60608101516001600160a01b0316611f23576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f879190614597565b6001600160a01b031663068bcd8d6001546040518263ffffffff1660e01b8152600401611fb691815260200190565b600060405180830381865afa158015611fd3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ffb919081019061443c565b604001519050806001600160a01b031682606001516001600160a01b031614612050576040517fa29c498600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61205d8260400151612568565b1561207b57604051630efd728560e21b815260040160405180910390fd5b505b600060066000815461208e906145b4565b91829055506000818152600e602090815260408083208481556005810180546001600160a01b038b811673ffffffffffffffffffffffffffffffffffffffff19928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b84019061214f908261461b565b505060015460408051918252602082018590527ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b92500160405180910390a150949350505050565b600d546001600160a01b03163314610d83576040517faf0916a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d54604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa15801561222b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061224f9190614597565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156122a8575060408051601f3d908101601f191682019092526122a5918101906146db565b60015b6122ef576122ea6040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250612d3f565b6122f5565b60ff1690505b6123346040518060400160405280601081526020017f5f616d6f756e74546f556e7374616b650000000000000000000000000000000081525084612db0565b600d546040516316308e2560e11b81526001600160a01b0386811660048301526000928692911690632c611c4a90602401602060405180830381865afa158015612382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a691906141b0565b6123b0919061411e565b90506123f16040518060400160405280600d81526020017f6e6577546f74616c5374616b650000000000000000000000000000000000000081525082612db0565b600061241061240184600a6147e2565b61240b9084614169565b612e23565b600d54604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009284921690637817ee4f90604401602060405180830381865afa158015612466573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061248a91906141b0565b612494919061411e565b979650505050505050565b6000600160801b83106124f45760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610d1d565b50600160801b82825b80156125405780600116600003612522576125188283612f0b565b915060011c6124fd565b61252c8383612f0b565b925061253960018261411e565b90506124fd565b505092915050565b60006001600160a01b03821615612560576001610c1d565b600092915050565b60006125776298968083614169565b6002546004546125879190614169565b111592915050565b6000808290506125d46040518060400160405280601281526020017f504f494e545320544f20494e435245415345000000000000000000000000000081525082612db0565b600d54604051637817ee4f60e01b81526001600160a01b0386811660048301523060248301526000921690637817ee4f90604401602060405180830381865afa158015612625573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061264991906141b0565b905061268a6040518060400160405280600b81526020017f4d454d424552504f57455200000000000000000000000000000000000000000081525082612db0565b600c546126978383614180565b11156126ae57600c546126ab90829061411e565b91505b6126ed6040518060400160405280601681526020017f504f494e545320544f20494e43524541534520454e440000000000000000000081525083612db0565b509392505050565b600d546040516316308e2560e11b81526001600160a01b0384811660048301526000928392859290911690632c611c4a90602401602060405180830381865afa158015612746573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061276a91906141b0565b6127749190614180565b600d54604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa1580156127c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127e89190614597565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612841575060408051601f3d908101601f1916820190925261283e918101906146db565b60015b612888576128836040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250612d3f565b61288e565b60ff1690505b60006128a861289e83600a6147e2565b61240b9085614169565b600d54604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa1580156128fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061292291906141b0565b90506000612930828461411e565b98975050505050505050565b6000804390508084600701541115612956576129566147ee565b8084600701540361296c5750600090508061298d565b61298a84600701548261297f919061411e565b856003015485610ec6565b91505b9250929050565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001611e54565b60006001600160a01b038216156129ed576002610c1d565b600392915050565b6129fd611917565b60015415612a37576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003612a71576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b612a7f8161300a565b600d5460405163011de97360e61b81526001600160a01b038381166004830152306024830152600092169063477a5cc090604401602060405180830381865afa158015612ad0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612af49190614193565b905080612b2d576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083806020019051810190612b439190614804565b9050612b4f8382613130565b612b5983826132f3565b50505050565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001611e54565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601612bc957610cab8282613717565b610cab838383613733565b6001600160a01b038116600090815260106020908152604080832080548251818502810185019093528083529192909190830182828015612c3457602002820191906000526020600020905b815481526020019060010190808311612c20575b5050505050905060005b8151811015610cab576000828281518110612c5b57612c5b6148af565b602002602001015190506000600e60008381526020019081526020016000209050612c8582613782565b15612cea576001600160a01b0385166000908152600982016020526040812080549082905560028301805491928392612cbf90849061411e565b925050819055508060076000828254612cd8919061411e565b90915550612ce890508282611cd3565b505b50508080612cf7906145b4565b915050612c3e565b6001600160a01b0381166110c4576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110c481604051602401612d5391906148c5565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac000000000000000000000000000000000000000000000000000000001790526137bb565b6117e08282604051602401612dc69291906148d8565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d0000000000000000000000000000000000000000000000000000000001790526137bb565b600081600003612e3557506000919050565b60006001612e42846137dc565b901c6001901b90506001818481612e5b57612e5b614131565b048201901c90506001818481612e7357612e73614131565b048201901c90506001818481612e8b57612e8b614131565b048201901c90506001818481612ea357612ea3614131565b048201901c90506001818481612ebb57612ebb614131565b048201901c90506001818481612ed357612ed3614131565b048201901c90506001818481612eeb57612eeb614131565b048201901c9050610da181828581612f0557612f05614131565b04613870565b6000600160801b831115612f875760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610d1d565b600160801b8210612fda5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610d1d565b60806f80000000000000000000000000000000612ff78486614169565b6130019190614180565b901c9392505050565b6001600160a01b03811661304a576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d546001600160a01b031661307357604051635df4b1ef60e01b815260040160405180910390fd5b600d546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063a230c52490602401602060405180830381865afa1580156130d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130fa9190614193565b6110c4576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b82518110156131ed5782818151811061314f5761314f6148af565b602002602001015160000151600003156131db576000838281518110613177576131776148af565b602002602001015160000151905061318e81613782565b6131ae5760405163c1d17bef60e01b815260048101829052602401610d1d565b8382815181106131c0576131c06148af565b602002602001015160200151836131d791906148fa565b9250505b806131e5816145b4565b915050613134565b506001600160a01b0383166000908152600f60205260408120546132119083613886565b600d54604051637817ee4f60e01b81526001600160a01b03878116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa158015613267573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061328b91906141b0565b9050808211156132d1576040517fd64182fe0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610d1d565b506001600160a01b039093166000908152600f60205260409020929092555050565b606060005b8251811015612b59576000838281518110613315576133156148af565b602002602001015160000151905082516000036133715760408051600180825281830190925290602080830190803683370190505092508083600081518110613360576133606148af565b6020026020010181815250506134c4565b6000805b84518110156133f05782858281518110613391576133916148af565b6020026020010151036133de576040517fadebb154000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260019250604401610d1d565b806133e8816145b4565b915050613375565b50806134c2576000845160016134069190614180565b67ffffffffffffffff81111561341e5761341e613a82565b604051908082528060200260200182016040528015613447578160200160208202803683370190505b50905060005b855181101561349f57858181518110613468576134686148af565b6020026020010151828281518110613482576134826148af565b602090810291909101015280613497816145b4565b91505061344d565b5082818651815181106134b4576134b46148af565b602090810291909101015293505b505b60008483815181106134d8576134d86148af565b6020908102919091018101518101516000848152600e835260408082206001600160a01b038b168352600981019094528120549193506135188285613886565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152601060205260409020548110156135b15784546001600160a01b038c166000908152601060205260409020805483908110613586576135866148af565b90600052602060002001540361359f57600191506135b1565b806135a9816145b4565b91505061353a565b50806135e7576001600160a01b038a16600090815260106020908152604082208654815460018101835591845291909220909101555b818311613637576135f8838361411e565b600760008282546136099190614180565b909155506136199050838361411e565b84600201600082825461362c9190614180565b9091555061367b9050565b613641828461411e565b60076000828254613652919061411e565b909155506136629050828461411e565b846002016000828254613675919061411e565b90915550505b8360070154600003613692574360078501556136fe565b61369c8484611cd3565b60028401546003850154604080516001600160a01b038e168152602081018a9052908101859052606081019290925260808201527f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9060a00160405180910390a15b505050505050808061370f906145b4565b9150506132f8565b60008060008084865af16117e05763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716613778576390b8ec186000526004601cfd5b6000603452505050565b6000818152600e602052604081205415801590610c1d5750506000908152600e60205260409020600501546001600160a01b0316151590565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080608083901c156137f157608092831c92015b604083901c1561380357604092831c92015b602083901c1561381557602092831c92015b601083901c1561382757601092831c92015b600883901c1561383957600892831c92015b600483901c1561384b57600492831c92015b600283901c1561385d57600292831c92015b600183901c15610c1d5760010192915050565b600081831061387f5781610da1565b5090919050565b60008061389383856148fa565b90506000811215610da1576040517f3bbc7142000000000000000000000000000000000000000000000000000000008152600481018590526024810184905260448101829052606401610d1d565b6000602082840312156138f357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60058110613920576139206138fa565b9052565b60005b8381101561393f578181015183820152602001613927565b50506000910152565b60008151808452613960816020860160208601613924565b601f01601f19169290920160200192915050565b8051825260006020820151604060208501526139936040850182613948565b949350505050565b60006101408c83528b60208401528a60408401528960608401526001600160a01b03808a16608085015280891660a085015280881660c0850152508560e08401526139ea610100840186613910565b806101208401526139fd81840185613974565b9d9c50505050505050505050505050565b600060208284031215613a2057600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610da157600080fd5b6001600160a01b03811681146110c457600080fd5b600060208284031215613a7757600080fd5b8135610da181613a50565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715613abb57613abb613a82565b60405290565b604051610120810167ffffffffffffffff81118282101715613abb57613abb613a82565b60405160c0810167ffffffffffffffff81118282101715613abb57613abb613a82565b60405160a0810167ffffffffffffffff81118282101715613abb57613abb613a82565b604051601f8201601f1916810167ffffffffffffffff81118282101715613b5457613b54613a82565b604052919050565b600067ffffffffffffffff821115613b7657613b76613a82565b5060051b60200190565b600082601f830112613b9157600080fd5b81356020613ba6613ba183613b5c565b613b2b565b82815260059290921b84018101918181019086841115613bc557600080fd5b8286015b84811015613be9578035613bdc81613a50565b8352918301918301613bc9565b509695505050505050565b600067ffffffffffffffff821115613c0e57613c0e613a82565b50601f01601f191660200190565b600082601f830112613c2d57600080fd5b8135613c3b613ba182613bf4565b818152846020838601011115613c5057600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613c8257600080fd5b833567ffffffffffffffff80821115613c9a57600080fd5b613ca687838801613b80565b94506020860135915080821115613cbc57600080fd5b50613cc986828701613c1c565b9250506040840135613cda81613a50565b809150509250925092565b60008060408385031215613cf857600080fd5b823567ffffffffffffffff811115613d0f57600080fd5b613d1b85828601613c1c565b9250506020830135613d2c81613a50565b809150509250929050565b60048110613920576139206138fa565b60208101610c1d8284613d37565b60008060408385031215613d6857600080fd5b8235613d7381613a50565b946020939093013593505050565b600080600060608486031215613d9657600080fd5b505081359360208301359350604090920135919050565b60038110613920576139206138fa565b60208101610c1d8284613dad565b602081526000610da16020830184613974565b60008060408385031215613df157600080fd5b823567ffffffffffffffff80821115613e0957600080fd5b613e1586838701613b80565b9350602091508185013581811115613e2c57600080fd5b8501601f81018713613e3d57600080fd5b8035613e4b613ba182613b5c565b81815260059190911b82018401908481019089831115613e6a57600080fd5b8584015b83811015613ea257803586811115613e865760008081fd5b613e948c8983890101613c1c565b845250918601918601613e6e565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015613f0657613ef684835180516001600160a01b03168252602090810151910152565b9284019290850190600101613ed0565b5091979650505050505050565b80151581146110c457600080fd5b600060208284031215613f3357600080fd5b8135610da181613f13565b6001600160a01b038b811682528a811660208301528916604082015260608101889052608081018790526101408101613f7a60a0830188613910565b8560c08301528460e083015283610100830152826101208301529b9a5050505050505050505050565b60008060408385031215613fb657600080fd5b823591506020830135613d2c81613a50565b60006020808385031215613fdb57600080fd5b823567ffffffffffffffff811115613ff257600080fd5b8301601f8101851361400357600080fd5b8035614011613ba182613b5c565b81815260069190911b8201830190838101908783111561403057600080fd5b928401925b82841015612494576040848903121561404e5760008081fd5b614056613a98565b843581528585013586820152825260409093019290840190614035565b6020810160078310614087576140876138fa565b91905290565b600080604083850312156140a057600080fd5b82359150602083013567ffffffffffffffff8111156140be57600080fd5b6140ca85828601613c1c565b9150509250929050565b600181811c908216806140e857607f821691505b6020821081036110ad57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610c1d57610c1d614108565b634e487b7160e01b600052601260045260246000fd5b60008261416457634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c1d57610c1d614108565b80820180821115610c1d57610c1d614108565b6000602082840312156141a557600080fd5b8151610da181613f13565b6000602082840312156141c257600080fd5b5051919050565b80516141d481613a50565b919050565b8051600381106141d457600080fd5b8051600481106141d457600080fd5b60006020828403121561420957600080fd5b6040516020810181811067ffffffffffffffff8211171561422c5761422c613a82565b6040529151825250919050565b60006040828403121561424b57600080fd5b614253613a98565b9050815161426081613a50565b808252506020820151602082015292915050565b6000610140828403121561428757600080fd5b61428f613ac1565b614298836141c9565b8152602083015160208201526040830151604082015260608301516060820152608083015160808201526142ce60a084016141d9565b60a08201526142df60c084016141e8565b60c08201526142f18460e085016141f7565b60e082015261010061430585828601614239565b908201529392505050565b6000610160820190508382526001600160a01b038351166020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015161436660c0840182613dad565b5060c083015161437960e0840182613d37565b5060e083015151610100838101919091529092015180516001600160a01b03166101208301526020015161014090910152919050565b6000604082840312156143c157600080fd5b6143c9613a98565b905081518152602082015167ffffffffffffffff8111156143e957600080fd5b8201601f810184136143fa57600080fd5b8051614408613ba182613bf4565b81815285602083850101111561441d57600080fd5b61442e826020830160208601613924565b602084015250909392505050565b60006020828403121561444e57600080fd5b815167ffffffffffffffff8082111561446657600080fd5b9083019060c0828603121561447a57600080fd5b614482613ae5565b82518152602083015161449481613a50565b602082015260408301516144a781613a50565b60408201526060830151828111156144be57600080fd5b6144ca878286016143af565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b60006020828403121561450257600080fd5b815167ffffffffffffffff8082111561451a57600080fd5b9083019060a0828603121561452e57600080fd5b614536613b08565b82518152602083015161454881613a50565b602082015260408381015190820152606083015161456581613a50565b606082015260808301518281111561457c57600080fd5b614588878286016143af565b60808301525095945050505050565b6000602082840312156145a957600080fd5b8151610da181613a50565b6000600182016145c6576145c6614108565b5060010190565b601f821115610cab57600081815260208120601f850160051c810160208610156145f45750805b601f850160051c820191505b8181101561461357828155600101614600565b505050505050565b815167ffffffffffffffff81111561463557614635613a82565b6146498161464384546140d4565b846145cd565b602080601f83116001811461467e57600084156146665750858301515b600019600386901b1c1916600185901b178555614613565b600085815260208120601f198616915b828110156146ad5788860151825594840194600190910190840161468e565b50858210156146cb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156146ed57600080fd5b815160ff81168114610da157600080fd5b600181815b8085111561473957816000190482111561471f5761471f614108565b8085161561472c57918102915b93841c9390800290614703565b509250929050565b60008261475057506001610c1d565b8161475d57506000610c1d565b8160018114614773576002811461477d57614799565b6001915050610c1d565b60ff84111561478e5761478e614108565b50506001821b610c1d565b5060208310610133831016604e8410600b84101617156147bc575081810a610c1d565b6147c683836146fe565b80600019048211156147da576147da614108565b029392505050565b6000610da18383614741565b634e487b7160e01b600052600160045260246000fd5b6000602080838503121561481757600080fd5b825167ffffffffffffffff81111561482e57600080fd5b8301601f8101851361483f57600080fd5b805161484d613ba182613b5c565b81815260069190911b8201830190838101908783111561486c57600080fd5b928401925b82841015612494576040848903121561488a5760008081fd5b614892613a98565b845181528585015186820152825260409093019290840190614871565b634e487b7160e01b600052603260045260246000fd5b602081526000610da16020830184613948565b6040815260006148eb6040830185613948565b90508260208301529392505050565b80820182811260008312801582168215821617156125405761254061410856fea26469706673582212209b4a51a961c4ee494da7ee673b727b420a419278832834864daa2c6c94b2801d64736f6c63430008130033","sourceMap":"2822:37282:124:-:0;;;6387:1;6354:34;;6504:1;6467:38;;7496:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5210:135:11;;;;;;;;;;;-1:-1:-1;;;5210:135:11;;;;;;;;-1:-1:-1;;;;;5268:19:11;;;;5320:17;;7544:5:124;;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;2822:37282:124;;-1:-1:-1;;2822:37282:124;14:290:138;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:138;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:138: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;:::-;2822:37282:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361061033f5760003560e01c806376365af7116101ae578063b5f620ce116100eb578063e0dd2c381161008f578063edd146cc1161006c578063edd146cc14610a09578063ef2920fc14610a29578063f5b0dfb714610a3c578063fc1711f214610a5c57005b8063e0dd2c381461099c578063e33add93146109bc578063eb11af93146109dc57005b8063c7f758a8116100c8578063c7f758a814610909578063d1e362321461093f578063dc96ff2d14610954578063df868ed31461098457005b8063b5f620ce14610896578063bcc5b93b146108b6578063c3292171146108ec57005b8063950559d711610152578063a47ff7e51161012f578063a47ff7e51461080f578063a574cea414610826578063aba9ffee14610853578063b2b878d01461086957005b8063950559d7146107b1578063a0cf0aea146107d1578063a1aab33f146107f957005b8063814516ad1161018b578063814516ad14610746578063817b1cd21461075b578063824ea8ed14610771578063868c57b81461079157005b806376365af7146106fa578063782aadff146107105780637c6570ba1461073057005b80632ed04b2b1161027c5780634d31d087116102205780635db64b99116101fd5780635db64b991461066d5780636003e4141461069a5780636453d9c4146106ba57806369fa25c4146106da57005b80634d31d0871461061757806354fac9191461063757806359a5db8b1461064d57005b806338fff2d01161025957806338fff2d0146105a5578063406244d8146105ba57806342fda9c7146105cf5780634ab4ba421461060257005b80632ed04b2b1461053e578063346db8cb1461055e578063351d9f961461057e57005b806311f22ae3116102e35780631ddf1e23116102c05780631ddf1e23146104ca5780632bbe0cae146104df5780632cefadbb146104f25780632dbd6fdd1461051257005b806311f22ae31461044357806315cc481e146104635780631aa91a9e146104aa57005b80630a6f0ee91161031c5780630a6f0ee9146103d75780630ba95909146103f75780630c0512e9146104165780630f529ba21461042c57005b8063013cf08b1461034857806301ffc9a714610387578063058aca44146103b757005b3661034657005b005b34801561035457600080fd5b506103686103633660046138e1565b610a7c565b60405161037e9a9998979695949392919061399b565b60405180910390f35b34801561039357600080fd5b506103a76103a2366004613a0e565b610b8a565b604051901515815260200161037e565b3480156103c357600080fd5b506103466103d2366004613a65565b610c23565b3480156103e357600080fd5b506103466103f2366004613c6d565b610c90565b34801561040357600080fd5b50600c545b60405190815260200161037e565b34801561042257600080fd5b5061040860065481565b34801561043857600080fd5b506104086298968081565b34801561044f57600080fd5b5061034661045e3660046138e1565b610cb0565b34801561046f57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b03909116815260200161037e565b3480156104b657600080fd5b506104086104c53660046138e1565b610cef565b3480156104d657600080fd5b50610346610d7a565b6104926104ed366004613ce5565b610d85565b3480156104fe57600080fd5b5061034661050d3660046138e1565b610da8565b34801561051e57600080fd5b50600b5461053190610100900460ff1681565b60405161037e9190613d47565b34801561054a57600080fd5b50610408610559366004613d55565b610df4565b34801561056a57600080fd5b50610408610579366004613d81565b610ec6565b34801561058a57600080fd5b50600b546105989060ff1681565b60405161037e9190613dbd565b3480156105b157600080fd5b50600154610408565b3480156105c657600080fd5b50610408600a81565b3480156105db57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610408565b34801561060e57600080fd5b50600254610408565b34801561062357600080fd5b506103a7610632366004613a65565b610f6b565b34801561064357600080fd5b5061040860035481565b34801561065957600080fd5b506104086106683660046138e1565b610f76565b34801561067957600080fd5b50610408610688366004613a65565b600f6020526000908152604090205481565b3480156106a657600080fd5b50600d54610492906001600160a01b031681565b3480156106c657600080fd5b506103466106d5366004613a65565b6110b3565b3480156106e657600080fd5b506103466106f53660046138e1565b6110c7565b34801561070657600080fd5b5061040860045481565b34801561071c57600080fd5b5061040861072b366004613d55565b611106565b34801561073c57600080fd5b5061040860095481565b34801561075257600080fd5b50610346611282565b34801561076757600080fd5b5061040860075481565b34801561077d57600080fd5b506103a761078c3660046138e1565b61138c565b34801561079d57600080fd5b506104086107ac366004613d55565b6113e9565b3480156107bd57600080fd5b506104086107cc3660046138e1565b61141a565b3480156107dd57600080fd5b5061049273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801561080557600080fd5b5061040860055481565b34801561081b57600080fd5b50600c546104089081565b34801561083257600080fd5b506108466108413660046138e1565b611444565b60405161037e9190613dcb565b34801561085f57600080fd5b5061040860085481565b34801561087557600080fd5b50610889610884366004613dde565b611523565b60405161037e9190613eb3565b3480156108a257600080fd5b506103466108b1366004613f21565b61153e565b3480156108c257600080fd5b506104086108d1366004613a65565b6001600160a01b03166000908152600f602052604090205490565b3480156108f857600080fd5b50600b54610100900460ff16610531565b34801561091557600080fd5b506109296109243660046138e1565b611547565b60405161037e9a99989796959493929190613f3e565b34801561094b57600080fd5b50600854610408565b34801561096057600080fd5b5061040861096f3660046138e1565b6000908152600e602052604090206002015490565b34801561099057600080fd5b5060005460ff166103a7565b3480156109a857600080fd5b506104086109b7366004613fa3565b611649565b3480156109c857600080fd5b506103466109d7366004613fc8565b611674565b3480156109e857600080fd5b506109fc6109f7366004613a65565b61168d565b60405161037e9190614073565b348015610a1557600080fd5b50610346610a2436600461408d565b611698565b610346610a37366004613ce5565b6117c6565b348015610a4857600080fd5b50610346610a573660046138e1565b6117e4565b348015610a6857600080fd5b50610346610a773660046138e1565b61180d565b600e602090815260009182526040918290208054600182015460028301546003840154600485015460058601546006870154600788015460088901548b51808d01909c52600a8a0180548d52600b8b0180549a9d999c989b979a6001600160a01b039788169a968816999790951697939660ff9093169593949192840191610b03906140d4565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2f906140d4565b8015610b7c5780601f10610b5157610100808354040283529160200191610b7c565b820191906000526020600020905b815481529060010190602001808311610b5f57829003601f168201915b50505050508152505090508a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167ff1801e61000000000000000000000000000000000000000000000000000000001480610c1d57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b33610c2d8161184c565b600d805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091556040519081527fd6ceddf6d2a22f21c7c81675c518004eff43bc5c8a6fc32a0b748e69d58671cd906020015b60405180910390a15050565b610c98611917565b610ca0611960565b610cab83838361199c565b505050565b33610cba8161184c565b60048290556040518281527f08e39b387d1f739ce0d2553bb31822392e3f67c62c6c0a215120ab4a6841a8ab90602001610c84565b6000818152600e6020526040812080548314610d265760405163c1d17bef60e01b8152600481018490526024015b60405180910390fd5b6001600882015460ff166004811115610d4157610d416138fa565b14610d62576040516344980d8f60e01b815260048101849052602401610d1d565b610d70818260020154611cd3565b6003015492915050565b610d8333611d0e565b565b6000610d8f611917565b610d97611960565b610da18383611e5f565b9392505050565b33610db28161184c565b60095460408051918252602082018490527f056aedca4e334b6c4bea48715fb0de644811b740894de57a0380d3eb90f2805b910160405180910390a150600955565b6000610dfe612197565b60006002600b54610100900460ff166003811115610e1e57610e1e6138fa565b1480610e4557506001600b54610100900460ff166003811115610e4357610e436138fa565b145b15610e51575081610e5e565b610e5b84846121db565b90505b8060086000828254610e70919061411e565b9091555050604080516001600160a01b0386168152602081018590529081018290527f70b752f3fadb6ac131c0ece847fcbb6994ec56ed6411595710fd9b29c6ac6cc19060600160405180910390a19392505050565b6000808490506000610eec629896806080600354901b610ee69190614147565b8361249f565b905060806f8000000000000000000000000000000060035462989680610f12919061411e565b610f2084600160801b61411e565b610f2d6298968089614169565b610f379190614169565b610f419190614147565b610f4b8885614169565b610f559190614180565b610f5f9190614180565b901c9695505050505050565b6000610c1d82612548565b60008060025411610fb3576040517fed4421ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fbc82612568565b15610fda57604051630efd728560e21b815260040160405180910390fd5b600254600090610ff38468010000000000000000614169565b610ffd9190614147565b62989680600454680100000000000000006110189190614169565b6110229190614147565b61102c919061411e565b9050604061103960085490565b600354611049906298968061411e565b6298968060406110598680614169565b901c629896806080600554901b6110709190614147565b61107a9190614147565b6110849190614169565b61108e9190614147565b6110989190614169565b901c915060095482116110ad57600954610da1565b50919050565b6110bb612197565b6110c481611d0e565b50565b336110d18161184c565b60038290556040518281527f592dcd55d60d892e7fcb3ba105013312e99691cd59f91e15f83cb67cb5a505f290602001610c84565b6000611110612197565b60006002600b54610100900460ff166003811115611130576111306138fa565b0361113e57825b905061119b565b6001600b54610100900460ff16600381111561115c5761115c6138fa565b0361116b57611137848461258f565b6003600b54610100900460ff166003811115611189576111896138fa565b0361119b5761119884846126f5565b90505b600d5460405163011de97360e61b81526001600160a01b038681166004830152306024830152600092169063477a5cc090604401602060405180830381865afa1580156111ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112109190614193565b9050801561123057816008600082825461122a9190614180565b90915550505b604080516001600160a01b0387168152602081018690529081018390527f0b9150e1e54346ed3fa36b977cd5d65dca5a649c737c3174a26bddaadd47667a9060600160405180910390a1509392505050565b600d546040517f0d4a8b490000000000000000000000000000000000000000000000000000000081523360048201819052306024830152916001600160a01b031690630d4a8b4990604401600060405180830381600087803b1580156112e757600080fd5b505af11580156112fb573d6000803e3d6000fd5b5050600d54604051637817ee4f60e01b81526001600160a01b0385811660048301523060248301529091169250637817ee4f9150604401602060405180830381865afa15801561134f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137391906141b0565b600860008282546113849190614180565b909155505050565b6000818152600e602052604081206002810154829081906113ae90849061293c565b915091508160001480156113c0575080155b156113cd57826003015491505b60006113dc8460010154610f76565b9092101595945050505050565b6010602052816000526040600020818154811061140557600080fd5b90600052602060002001600091509150505481565b60006003546298968061142d919061411e565b61143a6298968084614169565b610c1d9190614147565b6040805180820190915260008152606060208201526000600e6000848152602001908152602001600020905080600a0160405180604001604052908160008201548152602001600182018054611499906140d4565b80601f01602080910402602001604051908101604052809291908181526020018280546114c5906140d4565b80156115125780601f106114e757610100808354040283529160200191611512565b820191906000526020600020905b8154815290600101906020018083116114f557829003601f168201915b505050505081525050915050919050565b606060405163d623472560e01b815260040160405180910390fd5b6110c481612994565b6000806000806000806000806000806000600e60008d81526020019081526020016000209050806001015460001461158b576115868160010154610f76565b61158e565b60005b92508060050160009054906101000a90046001600160a01b03168160040160009054906101000a90046001600160a01b03168260060160009054906101000a90046001600160a01b0316836001015484600201548560080160009054906101000a900460ff16866007015487600301548a896009016000336001600160a01b03166001600160a01b03168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000828152600e602090815260408083206001600160a01b0385168452600901909152812054610da1565b60405163d623472560e01b815260040160405180910390fd5b6000610c1d826129d5565b6116a1826129f5565b6000818060200190518101906116b79190614274565b80519091506001600160a01b03166116e257604051635df4b1ef60e01b815260040160405180910390fd5b8051600d805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0390921691909117905560208101516003556040810151600455606081015160055560a0810151600b805460ff19166001836002811115611749576117496138fa565b021790555060c0810151600b805461ff001916610100836003811115611771576117716138fa565b021790555060e081015151600c5560808101516009556040517f8de50bebef1bd84245c2bf562892194bb7f5f441c7f848c1aa181f1e4e191e42906117b99085908490614310565b60405180910390a1505050565b6117ce611917565b6117d6611960565b6117e08282612a76565b5050565b6117ec611917565b80600260008282546117fe9190614180565b909155506110c4905081612b5f565b336118178161184c565b60058290556040518281527f30ee8206062f283e56a0af2b02138016bf7442ded26ad68a92a18a9dd246fb4990602001610c84565b6001546040517f29e40d4b00000000000000000000000000000000000000000000000000000000815260048101919091526001600160a01b0382811660248301527f000000000000000000000000000000000000000000000000000000000000000016906329e40d4b90604401602060405180830381865afa1580156118d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fa9190614193565b6110c45760405163075fd2b160e01b815260040160405180910390fd5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d835760405163075fd2b160e01b815260040160405180910390fd5b600154600003610d83576040517f3da3f98c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008251116119d7576040517fc5f7c4c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828060200190518101906119ed91906141b0565b905080600003611a29576040517ff881a10d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000818152600e602052604090206001600b5460ff166002811115611a5057611a506138fa565b03611ccc5780548214611a795760405163c1d17bef60e01b815260048101839052602401610d1d565b60025481600101541115611ad15760018101546002546040517f5863b0b60000000000000000000000000000000000000000000000000000000081526004810185905260248101929092526044820152606401610d1d565b6001600882015460ff166004811115611aec57611aec6138fa565b14611b0d576040516344980d8f60e01b815260048101839052602401610d1d565b6000611b1883610cef565b90506000611b298360010154610f76565b90508082108015611b3e575060008360010154115b15611b75576040517fcce7930800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001546040517f068bcd8d0000000000000000000000000000000000000000000000000000000081526000916001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163068bcd8d91611be29160040190815260200190565b600060405180830381865afa158015611bff573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c27919081019061443c565b9050836001015460026000828254611c3f919061411e565b9091555050604081015160048501546001860154611c6792916001600160a01b031690612b8f565b60088401805460ff191660049081179091558401546001850154604080518881526001600160a01b0390931660208401528201527fa7932e9c92f31e1ed56b29d00bbe669a97484dc24de28dd9c8c0429df7f358479060600160405180910390a15050505b5050505050565b600080611ce0848461293c565b91509150816000148015611cf2575080155b15611cfd5750505050565b600784015560039092019190915550565b600d54604051637817ee4f60e01b81526001600160a01b03838116600483015230602483015290911690637817ee4f90604401602060405180830381865afa158015611d5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d8291906141b0565b60086000828254611d93919061411e565b9091555050600d546040517f22bcf9990000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830152909116906322bcf99990604401600060405180830381600087803b158015611dfe57600080fd5b505af1158015611e12573d6000803e3d6000fd5b50505050611e1f81612bd4565b6040516001600160a01b03821681527f1468da654b37bb3631011c1917d02e0db437d519918858d40b38b5e980ca033b906020015b60405180910390a150565b60008083806020019051810190611e7691906144f0565b8051909150600003611eb4576040517f4e79178600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600b5460ff166002811115611ecd57611ecd6138fa565b0361207d57611edf8160200151612cff565b60608101516001600160a01b0316611f23576040517f596a094c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000306001600160a01b03166315cc481e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f879190614597565b6001600160a01b031663068bcd8d6001546040518263ffffffff1660e01b8152600401611fb691815260200190565b600060405180830381865afa158015611fd3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ffb919081019061443c565b604001519050806001600160a01b031682606001516001600160a01b031614612050576040517fa29c498600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61205d8260400151612568565b1561207b57604051630efd728560e21b815260040160405180910390fd5b505b600060066000815461208e906145b4565b91829055506000818152600e602090815260408083208481556005810180546001600160a01b038b811673ffffffffffffffffffffffffffffffffffffffff19928316179092558885015160048401805491841691831691909117905560608901516006840180549190931691161790559086015160018083019190915560088201805460ff19169091179055436007820155600381019290925560808501518051600a8401908155918101519394509192600b84019061214f908261461b565b505060015460408051918252602082018590527ffcf3b1aa65a464cef2889608f99e8b8c0f680a4be6c2acb9d961c536a5a9294b92500160405180910390a150949350505050565b600d546001600160a01b03163314610d83576040517faf0916a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d54604080516336d8759760e21b815290516000926012926001600160a01b039091169163db61d65c916004808201926020929091908290030181865afa15801561222b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061224f9190614597565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156122a8575060408051601f3d908101601f191682019092526122a5918101906146db565b60015b6122ef576122ea6040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250612d3f565b6122f5565b60ff1690505b6123346040518060400160405280601081526020017f5f616d6f756e74546f556e7374616b650000000000000000000000000000000081525084612db0565b600d546040516316308e2560e11b81526001600160a01b0386811660048301526000928692911690632c611c4a90602401602060405180830381865afa158015612382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a691906141b0565b6123b0919061411e565b90506123f16040518060400160405280600d81526020017f6e6577546f74616c5374616b650000000000000000000000000000000000000081525082612db0565b600061241061240184600a6147e2565b61240b9084614169565b612e23565b600d54604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009284921690637817ee4f90604401602060405180830381865afa158015612466573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061248a91906141b0565b612494919061411e565b979650505050505050565b6000600160801b83106124f45760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610d1d565b50600160801b82825b80156125405780600116600003612522576125188283612f0b565b915060011c6124fd565b61252c8383612f0b565b925061253960018261411e565b90506124fd565b505092915050565b60006001600160a01b03821615612560576001610c1d565b600092915050565b60006125776298968083614169565b6002546004546125879190614169565b111592915050565b6000808290506125d46040518060400160405280601281526020017f504f494e545320544f20494e435245415345000000000000000000000000000081525082612db0565b600d54604051637817ee4f60e01b81526001600160a01b0386811660048301523060248301526000921690637817ee4f90604401602060405180830381865afa158015612625573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061264991906141b0565b905061268a6040518060400160405280600b81526020017f4d454d424552504f57455200000000000000000000000000000000000000000081525082612db0565b600c546126978383614180565b11156126ae57600c546126ab90829061411e565b91505b6126ed6040518060400160405280601681526020017f504f494e545320544f20494e43524541534520454e440000000000000000000081525083612db0565b509392505050565b600d546040516316308e2560e11b81526001600160a01b0384811660048301526000928392859290911690632c611c4a90602401602060405180830381865afa158015612746573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061276a91906141b0565b6127749190614180565b600d54604080516336d8759760e21b815290519293506012926001600160a01b039092169163db61d65c916004808201926020929091908290030181865afa1580156127c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127e89190614597565b6001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612841575060408051601f3d908101601f1916820190925261283e918101906146db565b60015b612888576128836040518060400160405280601581526020017f4572726f722067657474696e6720646563696d616c0000000000000000000000815250612d3f565b61288e565b60ff1690505b60006128a861289e83600a6147e2565b61240b9085614169565b600d54604051637817ee4f60e01b81526001600160a01b03898116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa1580156128fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061292291906141b0565b90506000612930828461411e565b98975050505050505050565b6000804390508084600701541115612956576129566147ee565b8084600701540361296c5750600090508061298d565b61298a84600701548261297f919061411e565b856003015485610ec6565b91505b9250929050565b6000805460ff19168215159081179091556040519081527fd94c9bc4d43c51d8dc345a016d8e3d994432fac68e72832e4cf3a616bd8efae090602001611e54565b60006001600160a01b038216156129ed576002610c1d565b600392915050565b6129fd611917565b60015415612a37576040517f439a74c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003612a71576040517f7fcce2a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600155565b612a7f8161300a565b600d5460405163011de97360e61b81526001600160a01b038381166004830152306024830152600092169063477a5cc090604401602060405180830381865afa158015612ad0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612af49190614193565b905080612b2d576040517f5fccb67f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083806020019051810190612b439190614804565b9050612b4f8382613130565b612b5983826132f3565b50505050565b6040518181527f46aeb5d8770fc4474bc2dfa118fd2595f7fb33ce2cbce6f4e5a3dabfe0f7633990602001611e54565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601612bc957610cab8282613717565b610cab838383613733565b6001600160a01b038116600090815260106020908152604080832080548251818502810185019093528083529192909190830182828015612c3457602002820191906000526020600020905b815481526020019060010190808311612c20575b5050505050905060005b8151811015610cab576000828281518110612c5b57612c5b6148af565b602002602001015190506000600e60008381526020019081526020016000209050612c8582613782565b15612cea576001600160a01b0385166000908152600982016020526040812080549082905560028301805491928392612cbf90849061411e565b925050819055508060076000828254612cd8919061411e565b90915550612ce890508282611cd3565b505b50508080612cf7906145b4565b915050612c3e565b6001600160a01b0381166110c4576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110c481604051602401612d5391906148c5565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac000000000000000000000000000000000000000000000000000000001790526137bb565b6117e08282604051602401612dc69291906148d8565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9710a9d0000000000000000000000000000000000000000000000000000000001790526137bb565b600081600003612e3557506000919050565b60006001612e42846137dc565b901c6001901b90506001818481612e5b57612e5b614131565b048201901c90506001818481612e7357612e73614131565b048201901c90506001818481612e8b57612e8b614131565b048201901c90506001818481612ea357612ea3614131565b048201901c90506001818481612ebb57612ebb614131565b048201901c90506001818481612ed357612ed3614131565b048201901c90506001818481612eeb57612eeb614131565b048201901c9050610da181828581612f0557612f05614131565b04613870565b6000600160801b831115612f875760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e3132380000000000000000000000000000000000000000000000006064820152608401610d1d565b600160801b8210612fda5760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e313238000000006044820152606401610d1d565b60806f80000000000000000000000000000000612ff78486614169565b6130019190614180565b901c9392505050565b6001600160a01b03811661304a576040517fd1f2828800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d546001600160a01b031661307357604051635df4b1ef60e01b815260040160405180910390fd5b600d546040517fa230c5240000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063a230c52490602401602060405180830381865afa1580156130d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130fa9190614193565b6110c4576040517f6a5cfb6d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b82518110156131ed5782818151811061314f5761314f6148af565b602002602001015160000151600003156131db576000838281518110613177576131776148af565b602002602001015160000151905061318e81613782565b6131ae5760405163c1d17bef60e01b815260048101829052602401610d1d565b8382815181106131c0576131c06148af565b602002602001015160200151836131d791906148fa565b9250505b806131e5816145b4565b915050613134565b506001600160a01b0383166000908152600f60205260408120546132119083613886565b600d54604051637817ee4f60e01b81526001600160a01b03878116600483015230602483015292935060009290911690637817ee4f90604401602060405180830381865afa158015613267573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061328b91906141b0565b9050808211156132d1576040517fd64182fe0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610d1d565b506001600160a01b039093166000908152600f60205260409020929092555050565b606060005b8251811015612b59576000838281518110613315576133156148af565b602002602001015160000151905082516000036133715760408051600180825281830190925290602080830190803683370190505092508083600081518110613360576133606148af565b6020026020010181815250506134c4565b6000805b84518110156133f05782858281518110613391576133916148af565b6020026020010151036133de576040517fadebb154000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260019250604401610d1d565b806133e8816145b4565b915050613375565b50806134c2576000845160016134069190614180565b67ffffffffffffffff81111561341e5761341e613a82565b604051908082528060200260200182016040528015613447578160200160208202803683370190505b50905060005b855181101561349f57858181518110613468576134686148af565b6020026020010151828281518110613482576134826148af565b602090810291909101015280613497816145b4565b91505061344d565b5082818651815181106134b4576134b46148af565b602090810291909101015293505b505b60008483815181106134d8576134d86148af565b6020908102919091018101518101516000848152600e835260408082206001600160a01b038b168352600981019094528120549193506135188285613886565b6001600160a01b038a1660009081526009850160205260408120829055909150805b6001600160a01b038b166000908152601060205260409020548110156135b15784546001600160a01b038c166000908152601060205260409020805483908110613586576135866148af565b90600052602060002001540361359f57600191506135b1565b806135a9816145b4565b91505061353a565b50806135e7576001600160a01b038a16600090815260106020908152604082208654815460018101835591845291909220909101555b818311613637576135f8838361411e565b600760008282546136099190614180565b909155506136199050838361411e565b84600201600082825461362c9190614180565b9091555061367b9050565b613641828461411e565b60076000828254613652919061411e565b909155506136629050828461411e565b846002016000828254613675919061411e565b90915550505b8360070154600003613692574360078501556136fe565b61369c8484611cd3565b60028401546003850154604080516001600160a01b038e168152602081018a9052908101859052606081019290925260808201527f0227f642ddcf2042ceaeafadb9d540f432072c00cd4862881667168dcc14710f9060a00160405180910390a15b505050505050808061370f906145b4565b9150506132f8565b60008060008084865af16117e05763b12d13eb6000526004601cfd5b81601452806034526fa9059cbb00000000000000000000000060005260206000604460106000875af13d156001600051141716613778576390b8ec186000526004601cfd5b6000603452505050565b6000818152600e602052604081205415801590610c1d5750506000908152600e60205260409020600501546001600160a01b0316151590565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600080608083901c156137f157608092831c92015b604083901c1561380357604092831c92015b602083901c1561381557602092831c92015b601083901c1561382757601092831c92015b600883901c1561383957600892831c92015b600483901c1561384b57600492831c92015b600283901c1561385d57600292831c92015b600183901c15610c1d5760010192915050565b600081831061387f5781610da1565b5090919050565b60008061389383856148fa565b90506000811215610da1576040517f3bbc7142000000000000000000000000000000000000000000000000000000008152600481018590526024810184905260448101829052606401610d1d565b6000602082840312156138f357600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b60058110613920576139206138fa565b9052565b60005b8381101561393f578181015183820152602001613927565b50506000910152565b60008151808452613960816020860160208601613924565b601f01601f19169290920160200192915050565b8051825260006020820151604060208501526139936040850182613948565b949350505050565b60006101408c83528b60208401528a60408401528960608401526001600160a01b03808a16608085015280891660a085015280881660c0850152508560e08401526139ea610100840186613910565b806101208401526139fd81840185613974565b9d9c50505050505050505050505050565b600060208284031215613a2057600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610da157600080fd5b6001600160a01b03811681146110c457600080fd5b600060208284031215613a7757600080fd5b8135610da181613a50565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715613abb57613abb613a82565b60405290565b604051610120810167ffffffffffffffff81118282101715613abb57613abb613a82565b60405160c0810167ffffffffffffffff81118282101715613abb57613abb613a82565b60405160a0810167ffffffffffffffff81118282101715613abb57613abb613a82565b604051601f8201601f1916810167ffffffffffffffff81118282101715613b5457613b54613a82565b604052919050565b600067ffffffffffffffff821115613b7657613b76613a82565b5060051b60200190565b600082601f830112613b9157600080fd5b81356020613ba6613ba183613b5c565b613b2b565b82815260059290921b84018101918181019086841115613bc557600080fd5b8286015b84811015613be9578035613bdc81613a50565b8352918301918301613bc9565b509695505050505050565b600067ffffffffffffffff821115613c0e57613c0e613a82565b50601f01601f191660200190565b600082601f830112613c2d57600080fd5b8135613c3b613ba182613bf4565b818152846020838601011115613c5057600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613c8257600080fd5b833567ffffffffffffffff80821115613c9a57600080fd5b613ca687838801613b80565b94506020860135915080821115613cbc57600080fd5b50613cc986828701613c1c565b9250506040840135613cda81613a50565b809150509250925092565b60008060408385031215613cf857600080fd5b823567ffffffffffffffff811115613d0f57600080fd5b613d1b85828601613c1c565b9250506020830135613d2c81613a50565b809150509250929050565b60048110613920576139206138fa565b60208101610c1d8284613d37565b60008060408385031215613d6857600080fd5b8235613d7381613a50565b946020939093013593505050565b600080600060608486031215613d9657600080fd5b505081359360208301359350604090920135919050565b60038110613920576139206138fa565b60208101610c1d8284613dad565b602081526000610da16020830184613974565b60008060408385031215613df157600080fd5b823567ffffffffffffffff80821115613e0957600080fd5b613e1586838701613b80565b9350602091508185013581811115613e2c57600080fd5b8501601f81018713613e3d57600080fd5b8035613e4b613ba182613b5c565b81815260059190911b82018401908481019089831115613e6a57600080fd5b8584015b83811015613ea257803586811115613e865760008081fd5b613e948c8983890101613c1c565b845250918601918601613e6e565b508096505050505050509250929050565b602080825282518282018190526000919060409081850190868401855b82811015613f0657613ef684835180516001600160a01b03168252602090810151910152565b9284019290850190600101613ed0565b5091979650505050505050565b80151581146110c457600080fd5b600060208284031215613f3357600080fd5b8135610da181613f13565b6001600160a01b038b811682528a811660208301528916604082015260608101889052608081018790526101408101613f7a60a0830188613910565b8560c08301528460e083015283610100830152826101208301529b9a5050505050505050505050565b60008060408385031215613fb657600080fd5b823591506020830135613d2c81613a50565b60006020808385031215613fdb57600080fd5b823567ffffffffffffffff811115613ff257600080fd5b8301601f8101851361400357600080fd5b8035614011613ba182613b5c565b81815260069190911b8201830190838101908783111561403057600080fd5b928401925b82841015612494576040848903121561404e5760008081fd5b614056613a98565b843581528585013586820152825260409093019290840190614035565b6020810160078310614087576140876138fa565b91905290565b600080604083850312156140a057600080fd5b82359150602083013567ffffffffffffffff8111156140be57600080fd5b6140ca85828601613c1c565b9150509250929050565b600181811c908216806140e857607f821691505b6020821081036110ad57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610c1d57610c1d614108565b634e487b7160e01b600052601260045260246000fd5b60008261416457634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610c1d57610c1d614108565b80820180821115610c1d57610c1d614108565b6000602082840312156141a557600080fd5b8151610da181613f13565b6000602082840312156141c257600080fd5b5051919050565b80516141d481613a50565b919050565b8051600381106141d457600080fd5b8051600481106141d457600080fd5b60006020828403121561420957600080fd5b6040516020810181811067ffffffffffffffff8211171561422c5761422c613a82565b6040529151825250919050565b60006040828403121561424b57600080fd5b614253613a98565b9050815161426081613a50565b808252506020820151602082015292915050565b6000610140828403121561428757600080fd5b61428f613ac1565b614298836141c9565b8152602083015160208201526040830151604082015260608301516060820152608083015160808201526142ce60a084016141d9565b60a08201526142df60c084016141e8565b60c08201526142f18460e085016141f7565b60e082015261010061430585828601614239565b908201529392505050565b6000610160820190508382526001600160a01b038351166020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015161436660c0840182613dad565b5060c083015161437960e0840182613d37565b5060e083015151610100838101919091529092015180516001600160a01b03166101208301526020015161014090910152919050565b6000604082840312156143c157600080fd5b6143c9613a98565b905081518152602082015167ffffffffffffffff8111156143e957600080fd5b8201601f810184136143fa57600080fd5b8051614408613ba182613bf4565b81815285602083850101111561441d57600080fd5b61442e826020830160208601613924565b602084015250909392505050565b60006020828403121561444e57600080fd5b815167ffffffffffffffff8082111561446657600080fd5b9083019060c0828603121561447a57600080fd5b614482613ae5565b82518152602083015161449481613a50565b602082015260408301516144a781613a50565b60408201526060830151828111156144be57600080fd5b6144ca878286016143af565b6060830152506080830151608082015260a083015160a082015280935050505092915050565b60006020828403121561450257600080fd5b815167ffffffffffffffff8082111561451a57600080fd5b9083019060a0828603121561452e57600080fd5b614536613b08565b82518152602083015161454881613a50565b602082015260408381015190820152606083015161456581613a50565b606082015260808301518281111561457c57600080fd5b614588878286016143af565b60808301525095945050505050565b6000602082840312156145a957600080fd5b8151610da181613a50565b6000600182016145c6576145c6614108565b5060010190565b601f821115610cab57600081815260208120601f850160051c810160208610156145f45750805b601f850160051c820191505b8181101561461357828155600101614600565b505050505050565b815167ffffffffffffffff81111561463557614635613a82565b6146498161464384546140d4565b846145cd565b602080601f83116001811461467e57600084156146665750858301515b600019600386901b1c1916600185901b178555614613565b600085815260208120601f198616915b828110156146ad5788860151825594840194600190910190840161468e565b50858210156146cb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156146ed57600080fd5b815160ff81168114610da157600080fd5b600181815b8085111561473957816000190482111561471f5761471f614108565b8085161561472c57918102915b93841c9390800290614703565b509250929050565b60008261475057506001610c1d565b8161475d57506000610c1d565b8160018114614773576002811461477d57614799565b6001915050610c1d565b60ff84111561478e5761478e614108565b50506001821b610c1d565b5060208310610133831016604e8410600b84101617156147bc575081810a610c1d565b6147c683836146fe565b80600019048211156147da576147da614108565b029392505050565b6000610da18383614741565b634e487b7160e01b600052600160045260246000fd5b6000602080838503121561481757600080fd5b825167ffffffffffffffff81111561482e57600080fd5b8301601f8101851361483f57600080fd5b805161484d613ba182613b5c565b81815260069190911b8201830190838101908783111561486c57600080fd5b928401925b82841015612494576040848903121561488a5760008081fd5b614892613a98565b845181528585015186820152825260409093019290840190614871565b634e487b7160e01b600052603260045260246000fd5b602081526000610da16020830184613948565b6040815260006148eb6040830185613948565b90508260208301529392505050565b80820182811260008312801582168215821617156125405761254061410856fea26469706673582212209b4a51a961c4ee494da7ee673b727b420a419278832834864daa2c6c94b2801d64736f6c63430008130033","sourceMap":"2822:37282:124:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7028:60;;;;;;;;;;-1:-1:-1;7028:60:124;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;9003:202;;;;;;;;;;-1:-1:-1;9003:202:124;;;;;:::i;:::-;;:::i;:::-;;;2891:14:138;;2884:22;2866:41;;2854:2;2839:18;9003:202:124;2726:187:138;39640:219:124;;;;;;;;;;-1:-1:-1;39640:219:124;;;;;:::i;:::-;;:::i;10705:325:11:-;;;;;;;;;;-1:-1:-1;10705:325:11;;;;;:::i;:::-;;:::i;17263:99:124:-;;;;;;;;;;-1:-1:-1;17334:11:124;:21;17263:99;;;7277:25:138;;;7265:2;7250:18;17263:99:124;7131:177:138;6354:34:124;;;;;;;;;;;;;;;;5806:36;;;;;;;;;;;;5834:8;5806:36;;39330:155;;;;;;;;;;-1:-1:-1;39330:155:124;;;;;:::i;:::-;;:::i;6785:86:11:-;;;;;;;;;;-1:-1:-1;6860:4:11;6785:86;;;-1:-1:-1;;;;;7491:55:138;;;7473:74;;7461:2;7446:18;6785:86:11;7313:240:138;38531:520:124;;;;;;;;;;-1:-1:-1;38531:520:124;;;;;:::i;:::-;;:::i;12595:81::-;;;;;;;;;;;;;:::i;9429:344:11:-;;;;;;:::i;:::-;;:::i;39865:237:124:-;;;;;;;;;;-1:-1:-1;39865:237:124;;;;;:::i;:::-;;:::i;6784:45::-;;;;;;;;;;-1:-1:-1;6784:45:124;;;;;;;;;;;;;;;;;;:::i;14137:681::-;;;;;;;;;;-1:-1:-1;14137:681:124;;;;;:::i;:::-;;:::i;32689:1145::-;;;;;;;;;;-1:-1:-1;32689:1145:124;;;;;:::i;:::-;;:::i;6678:47::-;;;;;;;;;;-1:-1:-1;6678:47:124;;;;;;;;;;;;;;;:::i;6953:92:11:-;;;;;;;;;;-1:-1:-1;7032:6:11;;6953:92;;6095:49:124;;;;;;;;;;;;6142:2;6095: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;6272:20:124:-;;;;;;;;;;;;;;;;34415:1482;;;;;;;;;;-1:-1:-1;34415:1482:124;;;;;:::i;:::-;;:::i;7144:53::-;;;;;;;;;;-1:-1:-1;7144:53:124;;;;;:::i;:::-;;;;;;;;;;;;;;6919:42;;;;;;;;;;-1:-1:-1;6919:42:124;;;;-1:-1:-1;;;;;6919:42:124;;;12682:128;;;;;;;;;;-1:-1:-1;12682:128:124;;;;;:::i;:::-;;:::i;39187:137::-;;;;;;;;;;-1:-1:-1;39187:137:124;;;;;:::i;:::-;;:::i;6298:23::-;;;;;;;;;;;;;;;;13173:958;;;;;;;;;;-1:-1:-1;13173:958:124;;;;;:::i;:::-;;:::i;6467:38::-;;;;;;;;;;;;;;;;12336:253;;;;;;;;;;;;;:::i;6394:26::-;;;;;;;;;;;;;;;;20535:735;;;;;;;;;;-1:-1:-1;20535:735:124;;;;;:::i;:::-;;:::i;7235:57::-;;;;;;;;;;-1:-1:-1;7235:57:124;;;;;:::i;:::-;;:::i;39057:124::-;;;;;;;;;;-1:-1:-1;39057:124:124;;;;;:::i;:::-;;:::i;4412:75:9:-;;;;;;;;;;;;4445:42;4412:75;;6327:21:124;;;;;;;;;;;;;;;;6835:51;;;;;;;;;;-1:-1:-1;6835:51:124;;;;;;25319:198;;;;;;;;;;-1:-1:-1;25319:198:124;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;6426:35::-;;;;;;;;;;;;;;;;21909:288;;;;;;;;;;-1:-1:-1;21909:288:124;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;22892:86::-;;;;;;;;;;-1:-1:-1;22892:86:124;;;;;:::i;:::-;;:::i;26114:127::-;;;;;;;;;;-1:-1:-1;26114:127:124;;;;;:::i;:::-;-1:-1:-1;;;;;26208:26:124;26182:7;26208:26;;;:18;:26;;;;;;;26114:127;17368:110;;;;;;;;;;-1:-1:-1;17460:11:124;;;;;;;17368:110;;24275:1038;;;;;;;;;;-1:-1:-1;24275:1038:124;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;:::i;37102:112::-;;;;;;;;;;-1:-1:-1;37187:20:124;;37102:112;;25900:145;;;;;;;;;;-1:-1:-1;25900:145:124;;;;;:::i;:::-;25977:7;26003:22;;;:9;:22;;;;;:35;;;;25900:145;7566:101:11;;;;;;;;;;-1:-1:-1;7622:4:11;14479:10;;;7566:101;;25718:176:124;;;;;;;;;;-1:-1:-1;25718:176:124;;;;;:::i;:::-;;:::i;17594:226::-;;;;;;;;;;-1:-1:-1;17594:226:124;;;;;:::i;:::-;;:::i;7823:146:11:-;;;;;;;;;;-1:-1:-1;7823:146:11;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;7574:1028:124:-;;;;;;;;;;-1:-1:-1;7574:1028:124;;;;;:::i;:::-;;:::i;10092:220:11:-;;;;;;:::i;:::-;;:::i;8816:197::-;;;;;;;;;;-1:-1:-1;8816:197:11;;;;;:::i;:::-;;:::i;39491:143:124:-;;;;;;;;;;-1:-1:-1;39491:143:124;;;;;:::i;:::-;;:::i;7028:60::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7028:60:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9003:202::-;9088:4;9111:47;;;9126:32;9111:47;;:87;;-1:-1:-1;952:25:37;937:40;;;;9162:36:124;9104:94;9003:202;-1:-1:-1;;9003:202:124:o;39640:219::-;39723:10;5954:30:11;5976:7;5954:21;:30::i;:::-;39745:17:124::1;:57:::0;;-1:-1:-1;;39745:57:124::1;-1:-1:-1::0;;;;;39745:57:124;::::1;::::0;;::::1;::::0;;;39817:35:::1;::::0;7473:74:138;;;39817:35:124::1;::::0;7461:2:138;7446:18;39817:35:124::1;;;;;;;;39640: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;39330:155:124:-;39395:10;5954:30:11;5976:7;5954:21;:30::i;:::-;39417:8:124::1;:20:::0;;;39452:26:::1;::::0;7277:25:138;;;39452:26:124::1;::::0;7265:2:138;7250:18;39452:26:124::1;7131:177:138::0;38531:520:124;38601:7;38663:21;;;:9;:21;;;;;38699:19;;:33;;38695:100;;38755:29;;-1:-1:-1;;;38755:29:124;;;;;7277:25:138;;;7250:18;;38755:29:124;;;;;;;;38695:100;38836:36;38809:23;;;;;;:63;;;;;;;;:::i;:::-;;38805:130;;38895:29;;-1:-1:-1;;;38895:29:124;;;;;7277:25:138;;;7250:18;;38895:29:124;7131:177:138;38805:130:124;38945:59;38972:8;38982;:21;;;38945:26;:59::i;:::-;39021:23;;;;38531:520;-1:-1:-1;;38531:520:124:o;12595:81::-;12640:29;12658:10;12640:17;:29::i;:::-;12595: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;39865:237:124:-;39950:10;5954:30:11;5976:7;5954:21;:30::i;:::-;40003:19:124::1;::::0;39977:67:::1;::::0;;16754:25:138;;;16810:2;16795:18;;16788:34;;;39977:67:124::1;::::0;16727:18:138;39977:67:124::1;;;;;;;-1:-1:-1::0;40054:19:124::1;:41:::0;39865:237::o;14137:681::-;14221:7;14240:23;:21;:23::i;:::-;14319:24;14376:36;14361:11;;;;;;;:51;;;;;;;;:::i;:::-;;:103;;;-1:-1:-1;14431:33:124;14416:11;;;;;;;:48;;;;;;;;:::i;:::-;;14361:103;14357:298;;;-1:-1:-1;14528:16:124;14357:298;;;14595:49;14618:7;14627:16;14595:22;:49::i;:::-;14576:68;;14357:298;14688:16;14664:20;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;14719:59:124;;;-1:-1:-1;;;;;17375:55:138;;17357:74;;17462:2;17447:18;;17440:34;;;17490:18;;;17483:34;;;14719:59:124;;17345:2:138;17330:18;14719:59:124;;;;;;;14795:16;14137:681;-1:-1:-1;;;14137:681:124:o;32689:1145::-;32823:7;32846:9;32858:11;32846:23;;33184:17;33204:27;5834:8;33219:3;33210:5;;:12;;33209:18;;;;:::i;:::-;33229:1;33204:4;:27::i;:::-;33184:47;;33824:3;5977:34;33801:5;;5834:8;33797:9;;;;:::i;:::-;33772:19;33782:9;-1:-1:-1;;;33772:19:124;:::i;:::-;33754:14;5834:8;33754:10;:14;:::i;:::-;:38;;;;:::i;:::-;33753:54;;;;:::i;:::-;33727:21;33739:9;33727;:21;:::i;:::-;33726:82;;;;:::i;:::-;33725:94;;;;:::i;:::-;33724:103;;;32689:1145;-1:-1:-1;;;;;;32689:1145:124:o;12395:145:11:-;12481:4;12504:29;12522:10;12504:17;:29::i;34415:1482:124:-;34490:18;34658:1;34644:10;;:15;34640:66;;34682:13;;;;;;;;;;;;;;34640:66;35146:33;35162:16;35146:15;:33::i;:::-;35142:91;;;35202:20;;-1:-1:-1;;;35202:20:124;;;;;;;;;;;35142:91;35455:10;;35381:13;;35425:26;:16;35444:7;35425:26;:::i;:::-;35424:41;;;;:::i;:::-;5834:8;35398;;35409:7;35398:18;;;;:::i;:::-;35397:24;;;;:::i;:::-;:68;;;;:::i;:::-;35381:84;;35618:2;35576:28;37187:20;;;37102:112;35576:28;35566:5;;35562:9;;5834:8;35562:9;:::i;:::-;5834:8;35549:2;35531:13;35539:5;;35531:13;:::i;:::-;35530:21;;5834:8;35517:3;35507:6;;:13;;35506:19;;;;:::i;:::-;35505:47;;;;:::i;:::-;35504:53;;;;:::i;:::-;35503:69;;;;:::i;:::-;35502:102;;;;:::i;:::-;35488:132;;35475:145;;35836:19;;35823:10;:32;:67;;35871:19;;35823:67;;;-1:-1:-1;35858:10:124;35810:80;-1:-1:-1;34415:1482:124:o;12682:128::-;12744:23;:21;:23::i;:::-;12777:26;12795:7;12777:17;:26::i;:::-;12682:128;:::o;39187:137::-;39246:10;5954:30:11;5976:7;5954:21;:30::i;:::-;39268:5:124::1;:14:::0;;;39297:20:::1;::::0;7277:25:138;;;39297:20:124::1;::::0;7265:2:138;7250:18;39297:20:124::1;7131:177:138::0;13173:958:124;13255:7;13319:23;:21;:23::i;:::-;13352:24;13409:36;13394:11;;;;;;;:51;;;;;;;;:::i;:::-;;13390:441;;13503:14;13480:38;13461:57;;13390:441;;;13554:33;13539:11;;;;;;;:48;;;;;;;;:::i;:::-;;13535:296;;13622:44;13642:7;13651:14;13622:19;:44::i;13535:296::-;13702:36;13687:11;;;;;;;:51;;;;;;;;:::i;:::-;;13683:148;;13773:47;13796:7;13805:14;13773:22;:47::i;:::-;13754:66;;13683:148;13859:17;;:69;;-1:-1:-1;;;13859:69:124;;-1:-1:-1;;;;;18552:15:138;;;13859:69:124;;;18534:34:138;13922:4:124;18584:18:138;;;18577:43;13840:16:124;;13859:17;;:45;;18446:18:138;;13859:69:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13840:88;;13942:11;13938:82;;;13993:16;13969:20;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;13938:82:124;14034:57;;;-1:-1:-1;;;;;17375:55:138;;17357:74;;17462:2;17447:18;;17440:34;;;17490:18;;;17483:34;;;14034:57:124;;17345:2:138;17330:18;14034:57:124;;;;;;;-1:-1:-1;14108:16:124;13173:958;-1:-1:-1;;;13173:958:124:o;12336:253::-;12418:17;;:65;;;;;12398:10;12418:65;;;18534:34:138;;;12477:4:124;18584:18:138;;;18577:43;12398:10:124;-1:-1:-1;;;;;12418:17:124;;:42;;18446:18:138;;12418:65:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12517:17:124;;:65;;-1:-1:-1;;;12517:65:124;;-1:-1:-1;;;;;18552:15:138;;;12517:65:124;;;18534:34:138;12576:4:124;18584:18:138;;;18577:43;12517:17:124;;;;-1:-1:-1;12517:42:124;;-1:-1:-1;18446:18:138;;12517:65:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12493:20;;:89;;;;;;;:::i;:::-;;;;-1:-1:-1;;;12336:253:124:o;20535:735::-;20604:18;20677:21;;;:9;:21;;;;;20887;;;;20604:18;;;;20843:66;;20677:21;;20843:33;:66::i;:::-;20783:126;;;;20924:14;20942:1;20924:19;:39;;;;-1:-1:-1;20947:16:124;;20924:39;20920:110;;;20996:8;:23;;;20979:40;;20920:110;21039:17;21059:44;21078:8;:24;;;21059:18;:44::i;:::-;21236:27;;;;;20535:735;-1:-1:-1;;;;;20535:735:124:o;7235:57::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;39057:124::-;39120:7;39167:5;;5834:8;39163:9;;;;:::i;:::-;39148:10;5834:8;39148:6;:10;:::i;:::-;39147:26;;;;:::i;25319:198::-;-1:-1:-1;;;;;;;;;;;;;;;;;25411:40:124;25454:9;:22;25464:11;25454:22;;;;;;;;;;;25411:65;;25493:8;:17;;25486:24;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25319:198;;;:::o;21909:288::-;21995:22;22079:16;;-1:-1:-1;;;22079:16:124;;;;;;;;;;;22892:86;22948:23;22963:7;22948:14;:23::i;24275:1038::-;24377:17;24408:19;24441:22;24477:23;24514:20;24548:44;24606:17;24637:22;24673:17;24704:25;24754:40;24797:9;:22;24807:11;24797:22;;;;;;;;;;;24754:65;;24842:8;:24;;;24870:1;24842:29;:80;;24878:44;24897:8;:24;;;24878:18;:44::i;:::-;24842:80;;;24874:1;24842:80;24830:92;;24953:8;:18;;;;;;;;;;-1:-1:-1;;;;;24953:18:124;24985:8;:20;;;;;;;;;;-1:-1:-1;;;;;24985:20:124;25019:8;:23;;;;;;;;;;-1:-1:-1;;;;;25019:23:124;25056:8;:24;;;25094:8;:21;;;25129:8;:23;;;;;;;;;;;;25166:8;:18;;;25198:8;:23;;;25235:9;25258:8;:26;;:38;25285:10;-1:-1:-1;;;;;25258:38:124;-1:-1:-1;;;;;25258:38:124;;;;;;;;;;;;;24932:374;;;;;;;;;;;;;;;;;;;;;24275:1038;;;;;;;;;;;:::o;25718:176::-;25809:7;26374:22;;;:9;:22;;;;;;;;-1:-1:-1;;;;;26374:48:124;;;;:40;;:48;;;;;;25835:52;26247:182;17594:226;17737:16;;-1:-1:-1;;;17737:16:124;;;;;;;;;;;7823:146:11;7904:6;7929:33;7949:12;7929:19;:33::i;7574:1028:124:-;7650:28;7670:7;7650:19;:28::i;:::-;7688:41;7743:5;7732:52;;;;;;;;;;;;:::i;:::-;8139:20;;7688:96;;-1:-1:-1;;;;;;8139:34:124;8135:94;;8196:22;;-1:-1:-1;;;8196:22:124;;;;;;;;;;;8135:94;8277:20;;8239:17;:59;;-1:-1:-1;;8239:59:124;-1:-1:-1;;;;;8239:59:124;;;;;;;;;8316:8;;;;8308:5;:16;8345:11;;;;8334:8;:22;8375:9;;;;8366:6;:18;8409:15;;;;8394:12;:30;;-1:-1:-1;;8394:30:124;-1:-1:-1;8409:15:124;8394:30;;;;;;;;:::i;:::-;;;;;-1:-1:-1;8448:14:124;;;;8434:11;:28;;-1:-1:-1;;8434:28:124;;8448:14;8434:28;;;;;;;;:::i;:::-;;;;;-1:-1:-1;8486:14:124;;;;8472:28;:11;:28;8532:21;;;;8510:19;:43;8569:26;;;;;;8583:7;;8486:2;;8569:26;:::i;:::-;;;;;;;;7640:962;7574:1028;;:::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;39491:143:124:-:0;39552:10;5954:30:11;5976:7;5954:21;:30::i;:::-;39574:6:124::1;:16:::0;;;39605:22:::1;::::0;7277:25:138;;;39605:22:124::1;::::0;7265:2:138;7250:18;39605:22:124::1;7131:177:138::0;13122:142:11;13218:6;;13199:35;;;;;;;;22607:25:138;;;;-1:-1:-1;;;;;22668:55:138;;;22648:18;;;22641:83;13199:4:11;:18;;;;22580::138;;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;;;;;;;;;;;;;;18773:1756:124;18968:1;18952:5;:12;:17;18948:76;;18992:21;;;;;;;;;;;;;;18948:76;19034:18;19066:5;19055:28;;;;;;;;;;;;:::i;:::-;19034:49;;19098:10;19112:1;19098:15;19094:77;;19136:24;;;;;;;;;;;;;;19094:77;19180:40;19223:21;;;:9;:21;;;;;19275:35;19259:12;;;;:51;;;;;;;;:::i;:::-;;19255:1208;;19330:19;;:33;;19326:108;;19390:29;;-1:-1:-1;;;19390:29:124;;;;;7277:25:138;;;7250:18;;19390:29:124;7131:177:138;19326:108:124;19479:10;;19452:8;:24;;;:37;19448:152;;;19548:24;;;;19574:10;;19516:69;;;;;;;;22937:25:138;;;22978:18;;;22971:34;;;;23021:18;;;23014:34;22910:18;;19516:69:124;22735:319:138;19448:152:124;19645:36;19618:23;;;;;;:63;;;;;;;;:::i;:::-;;19614:138;;19708:29;;-1:-1:-1;;;19708:29:124;;;;;7277:25:138;;;7250:18;;19708:29:124;7131:177:138;19614:138:124;19766:22;19791:36;19816:10;19791:24;:36::i;:::-;19766:61;;19841:17;19861:44;19880:8;:24;;;19861:18;:44::i;:::-;19841:64;;19941:9;19924:14;:26;:58;;;;;19981:1;19954:8;:24;;;:28;19924:58;19920:137;;;20009:33;;;;;;;;;;;;;;19920:137;20109:6;;20096:20;;;;;20071:22;;-1:-1:-1;;;;;20096:4:124;:12;;;;:20;;;;7277:25:138;;;7265:2;7250:18;;7131:177;20096:20:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20096:20:124;;;;;;;;;;;;:::i;:::-;20071:45;;20145:8;:24;;;20131:10;;:38;;;;;;;:::i;:::-;;;;-1:-1:-1;;20207:10:124;;;;20219:20;;;;;20241:24;;;20191:75;;20207:10;-1:-1:-1;;;;;20219:20:124;;20191:15;:75::i;:::-;20297:23;;;:64;;-1:-1:-1;;20297:64:124;20323:38;20297:64;;;;;;20405:20;;;20297:64;20427:24;;;20381:71;;;25025:25:138;;;-1:-1:-1;;;;;20405:20:124;;;25081:2:138;25066:18;;25059:83;25158:18;;25151:34;20381:71:124;;25013:2:138;24998:18;20381:71:124;;;;;;;19312:1151;;;19255:1208;18859:1670;;18773:1756;;;:::o;37404:396::-;37523:18;37543:19;37566:56;37600:9;37611:10;37566:33;:56::i;:::-;37522:100;;;;37636:10;37650:1;37636:15;:35;;;;-1:-1:-1;37655:16:124;;37636:35;37632:72;;;37687:7;;37404:396;;:::o;37632:72::-;37713:19;;;:33;37756:24;;;;:37;;;;-1:-1:-1;37404:396:124:o;12816:351::-;12903:17;;:66;;-1:-1:-1;;;12903:66:124;;-1:-1:-1;;;;;18552:15:138;;;12903:66:124;;;18534:34:138;12963:4:124;18584:18:138;;;18577:43;12903:17:124;;;;:42;;18446:18:138;;12903:66:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12879:20;;:90;;;;;;;:::i;:::-;;;;-1:-1:-1;;12979:17:124;;:68;;;;;-1:-1:-1;;;;;18552:15:138;;;12979:68:124;;;18534:34:138;13041:4:124;18584:18:138;;;18577:43;12979:17:124;;;;:44;;18446:18:138;;12979:68:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13102:17;13111:7;13102:8;:17::i;:::-;13134:26;;-1:-1:-1;;;;;7491:55:138;;7473:74;;13134:26:124;;7461:2:138;7446:18;13134:26:124;;;;;;;;12816:351;:::o;10385:1945::-;10477:7;10556:45;10615:5;10604:50;;;;;;;;;;;;:::i;:::-;10769:15;;10556:98;;-1:-1:-1;10769:15:124;:20;10765:78;;10812:20;;;;;;;;;;;;;;10765:78;10935:35;10919:12;;;;:51;;;;;;;;:::i;:::-;;10915:721;;10986:39;11004:8;:20;;;10986:17;:39::i;:::-;11091:23;;;;-1:-1:-1;;;;;11091:37:124;11087:102;;11155:19;;;;;;;;;;;;;;11087:102;11202:17;11222:4;-1:-1:-1;;;;;11222:12:124;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11222:22:124;;11245:6;;11222:30;;;;;;;;;;;;;7277:25:138;;7265:2;7250:18;;7131:177;11222:30:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11222:30:124;;;;;;;;;;;;:::i;:::-;:36;;;11202:56;;11303:9;-1:-1:-1;;;;;11276:36:124;:8;:23;;;-1:-1:-1;;;;;11276:36:124;;11272:234;;11474:17;;;;;;;;;;;;;;11272:234;11523:41;11539:8;:24;;;11523:15;:41::i;:::-;11519:107;;;11591:20;;-1:-1:-1;;;11591:20:124;;;;;;;;;;;11519:107;10972:664;10915:721;11645:18;11668:15;;11666:17;;;;;:::i;:::-;;;;;-1:-1:-1;11693:33:124;11729:21;;;:9;:21;;;;;;;;11761:25;;;11796:11;;;:21;;-1:-1:-1;;;;;11796:21:124;;;-1:-1:-1;;11796:21:124;;;;;;;11843:20;;;;11827:13;;;:36;;;;;;;;;;;;;;11892:23;;;;11873:16;;;:42;;;;;;;;;;;11945:24;;;;-1:-1:-1;11925:17:124;;;:44;;;;12030:16;;;:55;;-1:-1:-1;;12030:55:124;;;;;;12109:12;12095:11;;;:26;-1:-1:-1;12131:16:124;;:20;;;;12210:17;;;;12197:30;;:10;;;:30;;;;;;;11666:17;;-1:-1:-1;11729:21:124;;12197:30;;;;;;;;:::i;:::-;-1:-1:-1;;12259:6:124;;12243:35;;;16754:25:138;;;16810:2;16795:18;;16788:34;;;12243:35:124;;-1:-1:-1;16727:18:138;12243:35:124;;;;;;;-1:-1:-1;12311:10:124;10385:1945;-1:-1:-1;;;;10385:1945:124:o;9759:162::-;9841:17;;-1:-1:-1;;;;;9841:17:124;9819:10;:40;9815:100;;9882:22;;;;;;;;;;;;;;16455:802;16620:17;;:31;;;-1:-1:-1;;;16620:31:124;;;;16553:7;;16590:2;;-1:-1:-1;;;;;16620:17:124;;;;:29;;:31;;;;;;;;;;;;;;;:17;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16606:56:124;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16606:58:124;;;;;;;;-1:-1:-1;;16606:58:124;;;;;;;;;;;;:::i;:::-;;;16602:208;;16763:36;;;;;;;;;;;;;;;;;;:11;:36::i;:::-;16602:208;;;16714:17;;;-1:-1:-1;16602:208:124;16819:49;;;;;;;;;;;;;;;;;;16851:16;16819:11;:49::i;:::-;16902:17;;:48;;-1:-1:-1;;;16902:48:124;;-1:-1:-1;;;;;7491:55:138;;;16902:48:124;;;7473:74:138;16878:21:124;;16953:16;;16902:17;;;:39;;7446:18:138;;16902:48:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:67;;;;:::i;:::-;16878:91;;16979:43;;;;;;;;;;;;;;;;;;17008:13;16979:11;:43::i;:::-;17032:22;17057:40;17083:13;17089:7;17083:2;:13;:::i;:::-;17067:29;;:13;:29;:::i;:::-;17057:9;:40::i;:::-;17134:17;;:66;;-1:-1:-1;;;17134:66:124;;-1:-1:-1;;;;;18552:15:138;;;17134:66:124;;;18534:34:138;17194:4:124;18584:18:138;;;18577:43;17032:65:124;;-1:-1:-1;17107:24:124;;17032:65;;17134:17;;:42;;18446:18:138;;17134:66:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:83;;;;:::i;:::-;17107:110;16455:802;-1:-1:-1;;;;;;;16455:802:124:o;36649:447::-;36710:15;-1:-1:-1;;;36745:2:124;:12;36737:53;;;;-1:-1:-1;;;36737:53:124;;30927:2:138;36737:53:124;;;30909:21:138;30966:2;30946:18;;;30939:30;31005;30985:18;;;30978:58;31053:18;;36737:53:124;30725:352:138;36737:53:124;-1:-1:-1;;;;36812:2:124;36836;36875:215;36882:5;;36875:215;;36907:1;36911;36907:5;36916:1;36907:10;36903:177;;36941:10;36946:1;36949;36941:4;:10::i;:::-;36937:14;-1:-1:-1;36975:1:124;36969:7;36875:215;;36903:177;37025:16;37030:7;37039:1;37025:4;:16::i;:::-;37015:26;-1:-1:-1;37059:6:124;37064:1;37059:6;;:::i;:::-;;;36875:215;;;36727:369;;36649:447;;;;:::o;22695:191::-;22774:4;-1:-1:-1;;;;;22840:24:124;;;:39;;22875:4;22840:39;;;22867:5;22833:46;22695:191;-1:-1:-1;;22695:191:124:o;26777:174::-;26851:19;26924:20;5834:8;26924:16;:20;:::i;:::-;26910:10;;26899:8;;:21;;;;:::i;:::-;:45;;;26777:174;-1:-1:-1;;26777:174:124:o;14956:615::-;15049:7;15068:24;15095:14;15068:41;;15119:51;;;;;;;;;;;;;;;;;;15153:16;15119:11;:51::i;:::-;15202:17;;:66;;-1:-1:-1;;;15202:66:124;;-1:-1:-1;;;;;18552:15:138;;;15202:66:124;;;18534:34:138;15262:4:124;18584:18:138;;;18577:43;15180:19:124;;15202:17;;:42;;18446:18:138;;15202:66:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15180:88;;15278:39;;;;;;;;;;;;;;;;;;15305:11;15278;:39::i;:::-;15364:11;:21;15331:30;15345:16;15331:11;:30;:::i;:::-;:54;15327:139;;;15420:11;:21;:35;;15444:11;;15420:35;:::i;:::-;15401:54;;15327:139;15475:55;;;;;;;;;;;;;;;;;;15513:16;15475:11;:55::i;:::-;-1:-1:-1;15548:16:124;14956:615;-1:-1:-1;;;14956:615:124:o;15577:730::-;15713:17;;:48;;-1:-1:-1;;;15713:48:124;;-1:-1:-1;;;;;7491:55:138;;;15713:48:124;;;7473:74:138;15673:7:124;;;;15764:14;;15713:17;;;;:39;;7446:18:138;;15713:48:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:65;;;;:::i;:::-;15837:17;;:31;;;-1:-1:-1;;;15837:31:124;;;;15692:86;;-1:-1:-1;15807:2:124;;-1:-1:-1;;;;;15837:17:124;;;;:29;;:31;;;;;;;;;;;;;;;:17;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15823:56:124;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15823:58:124;;;;;;;;-1:-1:-1;;15823:58:124;;;;;;;;;;;;:::i;:::-;;;15819:208;;15980:36;;;;;;;;;;;;;;;;;;:11;:36::i;:::-;15819:208;;;15931:17;;;-1:-1:-1;15819:208:124;16036:22;16061:37;16084:13;16090:7;16084:2;:13;:::i;:::-;16071:26;;:10;:26;:::i;16061:37::-;16132:17;;:66;;-1:-1:-1;;;16132:66:124;;-1:-1:-1;;;;;18552:15:138;;;16132:66:124;;;18534:34:138;16192:4:124;18584:18:138;;;18577:43;16036:62:124;;-1:-1:-1;16108:21:124;;16132:17;;;;:42;;18446:18:138;;16132:66:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16108:90;-1:-1:-1;16209:24:124;16236:30;16108:90;16236:14;:30;:::i;:::-;16209:57;15577:730;-1:-1:-1;;;;;;;;15577:730:124:o;37806:719::-;37959:18;37979:19;38028:12;38014:26;;38080:11;38057:9;:19;;;:34;;38050:42;;;;:::i;:::-;38129:11;38106:9;:19;;;:34;38102:173;;-1:-1:-1;38230:1:124;;-1:-1:-1;38230:1:124;38222:13;;38102:173;38341:177;38388:9;:19;;;38374:11;:33;;;;:::i;:::-;38460:9;:24;;;38498:10;38341:19;:177::i;:::-;38328:190;;37806:719;;;;;;:::o;14116:118:11:-;14173:10;:20;;-1:-1:-1;;14173:20:11;;;;;;;;;;14208:19;;2866:41:138;;;14208:19:11;;2854:2:138;2839:18;14208:19:11;2726:187:138;21560:220:124;21643:6;-1:-1:-1;;;;;21711:26:124;;;:62;;21758:15;21711:62;;;21740:15;21704:69;21560:220;-1:-1:-1;;21560:220:124: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;17966:551:124:-;18050:28;18070:7;18050:19;:28::i;:::-;18165:17;;:69;;-1:-1:-1;;;18165:69:124;;-1:-1:-1;;;;;18552:15:138;;;18165:69:124;;;18534:34:138;18228:4:124;18584:18:138;;;18577:43;18134:28:124;;18165:17;;:45;;18446:18:138;;18165:69:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18134:100;;18249:23;18244:78;;18295:16;;;;;;;;;;;;;;18244:78;18331:42;18387:5;18376:53;;;;;;;;;;;;:::i;:::-;18331:98;;18439:37;18464:7;18473:2;18439:24;:37::i;:::-;18486:24;18498:7;18507:2;18486:11;:24::i;:::-;18040:477;;17966:551;;:::o;22473:127::-;22565:28;;7277:25:138;;;22565:28:124;;7265:2:138;7250:18;22565:28:124;7131:177:138;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;22984:729:124:-;-1:-1:-1;;;;;23118:29:124;;23086;23118;;;:20;:29;;;;;;;;23086:61;;;;;;;;;;;;;;;;;;;23118:29;;23086:61;;;23118:29;23086:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23162:9;23157:550;23181:12;:19;23177:1;:23;23157:550;;;23221:18;23242:12;23255:1;23242:15;;;;;;;;:::i;:::-;;;;;;;23221:36;;23271:40;23314:9;:21;23324:10;23314:21;;;;;;;;;;;23271:64;;23353:26;23368:10;23353:14;:26::i;:::-;23349:348;;;-1:-1:-1;;;;;23422:35:124;;23399:20;23422:35;;;:26;;;:35;;;;;;;23475:39;;;;23532:21;;;:37;;23422:35;;;;23532:37;;23422:35;;23532:37;:::i;:::-;;;;;;;;23602:12;23587:11;;:27;;;;;;;:::i;:::-;;;;-1:-1:-1;23632:50:124;;-1:-1:-1;23659:8:124;23669:12;23632:26;:50::i;:::-;23381:316;23349:348;23207:500;;23202:3;;;;;:::i;:::-;;;;23157:550;;9927:132;-1:-1:-1;;;;;10000:22:124;;9996:56;;10031:21;;;;;;;;;;;;;;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;36158:269:124:-;36219:15;-1:-1:-1;;;36254:2:124;:13;;36246:66;;;;-1:-1:-1;;;36246:66:124;;33373:2:138;36246:66:124;;;33355:21:138;33412:2;33392:18;;;33385:30;33451:34;33431:18;;;33424:62;33522:10;33502:18;;;33495:38;33550:19;;36246:66:124;33171:404:138;36246:66:124;-1:-1:-1;;;36330:2:124;:12;36322:53;;;;-1:-1:-1;;;36322:53:124;;33782:2:138;36322:53:124;;;33764:21:138;33821:2;33801:18;;;33794:30;33860;33840:18;;;33833:58;33908:18;;36322:53:124;33580:352:138;36322:53:124;36417:3;5977:34;36394:7;36399:2;36394;:7;:::i;:::-;36393:19;;;;:::i;:::-;36392:28;;;36158:269;-1:-1:-1;;;36158:269:124:o;9376:377::-;-1:-1:-1;;;;;9449:21:124;;9445:77;;9493:18;;;;;;;;;;;;;;9445:77;9543:17;;-1:-1:-1;;;;;9543:17:124;9531:100;;9598:22;;-1:-1:-1;;;9598:22:124;;;;;;;;;;;9531:100;9645:17;;:35;;;;;-1:-1:-1;;;;;7491:55:138;;;9645:35:124;;;7473:74:138;9645:17:124;;;;:26;;7446:18:138;;9645:35:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9640:93;;9703:19;;;;;;;;;;;;;;26957:1548;27097:22;27138:9;27133:630;27157:16;:23;27153:1;:27;27133:630;;;27260:16;27277:1;27260:19;;;;;;;;:::i;:::-;;;;;;;:30;;;27294:1;27260:35;27256:187;27420:8;27256:187;27456:18;27477:16;27494:1;27477:19;;;;;;;;:::i;:::-;;;;;;;:30;;;27456:51;;27526:26;27541:10;27526:14;:26::i;:::-;27521:167;;27579:29;;-1:-1:-1;;;27579:29:124;;;;;7277:25:138;;;7250:18;;27579:29:124;7131:177:138;27521:167:124;27720:16;27737:1;27720:19;;;;;;;;:::i;:::-;;;;;;;:32;;;27701:51;;;;;:::i;:::-;;;27187:576;27133:630;27182:3;;;;:::i;:::-;;;;27133:630;;;-1:-1:-1;;;;;;26208:26:124;;27859:29;26208:26;;;:18;:26;;;;;;27891:60;;27935:15;27891:11;:60::i;:::-;28062:17;;:66;;-1:-1:-1;;;28062:66:124;;-1:-1:-1;;;;;18552:15:138;;;28062:66:124;;;18534:34:138;28122:4:124;18584:18:138;;;18577:43;27859:92:124;;-1:-1:-1;28033:26:124;;28062:17;;;;:42;;18446:18:138;;28062:66:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28033:95;;28318:18;28294:21;:42;28290:147;;;28359:67;;;;;;;;16754:25:138;;;16795:18;;;16788:34;;;16727:18;;28359:67:124;16580:248:138;28290:147:124;-1:-1:-1;;;;;;28447:27:124;;;;;;;:18;:27;;;;;:51;;;;-1:-1:-1;;26957:1548:124:o;28511:3479::-;28626:29;28670:9;28665:3319;28689:16;:23;28685:1;:27;28665:3319;;;28733:18;28754:16;28771:1;28754:19;;;;;;;;:::i;:::-;;;;;;;:30;;;28733:51;;28857:12;:19;28880:1;28857:24;28853:920;;28916:16;;;28930:1;28916:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;28916:16:124;28901:31;;28968:10;28950:12;28963:1;28950:15;;;;;;;;:::i;:::-;;;;;;:28;;;;;28853:920;;;29027:10;29068:9;29063:318;29087:12;:19;29083:1;:23;29063:318;;;29183:10;29164:12;29177:1;29164:15;;;;;;;;:::i;:::-;;;;;;;:29;29160:203;;29266:40;;;;;;;;16754:25:138;;;16795:18;;;16788:34;;;29229:4:124;;-1:-1:-1;16727:18:138;;29266:40:124;16580:248:138;29160:203:124;29108:3;;;;:::i;:::-;;;;29063:318;;;;29403:5;29398:361;;29432:21;29470:12;:19;29492:1;29470:23;;;;:::i;:::-;29456:38;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29456:38:124;;29432:62;;29521:9;29516:124;29540:12;:19;29536:1;:23;29516:124;;;29602:12;29615:1;29602:15;;;;;;;;:::i;:::-;;;;;;;29592:4;29597:1;29592:7;;;;;;;;:::i;:::-;;;;;;;;;;:25;29561:3;;;;:::i;:::-;;;;29516:124;;;;29689:10;29661:4;29666:12;:19;29661:25;;;;;;;;:::i;:::-;;;;;;;;;;:38;29736:4;-1:-1:-1;29398:361:124;29009:764;28853:920;29786:12;29801:16;29818:1;29801:19;;;;;;;;:::i;:::-;;;;;;;;;;;;:32;;;29848:40;29891:21;;;:9;:21;;;;;;-1:-1:-1;;;;;30045:35:124;;;;:26;;;:35;;;;;;29801:32;;-1:-1:-1;30268:40:124;30045:35;29801:32;30268:11;:40::i;:::-;-1:-1:-1;;;;;30443:35:124;;;;;;:26;;;:35;;;;;:50;;;30245:63;;-1:-1:-1;30443:35:124;30765:246;-1:-1:-1;;;;;30789:29:124;;;;;;:20;:29;;;;;:36;30785:40;;30765:246;;;30890:19;;-1:-1:-1;;;;;30854:29:124;;30890:19;30854:29;;;:20;:29;;;;;:32;;30884:1;;30854:32;;;;;;:::i;:::-;;;;;;;;;:55;30850:147;;30947:4;30933:18;;30973:5;;30850:147;30827:3;;;;:::i;:::-;;;;30765:246;;;;31029:11;31024:106;;-1:-1:-1;;;;;31060:29:124;;;;;;:20;:29;;;;;;;31095:19;;31060:55;;;;;;;;;;;;;;;;;;31024:106;31309:12;31285:20;:36;31281:370;;31356:35;31371:20;31356:12;:35;:::i;:::-;31341:11;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;31434:35:124;;-1:-1:-1;31449:20:124;31434:12;:35;:::i;:::-;31409:8;:21;;;:60;;;;;;;:::i;:::-;;;;-1:-1:-1;31281:370:124;;-1:-1:-1;31281:370:124;;31523:35;31546:12;31523:20;:35;:::i;:::-;31508:11;;:50;;;;;;;:::i;:::-;;;;-1:-1:-1;31601:35:124;;-1:-1:-1;31624:12:124;31601:20;:35;:::i;:::-;31576:8;:21;;;:60;;;;;;;:::i;:::-;;;;-1:-1:-1;;31281:370:124;31668:8;:18;;;31690:1;31668:23;31664:310;;31732:12;31711:18;;;:33;31664:310;;;31783:58;31810:8;31820:20;31783:26;:58::i;:::-;31912:21;;;;31935:23;;;;31864:95;;;-1:-1:-1;;;;;34435:55:138;;34417:74;;34522:2;34507:18;;34500:34;;;34550:18;;;34543:34;;;34608:2;34593:18;;34586:34;;;;34651:3;34636:19;;34629:35;31864:95:124;;34404:3:138;34389:19;31864:95:124;;;;;;;31664:310;28719:3265;;;;;;28714:3;;;;;:::i;:::-;;;;28665: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;26586:185:124:-;26654:4;26677:22;;;:9;:22;;;;;:33;:37;;;;:87;;-1:-1:-1;;26762:1:124;26718:22;;;:9;:22;;;;;:32;;;-1:-1:-1;;;;;26718:32:124;:46;;;26586: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;31996:276:124:-;32073:7;;32108:25;32127:6;32115:8;32108:25;:::i;:::-;32092:41;;32157:1;32148:6;:10;32144:90;;;32181:42;;;;;;;;22937:25:138;;;22978:18;;;22971:34;;;23021:18;;;23014:34;;;22910:18;;32181:42:124;22735:319:138;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:138;;14:180;-1:-1:-1;14:180:138:o;199:184::-;-1:-1:-1;;;248:1:138;241:88;348:4;345:1;338:15;372:4;369:1;362:15;388:145;474:1;467:5;464:12;454:46;;480:18;;:::i;:::-;509;;388:145::o;538:250::-;623:1;633:113;647:6;644:1;641:13;633:113;;;723:11;;;717:18;704:11;;;697:39;669:2;662:10;633:113;;;-1:-1:-1;;780:1:138;762:16;;755:27;538:250::o;793:271::-;835:3;873:5;867:12;900:6;895:3;888:19;916:76;985:6;978:4;973:3;969:14;962:4;955:5;951:16;916:76;:::i;:::-;1046:2;1025:15;-1:-1:-1;;1021:29:138;1012:39;;;;1053:4;1008:50;;793:271;-1:-1:-1;;793:271:138:o;1069:252::-;1156:5;1150:12;1145:3;1138:25;1120:3;1209:4;1202:5;1198:16;1192:23;1247:4;1240;1235:3;1231:14;1224:28;1268:47;1309:4;1304:3;1300:14;1286:12;1268:47;:::i;:::-;1261:54;1069:252;-1:-1:-1;;;;1069:252:138:o;1326:1058::-;1740:4;1769:3;1799:6;1788:9;1781:25;1842:6;1837:2;1826:9;1822:18;1815:34;1885:6;1880:2;1869:9;1865:18;1858:34;1928:6;1923:2;1912:9;1908:18;1901:34;-1:-1:-1;;;;;2045:2:138;2037:6;2033:15;2027:3;2016:9;2012:19;2005:44;2098:2;2090:6;2086:15;2080:3;2069:9;2065:19;2058:44;2151:2;2143:6;2139:15;2133:3;2122:9;2118:19;2111:44;;2192:6;2186:3;2175:9;2171:19;2164:35;2208:59;2262:3;2251:9;2247:19;2239:6;2208:59;:::i;:::-;2304:2;2298:3;2287:9;2283:19;2276:31;2324:54;2374:2;2363:9;2359:18;2351:6;2324:54;:::i;:::-;2316:62;1326:1058;-1:-1:-1;;;;;;;;;;;;;1326:1058:138:o;2389:332::-;2447:6;2500:2;2488:9;2479:7;2475:23;2471:32;2468:52;;;2516:1;2513;2506:12;2468:52;2555:9;2542:23;2605:66;2598:5;2594:78;2587:5;2584:89;2574:117;;2687:1;2684;2677:12;2918:154;-1:-1:-1;;;;;2997:5:138;2993:54;2986:5;2983:65;2973:93;;3062:1;3059;3052:12;3077:247;3136:6;3189:2;3177:9;3168:7;3164:23;3160:32;3157:52;;;3205:1;3202;3195:12;3157:52;3244:9;3231:23;3263:31;3288:5;3263:31;:::i;3329:184::-;-1:-1:-1;;;3378:1:138;3371:88;3478:4;3475:1;3468:15;3502:4;3499:1;3492:15;3518:257;3590:4;3584:11;;;3622:17;;3669:18;3654:34;;3690:22;;;3651:62;3648:88;;;3716:18;;:::i;:::-;3752:4;3745:24;3518:257;:::o;3780:255::-;3852:2;3846:9;3894:6;3882:19;;3931:18;3916:34;;3952:22;;;3913:62;3910:88;;;3978:18;;:::i;4040:253::-;4112:2;4106:9;4154:4;4142:17;;4189:18;4174:34;;4210:22;;;4171:62;4168:88;;;4236:18;;:::i;4298:253::-;4370:2;4364:9;4412:4;4400:17;;4447:18;4432:34;;4468:22;;;4429:62;4426:88;;;4494:18;;:::i;4556:275::-;4627:2;4621:9;4692:2;4673:13;;-1:-1:-1;;4669:27:138;4657:40;;4727:18;4712:34;;4748:22;;;4709:62;4706:88;;;4774:18;;:::i;:::-;4810:2;4803:22;4556:275;;-1:-1:-1;4556:275:138:o;4836:183::-;4896:4;4929:18;4921:6;4918:30;4915:56;;;4951:18;;:::i;:::-;-1:-1:-1;4996:1:138;4992:14;5008:4;4988:25;;4836:183::o;5024:737::-;5078:5;5131:3;5124:4;5116:6;5112:17;5108:27;5098:55;;5149:1;5146;5139:12;5098:55;5185:6;5172:20;5211:4;5235:60;5251:43;5291:2;5251:43;:::i;:::-;5235:60;:::i;:::-;5329:15;;;5415:1;5411:10;;;;5399:23;;5395:32;;;5360:12;;;;5439:15;;;5436:35;;;5467:1;5464;5457:12;5436:35;5503:2;5495:6;5491:15;5515:217;5531:6;5526:3;5523:15;5515:217;;;5611:3;5598:17;5628:31;5653:5;5628:31;:::i;:::-;5672:18;;5710:12;;;;5548;;5515:217;;;-1:-1:-1;5750:5:138;5024:737;-1:-1:-1;;;;;;5024:737:138:o;5766:186::-;5814:4;5847:18;5839:6;5836:30;5833:56;;;5869:18;;:::i;:::-;-1:-1:-1;5935:2:138;5914:15;-1:-1:-1;;5910:29:138;5941:4;5906:40;;5766:186::o;5957:462::-;5999:5;6052:3;6045:4;6037:6;6033:17;6029:27;6019:55;;6070:1;6067;6060:12;6019:55;6106:6;6093:20;6137:48;6153:31;6181:2;6153:31;:::i;6137:48::-;6210:2;6201:7;6194:19;6256:3;6249:4;6244:2;6236:6;6232:15;6228:26;6225:35;6222:55;;;6273:1;6270;6263:12;6222:55;6338:2;6331:4;6323:6;6319:17;6312:4;6303:7;6299:18;6286:55;6386:1;6361:16;;;6379:4;6357:27;6350:38;;;;6365:7;5957:462;-1:-1:-1;;;5957:462:138:o;6424:702::-;6535:6;6543;6551;6604:2;6592:9;6583:7;6579:23;6575:32;6572:52;;;6620:1;6617;6610:12;6572:52;6660:9;6647:23;6689:18;6730:2;6722:6;6719:14;6716:34;;;6746:1;6743;6736:12;6716:34;6769:61;6822:7;6813:6;6802:9;6798:22;6769:61;:::i;:::-;6759:71;;6883:2;6872:9;6868:18;6855:32;6839:48;;6912:2;6902:8;6899:16;6896:36;;;6928:1;6925;6918:12;6896:36;;6951:51;6994:7;6983:8;6972:9;6968:24;6951:51;:::i;:::-;6941:61;;;7052:2;7041:9;7037:18;7024:32;7065:31;7090:5;7065:31;:::i;:::-;7115:5;7105:15;;;6424:702;;;;;:::o;7558:455::-;7635:6;7643;7696:2;7684:9;7675:7;7671:23;7667:32;7664:52;;;7712:1;7709;7702:12;7664:52;7752:9;7739:23;7785:18;7777:6;7774:30;7771:50;;;7817:1;7814;7807:12;7771:50;7840:49;7881:7;7872:6;7861:9;7857:22;7840:49;:::i;:::-;7830:59;;;7939:2;7928:9;7924:18;7911:32;7952:31;7977:5;7952:31;:::i;:::-;8002:5;7992:15;;;7558:455;;;;;:::o;8249:142::-;8332:1;8325:5;8322:12;8312:46;;8338:18;;:::i;8396:213::-;8545:2;8530:18;;8557:46;8534:9;8585:6;8557:46;:::i;8614:315::-;8682:6;8690;8743:2;8731:9;8722:7;8718:23;8714:32;8711:52;;;8759:1;8756;8749:12;8711:52;8798:9;8785:23;8817:31;8842:5;8817:31;:::i;:::-;8867:5;8919:2;8904:18;;;;8891:32;;-1:-1:-1;;;8614:315:138:o;8934:316::-;9011:6;9019;9027;9080:2;9068:9;9059:7;9055:23;9051:32;9048:52;;;9096:1;9093;9086:12;9048:52;-1:-1:-1;;9119:23:138;;;9189:2;9174:18;;9161:32;;-1:-1:-1;9240:2:138;9225:18;;;9212:32;;8934:316;-1:-1:-1;8934:316:138:o;9255:143::-;9339:1;9332:5;9329:12;9319:46;;9345:18;;:::i;9403:215::-;9553:2;9538:18;;9565:47;9542:9;9594:6;9565:47;:::i;10063:261::-;10244:2;10233:9;10226:21;10207:4;10264:54;10314:2;10303:9;10299:18;10291:6;10264:54;:::i;10329:1357::-;10456:6;10464;10517:2;10505:9;10496:7;10492:23;10488:32;10485:52;;;10533:1;10530;10523:12;10485:52;10573:9;10560:23;10602:18;10643:2;10635:6;10632:14;10629:34;;;10659:1;10656;10649:12;10629:34;10682:61;10735:7;10726:6;10715:9;10711:22;10682:61;:::i;:::-;10672:71;;10762:2;10752:12;;10817:2;10806:9;10802:18;10789:32;10846:2;10836:8;10833:16;10830:36;;;10862:1;10859;10852:12;10830:36;10885:24;;10940:4;10932:13;;10928:27;-1:-1:-1;10918:55:138;;10969:1;10966;10959:12;10918:55;11005:2;10992:16;11028:60;11044:43;11084:2;11044:43;:::i;11028:60::-;11122:15;;;11204:1;11200:10;;;;11192:19;;11188:28;;;11153:12;;;;11228:19;;;11225:39;;;11260:1;11257;11250:12;11225:39;11292:2;11288;11284:11;11304:352;11320:6;11315:3;11312:15;11304:352;;;11406:3;11393:17;11442:2;11429:11;11426:19;11423:109;;;11486:1;11515:2;11511;11504:14;11423:109;11557:56;11605:7;11600:2;11586:11;11582:2;11578:20;11574:29;11557:56;:::i;:::-;11545:69;;-1:-1:-1;11634:12:138;;;;11337;;11304:352;;;11308:3;11675:5;11665:15;;;;;;;;10329:1357;;;;;:::o;11899:740::-;12132:2;12184:21;;;12254:13;;12157:18;;;12276:22;;;12103:4;;12132:2;12317;;12335:18;;;;12376:15;;;12103:4;12419:194;12433:6;12430:1;12427:13;12419:194;;;12482:51;12529:3;12520:6;12514:13;11774:12;;-1:-1:-1;;;;;11770:61:138;11758:74;;11881:4;11870:16;;;11864:23;11848:14;;11841:47;11691:203;12482:51;12553:12;;;;12588:15;;;;12455:1;12448:9;12419:194;;;-1:-1:-1;12630:3:138;;11899:740;-1:-1:-1;;;;;;;11899:740:138:o;12644:118::-;12730:5;12723:13;12716:21;12709:5;12706:32;12696:60;;12752:1;12749;12742:12;12767:241;12823:6;12876:2;12864:9;12855:7;12851:23;12847:32;12844:52;;;12892:1;12889;12882:12;12844:52;12931:9;12918:23;12950:28;12972:5;12950:28;:::i;13013:953::-;-1:-1:-1;;;;;13509:15:138;;;13491:34;;13561:15;;;13556:2;13541:18;;13534:43;13613:15;;13608:2;13593:18;;13586:43;13660:2;13645:18;;13638:34;;;13703:3;13688:19;;13681:35;;;13417:3;13402:19;;13725:59;13779:3;13764:19;;13756:6;13725:59;:::i;:::-;13821:6;13815:3;13804:9;13800:19;13793:35;13865:6;13859:3;13848:9;13844:19;13837:35;13909:6;13903:3;13892:9;13888:19;13881:35;13953:6;13947:3;13936:9;13932:19;13925:35;13013:953;;;;;;;;;;;;;:::o;13971:315::-;14039:6;14047;14100:2;14088:9;14079:7;14075:23;14071:32;14068:52;;;14116:1;14113;14106:12;14068:52;14152:9;14139:23;14129:33;;14212:2;14201:9;14197:18;14184:32;14225:31;14250:5;14225:31;:::i;14291:1202::-;14409:6;14440:2;14483;14471:9;14462:7;14458:23;14454:32;14451:52;;;14499:1;14496;14489:12;14451:52;14539:9;14526:23;14572:18;14564:6;14561:30;14558:50;;;14604:1;14601;14594:12;14558:50;14627:22;;14680:4;14672:13;;14668:27;-1:-1:-1;14658:55:138;;14709:1;14706;14699:12;14658:55;14745:2;14732:16;14768:60;14784:43;14824:2;14784:43;:::i;14768:60::-;14862:15;;;14944:1;14940:10;;;;14932:19;;14928:28;;;14893:12;;;;14968:19;;;14965:39;;;15000:1;14997;14990:12;14965:39;15024:11;;;;15044:419;15060:6;15055:3;15052:15;15044:419;;;15142:4;15136:3;15127:7;15123:17;15119:28;15116:118;;;15188:1;15217:2;15213;15206:14;15116:118;15260:22;;:::i;:::-;15309:17;;15295:32;;15376:12;;;15363:26;15347:14;;;15340:50;15403:18;;15086:4;15077:14;;;;15441:12;;;;15044:419;;15498:242;15641:2;15626:18;;15674:1;15663:13;;15653:47;;15680:18;;:::i;:::-;15709:25;;;15498:242;:::o;15745:388::-;15822:6;15830;15883:2;15871:9;15862:7;15858:23;15854:32;15851:52;;;15899:1;15896;15889:12;15851:52;15935:9;15922:23;15912:33;;15996:2;15985:9;15981:18;15968:32;16023:18;16015:6;16012:30;16009:50;;;16055:1;16052;16045:12;16009:50;16078:49;16119:7;16110:6;16099:9;16095:22;16078:49;:::i;:::-;16068:59;;;15745:388;;;;;:::o;16138:437::-;16217:1;16213:12;;;;16260;;;16281:61;;16335:4;16327:6;16323:17;16313:27;;16281:61;16388:2;16380:6;16377:14;16357:18;16354:38;16351:218;;-1:-1:-1;;;16422:1:138;16415:88;16526:4;16523:1;16516:15;16554:4;16551:1;16544:15;16833:184;-1:-1:-1;;;16882:1:138;16875:88;16982:4;16979:1;16972:15;17006:4;17003:1;16996:15;17022:128;17089:9;;;17110:11;;;17107:37;;;17124:18;;:::i;17528:184::-;-1:-1:-1;;;17577:1:138;17570:88;17677:4;17674:1;17667:15;17701:4;17698:1;17691:15;17717:274;17757:1;17783;17773:189;;-1:-1:-1;;;17815:1:138;17808:88;17919:4;17916:1;17909:15;17947:4;17944:1;17937:15;17773:189;-1:-1:-1;17976:9:138;;17717:274::o;17996:168::-;18069:9;;;18100;;18117:15;;;18111:22;;18097:37;18087:71;;18138:18;;:::i;18169:125::-;18234:9;;;18255:10;;;18252:36;;;18268:18;;:::i;18631:245::-;18698:6;18751:2;18739:9;18730:7;18726:23;18722:32;18719:52;;;18767:1;18764;18757:12;18719:52;18799:9;18793:16;18818:28;18840:5;18818:28;:::i;18881:184::-;18951:6;19004:2;18992:9;18983:7;18979:23;18975:32;18972:52;;;19020:1;19017;19010:12;18972:52;-1:-1:-1;19043:16:138;;18881:184;-1:-1:-1;18881:184:138:o;19070:138::-;19149:13;;19171:31;19149:13;19171:31;:::i;:::-;19070:138;;;:::o;19213:157::-;19302:13;;19344:1;19334:12;;19324:40;;19360:1;19357;19350:12;19375:156;19463:13;;19505:1;19495:12;;19485:40;;19521:1;19518;19511:12;19536:420;19611:5;19659:4;19647:9;19642:3;19638:19;19634:30;19631:50;;;19677:1;19674;19667:12;19631:50;19710:2;19704:9;19752:4;19744:6;19740:17;19823:6;19811:10;19808:22;19787:18;19775:10;19772:34;19769:62;19766:88;;;19834:18;;:::i;:::-;19870:2;19863:22;19933:16;;19918:32;;-1:-1:-1;19903:6:138;19536:420;-1:-1:-1;19536:420:138:o;19961:356::-;20030:5;20078:4;20066:9;20061:3;20057:19;20053:30;20050:50;;;20096:1;20093;20086:12;20050:50;20118:22;;:::i;:::-;20109:31;;20170:9;20164:16;20189:33;20214:7;20189:33;:::i;:::-;20245:7;20238:5;20231:22;;20306:2;20295:9;20291:18;20285:25;20280:2;20273:5;20269:14;20262:49;19961:356;;;;:::o;20322:972::-;20427:6;20480:3;20468:9;20459:7;20455:23;20451:33;20448:53;;;20497:1;20494;20487:12;20448:53;20523:22;;:::i;:::-;20568:40;20598:9;20568:40;:::i;:::-;20561:5;20554:55;20662:2;20651:9;20647:18;20641:25;20636:2;20629:5;20625:14;20618:49;20720:2;20709:9;20705:18;20699:25;20694:2;20687:5;20683:14;20676:49;20778:2;20767:9;20763:18;20757:25;20752:2;20745:5;20741:14;20734:49;20837:3;20826:9;20822:19;20816:26;20810:3;20803:5;20799:15;20792:51;20876:60;20931:3;20920:9;20916:19;20876:60;:::i;:::-;20870:3;20863:5;20859:15;20852:85;20970:59;21024:3;21013:9;21009:19;20970:59;:::i;:::-;20964:3;20957:5;20953:15;20946:84;21063:76;21131:7;21125:3;21114:9;21110:19;21063:76;:::i;:::-;21057:3;21050:5;21046:15;21039:101;21159:3;21194:69;21255:7;21250:2;21239:9;21235:18;21194:69;:::i;:::-;21178:14;;;21171:93;21182:5;20322:972;-1:-1:-1;;;20322:972:138:o;21299:1129::-;21489:4;21531:3;21520:9;21516:19;21508:27;;21562:6;21551:9;21544:25;-1:-1:-1;;;;;21615:6:138;21609:13;21605:62;21600:2;21589:9;21585:18;21578:90;21722:2;21714:6;21710:15;21704:22;21699:2;21688:9;21684:18;21677:50;21781:2;21773:6;21769:15;21763:22;21758:2;21747:9;21743:18;21736:50;21841:2;21833:6;21829:15;21823:22;21817:3;21806:9;21802:19;21795:51;21901:3;21893:6;21889:16;21883:23;21877:3;21866:9;21862:19;21855:52;21954:3;21946:6;21942:16;21936:23;21968:63;22026:3;22015:9;22011:19;21997:12;21968:63;:::i;:::-;;22080:3;22072:6;22068:16;22062:23;22094:64;22153:3;22142:9;22138:19;22122:14;22094:64;:::i;:::-;-1:-1:-1;22207:3:138;22195:16;;22189:23;22270:21;22231:3;22250:18;;;22243:49;;;;22329:15;;;22323:22;11774:12;;-1:-1:-1;;;;;11770:61:138;22417:3;22402:19;;11758:74;11881:4;11870:16;11864:23;11848:14;;;;11841:47;21299:1129;;-1:-1:-1;21299:1129:138:o;23059:726::-;23125:5;23173:4;23161:9;23156:3;23152:19;23148:30;23145:50;;;23191:1;23188;23181:12;23145:50;23213:22;;:::i;:::-;23204:31;;23264:9;23258:16;23251:5;23244:31;23319:2;23308:9;23304:18;23298:25;23346:18;23338:6;23335:30;23332:50;;;23378:1;23375;23368:12;23332:50;23401:22;;23454:4;23446:13;;23442:23;-1:-1:-1;23432:51:138;;23479:1;23476;23469:12;23432:51;23508:2;23502:9;23533:48;23549:31;23577:2;23549:31;:::i;23533:48::-;23604:2;23597:5;23590:17;23644:3;23639:2;23634;23630;23626:11;23622:20;23619:29;23616:49;;;23661:1;23658;23651:12;23616:49;23674:67;23738:2;23733;23726:5;23722:14;23717:2;23713;23709:11;23674:67;:::i;:::-;23768:2;23757:14;;23750:29;-1:-1:-1;23761:5:138;;23059:726;-1:-1:-1;;;23059:726:138:o;23790:1028::-;23882:6;23935:2;23923:9;23914:7;23910:23;23906:32;23903:52;;;23951:1;23948;23941:12;23903:52;23984:9;23978:16;24013:18;24054:2;24046:6;24043:14;24040:34;;;24070:1;24067;24060:12;24040:34;24093:22;;;;24149:4;24131:16;;;24127:27;24124:47;;;24167:1;24164;24157:12;24124:47;24193:22;;:::i;:::-;24244:2;24238:9;24231:5;24224:24;24286:2;24282;24278:11;24272:18;24299:33;24324:7;24299:33;:::i;:::-;24359:2;24348:14;;24341:31;24410:2;24402:11;;24396:18;24423:33;24396:18;24423:33;:::i;:::-;24483:2;24472:14;;24465:31;24535:2;24527:11;;24521:18;24551:16;;;24548:36;;;24580:1;24577;24570:12;24548:36;24616:65;24673:7;24662:8;24658:2;24654:17;24616:65;:::i;:::-;24611:2;24604:5;24600:14;24593:89;;24729:3;24725:2;24721:12;24715:19;24709:3;24702:5;24698:15;24691:44;24782:3;24778:2;24774:12;24768:19;24762:3;24755:5;24751:15;24744:44;24807:5;24797:15;;;;;23790:1028;;;;:::o;25196:986::-;25299:6;25352:2;25340:9;25331:7;25327:23;25323:32;25320:52;;;25368:1;25365;25358:12;25320:52;25401:9;25395:16;25430:18;25471:2;25463:6;25460:14;25457:34;;;25487:1;25484;25477:12;25457:34;25510:22;;;;25566:4;25548:16;;;25544:27;25541:47;;;25584:1;25581;25574:12;25541:47;25610:22;;:::i;:::-;25661:2;25655:9;25648:5;25641:24;25703:2;25699;25695:11;25689:18;25716:33;25741:7;25716:33;:::i;:::-;25776:2;25765:14;;25758:31;25835:2;25827:11;;;25821:18;25805:14;;;25798:42;25878:2;25870:11;;25864:18;25891:33;25864:18;25891:33;:::i;:::-;25951:2;25940:14;;25933:31;26003:3;25995:12;;25989:19;26020:16;;;26017:36;;;26049:1;26046;26039:12;26017:36;26086:65;26143:7;26132:8;26128:2;26124:17;26086:65;:::i;:::-;26080:3;26069:15;;26062:90;-1:-1:-1;26073:5:138;25196:986;-1:-1:-1;;;;;25196:986:138:o;26187:265::-;26271:6;26324:2;26312:9;26303:7;26299:23;26295:32;26292:52;;;26340:1;26337;26330:12;26292:52;26372:9;26366:16;26391:31;26416:5;26391:31;:::i;26457:135::-;26496:3;26517:17;;;26514:43;;26537:18;;:::i;:::-;-1:-1:-1;26584:1:138;26573:13;;26457:135::o;26723:545::-;26825:2;26820:3;26817:11;26814:448;;;26861:1;26886:5;26882:2;26875:17;26931:4;26927:2;26917:19;27001:2;26989:10;26985:19;26982:1;26978:27;26972:4;26968:38;27037:4;27025:10;27022:20;27019:47;;;-1:-1:-1;27060:4:138;27019:47;27115:2;27110:3;27106:12;27103:1;27099:20;27093:4;27089:31;27079:41;;27170:82;27188:2;27181:5;27178:13;27170:82;;;27233:17;;;27214:1;27203:13;27170:82;;;27174:3;;;26723:545;;;:::o;27444:1352::-;27570:3;27564:10;27597:18;27589:6;27586:30;27583:56;;;27619:18;;:::i;:::-;27648:97;27738:6;27698:38;27730:4;27724:11;27698:38;:::i;:::-;27692:4;27648:97;:::i;:::-;27800:4;;27864:2;27853:14;;27881:1;27876:663;;;;28583:1;28600:6;28597:89;;;-1:-1:-1;28652:19:138;;;28646:26;28597:89;-1:-1:-1;;27401:1:138;27397:11;;;27393:24;27389:29;27379:40;27425:1;27421:11;;;27376:57;28699:81;;27846:944;;27876:663;26670:1;26663:14;;;26707:4;26694:18;;-1:-1:-1;;27912:20:138;;;28030:236;28044:7;28041:1;28038:14;28030:236;;;28133:19;;;28127:26;28112:42;;28225:27;;;;28193:1;28181:14;;;;28060:19;;28030:236;;;28034:3;28294:6;28285:7;28282:19;28279:201;;;28355:19;;;28349:26;-1:-1:-1;;28438:1:138;28434:14;;;28450:3;28430:24;28426:37;28422:42;28407:58;28392:74;;28279:201;-1:-1:-1;;;;;28526:1:138;28510:14;;;28506:22;28493:36;;-1:-1:-1;27444:1352:138:o;29073:273::-;29141:6;29194:2;29182:9;29173:7;29169:23;29165:32;29162:52;;;29210:1;29207;29200:12;29162:52;29242:9;29236:16;29292:4;29285:5;29281:16;29274:5;29271:27;29261:55;;29312:1;29309;29302:12;29351:422;29440:1;29483:5;29440:1;29497:270;29518:7;29508:8;29505:21;29497:270;;;29577:4;29573:1;29569:6;29565:17;29559:4;29556:27;29553:53;;;29586:18;;:::i;:::-;29636:7;29626:8;29622:22;29619:55;;;29656:16;;;;29619:55;29735:22;;;;29695:15;;;;29497:270;;;29501:3;29351:422;;;;;:::o;29778:806::-;29827:5;29857:8;29847:80;;-1:-1:-1;29898:1:138;29912:5;;29847:80;29946:4;29936:76;;-1:-1:-1;29983:1:138;29997:5;;29936:76;30028:4;30046:1;30041:59;;;;30114:1;30109:130;;;;30021:218;;30041:59;30071:1;30062:10;;30085:5;;;30109:130;30146:3;30136:8;30133:17;30130:43;;;30153:18;;:::i;:::-;-1:-1:-1;;30209:1:138;30195:16;;30224:5;;30021:218;;30323:2;30313:8;30310:16;30304:3;30298:4;30295:13;30291:36;30285:2;30275:8;30272:16;30267:2;30261:4;30258:12;30254:35;30251:77;30248:159;;;-1:-1:-1;30360:19:138;;;30392:5;;30248:159;30439:34;30464:8;30458:4;30439:34;:::i;:::-;30509:6;30505:1;30501:6;30497:19;30488:7;30485:32;30482:58;;;30520:18;;:::i;:::-;30558:20;;29778:806;-1:-1:-1;;;29778:806:138:o;30589:131::-;30649:5;30678:36;30705:8;30699:4;30678:36;:::i;31082:184::-;-1:-1:-1;;;31131:1:138;31124:88;31231:4;31228:1;31221:15;31255:4;31252:1;31245:15;31271:1185;31400:6;31431:2;31474;31462:9;31453:7;31449:23;31445:32;31442:52;;;31490:1;31487;31480:12;31442:52;31523:9;31517:16;31556:18;31548:6;31545:30;31542:50;;;31588:1;31585;31578:12;31542:50;31611:22;;31664:4;31656:13;;31652:27;-1:-1:-1;31642:55:138;;31693:1;31690;31683:12;31642:55;31722:2;31716:9;31745:60;31761:43;31801:2;31761:43;:::i;31745:60::-;31839:15;;;31921:1;31917:10;;;;31909:19;;31905:28;;;31870:12;;;;31945:19;;;31942:39;;;31977:1;31974;31967:12;31942:39;32001:11;;;;32021:405;32037:6;32032:3;32029:15;32021:405;;;32119:4;32113:3;32104:7;32100:17;32096:28;32093:118;;;32165:1;32194:2;32190;32183:14;32093:118;32237:22;;:::i;:::-;32286:10;;32272:25;;32339:12;;;32333:19;32317:14;;;32310:43;32366:18;;32063:4;32054:14;;;;32404:12;;;;32021:405;;32461:184;-1:-1:-1;;;32510:1:138;32503:88;32610:4;32607:1;32600:15;32634:4;32631:1;32624:15;32650:220;32799:2;32788:9;32781:21;32762:4;32819:45;32860:2;32849:9;32845:18;32837:6;32819:45;:::i;32875:291::-;33052:2;33041:9;33034:21;33015:4;33072:45;33113:2;33102:9;33098:18;33090:6;33072:45;:::i;:::-;33064:53;;33153:6;33148:2;33137:9;33133:18;33126:34;32875:291;;;;;:::o;33937:216::-;34001:9;;;34029:11;;;33976:3;34059:9;;34087:10;;34083:19;;34112:10;;34104:19;;34080:44;34077:70;;;34127:18;;:::i","linkReferences":{},"immutableReferences":{"3335":[{"start":1138,"length":32},{"start":6287,"length":32},{"start":6434,"length":32},{"start":7083,"length":32}],"3337":[{"start":1502,"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","setWeight(uint256)":"fc1711f2","supportProposal((uint256,int256)[])":"e33add93","supportsInterface(bytes4)":"01ffc9a7","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\":\"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\":\"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\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"sybilOracleScorer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.SybilConfig\",\"name\":\"sybilConfig\",\"type\":\"tuple\"}],\"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\":\"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\":\"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/=lib/openzeppelin-contracts/\",\":@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/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\":\"0x3032ef966b217c359e29a9735604ee4e8e6529a9a0632369abdd7a7ae285dbd7\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://788c0a1deb7c53faedadc5efc152107ba22db81aaa9cffa1ba52d1427adfe2be\",\"dweb:/ipfs/QmQGANoMw4kb87y8JGCEgndo888YVDfRKMCepTJ2NVWUmY\"]},\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"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":"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":"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":"struct StrategyStruct.SybilConfig","name":"sybilConfig","type":"tuple","components":[{"internalType":"address","name":"sybilOracleScorer","type":"address"},{"internalType":"uint256","name":"threshold","type":"uint256"}]}],"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":"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":"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/=lib/openzeppelin-contracts/","@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/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":"0x3032ef966b217c359e29a9735604ee4e8e6529a9a0632369abdd7a7ae285dbd7","urls":["bzz-raw://788c0a1deb7c53faedadc5efc152107ba22db81aaa9cffa1ba52d1427adfe2be","dweb:/ipfs/QmQGANoMw4kb87y8JGCEgndo888YVDfRKMCepTJ2NVWUmY"],"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/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":124} \ 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 b0864de3e..84d795fb5 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/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/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\":\"0x3032ef966b217c359e29a9735604ee4e8e6529a9a0632369abdd7a7ae285dbd7\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://788c0a1deb7c53faedadc5efc152107ba22db81aaa9cffa1ba52d1427adfe2be\",\"dweb:/ipfs/QmQGANoMw4kb87y8JGCEgndo888YVDfRKMCepTJ2NVWUmY\"]},\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"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/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/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":"0x3032ef966b217c359e29a9735604ee4e8e6529a9a0632369abdd7a7ae285dbd7","urls":["bzz-raw://788c0a1deb7c53faedadc5efc152107ba22db81aaa9cffa1ba52d1427adfe2be","dweb:/ipfs/QmQGANoMw4kb87y8JGCEgndo888YVDfRKMCepTJ2NVWUmY"],"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/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":109} \ 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/=lib/openzeppelin-contracts/\",\":@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/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\":\"0x3032ef966b217c359e29a9735604ee4e8e6529a9a0632369abdd7a7ae285dbd7\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://788c0a1deb7c53faedadc5efc152107ba22db81aaa9cffa1ba52d1427adfe2be\",\"dweb:/ipfs/QmQGANoMw4kb87y8JGCEgndo888YVDfRKMCepTJ2NVWUmY\"]},\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"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/=lib/openzeppelin-contracts/","@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/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":"0x3032ef966b217c359e29a9735604ee4e8e6529a9a0632369abdd7a7ae285dbd7","urls":["bzz-raw://788c0a1deb7c53faedadc5efc152107ba22db81aaa9cffa1ba52d1427adfe2be","dweb:/ipfs/QmQGANoMw4kb87y8JGCEgndo888YVDfRKMCepTJ2NVWUmY"],"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/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":124} \ 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 df89126d8..19e9c5f94 100644 --- a/pkg/contracts/out/CVStrategy.sol/StrategyStruct.json +++ b/pkg/contracts/out/CVStrategy.sol/StrategyStruct.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207c63262f618c97eeeaf7fc8db03cb21405e59099a62c4b1c570e491d6bfecd4264736f6c63430008130033","sourceMap":"851:1969:109:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;851:1969:109;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207c63262f618c97eeeaf7fc8db03cb21405e59099a62c4b1c570e491d6bfecd4264736f6c63430008130033","sourceMap":"851:1969:109:-: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/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/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\":\"0x3032ef966b217c359e29a9735604ee4e8e6529a9a0632369abdd7a7ae285dbd7\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://788c0a1deb7c53faedadc5efc152107ba22db81aaa9cffa1ba52d1427adfe2be\",\"dweb:/ipfs/QmQGANoMw4kb87y8JGCEgndo888YVDfRKMCepTJ2NVWUmY\"]},\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"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/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/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":"0x3032ef966b217c359e29a9735604ee4e8e6529a9a0632369abdd7a7ae285dbd7","urls":["bzz-raw://788c0a1deb7c53faedadc5efc152107ba22db81aaa9cffa1ba52d1427adfe2be","dweb:/ipfs/QmQGANoMw4kb87y8JGCEgndo888YVDfRKMCepTJ2NVWUmY"],"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/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":109} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122027229d2895441bb616b216cf5e521c8df8b83256f3197e1a401a0932ec509b5264736f6c63430008130033","sourceMap":"851:1969:124:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;851:1969:124;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122027229d2895441bb616b216cf5e521c8df8b83256f3197e1a401a0932ec509b5264736f6c63430008130033","sourceMap":"851:1969:124:-: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/=lib/openzeppelin-contracts/\",\":@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/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\":\"0x3032ef966b217c359e29a9735604ee4e8e6529a9a0632369abdd7a7ae285dbd7\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://788c0a1deb7c53faedadc5efc152107ba22db81aaa9cffa1ba52d1427adfe2be\",\"dweb:/ipfs/QmQGANoMw4kb87y8JGCEgndo888YVDfRKMCepTJ2NVWUmY\"]},\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"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/=lib/openzeppelin-contracts/","@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/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":"0x3032ef966b217c359e29a9735604ee4e8e6529a9a0632369abdd7a7ae285dbd7","urls":["bzz-raw://788c0a1deb7c53faedadc5efc152107ba22db81aaa9cffa1ba52d1427adfe2be","dweb:/ipfs/QmQGANoMw4kb87y8JGCEgndo888YVDfRKMCepTJ2NVWUmY"],"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/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":124} \ 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 837278d0f..a60ed14d4 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":"sybilConfig","type":"tuple","internalType":"struct StrategyStruct.SybilConfig","components":[{"name":"sybilOracleScorer","type":"address","internalType":"address"},{"name":"threshold","type":"uint256","internalType":"uint256"}]}]}],"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":"0x60016080908152610120604052602e60c081815260a09162001e2d60e0399052805160099081556020820151600a906200003a9082620000f6565b5050503480156200004a57600080fd5b50620001c2565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200007c57607f821691505b6020821081036200009d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620000f157600081815260208120601f850160051c81016020861015620000cc5750805b601f850160051c820191505b81811015620000ed57828155600101620000d8565b5050505b505050565b81516001600160401b0381111562000112576200011262000051565b6200012a8162000123845462000067565b84620000a3565b602080601f831160018114620001625760008415620001495750858301515b600019600386901b1c1916600185901b178555620000ed565b600085815260208120601f198616915b82811015620001935788860151825594840194600190910190840162000172565b5085821015620001b25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611c5b80620001d26000396000f3fe608060405234801561001057600080fd5b50600436106102ac5760003560e01c8063770b2e661161017b578063aa3744bd116100d8578063da4bf0871161008c578063e99ce91111610071578063e99ce91114610445578063ed62303a14610458578063ef0d790f1461046b57600080fd5b8063da4bf08714610435578063dac4eb161461043d57600080fd5b8063d1f2cd88116100bd578063d1f2cd8814610412578063d5bee9f51461041a578063d8c12dc21461042257600080fd5b8063aa3744bd14610402578063d1e82b581461040a57600080fd5b80638c7408c41161012f5780638e3c2493116101145780638e3c2493146103d7578063a0cf0aea146103df578063a407c67a146103fa57600080fd5b80638c7408c4146102ec5780638e0d1a50146103cf57600080fd5b80637b2edf32116101605780637b2edf32146103bf5780637cbe79ed146103c7578063829e423f146102ec57600080fd5b8063770b2e661461039757806379e62d0d146103b757600080fd5b8063392f37e91161022957806366d003ac116101dd57806370a32944116101c257806370a329441461038757806374d9284e146102ec578063759c9a861461038f57600080fd5b806366d003ac146103775780636a38dd0a1461037f57600080fd5b80634bf4ba211161020e5780634bf4ba2114610352578063587c1243146103675780635aff59991461036f57600080fd5b8063392f37e9146103335780633f26479e1461034957600080fd5b8063174eedde116102805780631e7bcb2e116102655780631e7bcb2e146102fb5780632e0f26251461030357806337d1c4041461032057600080fd5b8063174eedde146102ec5780631b96dce6146102f357600080fd5b8062b1fad7146102b1578063030e4006146102d65780630688b135146102de5780630f166ad4146102e6575b600080fd5b6102b9610473565b6040516001600160a01b0390911681526020015b60405180910390f35b6102b96104b8565b6102b96104f8565b306102b9565b60006102b9565b6102b9610538565b6102b9610578565b610312670de0b6b3a764000081565b6040519081526020016102cd565b61031261032e36600461147c565b6105b8565b61033b6106a2565b6040516102cd9291906115a5565b61031261271081565b61035a610739565b6040516102cd919061160a565b6102b961075c565b6102b961079c565b6102b96107dc565b6102b961081c565b61035a61085c565b6102b96108f4565b6103aa6103a5366004611687565b610934565b6040516102cd919061170a565b61035a610a0f565b6102b9610a77565b6102b9610ab7565b6102b9610af7565b6102b9610b37565b6102b973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61035a610b77565b6102b9610bdf565b6102b9610c1f565b6102b9610c5f565b6102b9610c9f565b6103126104303660046117b0565b610cdf565b6102b9610d0c565b6102b9610d4c565b610312610453366004611842565b610d8c565b610312610466366004611874565b610e26565b6102b9611029565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250611065565b905090565b60006104b36040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250611065565b600b54600090610697576040805180820182526001815281518083018352600c81527f506f6f6c50726f66696c6531000000000000000000000000000000000000000060208281019190915282015290517f3a92f65f0000000000000000000000000000000000000000000000000000000081526001600160a01b03861691633a92f65f916106509160029188908890600401611918565b6020604051808303816000875af115801561066f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069391906119a8565b600b555b50600b549392505050565b60098054600a80549192916106b6906119c1565b80601f01602080910402602001604051908101604052809291908181526020018280546106e2906119c1565b801561072f5780601f106107045761010080835404028352916020019161072f565b820191906000526020600020905b81548152906001019060200180831161071257829003601f168201915b5050505050905082565b604080516002808252606080830184529260208301908036833701905050905090565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250611065565b60006104b36040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610889610578565b8160008151811061089c5761089c6119fb565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610a77565b816001815181106108d7576108d76119fb565b6001600160a01b0390921660209283029190910190910152919050565b60006104b36040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250611065565b61093c611380565b61094d670de0a46bc207d800611077565b60208201526109636702c68af0bb140000611077565b604082015261097866038d7ea4c68000611077565b60608201526001600160a01b038516815260a0810184600281111561099f5761099f6116e0565b908160028111156109b2576109b26116e0565b90525060c081018360038111156109cb576109cb6116e0565b908160038111156109de576109de6116e0565b9052508151600003610a00576109fd670de0b6b3a764000060c8611a27565b82525b60e08101919091529392505050565b60408051600280825260608083018452926000929190602083019080368337019050509050610a3c610473565b81600081518110610a4f57610a4f6119fb565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c461081c565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610ba461075c565b81600081518110610bb757610bb76119fb565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610b37565b60006104b36040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250611065565b6000610d008888888888888860405180602001604052806000815250610e26565b98975050505050505050565b60006104b36040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250611065565b60008481610daa610da462989680608087901b611a3e565b8361108e565b905060806f80000000000000000000000000000000610dcc8662989680611a60565b610dda84600160801b611a60565b610de7629896808a611a27565b610df19190611a27565b610dfb9190611a3e565b610e058985611a27565b610e0f9190611a73565b610e199190611a73565b901c979650505050505050565b600080610e3588868686610934565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610e6f57610e6f6119fb565b60200260200101906001600160a01b031690816001600160a01b0316815250503381600181518110610ea357610ea36119fb565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90881615610ed95750865b8b6001600160a01b031663e1007d4a610efa8b610ef4610af7565b866105b8565b8d86604051602001610f0c919061170a565b6040516020818303038152906040528560006009896040518863ffffffff1660e01b8152600401610f439796959493929190611a86565b6020604051808303816000875af1158015610f62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8691906119a8565b9350866002811115610f9a57610f9a6116e0565b8b6001600160a01b031663351d9f966040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffc9190611b97565b600281111561100d5761100d6116e0565b1461101a5761101a611bb4565b50505098975050505050505050565b60006104b36040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006110708261113c565b5092915050565b600061108864174876e80083611a3e565b92915050565b6000600160801b83106110e85760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b801561113457806001166000036111165761110c8283611281565b915060011c6110f1565b6111208383611281565b925061112d600182611a60565b90506110f1565b505092915050565b600080826040516020016111509190611bca565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156111d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f59190611be6565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061124a9085908790600401611c03565b600060405180830381600087803b15801561126457600080fd5b505af1158015611278573d6000803e3d6000fd5b50505050915091565b6000600160801b8311156112fd5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e31323800000000000000000000000000000000000000000000000060648201526084016110df565b600160801b82106113505760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e3132380000000060448201526064016110df565b60806f8000000000000000000000000000000061136d8486611a27565b6113779190611a73565b901c9392505050565b60405180610120016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600060028111156113cb576113cb6116e0565b8152602001600081526020016113ed6040518060200160405280600081525090565b8152602001611418604051806040016040528060006001600160a01b03168152602001600081525090565b905290565b6001600160a01b038116811461143257600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561147457611474611435565b604052919050565b60008060006060848603121561149157600080fd5b833561149c8161141d565b92506020848101356114ad8161141d565b9250604085013567ffffffffffffffff808211156114ca57600080fd5b818701915087601f8301126114de57600080fd5b8135818111156114f0576114f0611435565b8060051b915061150184830161144b565b818152918301840191848101908a84111561151b57600080fd5b938501935b8385101561154557843592506115358361141d565b8282529385019390850190611520565b8096505050505050509250925092565b60005b83811015611570578181015183820152602001611558565b50506000910152565b60008151808452611591816020860160208601611555565b601f01601f19169290920160200192915050565b8281526040602082015260006115be6040830184611579565b949350505050565b600081518084526020808501945080840160005b838110156115ff5781516001600160a01b0316875295820195908201906001016115da565b509495945050505050565b60208152600061161d60208301846115c6565b9392505050565b6003811061143257600080fd5b80356004811061164057600080fd5b919050565b60006020828403121561165757600080fd5b6040516020810181811067ffffffffffffffff8211171561167a5761167a611435565b6040529135825250919050565b6000806000806080858703121561169d57600080fd5b84356116a88161141d565b935060208501356116b881611624565b92506116c660408601611631565b91506116d58660608701611645565b905092959194509250565b634e487b7160e01b600052602160045260246000fd5b60048110611706576117066116e0565b9052565b6000610140820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061175d5761175d6116e0565b8060a08401525060c083015161177660c08401826116f6565b5060e083015161178960e0840182519052565b506101008381015180516001600160a01b0316848301526020810151610120850152611134565b600080600080600080600060e0888a0312156117cb57600080fd5b87356117d68161141d565b965060208801356117e68161141d565b955060408801356117f68161141d565b945060608801356118068161141d565b935060808801356118168161141d565b925060a088013561182681611624565b915061183460c08901611631565b905092959891949750929550565b6000806000806080858703121561185857600080fd5b5050823594602084013594506040840135936060013592509050565b600080600080600080600080610100898b03121561189157600080fd5b883561189c8161141d565b975060208901356118ac8161141d565b965060408901356118bc8161141d565b955060608901356118cc8161141d565b945060808901356118dc8161141d565b935060a08901356118ec81611624565b92506118fa60c08a01611631565b91506119098a60e08b01611645565b90509295985092959890939650565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e06040820152835160e082015260006020850151604061010084015261197a610120840182611579565b90506001600160a01b0385166060840152828103608084015261199d81856115c6565b979650505050505050565b6000602082840312156119ba57600080fd5b5051919050565b600181811c908216806119d557607f821691505b6020821081036119f557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761108857611088611a11565b600082611a5b57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561108857611088611a11565b8082018082111561108857611088611a11565b878152600060206001600160a01b03808a168285015260e06040850152611ab060e085018a611579565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c905085821680611af057607f821691505b8782108103611b0d57634e487b7160e01b84526022600452602484fd5b60408601829052606086019550808015611b2e5760018114611b4457611b6f565b60ff198416875282151560051b87019450611b6f565b60008681526020902060005b84811015611b6957815489820152908901908a01611b50565b88019550505b5050505086810360c0880152611b8581896115c6565b9e9d5050505050505050505050505050565b600060208284031215611ba957600080fd5b815161161d81611624565b634e487b7160e01b600052600160045260246000fd5b60008251611bdc818460208701611555565b9190910192915050565b600060208284031215611bf857600080fd5b815161161d8161141d565b6001600160a01b03831681526040602082015260006115be604083018461157956fea26469706673582212205fa132fe67024461a8b02ebb1b93477c46d51d48fa9c575fe934a6afb258bedb64736f6c63430008130033516d57347a464c464a524e374a3637457a4e6d64433272324d397532694a44686132666a3547656536684a7a5359","sourceMap":"608:1:116:-:0;508:5347;588:82;;;;508:5347;588:82;;;;;;;;;;;;;561:109;;;;;;;;;;;;;;;;:::i;:::-;;;;508:5347;;;;;;;;;;;;14:127:123;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:123;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:123;;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:123;;;2580:26;2531:89;-1:-1:-1;;1335:1:123;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:123;;;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:123;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:123;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:123:o;:::-;508:5347:116;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106102ac5760003560e01c8063770b2e661161017b578063aa3744bd116100d8578063da4bf0871161008c578063e99ce91111610071578063e99ce91114610445578063ed62303a14610458578063ef0d790f1461046b57600080fd5b8063da4bf08714610435578063dac4eb161461043d57600080fd5b8063d1f2cd88116100bd578063d1f2cd8814610412578063d5bee9f51461041a578063d8c12dc21461042257600080fd5b8063aa3744bd14610402578063d1e82b581461040a57600080fd5b80638c7408c41161012f5780638e3c2493116101145780638e3c2493146103d7578063a0cf0aea146103df578063a407c67a146103fa57600080fd5b80638c7408c4146102ec5780638e0d1a50146103cf57600080fd5b80637b2edf32116101605780637b2edf32146103bf5780637cbe79ed146103c7578063829e423f146102ec57600080fd5b8063770b2e661461039757806379e62d0d146103b757600080fd5b8063392f37e91161022957806366d003ac116101dd57806370a32944116101c257806370a329441461038757806374d9284e146102ec578063759c9a861461038f57600080fd5b806366d003ac146103775780636a38dd0a1461037f57600080fd5b80634bf4ba211161020e5780634bf4ba2114610352578063587c1243146103675780635aff59991461036f57600080fd5b8063392f37e9146103335780633f26479e1461034957600080fd5b8063174eedde116102805780631e7bcb2e116102655780631e7bcb2e146102fb5780632e0f26251461030357806337d1c4041461032057600080fd5b8063174eedde146102ec5780631b96dce6146102f357600080fd5b8062b1fad7146102b1578063030e4006146102d65780630688b135146102de5780630f166ad4146102e6575b600080fd5b6102b9610473565b6040516001600160a01b0390911681526020015b60405180910390f35b6102b96104b8565b6102b96104f8565b306102b9565b60006102b9565b6102b9610538565b6102b9610578565b610312670de0b6b3a764000081565b6040519081526020016102cd565b61031261032e36600461147c565b6105b8565b61033b6106a2565b6040516102cd9291906115a5565b61031261271081565b61035a610739565b6040516102cd919061160a565b6102b961075c565b6102b961079c565b6102b96107dc565b6102b961081c565b61035a61085c565b6102b96108f4565b6103aa6103a5366004611687565b610934565b6040516102cd919061170a565b61035a610a0f565b6102b9610a77565b6102b9610ab7565b6102b9610af7565b6102b9610b37565b6102b973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61035a610b77565b6102b9610bdf565b6102b9610c1f565b6102b9610c5f565b6102b9610c9f565b6103126104303660046117b0565b610cdf565b6102b9610d0c565b6102b9610d4c565b610312610453366004611842565b610d8c565b610312610466366004611874565b610e26565b6102b9611029565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250611065565b905090565b60006104b36040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250611065565b600b54600090610697576040805180820182526001815281518083018352600c81527f506f6f6c50726f66696c6531000000000000000000000000000000000000000060208281019190915282015290517f3a92f65f0000000000000000000000000000000000000000000000000000000081526001600160a01b03861691633a92f65f916106509160029188908890600401611918565b6020604051808303816000875af115801561066f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069391906119a8565b600b555b50600b549392505050565b60098054600a80549192916106b6906119c1565b80601f01602080910402602001604051908101604052809291908181526020018280546106e2906119c1565b801561072f5780601f106107045761010080835404028352916020019161072f565b820191906000526020600020905b81548152906001019060200180831161071257829003601f168201915b5050505050905082565b604080516002808252606080830184529260208301908036833701905050905090565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250611065565b60006104b36040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610889610578565b8160008151811061089c5761089c6119fb565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610a77565b816001815181106108d7576108d76119fb565b6001600160a01b0390921660209283029190910190910152919050565b60006104b36040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250611065565b61093c611380565b61094d670de0a46bc207d800611077565b60208201526109636702c68af0bb140000611077565b604082015261097866038d7ea4c68000611077565b60608201526001600160a01b038516815260a0810184600281111561099f5761099f6116e0565b908160028111156109b2576109b26116e0565b90525060c081018360038111156109cb576109cb6116e0565b908160038111156109de576109de6116e0565b9052508151600003610a00576109fd670de0b6b3a764000060c8611a27565b82525b60e08101919091529392505050565b60408051600280825260608083018452926000929190602083019080368337019050509050610a3c610473565b81600081518110610a4f57610a4f6119fb565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c461081c565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610ba461075c565b81600081518110610bb757610bb76119fb565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610b37565b60006104b36040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250611065565b6000610d008888888888888860405180602001604052806000815250610e26565b98975050505050505050565b60006104b36040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250611065565b60008481610daa610da462989680608087901b611a3e565b8361108e565b905060806f80000000000000000000000000000000610dcc8662989680611a60565b610dda84600160801b611a60565b610de7629896808a611a27565b610df19190611a27565b610dfb9190611a3e565b610e058985611a27565b610e0f9190611a73565b610e199190611a73565b901c979650505050505050565b600080610e3588868686610934565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610e6f57610e6f6119fb565b60200260200101906001600160a01b031690816001600160a01b0316815250503381600181518110610ea357610ea36119fb565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90881615610ed95750865b8b6001600160a01b031663e1007d4a610efa8b610ef4610af7565b866105b8565b8d86604051602001610f0c919061170a565b6040516020818303038152906040528560006009896040518863ffffffff1660e01b8152600401610f439796959493929190611a86565b6020604051808303816000875af1158015610f62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8691906119a8565b9350866002811115610f9a57610f9a6116e0565b8b6001600160a01b031663351d9f966040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffc9190611b97565b600281111561100d5761100d6116e0565b1461101a5761101a611bb4565b50505098975050505050505050565b60006104b36040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006110708261113c565b5092915050565b600061108864174876e80083611a3e565b92915050565b6000600160801b83106110e85760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b801561113457806001166000036111165761110c8283611281565b915060011c6110f1565b6111208383611281565b925061112d600182611a60565b90506110f1565b505092915050565b600080826040516020016111509190611bca565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156111d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f59190611be6565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061124a9085908790600401611c03565b600060405180830381600087803b15801561126457600080fd5b505af1158015611278573d6000803e3d6000fd5b50505050915091565b6000600160801b8311156112fd5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e31323800000000000000000000000000000000000000000000000060648201526084016110df565b600160801b82106113505760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e3132380000000060448201526064016110df565b60806f8000000000000000000000000000000061136d8486611a27565b6113779190611a73565b901c9392505050565b60405180610120016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600060028111156113cb576113cb6116e0565b8152602001600081526020016113ed6040518060200160405280600081525090565b8152602001611418604051806040016040528060006001600160a01b03168152602001600081525090565b905290565b6001600160a01b038116811461143257600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561147457611474611435565b604052919050565b60008060006060848603121561149157600080fd5b833561149c8161141d565b92506020848101356114ad8161141d565b9250604085013567ffffffffffffffff808211156114ca57600080fd5b818701915087601f8301126114de57600080fd5b8135818111156114f0576114f0611435565b8060051b915061150184830161144b565b818152918301840191848101908a84111561151b57600080fd5b938501935b8385101561154557843592506115358361141d565b8282529385019390850190611520565b8096505050505050509250925092565b60005b83811015611570578181015183820152602001611558565b50506000910152565b60008151808452611591816020860160208601611555565b601f01601f19169290920160200192915050565b8281526040602082015260006115be6040830184611579565b949350505050565b600081518084526020808501945080840160005b838110156115ff5781516001600160a01b0316875295820195908201906001016115da565b509495945050505050565b60208152600061161d60208301846115c6565b9392505050565b6003811061143257600080fd5b80356004811061164057600080fd5b919050565b60006020828403121561165757600080fd5b6040516020810181811067ffffffffffffffff8211171561167a5761167a611435565b6040529135825250919050565b6000806000806080858703121561169d57600080fd5b84356116a88161141d565b935060208501356116b881611624565b92506116c660408601611631565b91506116d58660608701611645565b905092959194509250565b634e487b7160e01b600052602160045260246000fd5b60048110611706576117066116e0565b9052565b6000610140820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061175d5761175d6116e0565b8060a08401525060c083015161177660c08401826116f6565b5060e083015161178960e0840182519052565b506101008381015180516001600160a01b0316848301526020810151610120850152611134565b600080600080600080600060e0888a0312156117cb57600080fd5b87356117d68161141d565b965060208801356117e68161141d565b955060408801356117f68161141d565b945060608801356118068161141d565b935060808801356118168161141d565b925060a088013561182681611624565b915061183460c08901611631565b905092959891949750929550565b6000806000806080858703121561185857600080fd5b5050823594602084013594506040840135936060013592509050565b600080600080600080600080610100898b03121561189157600080fd5b883561189c8161141d565b975060208901356118ac8161141d565b965060408901356118bc8161141d565b955060608901356118cc8161141d565b945060808901356118dc8161141d565b935060a08901356118ec81611624565b92506118fa60c08a01611631565b91506119098a60e08b01611645565b90509295985092959890939650565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e06040820152835160e082015260006020850151604061010084015261197a610120840182611579565b90506001600160a01b0385166060840152828103608084015261199d81856115c6565b979650505050505050565b6000602082840312156119ba57600080fd5b5051919050565b600181811c908216806119d557607f821691505b6020821081036119f557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761108857611088611a11565b600082611a5b57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561108857611088611a11565b8082018082111561108857611088611a11565b878152600060206001600160a01b03808a168285015260e06040850152611ab060e085018a611579565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c905085821680611af057607f821691505b8782108103611b0d57634e487b7160e01b84526022600452602484fd5b60408601829052606086019550808015611b2e5760018114611b4457611b6f565b60ff198416875282151560051b87019450611b6f565b60008681526020902060005b84811015611b6957815489820152908901908a01611b50565b88019550505b5050505086810360c0880152611b8581896115c6565b9e9d5050505050505050505050505050565b600060208284031215611ba957600080fd5b815161161d81611624565b634e487b7160e01b600052600160045260246000fd5b60008251611bdc818460208701611555565b9190910192915050565b600060208284031215611bf857600080fd5b815161161d8161141d565b6001600160a01b03831681526040602082015260006115be604083018461157956fea26469706673582212205fa132fe67024461a8b02ebb1b93477c46d51d48fa9c575fe934a6afb258bedb64736f6c63430008130033","sourceMap":"508:5347:116:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:45;;;:::i;:::-;;;-1:-1:-1;;;;;178:55:123;;;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;699:43:116:-;;734:8;699:43;;;;;391:25:123;;;379:2;364:18;699:43:116;245:177:123;1093:437:116;;;;;;:::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:116:-;;;;;;:::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:116:-;;;;;;:::i;:::-;;:::i;546:124:45:-;;;:::i;324:109::-;;;:::i;5475:378:116:-;;;;;;:::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:116:-;1265:16;;1238:7;;1261:230;;1391:48;;;;;;;;1411:1;1391:48;;;;;;;;;;;;;;;;;;;;;;;;1330:150;;;;;-1:-1:-1;;;;;1330:22:116;;;;;:150;;1370:1;;1441:10;;1453:13;;1330:150;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1311:16;:169;1261:230;-1:-1:-1;1507:16:116;;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:116:-;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:116;;;;2292:19;;;2314:12;2292:34;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2336:18:116;;;2357:11;2336:32;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2383:21:116;;;: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:116: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:116:-;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:116:o;546:124:45:-;595:15;637:25;;;;;;;;;;;;;;;;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;;;;;:8;:26::i;5475:378:116:-;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:116;881:8;5816:9;5820:5;975:7;5816:9;:::i;:::-;5792:19;5802:9;-1:-1:-1;;;5792:19:116;:::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:116: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:116;;3212:16;;;;;;;;;;;;-1:-1:-1;3212:16:116;3178:50;;3266:4;3238:14;3253:1;3238:17;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;3238:33:116;;;-1:-1:-1;;;;;3238:33:116;;;;;3309:10;3281:14;3296:1;3281:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3281:39:116;;;:17;;;;;;;;;:39;4445:42:9;;3607:19:116;;;3603:64;;-1:-1:-1;3651:5:116;3603:64;3685:4;-1:-1:-1;;;;;3685:33:116;;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:116;;: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:116:-;4690:7;4716:18;4726:8;4716:7;:18;:::i;:::-;4709:25;4627:114;-1:-1:-1;;4627:114:116:o;5022:447::-;5083:15;-1:-1:-1;;;5118:2:116;:12;5110:53;;;;-1:-1:-1;;;5110:53:116;;16523:2:123;5110:53:116;;;16505:21:123;16562:2;16542:18;;;16535:30;16601;16581:18;;;16574:58;16649:18;;5110:53:116;;;;;;;;;-1:-1:-1;;;;5185:2:116;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:116;5342:7;5248:215;;5276:177;5398:16;5403:7;5412:1;5398:4;:16::i;:::-;5388:26;-1:-1:-1;5432:6:116;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;;;;;;391:25:123;;;20293:33:55;-1:-1:-1;20344:7:55;;;;364:18:123;;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:116:-;4808:15;-1:-1:-1;;;4843:2:116;:13;;4835:66;;;;-1:-1:-1;;;4835:66:116;;17786:2:123;4835:66:116;;;17768:21:123;17825:2;17805:18;;;17798:30;17864:34;17844:18;;;17837:62;17935:10;17915:18;;;17908:38;17963:19;;4835:66:116;17584:404:123;4835:66:116;-1:-1:-1;;;4919:2:116;:12;4911:53;;;;-1:-1:-1;;;4911:53:116;;18195:2:123;4911:53:116;;;18177:21:123;18234:2;18214:18;;;18207:30;18273;18253:18;;;18246:58;18321:18;;4911:53:116;17993:352:123;4911:53:116;5006:3;881:8;4983:7;4988:2;4983;:7;:::i;:::-;4982:19;;;;:::i;:::-;4981:28;;;4747:269;-1:-1:-1;;;4747:269:116:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;427:165:123:-;-1:-1:-1;;;;;517:5:123;513:54;506:5;503:65;493:93;;582:1;579;572:12;493:93;427:165;:::o;597:184::-;-1:-1:-1;;;646:1:123;639:88;746:4;743:1;736:15;770:4;767:1;760:15;786:275;857:2;851:9;922:2;903:13;;-1:-1:-1;;899:27:123;887:40;;957:18;942:34;;978:22;;;939:62;936:88;;;1004:18;;:::i;:::-;1040:2;1033:22;786:275;;-1:-1:-1;786:275:123:o;1066:1354::-;1186:6;1194;1202;1255:2;1243:9;1234:7;1230:23;1226:32;1223:52;;;1271:1;1268;1261:12;1223:52;1310:9;1297:23;1329:42;1365:5;1329:42;:::i;:::-;1390:5;-1:-1:-1;1414:2:123;1453:18;;;1440:32;1481:44;1440:32;1481:44;:::i;:::-;1544:7;-1:-1:-1;1602:2:123;1587:18;;1574:32;1625:18;1655:14;;;1652:34;;;1682:1;1679;1672:12;1652:34;1720:6;1709:9;1705:22;1695:32;;1765:7;1758:4;1754:2;1750:13;1746:27;1736:55;;1787:1;1784;1777:12;1736:55;1823:2;1810:16;1845:2;1841;1838:10;1835:36;;;1851:18;;:::i;:::-;1897:2;1894:1;1890:10;1880:20;;1920:28;1944:2;1940;1936:11;1920:28;:::i;:::-;1982:15;;;2052:11;;;2048:20;;;2013:12;;;;2080:19;;;2077:39;;;2112:1;2109;2102:12;2077:39;2136:11;;;;2156:234;2172:6;2167:3;2164:15;2156:234;;;2254:3;2241:17;2226:32;;2271:44;2307:7;2271:44;:::i;:::-;2328:20;;;2189:12;;;;2368;;;;2156:234;;;2409:5;2399:15;;;;;;;;1066:1354;;;;;:::o;2762:250::-;2847:1;2857:113;2871:6;2868:1;2865:13;2857:113;;;2947:11;;;2941:18;2928:11;;;2921:39;2893:2;2886:10;2857:113;;;-1:-1:-1;;3004:1:123;2986:16;;2979:27;2762:250::o;3017:271::-;3059:3;3097:5;3091:12;3124:6;3119:3;3112:19;3140:76;3209:6;3202:4;3197:3;3193:14;3186:4;3179:5;3175:16;3140:76;:::i;:::-;3270:2;3249:15;-1:-1:-1;;3245:29:123;3236:39;;;;3277:4;3232:50;;3017:271;-1:-1:-1;;3017:271:123:o;3293:291::-;3470:6;3459:9;3452:25;3513:2;3508;3497:9;3493:18;3486:30;3433:4;3533:45;3574:2;3563:9;3559:18;3551:6;3533:45;:::i;:::-;3525:53;3293:291;-1:-1:-1;;;;3293:291:123:o;3589:484::-;3642:3;3680:5;3674:12;3707:6;3702:3;3695:19;3733:4;3762:2;3757:3;3753:12;3746:19;;3799:2;3792:5;3788:14;3820:1;3830:218;3844:6;3841:1;3838:13;3830:218;;;3909:13;;-1:-1:-1;;;;;3905:62:123;3893:75;;3988:12;;;;4023:15;;;;3866:1;3859:9;3830:218;;;-1:-1:-1;4064:3:123;;3589:484;-1:-1:-1;;;;;3589:484:123:o;4078:261::-;4257:2;4246:9;4239:21;4220:4;4277:56;4329:2;4318:9;4314:18;4306:6;4277:56;:::i;:::-;4269:64;4078:261;-1:-1:-1;;;4078:261:123:o;4344:111::-;4429:1;4422:5;4419:12;4409:40;;4445:1;4442;4435:12;4460:152;4537:20;;4586:1;4576:12;;4566:40;;4602:1;4599;4592:12;4566:40;4460:152;;;:::o;4617:416::-;4681:5;4729:4;4717:9;4712:3;4708:19;4704:30;4701:50;;;4747:1;4744;4737:12;4701:50;4780:2;4774:9;4822:4;4814:6;4810:17;4893:6;4881:10;4878:22;4857:18;4845:10;4842:34;4839:62;4836:88;;;4904:18;;:::i;:::-;4940:2;4933:22;5003:23;;4988:39;;-1:-1:-1;4973:6:123;4617:416;-1:-1:-1;4617:416:123:o;5038:664::-;5195:6;5203;5211;5219;5272:3;5260:9;5251:7;5247:23;5243:33;5240:53;;;5289:1;5286;5279:12;5240:53;5328:9;5315:23;5347:42;5383:5;5347:42;:::i;:::-;5408:5;-1:-1:-1;5465:2:123;5450:18;;5437:32;5478:43;5437:32;5478:43;:::i;:::-;5540:7;-1:-1:-1;5566:47:123;5609:2;5594:18;;5566:47;:::i;:::-;5556:57;;5632:64;5688:7;5683:2;5672:9;5668:18;5632:64;:::i;:::-;5622:74;;5038:664;;;;;;;:::o;5707:184::-;-1:-1:-1;;;5756:1:123;5749:88;5856:4;5853:1;5846:15;5880:4;5877:1;5870:15;5896:142;5979:1;5972:5;5969:12;5959:46;;5985:18;;:::i;:::-;6014;;5896:142::o;6344:1140::-;6506:4;6548:3;6537:9;6533:19;6525:27;;-1:-1:-1;;;;;6589:6:123;6583:13;6579:62;6568:9;6561:81;6698:4;6690:6;6686:17;6680:24;6673:4;6662:9;6658:20;6651:54;6761:4;6753:6;6749:17;6743:24;6736:4;6725:9;6721:20;6714:54;6824:4;6816:6;6812:17;6806:24;6799:4;6788:9;6784:20;6777:54;6887:4;6879:6;6875:17;6869:24;6862:4;6851:9;6847:20;6840:54;6941:4;6933:6;6929:17;6923:24;6983:1;6969:12;6966:19;6956:53;;6989:18;;:::i;:::-;7047:12;7040:4;7029:9;7025:20;7018:42;;7109:4;7101:6;7097:17;7091:24;7124:65;7183:4;7172:9;7168:20;7152:14;7124:65;:::i;:::-;;7238:4;7230:6;7226:17;7220:24;7253:73;7320:4;7309:9;7305:20;7289:14;6118:12;6106:25;;6043:90;7253:73;-1:-1:-1;7345:6:123;7388:15;;;7382:22;6219:12;;-1:-1:-1;;;;;6215:61:123;7459:18;;;6203:74;6326:4;6315:16;;6309:23;6293:14;;;6286:47;7413:65;6138:201;7489:1170;7668:6;7676;7684;7692;7700;7708;7716;7769:3;7757:9;7748:7;7744:23;7740:33;7737:53;;;7786:1;7783;7776:12;7737:53;7825:9;7812:23;7844:42;7880:5;7844:42;:::i;:::-;7905:5;-1:-1:-1;7962:2:123;7947:18;;7934:32;7975:44;7934:32;7975:44;:::i;:::-;8038:7;-1:-1:-1;8097:2:123;8082:18;;8069:32;8110:44;8069:32;8110:44;:::i;:::-;8173:7;-1:-1:-1;8232:2:123;8217:18;;8204:32;8245:44;8204:32;8245:44;:::i;:::-;8308:7;-1:-1:-1;8367:3:123;8352:19;;8339:33;8381:44;8339:33;8381:44;:::i;:::-;8444:7;-1:-1:-1;8503:3:123;8488:19;;8475:33;8517:43;8475:33;8517:43;:::i;:::-;8579:7;-1:-1:-1;8605:48:123;8648:3;8633:19;;8605:48;:::i;:::-;8595:58;;7489:1170;;;;;;;;;;:::o;8911:385::-;8997:6;9005;9013;9021;9074:3;9062:9;9053:7;9049:23;9045:33;9042:53;;;9091:1;9088;9081:12;9042:53;-1:-1:-1;;9114:23:123;;;9184:2;9169:18;;9156:32;;-1:-1:-1;9235:2:123;9220:18;;9207:32;;9286:2;9271:18;9258:32;;-1:-1:-1;8911:385:123;-1:-1:-1;8911:385:123:o;9301:1307::-;9525:6;9533;9541;9549;9557;9565;9573;9581;9634:3;9622:9;9613:7;9609:23;9605:33;9602:53;;;9651:1;9648;9641:12;9602:53;9690:9;9677:23;9709:42;9745:5;9709:42;:::i;:::-;9770:5;-1:-1:-1;9827:2:123;9812:18;;9799:32;9840:44;9799:32;9840:44;:::i;:::-;9903:7;-1:-1:-1;9962:2:123;9947:18;;9934:32;9975:44;9934:32;9975:44;:::i;:::-;10038:7;-1:-1:-1;10097:2:123;10082:18;;10069:32;10110:44;10069:32;10110:44;:::i;:::-;10173:7;-1:-1:-1;10232:3:123;10217:19;;10204:33;10246:44;10204:33;10246:44;:::i;:::-;10309:7;-1:-1:-1;10368:3:123;10353:19;;10340:33;10382:43;10340:33;10382:43;:::i;:::-;10444:7;-1:-1:-1;10470:48:123;10513:3;10498:19;;10470:48;:::i;:::-;10460:58;;10537:65;10594:7;10588:3;10577:9;10573:19;10537:65;:::i;:::-;10527:75;;9301:1307;;;;;;;;;;;:::o;10613:1032::-;11037:6;11026:9;11019:25;11080:3;11075:2;11064:9;11060:18;11053:31;11121:2;11115:3;11104:9;11100:19;11093:31;11161:16;11155:3;11144:9;11140:19;11133:45;11214:3;11209:2;11198:9;11194:18;11187:31;11261:6;11255:13;11249:3;11238:9;11234:19;11227:42;11000:4;11316:2;11308:6;11304:15;11298:22;11357:2;11351:3;11340:9;11336:19;11329:31;11380:52;11427:3;11416:9;11412:19;11398:12;11380:52;:::i;:::-;11369:63;;-1:-1:-1;;;;;11472:6:123;11468:55;11463:2;11452:9;11448:18;11441:83;11570:9;11565:3;11561:19;11555:3;11544:9;11540:19;11533:48;11598:41;11635:3;11627:6;11598:41;:::i;:::-;11590:49;10613:1032;-1:-1:-1;;;;;;;10613:1032:123:o;11650:184::-;11720:6;11773:2;11761:9;11752:7;11748:23;11744:32;11741:52;;;11789:1;11786;11779:12;11741:52;-1:-1:-1;11812:16:123;;11650:184;-1:-1:-1;11650:184:123:o;11839:437::-;11918:1;11914:12;;;;11961;;;11982:61;;12036:4;12028:6;12024:17;12014:27;;11982:61;12089:2;12081:6;12078:14;12058:18;12055:38;12052:218;;-1:-1:-1;;;12123:1:123;12116:88;12227:4;12224:1;12217:15;12255:4;12252:1;12245:15;12052:218;;11839:437;;;:::o;12281:184::-;-1:-1:-1;;;12330:1:123;12323:88;12430:4;12427:1;12420:15;12454:4;12451:1;12444:15;12470:184;-1:-1:-1;;;12519:1:123;12512:88;12619:4;12616:1;12609:15;12643:4;12640:1;12633:15;12659:168;12732:9;;;12763;;12780:15;;;12774:22;;12760:37;12750:71;;12801:18;;:::i;12832:274::-;12872:1;12898;12888:189;;-1:-1:-1;;;12930:1:123;12923:88;13034:4;13031:1;13024:15;13062:4;13059:1;13052:15;12888:189;-1:-1:-1;13091:9:123;;12832:274::o;13111:128::-;13178:9;;;13199:11;;;13196:37;;;13213:18;;:::i;13244:125::-;13309:9;;;13330:10;;;13327:36;;;13343:18;;:::i;13500:2154::-;13922:6;13911:9;13904:25;13885:4;13948:2;-1:-1:-1;;;;;14059:2:123;14051:6;14047:15;14042:2;14031:9;14027:18;14020:43;14099:3;14094:2;14083:9;14079:18;14072:31;14126:46;14167:3;14156:9;14152:19;14144:6;14126:46;:::i;:::-;14220:2;14212:6;14208:15;14203:2;14192:9;14188:18;14181:43;14261:6;14255:3;14244:9;14240:19;14233:35;14317:9;14309:6;14305:22;14299:3;14288:9;14284:19;14277:51;14358:6;14352:13;14344:6;14337:29;14385:4;14375:14;;14430:2;14422:6;14418:15;14466:2;14461;14453:6;14449:15;14442:27;14489:1;14522:12;14516:19;14558:3;14588:9;14584:2;14580:18;14570:28;;14648:2;14637:9;14633:18;14670;14660:61;;14714:4;14706:6;14702:17;14692:27;;14660:61;14767:2;14759:6;14756:14;14736:18;14733:38;14730:222;;-1:-1:-1;;;14801:3:123;14794:90;14907:4;14904:1;14897:15;14937:4;14932:3;14925:17;14730:222;15020:2;15008:15;;2694:19;;;2737:14;;;14961:71;-1:-1:-1;15048:18:123;15075:128;;;;15217:1;15212:321;;;;15041:492;;15075:128;-1:-1:-1;;15108:24:123;;15096:37;;15176:14;;15169:22;15166:1;15162:30;15153:40;;;-1:-1:-1;15075:128:123;;15212:321;13447:1;13440:14;;;13484:4;13471:18;;15313:1;15327:165;15341:6;15338:1;15335:13;15327:165;;;15419:14;;15406:11;;;15399:35;15462:16;;;;15356:10;;15327:165;;;15512:11;;;-1:-1:-1;;15041:492:123;;;;;15579:9;15574:3;15570:19;15564:3;15553:9;15549:19;15542:48;15607:41;15644:3;15636:6;15607:41;:::i;:::-;15599:49;13500:2154;-1:-1:-1;;;;;;;;;;;;;;13500:2154:123:o;15848:279::-;15936:6;15989:2;15977:9;15968:7;15964:23;15960:32;15957:52;;;16005:1;16002;15995:12;15957:52;16037:9;16031:16;16056:41;16091:5;16056:41;:::i;16132:184::-;-1:-1:-1;;;16181:1:123;16174:88;16281:4;16278:1;16271:15;16305:4;16302:1;16295:15;16678:289;16809:3;16847:6;16841:13;16863:66;16922:6;16917:3;16910:4;16902:6;16898:17;16863:66;:::i;:::-;16945:16;;;;;16678:289;-1:-1:-1;;16678:289:123:o;16972:262::-;17042:6;17095:2;17083:9;17074:7;17070:23;17066:32;17063:52;;;17111:1;17108;17101:12;17063:52;17143:9;17137:16;17162:42;17198:5;17162:42;:::i;17239:340::-;-1:-1:-1;;;;;17420:6:123;17416:55;17405:9;17398:74;17508:2;17503;17492:9;17488:18;17481:30;17379:4;17528:45;17569:2;17558:9;17554:18;17546:6;17528: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\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"sybilOracleScorer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.SybilConfig\",\"name\":\"sybilConfig\",\"type\":\"tuple\"}],\"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/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/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\":\"0x3032ef966b217c359e29a9735604ee4e8e6529a9a0632369abdd7a7ae285dbd7\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://788c0a1deb7c53faedadc5efc152107ba22db81aaa9cffa1ba52d1427adfe2be\",\"dweb:/ipfs/QmQGANoMw4kb87y8JGCEgndo888YVDfRKMCepTJ2NVWUmY\"]},\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"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":"struct StrategyStruct.SybilConfig","name":"sybilConfig","type":"tuple","components":[{"internalType":"address","name":"sybilOracleScorer","type":"address"},{"internalType":"uint256","name":"threshold","type":"uint256"}]}]}]},{"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/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/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":"0x3032ef966b217c359e29a9735604ee4e8e6529a9a0632369abdd7a7ae285dbd7","urls":["bzz-raw://788c0a1deb7c53faedadc5efc152107ba22db81aaa9cffa1ba52d1427adfe2be","dweb:/ipfs/QmQGANoMw4kb87y8JGCEgndo888YVDfRKMCepTJ2NVWUmY"],"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/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":116} \ 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":"sybilConfig","type":"tuple","internalType":"struct StrategyStruct.SybilConfig","components":[{"name":"sybilOracleScorer","type":"address","internalType":"address"},{"name":"threshold","type":"uint256","internalType":"uint256"}]}]}],"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":"0x60016080908152610120604052602e60c081815260a09162001e2d60e0399052805160099081556020820151600a906200003a9082620000f6565b5050503480156200004a57600080fd5b50620001c2565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200007c57607f821691505b6020821081036200009d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620000f157600081815260208120601f850160051c81016020861015620000cc5750805b601f850160051c820191505b81811015620000ed57828155600101620000d8565b5050505b505050565b81516001600160401b0381111562000112576200011262000051565b6200012a8162000123845462000067565b84620000a3565b602080601f831160018114620001625760008415620001495750858301515b600019600386901b1c1916600185901b178555620000ed565b600085815260208120601f198616915b82811015620001935788860151825594840194600190910190840162000172565b5085821015620001b25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611c5b80620001d26000396000f3fe608060405234801561001057600080fd5b50600436106102ac5760003560e01c8063770b2e661161017b578063aa3744bd116100d8578063da4bf0871161008c578063e99ce91111610071578063e99ce91114610445578063ed62303a14610458578063ef0d790f1461046b57600080fd5b8063da4bf08714610435578063dac4eb161461043d57600080fd5b8063d1f2cd88116100bd578063d1f2cd8814610412578063d5bee9f51461041a578063d8c12dc21461042257600080fd5b8063aa3744bd14610402578063d1e82b581461040a57600080fd5b80638c7408c41161012f5780638e3c2493116101145780638e3c2493146103d7578063a0cf0aea146103df578063a407c67a146103fa57600080fd5b80638c7408c4146102ec5780638e0d1a50146103cf57600080fd5b80637b2edf32116101605780637b2edf32146103bf5780637cbe79ed146103c7578063829e423f146102ec57600080fd5b8063770b2e661461039757806379e62d0d146103b757600080fd5b8063392f37e91161022957806366d003ac116101dd57806370a32944116101c257806370a329441461038757806374d9284e146102ec578063759c9a861461038f57600080fd5b806366d003ac146103775780636a38dd0a1461037f57600080fd5b80634bf4ba211161020e5780634bf4ba2114610352578063587c1243146103675780635aff59991461036f57600080fd5b8063392f37e9146103335780633f26479e1461034957600080fd5b8063174eedde116102805780631e7bcb2e116102655780631e7bcb2e146102fb5780632e0f26251461030357806337d1c4041461032057600080fd5b8063174eedde146102ec5780631b96dce6146102f357600080fd5b8062b1fad7146102b1578063030e4006146102d65780630688b135146102de5780630f166ad4146102e6575b600080fd5b6102b9610473565b6040516001600160a01b0390911681526020015b60405180910390f35b6102b96104b8565b6102b96104f8565b306102b9565b60006102b9565b6102b9610538565b6102b9610578565b610312670de0b6b3a764000081565b6040519081526020016102cd565b61031261032e36600461147c565b6105b8565b61033b6106a2565b6040516102cd9291906115a5565b61031261271081565b61035a610739565b6040516102cd919061160a565b6102b961075c565b6102b961079c565b6102b96107dc565b6102b961081c565b61035a61085c565b6102b96108f4565b6103aa6103a5366004611687565b610934565b6040516102cd919061170a565b61035a610a0f565b6102b9610a77565b6102b9610ab7565b6102b9610af7565b6102b9610b37565b6102b973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61035a610b77565b6102b9610bdf565b6102b9610c1f565b6102b9610c5f565b6102b9610c9f565b6103126104303660046117b0565b610cdf565b6102b9610d0c565b6102b9610d4c565b610312610453366004611842565b610d8c565b610312610466366004611874565b610e26565b6102b9611029565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250611065565b905090565b60006104b36040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250611065565b600b54600090610697576040805180820182526001815281518083018352600c81527f506f6f6c50726f66696c6531000000000000000000000000000000000000000060208281019190915282015290517f3a92f65f0000000000000000000000000000000000000000000000000000000081526001600160a01b03861691633a92f65f916106509160029188908890600401611918565b6020604051808303816000875af115801561066f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069391906119a8565b600b555b50600b549392505050565b60098054600a80549192916106b6906119c1565b80601f01602080910402602001604051908101604052809291908181526020018280546106e2906119c1565b801561072f5780601f106107045761010080835404028352916020019161072f565b820191906000526020600020905b81548152906001019060200180831161071257829003601f168201915b5050505050905082565b604080516002808252606080830184529260208301908036833701905050905090565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250611065565b60006104b36040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610889610578565b8160008151811061089c5761089c6119fb565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610a77565b816001815181106108d7576108d76119fb565b6001600160a01b0390921660209283029190910190910152919050565b60006104b36040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250611065565b61093c611380565b61094d670de0a46bc207d800611077565b60208201526109636702c68af0bb140000611077565b604082015261097866038d7ea4c68000611077565b60608201526001600160a01b038516815260a0810184600281111561099f5761099f6116e0565b908160028111156109b2576109b26116e0565b90525060c081018360038111156109cb576109cb6116e0565b908160038111156109de576109de6116e0565b9052508151600003610a00576109fd670de0b6b3a764000060c8611a27565b82525b60e08101919091529392505050565b60408051600280825260608083018452926000929190602083019080368337019050509050610a3c610473565b81600081518110610a4f57610a4f6119fb565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c461081c565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610ba461075c565b81600081518110610bb757610bb76119fb565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610b37565b60006104b36040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250611065565b6000610d008888888888888860405180602001604052806000815250610e26565b98975050505050505050565b60006104b36040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250611065565b60008481610daa610da462989680608087901b611a3e565b8361108e565b905060806f80000000000000000000000000000000610dcc8662989680611a60565b610dda84600160801b611a60565b610de7629896808a611a27565b610df19190611a27565b610dfb9190611a3e565b610e058985611a27565b610e0f9190611a73565b610e199190611a73565b901c979650505050505050565b600080610e3588868686610934565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610e6f57610e6f6119fb565b60200260200101906001600160a01b031690816001600160a01b0316815250503381600181518110610ea357610ea36119fb565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90881615610ed95750865b8b6001600160a01b031663e1007d4a610efa8b610ef4610af7565b866105b8565b8d86604051602001610f0c919061170a565b6040516020818303038152906040528560006009896040518863ffffffff1660e01b8152600401610f439796959493929190611a86565b6020604051808303816000875af1158015610f62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8691906119a8565b9350866002811115610f9a57610f9a6116e0565b8b6001600160a01b031663351d9f966040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffc9190611b97565b600281111561100d5761100d6116e0565b1461101a5761101a611bb4565b50505098975050505050505050565b60006104b36040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006110708261113c565b5092915050565b600061108864174876e80083611a3e565b92915050565b6000600160801b83106110e85760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b801561113457806001166000036111165761110c8283611281565b915060011c6110f1565b6111208383611281565b925061112d600182611a60565b90506110f1565b505092915050565b600080826040516020016111509190611bca565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156111d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f59190611be6565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061124a9085908790600401611c03565b600060405180830381600087803b15801561126457600080fd5b505af1158015611278573d6000803e3d6000fd5b50505050915091565b6000600160801b8311156112fd5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e31323800000000000000000000000000000000000000000000000060648201526084016110df565b600160801b82106113505760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e3132380000000060448201526064016110df565b60806f8000000000000000000000000000000061136d8486611a27565b6113779190611a73565b901c9392505050565b60405180610120016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600060028111156113cb576113cb6116e0565b8152602001600081526020016113ed6040518060200160405280600081525090565b8152602001611418604051806040016040528060006001600160a01b03168152602001600081525090565b905290565b6001600160a01b038116811461143257600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561147457611474611435565b604052919050565b60008060006060848603121561149157600080fd5b833561149c8161141d565b92506020848101356114ad8161141d565b9250604085013567ffffffffffffffff808211156114ca57600080fd5b818701915087601f8301126114de57600080fd5b8135818111156114f0576114f0611435565b8060051b915061150184830161144b565b818152918301840191848101908a84111561151b57600080fd5b938501935b8385101561154557843592506115358361141d565b8282529385019390850190611520565b8096505050505050509250925092565b60005b83811015611570578181015183820152602001611558565b50506000910152565b60008151808452611591816020860160208601611555565b601f01601f19169290920160200192915050565b8281526040602082015260006115be6040830184611579565b949350505050565b600081518084526020808501945080840160005b838110156115ff5781516001600160a01b0316875295820195908201906001016115da565b509495945050505050565b60208152600061161d60208301846115c6565b9392505050565b6003811061143257600080fd5b80356004811061164057600080fd5b919050565b60006020828403121561165757600080fd5b6040516020810181811067ffffffffffffffff8211171561167a5761167a611435565b6040529135825250919050565b6000806000806080858703121561169d57600080fd5b84356116a88161141d565b935060208501356116b881611624565b92506116c660408601611631565b91506116d58660608701611645565b905092959194509250565b634e487b7160e01b600052602160045260246000fd5b60048110611706576117066116e0565b9052565b6000610140820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061175d5761175d6116e0565b8060a08401525060c083015161177660c08401826116f6565b5060e083015161178960e0840182519052565b506101008381015180516001600160a01b0316848301526020810151610120850152611134565b600080600080600080600060e0888a0312156117cb57600080fd5b87356117d68161141d565b965060208801356117e68161141d565b955060408801356117f68161141d565b945060608801356118068161141d565b935060808801356118168161141d565b925060a088013561182681611624565b915061183460c08901611631565b905092959891949750929550565b6000806000806080858703121561185857600080fd5b5050823594602084013594506040840135936060013592509050565b600080600080600080600080610100898b03121561189157600080fd5b883561189c8161141d565b975060208901356118ac8161141d565b965060408901356118bc8161141d565b955060608901356118cc8161141d565b945060808901356118dc8161141d565b935060a08901356118ec81611624565b92506118fa60c08a01611631565b91506119098a60e08b01611645565b90509295985092959890939650565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e06040820152835160e082015260006020850151604061010084015261197a610120840182611579565b90506001600160a01b0385166060840152828103608084015261199d81856115c6565b979650505050505050565b6000602082840312156119ba57600080fd5b5051919050565b600181811c908216806119d557607f821691505b6020821081036119f557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761108857611088611a11565b600082611a5b57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561108857611088611a11565b8082018082111561108857611088611a11565b878152600060206001600160a01b03808a168285015260e06040850152611ab060e085018a611579565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c905085821680611af057607f821691505b8782108103611b0d57634e487b7160e01b84526022600452602484fd5b60408601829052606086019550808015611b2e5760018114611b4457611b6f565b60ff198416875282151560051b87019450611b6f565b60008681526020902060005b84811015611b6957815489820152908901908a01611b50565b88019550505b5050505086810360c0880152611b8581896115c6565b9e9d5050505050505050505050505050565b600060208284031215611ba957600080fd5b815161161d81611624565b634e487b7160e01b600052600160045260246000fd5b60008251611bdc818460208701611555565b9190910192915050565b600060208284031215611bf857600080fd5b815161161d8161141d565b6001600160a01b03831681526040602082015260006115be604083018461157956fea2646970667358221220a57bacf8ce43dabc49443feadadf2be811851fab0d5c9079916abbd8e598d04664736f6c63430008130033516d57347a464c464a524e374a3637457a4e6d64433272324d397532694a44686132666a3547656536684a7a5359","sourceMap":"608:1:131:-:0;508:5347;588:82;;;;508:5347;588:82;;;;;;;;;;;;;561:109;;;;;;;;;;;;;;;;:::i;:::-;;;;508:5347;;;;;;;;;;;;14:127:138;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:138;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:138;;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:138;;;2580:26;2531:89;-1:-1:-1;;1335:1:138;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:138;;;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:138;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:138;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:138:o;:::-;508:5347:131;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106102ac5760003560e01c8063770b2e661161017b578063aa3744bd116100d8578063da4bf0871161008c578063e99ce91111610071578063e99ce91114610445578063ed62303a14610458578063ef0d790f1461046b57600080fd5b8063da4bf08714610435578063dac4eb161461043d57600080fd5b8063d1f2cd88116100bd578063d1f2cd8814610412578063d5bee9f51461041a578063d8c12dc21461042257600080fd5b8063aa3744bd14610402578063d1e82b581461040a57600080fd5b80638c7408c41161012f5780638e3c2493116101145780638e3c2493146103d7578063a0cf0aea146103df578063a407c67a146103fa57600080fd5b80638c7408c4146102ec5780638e0d1a50146103cf57600080fd5b80637b2edf32116101605780637b2edf32146103bf5780637cbe79ed146103c7578063829e423f146102ec57600080fd5b8063770b2e661461039757806379e62d0d146103b757600080fd5b8063392f37e91161022957806366d003ac116101dd57806370a32944116101c257806370a329441461038757806374d9284e146102ec578063759c9a861461038f57600080fd5b806366d003ac146103775780636a38dd0a1461037f57600080fd5b80634bf4ba211161020e5780634bf4ba2114610352578063587c1243146103675780635aff59991461036f57600080fd5b8063392f37e9146103335780633f26479e1461034957600080fd5b8063174eedde116102805780631e7bcb2e116102655780631e7bcb2e146102fb5780632e0f26251461030357806337d1c4041461032057600080fd5b8063174eedde146102ec5780631b96dce6146102f357600080fd5b8062b1fad7146102b1578063030e4006146102d65780630688b135146102de5780630f166ad4146102e6575b600080fd5b6102b9610473565b6040516001600160a01b0390911681526020015b60405180910390f35b6102b96104b8565b6102b96104f8565b306102b9565b60006102b9565b6102b9610538565b6102b9610578565b610312670de0b6b3a764000081565b6040519081526020016102cd565b61031261032e36600461147c565b6105b8565b61033b6106a2565b6040516102cd9291906115a5565b61031261271081565b61035a610739565b6040516102cd919061160a565b6102b961075c565b6102b961079c565b6102b96107dc565b6102b961081c565b61035a61085c565b6102b96108f4565b6103aa6103a5366004611687565b610934565b6040516102cd919061170a565b61035a610a0f565b6102b9610a77565b6102b9610ab7565b6102b9610af7565b6102b9610b37565b6102b973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61035a610b77565b6102b9610bdf565b6102b9610c1f565b6102b9610c5f565b6102b9610c9f565b6103126104303660046117b0565b610cdf565b6102b9610d0c565b6102b9610d4c565b610312610453366004611842565b610d8c565b610312610466366004611874565b610e26565b6102b9611029565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723100000000000000000000000000000000000000815250611065565b905090565b60006104b36040518060400160405280601381526020017f70726f66696c65315f6e6f74414d656d62657200000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f726563697069656e743200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65325f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723100000000000000000000000000000000815250611065565b600b54600090610697576040805180820182526001815281518083018352600c81527f506f6f6c50726f66696c6531000000000000000000000000000000000000000060208281019190915282015290517f3a92f65f0000000000000000000000000000000000000000000000000000000081526001600160a01b03861691633a92f65f916106509160029188908890600401611918565b6020604051808303816000875af115801561066f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069391906119a8565b600b555b50600b549392505050565b60098054600a80549192916106b6906119c1565b80601f01602080910402602001604051908101604052809291908181526020018280546106e2906119c1565b801561072f5780601f106107045761010080835404028352916020019161072f565b820191906000526020600020905b81548152906001019060200180831161071257829003601f168201915b5050505050905082565b604080516002808252606080830184529260208301908036833701905050905090565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723100000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f726563697069656e744164647265737300000000000000000000000000000000815250611065565b60006104b36040518060400160405280600981526020017f726563697069656e740000000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600d81526020017f706f6f6c5f6d616e616765723200000000000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610889610578565b8160008151811061089c5761089c6119fb565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610a77565b816001815181106108d7576108d76119fb565b6001600160a01b0390921660209283029190910190910152919050565b60006104b36040518060400160405280600c81526020017f6e6f5f726563697069656e740000000000000000000000000000000000000000815250611065565b61093c611380565b61094d670de0a46bc207d800611077565b60208201526109636702c68af0bb140000611077565b604082015261097866038d7ea4c68000611077565b60608201526001600160a01b038516815260a0810184600281111561099f5761099f6116e0565b908160028111156109b2576109b26116e0565b90525060c081018360038111156109cb576109cb6116e0565b908160038111156109de576109de6116e0565b9052508151600003610a00576109fd670de0b6b3a764000060c8611a27565b82525b60e08101919091529392505050565b60408051600280825260608083018452926000929190602083019080368337019050509050610a3c610473565b81600081518110610a4f57610a4f6119fb565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c461081c565b60006104b36040518060400160405280601081526020017f70726f66696c65315f6d656d6265723200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f616c6c6f5f6f776e657200000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600a81526020017f706f6f6c5f61646d696e00000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f70726f66696c65325f6d656d6265723200000000000000000000000000000000815250611065565b60408051600280825260608083018452926000929190602083019080368337019050509050610ba461075c565b81600081518110610bb757610bb76119fb565b60200260200101906001600160a01b031690816001600160a01b0316815250506108c4610b37565b60006104b36040518060400160405280600a81526020017f726563697069656e743100000000000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280601081526020017f706f6f6c5f6e6f74414d616e6167657200000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f70726f66696c65315f6f776e6572000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600b81526020017f72616e646f6d2063686164000000000000000000000000000000000000000000815250611065565b6000610d008888888888888860405180602001604052806000815250610e26565b98975050505050505050565b60006104b36040518060400160405280600d81526020017f616c6c6f5f747265617375727900000000000000000000000000000000000000815250611065565b60006104b36040518060400160405280600e81526020017f72656769737472795f6f776e6572000000000000000000000000000000000000815250611065565b60008481610daa610da462989680608087901b611a3e565b8361108e565b905060806f80000000000000000000000000000000610dcc8662989680611a60565b610dda84600160801b611a60565b610de7629896808a611a27565b610df19190611a27565b610dfb9190611a3e565b610e058985611a27565b610e0f9190611a73565b610e199190611a73565b901c979650505050505050565b600080610e3588868686610934565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610e6f57610e6f6119fb565b60200260200101906001600160a01b031690816001600160a01b0316815250503381600181518110610ea357610ea36119fb565b6001600160a01b03928316602091820292909201015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90881615610ed95750865b8b6001600160a01b031663e1007d4a610efa8b610ef4610af7565b866105b8565b8d86604051602001610f0c919061170a565b6040516020818303038152906040528560006009896040518863ffffffff1660e01b8152600401610f439796959493929190611a86565b6020604051808303816000875af1158015610f62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8691906119a8565b9350866002811115610f9a57610f9a6116e0565b8b6001600160a01b031663351d9f966040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffc9190611b97565b600281111561100d5761100d6116e0565b1461101a5761101a611bb4565b50505098975050505050505050565b60006104b36040518060400160405280601381526020017f70726f66696c65325f6e6f74414d656d626572000000000000000000000000008152505b60006110708261113c565b5092915050565b600061108864174876e80083611a3e565b92915050565b6000600160801b83106110e85760405162461bcd60e51b815260206004820152601c60248201527f5f612073686f756c64206265206c657373207468616e20325e3132380000000060448201526064015b60405180910390fd5b50600160801b82825b801561113457806001166000036111165761110c8283611281565b915060011c6110f1565b6111208383611281565b925061112d600182611a60565b90506110f1565b505092915050565b600080826040516020016111509190611bca565b60408051808303601f190181529082905280516020909101207fffa18649000000000000000000000000000000000000000000000000000000008252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156111d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f59190611be6565b6040517fc657c718000000000000000000000000000000000000000000000000000000008152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c7189061124a9085908790600401611c03565b600060405180830381600087803b15801561126457600080fd5b505af1158015611278573d6000803e3d6000fd5b50505050915091565b6000600160801b8311156112fd5760405162461bcd60e51b815260206004820152602860248201527f5f612073686f756c64206265206c657373207468616e206f7220657175616c2060448201527f746f20325e31323800000000000000000000000000000000000000000000000060648201526084016110df565b600160801b82106113505760405162461bcd60e51b815260206004820152601c60248201527f5f622073686f756c64206265206c657373207468616e20325e3132380000000060448201526064016110df565b60806f8000000000000000000000000000000061136d8486611a27565b6113779190611a73565b901c9392505050565b60405180610120016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600060028111156113cb576113cb6116e0565b8152602001600081526020016113ed6040518060200160405280600081525090565b8152602001611418604051806040016040528060006001600160a01b03168152602001600081525090565b905290565b6001600160a01b038116811461143257600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561147457611474611435565b604052919050565b60008060006060848603121561149157600080fd5b833561149c8161141d565b92506020848101356114ad8161141d565b9250604085013567ffffffffffffffff808211156114ca57600080fd5b818701915087601f8301126114de57600080fd5b8135818111156114f0576114f0611435565b8060051b915061150184830161144b565b818152918301840191848101908a84111561151b57600080fd5b938501935b8385101561154557843592506115358361141d565b8282529385019390850190611520565b8096505050505050509250925092565b60005b83811015611570578181015183820152602001611558565b50506000910152565b60008151808452611591816020860160208601611555565b601f01601f19169290920160200192915050565b8281526040602082015260006115be6040830184611579565b949350505050565b600081518084526020808501945080840160005b838110156115ff5781516001600160a01b0316875295820195908201906001016115da565b509495945050505050565b60208152600061161d60208301846115c6565b9392505050565b6003811061143257600080fd5b80356004811061164057600080fd5b919050565b60006020828403121561165757600080fd5b6040516020810181811067ffffffffffffffff8211171561167a5761167a611435565b6040529135825250919050565b6000806000806080858703121561169d57600080fd5b84356116a88161141d565b935060208501356116b881611624565b92506116c660408601611631565b91506116d58660608701611645565b905092959194509250565b634e487b7160e01b600052602160045260246000fd5b60048110611706576117066116e0565b9052565b6000610140820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061175d5761175d6116e0565b8060a08401525060c083015161177660c08401826116f6565b5060e083015161178960e0840182519052565b506101008381015180516001600160a01b0316848301526020810151610120850152611134565b600080600080600080600060e0888a0312156117cb57600080fd5b87356117d68161141d565b965060208801356117e68161141d565b955060408801356117f68161141d565b945060608801356118068161141d565b935060808801356118168161141d565b925060a088013561182681611624565b915061183460c08901611631565b905092959891949750929550565b6000806000806080858703121561185857600080fd5b5050823594602084013594506040840135936060013592509050565b600080600080600080600080610100898b03121561189157600080fd5b883561189c8161141d565b975060208901356118ac8161141d565b965060408901356118bc8161141d565b955060608901356118cc8161141d565b945060808901356118dc8161141d565b935060a08901356118ec81611624565b92506118fa60c08a01611631565b91506119098a60e08b01611645565b90509295985092959890939650565b84815260a06020820152600e60a08201527f506f6f6c2050726f66696c65203100000000000000000000000000000000000060c082015260e06040820152835160e082015260006020850151604061010084015261197a610120840182611579565b90506001600160a01b0385166060840152828103608084015261199d81856115c6565b979650505050505050565b6000602082840312156119ba57600080fd5b5051919050565b600181811c908216806119d557607f821691505b6020821081036119f557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761108857611088611a11565b600082611a5b57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561108857611088611a11565b8082018082111561108857611088611a11565b878152600060206001600160a01b03808a168285015260e06040850152611ab060e085018a611579565b818916606086015287608086015284810360a08601528654815260019150818701604084830152600081548181861c905085821680611af057607f821691505b8782108103611b0d57634e487b7160e01b84526022600452602484fd5b60408601829052606086019550808015611b2e5760018114611b4457611b6f565b60ff198416875282151560051b87019450611b6f565b60008681526020902060005b84811015611b6957815489820152908901908a01611b50565b88019550505b5050505086810360c0880152611b8581896115c6565b9e9d5050505050505050505050505050565b600060208284031215611ba957600080fd5b815161161d81611624565b634e487b7160e01b600052600160045260246000fd5b60008251611bdc818460208701611555565b9190910192915050565b600060208284031215611bf857600080fd5b815161161d8161141d565b6001600160a01b03831681526040602082015260006115be604083018461157956fea2646970667358221220a57bacf8ce43dabc49443feadadf2be811851fab0d5c9079916abbd8e598d04664736f6c63430008130033","sourceMap":"508:5347:131:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1763:107:45;;;:::i;:::-;;;-1:-1:-1;;;;;178:55:138;;;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;699:43:131:-;;734:8;699:43;;;;;391:25:138;;;379:2;364:18;699:43:131;245:177:138;1093:437:131;;;;;;:::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:131:-;;;;;;:::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:131:-;;;;;;:::i;:::-;;:::i;546:124:45:-;;;:::i;324:109::-;;;:::i;5475:378:131:-;;;;;;:::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:131:-;1265:16;;1238:7;;1261:230;;1391:48;;;;;;;;1411:1;1391:48;;;;;;;;;;;;;;;;;;;;;;;;1330:150;;;;;-1:-1:-1;;;;;1330:22:131;;;;;:150;;1370:1;;1441:10;;1453:13;;1330:150;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1311:16;:169;1261:230;-1:-1:-1;1507:16:131;;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:131:-;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:131;;;;2292:19;;;2314:12;2292:34;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2336:18:131;;;2357:11;2336:32;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;2383:21:131;;;: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:131: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:131:-;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:131:o;546:124:45:-;595:15;637:25;;;;;;;;;;;;;;;;;;:8;:25::i;324:109::-;374:7;400:26;;;;;;;;;;;;;;;;;;:8;:26::i;5475:378:131:-;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:131;881:8;5816:9;5820:5;975:7;5816:9;:::i;:::-;5792:19;5802:9;-1:-1:-1;;;5792:19:131;:::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:131: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:131;;3212:16;;;;;;;;;;;;-1:-1:-1;3212:16:131;3178:50;;3266:4;3238:14;3253:1;3238:17;;;;;;;;:::i;:::-;;;;;;:33;-1:-1:-1;;;;;3238:33:131;;;-1:-1:-1;;;;;3238:33:131;;;;;3309:10;3281:14;3296:1;3281:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3281:39:131;;;:17;;;;;;;;;:39;4445:42:9;;3607:19:131;;;3603:64;;-1:-1:-1;3651:5:131;3603:64;3685:4;-1:-1:-1;;;;;3685:33:131;;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:131;;: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:131:-;4690:7;4716:18;4726:8;4716:7;:18;:::i;:::-;4709:25;4627:114;-1:-1:-1;;4627:114:131:o;5022:447::-;5083:15;-1:-1:-1;;;5118:2:131;:12;5110:53;;;;-1:-1:-1;;;5110:53:131;;16523:2:138;5110:53:131;;;16505:21:138;16562:2;16542:18;;;16535:30;16601;16581:18;;;16574:58;16649:18;;5110:53:131;;;;;;;;;-1:-1:-1;;;;5185:2:131;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:131;5342:7;5248:215;;5276:177;5398:16;5403:7;5412:1;5398:4;:16::i;:::-;5388:26;-1:-1:-1;5432:6:131;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;;;;;;391:25:138;;;20293:33:55;-1:-1:-1;20344:7:55;;;;364:18:138;;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:131:-;4808:15;-1:-1:-1;;;4843:2:131;:13;;4835:66;;;;-1:-1:-1;;;4835:66:131;;17786:2:138;4835:66:131;;;17768:21:138;17825:2;17805:18;;;17798:30;17864:34;17844:18;;;17837:62;17935:10;17915:18;;;17908:38;17963:19;;4835:66:131;17584:404:138;4835:66:131;-1:-1:-1;;;4919:2:131;:12;4911:53;;;;-1:-1:-1;;;4911:53:131;;18195:2:138;4911:53:131;;;18177:21:138;18234:2;18214:18;;;18207:30;18273;18253:18;;;18246:58;18321:18;;4911:53:131;17993:352:138;4911:53:131;5006:3;881:8;4983:7;4988:2;4983;:7;:::i;:::-;4982:19;;;;:::i;:::-;4981:28;;;4747:269;-1:-1:-1;;;4747:269:131:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;427:165:138:-;-1:-1:-1;;;;;517:5:138;513:54;506:5;503:65;493:93;;582:1;579;572:12;493:93;427:165;:::o;597:184::-;-1:-1:-1;;;646:1:138;639:88;746:4;743:1;736:15;770:4;767:1;760:15;786:275;857:2;851:9;922:2;903:13;;-1:-1:-1;;899:27:138;887:40;;957:18;942:34;;978:22;;;939:62;936:88;;;1004:18;;:::i;:::-;1040:2;1033:22;786:275;;-1:-1:-1;786:275:138:o;1066:1354::-;1186:6;1194;1202;1255:2;1243:9;1234:7;1230:23;1226:32;1223:52;;;1271:1;1268;1261:12;1223:52;1310:9;1297:23;1329:42;1365:5;1329:42;:::i;:::-;1390:5;-1:-1:-1;1414:2:138;1453:18;;;1440:32;1481:44;1440:32;1481:44;:::i;:::-;1544:7;-1:-1:-1;1602:2:138;1587:18;;1574:32;1625:18;1655:14;;;1652:34;;;1682:1;1679;1672:12;1652:34;1720:6;1709:9;1705:22;1695:32;;1765:7;1758:4;1754:2;1750:13;1746:27;1736:55;;1787:1;1784;1777:12;1736:55;1823:2;1810:16;1845:2;1841;1838:10;1835:36;;;1851:18;;:::i;:::-;1897:2;1894:1;1890:10;1880:20;;1920:28;1944:2;1940;1936:11;1920:28;:::i;:::-;1982:15;;;2052:11;;;2048:20;;;2013:12;;;;2080:19;;;2077:39;;;2112:1;2109;2102:12;2077:39;2136:11;;;;2156:234;2172:6;2167:3;2164:15;2156:234;;;2254:3;2241:17;2226:32;;2271:44;2307:7;2271:44;:::i;:::-;2328:20;;;2189:12;;;;2368;;;;2156:234;;;2409:5;2399:15;;;;;;;;1066:1354;;;;;:::o;2762:250::-;2847:1;2857:113;2871:6;2868:1;2865:13;2857:113;;;2947:11;;;2941:18;2928:11;;;2921:39;2893:2;2886:10;2857:113;;;-1:-1:-1;;3004:1:138;2986:16;;2979:27;2762:250::o;3017:271::-;3059:3;3097:5;3091:12;3124:6;3119:3;3112:19;3140:76;3209:6;3202:4;3197:3;3193:14;3186:4;3179:5;3175:16;3140:76;:::i;:::-;3270:2;3249:15;-1:-1:-1;;3245:29:138;3236:39;;;;3277:4;3232:50;;3017:271;-1:-1:-1;;3017:271:138:o;3293:291::-;3470:6;3459:9;3452:25;3513:2;3508;3497:9;3493:18;3486:30;3433:4;3533:45;3574:2;3563:9;3559:18;3551:6;3533:45;:::i;:::-;3525:53;3293:291;-1:-1:-1;;;;3293:291:138:o;3589:484::-;3642:3;3680:5;3674:12;3707:6;3702:3;3695:19;3733:4;3762:2;3757:3;3753:12;3746:19;;3799:2;3792:5;3788:14;3820:1;3830:218;3844:6;3841:1;3838:13;3830:218;;;3909:13;;-1:-1:-1;;;;;3905:62:138;3893:75;;3988:12;;;;4023:15;;;;3866:1;3859:9;3830:218;;;-1:-1:-1;4064:3:138;;3589:484;-1:-1:-1;;;;;3589:484:138:o;4078:261::-;4257:2;4246:9;4239:21;4220:4;4277:56;4329:2;4318:9;4314:18;4306:6;4277:56;:::i;:::-;4269:64;4078:261;-1:-1:-1;;;4078:261:138:o;4344:111::-;4429:1;4422:5;4419:12;4409:40;;4445:1;4442;4435:12;4460:152;4537:20;;4586:1;4576:12;;4566:40;;4602:1;4599;4592:12;4566:40;4460:152;;;:::o;4617:416::-;4681:5;4729:4;4717:9;4712:3;4708:19;4704:30;4701:50;;;4747:1;4744;4737:12;4701:50;4780:2;4774:9;4822:4;4814:6;4810:17;4893:6;4881:10;4878:22;4857:18;4845:10;4842:34;4839:62;4836:88;;;4904:18;;:::i;:::-;4940:2;4933:22;5003:23;;4988:39;;-1:-1:-1;4973:6:138;4617:416;-1:-1:-1;4617:416:138:o;5038:664::-;5195:6;5203;5211;5219;5272:3;5260:9;5251:7;5247:23;5243:33;5240:53;;;5289:1;5286;5279:12;5240:53;5328:9;5315:23;5347:42;5383:5;5347:42;:::i;:::-;5408:5;-1:-1:-1;5465:2:138;5450:18;;5437:32;5478:43;5437:32;5478:43;:::i;:::-;5540:7;-1:-1:-1;5566:47:138;5609:2;5594:18;;5566:47;:::i;:::-;5556:57;;5632:64;5688:7;5683:2;5672:9;5668:18;5632:64;:::i;:::-;5622:74;;5038:664;;;;;;;:::o;5707:184::-;-1:-1:-1;;;5756:1:138;5749:88;5856:4;5853:1;5846:15;5880:4;5877:1;5870:15;5896:142;5979:1;5972:5;5969:12;5959:46;;5985:18;;:::i;:::-;6014;;5896:142::o;6344:1140::-;6506:4;6548:3;6537:9;6533:19;6525:27;;-1:-1:-1;;;;;6589:6:138;6583:13;6579:62;6568:9;6561:81;6698:4;6690:6;6686:17;6680:24;6673:4;6662:9;6658:20;6651:54;6761:4;6753:6;6749:17;6743:24;6736:4;6725:9;6721:20;6714:54;6824:4;6816:6;6812:17;6806:24;6799:4;6788:9;6784:20;6777:54;6887:4;6879:6;6875:17;6869:24;6862:4;6851:9;6847:20;6840:54;6941:4;6933:6;6929:17;6923:24;6983:1;6969:12;6966:19;6956:53;;6989:18;;:::i;:::-;7047:12;7040:4;7029:9;7025:20;7018:42;;7109:4;7101:6;7097:17;7091:24;7124:65;7183:4;7172:9;7168:20;7152:14;7124:65;:::i;:::-;;7238:4;7230:6;7226:17;7220:24;7253:73;7320:4;7309:9;7305:20;7289:14;6118:12;6106:25;;6043:90;7253:73;-1:-1:-1;7345:6:138;7388:15;;;7382:22;6219:12;;-1:-1:-1;;;;;6215:61:138;7459:18;;;6203:74;6326:4;6315:16;;6309:23;6293:14;;;6286:47;7413:65;6138:201;7489:1170;7668:6;7676;7684;7692;7700;7708;7716;7769:3;7757:9;7748:7;7744:23;7740:33;7737:53;;;7786:1;7783;7776:12;7737:53;7825:9;7812:23;7844:42;7880:5;7844:42;:::i;:::-;7905:5;-1:-1:-1;7962:2:138;7947:18;;7934:32;7975:44;7934:32;7975:44;:::i;:::-;8038:7;-1:-1:-1;8097:2:138;8082:18;;8069:32;8110:44;8069:32;8110:44;:::i;:::-;8173:7;-1:-1:-1;8232:2:138;8217:18;;8204:32;8245:44;8204:32;8245:44;:::i;:::-;8308:7;-1:-1:-1;8367:3:138;8352:19;;8339:33;8381:44;8339:33;8381:44;:::i;:::-;8444:7;-1:-1:-1;8503:3:138;8488:19;;8475:33;8517:43;8475:33;8517:43;:::i;:::-;8579:7;-1:-1:-1;8605:48:138;8648:3;8633:19;;8605:48;:::i;:::-;8595:58;;7489:1170;;;;;;;;;;:::o;8911:385::-;8997:6;9005;9013;9021;9074:3;9062:9;9053:7;9049:23;9045:33;9042:53;;;9091:1;9088;9081:12;9042:53;-1:-1:-1;;9114:23:138;;;9184:2;9169:18;;9156:32;;-1:-1:-1;9235:2:138;9220:18;;9207:32;;9286:2;9271:18;9258:32;;-1:-1:-1;8911:385:138;-1:-1:-1;8911:385:138:o;9301:1307::-;9525:6;9533;9541;9549;9557;9565;9573;9581;9634:3;9622:9;9613:7;9609:23;9605:33;9602:53;;;9651:1;9648;9641:12;9602:53;9690:9;9677:23;9709:42;9745:5;9709:42;:::i;:::-;9770:5;-1:-1:-1;9827:2:138;9812:18;;9799:32;9840:44;9799:32;9840:44;:::i;:::-;9903:7;-1:-1:-1;9962:2:138;9947:18;;9934:32;9975:44;9934:32;9975:44;:::i;:::-;10038:7;-1:-1:-1;10097:2:138;10082:18;;10069:32;10110:44;10069:32;10110:44;:::i;:::-;10173:7;-1:-1:-1;10232:3:138;10217:19;;10204:33;10246:44;10204:33;10246:44;:::i;:::-;10309:7;-1:-1:-1;10368:3:138;10353:19;;10340:33;10382:43;10340:33;10382:43;:::i;:::-;10444:7;-1:-1:-1;10470:48:138;10513:3;10498:19;;10470:48;:::i;:::-;10460:58;;10537:65;10594:7;10588:3;10577:9;10573:19;10537:65;:::i;:::-;10527:75;;9301:1307;;;;;;;;;;;:::o;10613:1032::-;11037:6;11026:9;11019:25;11080:3;11075:2;11064:9;11060:18;11053:31;11121:2;11115:3;11104:9;11100:19;11093:31;11161:16;11155:3;11144:9;11140:19;11133:45;11214:3;11209:2;11198:9;11194:18;11187:31;11261:6;11255:13;11249:3;11238:9;11234:19;11227:42;11000:4;11316:2;11308:6;11304:15;11298:22;11357:2;11351:3;11340:9;11336:19;11329:31;11380:52;11427:3;11416:9;11412:19;11398:12;11380:52;:::i;:::-;11369:63;;-1:-1:-1;;;;;11472:6:138;11468:55;11463:2;11452:9;11448:18;11441:83;11570:9;11565:3;11561:19;11555:3;11544:9;11540:19;11533:48;11598:41;11635:3;11627:6;11598:41;:::i;:::-;11590:49;10613:1032;-1:-1:-1;;;;;;;10613:1032:138:o;11650:184::-;11720:6;11773:2;11761:9;11752:7;11748:23;11744:32;11741:52;;;11789:1;11786;11779:12;11741:52;-1:-1:-1;11812:16:138;;11650:184;-1:-1:-1;11650:184:138:o;11839:437::-;11918:1;11914:12;;;;11961;;;11982:61;;12036:4;12028:6;12024:17;12014:27;;11982:61;12089:2;12081:6;12078:14;12058:18;12055:38;12052:218;;-1:-1:-1;;;12123:1:138;12116:88;12227:4;12224:1;12217:15;12255:4;12252:1;12245:15;12052:218;;11839:437;;;:::o;12281:184::-;-1:-1:-1;;;12330:1:138;12323:88;12430:4;12427:1;12420:15;12454:4;12451:1;12444:15;12470:184;-1:-1:-1;;;12519:1:138;12512:88;12619:4;12616:1;12609:15;12643:4;12640:1;12633:15;12659:168;12732:9;;;12763;;12780:15;;;12774:22;;12760:37;12750:71;;12801:18;;:::i;12832:274::-;12872:1;12898;12888:189;;-1:-1:-1;;;12930:1:138;12923:88;13034:4;13031:1;13024:15;13062:4;13059:1;13052:15;12888:189;-1:-1:-1;13091:9:138;;12832:274::o;13111:128::-;13178:9;;;13199:11;;;13196:37;;;13213:18;;:::i;13244:125::-;13309:9;;;13330:10;;;13327:36;;;13343:18;;:::i;13500:2154::-;13922:6;13911:9;13904:25;13885:4;13948:2;-1:-1:-1;;;;;14059:2:138;14051:6;14047:15;14042:2;14031:9;14027:18;14020:43;14099:3;14094:2;14083:9;14079:18;14072:31;14126:46;14167:3;14156:9;14152:19;14144:6;14126:46;:::i;:::-;14220:2;14212:6;14208:15;14203:2;14192:9;14188:18;14181:43;14261:6;14255:3;14244:9;14240:19;14233:35;14317:9;14309:6;14305:22;14299:3;14288:9;14284:19;14277:51;14358:6;14352:13;14344:6;14337:29;14385:4;14375:14;;14430:2;14422:6;14418:15;14466:2;14461;14453:6;14449:15;14442:27;14489:1;14522:12;14516:19;14558:3;14588:9;14584:2;14580:18;14570:28;;14648:2;14637:9;14633:18;14670;14660:61;;14714:4;14706:6;14702:17;14692:27;;14660:61;14767:2;14759:6;14756:14;14736:18;14733:38;14730:222;;-1:-1:-1;;;14801:3:138;14794:90;14907:4;14904:1;14897:15;14937:4;14932:3;14925:17;14730:222;15020:2;15008:15;;2694:19;;;2737:14;;;14961:71;-1:-1:-1;15048:18:138;15075:128;;;;15217:1;15212:321;;;;15041:492;;15075:128;-1:-1:-1;;15108:24:138;;15096:37;;15176:14;;15169:22;15166:1;15162:30;15153:40;;;-1:-1:-1;15075:128:138;;15212:321;13447:1;13440:14;;;13484:4;13471:18;;15313:1;15327:165;15341:6;15338:1;15335:13;15327:165;;;15419:14;;15406:11;;;15399:35;15462:16;;;;15356:10;;15327:165;;;15512:11;;;-1:-1:-1;;15041:492:138;;;;;15579:9;15574:3;15570:19;15564:3;15553:9;15549:19;15542:48;15607:41;15644:3;15636:6;15607:41;:::i;:::-;15599:49;13500:2154;-1:-1:-1;;;;;;;;;;;;;;13500:2154:138:o;15848:279::-;15936:6;15989:2;15977:9;15968:7;15964:23;15960:32;15957:52;;;16005:1;16002;15995:12;15957:52;16037:9;16031:16;16056:41;16091:5;16056:41;:::i;16132:184::-;-1:-1:-1;;;16181:1:138;16174:88;16281:4;16278:1;16271:15;16305:4;16302:1;16295:15;16678:289;16809:3;16847:6;16841:13;16863:66;16922:6;16917:3;16910:4;16902:6;16898:17;16863:66;:::i;:::-;16945:16;;;;;16678:289;-1:-1:-1;;16678:289:138:o;16972:262::-;17042:6;17095:2;17083:9;17074:7;17070:23;17066:32;17063:52;;;17111:1;17108;17101:12;17063:52;17143:9;17137:16;17162:42;17198:5;17162:42;:::i;17239:340::-;-1:-1:-1;;;;;17420:6:138;17416:55;17405:9;17398:74;17508:2;17503;17492:9;17488:18;17481:30;17379:4;17528:45;17569:2;17558:9;17554:18;17546:6;17528: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\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"sybilOracleScorer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.SybilConfig\",\"name\":\"sybilConfig\",\"type\":\"tuple\"}],\"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/=lib/openzeppelin-contracts/\",\":@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/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\":\"0x3032ef966b217c359e29a9735604ee4e8e6529a9a0632369abdd7a7ae285dbd7\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://788c0a1deb7c53faedadc5efc152107ba22db81aaa9cffa1ba52d1427adfe2be\",\"dweb:/ipfs/QmQGANoMw4kb87y8JGCEgndo888YVDfRKMCepTJ2NVWUmY\"]},\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"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":"struct StrategyStruct.SybilConfig","name":"sybilConfig","type":"tuple","components":[{"internalType":"address","name":"sybilOracleScorer","type":"address"},{"internalType":"uint256","name":"threshold","type":"uint256"}]}]}]},{"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/=lib/openzeppelin-contracts/","@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/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":"0x3032ef966b217c359e29a9735604ee4e8e6529a9a0632369abdd7a7ae285dbd7","urls":["bzz-raw://788c0a1deb7c53faedadc5efc152107ba22db81aaa9cffa1ba52d1427adfe2be","dweb:/ipfs/QmQGANoMw4kb87y8JGCEgndo888YVDfRKMCepTJ2NVWUmY"],"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/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":131} \ 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 6a4566b12..2b293785a 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":"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":"changeListManager","inputs":[{"name":"_newManager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"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":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"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":"setThreshold","inputs":[{"name":"_newThreshold","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"threshold","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"userScores","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"OnlyAuthorized","inputs":[]},{"type":"error","name":"ZeroAddress","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5060405161074738038061074783398101604081905261002f916100e0565b61003833610066565b610041816100b6565b600180546001600160a01b0319166001600160a01b0392909216919091179055610110565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381166100dd5760405163d92e233d60e01b815260040160405180910390fd5b50565b6000602082840312156100f257600080fd5b81516001600160a01b038116811461010957600080fd5b9392505050565b6106288061011f6000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80638da5cb5b11610081578063985751881161005b57806398575188146101a1578063b34e0c47146101b4578063f2fde38b1461022457600080fd5b80638da5cb5b146101565780638df8b2fe1461017b578063960bfe041461018e57600080fd5b806342cde4e8116100b257806342cde4e814610124578063715018a61461013b5780637814d5681461014357600080fd5b80631413d4c0146100ce5780633d4768301461010f575b600080fd5b6100f56100dc36600461051d565b6003602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b61012261011d36600461051d565b610237565b005b61012d60025481565b604051908152602001610106565b610122610277565b61012261015136600461053f565b61028b565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610106565b600154610163906001600160a01b031681565b61012261019c3660046105d9565b6102ff565b6101226101af36600461051d565b61030c565b6102096101c236600461051d565b6040805180820190915260008082526020820152506001600160a01b0316600090815260036020908152604091829020825180840190935280548352600101549082015290565b60408051825181526020928301519281019290925201610106565b61012261023236600461051d565b610375565b61023f61040a565b61024881610464565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b61027f61040a565b61028960006104a4565b565b6000546001600160a01b03163314806102ae57506001546001600160a01b031633145b156102e6576102bc82610464565b6001600160a01b038216600090815260036020908152604090912082518155908201516001909101555b604051637d7b71b560e01b815260040160405180910390fd5b61030761040a565b600255565b6000546001600160a01b031633148061032f57506001546001600160a01b031633145b156102e65761033d81610464565b6001600160a01b038116600090815260036020526040812081815560010155604051637d7b71b560e01b815260040160405180910390fd5b61037d61040a565b6001600160a01b0381166103fe5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610407816104a4565b50565b6000546001600160a01b031633146102895760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103f5565b6001600160a01b038116610407576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b038116811461051857600080fd5b919050565b60006020828403121561052f57600080fd5b61053882610501565b9392505050565b600080828403606081121561055357600080fd5b61055c84610501565b92506040601f198201121561057057600080fd5b506040516040810181811067ffffffffffffffff821117156105bb577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60409081526020858101358352940135938101939093525092909150565b6000602082840312156105eb57600080fd5b503591905056fea26469706673582212200eb349d7e24eb0454d159d9c3bbc53e4fdb05c855a3ec44d78a65ef1a89a0a0c64736f6c63430008130033","sourceMap":"204:1455:112:-:0;;;768:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;936:32:27;719:10:35;936:18:27;:32::i;:::-;822::112::1;841:12:::0;822:18:::1;:32::i;:::-;864:11;:26:::0;;-1:-1:-1;;;;;;864:26:112::1;-1:-1:-1::0;;;;;864:26:112;;;::::1;::::0;;;::::1;::::0;;204:1455;;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;614:148:112:-;-1:-1:-1;;;;;687:22:112;;683:73;;732:13;;-1:-1:-1;;;732:13:112;;;;;;;;;;;683:73;614:148;:::o;14:290:123:-;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:123;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:123:o;:::-;204:1455:112;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100c95760003560e01c80638da5cb5b11610081578063985751881161005b57806398575188146101a1578063b34e0c47146101b4578063f2fde38b1461022457600080fd5b80638da5cb5b146101565780638df8b2fe1461017b578063960bfe041461018e57600080fd5b806342cde4e8116100b257806342cde4e814610124578063715018a61461013b5780637814d5681461014357600080fd5b80631413d4c0146100ce5780633d4768301461010f575b600080fd5b6100f56100dc36600461051d565b6003602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b61012261011d36600461051d565b610237565b005b61012d60025481565b604051908152602001610106565b610122610277565b61012261015136600461053f565b61028b565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610106565b600154610163906001600160a01b031681565b61012261019c3660046105d9565b6102ff565b6101226101af36600461051d565b61030c565b6102096101c236600461051d565b6040805180820190915260008082526020820152506001600160a01b0316600090815260036020908152604091829020825180840190935280548352600101549082015290565b60408051825181526020928301519281019290925201610106565b61012261023236600461051d565b610375565b61023f61040a565b61024881610464565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b61027f61040a565b61028960006104a4565b565b6000546001600160a01b03163314806102ae57506001546001600160a01b031633145b156102e6576102bc82610464565b6001600160a01b038216600090815260036020908152604090912082518155908201516001909101555b604051637d7b71b560e01b815260040160405180910390fd5b61030761040a565b600255565b6000546001600160a01b031633148061032f57506001546001600160a01b031633145b156102e65761033d81610464565b6001600160a01b038116600090815260036020526040812081815560010155604051637d7b71b560e01b815260040160405180910390fd5b61037d61040a565b6001600160a01b0381166103fe5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610407816104a4565b50565b6000546001600160a01b031633146102895760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103f5565b6001600160a01b038116610407576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b038116811461051857600080fd5b919050565b60006020828403121561052f57600080fd5b61053882610501565b9392505050565b600080828403606081121561055357600080fd5b61055c84610501565b92506040601f198201121561057057600080fd5b506040516040810181811067ffffffffffffffff821117156105bb577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60409081526020858101358352940135938101939093525092909150565b6000602082840312156105eb57600080fd5b503591905056fea26469706673582212200eb349d7e24eb0454d159d9c3bbc53e4fdb05c855a3ec44d78a65ef1a89a0a0c64736f6c63430008130033","sourceMap":"204:1455:112:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;322:68;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;580:25:123;;;636:2;621:18;;614:34;;;;553:18;322:68:112;;;;;;;;1249:159;;;;;;:::i;:::-;;:::i;:::-;;291:24;;;;;;;;;805:25:123;;;793:2;778:18;291:24:112;659:177:123;1824:101:27;;;:::i;903:190:112:-;;;;;;:::i;:::-;;:::i;1201:85:27:-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:27;1201:85;;;-1:-1:-1;;;;;1833:55:123;;;1815:74;;1803:2;1788:18;1201:85:27;1669:226:123;259:26:112;;;;;-1:-1:-1;;;;;259:26:112;;;1414:115;;;;;;:::i;:::-;;:::i;1099:144::-;;;;;;:::i;:::-;;:::i;1535:122::-;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;1633:17:112;;;;;:10;:17;;;;;;;;;1626:24;;;;;;;;;;;;;;;;;;;;1535:122;;;;;2311:13:123;;2293:32;;2381:4;2369:17;;;2363:24;2341:20;;;2334:54;;;;2266:18;1535:122:112;2085:309:123;2074:198:27;;;;;;:::i;:::-;;:::i;1249:159:112:-;1094:13:27;:11;:13::i;:::-;1335:31:112::1;1354:11;1335:18;:31::i;:::-;1376:11;:25:::0;;-1:-1:-1;;1376:25:112::1;-1:-1:-1::0;;;;;1376:25:112;;;::::1;::::0;;;::::1;::::0;;1249:159::o;1824:101:27:-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;903:190:112:-;1247:7:27;1273:6;-1:-1:-1;;;;;1273:6:27;491:10:112;:21;;:50;;-1:-1:-1;530:11:112;;-1:-1:-1;;;;;530:11:112;516:10;:25;491:50;487:82;;;1018:25:::1;1037:5;1018:18;:25::i;:::-;-1:-1:-1::0;;;;;1053:17:112;::::1;;::::0;;;:10:::1;:17;::::0;;;;;;;:33;;;;;;::::1;::::0;::::1;::::0;;::::1;::::0;487:82;585:16;;-1:-1:-1;;;585:16:112;;;;;;;;;;;1414:115;1094:13:27;:11;:13::i;:::-;1497:9:112::1;:25:::0;1414:115::o;1099:144::-;1247:7:27;1273:6;-1:-1:-1;;;;;1273:6:27;491:10:112;:21;;:50;;-1:-1:-1;530:11:112;;-1:-1:-1;;;;;530:11:112;516:10;:25;491:50;487:82;;;1177:25:::1;1196:5;1177:18;:25::i;:::-;-1:-1:-1::0;;;;;1219:17:112;::::1;;::::0;;;:10:::1;:17;::::0;;;;1212:24;;;::::1;;::::0;585:16;;-1:-1:-1;;;585:16:112;;;;;;;;;;;2074:198:27;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:27;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:27;;2601:2:123;2154:73:27::1;::::0;::::1;2583:21:123::0;2640:2;2620:18;;;2613:30;2679:34;2659:18;;;2652:62;2750:8;2730:18;;;2723:36;2776:19;;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;;3008:2:123;1414:68:27;;;2990:21:123;;;3027:18;;;3020:30;3086:34;3066:18;;;3059:62;3138:18;;1414:68:27;2806:356:123;614:148:112;-1:-1:-1;;;;;687:22:112;;683:73;;732:13;;;;;;;;;;;;;;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;14:196:123:-;82:20;;-1:-1:-1;;;;;131:54:123;;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:123:o;841:823::-;940:6;948;992:9;983:7;979:23;1022:2;1018;1014:11;1011:31;;;1038:1;1035;1028:12;1011:31;1061:29;1080:9;1061:29;:::i;:::-;1051:39;-1:-1:-1;1124:4:123;-1:-1:-1;;1106:16:123;;1102:27;1099:47;;;1142:1;1139;1132:12;1099:47;;1175:4;1169:11;1219:4;1211:6;1207:17;1290:6;1278:10;1275:22;1254:18;1242:10;1239:34;1236:62;1233:242;;;1331:77;1328:1;1321:88;1432:4;1429:1;1422:15;1460:4;1457:1;1450:15;1233:242;1491:4;1484:24;;;1560:2;1545:18;;;1532:32;1517:48;;1611:20;;1598:34;1581:15;;;1574:59;;;;-1:-1:-1;841:823:123;1524:6;;-1:-1:-1;841:823:123:o;1900:180::-;1959:6;2012:2;2000:9;1991:7;1987:23;1983:32;1980:52;;;2028:1;2025;2018:12;1980:52;-1:-1:-1;2051:23:123;;1900:180;-1:-1:-1;1900:180:123:o","linkReferences":{}},"methodIdentifiers":{"addUserScore(address,(uint256,uint256))":"7814d568","changeListManager(address)":"3d476830","getUserScore(address)":"b34e0c47","listManager()":"8df8b2fe","owner()":"8da5cb5b","removeUser(address)":"98575188","renounceOwnership()":"715018a6","setThreshold(uint256)":"960bfe04","threshold()":"42cde4e8","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\":\"ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"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\":\"_newManager\",\"type\":\"address\"}],\"name\":\"changeListManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"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\":\"uint256\",\"name\":\"_newThreshold\",\"type\":\"uint256\"}],\"name\":\"setThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"threshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"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\":{\"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/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/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/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"pkg/contracts/src/ISybilScorer.sol\":{\"keccak256\":\"0x37fa5f3c7577a089d233fc7c68cafe38c3db666c0b94ab639d12d235fa740199\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9b92c92abd3a03f68913e3733b5e5922c30762a5d5f435c9dbce8f51d37fcf5\",\"dweb:/ipfs/QmSodKW68voeW9EMX1uoozVuvXD5ciFZ4iuqXvZLWQJH2x\"]},\"pkg/contracts/src/PassportScorer.sol\":{\"keccak256\":\"0xf8682dca242abff1d7672d98a80ba08de542f3ec96128588022a74f9d282322d\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://62e64ed5ce8938222fe3e81a57bc9372dd96fc1ed09c7194a0580e3363c7cc1b\",\"dweb:/ipfs/QmSZfs4oFjRfQZ1XVQsHgYLU4FTBBTK4tKopE76FCnXSAx\"]}},\"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":"ZeroAddress"},{"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":"_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":"_newManager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"changeListManager"},{"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":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeUser"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_newThreshold","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setThreshold"},{"inputs":[],"stateMutability":"view","type":"function","name":"threshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"user","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":{"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/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/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"pkg/contracts/src/ISybilScorer.sol":{"keccak256":"0x37fa5f3c7577a089d233fc7c68cafe38c3db666c0b94ab639d12d235fa740199","urls":["bzz-raw://a9b92c92abd3a03f68913e3733b5e5922c30762a5d5f435c9dbce8f51d37fcf5","dweb:/ipfs/QmSodKW68voeW9EMX1uoozVuvXD5ciFZ4iuqXvZLWQJH2x"],"license":"MIT"},"pkg/contracts/src/PassportScorer.sol":{"keccak256":"0xf8682dca242abff1d7672d98a80ba08de542f3ec96128588022a74f9d282322d","urls":["bzz-raw://62e64ed5ce8938222fe3e81a57bc9372dd96fc1ed09c7194a0580e3363c7cc1b","dweb:/ipfs/QmSZfs4oFjRfQZ1XVQsHgYLU4FTBBTK4tKopE76FCnXSAx"],"license":"AGPL-3.0-or-later"}},"version":1},"id":112} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"_listManager","type":"address","internalType":"address"}],"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":"changeListManager","inputs":[{"name":"_newManager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"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":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"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":"threshold","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"userScores","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"score","type":"uint256","internalType":"uint256"},{"name":"lastUpdated","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"OnlyAuthorized","inputs":[]},{"type":"error","name":"ZeroAddress","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5060405161070638038061070683398101604081905261002f916100e0565b61003833610066565b610041816100b6565b600180546001600160a01b0319166001600160a01b0392909216919091179055610110565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381166100dd5760405163d92e233d60e01b815260040160405180910390fd5b50565b6000602082840312156100f257600080fd5b81516001600160a01b038116811461010957600080fd5b9392505050565b6105e78061011f6000396000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c80638da5cb5b11610076578063985751881161005b5780639857518814610183578063b34e0c4714610196578063f2fde38b1461020657600080fd5b80638da5cb5b1461014b5780638df8b2fe1461017057600080fd5b806342cde4e8116100a757806342cde4e814610119578063715018a6146101305780637814d5681461013857600080fd5b80631413d4c0146100c35780633d47683014610104575b600080fd5b6100ea6100d13660046104f5565b6003602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b6101176101123660046104f5565b610219565b005b61012260025481565b6040519081526020016100fb565b610117610259565b610117610146366004610517565b61026d565b6000546001600160a01b03165b6040516001600160a01b0390911681526020016100fb565b600154610158906001600160a01b031681565b6101176101913660046104f5565b6102fc565b6101eb6101a43660046104f5565b6040805180820190915260008082526020820152506001600160a01b0316600090815260036020908152604091829020825180840190935280548352600101549082015290565b604080518251815260209283015192810192909252016100fb565b6101176102143660046104f5565b610350565b6102216103e2565b61022a8161043c565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6102616103e2565b61026b600061047c565b565b6000546001600160a01b031633148061029057506001546001600160a01b031633145b156102ca5761029e8261043c565b6001600160a01b0391909116600090815260036020908152604090912082518155910151600190910155565b6040517f7d7b71b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546001600160a01b031633148061031f57506001546001600160a01b031633145b156102ca5761032d8161043c565b6001600160a01b0316600090815260036020526040812081815560010155565b50565b6103586103e2565b6001600160a01b0381166103d95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61034d8161047c565b6000546001600160a01b0316331461026b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103d0565b6001600160a01b03811661034d576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b03811681146104f057600080fd5b919050565b60006020828403121561050757600080fd5b610510826104d9565b9392505050565b600080828403606081121561052b57600080fd5b610534846104d9565b92506040601f198201121561054857600080fd5b506040516040810181811067ffffffffffffffff82111715610593577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040908152602085810135835294013593810193909352509290915056fea2646970667358221220878fe9fef46ebd280c82e20f36ec9a298c265ad4de45b6cbe79c424a24ec20b864736f6c63430008130033","sourceMap":"213:1355:102:-:0;;;798:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;936:32:70;734:10:76;936:18:70;:32::i;:::-;852::102::1;871:12:::0;852:18:::1;:32::i;:::-;894:11;:26:::0;;-1:-1:-1;;;;;;894:26:102::1;-1:-1:-1::0;;;;;894:26:102;;;::::1;::::0;;;::::1;::::0;;213:1355;;2426:187:70;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:70;;;-1:-1:-1;;;;;;2534:17:70;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;644:148:102:-;-1:-1:-1;;;;;717:22:102;;713:73;;762:13;;-1:-1:-1;;;762:13:102;;;;;;;;;;;713:73;644:148;:::o;14:290:108:-;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:108;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:108:o;:::-;213:1355:102;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100be5760003560e01c80638da5cb5b11610076578063985751881161005b5780639857518814610183578063b34e0c4714610196578063f2fde38b1461020657600080fd5b80638da5cb5b1461014b5780638df8b2fe1461017057600080fd5b806342cde4e8116100a757806342cde4e814610119578063715018a6146101305780637814d5681461013857600080fd5b80631413d4c0146100c35780633d47683014610104575b600080fd5b6100ea6100d13660046104f5565b6003602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b6101176101123660046104f5565b610219565b005b61012260025481565b6040519081526020016100fb565b610117610259565b610117610146366004610517565b61026d565b6000546001600160a01b03165b6040516001600160a01b0390911681526020016100fb565b600154610158906001600160a01b031681565b6101176101913660046104f5565b6102fc565b6101eb6101a43660046104f5565b6040805180820190915260008082526020820152506001600160a01b0316600090815260036020908152604091829020825180840190935280548352600101549082015290565b604080518251815260209283015192810192909252016100fb565b6101176102143660046104f5565b610350565b6102216103e2565b61022a8161043c565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6102616103e2565b61026b600061047c565b565b6000546001600160a01b031633148061029057506001546001600160a01b031633145b156102ca5761029e8261043c565b6001600160a01b0391909116600090815260036020908152604090912082518155910151600190910155565b6040517f7d7b71b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546001600160a01b031633148061031f57506001546001600160a01b031633145b156102ca5761032d8161043c565b6001600160a01b0316600090815260036020526040812081815560010155565b50565b6103586103e2565b6001600160a01b0381166103d95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61034d8161047c565b6000546001600160a01b0316331461026b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103d0565b6001600160a01b03811661034d576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b03811681146104f057600080fd5b919050565b60006020828403121561050757600080fd5b610510826104d9565b9392505050565b600080828403606081121561052b57600080fd5b610534846104d9565b92506040601f198201121561054857600080fd5b506040516040810181811067ffffffffffffffff82111715610593577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040908152602085810135835294013593810193909352509290915056fea2646970667358221220878fe9fef46ebd280c82e20f36ec9a298c265ad4de45b6cbe79c424a24ec20b864736f6c63430008130033","sourceMap":"213:1355:102:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;331:68;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;580:25:108;;;636:2;621:18;;614:34;;;;553:18;331:68:102;;;;;;;;1279:159;;;;;;:::i;:::-;;:::i;:::-;;300:24;;;;;;;;;805:25:108;;;793:2;778:18;300:24:102;659:177:108;1824:101:70;;;:::i;933:190:102:-;;;;;;:::i;:::-;;:::i;1201:85:70:-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:70;1201:85;;;-1:-1:-1;;;;;1833:55:108;;;1815:74;;1803:2;1788:18;1201:85:70;1669:226:108;268:26:102;;;;;-1:-1:-1;;;;;268:26:102;;;1129:144;;;;;;:::i;:::-;;:::i;1444:122::-;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;1542:17:102;;;;;:10;:17;;;;;;;;;1535:24;;;;;;;;;;;;;;;;;;;;1444:122;;;;;2126:13:108;;2108:32;;2196:4;2184:17;;;2178:24;2156:20;;;2149:54;;;;2081:18;1444:122:102;1900:309:108;2074:198:70;;;;;;:::i;:::-;;:::i;1279:159:102:-;1094:13:70;:11;:13::i;:::-;1365:31:102::1;1384:11;1365:18;:31::i;:::-;1406:11;:25:::0;;-1:-1:-1;;1406:25:102::1;-1:-1:-1::0;;;;;1406:25:102;;;::::1;::::0;;;::::1;::::0;;1279:159::o;1824:101:70:-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;933:190:102:-;1247:7:70;1273:6;-1:-1:-1;;;;;1273:6:70;500:10:102;:21;;:50;;-1:-1:-1;539:11:102;;-1:-1:-1;;;;;539:11:102;525:10;:25;500:50;496:136;;;1048:25:::1;1067:5;1048:18;:25::i;:::-;-1:-1:-1::0;;;;;1083:17:102;;;::::1;;::::0;;;:10:::1;:17;::::0;;;;;;;:33;;;;;::::1;::::0;::::1;::::0;;::::1;::::0;933:190::o;496:136::-;605:16;;;;;;;;;;;;;;1129:144;1247:7:70;1273:6;-1:-1:-1;;;;;1273:6:70;500:10:102;:21;;:50;;-1:-1:-1;539:11:102;;-1:-1:-1;;;;;539:11:102;525:10;:25;500:50;496:136;;;1207:25:::1;1226:5;1207:18;:25::i;:::-;-1:-1:-1::0;;;;;1249:17:102::1;;::::0;;;:10:::1;:17;::::0;;;;1242:24;;;::::1;;::::0;1129:144::o;496:136::-;1129:144;:::o;2074:198:70:-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:70;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:70;;2416:2:108;2154:73:70::1;::::0;::::1;2398:21:108::0;2455:2;2435:18;;;2428:30;2494:34;2474:18;;;2467:62;2565:8;2545:18;;;2538:36;2591:19;;2154:73:70::1;;;;;;;;;2237:28;2256:8;2237:18;:28::i;1359:130::-:0;1247:7;1273:6;-1:-1:-1;;;;;1273:6:70;734:10:76;1422:23:70;1414:68;;;;-1:-1:-1;;;1414:68:70;;2823:2:108;1414:68:70;;;2805:21:108;;;2842:18;;;2835:30;2901:34;2881:18;;;2874:62;2953:18;;1414:68:70;2621:356:108;644:148:102;-1:-1:-1;;;;;717:22:102;;713:73;;762:13;;;;;;;;;;;;;;2426:187:70;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:70;;;-1:-1:-1;;2534:17:70;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;14:196:108:-;82:20;;-1:-1:-1;;;;;131:54:108;;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:108:o;841:823::-;940:6;948;992:9;983:7;979:23;1022:2;1018;1014:11;1011:31;;;1038:1;1035;1028:12;1011:31;1061:29;1080:9;1061:29;:::i;:::-;1051:39;-1:-1:-1;1124:4:108;-1:-1:-1;;1106:16:108;;1102:27;1099:47;;;1142:1;1139;1132:12;1099:47;;1175:4;1169:11;1219:4;1211:6;1207:17;1290:6;1278:10;1275:22;1254:18;1242:10;1239:34;1236:62;1233:242;;;1331:77;1328:1;1321:88;1432:4;1429:1;1422:15;1460:4;1457:1;1450:15;1233:242;1491:4;1484:24;;;1560:2;1545:18;;;1532:32;1517:48;;1611:20;;1598:34;1581:15;;;1574:59;;;;-1:-1:-1;841:823:108;1524:6;;-1:-1:-1;841:823:108:o","linkReferences":{}},"methodIdentifiers":{"addUserScore(address,(uint256,uint256))":"7814d568","changeListManager(address)":"3d476830","getUserScore(address)":"b34e0c47","listManager()":"8df8b2fe","owner()":"8da5cb5b","removeUser(address)":"98575188","renounceOwnership()":"715018a6","threshold()":"42cde4e8","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\":\"ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"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\":\"_newManager\",\"type\":\"address\"}],\"name\":\"changeListManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"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\":[],\"name\":\"threshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"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\":{\"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/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\":\"0x87f1ccfd2948849a68a45d5d3c415b85428ed7a092cb28747aba8404c66d4c46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a09b6050de2bee78ceba01f316cd10c1a17e229b8a3933772151d0b4ce27c62c\",\"dweb:/ipfs/QmRPNbNB2tJQsdPNDkh5cLv2DKFiRPJSfK9gwTj2FK3Swe\"]},\"pkg/contracts/src/PassportScorer.sol\":{\"keccak256\":\"0xfa67b9f42100abb3776a90cd3319b9c26d54dad46c832f0e44cdb8e917636479\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://d4ccff3e488b9936ba1edb91ef035cd917fb49fbd558540259e3ae19fe99dae3\",\"dweb:/ipfs/QmU846ePGkdRP3aYNDJpeYNHU7XSwkQvFxZXK2m73fATtj\"]}},\"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":"ZeroAddress"},{"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":"_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":"_newManager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"changeListManager"},{"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":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeUser"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"threshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"user","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":{"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/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":"0x87f1ccfd2948849a68a45d5d3c415b85428ed7a092cb28747aba8404c66d4c46","urls":["bzz-raw://a09b6050de2bee78ceba01f316cd10c1a17e229b8a3933772151d0b4ce27c62c","dweb:/ipfs/QmRPNbNB2tJQsdPNDkh5cLv2DKFiRPJSfK9gwTj2FK3Swe"],"license":"MIT"},"pkg/contracts/src/PassportScorer.sol":{"keccak256":"0xfa67b9f42100abb3776a90cd3319b9c26d54dad46c832f0e44cdb8e917636479","urls":["bzz-raw://d4ccff3e488b9936ba1edb91ef035cd917fb49fbd558540259e3ae19fe99dae3","dweb:/ipfs/QmU846ePGkdRP3aYNDJpeYNHU7XSwkQvFxZXK2m73fATtj"],"license":"AGPL-3.0-or-later"}},"version":1},"id":102} \ 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 2a17b9a88..857334ded 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":"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":"setEnableGasLog","inputs":[{"name":"enable","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"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":"function","name":"testFuzz_increasePowerCapped","inputs":[{"name":"tokenAmount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_revertGetProtocolFee","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_stakeAndRegisterMember","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"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},{"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":"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":"0x600c8054600160ff199182168117909255601e805482168317905560209190915560218054909116905560c0604052600560809081526437bbb732b960d91b60a0526200004c9062000086565b602160016101000a8154816001600160a01b0302191690836001600160a01b031602179055503480156200007f57600080fd5b5062000273565b600062000093826200009a565b5092915050565b60008082604051602001620000b09190620001df565b60408051808303601f190181529082905280516020909101206001625e79b760e01b03198252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156200011c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001429190620001fd565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c718906200018090859087906004016200022f565b600060405180830381600087803b1580156200019b57600080fd5b505af1158015620001b0573d6000803e3d6000fd5b50505050915091565b60005b83811015620001d6578181015183820152602001620001bc565b50506000910152565b60008251620001f3818460208701620001b9565b9190910192915050565b6000602082840312156200021057600080fd5b81516001600160a01b03811681146200022857600080fd5b9392505050565b60018060a01b038316815260406020820152600082518060408401526200025e816060850160208701620001b9565b601f01601f1916919091016060019392505050565b61143780620002836000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80635e8f4ff811610097578063b5508aa911610066578063b5508aa9146101c8578063ba414fa6146101d0578063e20c9f71146101e8578063fa7626d4146101f057600080fd5b80635e8f4ff81461018357806366d9a9a01461019657806385226c81146101ab578063916a17c6146101c057600080fd5b80632d0e6731116100d35780632d0e67311461014a5780633e5e3c231461016b5780633f7286f4146101735780635d53949a1461017b57600080fd5b80630354ae60146101055780630a9254e41461010f5780631ed7831c146101175780632ade388014610135575b600080fd5b61010d6101fd565b005b61010d610245565b61011f610332565b60405161012c9190610eb7565b60405180910390f35b61013d610394565b60405161012c9190610f4a565b61010d61015836600461100a565b6021805460ff1916911515919091179055565b61011f6104d6565b61011f610536565b61010d610596565b61010d610191366004611033565b6106c7565b61019e6108bc565b60405161012c919061104c565b6101b36109b7565b60405161012c9190611117565b61019e610a87565b6101b3610b82565b6101d8610c52565b604051901515815260200161012c565b61011f610d26565b601e546101d89060ff1681565b61023b6040518060400160405280600e81526020017f63726561746550726f706f73616c000000000000000000000000000000000000815250610d86565b610243610da5565b565b6021546040516303223eab60e11b81526101009091046001600160a01b03166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d5690602401600060405180830381600087803b1580156102a257600080fd5b505af11580156102b6573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561031857600080fd5b505af115801561032c573d6000803e3d6000fd5b50505050565b6060601680548060200260200160405190810160405280929190818152602001828054801561038a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161036c575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b828210156104cd57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156104b657838290600052602060002001805461042990611179565b80601f016020809104026020016040519081016040528092919081815260200182805461045590611179565b80156104a25780601f10610477576101008083540402835291602001916104a2565b820191906000526020600020905b81548152906001019060200180831161048557829003601f168201915b50505050508152602001906001019061040a565b5050505081525050815260200190600101906103b8565b50505050905090565b6060601880548060200260200160405190810160405280929190818152602001828054801561038a576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161036c575050505050905090565b6060601780548060200260200160405190810160405280929190818152602001828054801561038a576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161036c575050505050905090565b6105d46040518060400160405280601481526020017f53657474696e672070726f746f636f6c20666565000000000000000000000000815250610d86565b6021546040516303223eab60e11b81526101009091046001600160a01b03166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d5690602401600060405180830381600087803b15801561063157600080fd5b505af1158015610645573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156106a757600080fd5b505af11580156106bb573d6000803e3d6000fd5b50505050610243610da5565b604051632631f2b160e11b815281156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e5629060240160006040518083038186803b15801561071257600080fd5b505afa158015610726573d6000803e3d6000fd5b5050604051632631f2b160e11b815260016004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e562915060240160006040518083038186803b15801561077557600080fd5b505afa158015610789573d6000803e3d6000fd5b50506021546040516303223eab60e11b81526101009091046001600160a01b03166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150602401600060405180830381600087803b1580156107ea57600080fd5b505af11580156107fe573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561086057600080fd5b505af1158015610874573d6000803e3d6000fd5b505050506108b96001806040518060400160405280600c81526020017f506f77657220746f203230300000000000000000000000000000000000000000815250610e2e565b50565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156104cd5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561099f57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841161094c5790505b505050505081525050815260200190600101906108e0565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156104cd5783829060005260206000200180546109fa90611179565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2690611179565b8015610a735780601f10610a4857610100808354040283529160200191610a73565b820191906000526020600020905b815481529060010190602001808311610a5657829003601f168201915b5050505050815260200190600101906109db565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156104cd5760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610b6a57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610b175790505b50505050508152505081526020019060010190610aab565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156104cd578382906000526020600020018054610bc590611179565b80601f0160208091040260200160405190810160405280929190818152602001828054610bf190611179565b8015610c3e5780601f10610c1357610100808354040283529160200191610c3e565b820191906000526020600020905b815481529060010190602001808311610c2157829003601f168201915b505050505081526020019060010190610ba6565b60085460009060ff1615610c6a575060085460ff1690565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c65640000000000000000000000000000000000000000000000000000602483015260009163667f9d7090604401602060405180830381865afa158015610cfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1f91906111b3565b1415905090565b6060601580548060200260200160405190810160405280929190818152602001828054801561038a576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161036c575050505050905090565b60215460ff16156108b957601f610d9d8282611231565b505a60205550565b60215460ff16156102435760005a90506000606482602054610dc791906112f1565b610dd191906112f1565b90507fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8601f604051602001610e069190611318565b60408051601f1981840301815290829052610e229184906113b3565b60405180910390a15050565b6040517f4db19e7e000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634db19e7e90610e82908690869086906004016113d5565b60006040518083038186803b158015610e9a57600080fd5b505afa158015610eae573d6000803e3d6000fd5b50505050505050565b6020808252825182820181905260009190848201906040850190845b81811015610ef85783516001600160a01b031683529284019291840191600101610ed3565b50909695505050505050565b6000815180845260005b81811015610f2a57602081850181015186830182015201610f0e565b506000602082860101526020601f19601f83011685010191505092915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b85811015610ffa57603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b81811015610fe457605f19898503018352610fd2848651610f04565b948e01949350918d0191600101610fb6565b505050978a019794505091880191600101610f71565b50919a9950505050505050505050565b60006020828403121561101c57600080fd5b8135801515811461102c57600080fd5b9392505050565b60006020828403121561104557600080fd5b5035919050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561110857898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156110f35783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b01906110b1565b50978a01979550505091870191600101611074565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561116c57603f1988860301845261115a858351610f04565b9450928501929085019060010161113e565b5092979650505050505050565b600181811c9082168061118d57607f821691505b6020821081036111ad57634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156111c557600080fd5b5051919050565b634e487b7160e01b600052604160045260246000fd5b601f82111561122c57600081815260208120601f850160051c810160208610156112095750805b601f850160051c820191505b8181101561122857828155600101611215565b5050505b505050565b815167ffffffffffffffff81111561124b5761124b6111cc565b61125f816112598454611179565b846111e2565b602080601f831160018114611294576000841561127c5750858301515b600019600386901b1c1916600185901b178555611228565b600085815260208120601f198616915b828110156112c3578886015182559484019460019091019084016112a4565b50858210156112e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8181038181111561131257634e487b7160e01b600052601160045260246000fd5b92915050565b600080835461132681611179565b6001828116801561133e576001811461135357611382565b60ff1984168752821515830287019450611382565b8760005260208060002060005b858110156113795781548a820152908401908201611360565b50505082870194505b50507f2047617300000000000000000000000000000000000000000000000000000000835250506004019392505050565b6040815260006113c66040830185610f04565b90508260208301529392505050565b831515815282151560208201526060604082015260006113f86060830184610f04565b9594505050505056fea2646970667358221220da3438af78bc27ef04e1c98bddebc5dc488df33e20c0b79fcd77ab0f03747c6b64736f6c63430008130033","sourceMap":"3126:44:54:-:0;;;3166:4;-1:-1:-1;;3126:44:54;;;;;;;;1016:26:64;;;;;;;;;158:37:120;;;;;226:34;;;;;;;;472:17:118;393:1018;472:17;;393:1018;472:17;;;-1:-1:-1;;;472:17:118;;;;:8;:17::i;:::-;456:33;;;;;;;-1:-1:-1;;;;;456:33:118;;;;;-1:-1:-1;;;;;456:33:118;;;;;;393:1018;;;;;;;;;;;;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;;;;-1:-1:-1;;;;;;20344:19:55;;;;;709:25:123;;;20293:33:55;-1:-1:-1;20344:7:55;;;;682:18:123;;20344:19:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:55;;20337:26;;-1:-1:-1;20373:8:55;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;14:250:123:-;99:1;109:113;123:6;120:1;117:13;109:113;;;199:11;;;193:18;180:11;;;173:39;145:2;138:10;109:113;;;-1:-1:-1;;256:1:123;238:16;;231:27;14:250::o;269:289::-;400:3;438:6;432:13;454:66;513:6;508:3;501:4;493:6;489:17;454:66;:::i;:::-;536:16;;;;;269:289;-1:-1:-1;;269:289:123:o;745:290::-;815:6;868:2;856:9;847:7;843:23;839:32;836:52;;;884:1;881;874:12;836:52;910:16;;-1:-1:-1;;;;;955:31:123;;945:42;;935:70;;1001:1;998;991:12;935:70;1024:5;745:290;-1:-1:-1;;;745:290:123:o;1040:493::-;1246:1;1242;1237:3;1233:11;1229:19;1221:6;1217:32;1206:9;1199:51;1286:2;1281;1270:9;1266:18;1259:30;1180:4;1318:6;1312:13;1361:6;1356:2;1345:9;1341:18;1334:34;1377:79;1449:6;1444:2;1433:9;1429:18;1424:2;1416:6;1412:15;1377:79;:::i;:::-;1517:2;1496:15;-1:-1:-1;;1492:29:123;1477:45;;;;1524:2;1473:54;;1040:493;-1:-1:-1;;;1040:493:123:o;:::-;393:1018:118;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101005760003560e01c80635e8f4ff811610097578063b5508aa911610066578063b5508aa9146101c8578063ba414fa6146101d0578063e20c9f71146101e8578063fa7626d4146101f057600080fd5b80635e8f4ff81461018357806366d9a9a01461019657806385226c81146101ab578063916a17c6146101c057600080fd5b80632d0e6731116100d35780632d0e67311461014a5780633e5e3c231461016b5780633f7286f4146101735780635d53949a1461017b57600080fd5b80630354ae60146101055780630a9254e41461010f5780631ed7831c146101175780632ade388014610135575b600080fd5b61010d6101fd565b005b61010d610245565b61011f610332565b60405161012c9190610eb7565b60405180910390f35b61013d610394565b60405161012c9190610f4a565b61010d61015836600461100a565b6021805460ff1916911515919091179055565b61011f6104d6565b61011f610536565b61010d610596565b61010d610191366004611033565b6106c7565b61019e6108bc565b60405161012c919061104c565b6101b36109b7565b60405161012c9190611117565b61019e610a87565b6101b3610b82565b6101d8610c52565b604051901515815260200161012c565b61011f610d26565b601e546101d89060ff1681565b61023b6040518060400160405280600e81526020017f63726561746550726f706f73616c000000000000000000000000000000000000815250610d86565b610243610da5565b565b6021546040516303223eab60e11b81526101009091046001600160a01b03166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d5690602401600060405180830381600087803b1580156102a257600080fd5b505af11580156102b6573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561031857600080fd5b505af115801561032c573d6000803e3d6000fd5b50505050565b6060601680548060200260200160405190810160405280929190818152602001828054801561038a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161036c575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b828210156104cd57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156104b657838290600052602060002001805461042990611179565b80601f016020809104026020016040519081016040528092919081815260200182805461045590611179565b80156104a25780601f10610477576101008083540402835291602001916104a2565b820191906000526020600020905b81548152906001019060200180831161048557829003601f168201915b50505050508152602001906001019061040a565b5050505081525050815260200190600101906103b8565b50505050905090565b6060601880548060200260200160405190810160405280929190818152602001828054801561038a576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161036c575050505050905090565b6060601780548060200260200160405190810160405280929190818152602001828054801561038a576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161036c575050505050905090565b6105d46040518060400160405280601481526020017f53657474696e672070726f746f636f6c20666565000000000000000000000000815250610d86565b6021546040516303223eab60e11b81526101009091046001600160a01b03166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d5690602401600060405180830381600087803b15801561063157600080fd5b505af1158015610645573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156106a757600080fd5b505af11580156106bb573d6000803e3d6000fd5b50505050610243610da5565b604051632631f2b160e11b815281156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e5629060240160006040518083038186803b15801561071257600080fd5b505afa158015610726573d6000803e3d6000fd5b5050604051632631f2b160e11b815260016004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e562915060240160006040518083038186803b15801561077557600080fd5b505afa158015610789573d6000803e3d6000fd5b50506021546040516303223eab60e11b81526101009091046001600160a01b03166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150602401600060405180830381600087803b1580156107ea57600080fd5b505af11580156107fe573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561086057600080fd5b505af1158015610874573d6000803e3d6000fd5b505050506108b96001806040518060400160405280600c81526020017f506f77657220746f203230300000000000000000000000000000000000000000815250610e2e565b50565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156104cd5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561099f57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841161094c5790505b505050505081525050815260200190600101906108e0565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156104cd5783829060005260206000200180546109fa90611179565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2690611179565b8015610a735780601f10610a4857610100808354040283529160200191610a73565b820191906000526020600020905b815481529060010190602001808311610a5657829003601f168201915b5050505050815260200190600101906109db565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156104cd5760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610b6a57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610b175790505b50505050508152505081526020019060010190610aab565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156104cd578382906000526020600020018054610bc590611179565b80601f0160208091040260200160405190810160405280929190818152602001828054610bf190611179565b8015610c3e5780601f10610c1357610100808354040283529160200191610c3e565b820191906000526020600020905b815481529060010190602001808311610c2157829003601f168201915b505050505081526020019060010190610ba6565b60085460009060ff1615610c6a575060085460ff1690565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c65640000000000000000000000000000000000000000000000000000602483015260009163667f9d7090604401602060405180830381865afa158015610cfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1f91906111b3565b1415905090565b6060601580548060200260200160405190810160405280929190818152602001828054801561038a576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161036c575050505050905090565b60215460ff16156108b957601f610d9d8282611231565b505a60205550565b60215460ff16156102435760005a90506000606482602054610dc791906112f1565b610dd191906112f1565b90507fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8601f604051602001610e069190611318565b60408051601f1981840301815290829052610e229184906113b3565b60405180910390a15050565b6040517f4db19e7e000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634db19e7e90610e82908690869086906004016113d5565b60006040518083038186803b158015610e9a57600080fd5b505afa158015610eae573d6000803e3d6000fd5b50505050505050565b6020808252825182820181905260009190848201906040850190845b81811015610ef85783516001600160a01b031683529284019291840191600101610ed3565b50909695505050505050565b6000815180845260005b81811015610f2a57602081850181015186830182015201610f0e565b506000602082860101526020601f19601f83011685010191505092915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b85811015610ffa57603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b81811015610fe457605f19898503018352610fd2848651610f04565b948e01949350918d0191600101610fb6565b505050978a019794505091880191600101610f71565b50919a9950505050505050505050565b60006020828403121561101c57600080fd5b8135801515811461102c57600080fd5b9392505050565b60006020828403121561104557600080fd5b5035919050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561110857898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156110f35783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b01906110b1565b50978a01979550505091870191600101611074565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561116c57603f1988860301845261115a858351610f04565b9450928501929085019060010161113e565b5092979650505050505050565b600181811c9082168061118d57607f821691505b6020821081036111ad57634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156111c557600080fd5b5051919050565b634e487b7160e01b600052604160045260246000fd5b601f82111561122c57600081815260208120601f850160051c810160208610156112095750805b601f850160051c820191505b8181101561122857828155600101611215565b5050505b505050565b815167ffffffffffffffff81111561124b5761124b6111cc565b61125f816112598454611179565b846111e2565b602080601f831160018114611294576000841561127c5750858301515b600019600386901b1c1916600185901b178555611228565b600085815260208120601f198616915b828110156112c3578886015182559484019460019091019084016112a4565b50858210156112e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8181038181111561131257634e487b7160e01b600052601160045260246000fd5b92915050565b600080835461132681611179565b6001828116801561133e576001811461135357611382565b60ff1984168752821515830287019450611382565b8760005260208060002060005b858110156113795781548a820152908401908201611360565b50505082870194505b50507f2047617300000000000000000000000000000000000000000000000000000000835250506004019392505050565b6040815260006113c66040830185610f04565b90508260208301529392505050565b831515815282151560208201526060604082015260006113f86060830184610f04565b9594505050505056fea2646970667358221220da3438af78bc27ef04e1c98bddebc5dc488df33e20c0b79fcd77ab0f03747c6b64736f6c63430008130033","sourceMap":"393:1018:118:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;588:127;;;:::i;:::-;;496:86;;;:::i;2452:134:57:-;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3360:151;;;:::i;:::-;;;;;;;:::i;267:84:120:-;;;;;;:::i;:::-;322:13;:22;;-1:-1:-1;;322:22:120;;;;;;;;;;267:84;3221:133:57;;;:::i;2922:141::-;;;:::i;721:382:118:-;;;:::i;1109:300::-;;;;;;:::i;:::-;;:::i;2738:178:57:-;;;:::i;:::-;;;;;;;:::i;2592:140::-;;;:::i;:::-;;;;;;;:::i;3069:146::-;;;:::i;2157:141::-;;;:::i;1243:204:53:-;;;:::i;:::-;;;5979:14:123;;5972:22;5954:41;;5942:2;5927:18;1243:204:53;5814:187:123;2304:142:57;;;:::i;1016:26:64:-;;;;;;;;;588:127:118;644:35;;;;;;;;;;;;;;;;;;:17;:35::i;:::-;690:18;:16;:18::i;:::-;588:127::o;496:86::-;544:5;;530:20;;-1:-1:-1;;;530:20:118;;544:5;;;;-1:-1:-1;;;;;544:5:118;530:20;;;6152:74:123;530:13:118;;;;6125:18:123;;530:20:118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:51;309:37;;-1:-1:-1;;;;;561:12:118;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;496:86::o;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;721:382:118:-;775:41;;;;;;;;;;;;;;;;;;:17;:41::i;:::-;840:5;;826:20;;-1:-1:-1;;;826:20:118;;840:5;;;;-1:-1:-1;;;;;840:5:118;826:20;;;6152:74:123;826:13:118;;;;6125:18:123;;826:20:118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:51;309:37;;-1:-1:-1;;;;;1054:12:118;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1078:18;:16;:18::i;1109:300::-;1185:31;;-1:-1:-1;;;1185:31:118;;1195:20;;1185:31;;;5954:41:123;1185:9:118;;;;5927:18:123;;1185:31:118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1226:27:118;;-1:-1:-1;;;1226:27:118;;1236:16;1226:27;;;5954:41:123;1226:9:118;;-1:-1:-1;1226:9:118;;-1:-1:-1;5927:18:123;;1226:27:118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1278:5:118;;1264:20;;-1:-1:-1;;;1264:20:118;;1278:5;;;;-1:-1:-1;;;;;1278:5:118;1264:20;;;6152:74:123;1264:13:118;;-1:-1:-1;1264:13:118;;-1:-1:-1;6125:18:123;;1264:20:118;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:51;309:37;;-1:-1:-1;;;;;1294:12:118;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1366:36;1375:4;1381;1366:36;;;;;;;;;;;;;;;;;:8;:36::i;:::-;1109:300;:::o;2738:178:57:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2592:140;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3069:146;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2157:141;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;;;6853:74:123;;;1398:17:53;6943:18:123;;;6936:34;1428:1:53;;1377:7;;6826:18:123;;1377:39:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;1370:60;;1243:204;:::o;2304:142:57:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:57;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;357:192:120:-;436:13;;;;432:111;;;465:15;:23;483:5;465:15;:23;:::i;:::-;;523:9;503:17;:29;357:192;:::o;555:396::-;614:13;;;;610:335;;;643:26;672:9;643:38;;776:16;836:3;815:18;795:17;;:38;;;;:::i;:::-;:44;;;;:::i;:::-;776:63;;859:75;898:15;881:41;;;;;;;;:::i;:::-;;;;-1:-1:-1;;881:41:120;;;;;;;;;;859:75;;925:8;;859:75;:::i;:::-;;;;;;;;629:316;;555:396::o;2136:128:53:-;2228:29;;;;;:11;;;;:29;;2240:4;;2246:5;;2253:3;;2228:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2136:128;;;:::o;14:681:123:-;185:2;237:21;;;307:13;;210:18;;;329:22;;;156:4;;185:2;408:15;;;;382:2;367:18;;;156:4;451:218;465:6;462:1;459:13;451:218;;;530:13;;-1:-1:-1;;;;;526:62:123;514:75;;644:15;;;;609:12;;;;487:1;480:9;451:218;;;-1:-1:-1;686:3:123;;14:681;-1:-1:-1;;;;;;14:681:123:o;700:423::-;742:3;780:5;774:12;807:6;802:3;795:19;832:1;842:162;856:6;853:1;850:13;842:162;;;918:4;974:13;;;970:22;;964:29;946:11;;;942:20;;935:59;871:12;842:162;;;846:3;1049:1;1042:4;1033:6;1028:3;1024:16;1020:27;1013:38;1112:4;1105:2;1101:7;1096:2;1088:6;1084:15;1080:29;1075:3;1071:39;1067:50;1060:57;;;700:423;;;;:::o;1128:1767::-;1363:2;1415:21;;;1485:13;;1388:18;;;1507:22;;;1334:4;;1363:2;1548;;1566:18;;;;1603:1;1646:15;;;1631:31;;1627:40;;1690:15;;;1334:4;;1754:1112;1770:6;1765:3;1762:15;1754:1112;;;-1:-1:-1;;1839:22:123;;;1835:36;1823:49;;1895:13;;1982:9;;-1:-1:-1;;;;;1978:58:123;1963:74;;2076:11;;2070:18;2108:15;;;2101:27;;;2189:19;;1935:15;;;2221:24;;;2402:21;;;;2268:2;2350:17;;;2338:30;;2334:39;;;2292:15;;;;2447:1;2461:296;2477:8;2472:3;2469:17;2461:296;;;2583:2;2579:7;2570:6;2562;2558:19;2554:33;2547:5;2540:48;2615:42;2650:6;2639:8;2633:15;2615:42;:::i;:::-;2686:17;;;;2605:52;-1:-1:-1;2729:14:123;;;;2505:1;2496:11;2461:296;;;-1:-1:-1;;;2844:12:123;;;;2780:6;-1:-1:-1;;2809:15:123;;;;1796:1;1787:11;1754:1112;;;-1:-1:-1;2883:6:123;;1128:1767;-1:-1:-1;;;;;;;;;;1128:1767:123:o;2900:273::-;2956:6;3009:2;2997:9;2988:7;2984:23;2980:32;2977:52;;;3025:1;3022;3015:12;2977:52;3064:9;3051:23;3117:5;3110:13;3103:21;3096:5;3093:32;3083:60;;3139:1;3136;3129:12;3083:60;3162:5;2900:273;-1:-1:-1;;;2900:273:123:o;3178:180::-;3237:6;3290:2;3278:9;3269:7;3265:23;3261:32;3258:52;;;3306:1;3303;3296:12;3258:52;-1:-1:-1;3329:23:123;;3178:180;-1:-1:-1;3178:180:123:o;3363:1638::-;3567:4;3596:2;3636;3625:9;3621:18;3666:2;3655:9;3648:21;3689:6;3724;3718:13;3755:6;3747;3740:22;3781:2;3771:12;;3814:2;3803:9;3799:18;3792:25;;3876:2;3866:6;3863:1;3859:14;3848:9;3844:30;3840:39;3914:2;3906:6;3902:15;3935:1;3956;3966:1006;3982:6;3977:3;3974:15;3966:1006;;;4051:22;;;-1:-1:-1;;4047:36:123;4035:49;;4107:13;;4194:9;;-1:-1:-1;;;;;4190:58:123;4175:74;;4288:11;;4282:18;4320:15;;;4313:27;;;4401:19;;4147:15;;;4433:24;;;4523:21;;;;4568:1;;4491:2;4479:15;;;4582:282;4598:8;4593:3;4590:17;4582:282;;;4679:15;;4696:66;4675:88;4661:103;;4833:17;;;;4626:1;4617:11;;;;;4790:14;;;;4582:282;;;-1:-1:-1;4950:12:123;;;;4887:5;-1:-1:-1;;;4915:15:123;;;;4008:1;3999:11;3966:1006;;;-1:-1:-1;4989:6:123;;3363:1638;-1:-1:-1;;;;;;;;;3363:1638:123:o;5006:803::-;5168:4;5197:2;5237;5226:9;5222:18;5267:2;5256:9;5249:21;5290:6;5325;5319:13;5356:6;5348;5341:22;5394:2;5383:9;5379:18;5372:25;;5456:2;5446:6;5443:1;5439:14;5428:9;5424:30;5420:39;5406:53;;5494:2;5486:6;5482:15;5515:1;5525:255;5539:6;5536:1;5533:13;5525:255;;;5632:2;5628:7;5616:9;5608:6;5604:22;5600:36;5595:3;5588:49;5660:40;5693:6;5684;5678:13;5660:40;:::i;:::-;5650:50;-1:-1:-1;5758:12:123;;;;5723:15;;;;5561:1;5554:9;5525:255;;;-1:-1:-1;5797:6:123;;5006:803;-1:-1:-1;;;;;;;5006:803:123:o;6237:437::-;6316:1;6312:12;;;;6359;;;6380:61;;6434:4;6426:6;6422:17;6412:27;;6380:61;6487:2;6479:6;6476:14;6456:18;6453:38;6450:218;;-1:-1:-1;;;6521:1:123;6514:88;6625:4;6622:1;6615:15;6653:4;6650:1;6643:15;6450:218;;6237:437;;;:::o;6981:184::-;7051:6;7104:2;7092:9;7083:7;7079:23;7075:32;7072:52;;;7120:1;7117;7110:12;7072:52;-1:-1:-1;7143:16:123;;6981:184;-1:-1:-1;6981:184:123:o;7170:::-;-1:-1:-1;;;7219:1:123;7212:88;7319:4;7316:1;7309:15;7343:4;7340:1;7333:15;7485:545;7587:2;7582:3;7579:11;7576:448;;;7623:1;7648:5;7644:2;7637:17;7693:4;7689:2;7679:19;7763:2;7751:10;7747:19;7744:1;7740:27;7734:4;7730:38;7799:4;7787:10;7784:20;7781:47;;;-1:-1:-1;7822:4:123;7781:47;7877:2;7872:3;7868:12;7865:1;7861:20;7855:4;7851:31;7841:41;;7932:82;7950:2;7943:5;7940:13;7932:82;;;7995:17;;;7976:1;7965:13;7932:82;;;7936:3;;;7576:448;7485:545;;;:::o;8206:1352::-;8332:3;8326:10;8359:18;8351:6;8348:30;8345:56;;;8381:18;;:::i;:::-;8410:97;8500:6;8460:38;8492:4;8486:11;8460:38;:::i;:::-;8454:4;8410:97;:::i;:::-;8562:4;;8626:2;8615:14;;8643:1;8638:663;;;;9345:1;9362:6;9359:89;;;-1:-1:-1;9414:19:123;;;9408:26;9359:89;-1:-1:-1;;8163:1:123;8159:11;;;8155:24;8151:29;8141:40;8187:1;8183:11;;;8138:57;9461:81;;8608:944;;8638:663;7432:1;7425:14;;;7469:4;7456:18;;-1:-1:-1;;8674:20:123;;;8792:236;8806:7;8803:1;8800:14;8792:236;;;8895:19;;;8889:26;8874:42;;8987:27;;;;8955:1;8943:14;;;;8822:19;;8792:236;;;8796:3;9056:6;9047:7;9044:19;9041:201;;;9117:19;;;9111:26;-1:-1:-1;;9200:1:123;9196:14;;;9212:3;9192:24;9188:37;9184:42;9169:58;9154:74;;9041:201;-1:-1:-1;;;;;9288:1:123;9272:14;;;9268:22;9255:36;;-1:-1:-1;8206:1352:123:o;9563:282::-;9630:9;;;9651:11;;;9648:191;;;-1:-1:-1;;;9692:1:123;9685:88;9796:4;9793:1;9786:15;9824:4;9821:1;9814:15;9648:191;9563:282;;;;:::o;9850:979::-;10079:3;10108:1;10141:6;10135:13;10171:36;10197:9;10171:36;:::i;:::-;10226:1;10243:18;;;10270:133;;;;10417:1;10412:356;;;;10236:532;;10270:133;-1:-1:-1;;10303:24:123;;10291:37;;10376:14;;10369:22;10357:35;;10348:45;;;-1:-1:-1;10270:133:123;;10412:356;10443:6;10440:1;10433:17;10473:4;10518:2;10515:1;10505:16;10543:1;10557:165;10571:6;10568:1;10565:13;10557:165;;;10649:14;;10636:11;;;10629:35;10692:16;;;;10586:10;;10557:165;;;10561:3;;;10751:6;10746:3;10742:16;10735:23;;10236:532;-1:-1:-1;;10789:6:123;10777:19;;-1:-1:-1;;10821:1:123;10812:11;;9850:979;-1:-1:-1;;;9850:979:123:o;10834:291::-;11011:2;11000:9;10993:21;10974:4;11031:45;11072:2;11061:9;11057:18;11049:6;11031:45;:::i;:::-;11023:53;;11112:6;11107:2;11096:9;11092:18;11085:34;10834:291;;;;;:::o;11130:382::-;11337:6;11330:14;11323:22;11312:9;11305:41;11396:6;11389:14;11382:22;11377:2;11366:9;11362:18;11355:50;11441:2;11436;11425:9;11421:18;11414:30;11286:4;11461:45;11502:2;11491:9;11487:18;11479:6;11461:45;:::i;:::-;11453:53;11130:382;-1:-1:-1;;;;;11130:382:123:o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","setEnableGasLog(bool)":"2d0e6731","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testFuzz_increasePowerCapped(uint256)":"5e8f4ff8","test_revertGetProtocolFee()":"5d53949a","test_stakeAndRegisterMember()":"0354ae60"},"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\":\"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\":\"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\":\"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\":[{\"internalType\":\"bool\",\"name\":\"enable\",\"type\":\"bool\"}],\"name\":\"setEnableGasLog\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"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\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenAmount\",\"type\":\"uint256\"}],\"name\":\"testFuzz_increasePowerCapped\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_revertGetProtocolFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_stakeAndRegisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"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\"}]},\"kind\":\"dev\",\"methods\":{},\"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\"}],\"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\":{},\"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/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/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"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\"]},\"pkg/contracts/test/PassportScorerTest.t.sol\":{\"keccak256\":\"0x833febb66dc20532ad7138c8dabcda595e5c25ca2b636ac019b062cc2e33d127\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://66b71272d712f9791463921d3e6140a9920d1eb6eab767fff450fd529204a0bb\",\"dweb:/ipfs/QmUjq5DdzaHhY9LxB7P5L6c7gdvRSs4RJkiP1Nbm8e3S3H\"]},\"pkg/contracts/test/shared/GasHelpers2.sol\":{\"keccak256\":\"0x99d4f66e98d4965ec3388a695b8bea71ebeea1137e611644dee70fd934e615e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://102f407d8f588e70647166997533a3d677e3051716091afc3877d08940ddcf4c\",\"dweb:/ipfs/QmdDmEBhmJE4zhySTYQXof4aEo59srqb68yGmEg5UC7NBk\"]}},\"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":"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":"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":"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":[{"internalType":"bool","name":"enable","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setEnableGasLog"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"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":[{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"testFuzz_increasePowerCapped"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_revertGetProtocolFee"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_stakeAndRegisterMember"}],"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/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/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"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"},"pkg/contracts/test/PassportScorerTest.t.sol":{"keccak256":"0x833febb66dc20532ad7138c8dabcda595e5c25ca2b636ac019b062cc2e33d127","urls":["bzz-raw://66b71272d712f9791463921d3e6140a9920d1eb6eab767fff450fd529204a0bb","dweb:/ipfs/QmUjq5DdzaHhY9LxB7P5L6c7gdvRSs4RJkiP1Nbm8e3S3H"],"license":"AGPL-3.0-or-later"},"pkg/contracts/test/shared/GasHelpers2.sol":{"keccak256":"0x99d4f66e98d4965ec3388a695b8bea71ebeea1137e611644dee70fd934e615e5","urls":["bzz-raw://102f407d8f588e70647166997533a3d677e3051716091afc3877d08940ddcf4c","dweb:/ipfs/QmdDmEBhmJE4zhySTYQXof4aEo59srqb68yGmEg5UC7NBk"],"license":"MIT"}},"version":1},"id":118} \ No newline at end of file +{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"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":"setEnableGasLog","inputs":[{"name":"enable","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"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":"function","name":"testFuzz_increasePowerCapped","inputs":[{"name":"tokenAmount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_revertGetProtocolFee","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_stakeAndRegisterMember","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"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},{"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":"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":"0x600c8054600160ff199182168117909255601e805482168317905560209190915560218054909116905560c0604052600560809081526437bbb732b960d91b60a0526200004c9062000086565b602160016101000a8154816001600160a01b0302191690836001600160a01b031602179055503480156200007f57600080fd5b5062000273565b600062000093826200009a565b5092915050565b60008082604051602001620000b09190620001df565b60408051808303601f190181529082905280516020909101206001625e79b760e01b03198252600482018190529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ffa1864990602401602060405180830381865afa1580156200011c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001429190620001fd565b6040516318caf8e360e31b8152909250737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c657c718906200018090859087906004016200022f565b600060405180830381600087803b1580156200019b57600080fd5b505af1158015620001b0573d6000803e3d6000fd5b50505050915091565b60005b83811015620001d6578181015183820152602001620001bc565b50506000910152565b60008251620001f3818460208701620001b9565b9190910192915050565b6000602082840312156200021057600080fd5b81516001600160a01b03811681146200022857600080fd5b9392505050565b60018060a01b038316815260406020820152600082518060408401526200025e816060850160208701620001b9565b601f01601f1916919091016060019392505050565b61143780620002836000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80635e8f4ff811610097578063b5508aa911610066578063b5508aa9146101c8578063ba414fa6146101d0578063e20c9f71146101e8578063fa7626d4146101f057600080fd5b80635e8f4ff81461018357806366d9a9a01461019657806385226c81146101ab578063916a17c6146101c057600080fd5b80632d0e6731116100d35780632d0e67311461014a5780633e5e3c231461016b5780633f7286f4146101735780635d53949a1461017b57600080fd5b80630354ae60146101055780630a9254e41461010f5780631ed7831c146101175780632ade388014610135575b600080fd5b61010d6101fd565b005b61010d610245565b61011f610332565b60405161012c9190610eb7565b60405180910390f35b61013d610394565b60405161012c9190610f4a565b61010d61015836600461100a565b6021805460ff1916911515919091179055565b61011f6104d6565b61011f610536565b61010d610596565b61010d610191366004611033565b6106c7565b61019e6108bc565b60405161012c919061104c565b6101b36109b7565b60405161012c9190611117565b61019e610a87565b6101b3610b82565b6101d8610c52565b604051901515815260200161012c565b61011f610d26565b601e546101d89060ff1681565b61023b6040518060400160405280600e81526020017f63726561746550726f706f73616c000000000000000000000000000000000000815250610d86565b610243610da5565b565b6021546040516303223eab60e11b81526101009091046001600160a01b03166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d5690602401600060405180830381600087803b1580156102a257600080fd5b505af11580156102b6573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561031857600080fd5b505af115801561032c573d6000803e3d6000fd5b50505050565b6060601680548060200260200160405190810160405280929190818152602001828054801561038a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161036c575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b828210156104cd57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156104b657838290600052602060002001805461042990611179565b80601f016020809104026020016040519081016040528092919081815260200182805461045590611179565b80156104a25780601f10610477576101008083540402835291602001916104a2565b820191906000526020600020905b81548152906001019060200180831161048557829003601f168201915b50505050508152602001906001019061040a565b5050505081525050815260200190600101906103b8565b50505050905090565b6060601880548060200260200160405190810160405280929190818152602001828054801561038a576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161036c575050505050905090565b6060601780548060200260200160405190810160405280929190818152602001828054801561038a576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161036c575050505050905090565b6105d46040518060400160405280601481526020017f53657474696e672070726f746f636f6c20666565000000000000000000000000815250610d86565b6021546040516303223eab60e11b81526101009091046001600160a01b03166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d5690602401600060405180830381600087803b15801561063157600080fd5b505af1158015610645573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156106a757600080fd5b505af11580156106bb573d6000803e3d6000fd5b50505050610243610da5565b604051632631f2b160e11b815281156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e5629060240160006040518083038186803b15801561071257600080fd5b505afa158015610726573d6000803e3d6000fd5b5050604051632631f2b160e11b815260016004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e562915060240160006040518083038186803b15801561077557600080fd5b505afa158015610789573d6000803e3d6000fd5b50506021546040516303223eab60e11b81526101009091046001600160a01b03166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150602401600060405180830381600087803b1580156107ea57600080fd5b505af11580156107fe573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561086057600080fd5b505af1158015610874573d6000803e3d6000fd5b505050506108b96001806040518060400160405280600c81526020017f506f77657220746f203230300000000000000000000000000000000000000000815250610e2e565b50565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156104cd5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561099f57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841161094c5790505b505050505081525050815260200190600101906108e0565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156104cd5783829060005260206000200180546109fa90611179565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2690611179565b8015610a735780601f10610a4857610100808354040283529160200191610a73565b820191906000526020600020905b815481529060010190602001808311610a5657829003601f168201915b5050505050815260200190600101906109db565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156104cd5760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610b6a57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610b175790505b50505050508152505081526020019060010190610aab565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156104cd578382906000526020600020018054610bc590611179565b80601f0160208091040260200160405190810160405280929190818152602001828054610bf190611179565b8015610c3e5780601f10610c1357610100808354040283529160200191610c3e565b820191906000526020600020905b815481529060010190602001808311610c2157829003601f168201915b505050505081526020019060010190610ba6565b60085460009060ff1615610c6a575060085460ff1690565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c65640000000000000000000000000000000000000000000000000000602483015260009163667f9d7090604401602060405180830381865afa158015610cfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1f91906111b3565b1415905090565b6060601580548060200260200160405190810160405280929190818152602001828054801561038a576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161036c575050505050905090565b60215460ff16156108b957601f610d9d8282611231565b505a60205550565b60215460ff16156102435760005a90506000606482602054610dc791906112f1565b610dd191906112f1565b90507fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8601f604051602001610e069190611318565b60408051601f1981840301815290829052610e229184906113b3565b60405180910390a15050565b6040517f4db19e7e000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634db19e7e90610e82908690869086906004016113d5565b60006040518083038186803b158015610e9a57600080fd5b505afa158015610eae573d6000803e3d6000fd5b50505050505050565b6020808252825182820181905260009190848201906040850190845b81811015610ef85783516001600160a01b031683529284019291840191600101610ed3565b50909695505050505050565b6000815180845260005b81811015610f2a57602081850181015186830182015201610f0e565b506000602082860101526020601f19601f83011685010191505092915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b85811015610ffa57603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b81811015610fe457605f19898503018352610fd2848651610f04565b948e01949350918d0191600101610fb6565b505050978a019794505091880191600101610f71565b50919a9950505050505050505050565b60006020828403121561101c57600080fd5b8135801515811461102c57600080fd5b9392505050565b60006020828403121561104557600080fd5b5035919050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561110857898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156110f35783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b01906110b1565b50978a01979550505091870191600101611074565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561116c57603f1988860301845261115a858351610f04565b9450928501929085019060010161113e565b5092979650505050505050565b600181811c9082168061118d57607f821691505b6020821081036111ad57634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156111c557600080fd5b5051919050565b634e487b7160e01b600052604160045260246000fd5b601f82111561122c57600081815260208120601f850160051c810160208610156112095750805b601f850160051c820191505b8181101561122857828155600101611215565b5050505b505050565b815167ffffffffffffffff81111561124b5761124b6111cc565b61125f816112598454611179565b846111e2565b602080601f831160018114611294576000841561127c5750858301515b600019600386901b1c1916600185901b178555611228565b600085815260208120601f198616915b828110156112c3578886015182559484019460019091019084016112a4565b50858210156112e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8181038181111561131257634e487b7160e01b600052601160045260246000fd5b92915050565b600080835461132681611179565b6001828116801561133e576001811461135357611382565b60ff1984168752821515830287019450611382565b8760005260208060002060005b858110156113795781548a820152908401908201611360565b50505082870194505b50507f2047617300000000000000000000000000000000000000000000000000000000835250506004019392505050565b6040815260006113c66040830185610f04565b90508260208301529392505050565b831515815282151560208201526060604082015260006113f86060830184610f04565b9594505050505056fea2646970667358221220d083b05ceda53480c0959b79982f7e50139571faa0f5e481035da02f07f763ca64736f6c63430008130033","sourceMap":"3126:44:54:-:0;;;3166:4;-1:-1:-1;;3126:44:54;;;;;;;;1016:26:64;;;;;;;;;158:37:135;;;;;226:34;;;;;;;;472:17:133;393:1018;472:17;;393:1018;472:17;;;-1:-1:-1;;;472:17:133;;;;:8;:17::i;:::-;456:33;;;;;;;-1:-1:-1;;;;;456:33:133;;;;;-1:-1:-1;;;;;456:33:133;;;;;;393:1018;;;;;;;;;;;;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;;;;-1:-1:-1;;;;;;20344:19:55;;;;;709:25:138;;;20293:33:55;-1:-1:-1;20344:7:55;;;;682:18:138;;20344:19:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20373:20;;-1:-1:-1;;;20373:20:55;;20337:26;;-1:-1:-1;20373:8:55;;;;:20;;20337:26;;20388:4;;20373:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20158:242;;;:::o;14:250:138:-;99:1;109:113;123:6;120:1;117:13;109:113;;;199:11;;;193:18;180:11;;;173:39;145:2;138:10;109:113;;;-1:-1:-1;;256:1:138;238:16;;231:27;14:250::o;269:289::-;400:3;438:6;432:13;454:66;513:6;508:3;501:4;493:6;489:17;454:66;:::i;:::-;536:16;;;;;269:289;-1:-1:-1;;269:289:138:o;745:290::-;815:6;868:2;856:9;847:7;843:23;839:32;836:52;;;884:1;881;874:12;836:52;910:16;;-1:-1:-1;;;;;955:31:138;;945:42;;935:70;;1001:1;998;991:12;935:70;1024:5;745:290;-1:-1:-1;;;745:290:138:o;1040:493::-;1246:1;1242;1237:3;1233:11;1229:19;1221:6;1217:32;1206:9;1199:51;1286:2;1281;1270:9;1266:18;1259:30;1180:4;1318:6;1312:13;1361:6;1356:2;1345:9;1341:18;1334:34;1377:79;1449:6;1444:2;1433:9;1429:18;1424:2;1416:6;1412:15;1377:79;:::i;:::-;1517:2;1496:15;-1:-1:-1;;1492:29:138;1477:45;;;;1524:2;1473:54;;1040:493;-1:-1:-1;;;1040:493:138:o;:::-;393:1018:133;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101005760003560e01c80635e8f4ff811610097578063b5508aa911610066578063b5508aa9146101c8578063ba414fa6146101d0578063e20c9f71146101e8578063fa7626d4146101f057600080fd5b80635e8f4ff81461018357806366d9a9a01461019657806385226c81146101ab578063916a17c6146101c057600080fd5b80632d0e6731116100d35780632d0e67311461014a5780633e5e3c231461016b5780633f7286f4146101735780635d53949a1461017b57600080fd5b80630354ae60146101055780630a9254e41461010f5780631ed7831c146101175780632ade388014610135575b600080fd5b61010d6101fd565b005b61010d610245565b61011f610332565b60405161012c9190610eb7565b60405180910390f35b61013d610394565b60405161012c9190610f4a565b61010d61015836600461100a565b6021805460ff1916911515919091179055565b61011f6104d6565b61011f610536565b61010d610596565b61010d610191366004611033565b6106c7565b61019e6108bc565b60405161012c919061104c565b6101b36109b7565b60405161012c9190611117565b61019e610a87565b6101b3610b82565b6101d8610c52565b604051901515815260200161012c565b61011f610d26565b601e546101d89060ff1681565b61023b6040518060400160405280600e81526020017f63726561746550726f706f73616c000000000000000000000000000000000000815250610d86565b610243610da5565b565b6021546040516303223eab60e11b81526101009091046001600160a01b03166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d5690602401600060405180830381600087803b1580156102a257600080fd5b505af11580156102b6573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561031857600080fd5b505af115801561032c573d6000803e3d6000fd5b50505050565b6060601680548060200260200160405190810160405280929190818152602001828054801561038a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161036c575b5050505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b828210156104cd57600084815260208082206040805180820182526002870290920180546001600160a01b03168352600181018054835181870281018701909452808452939591948681019491929084015b828210156104b657838290600052602060002001805461042990611179565b80601f016020809104026020016040519081016040528092919081815260200182805461045590611179565b80156104a25780601f10610477576101008083540402835291602001916104a2565b820191906000526020600020905b81548152906001019060200180831161048557829003601f168201915b50505050508152602001906001019061040a565b5050505081525050815260200190600101906103b8565b50505050905090565b6060601880548060200260200160405190810160405280929190818152602001828054801561038a576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161036c575050505050905090565b6060601780548060200260200160405190810160405280929190818152602001828054801561038a576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161036c575050505050905090565b6105d46040518060400160405280601481526020017f53657474696e672070726f746f636f6c20666565000000000000000000000000815250610d86565b6021546040516303223eab60e11b81526101009091046001600160a01b03166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d5690602401600060405180830381600087803b15801561063157600080fd5b505af1158015610645573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156106a757600080fd5b505af11580156106bb573d6000803e3d6000fd5b50505050610243610da5565b604051632631f2b160e11b815281156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e5629060240160006040518083038186803b15801561071257600080fd5b505afa158015610726573d6000803e3d6000fd5b5050604051632631f2b160e11b815260016004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e562915060240160006040518083038186803b15801561077557600080fd5b505afa158015610789573d6000803e3d6000fd5b50506021546040516303223eab60e11b81526101009091046001600160a01b03166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d569150602401600060405180830381600087803b1580156107ea57600080fd5b505af11580156107fe573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561086057600080fd5b505af1158015610874573d6000803e3d6000fd5b505050506108b96001806040518060400160405280600c81526020017f506f77657220746f203230300000000000000000000000000000000000000000815250610e2e565b50565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156104cd5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561099f57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841161094c5790505b505050505081525050815260200190600101906108e0565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156104cd5783829060005260206000200180546109fa90611179565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2690611179565b8015610a735780601f10610a4857610100808354040283529160200191610a73565b820191906000526020600020905b815481529060010190602001808311610a5657829003601f168201915b5050505050815260200190600101906109db565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156104cd5760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610b6a57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411610b175790505b50505050508152505081526020019060010190610aab565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156104cd578382906000526020600020018054610bc590611179565b80601f0160208091040260200160405190810160405280929190818152602001828054610bf190611179565b8015610c3e5780601f10610c1357610100808354040283529160200191610c3e565b820191906000526020600020905b815481529060010190602001808311610c2157829003601f168201915b505050505081526020019060010190610ba6565b60085460009060ff1615610c6a575060085460ff1690565b6040517f667f9d70000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d600482018190527f6661696c65640000000000000000000000000000000000000000000000000000602483015260009163667f9d7090604401602060405180830381865afa158015610cfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1f91906111b3565b1415905090565b6060601580548060200260200160405190810160405280929190818152602001828054801561038a576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161036c575050505050905090565b60215460ff16156108b957601f610d9d8282611231565b505a60205550565b60215460ff16156102435760005a90506000606482602054610dc791906112f1565b610dd191906112f1565b90507fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8601f604051602001610e069190611318565b60408051601f1981840301815290829052610e229184906113b3565b60405180910390a15050565b6040517f4db19e7e000000000000000000000000000000000000000000000000000000008152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634db19e7e90610e82908690869086906004016113d5565b60006040518083038186803b158015610e9a57600080fd5b505afa158015610eae573d6000803e3d6000fd5b50505050505050565b6020808252825182820181905260009190848201906040850190845b81811015610ef85783516001600160a01b031683529284019291840191600101610ed3565b50909695505050505050565b6000815180845260005b81811015610f2a57602081850181015186830182015201610f0e565b506000602082860101526020601f19601f83011685010191505092915050565b602080825282518282018190526000919060409081850190600581811b8701840188860187805b85811015610ffa57603f198b8503018752825180516001600160a01b031685528901518985018990528051898601819052908a0190606081881b870181019190870190855b81811015610fe457605f19898503018352610fd2848651610f04565b948e01949350918d0191600101610fb6565b505050978a019794505091880191600101610f71565b50919a9950505050505050505050565b60006020828403121561101c57600080fd5b8135801515811461102c57600080fd5b9392505050565b60006020828403121561104557600080fd5b5035919050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b8481101561110857898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156110f35783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b01906110b1565b50978a01979550505091870191600101611074565b50919998505050505050505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561116c57603f1988860301845261115a858351610f04565b9450928501929085019060010161113e565b5092979650505050505050565b600181811c9082168061118d57607f821691505b6020821081036111ad57634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156111c557600080fd5b5051919050565b634e487b7160e01b600052604160045260246000fd5b601f82111561122c57600081815260208120601f850160051c810160208610156112095750805b601f850160051c820191505b8181101561122857828155600101611215565b5050505b505050565b815167ffffffffffffffff81111561124b5761124b6111cc565b61125f816112598454611179565b846111e2565b602080601f831160018114611294576000841561127c5750858301515b600019600386901b1c1916600185901b178555611228565b600085815260208120601f198616915b828110156112c3578886015182559484019460019091019084016112a4565b50858210156112e15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8181038181111561131257634e487b7160e01b600052601160045260246000fd5b92915050565b600080835461132681611179565b6001828116801561133e576001811461135357611382565b60ff1984168752821515830287019450611382565b8760005260208060002060005b858110156113795781548a820152908401908201611360565b50505082870194505b50507f2047617300000000000000000000000000000000000000000000000000000000835250506004019392505050565b6040815260006113c66040830185610f04565b90508260208301529392505050565b831515815282151560208201526060604082015260006113f86060830184610f04565b9594505050505056fea2646970667358221220d083b05ceda53480c0959b79982f7e50139571faa0f5e481035da02f07f763ca64736f6c63430008130033","sourceMap":"393:1018:133:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;588:127;;;:::i;:::-;;496:86;;;:::i;2452:134:57:-;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3360:151;;;:::i;:::-;;;;;;;:::i;267:84:135:-;;;;;;:::i;:::-;322:13;:22;;-1:-1:-1;;322:22:135;;;;;;;;;;267:84;3221:133:57;;;:::i;2922:141::-;;;:::i;721:382:133:-;;;:::i;1109:300::-;;;;;;:::i;:::-;;:::i;2738:178:57:-;;;:::i;:::-;;;;;;;:::i;2592:140::-;;;:::i;:::-;;;;;;;:::i;3069:146::-;;;:::i;2157:141::-;;;:::i;1243:204:53:-;;;:::i;:::-;;;5979:14:138;;5972:22;5954:41;;5942:2;5927:18;1243:204:53;5814:187:138;2304:142:57;;;:::i;1016:26:64:-;;;;;;;;;588:127:133;644:35;;;;;;;;;;;;;;;;;;:17;:35::i;:::-;690:18;:16;:18::i;:::-;588:127::o;496:86::-;544:5;;530:20;;-1:-1:-1;;;530:20:133;;544:5;;;;-1:-1:-1;;;;;544:5:133;530:20;;;6152:74:138;530:13:133;;;;6125:18:138;;530:20:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:51;309:37;;-1:-1:-1;;;;;561:12:133;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;496:86::o;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;721:382:133:-;775:41;;;;;;;;;;;;;;;;;;:17;:41::i;:::-;840:5;;826:20;;-1:-1:-1;;;826:20:133;;840:5;;;;-1:-1:-1;;;;;840:5:133;826:20;;;6152:74:138;826:13:133;;;;6125:18:138;;826:20:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:51;309:37;;-1:-1:-1;;;;;1054:12:133;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1078:18;:16;:18::i;1109:300::-;1185:31;;-1:-1:-1;;;1185:31:133;;1195:20;;1185:31;;;5954:41:138;1185:9:133;;;;5927:18:138;;1185:31:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1226:27:133;;-1:-1:-1;;;1226:27:133;;1236:16;1226:27;;;5954:41:138;1226:9:133;;-1:-1:-1;1226:9:133;;-1:-1:-1;5927:18:138;;1226:27:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1278:5:133;;1264:20;;-1:-1:-1;;;1264:20:133;;1278:5;;;;-1:-1:-1;;;;;1278:5:133;1264:20;;;6152:74:138;1264:13:133;;-1:-1:-1;1264:13:133;;-1:-1:-1;6125:18:138;;1264:20:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:51;309:37;;-1:-1:-1;;;;;1294:12:133;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1366:36;1375:4;1381;1366:36;;;;;;;;;;;;;;;;;:8;:36::i;:::-;1109:300;:::o;2738:178:57:-;2794:48;2883:26;2854:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2854:55:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2592:140;2640:34;2707:18;2686:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3069:146;3117:40;3190:18;3169:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3169:39:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2157:141;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;;;6853:74:138;;;1398:17:53;6943:18:138;;;6936:34;1428:1:53;;1377:7;;6826:18:138;;1377:39:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;1370:60;;1243:204;:::o;2304:142:57:-;2353:35;2421:18;2400:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2400:39:57;;;;;;;;;;;;;;;;;;;;;;2304:142;:::o;357:192:135:-;436:13;;;;432:111;;;465:15;:23;483:5;465:15;:23;:::i;:::-;;523:9;503:17;:29;357:192;:::o;555:396::-;614:13;;;;610:335;;;643:26;672:9;643:38;;776:16;836:3;815:18;795:17;;:38;;;;:::i;:::-;:44;;;;:::i;:::-;776:63;;859:75;898:15;881:41;;;;;;;;:::i;:::-;;;;-1:-1:-1;;881:41:135;;;;;;;;;;859:75;;925:8;;859:75;:::i;:::-;;;;;;;;629:316;;555:396::o;2136:128:53:-;2228:29;;;;;:11;;;;:29;;2240:4;;2246:5;;2253:3;;2228:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2136:128;;;:::o;14:681:138:-;185:2;237:21;;;307:13;;210:18;;;329:22;;;156:4;;185:2;408:15;;;;382:2;367:18;;;156:4;451:218;465:6;462:1;459:13;451:218;;;530:13;;-1:-1:-1;;;;;526:62:138;514:75;;644:15;;;;609:12;;;;487:1;480:9;451:218;;;-1:-1:-1;686:3:138;;14:681;-1:-1:-1;;;;;;14:681:138:o;700:423::-;742:3;780:5;774:12;807:6;802:3;795:19;832:1;842:162;856:6;853:1;850:13;842:162;;;918:4;974:13;;;970:22;;964:29;946:11;;;942:20;;935:59;871:12;842:162;;;846:3;1049:1;1042:4;1033:6;1028:3;1024:16;1020:27;1013:38;1112:4;1105:2;1101:7;1096:2;1088:6;1084:15;1080:29;1075:3;1071:39;1067:50;1060:57;;;700:423;;;;:::o;1128:1767::-;1363:2;1415:21;;;1485:13;;1388:18;;;1507:22;;;1334:4;;1363:2;1548;;1566:18;;;;1603:1;1646:15;;;1631:31;;1627:40;;1690:15;;;1334:4;;1754:1112;1770:6;1765:3;1762:15;1754:1112;;;-1:-1:-1;;1839:22:138;;;1835:36;1823:49;;1895:13;;1982:9;;-1:-1:-1;;;;;1978:58:138;1963:74;;2076:11;;2070:18;2108:15;;;2101:27;;;2189:19;;1935:15;;;2221:24;;;2402:21;;;;2268:2;2350:17;;;2338:30;;2334:39;;;2292:15;;;;2447:1;2461:296;2477:8;2472:3;2469:17;2461:296;;;2583:2;2579:7;2570:6;2562;2558:19;2554:33;2547:5;2540:48;2615:42;2650:6;2639:8;2633:15;2615:42;:::i;:::-;2686:17;;;;2605:52;-1:-1:-1;2729:14:138;;;;2505:1;2496:11;2461:296;;;-1:-1:-1;;;2844:12:138;;;;2780:6;-1:-1:-1;;2809:15:138;;;;1796:1;1787:11;1754:1112;;;-1:-1:-1;2883:6:138;;1128:1767;-1:-1:-1;;;;;;;;;;1128:1767:138:o;2900:273::-;2956:6;3009:2;2997:9;2988:7;2984:23;2980:32;2977:52;;;3025:1;3022;3015:12;2977:52;3064:9;3051:23;3117:5;3110:13;3103:21;3096:5;3093:32;3083:60;;3139:1;3136;3129:12;3083:60;3162:5;2900:273;-1:-1:-1;;;2900:273:138:o;3178:180::-;3237:6;3290:2;3278:9;3269:7;3265:23;3261:32;3258:52;;;3306:1;3303;3296:12;3258:52;-1:-1:-1;3329:23:138;;3178:180;-1:-1:-1;3178:180:138:o;3363:1638::-;3567:4;3596:2;3636;3625:9;3621:18;3666:2;3655:9;3648:21;3689:6;3724;3718:13;3755:6;3747;3740:22;3781:2;3771:12;;3814:2;3803:9;3799:18;3792:25;;3876:2;3866:6;3863:1;3859:14;3848:9;3844:30;3840:39;3914:2;3906:6;3902:15;3935:1;3956;3966:1006;3982:6;3977:3;3974:15;3966:1006;;;4051:22;;;-1:-1:-1;;4047:36:138;4035:49;;4107:13;;4194:9;;-1:-1:-1;;;;;4190:58:138;4175:74;;4288:11;;4282:18;4320:15;;;4313:27;;;4401:19;;4147:15;;;4433:24;;;4523:21;;;;4568:1;;4491:2;4479:15;;;4582:282;4598:8;4593:3;4590:17;4582:282;;;4679:15;;4696:66;4675:88;4661:103;;4833:17;;;;4626:1;4617:11;;;;;4790:14;;;;4582:282;;;-1:-1:-1;4950:12:138;;;;4887:5;-1:-1:-1;;;4915:15:138;;;;4008:1;3999:11;3966:1006;;;-1:-1:-1;4989:6:138;;3363:1638;-1:-1:-1;;;;;;;;;3363:1638:138:o;5006:803::-;5168:4;5197:2;5237;5226:9;5222:18;5267:2;5256:9;5249:21;5290:6;5325;5319:13;5356:6;5348;5341:22;5394:2;5383:9;5379:18;5372:25;;5456:2;5446:6;5443:1;5439:14;5428:9;5424:30;5420:39;5406:53;;5494:2;5486:6;5482:15;5515:1;5525:255;5539:6;5536:1;5533:13;5525:255;;;5632:2;5628:7;5616:9;5608:6;5604:22;5600:36;5595:3;5588:49;5660:40;5693:6;5684;5678:13;5660:40;:::i;:::-;5650:50;-1:-1:-1;5758:12:138;;;;5723:15;;;;5561:1;5554:9;5525:255;;;-1:-1:-1;5797:6:138;;5006:803;-1:-1:-1;;;;;;;5006:803:138:o;6237:437::-;6316:1;6312:12;;;;6359;;;6380:61;;6434:4;6426:6;6422:17;6412:27;;6380:61;6487:2;6479:6;6476:14;6456:18;6453:38;6450:218;;-1:-1:-1;;;6521:1:138;6514:88;6625:4;6622:1;6615:15;6653:4;6650:1;6643:15;6450:218;;6237:437;;;:::o;6981:184::-;7051:6;7104:2;7092:9;7083:7;7079:23;7075:32;7072:52;;;7120:1;7117;7110:12;7072:52;-1:-1:-1;7143:16:138;;6981:184;-1:-1:-1;6981:184:138:o;7170:::-;-1:-1:-1;;;7219:1:138;7212:88;7319:4;7316:1;7309:15;7343:4;7340:1;7333:15;7485:545;7587:2;7582:3;7579:11;7576:448;;;7623:1;7648:5;7644:2;7637:17;7693:4;7689:2;7679:19;7763:2;7751:10;7747:19;7744:1;7740:27;7734:4;7730:38;7799:4;7787:10;7784:20;7781:47;;;-1:-1:-1;7822:4:138;7781:47;7877:2;7872:3;7868:12;7865:1;7861:20;7855:4;7851:31;7841:41;;7932:82;7950:2;7943:5;7940:13;7932:82;;;7995:17;;;7976:1;7965:13;7932:82;;;7936:3;;;7576:448;7485:545;;;:::o;8206:1352::-;8332:3;8326:10;8359:18;8351:6;8348:30;8345:56;;;8381:18;;:::i;:::-;8410:97;8500:6;8460:38;8492:4;8486:11;8460:38;:::i;:::-;8454:4;8410:97;:::i;:::-;8562:4;;8626:2;8615:14;;8643:1;8638:663;;;;9345:1;9362:6;9359:89;;;-1:-1:-1;9414:19:138;;;9408:26;9359:89;-1:-1:-1;;8163:1:138;8159:11;;;8155:24;8151:29;8141:40;8187:1;8183:11;;;8138:57;9461:81;;8608:944;;8638:663;7432:1;7425:14;;;7469:4;7456:18;;-1:-1:-1;;8674:20:138;;;8792:236;8806:7;8803:1;8800:14;8792:236;;;8895:19;;;8889:26;8874:42;;8987:27;;;;8955:1;8943:14;;;;8822:19;;8792:236;;;8796:3;9056:6;9047:7;9044:19;9041:201;;;9117:19;;;9111:26;-1:-1:-1;;9200:1:138;9196:14;;;9212:3;9192:24;9188:37;9184:42;9169:58;9154:74;;9041:201;-1:-1:-1;;;;;9288:1:138;9272:14;;;9268:22;9255:36;;-1:-1:-1;8206:1352:138:o;9563:282::-;9630:9;;;9651:11;;;9648:191;;;-1:-1:-1;;;9692:1:138;9685:88;9796:4;9793:1;9786:15;9824:4;9821:1;9814:15;9648:191;9563:282;;;;:::o;9850:979::-;10079:3;10108:1;10141:6;10135:13;10171:36;10197:9;10171:36;:::i;:::-;10226:1;10243:18;;;10270:133;;;;10417:1;10412:356;;;;10236:532;;10270:133;-1:-1:-1;;10303:24:138;;10291:37;;10376:14;;10369:22;10357:35;;10348:45;;;-1:-1:-1;10270:133:138;;10412:356;10443:6;10440:1;10433:17;10473:4;10518:2;10515:1;10505:16;10543:1;10557:165;10571:6;10568:1;10565:13;10557:165;;;10649:14;;10636:11;;;10629:35;10692:16;;;;10586:10;;10557:165;;;10561:3;;;10751:6;10746:3;10742:16;10735:23;;10236:532;-1:-1:-1;;10789:6:138;10777:19;;-1:-1:-1;;10821:1:138;10812:11;;9850:979;-1:-1:-1;;;9850:979:138:o;10834:291::-;11011:2;11000:9;10993:21;10974:4;11031:45;11072:2;11061:9;11057:18;11049:6;11031:45;:::i;:::-;11023:53;;11112:6;11107:2;11096:9;11092:18;11085:34;10834:291;;;;;:::o;11130:382::-;11337:6;11330:14;11323:22;11312:9;11305:41;11396:6;11389:14;11382:22;11377:2;11366:9;11362:18;11355:50;11441:2;11436;11425:9;11421:18;11414:30;11286:4;11461:45;11502:2;11491:9;11487:18;11479:6;11461:45;:::i;:::-;11453:53;11130:382;-1:-1:-1;;;;;11130:382:138:o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","setEnableGasLog(bool)":"2d0e6731","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetInterfaces()":"2ade3880","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testFuzz_increasePowerCapped(uint256)":"5e8f4ff8","test_revertGetProtocolFee()":"5d53949a","test_stakeAndRegisterMember()":"0354ae60"},"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\":\"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\":\"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\":\"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\":[{\"internalType\":\"bool\",\"name\":\"enable\",\"type\":\"bool\"}],\"name\":\"setEnableGasLog\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"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\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenAmount\",\"type\":\"uint256\"}],\"name\":\"testFuzz_increasePowerCapped\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_revertGetProtocolFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"test_stakeAndRegisterMember\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"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\"}]},\"kind\":\"dev\",\"methods\":{},\"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\"}],\"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\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pkg/contracts/test/PassportScorerTest.t.sol\":\"PassportScorerTest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/=lib/openzeppelin-contracts/\",\":@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/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/libraries/Errors.sol\":{\"keccak256\":\"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf\",\"dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA\"]},\"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"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\"]},\"pkg/contracts/test/PassportScorerTest.t.sol\":{\"keccak256\":\"0x833febb66dc20532ad7138c8dabcda595e5c25ca2b636ac019b062cc2e33d127\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://66b71272d712f9791463921d3e6140a9920d1eb6eab767fff450fd529204a0bb\",\"dweb:/ipfs/QmUjq5DdzaHhY9LxB7P5L6c7gdvRSs4RJkiP1Nbm8e3S3H\"]},\"pkg/contracts/test/shared/GasHelpers2.sol\":{\"keccak256\":\"0x99d4f66e98d4965ec3388a695b8bea71ebeea1137e611644dee70fd934e615e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://102f407d8f588e70647166997533a3d677e3051716091afc3877d08940ddcf4c\",\"dweb:/ipfs/QmdDmEBhmJE4zhySTYQXof4aEo59srqb68yGmEg5UC7NBk\"]}},\"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":"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":"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":"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":[{"internalType":"bool","name":"enable","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setEnableGasLog"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"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":[{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"testFuzz_increasePowerCapped"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_revertGetProtocolFee"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"test_stakeAndRegisterMember"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=lib/openzeppelin-contracts/","@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/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/allo-v2/contracts/core/libraries/Errors.sol":{"keccak256":"0x114aa83c98eff68576c06a073357e2ead6910e1a4195cf720eb579ef701afa15","urls":["bzz-raw://c92fd5843368c9d66f7d0321932c0a9dc0919b292f51bd3aefad066548c622cf","dweb:/ipfs/QmZ8N4tToDEaNh9gSyR2J7JCAGPHQUSrs1iyrmzEDHkHEA"],"license":"AGPL-3.0-only"},"lib/allo-v2/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"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"},"pkg/contracts/test/PassportScorerTest.t.sol":{"keccak256":"0x833febb66dc20532ad7138c8dabcda595e5c25ca2b636ac019b062cc2e33d127","urls":["bzz-raw://66b71272d712f9791463921d3e6140a9920d1eb6eab767fff450fd529204a0bb","dweb:/ipfs/QmUjq5DdzaHhY9LxB7P5L6c7gdvRSs4RJkiP1Nbm8e3S3H"],"license":"AGPL-3.0-or-later"},"pkg/contracts/test/shared/GasHelpers2.sol":{"keccak256":"0x99d4f66e98d4965ec3388a695b8bea71ebeea1137e611644dee70fd934e615e5","urls":["bzz-raw://102f407d8f588e70647166997533a3d677e3051716091afc3877d08940ddcf4c","dweb:/ipfs/QmdDmEBhmJE4zhySTYQXof4aEo59srqb68yGmEg5UC7NBk"],"license":"MIT"}},"version":1},"id":133} \ 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 00f47efa5..ccb7d9687 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/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/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\":\"0x3032ef966b217c359e29a9735604ee4e8e6529a9a0632369abdd7a7ae285dbd7\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://788c0a1deb7c53faedadc5efc152107ba22db81aaa9cffa1ba52d1427adfe2be\",\"dweb:/ipfs/QmQGANoMw4kb87y8JGCEgndo888YVDfRKMCepTJ2NVWUmY\"]},\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"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/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/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":"0x3032ef966b217c359e29a9735604ee4e8e6529a9a0632369abdd7a7ae285dbd7","urls":["bzz-raw://788c0a1deb7c53faedadc5efc152107ba22db81aaa9cffa1ba52d1427adfe2be","dweb:/ipfs/QmQGANoMw4kb87y8JGCEgndo888YVDfRKMCepTJ2NVWUmY"],"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/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":113} \ 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/=lib/openzeppelin-contracts/\",\":@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/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\":\"0x3032ef966b217c359e29a9735604ee4e8e6529a9a0632369abdd7a7ae285dbd7\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://788c0a1deb7c53faedadc5efc152107ba22db81aaa9cffa1ba52d1427adfe2be\",\"dweb:/ipfs/QmQGANoMw4kb87y8JGCEgndo888YVDfRKMCepTJ2NVWUmY\"]},\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"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/=lib/openzeppelin-contracts/","@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/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":"0x3032ef966b217c359e29a9735604ee4e8e6529a9a0632369abdd7a7ae285dbd7","urls":["bzz-raw://788c0a1deb7c53faedadc5efc152107ba22db81aaa9cffa1ba52d1427adfe2be","dweb:/ipfs/QmQGANoMw4kb87y8JGCEgndo888YVDfRKMCepTJ2NVWUmY"],"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/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":128} \ 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 b688dfbed..00c3c25b4 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":"sybilConfig","type":"tuple","internalType":"struct StrategyStruct.SybilConfig","components":[{"name":"sybilOracleScorer","type":"address","internalType":"address"},{"name":"threshold","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":[{"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":"sybilConfig","type":"tuple","internalType":"struct StrategyStruct.SybilConfig","components":[{"name":"sybilOracleScorer","type":"address","internalType":"address"},{"name":"threshold","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":[{"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":"0x60806040523480156200001157600080fd5b506001600090815562000046907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b906200004c565b62000099565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6146a280620000a96000396000f3fe608060405234801561001057600080fd5b506004361061036d5760003560e01c80636c53db9a116101d3578063a230c52411610104578063c8a593e9116100a2578063d7050f071161007c578063d7050f0714610876578063db61d65c1461087f578063ebd7dc5214610892578063f86c5f89146108a557600080fd5b8063c8a593e91461083d578063d547741f14610850578063d6d8428d1461086357600080fd5b8063b64e39af116100de578063b64e39af14610810578063b99b437014610825578063bc063e1a1461082d578063c6d572ae1461083557600080fd5b8063a230c5241461079e578063b3f00674146107f5578063b5058c501461080857600080fd5b80638961be6b116101715780639a72a86f1161014b5780639a72a86f14610724578063a0b21cdf14610754578063a0cf0aea1461077b578063a217fddf1461079657600080fd5b80638961be6b146106cf57806391d14854146106d857806396f0adec1461071157600080fd5b806378a0b8a9116101ad57806378a0b8a91461063d5780637b1039991461064657806382d6a1e71461065957806388cfe6841461066c57600080fd5b80636c53db9a146105de57806373265c37146105f15780637817ee4f1461060457600080fd5b80632f2ff15d116102ad578063477a5cc01161024b5780635ecf71c5116102255780635ecf71c51461057a57806365e3864c1461058d5780636871eb4d146105b857806368decabb146105cb57600080fd5b8063477a5cc014610526578063559de05d146105545780635c94e4d21461056757600080fd5b80633517aa7d116102875780633517aa7d146104d557806336568abe146104dd578063397e2543146104f05780633a871fe11461050357600080fd5b80632f2ff15d146104a657806331f61bca146104b957806333960459146104cc57600080fd5b80631f787d281161031a578063248a9ca3116102f4578063248a9ca31461042357806328c309e9146104475780632b38c69c1461044f5780632c611c4a1461047a57600080fd5b80631f787d28146103f0578063223e5479146103fd57806322bcf9991461041057600080fd5b80630d12bbdb1161034b5780630d12bbdb146103b55780630d4a8b49146103ca578063175188e8146103dd57600080fd5b806301ffc9a7146103725780630331383c1461039a57806308386eba146103ac575b600080fd5b61038561038036600461377d565b6108b8565b60405190151581526020015b60405180910390f35b6003545b604051908152602001610391565b61039e60055481565b6103c86103c33660046137a7565b610908565b005b6103c86103d83660046137e5565b610992565b6103c86103eb36600461381e565b610cf9565b6002546103859060ff1681565b6103c861040b36600461381e565b610d0d565b6103c861041e3660046137e5565b610d1e565b61039e6104313660046137a7565b6000908152600160208190526040909120015490565b61039e610e2d565b61046261045d36600461383b565b610f17565b6040516001600160a01b039091168152602001610391565b61039e61048836600461381e565b6001600160a01b031660009081526013602052604090206001015490565b6103c86104b4366004613867565b610f4f565b6103c86104c73660046137a7565b610f7a565b61039e60095481565b6103c8610fb7565b6103c86104eb366004613867565b6113bc565b6103c86104fe36600461381e565b61144d565b61038561051136600461381e565b60116020526000908152604090205460ff1681565b6103856105343660046137e5565b601560209081526000928352604080842090915290825290205460ff1681565b6103c86105623660046137a7565b6114ba565b600854610462906001600160a01b031681565b6103c86105883660046137a7565b611794565b61039e61059b3660046137e5565b601260209081526000928352604080842090915290825290205481565b6103c86105c63660046137e5565b611b4e565b600a54610462906001600160a01b031681565b600d54610462906001600160a01b031681565b6103c86105ff3660046137a7565b611d59565b61039e6106123660046137e5565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b61039e60035481565b600b54610462906001600160a01b031681565b6103c86106673660046137a7565b611deb565b6106a861067a36600461381e565b6013602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b0390941684526020840192909252151590820152606001610391565b61039e60045481565b6103856106e6366004613867565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6103c861071f366004613a50565b611e9c565b610737610732366004613ce7565b612388565b604080519283526001600160a01b03909116602083015201610391565b61039e7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b61046273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61039e600081565b6103856107ac36600461381e565b6001600160a01b039081166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b600654610462906001600160a01b031681565b6103c86123d2565b61081861241e565b6040516103919190613d9a565b6103c86124ac565b61039e61260f565b61081861261f565b61073761084b366004613dad565b61262c565b6103c861085e366004613867565b6127ab565b600e54610462906001600160a01b031681565b61039e61271081565b600c54610462906001600160a01b031681565b6103856108a036600461381e565b6127d1565b600754610462906001600160a01b031681565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061090257506301ffc9a760e01b6001600160e01b03198316145b92915050565b610910612811565b61091d612710600a613e39565b811115610956576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60048190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b61099b82612879565b6109a4816128dc565b6109ad8161292e565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff1615610a0d576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0380831660009081526013602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff161515918301919091526003805490846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abd9190613e66565b6003811115610ace57610ace613e50565b03610b4d5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b469190613e83565b9050610c3f565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb39190613e66565b6003811115610bc457610bc4613e50565b14610c3f5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af1158015610c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3c9190613e83565b90505b6001600160a01b038581166000818152601260209081526040808320948916808452948252808320869055838352601582528083208584528252808320805460ff19166001908117909155848452601483528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b610d01612811565b610d0a8161296e565b50565b610d15612811565b610d0a816129c8565b610d2782612879565b610d308161292e565b610d3a3382612a6f565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff16610d99576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000818152601560209081526040808320948616808452948252808320805460ff191690559282526012815282822093825292909252812055610de78282612aba565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b910160405180910390a15050565b6007546000906001600160a01b031681610e4a6127106064613e39565b600454600354610e5a9190613e39565b610e649190613e9c565b90506000610e756127106064613e39565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190613e83565b600354610eea9190613e39565b610ef49190613e9c565b90508082600354610f059190613ebe565b610f0f9190613ebe565b935050505090565b60146020528160005260406000208181548110610f3357600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008281526001602081905260409091200154610f6b81612bdc565b610f758383612be6565b505050565b610f82612811565b60038190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f90602001610987565b610fbf612c6d565b33600081815260136020526040812060075490916001600160a01b0390911690610fec6127106064613e39565b600454600354610ffc9190613e39565b6110069190613e9c565b905060006110176127106064613e39565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190613e83565b60035461108c9190613e39565b6110969190613e9c565b6001600160a01b038087166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190529091506113ab5760028401805460ff191660019081179091556003549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152600c5461114691906001600160a01b0316612cc6565b6111788530838560035461115a9190613ebe565b6111649190613ebe565b600c546001600160a01b0316929190612d24565b6111b76040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e74000000000000000000000000000081525083612da8565b81156112245760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260065461120791906001600160a01b0316612cc6565b600654600c54611224916001600160a01b03918216911684612e06565b6112636040518060400160405280601081526020017f67617264656e73466565416d6f756e740000000000000000000000000000000081525082612da8565b8015611364576112ec60405180606001604052806026815260200161464760269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e79190613ed1565b612cc6565b611364836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113519190613ed1565b600c546001600160a01b03169083612e06565b600354604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b50505050506113ba6001600055565b565b6001600160a01b038116331461143f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6114498282612e36565b5050565b611455612811565b61145e8161292e565b600a80546001600160a01b0319166001600160a01b03838116918217909255600d546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610987565b6114c2612c6d565b6114ca612eb9565b3360008181526014602090815260408083208054825181850281018501909352808352919290919083018282801561152b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161150d575b50505050509050600080600090505b82518110156116fb5782818151811061155557611555613eee565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af11580156115b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d49190613e83565b915081156116e9576001600160a01b0384166000908152601260205260408120845184929086908590811061160b5761160b613eee565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546116429190613ebe565b925050819055506116e96040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525060126000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815181106116bb576116bb613eee565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054612da8565b806116f381613f04565b91505061153a565b50600c54611714906001600160a01b0316843087612d24565b6001600160a01b0383166000908152601360205260408120600101805486929061173f908490613ebe565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a1505050610d0a6001600055565b61179c612c6d565b6117a4612eb9565b336000818152601460209081526040808320600354601390935290832060010154909291906117d4908690613f1d565b101561180c576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c54611823906001600160a01b03168486612e06565b60005b8254811015611ade57600083828154811061184357611843613eee565b6000918252602090912001546001600160a01b0316905061186b8163f1801e6160e01b612f18565b15611a12576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156118d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fc9190613e83565b9250600060126000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858154811061193957611939613eee565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156119a4576040517f8a11f3180000000000000000000000000000000000000000000000000000000081526004810185905260248101829052604401611436565b6001600160a01b038616600090815260126020526040812086548692908890879081106119d3576119d3613eee565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190611a07908490613f1d565b909155505050611acb565b83548490611a2290600190613f1d565b81548110611a3257611a32613eee565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110611a6257611a62613eee565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480611aa057611aa0613f30565b600082815260209020810160001990810180546001600160a01b0319169055019055611acb8161296e565b5080611ad681613f04565b915050611826565b506001600160a01b03831660009081526013602052604081206001018054869290611b0a908490613f1d565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8910161177f565b611b56612c6d565b611b5e612811565b60025460ff16611b9a576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052611bfd57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152611c4b83612f3b565b6001600160a01b03838116600090815260136020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff19169055600c5490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af1158015611cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfd9190613f46565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a1506114496001600055565b611d61612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611dab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dd39190810190613f63565b602001519050611de28161292e565b6114498161296e565b611df3612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611e3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e659190810190613f63565b602001519050611e748161292e565b611e8e6001600160a01b03821663f1801e6160e01b612f18565b1561144957611449816129c8565b611ea9816020015161292e565b611eb781610100015161292e565b8051611ec29061292e565b611ecf8160a0015161292e565b611edd81610180015161292e565b606081015115611ef457611ef48160c0015161292e565b8051600e80546001600160a01b039283166001600160a01b0319918216179091556020830151600c80549190931691161790556040810151600003611f65576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015160035560608101516004556101408101516002805460ff1916911515919091179055610120810151600f90611f9f908261410d565b50610160810151601090611fb3908261410d565b5060a0810151600780546001600160a01b03199081166001600160a01b039384161790915560c0830151600680548316918416919091179055610100830151600d8054831682851617905561018084015160088054909316931692909217905561203e907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90612be6565b600e60009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015612091573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b59190613ed1565b600b80546001600160a01b0319166001600160a01b03928316179055600d54604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261215791908101906141cd565b90506000815160026121699190613ebe565b67ffffffffffffffff8111156121815761218161388c565b6040519080825280602002602001820160405280156121aa578160200160208202803683370190505b50905060005b825181101561220f578281815181106121cb576121cb613eee565b60200260200101518282815181106121e5576121e5613eee565b6001600160a01b03909216602092830291909101909101528061220781613f04565b9150506121b0565b50600d5481516001600160a01b0390911690829061222f90600190613f1d565b8151811061223f5761223f613eee565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835161226f9190613f1d565b8151811061227f5761227f613eee565b6001600160a01b039283166020918202929092010152600b54608085015160e08601516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f926122e79291600f913090889060040161435f565b6020604051808303816000875af1158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613e83565b60055580516123409060169060208401906136e9565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205600554600f8560e0015160405161237b939291906143ad565b60405180910390a1505050565b60085460098054600092839283926123b7926001600160a01b031691846123ae83613f04565b9190505561305d565b90506123c58187878761262c565b9250925050935093915050565b600a546001600160a01b03163314612416576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113ba6130b1565b6010805461242b90614085565b80601f016020809104026020016040519081016040528092919081815260200182805461245790614085565b80156124a45780601f10612479576101008083540402835291602001916124a4565b820191906000526020600020905b81548152906001019060200180831161248757829003601f168201915b505050505081565b6124b4612c6d565b336124be81612879565b6124c781612f3b565b6001600160a01b0380821660008181526013602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945560149052918220909161253e919061374e565b600c54602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015612596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ba9190613f46565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a150506113ba6001600055565b61261c612710600a613e39565b81565b600f805461242b90614085565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156126565750845b869150600060168054806020026020016040519081016040528092919081815260200182805480156126b157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612693575b5050600e546005546040519596506001600160a01b039091169463e1007d4a94509092508791506126e6908b906020016143f6565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b815260040161271c979695949392919061449f565b6020604051808303816000875af115801561273b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061275f9190613e83565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a8960405161279895949392919061450b565b60405180910390a1505094509492505050565b600082815260016020819052604090912001546127c781612bdc565b610f758383612e36565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff16610902565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff166113ba576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038082166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052610d0a57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03811660009081526011602052604090205460ff16610d0a576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116610d0a576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129778161292e565b6001600160a01b038116600081815260116020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49101610987565b6001600160a01b03811660009081526011602052604090205460ff1615612a1b576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815260116020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610987565b806001600160a01b0316826001600160a01b031614611449576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152601460205260408120905b8154811015612bd657826001600160a01b0316828281548110612af957612af9613eee565b6000918252602090912001546001600160a01b031603612bc45781548290612b2390600190613f1d565b81548110612b3357612b33613eee565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110612b6357612b63613eee565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480612ba157612ba1613f30565b600082815260209020810160001990810180546001600160a01b03191690550190555b80612bce81613f04565b915050612ad4565b50505050565b610d0a813361310c565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b600260005403612cbf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401611436565b6002600055565b6114498282604051602401612cdc929190614545565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b0380851660248301528316604482015260648101829052612bd69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526131a2565b6114498282604051602401612dbe929190614570565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b038316602482015260448101829052610f7590849063a9059cbb60e01b90606401612d71565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16156114495760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b33600090815260136020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526113ba57604051636a5cfb6d60e01b815260040160405180910390fd5b6000612f238361328a565b8015612f345750612f3483836132bd565b9392505050565b6001600160a01b038116600090815260146020908152604080832080548251818502810185019093528083529192909190830182828015612fa557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612f87575b5050505050905060005b8151811015610f7557818181518110612fca57612fca613eee565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801561303257600080fd5b505af1158015613046573d6000803e3d6000fd5b50505050808061305590613f04565b915050612faf565b6040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506130a98482613346565b949350505050565b600a8054600d80546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495761313f816133e3565b61314a8360206133f5565b60405160200161315b929190614592565b60408051601f198184030181529082905262461bcd60e51b825261143691600401613d9a565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006131f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135d69092919063ffffffff16565b90508051600014806132185750808060200190518101906132189190613f46565b610f755760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611436565b600061329d826301ffc9a760e01b6132bd565b801561090257506132b6826001600160e01b03196132bd565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561332f575060208210155b801561333b5750600081115b979650505050505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166109025760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401611436565b60606109026001600160a01b03831660145b60606000613404836002613e39565b61340f906002613ebe565b67ffffffffffffffff8111156134275761342761388c565b6040519080825280601f01601f191660200182016040528015613451576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061348857613488613eee565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106134d3576134d3613eee565b60200101906001600160f81b031916908160001a90535060006134f7846002613e39565b613502906001613ebe565b90505b6001811115613587577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061354357613543613eee565b1a60f81b82828151811061355957613559613eee565b60200101906001600160f81b031916908160001a90535060049490941c9361358081614613565b9050613505565b508315612f345760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611436565b60606130a9848460008585600080866001600160a01b031685876040516135fd919061462a565b60006040518083038185875af1925050503d806000811461363a576040519150601f19603f3d011682016040523d82523d6000602084013e61363f565b606091505b509150915061333b87838387606083156136ba5782516000036136b3576001600160a01b0385163b6136b35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611436565b50816130a9565b6130a983838151156136cf5781518083602001fd5b8060405162461bcd60e51b81526004016114369190613d9a565b82805482825590600052602060002090810192821561373e579160200282015b8281111561373e57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613709565b5061374a929150613768565b5090565b5080546000825590600052602060002090810190610d0a91905b5b8082111561374a5760008155600101613769565b60006020828403121561378f57600080fd5b81356001600160e01b031981168114612f3457600080fd5b6000602082840312156137b957600080fd5b5035919050565b6001600160a01b0381168114610d0a57600080fd5b80356137e0816137c0565b919050565b600080604083850312156137f857600080fd5b8235613803816137c0565b91506020830135613813816137c0565b809150509250929050565b60006020828403121561383057600080fd5b8135612f34816137c0565b6000806040838503121561384e57600080fd5b8235613859816137c0565b946020939093013593505050565b6000806040838503121561387a57600080fd5b823591506020830135613813816137c0565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156138c5576138c561388c565b60405290565b6040516101a0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051610120810167ffffffffffffffff811182821017156138c5576138c561388c565b60405160c0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051601f8201601f1916810167ffffffffffffffff8111828210171561395f5761395f61388c565b604052919050565b600067ffffffffffffffff8211156139815761398161388c565b50601f01601f191660200190565b600082601f8301126139a057600080fd5b81356139b36139ae82613967565b613936565b8181528460208386010111156139c857600080fd5b816020850160208301376000918101602001919091529392505050565b6000604082840312156139f757600080fd5b6139ff6138a2565b905081358152602082013567ffffffffffffffff811115613a1f57600080fd5b613a2b8482850161398f565b60208301525092915050565b8015158114610d0a57600080fd5b80356137e081613a37565b600060208284031215613a6257600080fd5b813567ffffffffffffffff80821115613a7a57600080fd5b908301906101a08286031215613a8f57600080fd5b613a976138cb565b613aa0836137d5565b8152613aae602084016137d5565b6020820152604083013560408201526060830135606082015260808301356080820152613add60a084016137d5565b60a0820152613aee60c084016137d5565b60c082015260e083013582811115613b0557600080fd5b613b11878286016139e5565b60e083015250610100613b258185016137d5565b908201526101208381013583811115613b3d57600080fd5b613b498882870161398f565b828401525050610140613b5d818501613a45565b908201526101608381013583811115613b7557600080fd5b613b818882870161398f565b8284015250506101809150613b978284016137d5565b91810191909152949350505050565b8035600381106137e057600080fd5b60048110610d0a57600080fd5b80356137e081613bb5565b600060208284031215613bdf57600080fd5b6040516020810181811067ffffffffffffffff82111715613c0257613c0261388c565b6040529135825250919050565b600060408284031215613c2157600080fd5b613c296138a2565b90508135613c36816137c0565b808252506020820135602082015292915050565b60006101408284031215613c5d57600080fd5b613c656138ef565b9050613c70826137d5565b815260208201356020820152604082013560408201526060820135606082015260808201356080820152613ca660a08301613ba6565b60a0820152613cb760c08301613bc2565b60c0820152613cc98360e08401613bcd565b60e0820152610100613cdd84828501613c0f565b9082015292915050565b60008060006101808486031215613cfd57600080fd5b8335613d08816137c0565b9250613d178560208601613c4a565b915061016084013567ffffffffffffffff811115613d3457600080fd5b613d40868287016139e5565b9150509250925092565b60005b83811015613d65578181015183820152602001613d4d565b50506000910152565b60008151808452613d86816020860160208601613d4a565b601f01601f19169290920160200192915050565b602081526000612f346020830184613d6e565b6000806000806101a08587031215613dc457600080fd5b8435613dcf816137c0565b93506020850135613ddf816137c0565b9250613dee8660408701613c4a565b915061018085013567ffffffffffffffff811115613e0b57600080fd5b613e17878288016139e5565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761090257610902613e23565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613e7857600080fd5b8151612f3481613bb5565b600060208284031215613e9557600080fd5b5051919050565b600082613eb957634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561090257610902613e23565b600060208284031215613ee357600080fd5b8151612f34816137c0565b634e487b7160e01b600052603260045260246000fd5b600060018201613f1657613f16613e23565b5060010190565b8181038181111561090257610902613e23565b634e487b7160e01b600052603160045260246000fd5b600060208284031215613f5857600080fd5b8151612f3481613a37565b60006020808385031215613f7657600080fd5b825167ffffffffffffffff80821115613f8e57600080fd5b9084019060c08287031215613fa257600080fd5b613faa613913565b8251815283830151613fbb816137c0565b818501526040830151613fcd816137c0565b6040820152606083015182811115613fe457600080fd5b830160408189031215613ff657600080fd5b613ffe6138a2565b81518152858201518481111561401357600080fd5b82019350601f8401891361402657600080fd5b835191506140366139ae83613967565b828152898784870101111561404a57600080fd5b61405983888301898801613d4a565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c9082168061409957607f821691505b6020821081036140b957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f7557600081815260208120601f850160051c810160208610156140e65750805b601f850160051c820191505b81811015614105578281556001016140f2565b505050505050565b815167ffffffffffffffff8111156141275761412761388c565b61413b816141358454614085565b846140bf565b602080601f83116001811461417057600084156141585750858301515b600019600386901b1c1916600185901b178555614105565b600085815260208120601f198616915b8281101561419f57888601518255948401946001909101908401614180565b50858210156141bd5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083850312156141e057600080fd5b825167ffffffffffffffff808211156141f857600080fd5b818501915085601f83011261420c57600080fd5b81518181111561421e5761421e61388c565b8060051b915061422f848301613936565b818152918301840191848101908884111561424957600080fd5b938501935b838510156142735784519250614263836137c0565b828252938501939085019061424e565b98975050505050505050565b6000815461428c81614085565b8085526020600183811680156142a957600181146142c3576142f1565b60ff1985168884015283151560051b8801830195506142f1565b866000528260002060005b858110156142e95781548a82018601529083019084016142ce565b890184019650505b505050505092915050565b8051825260006020820151604060208501526130a96040850182613d6e565b600081518084526020808501945080840160005b838110156143545781516001600160a01b03168752958201959082019060010161432f565b509495945050505050565b85815260a06020820152600061437860a083018761427f565b828103604084015261438a81876142fc565b90506001600160a01b03851660608401528281036080840152614273818561431b565b8381526060602082015260006143c6606083018561427f565b82810360408401526143d881856142fc565b9695505050505050565b600481106143f2576143f2613e50565b9052565b6000610140820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061444957614449613e50565b8060a08401525060c083015161446260c08401826143e2565b5060e083015161447560e0840182519052565b506101008381015180516001600160a01b0316848301526020810151610120850152505092915050565b87815260006001600160a01b03808916602084015260e060408401526144c860e0840189613d6e565b818816606085015286608085015283810360a08501526144e881876142fc565b91505082810360c08401526144fd818561431b565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a0608083015261333b60a08301846142fc565b6040815260006145586040830185613d6e565b90506001600160a01b03831660208301529392505050565b6040815260006145836040830185613d6e565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516145ca816017850160208801613d4a565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351614607816028840160208801613d4a565b01602801949350505050565b60008161462257614622613e23565b506000190190565b6000825161463c818460208701613d4a565b919091019291505056fe67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829a2646970667358221220bca611242a8026815b84fc06ce7414f9a0771fe120a1bdebef2c9f513c6e0a7f64736f6c63430008130033","sourceMap":"1630:21524:113:-:0;;;7758:145;;;;;;;;;-1:-1:-1;1716:1:28;1821:7;:22;;;7840:56:113;;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:113:-;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061036d5760003560e01c80636c53db9a116101d3578063a230c52411610104578063c8a593e9116100a2578063d7050f071161007c578063d7050f0714610876578063db61d65c1461087f578063ebd7dc5214610892578063f86c5f89146108a557600080fd5b8063c8a593e91461083d578063d547741f14610850578063d6d8428d1461086357600080fd5b8063b64e39af116100de578063b64e39af14610810578063b99b437014610825578063bc063e1a1461082d578063c6d572ae1461083557600080fd5b8063a230c5241461079e578063b3f00674146107f5578063b5058c501461080857600080fd5b80638961be6b116101715780639a72a86f1161014b5780639a72a86f14610724578063a0b21cdf14610754578063a0cf0aea1461077b578063a217fddf1461079657600080fd5b80638961be6b146106cf57806391d14854146106d857806396f0adec1461071157600080fd5b806378a0b8a9116101ad57806378a0b8a91461063d5780637b1039991461064657806382d6a1e71461065957806388cfe6841461066c57600080fd5b80636c53db9a146105de57806373265c37146105f15780637817ee4f1461060457600080fd5b80632f2ff15d116102ad578063477a5cc01161024b5780635ecf71c5116102255780635ecf71c51461057a57806365e3864c1461058d5780636871eb4d146105b857806368decabb146105cb57600080fd5b8063477a5cc014610526578063559de05d146105545780635c94e4d21461056757600080fd5b80633517aa7d116102875780633517aa7d146104d557806336568abe146104dd578063397e2543146104f05780633a871fe11461050357600080fd5b80632f2ff15d146104a657806331f61bca146104b957806333960459146104cc57600080fd5b80631f787d281161031a578063248a9ca3116102f4578063248a9ca31461042357806328c309e9146104475780632b38c69c1461044f5780632c611c4a1461047a57600080fd5b80631f787d28146103f0578063223e5479146103fd57806322bcf9991461041057600080fd5b80630d12bbdb1161034b5780630d12bbdb146103b55780630d4a8b49146103ca578063175188e8146103dd57600080fd5b806301ffc9a7146103725780630331383c1461039a57806308386eba146103ac575b600080fd5b61038561038036600461377d565b6108b8565b60405190151581526020015b60405180910390f35b6003545b604051908152602001610391565b61039e60055481565b6103c86103c33660046137a7565b610908565b005b6103c86103d83660046137e5565b610992565b6103c86103eb36600461381e565b610cf9565b6002546103859060ff1681565b6103c861040b36600461381e565b610d0d565b6103c861041e3660046137e5565b610d1e565b61039e6104313660046137a7565b6000908152600160208190526040909120015490565b61039e610e2d565b61046261045d36600461383b565b610f17565b6040516001600160a01b039091168152602001610391565b61039e61048836600461381e565b6001600160a01b031660009081526013602052604090206001015490565b6103c86104b4366004613867565b610f4f565b6103c86104c73660046137a7565b610f7a565b61039e60095481565b6103c8610fb7565b6103c86104eb366004613867565b6113bc565b6103c86104fe36600461381e565b61144d565b61038561051136600461381e565b60116020526000908152604090205460ff1681565b6103856105343660046137e5565b601560209081526000928352604080842090915290825290205460ff1681565b6103c86105623660046137a7565b6114ba565b600854610462906001600160a01b031681565b6103c86105883660046137a7565b611794565b61039e61059b3660046137e5565b601260209081526000928352604080842090915290825290205481565b6103c86105c63660046137e5565b611b4e565b600a54610462906001600160a01b031681565b600d54610462906001600160a01b031681565b6103c86105ff3660046137a7565b611d59565b61039e6106123660046137e5565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b61039e60035481565b600b54610462906001600160a01b031681565b6103c86106673660046137a7565b611deb565b6106a861067a36600461381e565b6013602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b0390941684526020840192909252151590820152606001610391565b61039e60045481565b6103856106e6366004613867565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6103c861071f366004613a50565b611e9c565b610737610732366004613ce7565b612388565b604080519283526001600160a01b03909116602083015201610391565b61039e7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b61046273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61039e600081565b6103856107ac36600461381e565b6001600160a01b039081166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b600654610462906001600160a01b031681565b6103c86123d2565b61081861241e565b6040516103919190613d9a565b6103c86124ac565b61039e61260f565b61081861261f565b61073761084b366004613dad565b61262c565b6103c861085e366004613867565b6127ab565b600e54610462906001600160a01b031681565b61039e61271081565b600c54610462906001600160a01b031681565b6103856108a036600461381e565b6127d1565b600754610462906001600160a01b031681565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061090257506301ffc9a760e01b6001600160e01b03198316145b92915050565b610910612811565b61091d612710600a613e39565b811115610956576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60048190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b61099b82612879565b6109a4816128dc565b6109ad8161292e565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff1615610a0d576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0380831660009081526013602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff161515918301919091526003805490846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abd9190613e66565b6003811115610ace57610ace613e50565b03610b4d5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b469190613e83565b9050610c3f565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb39190613e66565b6003811115610bc457610bc4613e50565b14610c3f5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af1158015610c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3c9190613e83565b90505b6001600160a01b038581166000818152601260209081526040808320948916808452948252808320869055838352601582528083208584528252808320805460ff19166001908117909155848452601483528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b610d01612811565b610d0a8161296e565b50565b610d15612811565b610d0a816129c8565b610d2782612879565b610d308161292e565b610d3a3382612a6f565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff16610d99576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000818152601560209081526040808320948616808452948252808320805460ff191690559282526012815282822093825292909252812055610de78282612aba565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b910160405180910390a15050565b6007546000906001600160a01b031681610e4a6127106064613e39565b600454600354610e5a9190613e39565b610e649190613e9c565b90506000610e756127106064613e39565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190613e83565b600354610eea9190613e39565b610ef49190613e9c565b90508082600354610f059190613ebe565b610f0f9190613ebe565b935050505090565b60146020528160005260406000208181548110610f3357600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008281526001602081905260409091200154610f6b81612bdc565b610f758383612be6565b505050565b610f82612811565b60038190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f90602001610987565b610fbf612c6d565b33600081815260136020526040812060075490916001600160a01b0390911690610fec6127106064613e39565b600454600354610ffc9190613e39565b6110069190613e9c565b905060006110176127106064613e39565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190613e83565b60035461108c9190613e39565b6110969190613e9c565b6001600160a01b038087166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190529091506113ab5760028401805460ff191660019081179091556003549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152600c5461114691906001600160a01b0316612cc6565b6111788530838560035461115a9190613ebe565b6111649190613ebe565b600c546001600160a01b0316929190612d24565b6111b76040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e74000000000000000000000000000081525083612da8565b81156112245760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260065461120791906001600160a01b0316612cc6565b600654600c54611224916001600160a01b03918216911684612e06565b6112636040518060400160405280601081526020017f67617264656e73466565416d6f756e740000000000000000000000000000000081525082612da8565b8015611364576112ec60405180606001604052806026815260200161464760269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e79190613ed1565b612cc6565b611364836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113519190613ed1565b600c546001600160a01b03169083612e06565b600354604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b50505050506113ba6001600055565b565b6001600160a01b038116331461143f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6114498282612e36565b5050565b611455612811565b61145e8161292e565b600a80546001600160a01b0319166001600160a01b03838116918217909255600d546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610987565b6114c2612c6d565b6114ca612eb9565b3360008181526014602090815260408083208054825181850281018501909352808352919290919083018282801561152b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161150d575b50505050509050600080600090505b82518110156116fb5782818151811061155557611555613eee565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af11580156115b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d49190613e83565b915081156116e9576001600160a01b0384166000908152601260205260408120845184929086908590811061160b5761160b613eee565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546116429190613ebe565b925050819055506116e96040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525060126000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815181106116bb576116bb613eee565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054612da8565b806116f381613f04565b91505061153a565b50600c54611714906001600160a01b0316843087612d24565b6001600160a01b0383166000908152601360205260408120600101805486929061173f908490613ebe565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a1505050610d0a6001600055565b61179c612c6d565b6117a4612eb9565b336000818152601460209081526040808320600354601390935290832060010154909291906117d4908690613f1d565b101561180c576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c54611823906001600160a01b03168486612e06565b60005b8254811015611ade57600083828154811061184357611843613eee565b6000918252602090912001546001600160a01b0316905061186b8163f1801e6160e01b612f18565b15611a12576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156118d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fc9190613e83565b9250600060126000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858154811061193957611939613eee565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156119a4576040517f8a11f3180000000000000000000000000000000000000000000000000000000081526004810185905260248101829052604401611436565b6001600160a01b038616600090815260126020526040812086548692908890879081106119d3576119d3613eee565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190611a07908490613f1d565b909155505050611acb565b83548490611a2290600190613f1d565b81548110611a3257611a32613eee565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110611a6257611a62613eee565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480611aa057611aa0613f30565b600082815260209020810160001990810180546001600160a01b0319169055019055611acb8161296e565b5080611ad681613f04565b915050611826565b506001600160a01b03831660009081526013602052604081206001018054869290611b0a908490613f1d565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8910161177f565b611b56612c6d565b611b5e612811565b60025460ff16611b9a576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052611bfd57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152611c4b83612f3b565b6001600160a01b03838116600090815260136020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff19169055600c5490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af1158015611cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfd9190613f46565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a1506114496001600055565b611d61612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611dab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dd39190810190613f63565b602001519050611de28161292e565b6114498161296e565b611df3612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611e3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e659190810190613f63565b602001519050611e748161292e565b611e8e6001600160a01b03821663f1801e6160e01b612f18565b1561144957611449816129c8565b611ea9816020015161292e565b611eb781610100015161292e565b8051611ec29061292e565b611ecf8160a0015161292e565b611edd81610180015161292e565b606081015115611ef457611ef48160c0015161292e565b8051600e80546001600160a01b039283166001600160a01b0319918216179091556020830151600c80549190931691161790556040810151600003611f65576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015160035560608101516004556101408101516002805460ff1916911515919091179055610120810151600f90611f9f908261410d565b50610160810151601090611fb3908261410d565b5060a0810151600780546001600160a01b03199081166001600160a01b039384161790915560c0830151600680548316918416919091179055610100830151600d8054831682851617905561018084015160088054909316931692909217905561203e907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90612be6565b600e60009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015612091573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b59190613ed1565b600b80546001600160a01b0319166001600160a01b03928316179055600d54604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261215791908101906141cd565b90506000815160026121699190613ebe565b67ffffffffffffffff8111156121815761218161388c565b6040519080825280602002602001820160405280156121aa578160200160208202803683370190505b50905060005b825181101561220f578281815181106121cb576121cb613eee565b60200260200101518282815181106121e5576121e5613eee565b6001600160a01b03909216602092830291909101909101528061220781613f04565b9150506121b0565b50600d5481516001600160a01b0390911690829061222f90600190613f1d565b8151811061223f5761223f613eee565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835161226f9190613f1d565b8151811061227f5761227f613eee565b6001600160a01b039283166020918202929092010152600b54608085015160e08601516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f926122e79291600f913090889060040161435f565b6020604051808303816000875af1158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613e83565b60055580516123409060169060208401906136e9565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205600554600f8560e0015160405161237b939291906143ad565b60405180910390a1505050565b60085460098054600092839283926123b7926001600160a01b031691846123ae83613f04565b9190505561305d565b90506123c58187878761262c565b9250925050935093915050565b600a546001600160a01b03163314612416576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113ba6130b1565b6010805461242b90614085565b80601f016020809104026020016040519081016040528092919081815260200182805461245790614085565b80156124a45780601f10612479576101008083540402835291602001916124a4565b820191906000526020600020905b81548152906001019060200180831161248757829003601f168201915b505050505081565b6124b4612c6d565b336124be81612879565b6124c781612f3b565b6001600160a01b0380821660008181526013602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945560149052918220909161253e919061374e565b600c54602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015612596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ba9190613f46565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a150506113ba6001600055565b61261c612710600a613e39565b81565b600f805461242b90614085565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156126565750845b869150600060168054806020026020016040519081016040528092919081815260200182805480156126b157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612693575b5050600e546005546040519596506001600160a01b039091169463e1007d4a94509092508791506126e6908b906020016143f6565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b815260040161271c979695949392919061449f565b6020604051808303816000875af115801561273b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061275f9190613e83565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a8960405161279895949392919061450b565b60405180910390a1505094509492505050565b600082815260016020819052604090912001546127c781612bdc565b610f758383612e36565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff16610902565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff166113ba576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038082166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052610d0a57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03811660009081526011602052604090205460ff16610d0a576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116610d0a576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129778161292e565b6001600160a01b038116600081815260116020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49101610987565b6001600160a01b03811660009081526011602052604090205460ff1615612a1b576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815260116020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610987565b806001600160a01b0316826001600160a01b031614611449576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152601460205260408120905b8154811015612bd657826001600160a01b0316828281548110612af957612af9613eee565b6000918252602090912001546001600160a01b031603612bc45781548290612b2390600190613f1d565b81548110612b3357612b33613eee565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110612b6357612b63613eee565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480612ba157612ba1613f30565b600082815260209020810160001990810180546001600160a01b03191690550190555b80612bce81613f04565b915050612ad4565b50505050565b610d0a813361310c565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b600260005403612cbf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401611436565b6002600055565b6114498282604051602401612cdc929190614545565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b0380851660248301528316604482015260648101829052612bd69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526131a2565b6114498282604051602401612dbe929190614570565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b038316602482015260448101829052610f7590849063a9059cbb60e01b90606401612d71565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16156114495760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b33600090815260136020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526113ba57604051636a5cfb6d60e01b815260040160405180910390fd5b6000612f238361328a565b8015612f345750612f3483836132bd565b9392505050565b6001600160a01b038116600090815260146020908152604080832080548251818502810185019093528083529192909190830182828015612fa557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612f87575b5050505050905060005b8151811015610f7557818181518110612fca57612fca613eee565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801561303257600080fd5b505af1158015613046573d6000803e3d6000fd5b50505050808061305590613f04565b915050612faf565b6040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506130a98482613346565b949350505050565b600a8054600d80546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495761313f816133e3565b61314a8360206133f5565b60405160200161315b929190614592565b60408051601f198184030181529082905262461bcd60e51b825261143691600401613d9a565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006131f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135d69092919063ffffffff16565b90508051600014806132185750808060200190518101906132189190613f46565b610f755760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611436565b600061329d826301ffc9a760e01b6132bd565b801561090257506132b6826001600160e01b03196132bd565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561332f575060208210155b801561333b5750600081115b979650505050505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166109025760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401611436565b60606109026001600160a01b03831660145b60606000613404836002613e39565b61340f906002613ebe565b67ffffffffffffffff8111156134275761342761388c565b6040519080825280601f01601f191660200182016040528015613451576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061348857613488613eee565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106134d3576134d3613eee565b60200101906001600160f81b031916908160001a90535060006134f7846002613e39565b613502906001613ebe565b90505b6001811115613587577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061354357613543613eee565b1a60f81b82828151811061355957613559613eee565b60200101906001600160f81b031916908160001a90535060049490941c9361358081614613565b9050613505565b508315612f345760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611436565b60606130a9848460008585600080866001600160a01b031685876040516135fd919061462a565b60006040518083038185875af1925050503d806000811461363a576040519150601f19603f3d011682016040523d82523d6000602084013e61363f565b606091505b509150915061333b87838387606083156136ba5782516000036136b3576001600160a01b0385163b6136b35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611436565b50816130a9565b6130a983838151156136cf5781518083602001fd5b8060405162461bcd60e51b81526004016114369190613d9a565b82805482825590600052602060002090810192821561373e579160200282015b8281111561373e57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613709565b5061374a929150613768565b5090565b5080546000825590600052602060002090810190610d0a91905b5b8082111561374a5760008155600101613769565b60006020828403121561378f57600080fd5b81356001600160e01b031981168114612f3457600080fd5b6000602082840312156137b957600080fd5b5035919050565b6001600160a01b0381168114610d0a57600080fd5b80356137e0816137c0565b919050565b600080604083850312156137f857600080fd5b8235613803816137c0565b91506020830135613813816137c0565b809150509250929050565b60006020828403121561383057600080fd5b8135612f34816137c0565b6000806040838503121561384e57600080fd5b8235613859816137c0565b946020939093013593505050565b6000806040838503121561387a57600080fd5b823591506020830135613813816137c0565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156138c5576138c561388c565b60405290565b6040516101a0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051610120810167ffffffffffffffff811182821017156138c5576138c561388c565b60405160c0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051601f8201601f1916810167ffffffffffffffff8111828210171561395f5761395f61388c565b604052919050565b600067ffffffffffffffff8211156139815761398161388c565b50601f01601f191660200190565b600082601f8301126139a057600080fd5b81356139b36139ae82613967565b613936565b8181528460208386010111156139c857600080fd5b816020850160208301376000918101602001919091529392505050565b6000604082840312156139f757600080fd5b6139ff6138a2565b905081358152602082013567ffffffffffffffff811115613a1f57600080fd5b613a2b8482850161398f565b60208301525092915050565b8015158114610d0a57600080fd5b80356137e081613a37565b600060208284031215613a6257600080fd5b813567ffffffffffffffff80821115613a7a57600080fd5b908301906101a08286031215613a8f57600080fd5b613a976138cb565b613aa0836137d5565b8152613aae602084016137d5565b6020820152604083013560408201526060830135606082015260808301356080820152613add60a084016137d5565b60a0820152613aee60c084016137d5565b60c082015260e083013582811115613b0557600080fd5b613b11878286016139e5565b60e083015250610100613b258185016137d5565b908201526101208381013583811115613b3d57600080fd5b613b498882870161398f565b828401525050610140613b5d818501613a45565b908201526101608381013583811115613b7557600080fd5b613b818882870161398f565b8284015250506101809150613b978284016137d5565b91810191909152949350505050565b8035600381106137e057600080fd5b60048110610d0a57600080fd5b80356137e081613bb5565b600060208284031215613bdf57600080fd5b6040516020810181811067ffffffffffffffff82111715613c0257613c0261388c565b6040529135825250919050565b600060408284031215613c2157600080fd5b613c296138a2565b90508135613c36816137c0565b808252506020820135602082015292915050565b60006101408284031215613c5d57600080fd5b613c656138ef565b9050613c70826137d5565b815260208201356020820152604082013560408201526060820135606082015260808201356080820152613ca660a08301613ba6565b60a0820152613cb760c08301613bc2565b60c0820152613cc98360e08401613bcd565b60e0820152610100613cdd84828501613c0f565b9082015292915050565b60008060006101808486031215613cfd57600080fd5b8335613d08816137c0565b9250613d178560208601613c4a565b915061016084013567ffffffffffffffff811115613d3457600080fd5b613d40868287016139e5565b9150509250925092565b60005b83811015613d65578181015183820152602001613d4d565b50506000910152565b60008151808452613d86816020860160208601613d4a565b601f01601f19169290920160200192915050565b602081526000612f346020830184613d6e565b6000806000806101a08587031215613dc457600080fd5b8435613dcf816137c0565b93506020850135613ddf816137c0565b9250613dee8660408701613c4a565b915061018085013567ffffffffffffffff811115613e0b57600080fd5b613e17878288016139e5565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761090257610902613e23565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613e7857600080fd5b8151612f3481613bb5565b600060208284031215613e9557600080fd5b5051919050565b600082613eb957634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561090257610902613e23565b600060208284031215613ee357600080fd5b8151612f34816137c0565b634e487b7160e01b600052603260045260246000fd5b600060018201613f1657613f16613e23565b5060010190565b8181038181111561090257610902613e23565b634e487b7160e01b600052603160045260246000fd5b600060208284031215613f5857600080fd5b8151612f3481613a37565b60006020808385031215613f7657600080fd5b825167ffffffffffffffff80821115613f8e57600080fd5b9084019060c08287031215613fa257600080fd5b613faa613913565b8251815283830151613fbb816137c0565b818501526040830151613fcd816137c0565b6040820152606083015182811115613fe457600080fd5b830160408189031215613ff657600080fd5b613ffe6138a2565b81518152858201518481111561401357600080fd5b82019350601f8401891361402657600080fd5b835191506140366139ae83613967565b828152898784870101111561404a57600080fd5b61405983888301898801613d4a565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c9082168061409957607f821691505b6020821081036140b957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f7557600081815260208120601f850160051c810160208610156140e65750805b601f850160051c820191505b81811015614105578281556001016140f2565b505050505050565b815167ffffffffffffffff8111156141275761412761388c565b61413b816141358454614085565b846140bf565b602080601f83116001811461417057600084156141585750858301515b600019600386901b1c1916600185901b178555614105565b600085815260208120601f198616915b8281101561419f57888601518255948401946001909101908401614180565b50858210156141bd5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083850312156141e057600080fd5b825167ffffffffffffffff808211156141f857600080fd5b818501915085601f83011261420c57600080fd5b81518181111561421e5761421e61388c565b8060051b915061422f848301613936565b818152918301840191848101908884111561424957600080fd5b938501935b838510156142735784519250614263836137c0565b828252938501939085019061424e565b98975050505050505050565b6000815461428c81614085565b8085526020600183811680156142a957600181146142c3576142f1565b60ff1985168884015283151560051b8801830195506142f1565b866000528260002060005b858110156142e95781548a82018601529083019084016142ce565b890184019650505b505050505092915050565b8051825260006020820151604060208501526130a96040850182613d6e565b600081518084526020808501945080840160005b838110156143545781516001600160a01b03168752958201959082019060010161432f565b509495945050505050565b85815260a06020820152600061437860a083018761427f565b828103604084015261438a81876142fc565b90506001600160a01b03851660608401528281036080840152614273818561431b565b8381526060602082015260006143c6606083018561427f565b82810360408401526143d881856142fc565b9695505050505050565b600481106143f2576143f2613e50565b9052565b6000610140820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061444957614449613e50565b8060a08401525060c083015161446260c08401826143e2565b5060e083015161447560e0840182519052565b506101008381015180516001600160a01b0316848301526020810151610120850152505092915050565b87815260006001600160a01b03808916602084015260e060408401526144c860e0840189613d6e565b818816606085015286608085015283810360a08501526144e881876142fc565b91505082810360c08401526144fd818561431b565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a0608083015261333b60a08301846142fc565b6040815260006145586040830185613d6e565b90506001600160a01b03831660208301529392505050565b6040815260006145836040830185613d6e565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516145ca816017850160208801613d4a565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351614607816028840160208801613d4a565b01602801949350505050565b60008161462257614622613e23565b506000190190565b6000825161463c818460208701613d4a565b919091019291505056fe67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829a2646970667358221220bca611242a8026815b84fc06ce7414f9a0771fe120a1bdebef2c9f513c6e0a7f64736f6c63430008130033","sourceMap":"1630:21524:113:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2732:202:25;;;;;;:::i;:::-;;:::i;:::-;;;516:14:123;;509:22;491:41;;479:2;464:18;2732:202:25;;;;;;;;20889:107:113;20970:19;;20889:107;;;689:25:123;;;677:2;662:18;20889:107:113;543:177:123;6534:24:113;;;;;;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:113;;;:::i;7409:82::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;2704:55:123;;;2686:74;;2674:2;2659:18;7409:82:113;2540:226:123;16048:143:113;;;;;;:::i;:::-;-1:-1:-1;;;;;16143:28:113;16117:7;16143:28;;;:19;:28;;;;;:41;;;;16048:143;4929:145:25;;;;;;:::i;:::-;;:::i;21002:182:113:-;;;;;;:::i;:::-;;:::i;6714:25::-;;;;;;18503:1907;;;:::i;6038:214:25:-;;;;;;:::i;:::-;;:::i;17707:240:113:-;;;;;;:::i;:::-;;:::i;7164:68::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;7497:107;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;13179:998;;;;;;:::i;:::-;;:::i;6677:31::-;;;;;-1:-1:-1;;;;;6677:31:113;;;14317:1554;;;;;;:::i;:::-;;:::i;7238:98::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;22581:571;;;;;;:::i;:::-;;:::i;6745:41::-;;;;;-1:-1:-1;;;;;6745:41:113;;;6926:24;;;;;-1:-1:-1;;;;;6926:24:113;;;17154:229;;;;;;:::i;:::-;;:::i;15877:165::-;;;;;;:::i;:::-;-1:-1:-1;;;;;15994:30:113;;;15968:7;15994:30;;;:21;:30;;;;;;;;:41;;;;;;;;;;;;;15877:165;6461:34;;;;;;6864:25;;;;;-1:-1:-1;;;;;6864:25:113;;;16320:313;;;;;;:::i;:::-;;:::i;7343:60::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7343:60:113;;;;;;;;;;;;;-1:-1:-1;;;;;4307:55:123;;;4289:74;;4394:2;4379:18;;4372:34;;;;4449:14;4442:22;4422:18;;;4415:50;4277:2;4262:18;7343:60:113;4093:378:123;6501:27:113;;;;;;3021:145:25;;;;;;:::i;:::-;3107:4;3130:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3130:29:25;;;;;;;;;;;;;;;3021:145;7909:1945:113;;;;;;:::i;:::-;;:::i;9860:341::-;;;;;;:::i;:::-;;:::i;:::-;;;;11918:25:123;;;-1:-1:-1;;;;;11979:55:123;;;11974:2;11959:18;;11952:83;11891:18;9860:341:113;11744:297:123;2042:82:113;;2090:34;2042:82;;1796:75;;1829:42;1796:75;;2153:49:25;;2198:4;2153:49;;18315:182:113;;;;;;:::i;:::-;-1:-1:-1;;;;;18423:28:113;;;18371:14;18423:28;;;:19;:28;;;;;;;;;18397:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18315:182;6609:26;;;;;-1:-1:-1;;;;;6609:26:113;;;18138:171;;;:::i;7070:30::-;;;:::i;:::-;;;;;;;:::i;21650:453::-;;;:::i;7697:54::-;;;:::i;7037:27::-;;;:::i;10207:653::-;;;;;;:::i;:::-;;:::i;5354:147:25:-;;;;;;:::i;:::-;;:::i;6956:17:113:-;;;;;-1:-1:-1;;;;;6956:17:113;;;7642:49;;7684:7;7642:49;;6895:25;;;;;-1:-1:-1;;;;;6895:25:113;;;21512:132;;;;;;:::i;:::-;;:::i;6641:30::-;;;;;-1:-1:-1;;;;;6641:30:113;;;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:113:-;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:123;;;21426:37:113;;677:2:123;662:18;21426:37:113;;;;;;;;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:113;;;;;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;11077:107;;;11151:22;;;;;;;;;;;;;;11077:107;-1:-1:-1;;;;;11217:28:113;;;11194:20;11217:28;;;:19;:28;;;;;;;;;11194:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11340:19;;;;11389:9;-1:-1:-1;;;;;11374:40:113;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:82;;;;;;;;:::i;:::-;;11370:384;;11491:51;;-1:-1:-1;;;11491:51:113;;-1:-1:-1;;;;;15091:55:123;;;11491:51:113;;;15073:74:123;11540:1:113;15163:18:123;;;15156:34;11491:39:113;;;;;15046:18:123;;11491:51:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11472:70;;11370:384;;;11609:32;11578:9;-1:-1:-1;;;;;11563:40:113;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:78;;;;;;;;:::i;:::-;;11559:195;;11676:67;;-1:-1:-1;;;11676:67:113;;-1:-1:-1;;;;;15091:55:123;;;11676:67:113;;;15073:74:123;15163:18;;;15156:34;;;11676:39:113;;;;;15046:18:123;;11676:67:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11657:86;;11559:195;-1:-1:-1;;;;;11764:30:113;;;;;;;:21;:30;;;;;;;;:41;;;;;;;;;;;;:60;;;11853:36;;;:27;:36;;;;;:47;;;;;;;;:54;;-1:-1:-1;;11853:54:113;11903:4;11853:54;;;;;;11918:27;;;:18;:27;;;;;:43;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11918:43:113;;;;;11977:61;;15955:34:123;;;16005:18;;15998:43;;;;16057:18;;;16050:34;;;11977:61:113;;15882:2:123;15867:18;11977:61:113;;;;;;;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:113;;;;;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;12276:110;;12351:24;;;;;;;;;;;;;;12276:110;-1:-1:-1;;;;;12396:36:113;;;12446:5;12396:36;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;:55;;-1:-1:-1;;12396:55:113;;;12461:30;;;:21;:30;;;;;:41;;;;;;;;;:45;12516:44;12424:7;12433:9;12516:24;:44::i;:::-;12690:45;;;-1:-1:-1;;;;;16348:15:123;;;16330:34;;16400:15;;16395:2;16380:18;;16373:43;12690:45:113;;16242:18:123;12690:45:113;;;;;;;12051:691;;:::o;20416:467::-;20539:15;;20471:7;;-1:-1:-1;;;;;20539:15:113;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:113;20777:21;7684:7;20777:3;:21;:::i;:::-;20728:44;;-1:-1:-1;;;20728:44:113;;20766:4;20728:44;;;2686:74:123;-1:-1:-1;;;;;20728:29:113;;;;;2659:18:123;;20728:44:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::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:113;;-1:-1:-1;7409:82:113;;-1:-1:-1;7409:82:113: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:113:-;21071:17;:15;:17::i;:::-;21098:19;:32;;;21145;;689:25:123;;;21145:32:113;;677:2:123;662:18;21145:32:113;543:177:123;18503:1907:113;2261:21:28;:19;:21::i;:::-;18585:10:113::1;18567:15;18632:28:::0;;;:19:::1;:28;::::0;;;;18719:15:::1;::::0;18632:28;;-1:-1:-1;;;;;18719:15:113;;::::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:113::1;18957:21;7684:7;18957:3;:21;:::i;:::-;18908:44;::::0;-1:-1:-1;;;18908:44:113;;18946:4:::1;18908:44;::::0;::::1;2686:74:123::0;-1:-1:-1;;;;;18908:29:113;::::1;::::0;::::1;::::0;2659:18:123;;18908:44:113::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18886:19;;:66;;;;:::i;:::-;18885:94;;;;:::i;:::-;-1:-1:-1::0;;;;;18423:28:113;;;18371:14;18423:28;;;:19;:28;;;;;;;;;18397:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18846:133;;-1:-1:-1;18989:1415:113::1;;19027:22;::::0;::::1;:29:::0;;-1:-1:-1;;19027:29:113::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:113::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:113::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:113::1;19871;:39::i;:::-;19953:11;::::0;19928::::1;::::0;:57:::1;::::0;-1:-1:-1;;;;;19928:11:113;;::::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:113::1;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20120:11;:93::i;:::-;20231:82;20256:14;-1:-1:-1::0;;;;;20256:36:113::1;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20231:11;::::0;-1:-1:-1;;;;;20231:11:113::1;::::0;20296:16;20231:24:::1;:82::i;:::-;20373:19;::::0;20347:46:::1;::::0;;-1:-1:-1;;;;;15091:55:123;;15073:74;;15178:2;15163:18;;15156:34;;;;20347:46:113::1;::::0;15046:18:123;20347:46:113::1;;;;;;;18989:1415;18557:1853;;;;;2303:20:28::0;1716:1;2809:7;:22;2629:209;2303:20;18503:1907:113:o;6038:214:25:-;-1:-1:-1;;;;;6133:23:25;;719:10:35;6133:23:25;6125:83;;;;-1:-1:-1;;;6125:83:25;;17294:2:123;6125:83:25;;;17276:21:123;17333:2;17313:18;;;17306:30;17372:34;17352:18;;;17345:62;17443:17;17423:18;;;17416:45;17478:19;;6125:83:25;;;;;;;;;6219:26;6231:4;6237:7;6219:11;:26::i;:::-;6038:214;;:::o;17707:240:113:-;17771:17;:15;:17::i;:::-;17798:25;17817:5;17798:18;:25::i;:::-;17833:18;:26;;-1:-1:-1;;;;;;17833:26:113;-1:-1:-1;;;;;17833:26:113;;;;;;;;;17907:11;;17874:66;;;17907:11;;;;16330:34:123;;16395:2;16380:18;;16373:43;;;;17874:66:113;;16242:18:123;17874:66:113;16095:327:123;13179:998:113;2261:21:28;:19;:21::i;:::-;13255:26:113::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:113::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:113;;-1:-1:-1;;;;;15091:55:123;;;13628:72:113::1;::::0;::::1;15073:74:123::0;15163:18;;;15156:34;;;13628:49:113;;::::1;::::0;::::1;::::0;15046:18:123;;13628:72:113::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13609:91:::0;-1:-1:-1;13718:21:113;;13714:229:::1;;-1:-1:-1::0;;;;;13759:29:113;::::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:113::1;-1:-1:-1::0;;;;;13759:50:113::1;;;;;;;;;;;;;:70;;;;;;;:::i;:::-;;;;;;;;13847:81;;;;;;;;;;;;;;;;;::::0;13877:21:::1;:29;13899:6;-1:-1:-1::0;;;;;13877:29:113::1;-1:-1:-1::0;;;;;13877:29:113::1;;;;;;;;;;;;:50;13907:16;13924:1;13907:19;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;13877:50:113::1;-1:-1:-1::0;;;;;13877:50:113::1;;;;;;;;;;;;;13847:11;:81::i;:::-;13485:3:::0;::::1;::::0;::::1;:::i;:::-;;;;13436:533;;;-1:-1:-1::0;13979:11:113::1;::::0;:66:::1;::::0;-1:-1:-1;;;;;13979:11:113::1;14008:6:::0;14024:4:::1;14031:13:::0;13979:28:::1;:66::i;:::-;-1:-1:-1::0;;;;;14055:27:113;::::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:113::1;::::0;;-1:-1:-1;;;;;15091:55:123;;15073:74;;15178:2;15163:18;;15156:34;;;14127:43:113::1;::::0;15046:18:123;14127:43:113::1;;;;;;;;13245:932;;;2303:20:28::0;1716:1;2809:7;:22;2629:209;14317:1554:113;2261:21:28;:19;:21::i;:::-;14395:26:113::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:113::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:113::1;::::0;-1:-1:-1;14909:60:113::1;14872:19:::0;-1:-1:-1;;;14909:26:113::1;:60::i;:::-;14905:804;;;15008:63;::::0;;;;-1:-1:-1;;;;;15091:55:123;;;15008:63:113::1;::::0;::::1;15073:74:123::0;15163:18;;;15156:34;;;15008:38:113;::::1;::::0;::::1;::::0;15046:18:123;;15008:63:113::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14989:82;;15089:20;15112:21;:29;15134:6;-1:-1:-1::0;;;;;15112:29:113::1;-1:-1:-1::0;;;;;15112:29:113::1;;;;;;;;;;;;:50;15142:16;15159:1;15142:19;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;::::1;::::0;-1:-1:-1;;;;;15142:19:113::1;15112:50:::0;;;::::1;::::0;;;;;;;;;;-1:-1:-1;15184:31:113;;::::1;15180:259;;;15246:57;::::0;::::1;::::0;;::::1;::::0;::::1;18484:25:123::0;;;18525:18;;;18518:34;;;18457:18;;15246:57:113::1;18310:248:123::0;15180:259:113::1;-1:-1:-1::0;;;;;15350:29:113;::::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:113::1;15350:50:::0;;;::::1;::::0;;;;;;;;:70;;:50;;15380:19;15350:70:::1;::::0;;;::::1;:::i;:::-;::::0;;;-1:-1:-1;;14971:482:113::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:113::1;15544:16;15561:1;15544:19;;;;;;;;:::i;:::-;;;;;;;;;:67;;;;;-1:-1:-1::0;;;;;15544:67:113::1;;;;;-1:-1:-1::0;;;;;15544:67:113::1;;;;;;15629:16;:22;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;15629:22:113;;;;;-1:-1:-1;;;;;;15629:22:113::1;::::0;;;;;15669:25:::1;15685:8:::0;15669:15:::1;:25::i;:::-;-1:-1:-1::0;14834:3:113;::::1;::::0;::::1;:::i;:::-;;;;14785:951;;;-1:-1:-1::0;;;;;;15745:27:113;::::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:113::1;::::0;;-1:-1:-1;;;;;15091:55:123;;15073:74;;15178:2;15163:18;;15156:34;;;15819:45:113::1;::::0;15046:18:123;15819:45:113::1;14891:305:123::0;22581:571:113;2261:21:28;:19;:21::i;:::-;22674:17:113::1;:15;:17::i;:::-;22706:13;::::0;::::1;;22701:68;;22742:16;;;;;;;;;;;;;;22701:68;-1:-1:-1::0;;;;;18423:28:113;;;18371:14;18423:28;;;:19;:28;;;;;;;;;18397:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22778:75:::1;;22823:19;;-1:-1:-1::0;;;22823:19:113::1;;;;;;;;;;;22778:75;-1:-1:-1::0;;;;;22885:28:113;;::::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:113;;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;22965:35;;-1:-1:-1;;;;;;22965:35:113::1;::::0;;-1:-1:-1;22965:35:113;::::1;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;22965:35:113::1;::::0;;23011:11:::1;::::0;23050:19;;::::1;::::0;23011:59;;-1:-1:-1;;;23011:59:113;;15091:55:123;;;23011:59:113::1;::::0;::::1;15073:74:123::0;15163:18;;;15156:34;;;;23011:11:113;;::::1;::::0;:20:::1;::::0;15046:18:123;;23011:59:113::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;23125:19:113::1;::::0;;::::1;::::0;23085:60:::1;::::0;;-1:-1:-1;;;;;15973:15:123;;;15955:34;;16025:15;;16005:18;;;15998:43;;;;16057:18;;16050:34;23085:60:113::1;::::0;15882:2:123;15867:18;23085:60:113::1;;;;;;;22664:488;2303:20:28::0;1716:1;2809:7;:22;2629:209;17154:229:113;17219:17;:15;:17::i;:::-;17273:4;;:20;;-1:-1:-1;;;17273:20:113;;;;;689:25:123;;;17246:16:113;;-1:-1:-1;;;;;17273:4:113;;:12;;662:18:123;;17273:20:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17273:20:113;;;;;;;;;;;;:::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:113;;;;;689:25:123;;;16409:16:113;;-1:-1:-1;;;;;16436:4:113;;:12;;662:18:123;;16436:20:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16436:20:113;;;;;;;;;;;;:::i;:::-;:29;;;16409:57;;16476:28;16495:8;16476:18;:28::i;:::-;16518:60;-1:-1:-1;;;;;16518:26:113;;-1:-1:-1;;;16518:26:113;: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:113;;;-1:-1:-1;;;;;;8357:26:113;;;;;;;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:113;;;;;;;;;;8701:21;;;;8685:13;;:37;;:13;:37;:::i;:::-;-1:-1:-1;8751:23:113;;;;8732:16;;:42;;:16;:42;:::i;:::-;-1:-1:-1;8802:23:113;;;;8784:15;:41;;-1:-1:-1;;;;;;8784:41:113;;;-1:-1:-1;;;;;8784:41:113;;;;;;;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:113;-1:-1:-1;;;;;9068:16:113;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9047:8;:40;;-1:-1:-1;;;;;;9047:40:113;-1:-1:-1;;;;;9047:40:113;;;;;;9124:11;;:23;;;;;;;;-1:-1:-1;;9124:11:113;;;;;:21;;:23;;;;;-1:-1:-1;;9124:23:113;;;;;;;;:11;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9124:23:113;;;;;;;;;;;;:::i;:::-;9098:49;;9157:36;9210:6;:13;9226:1;9210:17;;;;:::i;:::-;9196:32;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9196:32:113;;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:113;;;:22;;;;;;;;;;;:34;9278:3;;;;:::i;:::-;;;;9239:103;;;-1:-1:-1;9414:11:113;;9372:26;;-1:-1:-1;;;;;9414:11:113;;;;9352:19;;9372:30;;9414:11;;9372:30;:::i;:::-;9352:51;;;;;;;;:::i;:::-;;;;;;:74;-1:-1:-1;;;;;9352:74:113;;;-1:-1:-1;;;;;9352:74:113;;;;;9498:4;9436:19;9485:1;9456:19;:26;:30;;;;:::i;:::-;9436:51;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9436:67:113;;;: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:113;;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:113;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:113::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:113;;::::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:113;;::::1;::::0;;;;;;;-1:-1:-1;;21893:35:113;;::::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:113;;-1:-1:-1;;;;;15091:55:123;;;21983:50:113::1;::::0;::::1;15073:74:123::0;15163:18;;;15156:34;;;;21983:11:113;::::1;::::0;:20:::1;::::0;15046:18:123;;21983:50:113::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;22076:19:113::1;::::0;;::::1;::::0;22048:48:::1;::::0;;-1:-1:-1;;;;;15091:55:123;;15073:74;;15163:18;;;15156:34;;;;22048:48:113::1;::::0;15046:18:123;22048:48:113::1;;;;;;;21698:405;;2303:20:28::0;1716:1;2809:7;:22;2629:209;7697:54:113;7731:20;7684:7;7731:2;:20;:::i;:::-;7697:54;:::o;7037:27::-;;;;;;;:::i;10207:653::-;10391:14;;1829:42;-1:-1:-1;;;;;10471:20:113;;;10467:65;;-1:-1:-1;10515:6:113;10467:65;10552:9;10541:20;;10572:31;10606:14;10572:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10572:48:113;;;;;;;;;;;;;;;;-1:-1:-1;;10640:4:113;;10687:9;;10708:19;;10572:48;;-1:-1:-1;;;;;;10640:4:113;;;;:33;;-1:-1:-1;10687:9:113;;-1:-1:-1;10698:8:113;;-1:-1:-1;10708:19:113;;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;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:113:-:0;-1:-1:-1;;;;;3130:29:25;;21575:4:113;3130:29:25;;;:12;;:29;:12;:29;;;;;21598:39:113;3021:145:25;3564:155:113;3650:10;3107:4:25;3130:29;;;:12;;:29;:12;:29;;;;;3614:99:113;;3684:18;;;;;;;;;;;;;;3874:156;-1:-1:-1;;;;;18423:28:113;;;18371:14;18423:28;;;:19;:28;;;;;;;;;18397:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3949:75;;3994:19;;-1:-1:-1;;;3994:19:113;;;;;;;;;;;4036:162;-1:-1:-1;;;;;4112:28:113;;;;;;:17;:28;;;;;;;;4107:85;;4163:18;;;;;;;;;;;;;;17015:133;-1:-1:-1;;;;;17089:22:113;;17085:56;;17120:21;;;;;;;;;;;;;;17389:186;17452:29;17471:9;17452:18;:29::i;:::-;-1:-1:-1;;;;;17491:28:113;;17522:5;17491:28;;;:17;:28;;;;;;;;;:36;;-1:-1:-1;;17491:36:113;;;17542:26;;2686:74:123;;;17542:26:113;;2659:18:123;17542:26:113;2540:226:123;16765:244:113;-1:-1:-1;;;;;16832:31:113;;;;;;:17;:31;;;;;;;;16828:85;;;16886:16;;;;;;;;;;;;;;16828:85;-1:-1:-1;;;;;16922:31:113;;;;;;:17;:31;;;;;;;;;:38;;-1:-1:-1;;16922:38:113;16956:4;16922:38;;;16975:27;;2686:74:123;;;16975:27:113;;2659:18:123;16975:27:113;2540:226:123;4204:171:113;4307:9;-1:-1:-1;;;;;4296:20:113;:7;-1:-1:-1;;;;;4296:20:113;;4292:77;;4339:19;;;;;;;;;;;;;;12748:425;-1:-1:-1;;;;;12874:27:113;;12837:34;12874:27;;;:18;:27;;;;;;12911:256;12935:23;;12931:27;;12911:256;;;13006:9;-1:-1:-1;;;;;12983:32:113;:16;13000:1;12983:19;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;12983:19:113;:32;12979:178;;13074:23;;13057:16;;13074:27;;13100:1;;13074:27;:::i;:::-;13057:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13057:45:113;13035:16;13052:1;13035:19;;;;;;;;:::i;:::-;;;;;;;;;:67;;;;;-1:-1:-1;;;;;13035:67:113;;;;;-1:-1:-1;;;;;13035:67:113;;;;;;13120:16;:22;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;13120:22:113;;;;;-1:-1:-1;;;;;;13120:22:113;;;;;;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;;30814:2:123;2460:63:28;;;30796:21:123;30853:2;30833:18;;;30826:30;30892:33;30872:18;;;30865:61;30943:18;;2460:63:28;30612:355:123;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;;;;;15973:15:123;;;1482:68:33;;;15955:34:123;16025:15;;16005:18;;;15998:43;16057:18;;;16050:34;;;1455:96:33;;1475:5;;1505:27;;15867:18:123;;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;;;;;15091:55:123;;1050:58:33;;;15073:74:123;15163:18;;;15156:34;;;1023:86:33;;1043:5;;-1:-1:-1;;;1073:23:33;15046:18:123;;1050:58:33;14891:305:123;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:113:-;3798:10;18371:14;18423:28;;;:19;:28;;;;;;;;;18397:54;;;;;;;;;-1:-1:-1;;;;;18397:54:113;;;;;;;;;;;;;;;;;;;;;;;;;;3784:78;;3832:19;;-1:-1:-1;;;3832:19:113;;;;;;;;;;;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:113:-;-1:-1:-1;;;;;22214:27:113;;22178:33;22214:27;;;:18;:27;;;;;;;;22178:63;;;;;;;;;;;;;;;;;;;22214:27;;22178:63;;;22214:27;22178:63;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22178:63:113;;;;;;;;;;;;;;;;;;;;;;;22322:9;22317:252;22341:16;:23;22337:1;:27;22317:252;;;22512:16;22529:1;22512:19;;;;;;;;:::i;:::-;;;;;;;;;;;22497:61;;;;;-1:-1:-1;;;;;2704:55:123;;;22497:61:113;;;2686:74:123;22497:52:113;;;;;;2659:18:123;;22497:61:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22366:3;;;;;:::i;:::-;;;;22317:252;;4749:279:6;4867:36;;-1:-1:-1;;4884:10:6;31790:2:123;31786:15;31782:53;4867:36:6;;;31770:66:123;31852:12;;;31845:28;;;4823:7:6;;;;31889:12:123;;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:113:-;18022:18;;;18002:11;:39;;-1:-1:-1;;;;;18022:18:113;;-1:-1:-1;;;;;;18002:39:113;;;;;;;18051:25;;;18091:34;;-1:-1:-1;2686:74:123;;18091:34:113;;2674:2:123;2659:18;18091:34:113;;;;;;;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;;33170:2:123;5720:111:33;;;33152:21:123;33209:2;33189:18;;;33182:30;33248:34;33228:18;;;33221:62;33319:12;33299:18;;;33292:40;33349:19;;5720:111:33;32968:406:123;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;;;;;;33541:79:123;;4592:71:38;;;;33523:98:123;;;;4592:71:38;;;;;;;;;;33496:18:123;;;;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;;33834:2:123;2847:58:14;;;33816:21:123;33873:2;33853:18;;;33846:30;33912:25;33892:18;;;33885:53;33955:18;;2847:58:14;33632:347:123;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;;34327:2:123;2162:55:36;;;34309:21:123;;;34346:18;;;34339:30;34405:34;34385:18;;;34378:62;34457:18;;2162:55:36;34125:356:123;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;;35387:2:123;8113:60:34;;;35369:21:123;35426:2;35406:18;;;35399:30;35465:31;35445:18;;;35438:59;35514:18;;8113:60:34;35185:353:123;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:123;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:123;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:123;;907:180;-1:-1:-1;907:180:123:o;1092:154::-;-1:-1:-1;;;;;1171:5:123;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:123;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:123:o;2771:::-;2839:6;2847;2900:2;2888:9;2879:7;2875:23;2871:32;2868:52;;;2916:1;2913;2906:12;2868:52;2952:9;2939:23;2929:33;;3012:2;3001:9;2997:18;2984:32;3025:31;3050:5;3025:31;:::i;4476:184::-;-1:-1:-1;;;4525:1:123;4518:88;4625:4;4622:1;4615:15;4649:4;4646:1;4639:15;4665:257;4737:4;4731:11;;;4769:17;;4816:18;4801:34;;4837:22;;;4798:62;4795:88;;;4863:18;;:::i;:::-;4899:4;4892:24;4665:257;:::o;4927:255::-;4999:2;4993:9;5041:6;5029:19;;5078:18;5063:34;;5099:22;;;5060:62;5057:88;;;5125:18;;:::i;5187:255::-;5259:2;5253:9;5301:6;5289:19;;5338:18;5323:34;;5359:22;;;5320:62;5317:88;;;5385:18;;:::i;5447:253::-;5519:2;5513:9;5561:4;5549:17;;5596:18;5581:34;;5617:22;;;5578:62;5575:88;;;5643:18;;:::i;5705:275::-;5776:2;5770:9;5841:2;5822:13;;-1:-1:-1;;5818:27:123;5806:40;;5876:18;5861:34;;5897:22;;;5858:62;5855:88;;;5923:18;;:::i;:::-;5959:2;5952:22;5705:275;;-1:-1:-1;5705:275:123:o;5985:187::-;6034:4;6067:18;6059:6;6056:30;6053:56;;;6089:18;;:::i;:::-;-1:-1:-1;6155:2:123;6134:15;-1:-1:-1;;6130:29:123;6161:4;6126:40;;5985:187::o;6177:464::-;6220:5;6273:3;6266:4;6258:6;6254:17;6250:27;6240:55;;6291:1;6288;6281:12;6240:55;6327:6;6314:20;6358:49;6374:32;6403:2;6374:32;:::i;:::-;6358:49;:::i;:::-;6432:2;6423:7;6416:19;6478:3;6471:4;6466:2;6458:6;6454:15;6450:26;6447:35;6444:55;;;6495:1;6492;6485:12;6444:55;6560:2;6553:4;6545:6;6541:17;6534:4;6525:7;6521:18;6508:55;6608:1;6583:16;;;6601:4;6579:27;6572:38;;;;6587:7;6177:464;-1:-1:-1;;;6177:464:123:o;6646:411::-;6701:5;6749:4;6737:9;6732:3;6728:19;6724:30;6721:50;;;6767:1;6764;6757:12;6721:50;6789:22;;:::i;:::-;6780:31;;6847:9;6834:23;6827:5;6820:38;6909:2;6898:9;6894:18;6881:32;6936:18;6928:6;6925:30;6922:50;;;6968:1;6965;6958:12;6922:50;7004:46;7046:3;7037:6;7026:9;7022:22;7004:46;:::i;:::-;6999:2;6992:5;6988:14;6981:70;;6646:411;;;;:::o;7062:118::-;7148:5;7141:13;7134:21;7127:5;7124:32;7114:60;;7170:1;7167;7160:12;7185:128;7250:20;;7279:28;7250:20;7279:28;:::i;7318:1713::-;7412:6;7465:2;7453:9;7444:7;7440:23;7436:32;7433:52;;;7481:1;7478;7471:12;7433:52;7521:9;7508:23;7550:18;7591:2;7583:6;7580:14;7577:34;;;7607:1;7604;7597:12;7577:34;7630:22;;;;7686:6;7668:16;;;7664:29;7661:49;;;7706:1;7703;7696:12;7661:49;7732:22;;:::i;:::-;7777;7796:2;7777:22;:::i;:::-;7770:5;7763:37;7832:31;7859:2;7855;7851:11;7832:31;:::i;:::-;7827:2;7820:5;7816:14;7809:55;7917:2;7913;7909:11;7896:25;7891:2;7884:5;7880:14;7873:49;7975:2;7971;7967:11;7954:25;7949:2;7942:5;7938:14;7931:49;8034:3;8030:2;8026:12;8013:26;8007:3;8000:5;7996:15;7989:51;8073:32;8100:3;8096:2;8092:12;8073:32;:::i;:::-;8067:3;8060:5;8056:15;8049:57;8139:32;8166:3;8162:2;8158:12;8139:32;:::i;:::-;8133:3;8126:5;8122:15;8115:57;8218:3;8214:2;8210:12;8197:26;8248:2;8238:8;8235:16;8232:36;;;8264:1;8261;8254:12;8232:36;8301:54;8347:7;8336:8;8332:2;8328:17;8301:54;:::i;:::-;8295:3;8288:5;8284:15;8277:79;;8375:3;8410:31;8437:2;8433;8429:11;8410:31;:::i;:::-;8394:14;;;8387:55;8461:3;8502:11;;;8489:25;8526:16;;;8523:36;;;8555:1;8552;8545:12;8523:36;8591:45;8628:7;8617:8;8613:2;8609:17;8591:45;:::i;:::-;8586:2;8579:5;8575:14;8568:69;;;8656:3;8691:28;8715:2;8711;8707:11;8691:28;:::i;:::-;8675:14;;;8668:52;8739:3;8780:11;;;8767:25;8804:16;;;8801:36;;;8833:1;8830;8823:12;8801:36;8869:45;8906:7;8895:8;8891:2;8887:17;8869:45;:::i;:::-;8864:2;8857:5;8853:14;8846:69;;;8934:3;8924:13;;8969:31;8996:2;8992;8988:11;8969:31;:::i;:::-;8953:14;;;8946:55;;;;8957:5;7318:1713;-1:-1:-1;;;;7318:1713:123:o;9036:153::-;9114:20;;9163:1;9153:12;;9143:40;;9179:1;9176;9169:12;9194:110;9278:1;9271:5;9268:12;9258:40;;9294:1;9291;9284:12;9309:152;9386:20;;9415:40;9386:20;9415:40;:::i;9466:416::-;9530:5;9578:4;9566:9;9561:3;9557:19;9553:30;9550:50;;;9596:1;9593;9586:12;9550:50;9629:2;9623:9;9671:4;9663:6;9659:17;9742:6;9730:10;9727:22;9706:18;9694:10;9691:34;9688:62;9685:88;;;9753:18;;:::i;:::-;9789:2;9782:22;9852:23;;9837:39;;-1:-1:-1;9822:6:123;9466:416;-1:-1:-1;9466:416:123:o;9887:359::-;9945:5;9993:4;9981:9;9976:3;9972:19;9968:30;9965:50;;;10011:1;10008;10001:12;9965:50;10033:22;;:::i;:::-;10024:31;;10092:9;10079:23;10111:33;10136:7;10111:33;:::i;:::-;10167:7;10160:5;10153:22;;10235:2;10224:9;10220:18;10207:32;10202:2;10195:5;10191:14;10184:56;9887:359;;;;:::o;10251:865::-;10314:5;10362:6;10350:9;10345:3;10341:19;10337:32;10334:52;;;10382:1;10379;10372:12;10334:52;10404:22;;:::i;:::-;10395:31;;10449:29;10468:9;10449:29;:::i;:::-;10442:5;10435:44;10539:2;10528:9;10524:18;10511:32;10506:2;10499:5;10495:14;10488:56;10604:2;10593:9;10589:18;10576:32;10571:2;10564:5;10560:14;10553:56;10669:2;10658:9;10654:18;10641:32;10636:2;10629:5;10625:14;10618:56;10735:3;10724:9;10720:19;10707:33;10701:3;10694:5;10690:15;10683:58;10774:49;10818:3;10807:9;10803:19;10774:49;:::i;:::-;10768:3;10761:5;10757:15;10750:74;10857:48;10900:3;10889:9;10885:19;10857:48;:::i;:::-;10851:3;10844:5;10840:15;10833:73;10939:61;10996:3;10990;10979:9;10975:19;10939:61;:::i;:::-;10933:3;10926:5;10922:15;10915:86;11020:3;11055:54;11105:3;11100:2;11089:9;11085:18;11055:54;:::i;:::-;11039:14;;;11032:78;11043:5;10251:865;-1:-1:-1;;10251:865:123:o;11121:618::-;11259:6;11267;11275;11328:3;11316:9;11307:7;11303:23;11299:33;11296:53;;;11345:1;11342;11335:12;11296:53;11384:9;11371:23;11403:31;11428:5;11403:31;:::i;:::-;11453:5;-1:-1:-1;11477:63:123;11532:7;11527:2;11512:18;;11477:63;:::i;:::-;11467:73;;11591:3;11580:9;11576:19;11563:33;11619:18;11611:6;11608:30;11605:50;;;11651:1;11648;11641:12;11605:50;11674:59;11725:7;11716:6;11705:9;11701:22;11674:59;:::i;:::-;11664:69;;;11121:618;;;;;:::o;12046:250::-;12131:1;12141:113;12155:6;12152:1;12149:13;12141:113;;;12231:11;;;12225:18;12212:11;;;12205:39;12177:2;12170:10;12141:113;;;-1:-1:-1;;12288:1:123;12270:16;;12263:27;12046:250::o;12301:271::-;12343:3;12381:5;12375:12;12408:6;12403:3;12396:19;12424:76;12493:6;12486:4;12481:3;12477:14;12470:4;12463:5;12459:16;12424:76;:::i;:::-;12554:2;12533:15;-1:-1:-1;;12529:29:123;12520:39;;;;12561:4;12516:50;;12301:271;-1:-1:-1;;12301:271:123:o;12577:220::-;12726:2;12715:9;12708:21;12689:4;12746:45;12787:2;12776:9;12772:18;12764:6;12746:45;:::i;12802:759::-;12949:6;12957;12965;12973;13026:3;13014:9;13005:7;13001:23;12997:33;12994:53;;;13043:1;13040;13033:12;12994:53;13082:9;13069:23;13101:31;13126:5;13101:31;:::i;:::-;13151:5;-1:-1:-1;13208:2:123;13193:18;;13180:32;13221:33;13180:32;13221:33;:::i;:::-;13273:7;-1:-1:-1;13299:63:123;13354:7;13349:2;13334:18;;13299:63;:::i;:::-;13289:73;;13413:3;13402:9;13398:19;13385:33;13441:18;13433:6;13430:30;13427:50;;;13473:1;13470;13463:12;13427:50;13496:59;13547:7;13538:6;13527:9;13523:22;13496:59;:::i;:::-;13486:69;;;12802:759;;;;;;;:::o;14058:184::-;-1:-1:-1;;;14107:1:123;14100:88;14207:4;14204:1;14197:15;14231:4;14228:1;14221:15;14247:168;14320:9;;;14351;;14368:15;;;14362:22;;14348:37;14338:71;;14389:18;;:::i;14420:184::-;-1:-1:-1;;;14469:1:123;14462:88;14569:4;14566:1;14559:15;14593:4;14590:1;14583:15;14609:277;14696:6;14749:2;14737:9;14728:7;14724:23;14720:32;14717:52;;;14765:1;14762;14755:12;14717:52;14797:9;14791:16;14816:40;14850:5;14816:40;:::i;15201:184::-;15271:6;15324:2;15312:9;15303:7;15299:23;15295:32;15292:52;;;15340:1;15337;15330:12;15292:52;-1:-1:-1;15363:16:123;;15201:184;-1:-1:-1;15201:184:123:o;16427:274::-;16467:1;16493;16483:189;;-1:-1:-1;;;16525:1:123;16518:88;16629:4;16626:1;16619:15;16657:4;16654:1;16647:15;16483:189;-1:-1:-1;16686:9:123;;16427:274::o;16706:125::-;16771:9;;;16792:10;;;16789:36;;;16805:18;;:::i;16836:251::-;16906:6;16959:2;16947:9;16938:7;16934:23;16930:32;16927:52;;;16975:1;16972;16965:12;16927:52;17007:9;17001:16;17026:31;17051:5;17026:31;:::i;17848:184::-;-1:-1:-1;;;17897:1:123;17890:88;17997:4;17994:1;17987:15;18021:4;18018:1;18011:15;18037:135;18076:3;18097:17;;;18094:43;;18117:18;;:::i;:::-;-1:-1:-1;18164:1:123;18153:13;;18037:135::o;18177:128::-;18244:9;;;18265:11;;;18262:37;;;18279:18;;:::i;18563:184::-;-1:-1:-1;;;18612:1:123;18605:88;18712:4;18709:1;18702:15;18736:4;18733:1;18726:15;18752:245;18819:6;18872:2;18860:9;18851:7;18847:23;18843:32;18840:52;;;18888:1;18885;18878:12;18840:52;18920:9;18914:16;18939:28;18961:5;18939:28;:::i;19002:1653::-;19094:6;19125:2;19168;19156:9;19147:7;19143:23;19139:32;19136:52;;;19184:1;19181;19174:12;19136:52;19217:9;19211:16;19246:18;19287:2;19279:6;19276:14;19273:34;;;19303:1;19300;19293:12;19273:34;19326:22;;;;19382:4;19364:16;;;19360:27;19357:47;;;19400:1;19397;19390:12;19357:47;19426:22;;:::i;:::-;19477:2;19471:9;19464:5;19457:24;19519:2;19515;19511:11;19505:18;19532:33;19557:7;19532:33;:::i;:::-;19581:14;;;19574:31;19643:2;19635:11;;19629:18;19656:33;19629:18;19656:33;:::i;:::-;19716:2;19705:14;;19698:31;19768:2;19760:11;;19754:18;19784:16;;;19781:36;;;19813:1;19810;19803:12;19781:36;19836:17;;19887:2;19869:16;;;19865:25;19862:45;;;19903:1;19900;19893:12;19862:45;19931:22;;:::i;:::-;19984:2;19978:9;19969:7;19962:26;20027:2;20023;20019:11;20013:18;20056:2;20046:8;20043:16;20040:36;;;20072:1;20069;20062:12;20040:36;20095:17;;;-1:-1:-1;20143:4:123;20135:13;;20131:27;-1:-1:-1;20121:55:123;;20172:1;20169;20162:12;20121:55;20201:2;20195:9;20185:19;;20226:49;20242:32;20271:2;20242:32;:::i;20226:49::-;20298:2;20291:5;20284:17;20338:7;20333:2;20328;20324;20320:11;20316:20;20313:33;20310:53;;;20359:1;20356;20349:12;20310:53;20372:67;20436:2;20431;20424:5;20420:14;20415:2;20411;20407:11;20372:67;:::i;:::-;20455:16;;;20448:31;;;;-1:-1:-1;20506:2:123;20495:14;;20488:31;;;;-1:-1:-1;20566:3:123;20558:12;;;20552:19;20535:15;;;20528:44;20619:3;20611:12;;;20605:19;20588:15;;;20581:44;20499:5;19002:1653;-1:-1:-1;;;19002:1653:123:o;20660:437::-;20739:1;20735:12;;;;20782;;;20803:61;;20857:4;20849:6;20845:17;20835:27;;20803:61;20910:2;20902:6;20899:14;20879:18;20876:38;20873:218;;-1:-1:-1;;;20944:1:123;20937:88;21048:4;21045:1;21038:15;21076:4;21073:1;21066:15;20873:218;;20660:437;;;:::o;21228:545::-;21330:2;21325:3;21322:11;21319:448;;;21366:1;21391:5;21387:2;21380:17;21436:4;21432:2;21422:19;21506:2;21494:10;21490:19;21487:1;21483:27;21477:4;21473:38;21542:4;21530:10;21527:20;21524:47;;;-1:-1:-1;21565:4:123;21524:47;21620:2;21615:3;21611:12;21608:1;21604:20;21598:4;21594:31;21584:41;;21675:82;21693:2;21686:5;21683:13;21675:82;;;21738:17;;;21719:1;21708:13;21675:82;;;21679:3;;;21228:545;;;:::o;21949:1352::-;22075:3;22069:10;22102:18;22094:6;22091:30;22088:56;;;22124:18;;:::i;:::-;22153:97;22243:6;22203:38;22235:4;22229:11;22203:38;:::i;:::-;22197:4;22153:97;:::i;:::-;22305:4;;22369:2;22358:14;;22386:1;22381:663;;;;23088:1;23105:6;23102:89;;;-1:-1:-1;23157:19:123;;;23151:26;23102:89;-1:-1:-1;;21906:1:123;21902:11;;;21898:24;21894:29;21884:40;21930:1;21926:11;;;21881:57;23204:81;;22351:944;;22381:663;21175:1;21168:14;;;21212:4;21199:18;;-1:-1:-1;;22417:20:123;;;22535:236;22549:7;22546:1;22543:14;22535:236;;;22638:19;;;22632:26;22617:42;;22730:27;;;;22698:1;22686:14;;;;22565:19;;22535:236;;;22539:3;22799:6;22790:7;22787:19;22784:201;;;22860:19;;;22854:26;-1:-1:-1;;22943:1:123;22939:14;;;22955:3;22935:24;22931:37;22927:42;22912:58;22897:74;;22784:201;-1:-1:-1;;;;;23031:1:123;23015:14;;;23011:22;22998:36;;-1:-1:-1;21949:1352:123:o;23306:1011::-;23401:6;23432:2;23475;23463:9;23454:7;23450:23;23446:32;23443:52;;;23491:1;23488;23481:12;23443:52;23524:9;23518:16;23553:18;23594:2;23586:6;23583:14;23580:34;;;23610:1;23607;23600:12;23580:34;23648:6;23637:9;23633:22;23623:32;;23693:7;23686:4;23682:2;23678:13;23674:27;23664:55;;23715:1;23712;23705:12;23664:55;23744:2;23738:9;23766:2;23762;23759:10;23756:36;;;23772:18;;:::i;:::-;23818:2;23815:1;23811:10;23801:20;;23841:28;23865:2;23861;23857:11;23841:28;:::i;:::-;23903:15;;;23973:11;;;23969:20;;;23934:12;;;;24001:19;;;23998:39;;;24033:1;24030;24023:12;23998:39;24057:11;;;;24077:210;24093:6;24088:3;24085:15;24077:210;;;24166:3;24160:10;24147:23;;24183:31;24208:5;24183:31;:::i;:::-;24227:18;;;24110:12;;;;24265;;;;24077:210;;;24306:5;23306:1011;-1:-1:-1;;;;;;;;23306:1011:123:o;24322:772::-;24372:3;24413:5;24407:12;24442:36;24468:9;24442:36;:::i;:::-;24487:19;;;24525:4;24548:1;24565:18;;;24592:146;;;;24752:1;24747:341;;;;24558:530;;24592:146;-1:-1:-1;;24634:24:123;;24620:12;;;24613:46;24706:14;;24699:22;24696:1;24692:30;24683:40;;24679:49;;;-1:-1:-1;24592:146:123;;24747:341;24778:5;24775:1;24768:16;24825:2;24822:1;24812:16;24850:1;24864:174;24878:6;24875:1;24872:13;24864:174;;;24965:14;;24947:11;;;24943:20;;24936:44;25008:16;;;;24893:10;;24864:174;;;25062:11;;25058:20;;;-1:-1:-1;;24558:530:123;;;;;;24322:772;;;;:::o;25099:252::-;25186:5;25180:12;25175:3;25168:25;25150:3;25239:4;25232:5;25228:16;25222:23;25277:4;25270;25265:3;25261:14;25254:28;25298:47;25339:4;25334:3;25330:14;25316:12;25298:47;:::i;25356:484::-;25409:3;25447:5;25441:12;25474:6;25469:3;25462:19;25500:4;25529:2;25524:3;25520:12;25513:19;;25566:2;25559:5;25555:14;25587:1;25597:218;25611:6;25608:1;25605:13;25597:218;;;25676:13;;-1:-1:-1;;;;;25672:62:123;25660:75;;25755:12;;;;25790:15;;;;25633:1;25626:9;25597:218;;;-1:-1:-1;25831:3:123;;25356:484;-1:-1:-1;;;;;25356:484:123:o;25845:827::-;26205:6;26194:9;26187:25;26248:3;26243:2;26232:9;26228:18;26221:31;26168:4;26275:54;26324:3;26313:9;26309:19;26301:6;26275:54;:::i;:::-;26377:9;26369:6;26365:22;26360:2;26349:9;26345:18;26338:50;26411:42;26446:6;26438;26411:42;:::i;:::-;26397:56;;-1:-1:-1;;;;;26493:6:123;26489:55;26484:2;26473:9;26469:18;26462:83;26594:9;26586:6;26582:22;26576:3;26565:9;26561:19;26554:51;26622:44;26659:6;26651;26622:44;:::i;26866:500::-;27120:6;27109:9;27102:25;27163:2;27158;27147:9;27143:18;27136:30;27083:4;27189:53;27238:2;27227:9;27223:18;27215:6;27189:53;:::i;:::-;27290:9;27282:6;27278:22;27273:2;27262:9;27258:18;27251:50;27318:42;27353:6;27345;27318:42;:::i;:::-;27310:50;26866:500;-1:-1:-1;;;;;;26866:500:123:o;27371:142::-;27454:1;27447:5;27444:12;27434:46;;27460:18;;:::i;:::-;27489;;27371:142::o;27819:1140::-;27981:4;28023:3;28012:9;28008:19;28000:27;;-1:-1:-1;;;;;28064:6:123;28058:13;28054:62;28043:9;28036:81;28173:4;28165:6;28161:17;28155:24;28148:4;28137:9;28133:20;28126:54;28236:4;28228:6;28224:17;28218:24;28211:4;28200:9;28196:20;28189:54;28299:4;28291:6;28287:17;28281:24;28274:4;28263:9;28259:20;28252:54;28362:4;28354:6;28350:17;28344:24;28337:4;28326:9;28322:20;28315:54;28416:4;28408:6;28404:17;28398:24;28458:1;28444:12;28441:19;28431:53;;28464:18;;:::i;:::-;28522:12;28515:4;28504:9;28500:20;28493:42;;28584:4;28576:6;28572:17;28566:24;28599:65;28658:4;28647:9;28643:20;28627:14;28599:65;:::i;:::-;;28713:4;28705:6;28701:17;28695:24;28728:73;28795:4;28784:9;28780:20;28764:14;27593:12;27581:25;;27518:90;28728:73;-1:-1:-1;28820:6:123;28863:15;;;28857:22;27694:12;;-1:-1:-1;;;;;27690:61:123;28934:18;;;27678:74;27801:4;27790:16;;27784:23;27768:14;;;27761:47;28888:65;;27819:1140;;;;:::o;28964:1002::-;29389:6;29378:9;29371:25;29352:4;-1:-1:-1;;;;;29505:2:123;29497:6;29493:15;29488:2;29477:9;29473:18;29466:43;29545:3;29540:2;29529:9;29525:18;29518:31;29572:46;29613:3;29602:9;29598:19;29590:6;29572:46;:::i;:::-;29666:2;29658:6;29654:15;29649:2;29638:9;29634:18;29627:43;29707:6;29701:3;29690:9;29686:19;29679:35;29763:9;29755:6;29751:22;29745:3;29734:9;29730:19;29723:51;29797:42;29832:6;29824;29797:42;:::i;:::-;29783:56;;;29888:9;29880:6;29876:22;29870:3;29859:9;29855:19;29848:51;29916:44;29953:6;29945;29916:44;:::i;:::-;29908:52;28964:1002;-1:-1:-1;;;;;;;;;;28964:1002:123:o;29971:636::-;30264:6;30253:9;30246:25;30227:4;-1:-1:-1;;;;;30380:2:123;30372:6;30368:15;30363:2;30352:9;30348:18;30341:43;30432:2;30424:6;30420:15;30415:2;30404:9;30400:18;30393:43;30484:2;30476:6;30472:15;30467:2;30456:9;30452:18;30445:43;;30525:3;30519;30508:9;30504:19;30497:32;30546:55;30596:3;30585:9;30581:19;30573:6;30546:55;:::i;30972:340::-;31149:2;31138:9;31131:21;31112:4;31169:45;31210:2;31199:9;31195:18;31187:6;31169:45;:::i;:::-;31161:53;;-1:-1:-1;;;;;31254:6:123;31250:55;31245:2;31234:9;31230:18;31223:83;30972:340;;;;;:::o;31317:291::-;31494:2;31483:9;31476:21;31457:4;31514:45;31555:2;31544:9;31540:18;31532:6;31514:45;:::i;:::-;31506:53;;31595:6;31590:2;31579:9;31575:18;31568:34;31317:291;;;;;:::o;32151:812::-;32562:25;32557:3;32550:38;32532:3;32617:6;32611:13;32633:75;32701:6;32696:2;32691:3;32687:12;32680:4;32672:6;32668:17;32633:75;:::i;:::-;32772:19;32767:2;32727:16;;;32759:11;;;32752:40;32817:13;;32839:76;32817:13;32901:2;32893:11;;32886:4;32874:17;;32839:76;:::i;:::-;32935:17;32954:2;32931:26;;32151:812;-1:-1:-1;;;;32151:812:123:o;33984:136::-;34023:3;34051:5;34041:39;;34060:18;;:::i;:::-;-1:-1:-1;;;34096:18:123;;33984:136::o;34893:287::-;35022:3;35060:6;35054:13;35076:66;35135:6;35130:3;35123:4;35115:6;35111:17;35076:66;:::i;:::-;35158:16;;;;;34893:287;-1:-1:-1;;34893:287:123: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)),(uint256,string))":"9a72a86f","createPool(address,address,(address,uint256,uint256,uint256,uint256,uint8,uint8,(uint256),(address,uint256)),(uint256,string))":"c8a593e9","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\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"sybilOracleScorer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.SybilConfig\",\"name\":\"sybilConfig\",\"type\":\"tuple\"}],\"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\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"sybilOracleScorer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.SybilConfig\",\"name\":\"sybilConfig\",\"type\":\"tuple\"}],\"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/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/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\":\"0x3032ef966b217c359e29a9735604ee4e8e6529a9a0632369abdd7a7ae285dbd7\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://788c0a1deb7c53faedadc5efc152107ba22db81aaa9cffa1ba52d1427adfe2be\",\"dweb:/ipfs/QmQGANoMw4kb87y8JGCEgndo888YVDfRKMCepTJ2NVWUmY\"]},\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"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":"struct StrategyStruct.SybilConfig","name":"sybilConfig","type":"tuple","components":[{"internalType":"address","name":"sybilOracleScorer","type":"address"},{"internalType":"uint256","name":"threshold","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":"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":"struct StrategyStruct.SybilConfig","name":"sybilConfig","type":"tuple","components":[{"internalType":"address","name":"sybilOracleScorer","type":"address"},{"internalType":"uint256","name":"threshold","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":"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/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/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":"0x3032ef966b217c359e29a9735604ee4e8e6529a9a0632369abdd7a7ae285dbd7","urls":["bzz-raw://788c0a1deb7c53faedadc5efc152107ba22db81aaa9cffa1ba52d1427adfe2be","dweb:/ipfs/QmQGANoMw4kb87y8JGCEgndo888YVDfRKMCepTJ2NVWUmY"],"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/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":113} \ 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":"sybilConfig","type":"tuple","internalType":"struct StrategyStruct.SybilConfig","components":[{"name":"sybilOracleScorer","type":"address","internalType":"address"},{"name":"threshold","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":[{"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":"sybilConfig","type":"tuple","internalType":"struct StrategyStruct.SybilConfig","components":[{"name":"sybilOracleScorer","type":"address","internalType":"address"},{"name":"threshold","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":[{"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":"0x60806040523480156200001157600080fd5b506001600090815562000046907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b906200004c565b62000099565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6146a280620000a96000396000f3fe608060405234801561001057600080fd5b506004361061036d5760003560e01c80636c53db9a116101d3578063a230c52411610104578063c8a593e9116100a2578063d7050f071161007c578063d7050f0714610876578063db61d65c1461087f578063ebd7dc5214610892578063f86c5f89146108a557600080fd5b8063c8a593e91461083d578063d547741f14610850578063d6d8428d1461086357600080fd5b8063b64e39af116100de578063b64e39af14610810578063b99b437014610825578063bc063e1a1461082d578063c6d572ae1461083557600080fd5b8063a230c5241461079e578063b3f00674146107f5578063b5058c501461080857600080fd5b80638961be6b116101715780639a72a86f1161014b5780639a72a86f14610724578063a0b21cdf14610754578063a0cf0aea1461077b578063a217fddf1461079657600080fd5b80638961be6b146106cf57806391d14854146106d857806396f0adec1461071157600080fd5b806378a0b8a9116101ad57806378a0b8a91461063d5780637b1039991461064657806382d6a1e71461065957806388cfe6841461066c57600080fd5b80636c53db9a146105de57806373265c37146105f15780637817ee4f1461060457600080fd5b80632f2ff15d116102ad578063477a5cc01161024b5780635ecf71c5116102255780635ecf71c51461057a57806365e3864c1461058d5780636871eb4d146105b857806368decabb146105cb57600080fd5b8063477a5cc014610526578063559de05d146105545780635c94e4d21461056757600080fd5b80633517aa7d116102875780633517aa7d146104d557806336568abe146104dd578063397e2543146104f05780633a871fe11461050357600080fd5b80632f2ff15d146104a657806331f61bca146104b957806333960459146104cc57600080fd5b80631f787d281161031a578063248a9ca3116102f4578063248a9ca31461042357806328c309e9146104475780632b38c69c1461044f5780632c611c4a1461047a57600080fd5b80631f787d28146103f0578063223e5479146103fd57806322bcf9991461041057600080fd5b80630d12bbdb1161034b5780630d12bbdb146103b55780630d4a8b49146103ca578063175188e8146103dd57600080fd5b806301ffc9a7146103725780630331383c1461039a57806308386eba146103ac575b600080fd5b61038561038036600461377d565b6108b8565b60405190151581526020015b60405180910390f35b6003545b604051908152602001610391565b61039e60055481565b6103c86103c33660046137a7565b610908565b005b6103c86103d83660046137e5565b610992565b6103c86103eb36600461381e565b610cf9565b6002546103859060ff1681565b6103c861040b36600461381e565b610d0d565b6103c861041e3660046137e5565b610d1e565b61039e6104313660046137a7565b6000908152600160208190526040909120015490565b61039e610e2d565b61046261045d36600461383b565b610f17565b6040516001600160a01b039091168152602001610391565b61039e61048836600461381e565b6001600160a01b031660009081526013602052604090206001015490565b6103c86104b4366004613867565b610f4f565b6103c86104c73660046137a7565b610f7a565b61039e60095481565b6103c8610fb7565b6103c86104eb366004613867565b6113bc565b6103c86104fe36600461381e565b61144d565b61038561051136600461381e565b60116020526000908152604090205460ff1681565b6103856105343660046137e5565b601560209081526000928352604080842090915290825290205460ff1681565b6103c86105623660046137a7565b6114ba565b600854610462906001600160a01b031681565b6103c86105883660046137a7565b611794565b61039e61059b3660046137e5565b601260209081526000928352604080842090915290825290205481565b6103c86105c63660046137e5565b611b4e565b600a54610462906001600160a01b031681565b600d54610462906001600160a01b031681565b6103c86105ff3660046137a7565b611d59565b61039e6106123660046137e5565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b61039e60035481565b600b54610462906001600160a01b031681565b6103c86106673660046137a7565b611deb565b6106a861067a36600461381e565b6013602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b0390941684526020840192909252151590820152606001610391565b61039e60045481565b6103856106e6366004613867565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6103c861071f366004613a50565b611e9c565b610737610732366004613ce7565b612388565b604080519283526001600160a01b03909116602083015201610391565b61039e7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b61046273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61039e600081565b6103856107ac36600461381e565b6001600160a01b039081166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b600654610462906001600160a01b031681565b6103c86123d2565b61081861241e565b6040516103919190613d9a565b6103c86124ac565b61039e61260f565b61081861261f565b61073761084b366004613dad565b61262c565b6103c861085e366004613867565b6127ab565b600e54610462906001600160a01b031681565b61039e61271081565b600c54610462906001600160a01b031681565b6103856108a036600461381e565b6127d1565b600754610462906001600160a01b031681565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061090257506301ffc9a760e01b6001600160e01b03198316145b92915050565b610910612811565b61091d612710600a613e39565b811115610956576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60048190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b61099b82612879565b6109a4816128dc565b6109ad8161292e565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff1615610a0d576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0380831660009081526013602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff161515918301919091526003805490846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abd9190613e66565b6003811115610ace57610ace613e50565b03610b4d5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b469190613e83565b9050610c3f565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb39190613e66565b6003811115610bc457610bc4613e50565b14610c3f5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af1158015610c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3c9190613e83565b90505b6001600160a01b038581166000818152601260209081526040808320948916808452948252808320869055838352601582528083208584528252808320805460ff19166001908117909155848452601483528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b610d01612811565b610d0a8161296e565b50565b610d15612811565b610d0a816129c8565b610d2782612879565b610d308161292e565b610d3a3382612a6f565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff16610d99576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000818152601560209081526040808320948616808452948252808320805460ff191690559282526012815282822093825292909252812055610de78282612aba565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b910160405180910390a15050565b6007546000906001600160a01b031681610e4a6127106064613e39565b600454600354610e5a9190613e39565b610e649190613e9c565b90506000610e756127106064613e39565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190613e83565b600354610eea9190613e39565b610ef49190613e9c565b90508082600354610f059190613ebe565b610f0f9190613ebe565b935050505090565b60146020528160005260406000208181548110610f3357600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008281526001602081905260409091200154610f6b81612bdc565b610f758383612be6565b505050565b610f82612811565b60038190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f90602001610987565b610fbf612c6d565b33600081815260136020526040812060075490916001600160a01b0390911690610fec6127106064613e39565b600454600354610ffc9190613e39565b6110069190613e9c565b905060006110176127106064613e39565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190613e83565b60035461108c9190613e39565b6110969190613e9c565b6001600160a01b038087166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190529091506113ab5760028401805460ff191660019081179091556003549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152600c5461114691906001600160a01b0316612cc6565b6111788530838560035461115a9190613ebe565b6111649190613ebe565b600c546001600160a01b0316929190612d24565b6111b76040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e74000000000000000000000000000081525083612da8565b81156112245760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260065461120791906001600160a01b0316612cc6565b600654600c54611224916001600160a01b03918216911684612e06565b6112636040518060400160405280601081526020017f67617264656e73466565416d6f756e740000000000000000000000000000000081525082612da8565b8015611364576112ec60405180606001604052806026815260200161464760269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e79190613ed1565b612cc6565b611364836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113519190613ed1565b600c546001600160a01b03169083612e06565b600354604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b50505050506113ba6001600055565b565b6001600160a01b038116331461143f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6114498282612e36565b5050565b611455612811565b61145e8161292e565b600a80546001600160a01b0319166001600160a01b03838116918217909255600d546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610987565b6114c2612c6d565b6114ca612eb9565b3360008181526014602090815260408083208054825181850281018501909352808352919290919083018282801561152b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161150d575b50505050509050600080600090505b82518110156116fb5782818151811061155557611555613eee565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af11580156115b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d49190613e83565b915081156116e9576001600160a01b0384166000908152601260205260408120845184929086908590811061160b5761160b613eee565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546116429190613ebe565b925050819055506116e96040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525060126000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815181106116bb576116bb613eee565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054612da8565b806116f381613f04565b91505061153a565b50600c54611714906001600160a01b0316843087612d24565b6001600160a01b0383166000908152601360205260408120600101805486929061173f908490613ebe565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a1505050610d0a6001600055565b61179c612c6d565b6117a4612eb9565b336000818152601460209081526040808320600354601390935290832060010154909291906117d4908690613f1d565b101561180c576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c54611823906001600160a01b03168486612e06565b60005b8254811015611ade57600083828154811061184357611843613eee565b6000918252602090912001546001600160a01b0316905061186b8163f1801e6160e01b612f18565b15611a12576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156118d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fc9190613e83565b9250600060126000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858154811061193957611939613eee565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156119a4576040517f8a11f3180000000000000000000000000000000000000000000000000000000081526004810185905260248101829052604401611436565b6001600160a01b038616600090815260126020526040812086548692908890879081106119d3576119d3613eee565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190611a07908490613f1d565b909155505050611acb565b83548490611a2290600190613f1d565b81548110611a3257611a32613eee565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110611a6257611a62613eee565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480611aa057611aa0613f30565b600082815260209020810160001990810180546001600160a01b0319169055019055611acb8161296e565b5080611ad681613f04565b915050611826565b506001600160a01b03831660009081526013602052604081206001018054869290611b0a908490613f1d565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8910161177f565b611b56612c6d565b611b5e612811565b60025460ff16611b9a576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052611bfd57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152611c4b83612f3b565b6001600160a01b03838116600090815260136020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff19169055600c5490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af1158015611cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfd9190613f46565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a1506114496001600055565b611d61612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611dab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dd39190810190613f63565b602001519050611de28161292e565b6114498161296e565b611df3612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611e3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e659190810190613f63565b602001519050611e748161292e565b611e8e6001600160a01b03821663f1801e6160e01b612f18565b1561144957611449816129c8565b611ea9816020015161292e565b611eb781610100015161292e565b8051611ec29061292e565b611ecf8160a0015161292e565b611edd81610180015161292e565b606081015115611ef457611ef48160c0015161292e565b8051600e80546001600160a01b039283166001600160a01b0319918216179091556020830151600c80549190931691161790556040810151600003611f65576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015160035560608101516004556101408101516002805460ff1916911515919091179055610120810151600f90611f9f908261410d565b50610160810151601090611fb3908261410d565b5060a0810151600780546001600160a01b03199081166001600160a01b039384161790915560c0830151600680548316918416919091179055610100830151600d8054831682851617905561018084015160088054909316931692909217905561203e907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90612be6565b600e60009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015612091573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b59190613ed1565b600b80546001600160a01b0319166001600160a01b03928316179055600d54604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261215791908101906141cd565b90506000815160026121699190613ebe565b67ffffffffffffffff8111156121815761218161388c565b6040519080825280602002602001820160405280156121aa578160200160208202803683370190505b50905060005b825181101561220f578281815181106121cb576121cb613eee565b60200260200101518282815181106121e5576121e5613eee565b6001600160a01b03909216602092830291909101909101528061220781613f04565b9150506121b0565b50600d5481516001600160a01b0390911690829061222f90600190613f1d565b8151811061223f5761223f613eee565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835161226f9190613f1d565b8151811061227f5761227f613eee565b6001600160a01b039283166020918202929092010152600b54608085015160e08601516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f926122e79291600f913090889060040161435f565b6020604051808303816000875af1158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613e83565b60055580516123409060169060208401906136e9565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205600554600f8560e0015160405161237b939291906143ad565b60405180910390a1505050565b60085460098054600092839283926123b7926001600160a01b031691846123ae83613f04565b9190505561305d565b90506123c58187878761262c565b9250925050935093915050565b600a546001600160a01b03163314612416576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113ba6130b1565b6010805461242b90614085565b80601f016020809104026020016040519081016040528092919081815260200182805461245790614085565b80156124a45780601f10612479576101008083540402835291602001916124a4565b820191906000526020600020905b81548152906001019060200180831161248757829003601f168201915b505050505081565b6124b4612c6d565b336124be81612879565b6124c781612f3b565b6001600160a01b0380821660008181526013602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945560149052918220909161253e919061374e565b600c54602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015612596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ba9190613f46565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a150506113ba6001600055565b61261c612710600a613e39565b81565b600f805461242b90614085565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156126565750845b869150600060168054806020026020016040519081016040528092919081815260200182805480156126b157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612693575b5050600e546005546040519596506001600160a01b039091169463e1007d4a94509092508791506126e6908b906020016143f6565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b815260040161271c979695949392919061449f565b6020604051808303816000875af115801561273b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061275f9190613e83565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a8960405161279895949392919061450b565b60405180910390a1505094509492505050565b600082815260016020819052604090912001546127c781612bdc565b610f758383612e36565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff16610902565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff166113ba576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038082166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052610d0a57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03811660009081526011602052604090205460ff16610d0a576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116610d0a576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129778161292e565b6001600160a01b038116600081815260116020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49101610987565b6001600160a01b03811660009081526011602052604090205460ff1615612a1b576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815260116020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610987565b806001600160a01b0316826001600160a01b031614611449576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152601460205260408120905b8154811015612bd657826001600160a01b0316828281548110612af957612af9613eee565b6000918252602090912001546001600160a01b031603612bc45781548290612b2390600190613f1d565b81548110612b3357612b33613eee565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110612b6357612b63613eee565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480612ba157612ba1613f30565b600082815260209020810160001990810180546001600160a01b03191690550190555b80612bce81613f04565b915050612ad4565b50505050565b610d0a813361310c565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b600260005403612cbf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401611436565b6002600055565b6114498282604051602401612cdc929190614545565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b0380851660248301528316604482015260648101829052612bd69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526131a2565b6114498282604051602401612dbe929190614570565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b038316602482015260448101829052610f7590849063a9059cbb60e01b90606401612d71565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16156114495760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b33600090815260136020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526113ba57604051636a5cfb6d60e01b815260040160405180910390fd5b6000612f238361328a565b8015612f345750612f3483836132bd565b9392505050565b6001600160a01b038116600090815260146020908152604080832080548251818502810185019093528083529192909190830182828015612fa557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612f87575b5050505050905060005b8151811015610f7557818181518110612fca57612fca613eee565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801561303257600080fd5b505af1158015613046573d6000803e3d6000fd5b50505050808061305590613f04565b915050612faf565b6040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506130a98482613346565b949350505050565b600a8054600d80546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495761313f816133e3565b61314a8360206133f5565b60405160200161315b929190614592565b60408051601f198184030181529082905262461bcd60e51b825261143691600401613d9a565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006131f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135d69092919063ffffffff16565b90508051600014806132185750808060200190518101906132189190613f46565b610f755760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611436565b600061329d826301ffc9a760e01b6132bd565b801561090257506132b6826001600160e01b03196132bd565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561332f575060208210155b801561333b5750600081115b979650505050505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166109025760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401611436565b60606109026001600160a01b03831660145b60606000613404836002613e39565b61340f906002613ebe565b67ffffffffffffffff8111156134275761342761388c565b6040519080825280601f01601f191660200182016040528015613451576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061348857613488613eee565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106134d3576134d3613eee565b60200101906001600160f81b031916908160001a90535060006134f7846002613e39565b613502906001613ebe565b90505b6001811115613587577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061354357613543613eee565b1a60f81b82828151811061355957613559613eee565b60200101906001600160f81b031916908160001a90535060049490941c9361358081614613565b9050613505565b508315612f345760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611436565b60606130a9848460008585600080866001600160a01b031685876040516135fd919061462a565b60006040518083038185875af1925050503d806000811461363a576040519150601f19603f3d011682016040523d82523d6000602084013e61363f565b606091505b509150915061333b87838387606083156136ba5782516000036136b3576001600160a01b0385163b6136b35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611436565b50816130a9565b6130a983838151156136cf5781518083602001fd5b8060405162461bcd60e51b81526004016114369190613d9a565b82805482825590600052602060002090810192821561373e579160200282015b8281111561373e57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613709565b5061374a929150613768565b5090565b5080546000825590600052602060002090810190610d0a91905b5b8082111561374a5760008155600101613769565b60006020828403121561378f57600080fd5b81356001600160e01b031981168114612f3457600080fd5b6000602082840312156137b957600080fd5b5035919050565b6001600160a01b0381168114610d0a57600080fd5b80356137e0816137c0565b919050565b600080604083850312156137f857600080fd5b8235613803816137c0565b91506020830135613813816137c0565b809150509250929050565b60006020828403121561383057600080fd5b8135612f34816137c0565b6000806040838503121561384e57600080fd5b8235613859816137c0565b946020939093013593505050565b6000806040838503121561387a57600080fd5b823591506020830135613813816137c0565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156138c5576138c561388c565b60405290565b6040516101a0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051610120810167ffffffffffffffff811182821017156138c5576138c561388c565b60405160c0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051601f8201601f1916810167ffffffffffffffff8111828210171561395f5761395f61388c565b604052919050565b600067ffffffffffffffff8211156139815761398161388c565b50601f01601f191660200190565b600082601f8301126139a057600080fd5b81356139b36139ae82613967565b613936565b8181528460208386010111156139c857600080fd5b816020850160208301376000918101602001919091529392505050565b6000604082840312156139f757600080fd5b6139ff6138a2565b905081358152602082013567ffffffffffffffff811115613a1f57600080fd5b613a2b8482850161398f565b60208301525092915050565b8015158114610d0a57600080fd5b80356137e081613a37565b600060208284031215613a6257600080fd5b813567ffffffffffffffff80821115613a7a57600080fd5b908301906101a08286031215613a8f57600080fd5b613a976138cb565b613aa0836137d5565b8152613aae602084016137d5565b6020820152604083013560408201526060830135606082015260808301356080820152613add60a084016137d5565b60a0820152613aee60c084016137d5565b60c082015260e083013582811115613b0557600080fd5b613b11878286016139e5565b60e083015250610100613b258185016137d5565b908201526101208381013583811115613b3d57600080fd5b613b498882870161398f565b828401525050610140613b5d818501613a45565b908201526101608381013583811115613b7557600080fd5b613b818882870161398f565b8284015250506101809150613b978284016137d5565b91810191909152949350505050565b8035600381106137e057600080fd5b60048110610d0a57600080fd5b80356137e081613bb5565b600060208284031215613bdf57600080fd5b6040516020810181811067ffffffffffffffff82111715613c0257613c0261388c565b6040529135825250919050565b600060408284031215613c2157600080fd5b613c296138a2565b90508135613c36816137c0565b808252506020820135602082015292915050565b60006101408284031215613c5d57600080fd5b613c656138ef565b9050613c70826137d5565b815260208201356020820152604082013560408201526060820135606082015260808201356080820152613ca660a08301613ba6565b60a0820152613cb760c08301613bc2565b60c0820152613cc98360e08401613bcd565b60e0820152610100613cdd84828501613c0f565b9082015292915050565b60008060006101808486031215613cfd57600080fd5b8335613d08816137c0565b9250613d178560208601613c4a565b915061016084013567ffffffffffffffff811115613d3457600080fd5b613d40868287016139e5565b9150509250925092565b60005b83811015613d65578181015183820152602001613d4d565b50506000910152565b60008151808452613d86816020860160208601613d4a565b601f01601f19169290920160200192915050565b602081526000612f346020830184613d6e565b6000806000806101a08587031215613dc457600080fd5b8435613dcf816137c0565b93506020850135613ddf816137c0565b9250613dee8660408701613c4a565b915061018085013567ffffffffffffffff811115613e0b57600080fd5b613e17878288016139e5565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761090257610902613e23565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613e7857600080fd5b8151612f3481613bb5565b600060208284031215613e9557600080fd5b5051919050565b600082613eb957634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561090257610902613e23565b600060208284031215613ee357600080fd5b8151612f34816137c0565b634e487b7160e01b600052603260045260246000fd5b600060018201613f1657613f16613e23565b5060010190565b8181038181111561090257610902613e23565b634e487b7160e01b600052603160045260246000fd5b600060208284031215613f5857600080fd5b8151612f3481613a37565b60006020808385031215613f7657600080fd5b825167ffffffffffffffff80821115613f8e57600080fd5b9084019060c08287031215613fa257600080fd5b613faa613913565b8251815283830151613fbb816137c0565b818501526040830151613fcd816137c0565b6040820152606083015182811115613fe457600080fd5b830160408189031215613ff657600080fd5b613ffe6138a2565b81518152858201518481111561401357600080fd5b82019350601f8401891361402657600080fd5b835191506140366139ae83613967565b828152898784870101111561404a57600080fd5b61405983888301898801613d4a565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c9082168061409957607f821691505b6020821081036140b957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f7557600081815260208120601f850160051c810160208610156140e65750805b601f850160051c820191505b81811015614105578281556001016140f2565b505050505050565b815167ffffffffffffffff8111156141275761412761388c565b61413b816141358454614085565b846140bf565b602080601f83116001811461417057600084156141585750858301515b600019600386901b1c1916600185901b178555614105565b600085815260208120601f198616915b8281101561419f57888601518255948401946001909101908401614180565b50858210156141bd5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083850312156141e057600080fd5b825167ffffffffffffffff808211156141f857600080fd5b818501915085601f83011261420c57600080fd5b81518181111561421e5761421e61388c565b8060051b915061422f848301613936565b818152918301840191848101908884111561424957600080fd5b938501935b838510156142735784519250614263836137c0565b828252938501939085019061424e565b98975050505050505050565b6000815461428c81614085565b8085526020600183811680156142a957600181146142c3576142f1565b60ff1985168884015283151560051b8801830195506142f1565b866000528260002060005b858110156142e95781548a82018601529083019084016142ce565b890184019650505b505050505092915050565b8051825260006020820151604060208501526130a96040850182613d6e565b600081518084526020808501945080840160005b838110156143545781516001600160a01b03168752958201959082019060010161432f565b509495945050505050565b85815260a06020820152600061437860a083018761427f565b828103604084015261438a81876142fc565b90506001600160a01b03851660608401528281036080840152614273818561431b565b8381526060602082015260006143c6606083018561427f565b82810360408401526143d881856142fc565b9695505050505050565b600481106143f2576143f2613e50565b9052565b6000610140820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061444957614449613e50565b8060a08401525060c083015161446260c08401826143e2565b5060e083015161447560e0840182519052565b506101008381015180516001600160a01b0316848301526020810151610120850152505092915050565b87815260006001600160a01b03808916602084015260e060408401526144c860e0840189613d6e565b818816606085015286608085015283810360a08501526144e881876142fc565b91505082810360c08401526144fd818561431b565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a0608083015261333b60a08301846142fc565b6040815260006145586040830185613d6e565b90506001600160a01b03831660208301529392505050565b6040815260006145836040830185613d6e565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516145ca816017850160208801613d4a565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351614607816028840160208801613d4a565b01602801949350505050565b60008161462257614622613e23565b506000190190565b6000825161463c818460208701613d4a565b919091019291505056fe67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829a2646970667358221220179aab44479af0092d18a8921dae73c9cfb66c6fe2e9f78b0ff1bab36f31093064736f6c63430008130033","sourceMap":"1630:21524:128:-:0;;;7758:145;;;;;;;;;-1:-1:-1;1716:1:28;1821:7;:22;;;7840:56:128;;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:128:-;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061036d5760003560e01c80636c53db9a116101d3578063a230c52411610104578063c8a593e9116100a2578063d7050f071161007c578063d7050f0714610876578063db61d65c1461087f578063ebd7dc5214610892578063f86c5f89146108a557600080fd5b8063c8a593e91461083d578063d547741f14610850578063d6d8428d1461086357600080fd5b8063b64e39af116100de578063b64e39af14610810578063b99b437014610825578063bc063e1a1461082d578063c6d572ae1461083557600080fd5b8063a230c5241461079e578063b3f00674146107f5578063b5058c501461080857600080fd5b80638961be6b116101715780639a72a86f1161014b5780639a72a86f14610724578063a0b21cdf14610754578063a0cf0aea1461077b578063a217fddf1461079657600080fd5b80638961be6b146106cf57806391d14854146106d857806396f0adec1461071157600080fd5b806378a0b8a9116101ad57806378a0b8a91461063d5780637b1039991461064657806382d6a1e71461065957806388cfe6841461066c57600080fd5b80636c53db9a146105de57806373265c37146105f15780637817ee4f1461060457600080fd5b80632f2ff15d116102ad578063477a5cc01161024b5780635ecf71c5116102255780635ecf71c51461057a57806365e3864c1461058d5780636871eb4d146105b857806368decabb146105cb57600080fd5b8063477a5cc014610526578063559de05d146105545780635c94e4d21461056757600080fd5b80633517aa7d116102875780633517aa7d146104d557806336568abe146104dd578063397e2543146104f05780633a871fe11461050357600080fd5b80632f2ff15d146104a657806331f61bca146104b957806333960459146104cc57600080fd5b80631f787d281161031a578063248a9ca3116102f4578063248a9ca31461042357806328c309e9146104475780632b38c69c1461044f5780632c611c4a1461047a57600080fd5b80631f787d28146103f0578063223e5479146103fd57806322bcf9991461041057600080fd5b80630d12bbdb1161034b5780630d12bbdb146103b55780630d4a8b49146103ca578063175188e8146103dd57600080fd5b806301ffc9a7146103725780630331383c1461039a57806308386eba146103ac575b600080fd5b61038561038036600461377d565b6108b8565b60405190151581526020015b60405180910390f35b6003545b604051908152602001610391565b61039e60055481565b6103c86103c33660046137a7565b610908565b005b6103c86103d83660046137e5565b610992565b6103c86103eb36600461381e565b610cf9565b6002546103859060ff1681565b6103c861040b36600461381e565b610d0d565b6103c861041e3660046137e5565b610d1e565b61039e6104313660046137a7565b6000908152600160208190526040909120015490565b61039e610e2d565b61046261045d36600461383b565b610f17565b6040516001600160a01b039091168152602001610391565b61039e61048836600461381e565b6001600160a01b031660009081526013602052604090206001015490565b6103c86104b4366004613867565b610f4f565b6103c86104c73660046137a7565b610f7a565b61039e60095481565b6103c8610fb7565b6103c86104eb366004613867565b6113bc565b6103c86104fe36600461381e565b61144d565b61038561051136600461381e565b60116020526000908152604090205460ff1681565b6103856105343660046137e5565b601560209081526000928352604080842090915290825290205460ff1681565b6103c86105623660046137a7565b6114ba565b600854610462906001600160a01b031681565b6103c86105883660046137a7565b611794565b61039e61059b3660046137e5565b601260209081526000928352604080842090915290825290205481565b6103c86105c63660046137e5565b611b4e565b600a54610462906001600160a01b031681565b600d54610462906001600160a01b031681565b6103c86105ff3660046137a7565b611d59565b61039e6106123660046137e5565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b61039e60035481565b600b54610462906001600160a01b031681565b6103c86106673660046137a7565b611deb565b6106a861067a36600461381e565b6013602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b0390941684526020840192909252151590820152606001610391565b61039e60045481565b6103856106e6366004613867565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6103c861071f366004613a50565b611e9c565b610737610732366004613ce7565b612388565b604080519283526001600160a01b03909116602083015201610391565b61039e7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b61046273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61039e600081565b6103856107ac36600461381e565b6001600160a01b039081166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b600654610462906001600160a01b031681565b6103c86123d2565b61081861241e565b6040516103919190613d9a565b6103c86124ac565b61039e61260f565b61081861261f565b61073761084b366004613dad565b61262c565b6103c861085e366004613867565b6127ab565b600e54610462906001600160a01b031681565b61039e61271081565b600c54610462906001600160a01b031681565b6103856108a036600461381e565b6127d1565b600754610462906001600160a01b031681565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061090257506301ffc9a760e01b6001600160e01b03198316145b92915050565b610910612811565b61091d612710600a613e39565b811115610956576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60048190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b61099b82612879565b6109a4816128dc565b6109ad8161292e565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff1615610a0d576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0380831660009081526013602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff161515918301919091526003805490846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abd9190613e66565b6003811115610ace57610ace613e50565b03610b4d5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b469190613e83565b9050610c3f565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb39190613e66565b6003811115610bc457610bc4613e50565b14610c3f5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af1158015610c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3c9190613e83565b90505b6001600160a01b038581166000818152601260209081526040808320948916808452948252808320869055838352601582528083208584528252808320805460ff19166001908117909155848452601483528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b610d01612811565b610d0a8161296e565b50565b610d15612811565b610d0a816129c8565b610d2782612879565b610d308161292e565b610d3a3382612a6f565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff16610d99576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000818152601560209081526040808320948616808452948252808320805460ff191690559282526012815282822093825292909252812055610de78282612aba565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b910160405180910390a15050565b6007546000906001600160a01b031681610e4a6127106064613e39565b600454600354610e5a9190613e39565b610e649190613e9c565b90506000610e756127106064613e39565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190613e83565b600354610eea9190613e39565b610ef49190613e9c565b90508082600354610f059190613ebe565b610f0f9190613ebe565b935050505090565b60146020528160005260406000208181548110610f3357600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008281526001602081905260409091200154610f6b81612bdc565b610f758383612be6565b505050565b610f82612811565b60038190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f90602001610987565b610fbf612c6d565b33600081815260136020526040812060075490916001600160a01b0390911690610fec6127106064613e39565b600454600354610ffc9190613e39565b6110069190613e9c565b905060006110176127106064613e39565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190613e83565b60035461108c9190613e39565b6110969190613e9c565b6001600160a01b038087166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190529091506113ab5760028401805460ff191660019081179091556003549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152600c5461114691906001600160a01b0316612cc6565b6111788530838560035461115a9190613ebe565b6111649190613ebe565b600c546001600160a01b0316929190612d24565b6111b76040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e74000000000000000000000000000081525083612da8565b81156112245760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260065461120791906001600160a01b0316612cc6565b600654600c54611224916001600160a01b03918216911684612e06565b6112636040518060400160405280601081526020017f67617264656e73466565416d6f756e740000000000000000000000000000000081525082612da8565b8015611364576112ec60405180606001604052806026815260200161464760269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e79190613ed1565b612cc6565b611364836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113519190613ed1565b600c546001600160a01b03169083612e06565b600354604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b50505050506113ba6001600055565b565b6001600160a01b038116331461143f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6114498282612e36565b5050565b611455612811565b61145e8161292e565b600a80546001600160a01b0319166001600160a01b03838116918217909255600d546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610987565b6114c2612c6d565b6114ca612eb9565b3360008181526014602090815260408083208054825181850281018501909352808352919290919083018282801561152b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161150d575b50505050509050600080600090505b82518110156116fb5782818151811061155557611555613eee565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af11580156115b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d49190613e83565b915081156116e9576001600160a01b0384166000908152601260205260408120845184929086908590811061160b5761160b613eee565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546116429190613ebe565b925050819055506116e96040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525060126000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815181106116bb576116bb613eee565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054612da8565b806116f381613f04565b91505061153a565b50600c54611714906001600160a01b0316843087612d24565b6001600160a01b0383166000908152601360205260408120600101805486929061173f908490613ebe565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a1505050610d0a6001600055565b61179c612c6d565b6117a4612eb9565b336000818152601460209081526040808320600354601390935290832060010154909291906117d4908690613f1d565b101561180c576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c54611823906001600160a01b03168486612e06565b60005b8254811015611ade57600083828154811061184357611843613eee565b6000918252602090912001546001600160a01b0316905061186b8163f1801e6160e01b612f18565b15611a12576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156118d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fc9190613e83565b9250600060126000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858154811061193957611939613eee565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156119a4576040517f8a11f3180000000000000000000000000000000000000000000000000000000081526004810185905260248101829052604401611436565b6001600160a01b038616600090815260126020526040812086548692908890879081106119d3576119d3613eee565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190611a07908490613f1d565b909155505050611acb565b83548490611a2290600190613f1d565b81548110611a3257611a32613eee565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110611a6257611a62613eee565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480611aa057611aa0613f30565b600082815260209020810160001990810180546001600160a01b0319169055019055611acb8161296e565b5080611ad681613f04565b915050611826565b506001600160a01b03831660009081526013602052604081206001018054869290611b0a908490613f1d565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8910161177f565b611b56612c6d565b611b5e612811565b60025460ff16611b9a576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052611bfd57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152611c4b83612f3b565b6001600160a01b03838116600090815260136020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff19169055600c5490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af1158015611cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfd9190613f46565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a1506114496001600055565b611d61612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611dab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dd39190810190613f63565b602001519050611de28161292e565b6114498161296e565b611df3612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611e3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e659190810190613f63565b602001519050611e748161292e565b611e8e6001600160a01b03821663f1801e6160e01b612f18565b1561144957611449816129c8565b611ea9816020015161292e565b611eb781610100015161292e565b8051611ec29061292e565b611ecf8160a0015161292e565b611edd81610180015161292e565b606081015115611ef457611ef48160c0015161292e565b8051600e80546001600160a01b039283166001600160a01b0319918216179091556020830151600c80549190931691161790556040810151600003611f65576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015160035560608101516004556101408101516002805460ff1916911515919091179055610120810151600f90611f9f908261410d565b50610160810151601090611fb3908261410d565b5060a0810151600780546001600160a01b03199081166001600160a01b039384161790915560c0830151600680548316918416919091179055610100830151600d8054831682851617905561018084015160088054909316931692909217905561203e907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90612be6565b600e60009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015612091573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b59190613ed1565b600b80546001600160a01b0319166001600160a01b03928316179055600d54604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261215791908101906141cd565b90506000815160026121699190613ebe565b67ffffffffffffffff8111156121815761218161388c565b6040519080825280602002602001820160405280156121aa578160200160208202803683370190505b50905060005b825181101561220f578281815181106121cb576121cb613eee565b60200260200101518282815181106121e5576121e5613eee565b6001600160a01b03909216602092830291909101909101528061220781613f04565b9150506121b0565b50600d5481516001600160a01b0390911690829061222f90600190613f1d565b8151811061223f5761223f613eee565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835161226f9190613f1d565b8151811061227f5761227f613eee565b6001600160a01b039283166020918202929092010152600b54608085015160e08601516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f926122e79291600f913090889060040161435f565b6020604051808303816000875af1158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613e83565b60055580516123409060169060208401906136e9565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205600554600f8560e0015160405161237b939291906143ad565b60405180910390a1505050565b60085460098054600092839283926123b7926001600160a01b031691846123ae83613f04565b9190505561305d565b90506123c58187878761262c565b9250925050935093915050565b600a546001600160a01b03163314612416576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113ba6130b1565b6010805461242b90614085565b80601f016020809104026020016040519081016040528092919081815260200182805461245790614085565b80156124a45780601f10612479576101008083540402835291602001916124a4565b820191906000526020600020905b81548152906001019060200180831161248757829003601f168201915b505050505081565b6124b4612c6d565b336124be81612879565b6124c781612f3b565b6001600160a01b0380821660008181526013602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945560149052918220909161253e919061374e565b600c54602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015612596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ba9190613f46565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a150506113ba6001600055565b61261c612710600a613e39565b81565b600f805461242b90614085565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156126565750845b869150600060168054806020026020016040519081016040528092919081815260200182805480156126b157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612693575b5050600e546005546040519596506001600160a01b039091169463e1007d4a94509092508791506126e6908b906020016143f6565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b815260040161271c979695949392919061449f565b6020604051808303816000875af115801561273b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061275f9190613e83565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a8960405161279895949392919061450b565b60405180910390a1505094509492505050565b600082815260016020819052604090912001546127c781612bdc565b610f758383612e36565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff16610902565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff166113ba576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038082166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052610d0a57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03811660009081526011602052604090205460ff16610d0a576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116610d0a576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129778161292e565b6001600160a01b038116600081815260116020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49101610987565b6001600160a01b03811660009081526011602052604090205460ff1615612a1b576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815260116020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610987565b806001600160a01b0316826001600160a01b031614611449576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152601460205260408120905b8154811015612bd657826001600160a01b0316828281548110612af957612af9613eee565b6000918252602090912001546001600160a01b031603612bc45781548290612b2390600190613f1d565b81548110612b3357612b33613eee565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110612b6357612b63613eee565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480612ba157612ba1613f30565b600082815260209020810160001990810180546001600160a01b03191690550190555b80612bce81613f04565b915050612ad4565b50505050565b610d0a813361310c565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b600260005403612cbf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401611436565b6002600055565b6114498282604051602401612cdc929190614545565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b0380851660248301528316604482015260648101829052612bd69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526131a2565b6114498282604051602401612dbe929190614570565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b038316602482015260448101829052610f7590849063a9059cbb60e01b90606401612d71565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16156114495760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b33600090815260136020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526113ba57604051636a5cfb6d60e01b815260040160405180910390fd5b6000612f238361328a565b8015612f345750612f3483836132bd565b9392505050565b6001600160a01b038116600090815260146020908152604080832080548251818502810185019093528083529192909190830182828015612fa557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612f87575b5050505050905060005b8151811015610f7557818181518110612fca57612fca613eee565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801561303257600080fd5b505af1158015613046573d6000803e3d6000fd5b50505050808061305590613f04565b915050612faf565b6040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506130a98482613346565b949350505050565b600a8054600d80546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495761313f816133e3565b61314a8360206133f5565b60405160200161315b929190614592565b60408051601f198184030181529082905262461bcd60e51b825261143691600401613d9a565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006131f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135d69092919063ffffffff16565b90508051600014806132185750808060200190518101906132189190613f46565b610f755760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611436565b600061329d826301ffc9a760e01b6132bd565b801561090257506132b6826001600160e01b03196132bd565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561332f575060208210155b801561333b5750600081115b979650505050505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166109025760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401611436565b60606109026001600160a01b03831660145b60606000613404836002613e39565b61340f906002613ebe565b67ffffffffffffffff8111156134275761342761388c565b6040519080825280601f01601f191660200182016040528015613451576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061348857613488613eee565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106134d3576134d3613eee565b60200101906001600160f81b031916908160001a90535060006134f7846002613e39565b613502906001613ebe565b90505b6001811115613587577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061354357613543613eee565b1a60f81b82828151811061355957613559613eee565b60200101906001600160f81b031916908160001a90535060049490941c9361358081614613565b9050613505565b508315612f345760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611436565b60606130a9848460008585600080866001600160a01b031685876040516135fd919061462a565b60006040518083038185875af1925050503d806000811461363a576040519150601f19603f3d011682016040523d82523d6000602084013e61363f565b606091505b509150915061333b87838387606083156136ba5782516000036136b3576001600160a01b0385163b6136b35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611436565b50816130a9565b6130a983838151156136cf5781518083602001fd5b8060405162461bcd60e51b81526004016114369190613d9a565b82805482825590600052602060002090810192821561373e579160200282015b8281111561373e57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613709565b5061374a929150613768565b5090565b5080546000825590600052602060002090810190610d0a91905b5b8082111561374a5760008155600101613769565b60006020828403121561378f57600080fd5b81356001600160e01b031981168114612f3457600080fd5b6000602082840312156137b957600080fd5b5035919050565b6001600160a01b0381168114610d0a57600080fd5b80356137e0816137c0565b919050565b600080604083850312156137f857600080fd5b8235613803816137c0565b91506020830135613813816137c0565b809150509250929050565b60006020828403121561383057600080fd5b8135612f34816137c0565b6000806040838503121561384e57600080fd5b8235613859816137c0565b946020939093013593505050565b6000806040838503121561387a57600080fd5b823591506020830135613813816137c0565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156138c5576138c561388c565b60405290565b6040516101a0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051610120810167ffffffffffffffff811182821017156138c5576138c561388c565b60405160c0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051601f8201601f1916810167ffffffffffffffff8111828210171561395f5761395f61388c565b604052919050565b600067ffffffffffffffff8211156139815761398161388c565b50601f01601f191660200190565b600082601f8301126139a057600080fd5b81356139b36139ae82613967565b613936565b8181528460208386010111156139c857600080fd5b816020850160208301376000918101602001919091529392505050565b6000604082840312156139f757600080fd5b6139ff6138a2565b905081358152602082013567ffffffffffffffff811115613a1f57600080fd5b613a2b8482850161398f565b60208301525092915050565b8015158114610d0a57600080fd5b80356137e081613a37565b600060208284031215613a6257600080fd5b813567ffffffffffffffff80821115613a7a57600080fd5b908301906101a08286031215613a8f57600080fd5b613a976138cb565b613aa0836137d5565b8152613aae602084016137d5565b6020820152604083013560408201526060830135606082015260808301356080820152613add60a084016137d5565b60a0820152613aee60c084016137d5565b60c082015260e083013582811115613b0557600080fd5b613b11878286016139e5565b60e083015250610100613b258185016137d5565b908201526101208381013583811115613b3d57600080fd5b613b498882870161398f565b828401525050610140613b5d818501613a45565b908201526101608381013583811115613b7557600080fd5b613b818882870161398f565b8284015250506101809150613b978284016137d5565b91810191909152949350505050565b8035600381106137e057600080fd5b60048110610d0a57600080fd5b80356137e081613bb5565b600060208284031215613bdf57600080fd5b6040516020810181811067ffffffffffffffff82111715613c0257613c0261388c565b6040529135825250919050565b600060408284031215613c2157600080fd5b613c296138a2565b90508135613c36816137c0565b808252506020820135602082015292915050565b60006101408284031215613c5d57600080fd5b613c656138ef565b9050613c70826137d5565b815260208201356020820152604082013560408201526060820135606082015260808201356080820152613ca660a08301613ba6565b60a0820152613cb760c08301613bc2565b60c0820152613cc98360e08401613bcd565b60e0820152610100613cdd84828501613c0f565b9082015292915050565b60008060006101808486031215613cfd57600080fd5b8335613d08816137c0565b9250613d178560208601613c4a565b915061016084013567ffffffffffffffff811115613d3457600080fd5b613d40868287016139e5565b9150509250925092565b60005b83811015613d65578181015183820152602001613d4d565b50506000910152565b60008151808452613d86816020860160208601613d4a565b601f01601f19169290920160200192915050565b602081526000612f346020830184613d6e565b6000806000806101a08587031215613dc457600080fd5b8435613dcf816137c0565b93506020850135613ddf816137c0565b9250613dee8660408701613c4a565b915061018085013567ffffffffffffffff811115613e0b57600080fd5b613e17878288016139e5565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761090257610902613e23565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613e7857600080fd5b8151612f3481613bb5565b600060208284031215613e9557600080fd5b5051919050565b600082613eb957634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561090257610902613e23565b600060208284031215613ee357600080fd5b8151612f34816137c0565b634e487b7160e01b600052603260045260246000fd5b600060018201613f1657613f16613e23565b5060010190565b8181038181111561090257610902613e23565b634e487b7160e01b600052603160045260246000fd5b600060208284031215613f5857600080fd5b8151612f3481613a37565b60006020808385031215613f7657600080fd5b825167ffffffffffffffff80821115613f8e57600080fd5b9084019060c08287031215613fa257600080fd5b613faa613913565b8251815283830151613fbb816137c0565b818501526040830151613fcd816137c0565b6040820152606083015182811115613fe457600080fd5b830160408189031215613ff657600080fd5b613ffe6138a2565b81518152858201518481111561401357600080fd5b82019350601f8401891361402657600080fd5b835191506140366139ae83613967565b828152898784870101111561404a57600080fd5b61405983888301898801613d4a565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c9082168061409957607f821691505b6020821081036140b957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f7557600081815260208120601f850160051c810160208610156140e65750805b601f850160051c820191505b81811015614105578281556001016140f2565b505050505050565b815167ffffffffffffffff8111156141275761412761388c565b61413b816141358454614085565b846140bf565b602080601f83116001811461417057600084156141585750858301515b600019600386901b1c1916600185901b178555614105565b600085815260208120601f198616915b8281101561419f57888601518255948401946001909101908401614180565b50858210156141bd5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083850312156141e057600080fd5b825167ffffffffffffffff808211156141f857600080fd5b818501915085601f83011261420c57600080fd5b81518181111561421e5761421e61388c565b8060051b915061422f848301613936565b818152918301840191848101908884111561424957600080fd5b938501935b838510156142735784519250614263836137c0565b828252938501939085019061424e565b98975050505050505050565b6000815461428c81614085565b8085526020600183811680156142a957600181146142c3576142f1565b60ff1985168884015283151560051b8801830195506142f1565b866000528260002060005b858110156142e95781548a82018601529083019084016142ce565b890184019650505b505050505092915050565b8051825260006020820151604060208501526130a96040850182613d6e565b600081518084526020808501945080840160005b838110156143545781516001600160a01b03168752958201959082019060010161432f565b509495945050505050565b85815260a06020820152600061437860a083018761427f565b828103604084015261438a81876142fc565b90506001600160a01b03851660608401528281036080840152614273818561431b565b8381526060602082015260006143c6606083018561427f565b82810360408401526143d881856142fc565b9695505050505050565b600481106143f2576143f2613e50565b9052565b6000610140820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061444957614449613e50565b8060a08401525060c083015161446260c08401826143e2565b5060e083015161447560e0840182519052565b506101008381015180516001600160a01b0316848301526020810151610120850152505092915050565b87815260006001600160a01b03808916602084015260e060408401526144c860e0840189613d6e565b818816606085015286608085015283810360a08501526144e881876142fc565b91505082810360c08401526144fd818561431b565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a0608083015261333b60a08301846142fc565b6040815260006145586040830185613d6e565b90506001600160a01b03831660208301529392505050565b6040815260006145836040830185613d6e565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516145ca816017850160208801613d4a565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351614607816028840160208801613d4a565b01602801949350505050565b60008161462257614622613e23565b506000190190565b6000825161463c818460208701613d4a565b919091019291505056fe67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829a2646970667358221220179aab44479af0092d18a8921dae73c9cfb66c6fe2e9f78b0ff1bab36f31093064736f6c63430008130033","sourceMap":"1630:21524:128:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2732:202:25;;;;;;:::i;:::-;;:::i;:::-;;;516:14:138;;509:22;491:41;;479:2;464:18;2732:202:25;;;;;;;;20889:107:128;20970:19;;20889:107;;;689:25:138;;;677:2;662:18;20889:107:128;543:177:138;6534:24:128;;;;;;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:128;;;:::i;7409:82::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;2704:55:138;;;2686:74;;2674:2;2659:18;7409:82:128;2540:226:138;16048:143:128;;;;;;:::i;:::-;-1:-1:-1;;;;;16143:28:128;16117:7;16143:28;;;:19;:28;;;;;:41;;;;16048:143;4929:145:25;;;;;;:::i;:::-;;:::i;21002:182:128:-;;;;;;:::i;:::-;;:::i;6714:25::-;;;;;;18503:1907;;;:::i;6038:214:25:-;;;;;;:::i;:::-;;:::i;17707:240:128:-;;;;;;:::i;:::-;;:::i;7164:68::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;7497:107;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;13179:998;;;;;;:::i;:::-;;:::i;6677:31::-;;;;;-1:-1:-1;;;;;6677:31:128;;;14317:1554;;;;;;:::i;:::-;;:::i;7238:98::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;22581:571;;;;;;:::i;:::-;;:::i;6745:41::-;;;;;-1:-1:-1;;;;;6745:41:128;;;6926:24;;;;;-1:-1:-1;;;;;6926:24:128;;;17154:229;;;;;;:::i;:::-;;:::i;15877:165::-;;;;;;:::i;:::-;-1:-1:-1;;;;;15994:30:128;;;15968:7;15994:30;;;:21;:30;;;;;;;;:41;;;;;;;;;;;;;15877:165;6461:34;;;;;;6864:25;;;;;-1:-1:-1;;;;;6864:25:128;;;16320:313;;;;;;:::i;:::-;;:::i;7343:60::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7343:60:128;;;;;;;;;;;;;-1:-1:-1;;;;;4307:55:138;;;4289:74;;4394:2;4379:18;;4372:34;;;;4449:14;4442:22;4422:18;;;4415:50;4277:2;4262:18;7343:60:128;4093:378:138;6501:27:128;;;;;;3021:145:25;;;;;;:::i;:::-;3107:4;3130:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;3130:29:25;;;;;;;;;;;;;;;3021:145;7909:1945:128;;;;;;:::i;:::-;;:::i;9860:341::-;;;;;;:::i;:::-;;:::i;:::-;;;;11918:25:138;;;-1:-1:-1;;;;;11979:55:138;;;11974:2;11959:18;;11952:83;11891:18;9860:341:128;11744:297:138;2042:82:128;;2090:34;2042:82;;1796:75;;1829:42;1796:75;;2153:49:25;;2198:4;2153:49;;18315:182:128;;;;;;:::i;:::-;-1:-1:-1;;;;;18423:28:128;;;18371:14;18423:28;;;:19;:28;;;;;;;;;18397:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18315:182;6609:26;;;;;-1:-1:-1;;;;;6609:26:128;;;18138:171;;;:::i;7070:30::-;;;:::i;:::-;;;;;;;:::i;21650:453::-;;;:::i;7697:54::-;;;:::i;7037:27::-;;;:::i;10207:653::-;;;;;;:::i;:::-;;:::i;5354:147:25:-;;;;;;:::i;:::-;;:::i;6956:17:128:-;;;;;-1:-1:-1;;;;;6956:17:128;;;7642:49;;7684:7;7642:49;;6895:25;;;;;-1:-1:-1;;;;;6895:25:128;;;21512:132;;;;;;:::i;:::-;;:::i;6641:30::-;;;;;-1:-1:-1;;;;;6641:30:128;;;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:128:-;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:138;;;21426:37:128;;677:2:138;662:18;21426:37:128;;;;;;;;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:128;;;;;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;11077:107;;;11151:22;;;;;;;;;;;;;;11077:107;-1:-1:-1;;;;;11217:28:128;;;11194:20;11217:28;;;:19;:28;;;;;;;;;11194:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11340:19;;;;11389:9;-1:-1:-1;;;;;11374:40:128;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:82;;;;;;;;:::i;:::-;;11370:384;;11491:51;;-1:-1:-1;;;11491:51:128;;-1:-1:-1;;;;;15092:55:138;;;11491:51:128;;;15074:74:138;11540:1:128;15164:18:138;;;15157:34;11491:39:128;;;;;15047:18:138;;11491:51:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11472:70;;11370:384;;;11609:32;11578:9;-1:-1:-1;;;;;11563:40:128;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:78;;;;;;;;:::i;:::-;;11559:195;;11676:67;;-1:-1:-1;;;11676:67:128;;-1:-1:-1;;;;;15092:55:138;;;11676:67:128;;;15074:74:138;15164:18;;;15157:34;;;11676:39:128;;;;;15047:18:138;;11676:67:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11657:86;;11559:195;-1:-1:-1;;;;;11764:30:128;;;;;;;:21;:30;;;;;;;;:41;;;;;;;;;;;;:60;;;11853:36;;;:27;:36;;;;;:47;;;;;;;;:54;;-1:-1:-1;;11853:54:128;11903:4;11853:54;;;;;;11918:27;;;:18;:27;;;;;:43;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11918:43:128;;;;;11977:61;;15956:34:138;;;16006:18;;15999:43;;;;16058:18;;;16051:34;;;11977:61:128;;15883:2:138;15868:18;11977:61:128;;;;;;;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:128;;;;;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;12276:110;;12351:24;;;;;;;;;;;;;;12276:110;-1:-1:-1;;;;;12396:36:128;;;12446:5;12396:36;;;:27;:36;;;;;;;;:47;;;;;;;;;;;;:55;;-1:-1:-1;;12396:55:128;;;12461:30;;;:21;:30;;;;;:41;;;;;;;;;:45;12516:44;12424:7;12433:9;12516:24;:44::i;:::-;12690:45;;;-1:-1:-1;;;;;16349:15:138;;;16331:34;;16401:15;;16396:2;16381:18;;16374:43;12690:45:128;;16243:18:138;12690:45:128;;;;;;;12051:691;;:::o;20416:467::-;20539:15;;20471:7;;-1:-1:-1;;;;;20539:15:128;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:128;20777:21;7684:7;20777:3;:21;:::i;:::-;20728:44;;-1:-1:-1;;;20728:44:128;;20766:4;20728:44;;;2686:74:138;-1:-1:-1;;;;;20728:29:128;;;;;2659:18:138;;20728:44:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::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:128;;-1:-1:-1;7409:82:128;;-1:-1:-1;7409:82:128: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:128:-;21071:17;:15;:17::i;:::-;21098:19;:32;;;21145;;689:25:138;;;21145:32:128;;677:2:138;662:18;21145:32:128;543:177:138;18503:1907:128;2261:21:28;:19;:21::i;:::-;18585:10:128::1;18567:15;18632:28:::0;;;:19:::1;:28;::::0;;;;18719:15:::1;::::0;18632:28;;-1:-1:-1;;;;;18719:15:128;;::::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:128::1;18957:21;7684:7;18957:3;:21;:::i;:::-;18908:44;::::0;-1:-1:-1;;;18908:44:128;;18946:4:::1;18908:44;::::0;::::1;2686:74:138::0;-1:-1:-1;;;;;18908:29:128;::::1;::::0;::::1;::::0;2659:18:138;;18908:44:128::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18886:19;;:66;;;;:::i;:::-;18885:94;;;;:::i;:::-;-1:-1:-1::0;;;;;18423:28:128;;;18371:14;18423:28;;;:19;:28;;;;;;;;;18397:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18846:133;;-1:-1:-1;18989:1415:128::1;;19027:22;::::0;::::1;:29:::0;;-1:-1:-1;;19027:29:128::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:128::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:128::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:128::1;19871;:39::i;:::-;19953:11;::::0;19928::::1;::::0;:57:::1;::::0;-1:-1:-1;;;;;19928:11:128;;::::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:128::1;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20120:11;:93::i;:::-;20231:82;20256:14;-1:-1:-1::0;;;;;20256:36:128::1;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20231:11;::::0;-1:-1:-1;;;;;20231:11:128::1;::::0;20296:16;20231:24:::1;:82::i;:::-;20373:19;::::0;20347:46:::1;::::0;;-1:-1:-1;;;;;15092:55:138;;15074:74;;15179:2;15164:18;;15157:34;;;;20347:46:128::1;::::0;15047:18:138;20347:46:128::1;;;;;;;18989:1415;18557:1853;;;;;2303:20:28::0;1716:1;2809:7;:22;2629:209;2303:20;18503:1907:128:o;6038:214:25:-;-1:-1:-1;;;;;6133:23:25;;719:10:35;6133:23:25;6125:83;;;;-1:-1:-1;;;6125:83:25;;17295:2:138;6125:83:25;;;17277:21:138;17334:2;17314:18;;;17307:30;17373:34;17353:18;;;17346:62;17444:17;17424:18;;;17417:45;17479:19;;6125:83:25;;;;;;;;;6219:26;6231:4;6237:7;6219:11;:26::i;:::-;6038:214;;:::o;17707:240:128:-;17771:17;:15;:17::i;:::-;17798:25;17817:5;17798:18;:25::i;:::-;17833:18;:26;;-1:-1:-1;;;;;;17833:26:128;-1:-1:-1;;;;;17833:26:128;;;;;;;;;17907:11;;17874:66;;;17907:11;;;;16331:34:138;;16396:2;16381:18;;16374:43;;;;17874:66:128;;16243:18:138;17874:66:128;16096:327:138;13179:998:128;2261:21:28;:19;:21::i;:::-;13255:26:128::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:128::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:128;;-1:-1:-1;;;;;15092:55:138;;;13628:72:128::1;::::0;::::1;15074:74:138::0;15164:18;;;15157:34;;;13628:49:128;;::::1;::::0;::::1;::::0;15047:18:138;;13628:72:128::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13609:91:::0;-1:-1:-1;13718:21:128;;13714:229:::1;;-1:-1:-1::0;;;;;13759:29:128;::::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:128::1;-1:-1:-1::0;;;;;13759:50:128::1;;;;;;;;;;;;;:70;;;;;;;:::i;:::-;;;;;;;;13847:81;;;;;;;;;;;;;;;;;::::0;13877:21:::1;:29;13899:6;-1:-1:-1::0;;;;;13877:29:128::1;-1:-1:-1::0;;;;;13877:29:128::1;;;;;;;;;;;;:50;13907:16;13924:1;13907:19;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;13877:50:128::1;-1:-1:-1::0;;;;;13877:50:128::1;;;;;;;;;;;;;13847:11;:81::i;:::-;13485:3:::0;::::1;::::0;::::1;:::i;:::-;;;;13436:533;;;-1:-1:-1::0;13979:11:128::1;::::0;:66:::1;::::0;-1:-1:-1;;;;;13979:11:128::1;14008:6:::0;14024:4:::1;14031:13:::0;13979:28:::1;:66::i;:::-;-1:-1:-1::0;;;;;14055:27:128;::::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:128::1;::::0;;-1:-1:-1;;;;;15092:55:138;;15074:74;;15179:2;15164:18;;15157:34;;;14127:43:128::1;::::0;15047:18:138;14127:43:128::1;;;;;;;;13245:932;;;2303:20:28::0;1716:1;2809:7;:22;2629:209;14317:1554:128;2261:21:28;:19;:21::i;:::-;14395:26:128::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:128::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:128::1;::::0;-1:-1:-1;14909:60:128::1;14872:19:::0;-1:-1:-1;;;14909:26:128::1;:60::i;:::-;14905:804;;;15008:63;::::0;;;;-1:-1:-1;;;;;15092:55:138;;;15008:63:128::1;::::0;::::1;15074:74:138::0;15164:18;;;15157:34;;;15008:38:128;::::1;::::0;::::1;::::0;15047:18:138;;15008:63:128::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14989:82;;15089:20;15112:21;:29;15134:6;-1:-1:-1::0;;;;;15112:29:128::1;-1:-1:-1::0;;;;;15112:29:128::1;;;;;;;;;;;;:50;15142:16;15159:1;15142:19;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;::::1;::::0;-1:-1:-1;;;;;15142:19:128::1;15112:50:::0;;;::::1;::::0;;;;;;;;;;-1:-1:-1;15184:31:128;;::::1;15180:259;;;15246:57;::::0;::::1;::::0;;::::1;::::0;::::1;18485:25:138::0;;;18526:18;;;18519:34;;;18458:18;;15246:57:128::1;18311:248:138::0;15180:259:128::1;-1:-1:-1::0;;;;;15350:29:128;::::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:128::1;15350:50:::0;;;::::1;::::0;;;;;;;;:70;;:50;;15380:19;15350:70:::1;::::0;;;::::1;:::i;:::-;::::0;;;-1:-1:-1;;14971:482:128::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:128::1;15544:16;15561:1;15544:19;;;;;;;;:::i;:::-;;;;;;;;;:67;;;;;-1:-1:-1::0;;;;;15544:67:128::1;;;;;-1:-1:-1::0;;;;;15544:67:128::1;;;;;;15629:16;:22;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;15629:22:128;;;;;-1:-1:-1;;;;;;15629:22:128::1;::::0;;;;;15669:25:::1;15685:8:::0;15669:15:::1;:25::i;:::-;-1:-1:-1::0;14834:3:128;::::1;::::0;::::1;:::i;:::-;;;;14785:951;;;-1:-1:-1::0;;;;;;15745:27:128;::::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:128::1;::::0;;-1:-1:-1;;;;;15092:55:138;;15074:74;;15179:2;15164:18;;15157:34;;;15819:45:128::1;::::0;15047:18:138;15819:45:128::1;14892:305:138::0;22581:571:128;2261:21:28;:19;:21::i;:::-;22674:17:128::1;:15;:17::i;:::-;22706:13;::::0;::::1;;22701:68;;22742:16;;;;;;;;;;;;;;22701:68;-1:-1:-1::0;;;;;18423:28:128;;;18371:14;18423:28;;;:19;:28;;;;;;;;;18397:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22778:75:::1;;22823:19;;-1:-1:-1::0;;;22823:19:128::1;;;;;;;;;;;22778:75;-1:-1:-1::0;;;;;22885:28:128;;::::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:128;;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;22965:35;;-1:-1:-1;;;;;;22965:35:128::1;::::0;;-1:-1:-1;22965:35:128;::::1;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;22965:35:128::1;::::0;;23011:11:::1;::::0;23050:19;;::::1;::::0;23011:59;;-1:-1:-1;;;23011:59:128;;15092:55:138;;;23011:59:128::1;::::0;::::1;15074:74:138::0;15164:18;;;15157:34;;;;23011:11:128;;::::1;::::0;:20:::1;::::0;15047:18:138;;23011:59:128::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;23125:19:128::1;::::0;;::::1;::::0;23085:60:::1;::::0;;-1:-1:-1;;;;;15974:15:138;;;15956:34;;16026:15;;16006:18;;;15999:43;;;;16058:18;;16051:34;23085:60:128::1;::::0;15883:2:138;15868:18;23085:60:128::1;;;;;;;22664:488;2303:20:28::0;1716:1;2809:7;:22;2629:209;17154:229:128;17219:17;:15;:17::i;:::-;17273:4;;:20;;-1:-1:-1;;;17273:20:128;;;;;689:25:138;;;17246:16:128;;-1:-1:-1;;;;;17273:4:128;;:12;;662:18:138;;17273:20:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17273:20:128;;;;;;;;;;;;:::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:128;;;;;689:25:138;;;16409:16:128;;-1:-1:-1;;;;;16436:4:128;;:12;;662:18:138;;16436:20:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16436:20:128;;;;;;;;;;;;:::i;:::-;:29;;;16409:57;;16476:28;16495:8;16476:18;:28::i;:::-;16518:60;-1:-1:-1;;;;;16518:26:128;;-1:-1:-1;;;16518:26:128;: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:128;;;-1:-1:-1;;;;;;8357:26:128;;;;;;;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:128;;;;;;;;;;8701:21;;;;8685:13;;:37;;:13;:37;:::i;:::-;-1:-1:-1;8751:23:128;;;;8732:16;;:42;;:16;:42;:::i;:::-;-1:-1:-1;8802:23:128;;;;8784:15;:41;;-1:-1:-1;;;;;;8784:41:128;;;-1:-1:-1;;;;;8784:41:128;;;;;;;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:128;-1:-1:-1;;;;;9068:16:128;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9047:8;:40;;-1:-1:-1;;;;;;9047:40:128;-1:-1:-1;;;;;9047:40:128;;;;;;9124:11;;:23;;;;;;;;-1:-1:-1;;9124:11:128;;;;;:21;;:23;;;;;-1:-1:-1;;9124:23:128;;;;;;;;:11;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9124:23:128;;;;;;;;;;;;:::i;:::-;9098:49;;9157:36;9210:6;:13;9226:1;9210:17;;;;:::i;:::-;9196:32;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9196:32:128;;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:128;;;:22;;;;;;;;;;;:34;9278:3;;;;:::i;:::-;;;;9239:103;;;-1:-1:-1;9414:11:128;;9372:26;;-1:-1:-1;;;;;9414:11:128;;;;9352:19;;9372:30;;9414:11;;9372:30;:::i;:::-;9352:51;;;;;;;;:::i;:::-;;;;;;:74;-1:-1:-1;;;;;9352:74:128;;;-1:-1:-1;;;;;9352:74:128;;;;;9498:4;9436:19;9485:1;9456:19;:26;:30;;;;:::i;:::-;9436:51;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9436:67:128;;;: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:128;;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:128;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:128::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:128;;::::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:128;;::::1;::::0;;;;;;;-1:-1:-1;;21893:35:128;;::::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:128;;-1:-1:-1;;;;;15092:55:138;;;21983:50:128::1;::::0;::::1;15074:74:138::0;15164:18;;;15157:34;;;;21983:11:128;::::1;::::0;:20:::1;::::0;15047:18:138;;21983:50:128::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;22076:19:128::1;::::0;;::::1;::::0;22048:48:::1;::::0;;-1:-1:-1;;;;;15092:55:138;;15074:74;;15164:18;;;15157:34;;;;22048:48:128::1;::::0;15047:18:138;22048:48:128::1;;;;;;;21698:405;;2303:20:28::0;1716:1;2809:7;:22;2629:209;7697:54:128;7731:20;7684:7;7731:2;:20;:::i;:::-;7697:54;:::o;7037:27::-;;;;;;;:::i;10207:653::-;10391:14;;1829:42;-1:-1:-1;;;;;10471:20:128;;;10467:65;;-1:-1:-1;10515:6:128;10467:65;10552:9;10541:20;;10572:31;10606:14;10572:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10572:48:128;;;;;;;;;;;;;;;;-1:-1:-1;;10640:4:128;;10687:9;;10708:19;;10572:48;;-1:-1:-1;;;;;;10640:4:128;;;;:33;;-1:-1:-1;10687:9:128;;-1:-1:-1;10698:8:128;;-1:-1:-1;10708:19:128;;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;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:128:-:0;-1:-1:-1;;;;;3130:29:25;;21575:4:128;3130:29:25;;;:12;;:29;:12;:29;;;;;21598:39:128;3021:145:25;3564:155:128;3650:10;3107:4:25;3130:29;;;:12;;:29;:12;:29;;;;;3614:99:128;;3684:18;;;;;;;;;;;;;;3874:156;-1:-1:-1;;;;;18423:28:128;;;18371:14;18423:28;;;:19;:28;;;;;;;;;18397:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3949:75;;3994:19;;-1:-1:-1;;;3994:19:128;;;;;;;;;;;4036:162;-1:-1:-1;;;;;4112:28:128;;;;;;:17;:28;;;;;;;;4107:85;;4163:18;;;;;;;;;;;;;;17015:133;-1:-1:-1;;;;;17089:22:128;;17085:56;;17120:21;;;;;;;;;;;;;;17389:186;17452:29;17471:9;17452:18;:29::i;:::-;-1:-1:-1;;;;;17491:28:128;;17522:5;17491:28;;;:17;:28;;;;;;;;;:36;;-1:-1:-1;;17491:36:128;;;17542:26;;2686:74:138;;;17542:26:128;;2659:18:138;17542:26:128;2540:226:138;16765:244:128;-1:-1:-1;;;;;16832:31:128;;;;;;:17;:31;;;;;;;;16828:85;;;16886:16;;;;;;;;;;;;;;16828:85;-1:-1:-1;;;;;16922:31:128;;;;;;:17;:31;;;;;;;;;:38;;-1:-1:-1;;16922:38:128;16956:4;16922:38;;;16975:27;;2686:74:138;;;16975:27:128;;2659:18:138;16975:27:128;2540:226:138;4204:171:128;4307:9;-1:-1:-1;;;;;4296:20:128;:7;-1:-1:-1;;;;;4296:20:128;;4292:77;;4339:19;;;;;;;;;;;;;;12748:425;-1:-1:-1;;;;;12874:27:128;;12837:34;12874:27;;;:18;:27;;;;;;12911:256;12935:23;;12931:27;;12911:256;;;13006:9;-1:-1:-1;;;;;12983:32:128;:16;13000:1;12983:19;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;12983:19:128;:32;12979:178;;13074:23;;13057:16;;13074:27;;13100:1;;13074:27;:::i;:::-;13057:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13057:45:128;13035:16;13052:1;13035:19;;;;;;;;:::i;:::-;;;;;;;;;:67;;;;;-1:-1:-1;;;;;13035:67:128;;;;;-1:-1:-1;;;;;13035:67:128;;;;;;13120:16;:22;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;13120:22:128;;;;;-1:-1:-1;;;;;;13120:22:128;;;;;;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;;30815:2:138;2460:63:28;;;30797:21:138;30854:2;30834:18;;;30827:30;30893:33;30873:18;;;30866:61;30944:18;;2460:63:28;30613:355:138;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;;;;;15974:15:138;;;1482:68:33;;;15956:34:138;16026:15;;16006:18;;;15999:43;16058:18;;;16051:34;;;1455:96:33;;1475:5;;1505:27;;15868:18:138;;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;;;;;15092:55:138;;1050:58:33;;;15074:74:138;15164:18;;;15157:34;;;1023:86:33;;1043:5;;-1:-1:-1;;;1073:23:33;15047:18:138;;1050:58:33;14892:305:138;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:128:-;3798:10;18371:14;18423:28;;;:19;:28;;;;;;;;;18397:54;;;;;;;;;-1:-1:-1;;;;;18397:54:128;;;;;;;;;;;;;;;;;;;;;;;;;;3784:78;;3832:19;;-1:-1:-1;;;3832:19:128;;;;;;;;;;;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:128:-;-1:-1:-1;;;;;22214:27:128;;22178:33;22214:27;;;:18;:27;;;;;;;;22178:63;;;;;;;;;;;;;;;;;;;22214:27;;22178:63;;;22214:27;22178:63;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22178:63:128;;;;;;;;;;;;;;;;;;;;;;;22322:9;22317:252;22341:16;:23;22337:1;:27;22317:252;;;22512:16;22529:1;22512:19;;;;;;;;:::i;:::-;;;;;;;;;;;22497:61;;;;;-1:-1:-1;;;;;2704:55:138;;;22497:61:128;;;2686:74:138;22497:52:128;;;;;;2659:18:138;;22497:61:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22366:3;;;;;:::i;:::-;;;;22317:252;;4749:279:6;4867:36;;-1:-1:-1;;4884:10:6;31791:2:138;31787:15;31783:53;4867:36:6;;;31771:66:138;31853:12;;;31846:28;;;4823:7:6;;;;31890:12:138;;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:128:-;18022:18;;;18002:11;:39;;-1:-1:-1;;;;;18022:18:128;;-1:-1:-1;;;;;;18002:39:128;;;;;;;18051:25;;;18091:34;;-1:-1:-1;2686:74:138;;18091:34:128;;2674:2:138;2659:18;18091:34:128;;;;;;;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;;33171:2:138;5720:111:33;;;33153:21:138;33210:2;33190:18;;;33183:30;33249:34;33229:18;;;33222:62;33320:12;33300:18;;;33293:40;33350:19;;5720:111:33;32969:406:138;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;;;;;;33542:79:138;;4592:71:38;;;;33524:98:138;;;;4592:71:38;;;;;;;;;;33497:18:138;;;;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;;33835:2:138;2847:58:14;;;33817:21:138;33874:2;33854:18;;;33847:30;33913:25;33893:18;;;33886:53;33956:18;;2847:58:14;33633:347:138;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;;34328:2:138;2162:55:36;;;34310:21:138;;;34347:18;;;34340:30;34406:34;34386:18;;;34379:62;34458:18;;2162:55:36;34126:356:138;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;;35388:2:138;8113:60:34;;;35370:21:138;35427:2;35407:18;;;35400:30;35466:31;35446:18;;;35439:59;35515:18;;8113:60:34;35186:353:138;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:138;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:138;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:138;;907:180;-1:-1:-1;907:180:138:o;1092:154::-;-1:-1:-1;;;;;1171:5:138;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:138;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:138:o;2771:::-;2839:6;2847;2900:2;2888:9;2879:7;2875:23;2871:32;2868:52;;;2916:1;2913;2906:12;2868:52;2952:9;2939:23;2929:33;;3012:2;3001:9;2997:18;2984:32;3025:31;3050:5;3025:31;:::i;4476:184::-;-1:-1:-1;;;4525:1:138;4518:88;4625:4;4622:1;4615:15;4649:4;4646:1;4639:15;4665:257;4737:4;4731:11;;;4769:17;;4816:18;4801:34;;4837:22;;;4798:62;4795:88;;;4863:18;;:::i;:::-;4899:4;4892:24;4665:257;:::o;4927:255::-;4999:2;4993:9;5041:6;5029:19;;5078:18;5063:34;;5099:22;;;5060:62;5057:88;;;5125:18;;:::i;5187:255::-;5259:2;5253:9;5301:6;5289:19;;5338:18;5323:34;;5359:22;;;5320:62;5317:88;;;5385:18;;:::i;5447:253::-;5519:2;5513:9;5561:4;5549:17;;5596:18;5581:34;;5617:22;;;5578:62;5575:88;;;5643:18;;:::i;5705:275::-;5776:2;5770:9;5841:2;5822:13;;-1:-1:-1;;5818:27:138;5806:40;;5876:18;5861:34;;5897:22;;;5858:62;5855:88;;;5923:18;;:::i;:::-;5959:2;5952:22;5705:275;;-1:-1:-1;5705:275:138:o;5985:187::-;6034:4;6067:18;6059:6;6056:30;6053:56;;;6089:18;;:::i;:::-;-1:-1:-1;6155:2:138;6134:15;-1:-1:-1;;6130:29:138;6161:4;6126:40;;5985:187::o;6177:464::-;6220:5;6273:3;6266:4;6258:6;6254:17;6250:27;6240:55;;6291:1;6288;6281:12;6240:55;6327:6;6314:20;6358:49;6374:32;6403:2;6374:32;:::i;:::-;6358:49;:::i;:::-;6432:2;6423:7;6416:19;6478:3;6471:4;6466:2;6458:6;6454:15;6450:26;6447:35;6444:55;;;6495:1;6492;6485:12;6444:55;6560:2;6553:4;6545:6;6541:17;6534:4;6525:7;6521:18;6508:55;6608:1;6583:16;;;6601:4;6579:27;6572:38;;;;6587:7;6177:464;-1:-1:-1;;;6177:464:138:o;6646:411::-;6701:5;6749:4;6737:9;6732:3;6728:19;6724:30;6721:50;;;6767:1;6764;6757:12;6721:50;6789:22;;:::i;:::-;6780:31;;6847:9;6834:23;6827:5;6820:38;6909:2;6898:9;6894:18;6881:32;6936:18;6928:6;6925:30;6922:50;;;6968:1;6965;6958:12;6922:50;7004:46;7046:3;7037:6;7026:9;7022:22;7004:46;:::i;:::-;6999:2;6992:5;6988:14;6981:70;;6646:411;;;;:::o;7062:118::-;7148:5;7141:13;7134:21;7127:5;7124:32;7114:60;;7170:1;7167;7160:12;7185:128;7250:20;;7279:28;7250:20;7279:28;:::i;7318:1713::-;7412:6;7465:2;7453:9;7444:7;7440:23;7436:32;7433:52;;;7481:1;7478;7471:12;7433:52;7521:9;7508:23;7550:18;7591:2;7583:6;7580:14;7577:34;;;7607:1;7604;7597:12;7577:34;7630:22;;;;7686:6;7668:16;;;7664:29;7661:49;;;7706:1;7703;7696:12;7661:49;7732:22;;:::i;:::-;7777;7796:2;7777:22;:::i;:::-;7770:5;7763:37;7832:31;7859:2;7855;7851:11;7832:31;:::i;:::-;7827:2;7820:5;7816:14;7809:55;7917:2;7913;7909:11;7896:25;7891:2;7884:5;7880:14;7873:49;7975:2;7971;7967:11;7954:25;7949:2;7942:5;7938:14;7931:49;8034:3;8030:2;8026:12;8013:26;8007:3;8000:5;7996:15;7989:51;8073:32;8100:3;8096:2;8092:12;8073:32;:::i;:::-;8067:3;8060:5;8056:15;8049:57;8139:32;8166:3;8162:2;8158:12;8139:32;:::i;:::-;8133:3;8126:5;8122:15;8115:57;8218:3;8214:2;8210:12;8197:26;8248:2;8238:8;8235:16;8232:36;;;8264:1;8261;8254:12;8232:36;8301:54;8347:7;8336:8;8332:2;8328:17;8301:54;:::i;:::-;8295:3;8288:5;8284:15;8277:79;;8375:3;8410:31;8437:2;8433;8429:11;8410:31;:::i;:::-;8394:14;;;8387:55;8461:3;8502:11;;;8489:25;8526:16;;;8523:36;;;8555:1;8552;8545:12;8523:36;8591:45;8628:7;8617:8;8613:2;8609:17;8591:45;:::i;:::-;8586:2;8579:5;8575:14;8568:69;;;8656:3;8691:28;8715:2;8711;8707:11;8691:28;:::i;:::-;8675:14;;;8668:52;8739:3;8780:11;;;8767:25;8804:16;;;8801:36;;;8833:1;8830;8823:12;8801:36;8869:45;8906:7;8895:8;8891:2;8887:17;8869:45;:::i;:::-;8864:2;8857:5;8853:14;8846:69;;;8934:3;8924:13;;8969:31;8996:2;8992;8988:11;8969:31;:::i;:::-;8953:14;;;8946:55;;;;8957:5;7318:1713;-1:-1:-1;;;;7318:1713:138:o;9036:153::-;9114:20;;9163:1;9153:12;;9143:40;;9179:1;9176;9169:12;9194:110;9278:1;9271:5;9268:12;9258:40;;9294:1;9291;9284:12;9309:152;9386:20;;9415:40;9386:20;9415:40;:::i;9466:416::-;9530:5;9578:4;9566:9;9561:3;9557:19;9553:30;9550:50;;;9596:1;9593;9586:12;9550:50;9629:2;9623:9;9671:4;9663:6;9659:17;9742:6;9730:10;9727:22;9706:18;9694:10;9691:34;9688:62;9685:88;;;9753:18;;:::i;:::-;9789:2;9782:22;9852:23;;9837:39;;-1:-1:-1;9822:6:138;9466:416;-1:-1:-1;9466:416:138:o;9887:359::-;9945:5;9993:4;9981:9;9976:3;9972:19;9968:30;9965:50;;;10011:1;10008;10001:12;9965:50;10033:22;;:::i;:::-;10024:31;;10092:9;10079:23;10111:33;10136:7;10111:33;:::i;:::-;10167:7;10160:5;10153:22;;10235:2;10224:9;10220:18;10207:32;10202:2;10195:5;10191:14;10184:56;9887:359;;;;:::o;10251:865::-;10314:5;10362:6;10350:9;10345:3;10341:19;10337:32;10334:52;;;10382:1;10379;10372:12;10334:52;10404:22;;:::i;:::-;10395:31;;10449:29;10468:9;10449:29;:::i;:::-;10442:5;10435:44;10539:2;10528:9;10524:18;10511:32;10506:2;10499:5;10495:14;10488:56;10604:2;10593:9;10589:18;10576:32;10571:2;10564:5;10560:14;10553:56;10669:2;10658:9;10654:18;10641:32;10636:2;10629:5;10625:14;10618:56;10735:3;10724:9;10720:19;10707:33;10701:3;10694:5;10690:15;10683:58;10774:49;10818:3;10807:9;10803:19;10774:49;:::i;:::-;10768:3;10761:5;10757:15;10750:74;10857:48;10900:3;10889:9;10885:19;10857:48;:::i;:::-;10851:3;10844:5;10840:15;10833:73;10939:61;10996:3;10990;10979:9;10975:19;10939:61;:::i;:::-;10933:3;10926:5;10922:15;10915:86;11020:3;11055:54;11105:3;11100:2;11089:9;11085:18;11055:54;:::i;:::-;11039:14;;;11032:78;11043:5;10251:865;-1:-1:-1;;10251:865:138:o;11121:618::-;11259:6;11267;11275;11328:3;11316:9;11307:7;11303:23;11299:33;11296:53;;;11345:1;11342;11335:12;11296:53;11384:9;11371:23;11403:31;11428:5;11403:31;:::i;:::-;11453:5;-1:-1:-1;11477:63:138;11532:7;11527:2;11512:18;;11477:63;:::i;:::-;11467:73;;11591:3;11580:9;11576:19;11563:33;11619:18;11611:6;11608:30;11605:50;;;11651:1;11648;11641:12;11605:50;11674:59;11725:7;11716:6;11705:9;11701:22;11674:59;:::i;:::-;11664:69;;;11121:618;;;;;:::o;12046:250::-;12131:1;12141:113;12155:6;12152:1;12149:13;12141:113;;;12231:11;;;12225:18;12212:11;;;12205:39;12177:2;12170:10;12141:113;;;-1:-1:-1;;12288:1:138;12270:16;;12263:27;12046:250::o;12301:271::-;12343:3;12381:5;12375:12;12408:6;12403:3;12396:19;12424:76;12493:6;12486:4;12481:3;12477:14;12470:4;12463:5;12459:16;12424:76;:::i;:::-;12554:2;12533:15;-1:-1:-1;;12529:29:138;12520:39;;;;12561:4;12516:50;;12301:271;-1:-1:-1;;12301:271:138:o;12577:220::-;12726:2;12715:9;12708:21;12689:4;12746:45;12787:2;12776:9;12772:18;12764:6;12746:45;:::i;12802:759::-;12949:6;12957;12965;12973;13026:3;13014:9;13005:7;13001:23;12997:33;12994:53;;;13043:1;13040;13033:12;12994:53;13082:9;13069:23;13101:31;13126:5;13101:31;:::i;:::-;13151:5;-1:-1:-1;13208:2:138;13193:18;;13180:32;13221:33;13180:32;13221:33;:::i;:::-;13273:7;-1:-1:-1;13299:63:138;13354:7;13349:2;13334:18;;13299:63;:::i;:::-;13289:73;;13413:3;13402:9;13398:19;13385:33;13441:18;13433:6;13430:30;13427:50;;;13473:1;13470;13463:12;13427:50;13496:59;13547:7;13538:6;13527:9;13523:22;13496:59;:::i;:::-;13486:69;;;12802:759;;;;;;;:::o;14059:184::-;-1:-1:-1;;;14108:1:138;14101:88;14208:4;14205:1;14198:15;14232:4;14229:1;14222:15;14248:168;14321:9;;;14352;;14369:15;;;14363:22;;14349:37;14339:71;;14390:18;;:::i;14421:184::-;-1:-1:-1;;;14470:1:138;14463:88;14570:4;14567:1;14560:15;14594:4;14591:1;14584:15;14610:277;14697:6;14750:2;14738:9;14729:7;14725:23;14721:32;14718:52;;;14766:1;14763;14756:12;14718:52;14798:9;14792:16;14817:40;14851:5;14817:40;:::i;15202:184::-;15272:6;15325:2;15313:9;15304:7;15300:23;15296:32;15293:52;;;15341:1;15338;15331:12;15293:52;-1:-1:-1;15364:16:138;;15202:184;-1:-1:-1;15202:184:138:o;16428:274::-;16468:1;16494;16484:189;;-1:-1:-1;;;16526:1:138;16519:88;16630:4;16627:1;16620:15;16658:4;16655:1;16648:15;16484:189;-1:-1:-1;16687:9:138;;16428:274::o;16707:125::-;16772:9;;;16793:10;;;16790:36;;;16806:18;;:::i;16837:251::-;16907:6;16960:2;16948:9;16939:7;16935:23;16931:32;16928:52;;;16976:1;16973;16966:12;16928:52;17008:9;17002:16;17027:31;17052:5;17027:31;:::i;17849:184::-;-1:-1:-1;;;17898:1:138;17891:88;17998:4;17995:1;17988:15;18022:4;18019:1;18012:15;18038:135;18077:3;18098:17;;;18095:43;;18118:18;;:::i;:::-;-1:-1:-1;18165:1:138;18154:13;;18038:135::o;18178:128::-;18245:9;;;18266:11;;;18263:37;;;18280:18;;:::i;18564:184::-;-1:-1:-1;;;18613:1:138;18606:88;18713:4;18710:1;18703:15;18737:4;18734:1;18727:15;18753:245;18820:6;18873:2;18861:9;18852:7;18848:23;18844:32;18841:52;;;18889:1;18886;18879:12;18841:52;18921:9;18915:16;18940:28;18962:5;18940:28;:::i;19003:1653::-;19095:6;19126:2;19169;19157:9;19148:7;19144:23;19140:32;19137:52;;;19185:1;19182;19175:12;19137:52;19218:9;19212:16;19247:18;19288:2;19280:6;19277:14;19274:34;;;19304:1;19301;19294:12;19274:34;19327:22;;;;19383:4;19365:16;;;19361:27;19358:47;;;19401:1;19398;19391:12;19358:47;19427:22;;:::i;:::-;19478:2;19472:9;19465:5;19458:24;19520:2;19516;19512:11;19506:18;19533:33;19558:7;19533:33;:::i;:::-;19582:14;;;19575:31;19644:2;19636:11;;19630:18;19657:33;19630:18;19657:33;:::i;:::-;19717:2;19706:14;;19699:31;19769:2;19761:11;;19755:18;19785:16;;;19782:36;;;19814:1;19811;19804:12;19782:36;19837:17;;19888:2;19870:16;;;19866:25;19863:45;;;19904:1;19901;19894:12;19863:45;19932:22;;:::i;:::-;19985:2;19979:9;19970:7;19963:26;20028:2;20024;20020:11;20014:18;20057:2;20047:8;20044:16;20041:36;;;20073:1;20070;20063:12;20041:36;20096:17;;;-1:-1:-1;20144:4:138;20136:13;;20132:27;-1:-1:-1;20122:55:138;;20173:1;20170;20163:12;20122:55;20202:2;20196:9;20186:19;;20227:49;20243:32;20272:2;20243:32;:::i;20227:49::-;20299:2;20292:5;20285:17;20339:7;20334:2;20329;20325;20321:11;20317:20;20314:33;20311:53;;;20360:1;20357;20350:12;20311:53;20373:67;20437:2;20432;20425:5;20421:14;20416:2;20412;20408:11;20373:67;:::i;:::-;20456:16;;;20449:31;;;;-1:-1:-1;20507:2:138;20496:14;;20489:31;;;;-1:-1:-1;20567:3:138;20559:12;;;20553:19;20536:15;;;20529:44;20620:3;20612:12;;;20606:19;20589:15;;;20582:44;20500:5;19003:1653;-1:-1:-1;;;19003:1653:138:o;20661:437::-;20740:1;20736:12;;;;20783;;;20804:61;;20858:4;20850:6;20846:17;20836:27;;20804:61;20911:2;20903:6;20900:14;20880:18;20877:38;20874:218;;-1:-1:-1;;;20945:1:138;20938:88;21049:4;21046:1;21039:15;21077:4;21074:1;21067:15;20874:218;;20661:437;;;:::o;21229:545::-;21331:2;21326:3;21323:11;21320:448;;;21367:1;21392:5;21388:2;21381:17;21437:4;21433:2;21423:19;21507:2;21495:10;21491:19;21488:1;21484:27;21478:4;21474:38;21543:4;21531:10;21528:20;21525:47;;;-1:-1:-1;21566:4:138;21525:47;21621:2;21616:3;21612:12;21609:1;21605:20;21599:4;21595:31;21585:41;;21676:82;21694:2;21687:5;21684:13;21676:82;;;21739:17;;;21720:1;21709:13;21676:82;;;21680:3;;;21229:545;;;:::o;21950:1352::-;22076:3;22070:10;22103:18;22095:6;22092:30;22089:56;;;22125:18;;:::i;:::-;22154:97;22244:6;22204:38;22236:4;22230:11;22204:38;:::i;:::-;22198:4;22154:97;:::i;:::-;22306:4;;22370:2;22359:14;;22387:1;22382:663;;;;23089:1;23106:6;23103:89;;;-1:-1:-1;23158:19:138;;;23152:26;23103:89;-1:-1:-1;;21907:1:138;21903:11;;;21899:24;21895:29;21885:40;21931:1;21927:11;;;21882:57;23205:81;;22352:944;;22382:663;21176:1;21169:14;;;21213:4;21200:18;;-1:-1:-1;;22418:20:138;;;22536:236;22550:7;22547:1;22544:14;22536:236;;;22639:19;;;22633:26;22618:42;;22731:27;;;;22699:1;22687:14;;;;22566:19;;22536:236;;;22540:3;22800:6;22791:7;22788:19;22785:201;;;22861:19;;;22855:26;-1:-1:-1;;22944:1:138;22940:14;;;22956:3;22936:24;22932:37;22928:42;22913:58;22898:74;;22785:201;-1:-1:-1;;;;;23032:1:138;23016:14;;;23012:22;22999:36;;-1:-1:-1;21950:1352:138:o;23307:1011::-;23402:6;23433:2;23476;23464:9;23455:7;23451:23;23447:32;23444:52;;;23492:1;23489;23482:12;23444:52;23525:9;23519:16;23554:18;23595:2;23587:6;23584:14;23581:34;;;23611:1;23608;23601:12;23581:34;23649:6;23638:9;23634:22;23624:32;;23694:7;23687:4;23683:2;23679:13;23675:27;23665:55;;23716:1;23713;23706:12;23665:55;23745:2;23739:9;23767:2;23763;23760:10;23757:36;;;23773:18;;:::i;:::-;23819:2;23816:1;23812:10;23802:20;;23842:28;23866:2;23862;23858:11;23842:28;:::i;:::-;23904:15;;;23974:11;;;23970:20;;;23935:12;;;;24002:19;;;23999:39;;;24034:1;24031;24024:12;23999:39;24058:11;;;;24078:210;24094:6;24089:3;24086:15;24078:210;;;24167:3;24161:10;24148:23;;24184:31;24209:5;24184:31;:::i;:::-;24228:18;;;24111:12;;;;24266;;;;24078:210;;;24307:5;23307:1011;-1:-1:-1;;;;;;;;23307:1011:138:o;24323:772::-;24373:3;24414:5;24408:12;24443:36;24469:9;24443:36;:::i;:::-;24488:19;;;24526:4;24549:1;24566:18;;;24593:146;;;;24753:1;24748:341;;;;24559:530;;24593:146;-1:-1:-1;;24635:24:138;;24621:12;;;24614:46;24707:14;;24700:22;24697:1;24693:30;24684:40;;24680:49;;;-1:-1:-1;24593:146:138;;24748:341;24779:5;24776:1;24769:16;24826:2;24823:1;24813:16;24851:1;24865:174;24879:6;24876:1;24873:13;24865:174;;;24966:14;;24948:11;;;24944:20;;24937:44;25009:16;;;;24894:10;;24865:174;;;25063:11;;25059:20;;;-1:-1:-1;;24559:530:138;;;;;;24323:772;;;;:::o;25100:252::-;25187:5;25181:12;25176:3;25169:25;25151:3;25240:4;25233:5;25229:16;25223:23;25278:4;25271;25266:3;25262:14;25255:28;25299:47;25340:4;25335:3;25331:14;25317:12;25299:47;:::i;25357:484::-;25410:3;25448:5;25442:12;25475:6;25470:3;25463:19;25501:4;25530:2;25525:3;25521:12;25514:19;;25567:2;25560:5;25556:14;25588:1;25598:218;25612:6;25609:1;25606:13;25598:218;;;25677:13;;-1:-1:-1;;;;;25673:62:138;25661:75;;25756:12;;;;25791:15;;;;25634:1;25627:9;25598:218;;;-1:-1:-1;25832:3:138;;25357:484;-1:-1:-1;;;;;25357:484:138:o;25846:827::-;26206:6;26195:9;26188:25;26249:3;26244:2;26233:9;26229:18;26222:31;26169:4;26276:54;26325:3;26314:9;26310:19;26302:6;26276:54;:::i;:::-;26378:9;26370:6;26366:22;26361:2;26350:9;26346:18;26339:50;26412:42;26447:6;26439;26412:42;:::i;:::-;26398:56;;-1:-1:-1;;;;;26494:6:138;26490:55;26485:2;26474:9;26470:18;26463:83;26595:9;26587:6;26583:22;26577:3;26566:9;26562:19;26555:51;26623:44;26660:6;26652;26623:44;:::i;26867:500::-;27121:6;27110:9;27103:25;27164:2;27159;27148:9;27144:18;27137:30;27084:4;27190:53;27239:2;27228:9;27224:18;27216:6;27190:53;:::i;:::-;27291:9;27283:6;27279:22;27274:2;27263:9;27259:18;27252:50;27319:42;27354:6;27346;27319:42;:::i;:::-;27311:50;26867:500;-1:-1:-1;;;;;;26867:500:138:o;27372:142::-;27455:1;27448:5;27445:12;27435:46;;27461:18;;:::i;:::-;27490;;27372:142::o;27820:1140::-;27982:4;28024:3;28013:9;28009:19;28001:27;;-1:-1:-1;;;;;28065:6:138;28059:13;28055:62;28044:9;28037:81;28174:4;28166:6;28162:17;28156:24;28149:4;28138:9;28134:20;28127:54;28237:4;28229:6;28225:17;28219:24;28212:4;28201:9;28197:20;28190:54;28300:4;28292:6;28288:17;28282:24;28275:4;28264:9;28260:20;28253:54;28363:4;28355:6;28351:17;28345:24;28338:4;28327:9;28323:20;28316:54;28417:4;28409:6;28405:17;28399:24;28459:1;28445:12;28442:19;28432:53;;28465:18;;:::i;:::-;28523:12;28516:4;28505:9;28501:20;28494:42;;28585:4;28577:6;28573:17;28567:24;28600:65;28659:4;28648:9;28644:20;28628:14;28600:65;:::i;:::-;;28714:4;28706:6;28702:17;28696:24;28729:73;28796:4;28785:9;28781:20;28765:14;27594:12;27582:25;;27519:90;28729:73;-1:-1:-1;28821:6:138;28864:15;;;28858:22;27695:12;;-1:-1:-1;;;;;27691:61:138;28935:18;;;27679:74;27802:4;27791:16;;27785:23;27769:14;;;27762:47;28889:65;;27820:1140;;;;:::o;28965:1002::-;29390:6;29379:9;29372:25;29353:4;-1:-1:-1;;;;;29506:2:138;29498:6;29494:15;29489:2;29478:9;29474:18;29467:43;29546:3;29541:2;29530:9;29526:18;29519:31;29573:46;29614:3;29603:9;29599:19;29591:6;29573:46;:::i;:::-;29667:2;29659:6;29655:15;29650:2;29639:9;29635:18;29628:43;29708:6;29702:3;29691:9;29687:19;29680:35;29764:9;29756:6;29752:22;29746:3;29735:9;29731:19;29724:51;29798:42;29833:6;29825;29798:42;:::i;:::-;29784:56;;;29889:9;29881:6;29877:22;29871:3;29860:9;29856:19;29849:51;29917:44;29954:6;29946;29917:44;:::i;:::-;29909:52;28965:1002;-1:-1:-1;;;;;;;;;;28965:1002:138:o;29972:636::-;30265:6;30254:9;30247:25;30228:4;-1:-1:-1;;;;;30381:2:138;30373:6;30369:15;30364:2;30353:9;30349:18;30342:43;30433:2;30425:6;30421:15;30416:2;30405:9;30401:18;30394:43;30485:2;30477:6;30473:15;30468:2;30457:9;30453:18;30446:43;;30526:3;30520;30509:9;30505:19;30498:32;30547:55;30597:3;30586:9;30582:19;30574:6;30547:55;:::i;30973:340::-;31150:2;31139:9;31132:21;31113:4;31170:45;31211:2;31200:9;31196:18;31188:6;31170:45;:::i;:::-;31162:53;;-1:-1:-1;;;;;31255:6:138;31251:55;31246:2;31235:9;31231:18;31224:83;30973:340;;;;;:::o;31318:291::-;31495:2;31484:9;31477:21;31458:4;31515:45;31556:2;31545:9;31541:18;31533:6;31515:45;:::i;:::-;31507:53;;31596:6;31591:2;31580:9;31576:18;31569:34;31318:291;;;;;:::o;32152:812::-;32563:25;32558:3;32551:38;32533:3;32618:6;32612:13;32634:75;32702:6;32697:2;32692:3;32688:12;32681:4;32673:6;32669:17;32634:75;:::i;:::-;32773:19;32768:2;32728:16;;;32760:11;;;32753:40;32818:13;;32840:76;32818:13;32902:2;32894:11;;32887:4;32875:17;;32840:76;:::i;:::-;32936:17;32955:2;32932:26;;32152:812;-1:-1:-1;;;;32152:812:138:o;33985:136::-;34024:3;34052:5;34042:39;;34061:18;;:::i;:::-;-1:-1:-1;;;34097:18:138;;33985:136::o;34894:287::-;35023:3;35061:6;35055:13;35077:66;35136:6;35131:3;35124:4;35116:6;35112:17;35077:66;:::i;:::-;35159:16;;;;;34894:287;-1:-1:-1;;34894:287:138: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)),(uint256,string))":"9a72a86f","createPool(address,address,(address,uint256,uint256,uint256,uint256,uint8,uint8,(uint256),(address,uint256)),(uint256,string))":"c8a593e9","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\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"sybilOracleScorer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.SybilConfig\",\"name\":\"sybilConfig\",\"type\":\"tuple\"}],\"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\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"sybilOracleScorer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"internalType\":\"struct StrategyStruct.SybilConfig\",\"name\":\"sybilConfig\",\"type\":\"tuple\"}],\"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/=lib/openzeppelin-contracts/\",\":@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/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\":\"0x3032ef966b217c359e29a9735604ee4e8e6529a9a0632369abdd7a7ae285dbd7\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://788c0a1deb7c53faedadc5efc152107ba22db81aaa9cffa1ba52d1427adfe2be\",\"dweb:/ipfs/QmQGANoMw4kb87y8JGCEgndo888YVDfRKMCepTJ2NVWUmY\"]},\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"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":"struct StrategyStruct.SybilConfig","name":"sybilConfig","type":"tuple","components":[{"internalType":"address","name":"sybilOracleScorer","type":"address"},{"internalType":"uint256","name":"threshold","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":"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":"struct StrategyStruct.SybilConfig","name":"sybilConfig","type":"tuple","components":[{"internalType":"address","name":"sybilOracleScorer","type":"address"},{"internalType":"uint256","name":"threshold","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":"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/=lib/openzeppelin-contracts/","@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/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":"0x3032ef966b217c359e29a9735604ee4e8e6529a9a0632369abdd7a7ae285dbd7","urls":["bzz-raw://788c0a1deb7c53faedadc5efc152107ba22db81aaa9cffa1ba52d1427adfe2be","dweb:/ipfs/QmQGANoMw4kb87y8JGCEgndo888YVDfRKMCepTJ2NVWUmY"],"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/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":128} \ 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 a8f7279a0..26be23a84 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":"0x6080604052600060015534801561001557600080fd5b5061001f33610024565b610074565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61531e806100836000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c8063987435be11610081578063b8bed9011161005b578063b8bed90114610198578063f2fde38b146101ab578063f5016b5e146101be57600080fd5b8063987435be1461016b578063affed0e01461017c578063b5b3ca2c1461018557600080fd5b80638279c7db116100b25780638279c7db1461011c5780638a16135f1461012f5780638da5cb5b1461015a57600080fd5b80630a992e0c146100d95780635a2c8ace146100ff578063715018a614610114575b600080fd5b6100ec6100e73660046106a3565b6101fa565b6040519081526020015b60405180910390f35b61011261010d3660046106d7565b61027b565b005b6101126102e7565b61011261012a3660046106a3565b6102fb565b61014261013d366004610848565b61036d565b6040516001600160a01b0390911681526020016100f6565b6000546001600160a01b0316610142565b6003546001600160a01b0316610142565b6100ec60015481565b61011261019336600461099e565b61048e565b600354610142906001600160a01b031681565b6101126101b93660046106a3565b6104ea565b6101ea6101cc3660046106a3565b6001600160a01b031660009081526002602052604090205460ff1690565b60405190151581526020016100f6565b6001600160a01b03811660009081526002602052604081205460ff1661025c576040517ff5a6943d0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024015b60405180910390fd5b506001600160a01b031660009081526002602052604090206001015490565b61028361057a565b6001600160a01b038216600081815260026020908152604091829020805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b6102ef61057a565b6102f960006105d4565b565b61030361057a565b61030c81610631565b6003805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d9060200160405180910390a150565b60008060405161037c90610671565b604051809103906000f080158015610398573d6000803e3d6000fd5b506001805491925060006103ab836109ca565b9091555060808401523060a08401526040517f96f0adec0000000000000000000000000000000000000000000000000000000081526001600160a01b038216906396f0adec906103ff908690600401610a5e565b600060405180830381600087803b15801561041957600080fd5b505af115801561042d573d6000803e3d6000fd5b505050506001600160a01b038116600081815260026020908152604091829020805460ff1916600117905590519182527fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29910160405180910390a192915050565b61049661057a565b6001600160a01b038216600081815260026020908152604091829020600101849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c91016102db565b6104f261057a565b6001600160a01b03811661056e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610253565b610577816105d4565b50565b6000546001600160a01b031633146102f95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610253565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116610577576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61474b80610b9e83390190565b6001600160a01b038116811461057757600080fd5b803561069e8161067e565b919050565b6000602082840312156106b557600080fd5b81356106c08161067e565b9392505050565b8035801515811461069e57600080fd5b600080604083850312156106ea57600080fd5b82356106f58161067e565b9150610703602084016106c7565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b6040516101a0810167ffffffffffffffff811182821017156107465761074661070c565b60405290565b600082601f83011261075d57600080fd5b813567ffffffffffffffff808211156107785761077861070c565b604051601f8301601f19908116603f011681019082821181831017156107a0576107a061070c565b816040528381528660208588010111156107b957600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000604082840312156107eb57600080fd5b6040516040810167ffffffffffffffff828210818311171561080f5761080f61070c565b8160405282935084358352602085013591508082111561082e57600080fd5b5061083b8582860161074c565b6020830152505092915050565b60006020828403121561085a57600080fd5b813567ffffffffffffffff8082111561087257600080fd5b908301906101a0828603121561088757600080fd5b61088f610722565b61089883610693565b81526108a660208401610693565b60208201526040830135604082015260608301356060820152608083013560808201526108d560a08401610693565b60a08201526108e660c08401610693565b60c082015260e0830135828111156108fd57600080fd5b610909878286016107d9565b60e08301525061010061091d818501610693565b90820152610120838101358381111561093557600080fd5b6109418882870161074c565b8284015250506101406109558185016106c7565b90820152610160838101358381111561096d57600080fd5b6109798882870161074c565b828401525050610180915061098f828401610693565b91810191909152949350505050565b600080604083850312156109b157600080fd5b82356109bc8161067e565b946020939093013593505050565b6000600182016109ea57634e487b7160e01b600052601160045260246000fd5b5060010190565b6000815180845260005b81811015610a17576020818501810151868301820152016109fb565b506000602082860101526020601f19601f83011685010191505092915050565b805182526000602082015160406020850152610a5660408501826109f1565b949350505050565b60208152610a786020820183516001600160a01b03169052565b60006020830151610a9460408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015160a083015260a0830151610acd60c08401826001600160a01b03169052565b5060c08301516001600160a01b03811660e08401525060e08301516101a06101008181860152610b016101c0860184610a37565b90860151909250610120610b1f868201836001600160a01b03169052565b80870151915050601f19610140818786030181880152610b3f85846109f1565b945080880151925050610160610b588188018415159052565b80880151925050610180818786030181880152610b7585846109f1565b94508088015192505050610b93828601826001600160a01b03169052565b509094935050505056fe60806040523480156200001157600080fd5b506001600090815562000046907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b906200004c565b62000099565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6146a280620000a96000396000f3fe608060405234801561001057600080fd5b506004361061036d5760003560e01c80636c53db9a116101d3578063a230c52411610104578063c8a593e9116100a2578063d7050f071161007c578063d7050f0714610876578063db61d65c1461087f578063ebd7dc5214610892578063f86c5f89146108a557600080fd5b8063c8a593e91461083d578063d547741f14610850578063d6d8428d1461086357600080fd5b8063b64e39af116100de578063b64e39af14610810578063b99b437014610825578063bc063e1a1461082d578063c6d572ae1461083557600080fd5b8063a230c5241461079e578063b3f00674146107f5578063b5058c501461080857600080fd5b80638961be6b116101715780639a72a86f1161014b5780639a72a86f14610724578063a0b21cdf14610754578063a0cf0aea1461077b578063a217fddf1461079657600080fd5b80638961be6b146106cf57806391d14854146106d857806396f0adec1461071157600080fd5b806378a0b8a9116101ad57806378a0b8a91461063d5780637b1039991461064657806382d6a1e71461065957806388cfe6841461066c57600080fd5b80636c53db9a146105de57806373265c37146105f15780637817ee4f1461060457600080fd5b80632f2ff15d116102ad578063477a5cc01161024b5780635ecf71c5116102255780635ecf71c51461057a57806365e3864c1461058d5780636871eb4d146105b857806368decabb146105cb57600080fd5b8063477a5cc014610526578063559de05d146105545780635c94e4d21461056757600080fd5b80633517aa7d116102875780633517aa7d146104d557806336568abe146104dd578063397e2543146104f05780633a871fe11461050357600080fd5b80632f2ff15d146104a657806331f61bca146104b957806333960459146104cc57600080fd5b80631f787d281161031a578063248a9ca3116102f4578063248a9ca31461042357806328c309e9146104475780632b38c69c1461044f5780632c611c4a1461047a57600080fd5b80631f787d28146103f0578063223e5479146103fd57806322bcf9991461041057600080fd5b80630d12bbdb1161034b5780630d12bbdb146103b55780630d4a8b49146103ca578063175188e8146103dd57600080fd5b806301ffc9a7146103725780630331383c1461039a57806308386eba146103ac575b600080fd5b61038561038036600461377d565b6108b8565b60405190151581526020015b60405180910390f35b6003545b604051908152602001610391565b61039e60055481565b6103c86103c33660046137a7565b610908565b005b6103c86103d83660046137e5565b610992565b6103c86103eb36600461381e565b610cf9565b6002546103859060ff1681565b6103c861040b36600461381e565b610d0d565b6103c861041e3660046137e5565b610d1e565b61039e6104313660046137a7565b6000908152600160208190526040909120015490565b61039e610e2d565b61046261045d36600461383b565b610f17565b6040516001600160a01b039091168152602001610391565b61039e61048836600461381e565b6001600160a01b031660009081526013602052604090206001015490565b6103c86104b4366004613867565b610f4f565b6103c86104c73660046137a7565b610f7a565b61039e60095481565b6103c8610fb7565b6103c86104eb366004613867565b6113bc565b6103c86104fe36600461381e565b61144d565b61038561051136600461381e565b60116020526000908152604090205460ff1681565b6103856105343660046137e5565b601560209081526000928352604080842090915290825290205460ff1681565b6103c86105623660046137a7565b6114ba565b600854610462906001600160a01b031681565b6103c86105883660046137a7565b611794565b61039e61059b3660046137e5565b601260209081526000928352604080842090915290825290205481565b6103c86105c63660046137e5565b611b4e565b600a54610462906001600160a01b031681565b600d54610462906001600160a01b031681565b6103c86105ff3660046137a7565b611d59565b61039e6106123660046137e5565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b61039e60035481565b600b54610462906001600160a01b031681565b6103c86106673660046137a7565b611deb565b6106a861067a36600461381e565b6013602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b0390941684526020840192909252151590820152606001610391565b61039e60045481565b6103856106e6366004613867565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6103c861071f366004613a50565b611e9c565b610737610732366004613ce7565b612388565b604080519283526001600160a01b03909116602083015201610391565b61039e7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b61046273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61039e600081565b6103856107ac36600461381e565b6001600160a01b039081166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b600654610462906001600160a01b031681565b6103c86123d2565b61081861241e565b6040516103919190613d9a565b6103c86124ac565b61039e61260f565b61081861261f565b61073761084b366004613dad565b61262c565b6103c861085e366004613867565b6127ab565b600e54610462906001600160a01b031681565b61039e61271081565b600c54610462906001600160a01b031681565b6103856108a036600461381e565b6127d1565b600754610462906001600160a01b031681565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061090257506301ffc9a760e01b6001600160e01b03198316145b92915050565b610910612811565b61091d612710600a613e39565b811115610956576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60048190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b61099b82612879565b6109a4816128dc565b6109ad8161292e565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff1615610a0d576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0380831660009081526013602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff161515918301919091526003805490846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abd9190613e66565b6003811115610ace57610ace613e50565b03610b4d5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b469190613e83565b9050610c3f565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb39190613e66565b6003811115610bc457610bc4613e50565b14610c3f5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af1158015610c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3c9190613e83565b90505b6001600160a01b038581166000818152601260209081526040808320948916808452948252808320869055838352601582528083208584528252808320805460ff19166001908117909155848452601483528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b610d01612811565b610d0a8161296e565b50565b610d15612811565b610d0a816129c8565b610d2782612879565b610d308161292e565b610d3a3382612a6f565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff16610d99576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000818152601560209081526040808320948616808452948252808320805460ff191690559282526012815282822093825292909252812055610de78282612aba565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b910160405180910390a15050565b6007546000906001600160a01b031681610e4a6127106064613e39565b600454600354610e5a9190613e39565b610e649190613e9c565b90506000610e756127106064613e39565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190613e83565b600354610eea9190613e39565b610ef49190613e9c565b90508082600354610f059190613ebe565b610f0f9190613ebe565b935050505090565b60146020528160005260406000208181548110610f3357600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008281526001602081905260409091200154610f6b81612bdc565b610f758383612be6565b505050565b610f82612811565b60038190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f90602001610987565b610fbf612c6d565b33600081815260136020526040812060075490916001600160a01b0390911690610fec6127106064613e39565b600454600354610ffc9190613e39565b6110069190613e9c565b905060006110176127106064613e39565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190613e83565b60035461108c9190613e39565b6110969190613e9c565b6001600160a01b038087166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190529091506113ab5760028401805460ff191660019081179091556003549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152600c5461114691906001600160a01b0316612cc6565b6111788530838560035461115a9190613ebe565b6111649190613ebe565b600c546001600160a01b0316929190612d24565b6111b76040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e74000000000000000000000000000081525083612da8565b81156112245760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260065461120791906001600160a01b0316612cc6565b600654600c54611224916001600160a01b03918216911684612e06565b6112636040518060400160405280601081526020017f67617264656e73466565416d6f756e740000000000000000000000000000000081525082612da8565b8015611364576112ec60405180606001604052806026815260200161464760269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e79190613ed1565b612cc6565b611364836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113519190613ed1565b600c546001600160a01b03169083612e06565b600354604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b50505050506113ba6001600055565b565b6001600160a01b038116331461143f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6114498282612e36565b5050565b611455612811565b61145e8161292e565b600a80546001600160a01b0319166001600160a01b03838116918217909255600d546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610987565b6114c2612c6d565b6114ca612eb9565b3360008181526014602090815260408083208054825181850281018501909352808352919290919083018282801561152b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161150d575b50505050509050600080600090505b82518110156116fb5782818151811061155557611555613eee565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af11580156115b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d49190613e83565b915081156116e9576001600160a01b0384166000908152601260205260408120845184929086908590811061160b5761160b613eee565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546116429190613ebe565b925050819055506116e96040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525060126000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815181106116bb576116bb613eee565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054612da8565b806116f381613f04565b91505061153a565b50600c54611714906001600160a01b0316843087612d24565b6001600160a01b0383166000908152601360205260408120600101805486929061173f908490613ebe565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a1505050610d0a6001600055565b61179c612c6d565b6117a4612eb9565b336000818152601460209081526040808320600354601390935290832060010154909291906117d4908690613f1d565b101561180c576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c54611823906001600160a01b03168486612e06565b60005b8254811015611ade57600083828154811061184357611843613eee565b6000918252602090912001546001600160a01b0316905061186b8163f1801e6160e01b612f18565b15611a12576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156118d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fc9190613e83565b9250600060126000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858154811061193957611939613eee565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156119a4576040517f8a11f3180000000000000000000000000000000000000000000000000000000081526004810185905260248101829052604401611436565b6001600160a01b038616600090815260126020526040812086548692908890879081106119d3576119d3613eee565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190611a07908490613f1d565b909155505050611acb565b83548490611a2290600190613f1d565b81548110611a3257611a32613eee565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110611a6257611a62613eee565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480611aa057611aa0613f30565b600082815260209020810160001990810180546001600160a01b0319169055019055611acb8161296e565b5080611ad681613f04565b915050611826565b506001600160a01b03831660009081526013602052604081206001018054869290611b0a908490613f1d565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8910161177f565b611b56612c6d565b611b5e612811565b60025460ff16611b9a576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052611bfd57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152611c4b83612f3b565b6001600160a01b03838116600090815260136020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff19169055600c5490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af1158015611cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfd9190613f46565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a1506114496001600055565b611d61612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611dab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dd39190810190613f63565b602001519050611de28161292e565b6114498161296e565b611df3612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611e3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e659190810190613f63565b602001519050611e748161292e565b611e8e6001600160a01b03821663f1801e6160e01b612f18565b1561144957611449816129c8565b611ea9816020015161292e565b611eb781610100015161292e565b8051611ec29061292e565b611ecf8160a0015161292e565b611edd81610180015161292e565b606081015115611ef457611ef48160c0015161292e565b8051600e80546001600160a01b039283166001600160a01b0319918216179091556020830151600c80549190931691161790556040810151600003611f65576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015160035560608101516004556101408101516002805460ff1916911515919091179055610120810151600f90611f9f908261410d565b50610160810151601090611fb3908261410d565b5060a0810151600780546001600160a01b03199081166001600160a01b039384161790915560c0830151600680548316918416919091179055610100830151600d8054831682851617905561018084015160088054909316931692909217905561203e907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90612be6565b600e60009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015612091573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b59190613ed1565b600b80546001600160a01b0319166001600160a01b03928316179055600d54604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261215791908101906141cd565b90506000815160026121699190613ebe565b67ffffffffffffffff8111156121815761218161388c565b6040519080825280602002602001820160405280156121aa578160200160208202803683370190505b50905060005b825181101561220f578281815181106121cb576121cb613eee565b60200260200101518282815181106121e5576121e5613eee565b6001600160a01b03909216602092830291909101909101528061220781613f04565b9150506121b0565b50600d5481516001600160a01b0390911690829061222f90600190613f1d565b8151811061223f5761223f613eee565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835161226f9190613f1d565b8151811061227f5761227f613eee565b6001600160a01b039283166020918202929092010152600b54608085015160e08601516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f926122e79291600f913090889060040161435f565b6020604051808303816000875af1158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613e83565b60055580516123409060169060208401906136e9565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205600554600f8560e0015160405161237b939291906143ad565b60405180910390a1505050565b60085460098054600092839283926123b7926001600160a01b031691846123ae83613f04565b9190505561305d565b90506123c58187878761262c565b9250925050935093915050565b600a546001600160a01b03163314612416576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113ba6130b1565b6010805461242b90614085565b80601f016020809104026020016040519081016040528092919081815260200182805461245790614085565b80156124a45780601f10612479576101008083540402835291602001916124a4565b820191906000526020600020905b81548152906001019060200180831161248757829003601f168201915b505050505081565b6124b4612c6d565b336124be81612879565b6124c781612f3b565b6001600160a01b0380821660008181526013602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945560149052918220909161253e919061374e565b600c54602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015612596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ba9190613f46565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a150506113ba6001600055565b61261c612710600a613e39565b81565b600f805461242b90614085565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156126565750845b869150600060168054806020026020016040519081016040528092919081815260200182805480156126b157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612693575b5050600e546005546040519596506001600160a01b039091169463e1007d4a94509092508791506126e6908b906020016143f6565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b815260040161271c979695949392919061449f565b6020604051808303816000875af115801561273b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061275f9190613e83565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a8960405161279895949392919061450b565b60405180910390a1505094509492505050565b600082815260016020819052604090912001546127c781612bdc565b610f758383612e36565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff16610902565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff166113ba576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038082166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052610d0a57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03811660009081526011602052604090205460ff16610d0a576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116610d0a576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129778161292e565b6001600160a01b038116600081815260116020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49101610987565b6001600160a01b03811660009081526011602052604090205460ff1615612a1b576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815260116020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610987565b806001600160a01b0316826001600160a01b031614611449576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152601460205260408120905b8154811015612bd657826001600160a01b0316828281548110612af957612af9613eee565b6000918252602090912001546001600160a01b031603612bc45781548290612b2390600190613f1d565b81548110612b3357612b33613eee565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110612b6357612b63613eee565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480612ba157612ba1613f30565b600082815260209020810160001990810180546001600160a01b03191690550190555b80612bce81613f04565b915050612ad4565b50505050565b610d0a813361310c565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b600260005403612cbf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401611436565b6002600055565b6114498282604051602401612cdc929190614545565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b0380851660248301528316604482015260648101829052612bd69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526131a2565b6114498282604051602401612dbe929190614570565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b038316602482015260448101829052610f7590849063a9059cbb60e01b90606401612d71565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16156114495760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b33600090815260136020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526113ba57604051636a5cfb6d60e01b815260040160405180910390fd5b6000612f238361328a565b8015612f345750612f3483836132bd565b9392505050565b6001600160a01b038116600090815260146020908152604080832080548251818502810185019093528083529192909190830182828015612fa557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612f87575b5050505050905060005b8151811015610f7557818181518110612fca57612fca613eee565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801561303257600080fd5b505af1158015613046573d6000803e3d6000fd5b50505050808061305590613f04565b915050612faf565b6040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506130a98482613346565b949350505050565b600a8054600d80546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495761313f816133e3565b61314a8360206133f5565b60405160200161315b929190614592565b60408051601f198184030181529082905262461bcd60e51b825261143691600401613d9a565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006131f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135d69092919063ffffffff16565b90508051600014806132185750808060200190518101906132189190613f46565b610f755760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611436565b600061329d826301ffc9a760e01b6132bd565b801561090257506132b6826001600160e01b03196132bd565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561332f575060208210155b801561333b5750600081115b979650505050505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166109025760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401611436565b60606109026001600160a01b03831660145b60606000613404836002613e39565b61340f906002613ebe565b67ffffffffffffffff8111156134275761342761388c565b6040519080825280601f01601f191660200182016040528015613451576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061348857613488613eee565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106134d3576134d3613eee565b60200101906001600160f81b031916908160001a90535060006134f7846002613e39565b613502906001613ebe565b90505b6001811115613587577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061354357613543613eee565b1a60f81b82828151811061355957613559613eee565b60200101906001600160f81b031916908160001a90535060049490941c9361358081614613565b9050613505565b508315612f345760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611436565b60606130a9848460008585600080866001600160a01b031685876040516135fd919061462a565b60006040518083038185875af1925050503d806000811461363a576040519150601f19603f3d011682016040523d82523d6000602084013e61363f565b606091505b509150915061333b87838387606083156136ba5782516000036136b3576001600160a01b0385163b6136b35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611436565b50816130a9565b6130a983838151156136cf5781518083602001fd5b8060405162461bcd60e51b81526004016114369190613d9a565b82805482825590600052602060002090810192821561373e579160200282015b8281111561373e57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613709565b5061374a929150613768565b5090565b5080546000825590600052602060002090810190610d0a91905b5b8082111561374a5760008155600101613769565b60006020828403121561378f57600080fd5b81356001600160e01b031981168114612f3457600080fd5b6000602082840312156137b957600080fd5b5035919050565b6001600160a01b0381168114610d0a57600080fd5b80356137e0816137c0565b919050565b600080604083850312156137f857600080fd5b8235613803816137c0565b91506020830135613813816137c0565b809150509250929050565b60006020828403121561383057600080fd5b8135612f34816137c0565b6000806040838503121561384e57600080fd5b8235613859816137c0565b946020939093013593505050565b6000806040838503121561387a57600080fd5b823591506020830135613813816137c0565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156138c5576138c561388c565b60405290565b6040516101a0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051610120810167ffffffffffffffff811182821017156138c5576138c561388c565b60405160c0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051601f8201601f1916810167ffffffffffffffff8111828210171561395f5761395f61388c565b604052919050565b600067ffffffffffffffff8211156139815761398161388c565b50601f01601f191660200190565b600082601f8301126139a057600080fd5b81356139b36139ae82613967565b613936565b8181528460208386010111156139c857600080fd5b816020850160208301376000918101602001919091529392505050565b6000604082840312156139f757600080fd5b6139ff6138a2565b905081358152602082013567ffffffffffffffff811115613a1f57600080fd5b613a2b8482850161398f565b60208301525092915050565b8015158114610d0a57600080fd5b80356137e081613a37565b600060208284031215613a6257600080fd5b813567ffffffffffffffff80821115613a7a57600080fd5b908301906101a08286031215613a8f57600080fd5b613a976138cb565b613aa0836137d5565b8152613aae602084016137d5565b6020820152604083013560408201526060830135606082015260808301356080820152613add60a084016137d5565b60a0820152613aee60c084016137d5565b60c082015260e083013582811115613b0557600080fd5b613b11878286016139e5565b60e083015250610100613b258185016137d5565b908201526101208381013583811115613b3d57600080fd5b613b498882870161398f565b828401525050610140613b5d818501613a45565b908201526101608381013583811115613b7557600080fd5b613b818882870161398f565b8284015250506101809150613b978284016137d5565b91810191909152949350505050565b8035600381106137e057600080fd5b60048110610d0a57600080fd5b80356137e081613bb5565b600060208284031215613bdf57600080fd5b6040516020810181811067ffffffffffffffff82111715613c0257613c0261388c565b6040529135825250919050565b600060408284031215613c2157600080fd5b613c296138a2565b90508135613c36816137c0565b808252506020820135602082015292915050565b60006101408284031215613c5d57600080fd5b613c656138ef565b9050613c70826137d5565b815260208201356020820152604082013560408201526060820135606082015260808201356080820152613ca660a08301613ba6565b60a0820152613cb760c08301613bc2565b60c0820152613cc98360e08401613bcd565b60e0820152610100613cdd84828501613c0f565b9082015292915050565b60008060006101808486031215613cfd57600080fd5b8335613d08816137c0565b9250613d178560208601613c4a565b915061016084013567ffffffffffffffff811115613d3457600080fd5b613d40868287016139e5565b9150509250925092565b60005b83811015613d65578181015183820152602001613d4d565b50506000910152565b60008151808452613d86816020860160208601613d4a565b601f01601f19169290920160200192915050565b602081526000612f346020830184613d6e565b6000806000806101a08587031215613dc457600080fd5b8435613dcf816137c0565b93506020850135613ddf816137c0565b9250613dee8660408701613c4a565b915061018085013567ffffffffffffffff811115613e0b57600080fd5b613e17878288016139e5565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761090257610902613e23565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613e7857600080fd5b8151612f3481613bb5565b600060208284031215613e9557600080fd5b5051919050565b600082613eb957634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561090257610902613e23565b600060208284031215613ee357600080fd5b8151612f34816137c0565b634e487b7160e01b600052603260045260246000fd5b600060018201613f1657613f16613e23565b5060010190565b8181038181111561090257610902613e23565b634e487b7160e01b600052603160045260246000fd5b600060208284031215613f5857600080fd5b8151612f3481613a37565b60006020808385031215613f7657600080fd5b825167ffffffffffffffff80821115613f8e57600080fd5b9084019060c08287031215613fa257600080fd5b613faa613913565b8251815283830151613fbb816137c0565b818501526040830151613fcd816137c0565b6040820152606083015182811115613fe457600080fd5b830160408189031215613ff657600080fd5b613ffe6138a2565b81518152858201518481111561401357600080fd5b82019350601f8401891361402657600080fd5b835191506140366139ae83613967565b828152898784870101111561404a57600080fd5b61405983888301898801613d4a565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c9082168061409957607f821691505b6020821081036140b957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f7557600081815260208120601f850160051c810160208610156140e65750805b601f850160051c820191505b81811015614105578281556001016140f2565b505050505050565b815167ffffffffffffffff8111156141275761412761388c565b61413b816141358454614085565b846140bf565b602080601f83116001811461417057600084156141585750858301515b600019600386901b1c1916600185901b178555614105565b600085815260208120601f198616915b8281101561419f57888601518255948401946001909101908401614180565b50858210156141bd5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083850312156141e057600080fd5b825167ffffffffffffffff808211156141f857600080fd5b818501915085601f83011261420c57600080fd5b81518181111561421e5761421e61388c565b8060051b915061422f848301613936565b818152918301840191848101908884111561424957600080fd5b938501935b838510156142735784519250614263836137c0565b828252938501939085019061424e565b98975050505050505050565b6000815461428c81614085565b8085526020600183811680156142a957600181146142c3576142f1565b60ff1985168884015283151560051b8801830195506142f1565b866000528260002060005b858110156142e95781548a82018601529083019084016142ce565b890184019650505b505050505092915050565b8051825260006020820151604060208501526130a96040850182613d6e565b600081518084526020808501945080840160005b838110156143545781516001600160a01b03168752958201959082019060010161432f565b509495945050505050565b85815260a06020820152600061437860a083018761427f565b828103604084015261438a81876142fc565b90506001600160a01b03851660608401528281036080840152614273818561431b565b8381526060602082015260006143c6606083018561427f565b82810360408401526143d881856142fc565b9695505050505050565b600481106143f2576143f2613e50565b9052565b6000610140820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061444957614449613e50565b8060a08401525060c083015161446260c08401826143e2565b5060e083015161447560e0840182519052565b506101008381015180516001600160a01b0316848301526020810151610120850152505092915050565b87815260006001600160a01b03808916602084015260e060408401526144c860e0840189613d6e565b818816606085015286608085015283810360a08501526144e881876142fc565b91505082810360c08401526144fd818561431b565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a0608083015261333b60a08301846142fc565b6040815260006145586040830185613d6e565b90506001600160a01b03831660208301529392505050565b6040815260006145836040830185613d6e565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516145ca816017850160208801613d4a565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351614607816028840160208801613d4a565b01602801949350505050565b60008161462257614622613e23565b506000190190565b6000825161463c818460208701613d4a565b919091019291505056fe67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829a2646970667358221220bca611242a8026815b84fc06ce7414f9a0771fe120a1bdebef2c9f513c6e0a7f64736f6c63430008130033a264697066735822122092a0644d167505cb0a33644cce05f9570b51516921580cf917a77bd320468fb664736f6c63430008130033","sourceMap":"202:2981:114:-:0;;;267:1;244:24;;202:2981;;;;;;;;;-1:-1:-1;936:32:27;719:10:35;936:18:27;:32::i;:::-;202:2981:114;;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:114:-;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100d45760003560e01c8063987435be11610081578063b8bed9011161005b578063b8bed90114610198578063f2fde38b146101ab578063f5016b5e146101be57600080fd5b8063987435be1461016b578063affed0e01461017c578063b5b3ca2c1461018557600080fd5b80638279c7db116100b25780638279c7db1461011c5780638a16135f1461012f5780638da5cb5b1461015a57600080fd5b80630a992e0c146100d95780635a2c8ace146100ff578063715018a614610114575b600080fd5b6100ec6100e73660046106a3565b6101fa565b6040519081526020015b60405180910390f35b61011261010d3660046106d7565b61027b565b005b6101126102e7565b61011261012a3660046106a3565b6102fb565b61014261013d366004610848565b61036d565b6040516001600160a01b0390911681526020016100f6565b6000546001600160a01b0316610142565b6003546001600160a01b0316610142565b6100ec60015481565b61011261019336600461099e565b61048e565b600354610142906001600160a01b031681565b6101126101b93660046106a3565b6104ea565b6101ea6101cc3660046106a3565b6001600160a01b031660009081526002602052604090205460ff1690565b60405190151581526020016100f6565b6001600160a01b03811660009081526002602052604081205460ff1661025c576040517ff5a6943d0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024015b60405180910390fd5b506001600160a01b031660009081526002602052604090206001015490565b61028361057a565b6001600160a01b038216600081815260026020908152604091829020805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b6102ef61057a565b6102f960006105d4565b565b61030361057a565b61030c81610631565b6003805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d9060200160405180910390a150565b60008060405161037c90610671565b604051809103906000f080158015610398573d6000803e3d6000fd5b506001805491925060006103ab836109ca565b9091555060808401523060a08401526040517f96f0adec0000000000000000000000000000000000000000000000000000000081526001600160a01b038216906396f0adec906103ff908690600401610a5e565b600060405180830381600087803b15801561041957600080fd5b505af115801561042d573d6000803e3d6000fd5b505050506001600160a01b038116600081815260026020908152604091829020805460ff1916600117905590519182527fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29910160405180910390a192915050565b61049661057a565b6001600160a01b038216600081815260026020908152604091829020600101849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c91016102db565b6104f261057a565b6001600160a01b03811661056e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610253565b610577816105d4565b50565b6000546001600160a01b031633146102f95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610253565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116610577576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61474b80610b9e83390190565b6001600160a01b038116811461057757600080fd5b803561069e8161067e565b919050565b6000602082840312156106b557600080fd5b81356106c08161067e565b9392505050565b8035801515811461069e57600080fd5b600080604083850312156106ea57600080fd5b82356106f58161067e565b9150610703602084016106c7565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b6040516101a0810167ffffffffffffffff811182821017156107465761074661070c565b60405290565b600082601f83011261075d57600080fd5b813567ffffffffffffffff808211156107785761077861070c565b604051601f8301601f19908116603f011681019082821181831017156107a0576107a061070c565b816040528381528660208588010111156107b957600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000604082840312156107eb57600080fd5b6040516040810167ffffffffffffffff828210818311171561080f5761080f61070c565b8160405282935084358352602085013591508082111561082e57600080fd5b5061083b8582860161074c565b6020830152505092915050565b60006020828403121561085a57600080fd5b813567ffffffffffffffff8082111561087257600080fd5b908301906101a0828603121561088757600080fd5b61088f610722565b61089883610693565b81526108a660208401610693565b60208201526040830135604082015260608301356060820152608083013560808201526108d560a08401610693565b60a08201526108e660c08401610693565b60c082015260e0830135828111156108fd57600080fd5b610909878286016107d9565b60e08301525061010061091d818501610693565b90820152610120838101358381111561093557600080fd5b6109418882870161074c565b8284015250506101406109558185016106c7565b90820152610160838101358381111561096d57600080fd5b6109798882870161074c565b828401525050610180915061098f828401610693565b91810191909152949350505050565b600080604083850312156109b157600080fd5b82356109bc8161067e565b946020939093013593505050565b6000600182016109ea57634e487b7160e01b600052601160045260246000fd5b5060010190565b6000815180845260005b81811015610a17576020818501810151868301820152016109fb565b506000602082860101526020601f19601f83011685010191505092915050565b805182526000602082015160406020850152610a5660408501826109f1565b949350505050565b60208152610a786020820183516001600160a01b03169052565b60006020830151610a9460408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015160a083015260a0830151610acd60c08401826001600160a01b03169052565b5060c08301516001600160a01b03811660e08401525060e08301516101a06101008181860152610b016101c0860184610a37565b90860151909250610120610b1f868201836001600160a01b03169052565b80870151915050601f19610140818786030181880152610b3f85846109f1565b945080880151925050610160610b588188018415159052565b80880151925050610180818786030181880152610b7585846109f1565b94508088015192505050610b93828601826001600160a01b03169052565b509094935050505056fe60806040523480156200001157600080fd5b506001600090815562000046907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b906200004c565b62000099565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6146a280620000a96000396000f3fe608060405234801561001057600080fd5b506004361061036d5760003560e01c80636c53db9a116101d3578063a230c52411610104578063c8a593e9116100a2578063d7050f071161007c578063d7050f0714610876578063db61d65c1461087f578063ebd7dc5214610892578063f86c5f89146108a557600080fd5b8063c8a593e91461083d578063d547741f14610850578063d6d8428d1461086357600080fd5b8063b64e39af116100de578063b64e39af14610810578063b99b437014610825578063bc063e1a1461082d578063c6d572ae1461083557600080fd5b8063a230c5241461079e578063b3f00674146107f5578063b5058c501461080857600080fd5b80638961be6b116101715780639a72a86f1161014b5780639a72a86f14610724578063a0b21cdf14610754578063a0cf0aea1461077b578063a217fddf1461079657600080fd5b80638961be6b146106cf57806391d14854146106d857806396f0adec1461071157600080fd5b806378a0b8a9116101ad57806378a0b8a91461063d5780637b1039991461064657806382d6a1e71461065957806388cfe6841461066c57600080fd5b80636c53db9a146105de57806373265c37146105f15780637817ee4f1461060457600080fd5b80632f2ff15d116102ad578063477a5cc01161024b5780635ecf71c5116102255780635ecf71c51461057a57806365e3864c1461058d5780636871eb4d146105b857806368decabb146105cb57600080fd5b8063477a5cc014610526578063559de05d146105545780635c94e4d21461056757600080fd5b80633517aa7d116102875780633517aa7d146104d557806336568abe146104dd578063397e2543146104f05780633a871fe11461050357600080fd5b80632f2ff15d146104a657806331f61bca146104b957806333960459146104cc57600080fd5b80631f787d281161031a578063248a9ca3116102f4578063248a9ca31461042357806328c309e9146104475780632b38c69c1461044f5780632c611c4a1461047a57600080fd5b80631f787d28146103f0578063223e5479146103fd57806322bcf9991461041057600080fd5b80630d12bbdb1161034b5780630d12bbdb146103b55780630d4a8b49146103ca578063175188e8146103dd57600080fd5b806301ffc9a7146103725780630331383c1461039a57806308386eba146103ac575b600080fd5b61038561038036600461377d565b6108b8565b60405190151581526020015b60405180910390f35b6003545b604051908152602001610391565b61039e60055481565b6103c86103c33660046137a7565b610908565b005b6103c86103d83660046137e5565b610992565b6103c86103eb36600461381e565b610cf9565b6002546103859060ff1681565b6103c861040b36600461381e565b610d0d565b6103c861041e3660046137e5565b610d1e565b61039e6104313660046137a7565b6000908152600160208190526040909120015490565b61039e610e2d565b61046261045d36600461383b565b610f17565b6040516001600160a01b039091168152602001610391565b61039e61048836600461381e565b6001600160a01b031660009081526013602052604090206001015490565b6103c86104b4366004613867565b610f4f565b6103c86104c73660046137a7565b610f7a565b61039e60095481565b6103c8610fb7565b6103c86104eb366004613867565b6113bc565b6103c86104fe36600461381e565b61144d565b61038561051136600461381e565b60116020526000908152604090205460ff1681565b6103856105343660046137e5565b601560209081526000928352604080842090915290825290205460ff1681565b6103c86105623660046137a7565b6114ba565b600854610462906001600160a01b031681565b6103c86105883660046137a7565b611794565b61039e61059b3660046137e5565b601260209081526000928352604080842090915290825290205481565b6103c86105c63660046137e5565b611b4e565b600a54610462906001600160a01b031681565b600d54610462906001600160a01b031681565b6103c86105ff3660046137a7565b611d59565b61039e6106123660046137e5565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b61039e60035481565b600b54610462906001600160a01b031681565b6103c86106673660046137a7565b611deb565b6106a861067a36600461381e565b6013602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b0390941684526020840192909252151590820152606001610391565b61039e60045481565b6103856106e6366004613867565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6103c861071f366004613a50565b611e9c565b610737610732366004613ce7565b612388565b604080519283526001600160a01b03909116602083015201610391565b61039e7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b61046273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61039e600081565b6103856107ac36600461381e565b6001600160a01b039081166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b600654610462906001600160a01b031681565b6103c86123d2565b61081861241e565b6040516103919190613d9a565b6103c86124ac565b61039e61260f565b61081861261f565b61073761084b366004613dad565b61262c565b6103c861085e366004613867565b6127ab565b600e54610462906001600160a01b031681565b61039e61271081565b600c54610462906001600160a01b031681565b6103856108a036600461381e565b6127d1565b600754610462906001600160a01b031681565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061090257506301ffc9a760e01b6001600160e01b03198316145b92915050565b610910612811565b61091d612710600a613e39565b811115610956576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60048190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b61099b82612879565b6109a4816128dc565b6109ad8161292e565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff1615610a0d576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0380831660009081526013602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff161515918301919091526003805490846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abd9190613e66565b6003811115610ace57610ace613e50565b03610b4d5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b469190613e83565b9050610c3f565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb39190613e66565b6003811115610bc457610bc4613e50565b14610c3f5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af1158015610c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3c9190613e83565b90505b6001600160a01b038581166000818152601260209081526040808320948916808452948252808320869055838352601582528083208584528252808320805460ff19166001908117909155848452601483528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b610d01612811565b610d0a8161296e565b50565b610d15612811565b610d0a816129c8565b610d2782612879565b610d308161292e565b610d3a3382612a6f565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff16610d99576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000818152601560209081526040808320948616808452948252808320805460ff191690559282526012815282822093825292909252812055610de78282612aba565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b910160405180910390a15050565b6007546000906001600160a01b031681610e4a6127106064613e39565b600454600354610e5a9190613e39565b610e649190613e9c565b90506000610e756127106064613e39565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190613e83565b600354610eea9190613e39565b610ef49190613e9c565b90508082600354610f059190613ebe565b610f0f9190613ebe565b935050505090565b60146020528160005260406000208181548110610f3357600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008281526001602081905260409091200154610f6b81612bdc565b610f758383612be6565b505050565b610f82612811565b60038190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f90602001610987565b610fbf612c6d565b33600081815260136020526040812060075490916001600160a01b0390911690610fec6127106064613e39565b600454600354610ffc9190613e39565b6110069190613e9c565b905060006110176127106064613e39565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190613e83565b60035461108c9190613e39565b6110969190613e9c565b6001600160a01b038087166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190529091506113ab5760028401805460ff191660019081179091556003549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152600c5461114691906001600160a01b0316612cc6565b6111788530838560035461115a9190613ebe565b6111649190613ebe565b600c546001600160a01b0316929190612d24565b6111b76040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e74000000000000000000000000000081525083612da8565b81156112245760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260065461120791906001600160a01b0316612cc6565b600654600c54611224916001600160a01b03918216911684612e06565b6112636040518060400160405280601081526020017f67617264656e73466565416d6f756e740000000000000000000000000000000081525082612da8565b8015611364576112ec60405180606001604052806026815260200161464760269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e79190613ed1565b612cc6565b611364836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113519190613ed1565b600c546001600160a01b03169083612e06565b600354604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b50505050506113ba6001600055565b565b6001600160a01b038116331461143f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6114498282612e36565b5050565b611455612811565b61145e8161292e565b600a80546001600160a01b0319166001600160a01b03838116918217909255600d546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610987565b6114c2612c6d565b6114ca612eb9565b3360008181526014602090815260408083208054825181850281018501909352808352919290919083018282801561152b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161150d575b50505050509050600080600090505b82518110156116fb5782818151811061155557611555613eee565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af11580156115b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d49190613e83565b915081156116e9576001600160a01b0384166000908152601260205260408120845184929086908590811061160b5761160b613eee565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546116429190613ebe565b925050819055506116e96040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525060126000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815181106116bb576116bb613eee565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054612da8565b806116f381613f04565b91505061153a565b50600c54611714906001600160a01b0316843087612d24565b6001600160a01b0383166000908152601360205260408120600101805486929061173f908490613ebe565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a1505050610d0a6001600055565b61179c612c6d565b6117a4612eb9565b336000818152601460209081526040808320600354601390935290832060010154909291906117d4908690613f1d565b101561180c576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c54611823906001600160a01b03168486612e06565b60005b8254811015611ade57600083828154811061184357611843613eee565b6000918252602090912001546001600160a01b0316905061186b8163f1801e6160e01b612f18565b15611a12576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156118d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fc9190613e83565b9250600060126000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858154811061193957611939613eee565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156119a4576040517f8a11f3180000000000000000000000000000000000000000000000000000000081526004810185905260248101829052604401611436565b6001600160a01b038616600090815260126020526040812086548692908890879081106119d3576119d3613eee565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190611a07908490613f1d565b909155505050611acb565b83548490611a2290600190613f1d565b81548110611a3257611a32613eee565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110611a6257611a62613eee565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480611aa057611aa0613f30565b600082815260209020810160001990810180546001600160a01b0319169055019055611acb8161296e565b5080611ad681613f04565b915050611826565b506001600160a01b03831660009081526013602052604081206001018054869290611b0a908490613f1d565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8910161177f565b611b56612c6d565b611b5e612811565b60025460ff16611b9a576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052611bfd57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152611c4b83612f3b565b6001600160a01b03838116600090815260136020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff19169055600c5490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af1158015611cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfd9190613f46565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a1506114496001600055565b611d61612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611dab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dd39190810190613f63565b602001519050611de28161292e565b6114498161296e565b611df3612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611e3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e659190810190613f63565b602001519050611e748161292e565b611e8e6001600160a01b03821663f1801e6160e01b612f18565b1561144957611449816129c8565b611ea9816020015161292e565b611eb781610100015161292e565b8051611ec29061292e565b611ecf8160a0015161292e565b611edd81610180015161292e565b606081015115611ef457611ef48160c0015161292e565b8051600e80546001600160a01b039283166001600160a01b0319918216179091556020830151600c80549190931691161790556040810151600003611f65576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015160035560608101516004556101408101516002805460ff1916911515919091179055610120810151600f90611f9f908261410d565b50610160810151601090611fb3908261410d565b5060a0810151600780546001600160a01b03199081166001600160a01b039384161790915560c0830151600680548316918416919091179055610100830151600d8054831682851617905561018084015160088054909316931692909217905561203e907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90612be6565b600e60009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015612091573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b59190613ed1565b600b80546001600160a01b0319166001600160a01b03928316179055600d54604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261215791908101906141cd565b90506000815160026121699190613ebe565b67ffffffffffffffff8111156121815761218161388c565b6040519080825280602002602001820160405280156121aa578160200160208202803683370190505b50905060005b825181101561220f578281815181106121cb576121cb613eee565b60200260200101518282815181106121e5576121e5613eee565b6001600160a01b03909216602092830291909101909101528061220781613f04565b9150506121b0565b50600d5481516001600160a01b0390911690829061222f90600190613f1d565b8151811061223f5761223f613eee565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835161226f9190613f1d565b8151811061227f5761227f613eee565b6001600160a01b039283166020918202929092010152600b54608085015160e08601516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f926122e79291600f913090889060040161435f565b6020604051808303816000875af1158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613e83565b60055580516123409060169060208401906136e9565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205600554600f8560e0015160405161237b939291906143ad565b60405180910390a1505050565b60085460098054600092839283926123b7926001600160a01b031691846123ae83613f04565b9190505561305d565b90506123c58187878761262c565b9250925050935093915050565b600a546001600160a01b03163314612416576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113ba6130b1565b6010805461242b90614085565b80601f016020809104026020016040519081016040528092919081815260200182805461245790614085565b80156124a45780601f10612479576101008083540402835291602001916124a4565b820191906000526020600020905b81548152906001019060200180831161248757829003601f168201915b505050505081565b6124b4612c6d565b336124be81612879565b6124c781612f3b565b6001600160a01b0380821660008181526013602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945560149052918220909161253e919061374e565b600c54602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015612596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ba9190613f46565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a150506113ba6001600055565b61261c612710600a613e39565b81565b600f805461242b90614085565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156126565750845b869150600060168054806020026020016040519081016040528092919081815260200182805480156126b157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612693575b5050600e546005546040519596506001600160a01b039091169463e1007d4a94509092508791506126e6908b906020016143f6565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b815260040161271c979695949392919061449f565b6020604051808303816000875af115801561273b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061275f9190613e83565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a8960405161279895949392919061450b565b60405180910390a1505094509492505050565b600082815260016020819052604090912001546127c781612bdc565b610f758383612e36565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff16610902565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff166113ba576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038082166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052610d0a57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03811660009081526011602052604090205460ff16610d0a576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116610d0a576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129778161292e565b6001600160a01b038116600081815260116020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49101610987565b6001600160a01b03811660009081526011602052604090205460ff1615612a1b576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815260116020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610987565b806001600160a01b0316826001600160a01b031614611449576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152601460205260408120905b8154811015612bd657826001600160a01b0316828281548110612af957612af9613eee565b6000918252602090912001546001600160a01b031603612bc45781548290612b2390600190613f1d565b81548110612b3357612b33613eee565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110612b6357612b63613eee565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480612ba157612ba1613f30565b600082815260209020810160001990810180546001600160a01b03191690550190555b80612bce81613f04565b915050612ad4565b50505050565b610d0a813361310c565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b600260005403612cbf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401611436565b6002600055565b6114498282604051602401612cdc929190614545565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b0380851660248301528316604482015260648101829052612bd69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526131a2565b6114498282604051602401612dbe929190614570565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b038316602482015260448101829052610f7590849063a9059cbb60e01b90606401612d71565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16156114495760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b33600090815260136020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526113ba57604051636a5cfb6d60e01b815260040160405180910390fd5b6000612f238361328a565b8015612f345750612f3483836132bd565b9392505050565b6001600160a01b038116600090815260146020908152604080832080548251818502810185019093528083529192909190830182828015612fa557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612f87575b5050505050905060005b8151811015610f7557818181518110612fca57612fca613eee565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801561303257600080fd5b505af1158015613046573d6000803e3d6000fd5b50505050808061305590613f04565b915050612faf565b6040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506130a98482613346565b949350505050565b600a8054600d80546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495761313f816133e3565b61314a8360206133f5565b60405160200161315b929190614592565b60408051601f198184030181529082905262461bcd60e51b825261143691600401613d9a565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006131f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135d69092919063ffffffff16565b90508051600014806132185750808060200190518101906132189190613f46565b610f755760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611436565b600061329d826301ffc9a760e01b6132bd565b801561090257506132b6826001600160e01b03196132bd565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561332f575060208210155b801561333b5750600081115b979650505050505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166109025760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401611436565b60606109026001600160a01b03831660145b60606000613404836002613e39565b61340f906002613ebe565b67ffffffffffffffff8111156134275761342761388c565b6040519080825280601f01601f191660200182016040528015613451576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061348857613488613eee565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106134d3576134d3613eee565b60200101906001600160f81b031916908160001a90535060006134f7846002613e39565b613502906001613ebe565b90505b6001811115613587577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061354357613543613eee565b1a60f81b82828151811061355957613559613eee565b60200101906001600160f81b031916908160001a90535060049490941c9361358081614613565b9050613505565b508315612f345760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611436565b60606130a9848460008585600080866001600160a01b031685876040516135fd919061462a565b60006040518083038185875af1925050503d806000811461363a576040519150601f19603f3d011682016040523d82523d6000602084013e61363f565b606091505b509150915061333b87838387606083156136ba5782516000036136b3576001600160a01b0385163b6136b35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611436565b50816130a9565b6130a983838151156136cf5781518083602001fd5b8060405162461bcd60e51b81526004016114369190613d9a565b82805482825590600052602060002090810192821561373e579160200282015b8281111561373e57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613709565b5061374a929150613768565b5090565b5080546000825590600052602060002090810190610d0a91905b5b8082111561374a5760008155600101613769565b60006020828403121561378f57600080fd5b81356001600160e01b031981168114612f3457600080fd5b6000602082840312156137b957600080fd5b5035919050565b6001600160a01b0381168114610d0a57600080fd5b80356137e0816137c0565b919050565b600080604083850312156137f857600080fd5b8235613803816137c0565b91506020830135613813816137c0565b809150509250929050565b60006020828403121561383057600080fd5b8135612f34816137c0565b6000806040838503121561384e57600080fd5b8235613859816137c0565b946020939093013593505050565b6000806040838503121561387a57600080fd5b823591506020830135613813816137c0565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156138c5576138c561388c565b60405290565b6040516101a0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051610120810167ffffffffffffffff811182821017156138c5576138c561388c565b60405160c0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051601f8201601f1916810167ffffffffffffffff8111828210171561395f5761395f61388c565b604052919050565b600067ffffffffffffffff8211156139815761398161388c565b50601f01601f191660200190565b600082601f8301126139a057600080fd5b81356139b36139ae82613967565b613936565b8181528460208386010111156139c857600080fd5b816020850160208301376000918101602001919091529392505050565b6000604082840312156139f757600080fd5b6139ff6138a2565b905081358152602082013567ffffffffffffffff811115613a1f57600080fd5b613a2b8482850161398f565b60208301525092915050565b8015158114610d0a57600080fd5b80356137e081613a37565b600060208284031215613a6257600080fd5b813567ffffffffffffffff80821115613a7a57600080fd5b908301906101a08286031215613a8f57600080fd5b613a976138cb565b613aa0836137d5565b8152613aae602084016137d5565b6020820152604083013560408201526060830135606082015260808301356080820152613add60a084016137d5565b60a0820152613aee60c084016137d5565b60c082015260e083013582811115613b0557600080fd5b613b11878286016139e5565b60e083015250610100613b258185016137d5565b908201526101208381013583811115613b3d57600080fd5b613b498882870161398f565b828401525050610140613b5d818501613a45565b908201526101608381013583811115613b7557600080fd5b613b818882870161398f565b8284015250506101809150613b978284016137d5565b91810191909152949350505050565b8035600381106137e057600080fd5b60048110610d0a57600080fd5b80356137e081613bb5565b600060208284031215613bdf57600080fd5b6040516020810181811067ffffffffffffffff82111715613c0257613c0261388c565b6040529135825250919050565b600060408284031215613c2157600080fd5b613c296138a2565b90508135613c36816137c0565b808252506020820135602082015292915050565b60006101408284031215613c5d57600080fd5b613c656138ef565b9050613c70826137d5565b815260208201356020820152604082013560408201526060820135606082015260808201356080820152613ca660a08301613ba6565b60a0820152613cb760c08301613bc2565b60c0820152613cc98360e08401613bcd565b60e0820152610100613cdd84828501613c0f565b9082015292915050565b60008060006101808486031215613cfd57600080fd5b8335613d08816137c0565b9250613d178560208601613c4a565b915061016084013567ffffffffffffffff811115613d3457600080fd5b613d40868287016139e5565b9150509250925092565b60005b83811015613d65578181015183820152602001613d4d565b50506000910152565b60008151808452613d86816020860160208601613d4a565b601f01601f19169290920160200192915050565b602081526000612f346020830184613d6e565b6000806000806101a08587031215613dc457600080fd5b8435613dcf816137c0565b93506020850135613ddf816137c0565b9250613dee8660408701613c4a565b915061018085013567ffffffffffffffff811115613e0b57600080fd5b613e17878288016139e5565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761090257610902613e23565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613e7857600080fd5b8151612f3481613bb5565b600060208284031215613e9557600080fd5b5051919050565b600082613eb957634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561090257610902613e23565b600060208284031215613ee357600080fd5b8151612f34816137c0565b634e487b7160e01b600052603260045260246000fd5b600060018201613f1657613f16613e23565b5060010190565b8181038181111561090257610902613e23565b634e487b7160e01b600052603160045260246000fd5b600060208284031215613f5857600080fd5b8151612f3481613a37565b60006020808385031215613f7657600080fd5b825167ffffffffffffffff80821115613f8e57600080fd5b9084019060c08287031215613fa257600080fd5b613faa613913565b8251815283830151613fbb816137c0565b818501526040830151613fcd816137c0565b6040820152606083015182811115613fe457600080fd5b830160408189031215613ff657600080fd5b613ffe6138a2565b81518152858201518481111561401357600080fd5b82019350601f8401891361402657600080fd5b835191506140366139ae83613967565b828152898784870101111561404a57600080fd5b61405983888301898801613d4a565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c9082168061409957607f821691505b6020821081036140b957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f7557600081815260208120601f850160051c810160208610156140e65750805b601f850160051c820191505b81811015614105578281556001016140f2565b505050505050565b815167ffffffffffffffff8111156141275761412761388c565b61413b816141358454614085565b846140bf565b602080601f83116001811461417057600084156141585750858301515b600019600386901b1c1916600185901b178555614105565b600085815260208120601f198616915b8281101561419f57888601518255948401946001909101908401614180565b50858210156141bd5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083850312156141e057600080fd5b825167ffffffffffffffff808211156141f857600080fd5b818501915085601f83011261420c57600080fd5b81518181111561421e5761421e61388c565b8060051b915061422f848301613936565b818152918301840191848101908884111561424957600080fd5b938501935b838510156142735784519250614263836137c0565b828252938501939085019061424e565b98975050505050505050565b6000815461428c81614085565b8085526020600183811680156142a957600181146142c3576142f1565b60ff1985168884015283151560051b8801830195506142f1565b866000528260002060005b858110156142e95781548a82018601529083019084016142ce565b890184019650505b505050505092915050565b8051825260006020820151604060208501526130a96040850182613d6e565b600081518084526020808501945080840160005b838110156143545781516001600160a01b03168752958201959082019060010161432f565b509495945050505050565b85815260a06020820152600061437860a083018761427f565b828103604084015261438a81876142fc565b90506001600160a01b03851660608401528281036080840152614273818561431b565b8381526060602082015260006143c6606083018561427f565b82810360408401526143d881856142fc565b9695505050505050565b600481106143f2576143f2613e50565b9052565b6000610140820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061444957614449613e50565b8060a08401525060c083015161446260c08401826143e2565b5060e083015161447560e0840182519052565b506101008381015180516001600160a01b0316848301526020810151610120850152505092915050565b87815260006001600160a01b03808916602084015260e060408401526144c860e0840189613d6e565b818816606085015286608085015283810360a08501526144e881876142fc565b91505082810360c08401526144fd818561431b565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a0608083015261333b60a08301846142fc565b6040815260006145586040830185613d6e565b90506001600160a01b03831660208301529392505050565b6040815260006145836040830185613d6e565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516145ca816017850160208801613d4a565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351614607816028840160208801613d4a565b01602801949350505050565b60008161462257614622613e23565b506000190190565b6000825161463c818460208701613d4a565b919091019291505056fe67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829a2646970667358221220bca611242a8026815b84fc06ce7414f9a0771fe120a1bdebef2c9f513c6e0a7f64736f6c63430008130033a264697066735822122092a0644d167505cb0a33644cce05f9570b51516921580cf917a77bd320468fb664736f6c63430008130033","sourceMap":"202:2981:114:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2940:241;;;;;;:::i;:::-;;:::i;:::-;;;710:25:123;;;698:2;683:18;2940:241:114;;;;;;;;2592:200;;;;;;:::i;:::-;;:::i;:::-;;1824:101:27;;;:::i;2043:214:114:-;;;;;;:::i;:::-;;:::i;1519:518::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;5023:55:123;;;5005:74;;4993:2;4978:18;1519:518:114;4859:226:123;1201:85:27;1247:7;1273:6;-1:-1:-1;;;;;1273:6:27;1201:85;;2263:107:114;2345:18;;-1:-1:-1;;;;;2345:18:114;2263:107;;244:24;;;;;;2376:210;;;;;;:::i;:::-;;:::i;515:33::-;;;;;-1:-1:-1;;;;;515:33:114;;;2074:198:27;;;;;;:::i;:::-;;:::i;2798:136:114:-;;;;;;:::i;:::-;-1:-1:-1;;;;;2894:27:114;2871:4;2894:27;;;:15;:27;;;;;:33;;;;2798:136;;;;5671:14:123;;5664:22;5646:41;;5634:2;5619:18;2798:136:114;5506:187:123;2940:241:114;-1:-1:-1;;;;;3031:27:114;;3007:7;3031:27;;;:15;:27;;;;;:33;;;3026:100;;3087:28;;;;;-1:-1:-1;;;;;5023:55:123;;3087:28:114;;;5005:74:123;4978:18;;3087:28:114;;;;;;;;3026:100;-1:-1:-1;;;;;;3143:27:114;;;;;:15;:27;;;;;:31;;;;2940:241::o;2592:200::-;1094:13:27;:11;:13::i;:::-;-1:-1:-1;;;;;2684:27:114;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:44;;-1:-1:-1;;2684:44:114::1;::::0;::::1;;::::0;;::::1;::::0;;;2743:42;;5866:74:123;;;5956:18;;;5949:50;2743:42:114::1;::::0;5839:18:123;2743:42:114::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:114:-;1094:13:27;:11;:13::i;:::-;2123:35:114::1;2142:15;2123:18;:35::i;:::-;2168:18;:36:::0;;-1:-1:-1;;2168:36:114::1;-1:-1:-1::0;;;;;2168:36:114;::::1;::::0;;::::1;::::0;;;2219:31:::1;::::0;5005:74:123;;;2219:31:114::1;::::0;4993:2:123;4978:18;2219:31:114::1;;;;;;;2043:214:::0;:::o;1519:518::-;1625:31;1672:35;1710:23;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1759:5:114;:7;;1672:61;;-1:-1:-1;1759:5:114;:7;;;:::i;:::-;;;;-1:-1:-1;1743:13:114;;;:23;1810:4;1776:23;;;:39;1826:36;;;;;-1:-1:-1;;;;;1826:28:114;;;;;:36;;1743:6;;1826:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;1872:43:114;;;;;;:15;:43;;;;;;;;;:56;;-1:-1:-1;;1872:56:114;1924:4;1872:56;;;1943:44;;5005:74:123;;;1943:44:114;;4978:18:123;1943:44:114;;;;;;;2012:17;1519:518;-1:-1:-1;;1519:518:114:o;2376:210::-;1094:13:27;:11;:13::i;:::-;-1:-1:-1;;;;;2472:27:114;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:31:::1;;:49:::0;;;2536:43;;9044:74:123;;;9134:18;;9127:34;;;2536:43:114::1;::::0;9017:18:123;2536:43:114::1;8870:297:123::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:123;2154:73:27::1;::::0;::::1;9356:21:123::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:123::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:123;1414:68:27;;;9763:21:123;;;9800:18;;;9793:30;9859:34;9839:18;;;9832:62;9911:18;;1414:68:27;9579:356:123;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:114:-;-1:-1:-1;;;;;1454:22:114;;1450:56;;1485:21;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;:::o;14:154:123:-;-1:-1:-1;;;;;93:5:123;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:123: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:123;1216:2;1201:18;;1185:35;:::i;:::-;1175:45;;911:315;;;;;:::o;1231:184::-;-1:-1:-1;;;1280:1:123;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:123;;;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:123: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:123:o;6010:289::-;6049:3;6070:17;;;6067:197;;-1:-1:-1;;;6117:1:123;6110:88;6221:4;6218:1;6211:15;6249:4;6246:1;6239:15;6067:197;-1:-1:-1;6291:1:123;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:123: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:123;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:123;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:123;4781:67;;4727:127;7608:55;-1:-1:-1;7712:3:123;7700:16;;7694:23;-1:-1:-1;;;;;4793:54:123;;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:123;8091:54;8126:18;;;8038:22;-1:-1:-1;;;;;4793:54:123;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:123;4781:67;;4727:127;8782:54;-1:-1:-1;8853:6:123;;6989:1876;-1:-1:-1;;;;6989:1876:123: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/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/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\":\"0x3032ef966b217c359e29a9735604ee4e8e6529a9a0632369abdd7a7ae285dbd7\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://788c0a1deb7c53faedadc5efc152107ba22db81aaa9cffa1ba52d1427adfe2be\",\"dweb:/ipfs/QmQGANoMw4kb87y8JGCEgndo888YVDfRKMCepTJ2NVWUmY\"]},\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"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/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/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":"0x3032ef966b217c359e29a9735604ee4e8e6529a9a0632369abdd7a7ae285dbd7","urls":["bzz-raw://788c0a1deb7c53faedadc5efc152107ba22db81aaa9cffa1ba52d1427adfe2be","dweb:/ipfs/QmQGANoMw4kb87y8JGCEgndo888YVDfRKMCepTJ2NVWUmY"],"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/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 +{"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":"0x6080604052600060015534801561001557600080fd5b5061001f33610024565b610074565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61531e806100836000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c8063987435be11610081578063b8bed9011161005b578063b8bed90114610198578063f2fde38b146101ab578063f5016b5e146101be57600080fd5b8063987435be1461016b578063affed0e01461017c578063b5b3ca2c1461018557600080fd5b80638279c7db116100b25780638279c7db1461011c5780638a16135f1461012f5780638da5cb5b1461015a57600080fd5b80630a992e0c146100d95780635a2c8ace146100ff578063715018a614610114575b600080fd5b6100ec6100e73660046106a3565b6101fa565b6040519081526020015b60405180910390f35b61011261010d3660046106d7565b61027b565b005b6101126102e7565b61011261012a3660046106a3565b6102fb565b61014261013d366004610848565b61036d565b6040516001600160a01b0390911681526020016100f6565b6000546001600160a01b0316610142565b6003546001600160a01b0316610142565b6100ec60015481565b61011261019336600461099e565b61048e565b600354610142906001600160a01b031681565b6101126101b93660046106a3565b6104ea565b6101ea6101cc3660046106a3565b6001600160a01b031660009081526002602052604090205460ff1690565b60405190151581526020016100f6565b6001600160a01b03811660009081526002602052604081205460ff1661025c576040517ff5a6943d0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024015b60405180910390fd5b506001600160a01b031660009081526002602052604090206001015490565b61028361057a565b6001600160a01b038216600081815260026020908152604091829020805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b6102ef61057a565b6102f960006105d4565b565b61030361057a565b61030c81610631565b6003805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d9060200160405180910390a150565b60008060405161037c90610671565b604051809103906000f080158015610398573d6000803e3d6000fd5b506001805491925060006103ab836109ca565b9091555060808401523060a08401526040517f96f0adec0000000000000000000000000000000000000000000000000000000081526001600160a01b038216906396f0adec906103ff908690600401610a5e565b600060405180830381600087803b15801561041957600080fd5b505af115801561042d573d6000803e3d6000fd5b505050506001600160a01b038116600081815260026020908152604091829020805460ff1916600117905590519182527fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29910160405180910390a192915050565b61049661057a565b6001600160a01b038216600081815260026020908152604091829020600101849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c91016102db565b6104f261057a565b6001600160a01b03811661056e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610253565b610577816105d4565b50565b6000546001600160a01b031633146102f95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610253565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116610577576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61474b80610b9e83390190565b6001600160a01b038116811461057757600080fd5b803561069e8161067e565b919050565b6000602082840312156106b557600080fd5b81356106c08161067e565b9392505050565b8035801515811461069e57600080fd5b600080604083850312156106ea57600080fd5b82356106f58161067e565b9150610703602084016106c7565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b6040516101a0810167ffffffffffffffff811182821017156107465761074661070c565b60405290565b600082601f83011261075d57600080fd5b813567ffffffffffffffff808211156107785761077861070c565b604051601f8301601f19908116603f011681019082821181831017156107a0576107a061070c565b816040528381528660208588010111156107b957600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000604082840312156107eb57600080fd5b6040516040810167ffffffffffffffff828210818311171561080f5761080f61070c565b8160405282935084358352602085013591508082111561082e57600080fd5b5061083b8582860161074c565b6020830152505092915050565b60006020828403121561085a57600080fd5b813567ffffffffffffffff8082111561087257600080fd5b908301906101a0828603121561088757600080fd5b61088f610722565b61089883610693565b81526108a660208401610693565b60208201526040830135604082015260608301356060820152608083013560808201526108d560a08401610693565b60a08201526108e660c08401610693565b60c082015260e0830135828111156108fd57600080fd5b610909878286016107d9565b60e08301525061010061091d818501610693565b90820152610120838101358381111561093557600080fd5b6109418882870161074c565b8284015250506101406109558185016106c7565b90820152610160838101358381111561096d57600080fd5b6109798882870161074c565b828401525050610180915061098f828401610693565b91810191909152949350505050565b600080604083850312156109b157600080fd5b82356109bc8161067e565b946020939093013593505050565b6000600182016109ea57634e487b7160e01b600052601160045260246000fd5b5060010190565b6000815180845260005b81811015610a17576020818501810151868301820152016109fb565b506000602082860101526020601f19601f83011685010191505092915050565b805182526000602082015160406020850152610a5660408501826109f1565b949350505050565b60208152610a786020820183516001600160a01b03169052565b60006020830151610a9460408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015160a083015260a0830151610acd60c08401826001600160a01b03169052565b5060c08301516001600160a01b03811660e08401525060e08301516101a06101008181860152610b016101c0860184610a37565b90860151909250610120610b1f868201836001600160a01b03169052565b80870151915050601f19610140818786030181880152610b3f85846109f1565b945080880151925050610160610b588188018415159052565b80880151925050610180818786030181880152610b7585846109f1565b94508088015192505050610b93828601826001600160a01b03169052565b509094935050505056fe60806040523480156200001157600080fd5b506001600090815562000046907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b906200004c565b62000099565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6146a280620000a96000396000f3fe608060405234801561001057600080fd5b506004361061036d5760003560e01c80636c53db9a116101d3578063a230c52411610104578063c8a593e9116100a2578063d7050f071161007c578063d7050f0714610876578063db61d65c1461087f578063ebd7dc5214610892578063f86c5f89146108a557600080fd5b8063c8a593e91461083d578063d547741f14610850578063d6d8428d1461086357600080fd5b8063b64e39af116100de578063b64e39af14610810578063b99b437014610825578063bc063e1a1461082d578063c6d572ae1461083557600080fd5b8063a230c5241461079e578063b3f00674146107f5578063b5058c501461080857600080fd5b80638961be6b116101715780639a72a86f1161014b5780639a72a86f14610724578063a0b21cdf14610754578063a0cf0aea1461077b578063a217fddf1461079657600080fd5b80638961be6b146106cf57806391d14854146106d857806396f0adec1461071157600080fd5b806378a0b8a9116101ad57806378a0b8a91461063d5780637b1039991461064657806382d6a1e71461065957806388cfe6841461066c57600080fd5b80636c53db9a146105de57806373265c37146105f15780637817ee4f1461060457600080fd5b80632f2ff15d116102ad578063477a5cc01161024b5780635ecf71c5116102255780635ecf71c51461057a57806365e3864c1461058d5780636871eb4d146105b857806368decabb146105cb57600080fd5b8063477a5cc014610526578063559de05d146105545780635c94e4d21461056757600080fd5b80633517aa7d116102875780633517aa7d146104d557806336568abe146104dd578063397e2543146104f05780633a871fe11461050357600080fd5b80632f2ff15d146104a657806331f61bca146104b957806333960459146104cc57600080fd5b80631f787d281161031a578063248a9ca3116102f4578063248a9ca31461042357806328c309e9146104475780632b38c69c1461044f5780632c611c4a1461047a57600080fd5b80631f787d28146103f0578063223e5479146103fd57806322bcf9991461041057600080fd5b80630d12bbdb1161034b5780630d12bbdb146103b55780630d4a8b49146103ca578063175188e8146103dd57600080fd5b806301ffc9a7146103725780630331383c1461039a57806308386eba146103ac575b600080fd5b61038561038036600461377d565b6108b8565b60405190151581526020015b60405180910390f35b6003545b604051908152602001610391565b61039e60055481565b6103c86103c33660046137a7565b610908565b005b6103c86103d83660046137e5565b610992565b6103c86103eb36600461381e565b610cf9565b6002546103859060ff1681565b6103c861040b36600461381e565b610d0d565b6103c861041e3660046137e5565b610d1e565b61039e6104313660046137a7565b6000908152600160208190526040909120015490565b61039e610e2d565b61046261045d36600461383b565b610f17565b6040516001600160a01b039091168152602001610391565b61039e61048836600461381e565b6001600160a01b031660009081526013602052604090206001015490565b6103c86104b4366004613867565b610f4f565b6103c86104c73660046137a7565b610f7a565b61039e60095481565b6103c8610fb7565b6103c86104eb366004613867565b6113bc565b6103c86104fe36600461381e565b61144d565b61038561051136600461381e565b60116020526000908152604090205460ff1681565b6103856105343660046137e5565b601560209081526000928352604080842090915290825290205460ff1681565b6103c86105623660046137a7565b6114ba565b600854610462906001600160a01b031681565b6103c86105883660046137a7565b611794565b61039e61059b3660046137e5565b601260209081526000928352604080842090915290825290205481565b6103c86105c63660046137e5565b611b4e565b600a54610462906001600160a01b031681565b600d54610462906001600160a01b031681565b6103c86105ff3660046137a7565b611d59565b61039e6106123660046137e5565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b61039e60035481565b600b54610462906001600160a01b031681565b6103c86106673660046137a7565b611deb565b6106a861067a36600461381e565b6013602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b0390941684526020840192909252151590820152606001610391565b61039e60045481565b6103856106e6366004613867565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6103c861071f366004613a50565b611e9c565b610737610732366004613ce7565b612388565b604080519283526001600160a01b03909116602083015201610391565b61039e7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b61046273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61039e600081565b6103856107ac36600461381e565b6001600160a01b039081166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b600654610462906001600160a01b031681565b6103c86123d2565b61081861241e565b6040516103919190613d9a565b6103c86124ac565b61039e61260f565b61081861261f565b61073761084b366004613dad565b61262c565b6103c861085e366004613867565b6127ab565b600e54610462906001600160a01b031681565b61039e61271081565b600c54610462906001600160a01b031681565b6103856108a036600461381e565b6127d1565b600754610462906001600160a01b031681565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061090257506301ffc9a760e01b6001600160e01b03198316145b92915050565b610910612811565b61091d612710600a613e39565b811115610956576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60048190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b61099b82612879565b6109a4816128dc565b6109ad8161292e565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff1615610a0d576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0380831660009081526013602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff161515918301919091526003805490846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abd9190613e66565b6003811115610ace57610ace613e50565b03610b4d5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b469190613e83565b9050610c3f565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb39190613e66565b6003811115610bc457610bc4613e50565b14610c3f5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af1158015610c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3c9190613e83565b90505b6001600160a01b038581166000818152601260209081526040808320948916808452948252808320869055838352601582528083208584528252808320805460ff19166001908117909155848452601483528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b610d01612811565b610d0a8161296e565b50565b610d15612811565b610d0a816129c8565b610d2782612879565b610d308161292e565b610d3a3382612a6f565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff16610d99576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000818152601560209081526040808320948616808452948252808320805460ff191690559282526012815282822093825292909252812055610de78282612aba565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b910160405180910390a15050565b6007546000906001600160a01b031681610e4a6127106064613e39565b600454600354610e5a9190613e39565b610e649190613e9c565b90506000610e756127106064613e39565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190613e83565b600354610eea9190613e39565b610ef49190613e9c565b90508082600354610f059190613ebe565b610f0f9190613ebe565b935050505090565b60146020528160005260406000208181548110610f3357600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008281526001602081905260409091200154610f6b81612bdc565b610f758383612be6565b505050565b610f82612811565b60038190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f90602001610987565b610fbf612c6d565b33600081815260136020526040812060075490916001600160a01b0390911690610fec6127106064613e39565b600454600354610ffc9190613e39565b6110069190613e9c565b905060006110176127106064613e39565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190613e83565b60035461108c9190613e39565b6110969190613e9c565b6001600160a01b038087166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190529091506113ab5760028401805460ff191660019081179091556003549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152600c5461114691906001600160a01b0316612cc6565b6111788530838560035461115a9190613ebe565b6111649190613ebe565b600c546001600160a01b0316929190612d24565b6111b76040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e74000000000000000000000000000081525083612da8565b81156112245760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260065461120791906001600160a01b0316612cc6565b600654600c54611224916001600160a01b03918216911684612e06565b6112636040518060400160405280601081526020017f67617264656e73466565416d6f756e740000000000000000000000000000000081525082612da8565b8015611364576112ec60405180606001604052806026815260200161464760269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e79190613ed1565b612cc6565b611364836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113519190613ed1565b600c546001600160a01b03169083612e06565b600354604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b50505050506113ba6001600055565b565b6001600160a01b038116331461143f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6114498282612e36565b5050565b611455612811565b61145e8161292e565b600a80546001600160a01b0319166001600160a01b03838116918217909255600d546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610987565b6114c2612c6d565b6114ca612eb9565b3360008181526014602090815260408083208054825181850281018501909352808352919290919083018282801561152b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161150d575b50505050509050600080600090505b82518110156116fb5782818151811061155557611555613eee565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af11580156115b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d49190613e83565b915081156116e9576001600160a01b0384166000908152601260205260408120845184929086908590811061160b5761160b613eee565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546116429190613ebe565b925050819055506116e96040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525060126000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815181106116bb576116bb613eee565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054612da8565b806116f381613f04565b91505061153a565b50600c54611714906001600160a01b0316843087612d24565b6001600160a01b0383166000908152601360205260408120600101805486929061173f908490613ebe565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a1505050610d0a6001600055565b61179c612c6d565b6117a4612eb9565b336000818152601460209081526040808320600354601390935290832060010154909291906117d4908690613f1d565b101561180c576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c54611823906001600160a01b03168486612e06565b60005b8254811015611ade57600083828154811061184357611843613eee565b6000918252602090912001546001600160a01b0316905061186b8163f1801e6160e01b612f18565b15611a12576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156118d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fc9190613e83565b9250600060126000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858154811061193957611939613eee565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156119a4576040517f8a11f3180000000000000000000000000000000000000000000000000000000081526004810185905260248101829052604401611436565b6001600160a01b038616600090815260126020526040812086548692908890879081106119d3576119d3613eee565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190611a07908490613f1d565b909155505050611acb565b83548490611a2290600190613f1d565b81548110611a3257611a32613eee565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110611a6257611a62613eee565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480611aa057611aa0613f30565b600082815260209020810160001990810180546001600160a01b0319169055019055611acb8161296e565b5080611ad681613f04565b915050611826565b506001600160a01b03831660009081526013602052604081206001018054869290611b0a908490613f1d565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8910161177f565b611b56612c6d565b611b5e612811565b60025460ff16611b9a576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052611bfd57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152611c4b83612f3b565b6001600160a01b03838116600090815260136020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff19169055600c5490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af1158015611cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfd9190613f46565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a1506114496001600055565b611d61612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611dab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dd39190810190613f63565b602001519050611de28161292e565b6114498161296e565b611df3612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611e3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e659190810190613f63565b602001519050611e748161292e565b611e8e6001600160a01b03821663f1801e6160e01b612f18565b1561144957611449816129c8565b611ea9816020015161292e565b611eb781610100015161292e565b8051611ec29061292e565b611ecf8160a0015161292e565b611edd81610180015161292e565b606081015115611ef457611ef48160c0015161292e565b8051600e80546001600160a01b039283166001600160a01b0319918216179091556020830151600c80549190931691161790556040810151600003611f65576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015160035560608101516004556101408101516002805460ff1916911515919091179055610120810151600f90611f9f908261410d565b50610160810151601090611fb3908261410d565b5060a0810151600780546001600160a01b03199081166001600160a01b039384161790915560c0830151600680548316918416919091179055610100830151600d8054831682851617905561018084015160088054909316931692909217905561203e907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90612be6565b600e60009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015612091573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b59190613ed1565b600b80546001600160a01b0319166001600160a01b03928316179055600d54604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261215791908101906141cd565b90506000815160026121699190613ebe565b67ffffffffffffffff8111156121815761218161388c565b6040519080825280602002602001820160405280156121aa578160200160208202803683370190505b50905060005b825181101561220f578281815181106121cb576121cb613eee565b60200260200101518282815181106121e5576121e5613eee565b6001600160a01b03909216602092830291909101909101528061220781613f04565b9150506121b0565b50600d5481516001600160a01b0390911690829061222f90600190613f1d565b8151811061223f5761223f613eee565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835161226f9190613f1d565b8151811061227f5761227f613eee565b6001600160a01b039283166020918202929092010152600b54608085015160e08601516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f926122e79291600f913090889060040161435f565b6020604051808303816000875af1158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613e83565b60055580516123409060169060208401906136e9565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205600554600f8560e0015160405161237b939291906143ad565b60405180910390a1505050565b60085460098054600092839283926123b7926001600160a01b031691846123ae83613f04565b9190505561305d565b90506123c58187878761262c565b9250925050935093915050565b600a546001600160a01b03163314612416576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113ba6130b1565b6010805461242b90614085565b80601f016020809104026020016040519081016040528092919081815260200182805461245790614085565b80156124a45780601f10612479576101008083540402835291602001916124a4565b820191906000526020600020905b81548152906001019060200180831161248757829003601f168201915b505050505081565b6124b4612c6d565b336124be81612879565b6124c781612f3b565b6001600160a01b0380821660008181526013602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945560149052918220909161253e919061374e565b600c54602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015612596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ba9190613f46565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a150506113ba6001600055565b61261c612710600a613e39565b81565b600f805461242b90614085565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156126565750845b869150600060168054806020026020016040519081016040528092919081815260200182805480156126b157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612693575b5050600e546005546040519596506001600160a01b039091169463e1007d4a94509092508791506126e6908b906020016143f6565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b815260040161271c979695949392919061449f565b6020604051808303816000875af115801561273b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061275f9190613e83565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a8960405161279895949392919061450b565b60405180910390a1505094509492505050565b600082815260016020819052604090912001546127c781612bdc565b610f758383612e36565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff16610902565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff166113ba576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038082166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052610d0a57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03811660009081526011602052604090205460ff16610d0a576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116610d0a576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129778161292e565b6001600160a01b038116600081815260116020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49101610987565b6001600160a01b03811660009081526011602052604090205460ff1615612a1b576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815260116020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610987565b806001600160a01b0316826001600160a01b031614611449576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152601460205260408120905b8154811015612bd657826001600160a01b0316828281548110612af957612af9613eee565b6000918252602090912001546001600160a01b031603612bc45781548290612b2390600190613f1d565b81548110612b3357612b33613eee565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110612b6357612b63613eee565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480612ba157612ba1613f30565b600082815260209020810160001990810180546001600160a01b03191690550190555b80612bce81613f04565b915050612ad4565b50505050565b610d0a813361310c565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b600260005403612cbf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401611436565b6002600055565b6114498282604051602401612cdc929190614545565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b0380851660248301528316604482015260648101829052612bd69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526131a2565b6114498282604051602401612dbe929190614570565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b038316602482015260448101829052610f7590849063a9059cbb60e01b90606401612d71565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16156114495760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b33600090815260136020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526113ba57604051636a5cfb6d60e01b815260040160405180910390fd5b6000612f238361328a565b8015612f345750612f3483836132bd565b9392505050565b6001600160a01b038116600090815260146020908152604080832080548251818502810185019093528083529192909190830182828015612fa557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612f87575b5050505050905060005b8151811015610f7557818181518110612fca57612fca613eee565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801561303257600080fd5b505af1158015613046573d6000803e3d6000fd5b50505050808061305590613f04565b915050612faf565b6040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506130a98482613346565b949350505050565b600a8054600d80546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495761313f816133e3565b61314a8360206133f5565b60405160200161315b929190614592565b60408051601f198184030181529082905262461bcd60e51b825261143691600401613d9a565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006131f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135d69092919063ffffffff16565b90508051600014806132185750808060200190518101906132189190613f46565b610f755760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611436565b600061329d826301ffc9a760e01b6132bd565b801561090257506132b6826001600160e01b03196132bd565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561332f575060208210155b801561333b5750600081115b979650505050505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166109025760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401611436565b60606109026001600160a01b03831660145b60606000613404836002613e39565b61340f906002613ebe565b67ffffffffffffffff8111156134275761342761388c565b6040519080825280601f01601f191660200182016040528015613451576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061348857613488613eee565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106134d3576134d3613eee565b60200101906001600160f81b031916908160001a90535060006134f7846002613e39565b613502906001613ebe565b90505b6001811115613587577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061354357613543613eee565b1a60f81b82828151811061355957613559613eee565b60200101906001600160f81b031916908160001a90535060049490941c9361358081614613565b9050613505565b508315612f345760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611436565b60606130a9848460008585600080866001600160a01b031685876040516135fd919061462a565b60006040518083038185875af1925050503d806000811461363a576040519150601f19603f3d011682016040523d82523d6000602084013e61363f565b606091505b509150915061333b87838387606083156136ba5782516000036136b3576001600160a01b0385163b6136b35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611436565b50816130a9565b6130a983838151156136cf5781518083602001fd5b8060405162461bcd60e51b81526004016114369190613d9a565b82805482825590600052602060002090810192821561373e579160200282015b8281111561373e57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613709565b5061374a929150613768565b5090565b5080546000825590600052602060002090810190610d0a91905b5b8082111561374a5760008155600101613769565b60006020828403121561378f57600080fd5b81356001600160e01b031981168114612f3457600080fd5b6000602082840312156137b957600080fd5b5035919050565b6001600160a01b0381168114610d0a57600080fd5b80356137e0816137c0565b919050565b600080604083850312156137f857600080fd5b8235613803816137c0565b91506020830135613813816137c0565b809150509250929050565b60006020828403121561383057600080fd5b8135612f34816137c0565b6000806040838503121561384e57600080fd5b8235613859816137c0565b946020939093013593505050565b6000806040838503121561387a57600080fd5b823591506020830135613813816137c0565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156138c5576138c561388c565b60405290565b6040516101a0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051610120810167ffffffffffffffff811182821017156138c5576138c561388c565b60405160c0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051601f8201601f1916810167ffffffffffffffff8111828210171561395f5761395f61388c565b604052919050565b600067ffffffffffffffff8211156139815761398161388c565b50601f01601f191660200190565b600082601f8301126139a057600080fd5b81356139b36139ae82613967565b613936565b8181528460208386010111156139c857600080fd5b816020850160208301376000918101602001919091529392505050565b6000604082840312156139f757600080fd5b6139ff6138a2565b905081358152602082013567ffffffffffffffff811115613a1f57600080fd5b613a2b8482850161398f565b60208301525092915050565b8015158114610d0a57600080fd5b80356137e081613a37565b600060208284031215613a6257600080fd5b813567ffffffffffffffff80821115613a7a57600080fd5b908301906101a08286031215613a8f57600080fd5b613a976138cb565b613aa0836137d5565b8152613aae602084016137d5565b6020820152604083013560408201526060830135606082015260808301356080820152613add60a084016137d5565b60a0820152613aee60c084016137d5565b60c082015260e083013582811115613b0557600080fd5b613b11878286016139e5565b60e083015250610100613b258185016137d5565b908201526101208381013583811115613b3d57600080fd5b613b498882870161398f565b828401525050610140613b5d818501613a45565b908201526101608381013583811115613b7557600080fd5b613b818882870161398f565b8284015250506101809150613b978284016137d5565b91810191909152949350505050565b8035600381106137e057600080fd5b60048110610d0a57600080fd5b80356137e081613bb5565b600060208284031215613bdf57600080fd5b6040516020810181811067ffffffffffffffff82111715613c0257613c0261388c565b6040529135825250919050565b600060408284031215613c2157600080fd5b613c296138a2565b90508135613c36816137c0565b808252506020820135602082015292915050565b60006101408284031215613c5d57600080fd5b613c656138ef565b9050613c70826137d5565b815260208201356020820152604082013560408201526060820135606082015260808201356080820152613ca660a08301613ba6565b60a0820152613cb760c08301613bc2565b60c0820152613cc98360e08401613bcd565b60e0820152610100613cdd84828501613c0f565b9082015292915050565b60008060006101808486031215613cfd57600080fd5b8335613d08816137c0565b9250613d178560208601613c4a565b915061016084013567ffffffffffffffff811115613d3457600080fd5b613d40868287016139e5565b9150509250925092565b60005b83811015613d65578181015183820152602001613d4d565b50506000910152565b60008151808452613d86816020860160208601613d4a565b601f01601f19169290920160200192915050565b602081526000612f346020830184613d6e565b6000806000806101a08587031215613dc457600080fd5b8435613dcf816137c0565b93506020850135613ddf816137c0565b9250613dee8660408701613c4a565b915061018085013567ffffffffffffffff811115613e0b57600080fd5b613e17878288016139e5565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761090257610902613e23565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613e7857600080fd5b8151612f3481613bb5565b600060208284031215613e9557600080fd5b5051919050565b600082613eb957634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561090257610902613e23565b600060208284031215613ee357600080fd5b8151612f34816137c0565b634e487b7160e01b600052603260045260246000fd5b600060018201613f1657613f16613e23565b5060010190565b8181038181111561090257610902613e23565b634e487b7160e01b600052603160045260246000fd5b600060208284031215613f5857600080fd5b8151612f3481613a37565b60006020808385031215613f7657600080fd5b825167ffffffffffffffff80821115613f8e57600080fd5b9084019060c08287031215613fa257600080fd5b613faa613913565b8251815283830151613fbb816137c0565b818501526040830151613fcd816137c0565b6040820152606083015182811115613fe457600080fd5b830160408189031215613ff657600080fd5b613ffe6138a2565b81518152858201518481111561401357600080fd5b82019350601f8401891361402657600080fd5b835191506140366139ae83613967565b828152898784870101111561404a57600080fd5b61405983888301898801613d4a565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c9082168061409957607f821691505b6020821081036140b957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f7557600081815260208120601f850160051c810160208610156140e65750805b601f850160051c820191505b81811015614105578281556001016140f2565b505050505050565b815167ffffffffffffffff8111156141275761412761388c565b61413b816141358454614085565b846140bf565b602080601f83116001811461417057600084156141585750858301515b600019600386901b1c1916600185901b178555614105565b600085815260208120601f198616915b8281101561419f57888601518255948401946001909101908401614180565b50858210156141bd5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083850312156141e057600080fd5b825167ffffffffffffffff808211156141f857600080fd5b818501915085601f83011261420c57600080fd5b81518181111561421e5761421e61388c565b8060051b915061422f848301613936565b818152918301840191848101908884111561424957600080fd5b938501935b838510156142735784519250614263836137c0565b828252938501939085019061424e565b98975050505050505050565b6000815461428c81614085565b8085526020600183811680156142a957600181146142c3576142f1565b60ff1985168884015283151560051b8801830195506142f1565b866000528260002060005b858110156142e95781548a82018601529083019084016142ce565b890184019650505b505050505092915050565b8051825260006020820151604060208501526130a96040850182613d6e565b600081518084526020808501945080840160005b838110156143545781516001600160a01b03168752958201959082019060010161432f565b509495945050505050565b85815260a06020820152600061437860a083018761427f565b828103604084015261438a81876142fc565b90506001600160a01b03851660608401528281036080840152614273818561431b565b8381526060602082015260006143c6606083018561427f565b82810360408401526143d881856142fc565b9695505050505050565b600481106143f2576143f2613e50565b9052565b6000610140820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061444957614449613e50565b8060a08401525060c083015161446260c08401826143e2565b5060e083015161447560e0840182519052565b506101008381015180516001600160a01b0316848301526020810151610120850152505092915050565b87815260006001600160a01b03808916602084015260e060408401526144c860e0840189613d6e565b818816606085015286608085015283810360a08501526144e881876142fc565b91505082810360c08401526144fd818561431b565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a0608083015261333b60a08301846142fc565b6040815260006145586040830185613d6e565b90506001600160a01b03831660208301529392505050565b6040815260006145836040830185613d6e565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516145ca816017850160208801613d4a565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351614607816028840160208801613d4a565b01602801949350505050565b60008161462257614622613e23565b506000190190565b6000825161463c818460208701613d4a565b919091019291505056fe67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829a2646970667358221220179aab44479af0092d18a8921dae73c9cfb66c6fe2e9f78b0ff1bab36f31093064736f6c63430008130033a26469706673582212202dba750bec4c1f5e955451c3464b7e8d6a8b5e031dd8bc68ae9f5313d3ffbceb64736f6c63430008130033","sourceMap":"202:2981:129:-:0;;;267:1;244:24;;202:2981;;;;;;;;;-1:-1:-1;936:32:27;719:10:35;936:18:27;:32::i;:::-;202:2981:129;;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:129:-;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100d45760003560e01c8063987435be11610081578063b8bed9011161005b578063b8bed90114610198578063f2fde38b146101ab578063f5016b5e146101be57600080fd5b8063987435be1461016b578063affed0e01461017c578063b5b3ca2c1461018557600080fd5b80638279c7db116100b25780638279c7db1461011c5780638a16135f1461012f5780638da5cb5b1461015a57600080fd5b80630a992e0c146100d95780635a2c8ace146100ff578063715018a614610114575b600080fd5b6100ec6100e73660046106a3565b6101fa565b6040519081526020015b60405180910390f35b61011261010d3660046106d7565b61027b565b005b6101126102e7565b61011261012a3660046106a3565b6102fb565b61014261013d366004610848565b61036d565b6040516001600160a01b0390911681526020016100f6565b6000546001600160a01b0316610142565b6003546001600160a01b0316610142565b6100ec60015481565b61011261019336600461099e565b61048e565b600354610142906001600160a01b031681565b6101126101b93660046106a3565b6104ea565b6101ea6101cc3660046106a3565b6001600160a01b031660009081526002602052604090205460ff1690565b60405190151581526020016100f6565b6001600160a01b03811660009081526002602052604081205460ff1661025c576040517ff5a6943d0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024015b60405180910390fd5b506001600160a01b031660009081526002602052604090206001015490565b61028361057a565b6001600160a01b038216600081815260026020908152604091829020805460ff19168515159081179091558251938452908301527fecdcd3502799a6c41864ea2682236184e876f63e10f8d56c7768a3d501e89f6291015b60405180910390a15050565b6102ef61057a565b6102f960006105d4565b565b61030361057a565b61030c81610631565b6003805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d9060200160405180910390a150565b60008060405161037c90610671565b604051809103906000f080158015610398573d6000803e3d6000fd5b506001805491925060006103ab836109ca565b9091555060808401523060a08401526040517f96f0adec0000000000000000000000000000000000000000000000000000000081526001600160a01b038216906396f0adec906103ff908690600401610a5e565b600060405180830381600087803b15801561041957600080fd5b505af115801561042d573d6000803e3d6000fd5b505050506001600160a01b038116600081815260026020908152604091829020805460ff1916600117905590519182527fb4108a188495a1a681cdc0750af164011025a1773b41e93ff3e628adc037dc29910160405180910390a192915050565b61049661057a565b6001600160a01b038216600081815260026020908152604091829020600101849055815192835282018390527fa1ee82e4f177a8017f33ddddac05b7ceab1de9d46f7195e15e8aa2e8b88f3b1c91016102db565b6104f261057a565b6001600160a01b03811661056e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610253565b610577816105d4565b50565b6000546001600160a01b031633146102f95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610253565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116610577576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61474b80610b9e83390190565b6001600160a01b038116811461057757600080fd5b803561069e8161067e565b919050565b6000602082840312156106b557600080fd5b81356106c08161067e565b9392505050565b8035801515811461069e57600080fd5b600080604083850312156106ea57600080fd5b82356106f58161067e565b9150610703602084016106c7565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b6040516101a0810167ffffffffffffffff811182821017156107465761074661070c565b60405290565b600082601f83011261075d57600080fd5b813567ffffffffffffffff808211156107785761077861070c565b604051601f8301601f19908116603f011681019082821181831017156107a0576107a061070c565b816040528381528660208588010111156107b957600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000604082840312156107eb57600080fd5b6040516040810167ffffffffffffffff828210818311171561080f5761080f61070c565b8160405282935084358352602085013591508082111561082e57600080fd5b5061083b8582860161074c565b6020830152505092915050565b60006020828403121561085a57600080fd5b813567ffffffffffffffff8082111561087257600080fd5b908301906101a0828603121561088757600080fd5b61088f610722565b61089883610693565b81526108a660208401610693565b60208201526040830135604082015260608301356060820152608083013560808201526108d560a08401610693565b60a08201526108e660c08401610693565b60c082015260e0830135828111156108fd57600080fd5b610909878286016107d9565b60e08301525061010061091d818501610693565b90820152610120838101358381111561093557600080fd5b6109418882870161074c565b8284015250506101406109558185016106c7565b90820152610160838101358381111561096d57600080fd5b6109798882870161074c565b828401525050610180915061098f828401610693565b91810191909152949350505050565b600080604083850312156109b157600080fd5b82356109bc8161067e565b946020939093013593505050565b6000600182016109ea57634e487b7160e01b600052601160045260246000fd5b5060010190565b6000815180845260005b81811015610a17576020818501810151868301820152016109fb565b506000602082860101526020601f19601f83011685010191505092915050565b805182526000602082015160406020850152610a5660408501826109f1565b949350505050565b60208152610a786020820183516001600160a01b03169052565b60006020830151610a9460408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015160a083015260a0830151610acd60c08401826001600160a01b03169052565b5060c08301516001600160a01b03811660e08401525060e08301516101a06101008181860152610b016101c0860184610a37565b90860151909250610120610b1f868201836001600160a01b03169052565b80870151915050601f19610140818786030181880152610b3f85846109f1565b945080880151925050610160610b588188018415159052565b80880151925050610180818786030181880152610b7585846109f1565b94508088015192505050610b93828601826001600160a01b03169052565b509094935050505056fe60806040523480156200001157600080fd5b506001600090815562000046907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b906200004c565b62000099565b6000828152600160208190526040808320909101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6146a280620000a96000396000f3fe608060405234801561001057600080fd5b506004361061036d5760003560e01c80636c53db9a116101d3578063a230c52411610104578063c8a593e9116100a2578063d7050f071161007c578063d7050f0714610876578063db61d65c1461087f578063ebd7dc5214610892578063f86c5f89146108a557600080fd5b8063c8a593e91461083d578063d547741f14610850578063d6d8428d1461086357600080fd5b8063b64e39af116100de578063b64e39af14610810578063b99b437014610825578063bc063e1a1461082d578063c6d572ae1461083557600080fd5b8063a230c5241461079e578063b3f00674146107f5578063b5058c501461080857600080fd5b80638961be6b116101715780639a72a86f1161014b5780639a72a86f14610724578063a0b21cdf14610754578063a0cf0aea1461077b578063a217fddf1461079657600080fd5b80638961be6b146106cf57806391d14854146106d857806396f0adec1461071157600080fd5b806378a0b8a9116101ad57806378a0b8a91461063d5780637b1039991461064657806382d6a1e71461065957806388cfe6841461066c57600080fd5b80636c53db9a146105de57806373265c37146105f15780637817ee4f1461060457600080fd5b80632f2ff15d116102ad578063477a5cc01161024b5780635ecf71c5116102255780635ecf71c51461057a57806365e3864c1461058d5780636871eb4d146105b857806368decabb146105cb57600080fd5b8063477a5cc014610526578063559de05d146105545780635c94e4d21461056757600080fd5b80633517aa7d116102875780633517aa7d146104d557806336568abe146104dd578063397e2543146104f05780633a871fe11461050357600080fd5b80632f2ff15d146104a657806331f61bca146104b957806333960459146104cc57600080fd5b80631f787d281161031a578063248a9ca3116102f4578063248a9ca31461042357806328c309e9146104475780632b38c69c1461044f5780632c611c4a1461047a57600080fd5b80631f787d28146103f0578063223e5479146103fd57806322bcf9991461041057600080fd5b80630d12bbdb1161034b5780630d12bbdb146103b55780630d4a8b49146103ca578063175188e8146103dd57600080fd5b806301ffc9a7146103725780630331383c1461039a57806308386eba146103ac575b600080fd5b61038561038036600461377d565b6108b8565b60405190151581526020015b60405180910390f35b6003545b604051908152602001610391565b61039e60055481565b6103c86103c33660046137a7565b610908565b005b6103c86103d83660046137e5565b610992565b6103c86103eb36600461381e565b610cf9565b6002546103859060ff1681565b6103c861040b36600461381e565b610d0d565b6103c861041e3660046137e5565b610d1e565b61039e6104313660046137a7565b6000908152600160208190526040909120015490565b61039e610e2d565b61046261045d36600461383b565b610f17565b6040516001600160a01b039091168152602001610391565b61039e61048836600461381e565b6001600160a01b031660009081526013602052604090206001015490565b6103c86104b4366004613867565b610f4f565b6103c86104c73660046137a7565b610f7a565b61039e60095481565b6103c8610fb7565b6103c86104eb366004613867565b6113bc565b6103c86104fe36600461381e565b61144d565b61038561051136600461381e565b60116020526000908152604090205460ff1681565b6103856105343660046137e5565b601560209081526000928352604080842090915290825290205460ff1681565b6103c86105623660046137a7565b6114ba565b600854610462906001600160a01b031681565b6103c86105883660046137a7565b611794565b61039e61059b3660046137e5565b601260209081526000928352604080842090915290825290205481565b6103c86105c63660046137e5565b611b4e565b600a54610462906001600160a01b031681565b600d54610462906001600160a01b031681565b6103c86105ff3660046137a7565b611d59565b61039e6106123660046137e5565b6001600160a01b03918216600090815260126020908152604080832093909416825291909152205490565b61039e60035481565b600b54610462906001600160a01b031681565b6103c86106673660046137a7565b611deb565b6106a861067a36600461381e565b6013602052600090815260409020805460018201546002909201546001600160a01b03909116919060ff1683565b604080516001600160a01b0390941684526020840192909252151590820152606001610391565b61039e60045481565b6103856106e6366004613867565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6103c861071f366004613a50565b611e9c565b610737610732366004613ce7565b612388565b604080519283526001600160a01b03909116602083015201610391565b61039e7fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b81565b61046273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61039e600081565b6103856107ac36600461381e565b6001600160a01b039081166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff161515910181905290565b600654610462906001600160a01b031681565b6103c86123d2565b61081861241e565b6040516103919190613d9a565b6103c86124ac565b61039e61260f565b61081861261f565b61073761084b366004613dad565b61262c565b6103c861085e366004613867565b6127ab565b600e54610462906001600160a01b031681565b61039e61271081565b600c54610462906001600160a01b031681565b6103856108a036600461381e565b6127d1565b600754610462906001600160a01b031681565b60006001600160e01b031982167f7965db0b00000000000000000000000000000000000000000000000000000000148061090257506301ffc9a760e01b6001600160e01b03198316145b92915050565b610910612811565b61091d612710600a613e39565b811115610956576040517ffe925f7d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60048190556040518181527f611668bfcf654a99c33cdb66c29ec37a5aae5c1287d2d9715a24e18cb4d806d6906020015b60405180910390a150565b61099b82612879565b6109a4816128dc565b6109ad8161292e565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff1615610a0d576040517fd5b9bc9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0380831660009081526013602090815260409182902082516060810184528154909416845260018101549184018290526002015460ff161515918301919091526003805490846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abd9190613e66565b6003811115610ace57610ace613e50565b03610b4d5760405163782aadff60e01b81526001600160a01b0386811660048301526000602483015285169063782aadff906044016020604051808303816000875af1158015610b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b469190613e83565b9050610c3f565b6000846001600160a01b031663c32921716040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb39190613e66565b6003811115610bc457610bc4613e50565b14610c3f5760405163782aadff60e01b81526001600160a01b0386811660048301526024820184905285169063782aadff906044016020604051808303816000875af1158015610c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3c9190613e83565b90505b6001600160a01b038581166000818152601260209081526040808320948916808452948252808320869055838352601582528083208584528252808320805460ff19166001908117909155848452601483528184208054918201815584529282902090920180546001600160a01b0319168517905581519283528201929092529081018290527ff56fa57e85e169a12200d12d9921ec069b52e688f6d309d9dab7bceff54614ec9060600160405180910390a15050505050565b610d01612811565b610d0a8161296e565b50565b610d15612811565b610d0a816129c8565b610d2782612879565b610d308161292e565b610d3a3382612a6f565b6001600160a01b0380831660009081526015602090815260408083209385168352929052205460ff16610d99576040517fc12369dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000818152601560209081526040808320948616808452948252808320805460ff191690559282526012815282822093825292909252812055610de78282612aba565b604080516001600160a01b038085168252831660208201527ede109bef4619f7e2cf00c8e5a50ca55f8deb44f87087eed414a91dbf8d1d1b910160405180910390a15050565b6007546000906001600160a01b031681610e4a6127106064613e39565b600454600354610e5a9190613e39565b610e649190613e9c565b90506000610e756127106064613e39565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190613e83565b600354610eea9190613e39565b610ef49190613e9c565b90508082600354610f059190613ebe565b610f0f9190613ebe565b935050505090565b60146020528160005260406000208181548110610f3357600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008281526001602081905260409091200154610f6b81612bdc565b610f758383612be6565b505050565b610f82612811565b60038190556040518181527f5bcc2c453001fb0e2ba6266d56ecb411e7c6e15c8f9c3d301f93dd36ad25726f90602001610987565b610fbf612c6d565b33600081815260136020526040812060075490916001600160a01b0390911690610fec6127106064613e39565b600454600354610ffc9190613e39565b6110069190613e9c565b905060006110176127106064613e39565b6040516302a64b8360e21b81523060048201526001600160a01b03851690630a992e0c90602401602060405180830381865afa15801561105b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190613e83565b60035461108c9190613e39565b6110969190613e9c565b6001600160a01b038087166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151591018190529091506113ab5760028401805460ff191660019081179091556003549085015560408051808201909152600b81527f67617264656e546f6b656e0000000000000000000000000000000000000000006020820152600c5461114691906001600160a01b0316612cc6565b6111788530838560035461115a9190613ebe565b6111649190613ebe565b600c546001600160a01b0316929190612d24565b6111b76040518060400160405280601281526020017f636f6d6d756e697479466565416d6f756e74000000000000000000000000000081525083612da8565b81156112245760408051808201909152600b81527f6665655265636569766572000000000000000000000000000000000000000000602082015260065461120791906001600160a01b0316612cc6565b600654600c54611224916001600160a01b03918216911684612e06565b6112636040518060400160405280601081526020017f67617264656e73466565416d6f756e740000000000000000000000000000000081525082612da8565b8015611364576112ec60405180606001604052806026815260200161464760269139846001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e79190613ed1565b612cc6565b611364836001600160a01b031663987435be6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113519190613ed1565b600c546001600160a01b03169083612e06565b600354604080516001600160a01b038816815260208101929092527f67e0244e28040fec15240cd4b6c04c776a2a0278caef23b59e8ada1df31f7689910160405180910390a15b50505050506113ba6001600055565b565b6001600160a01b038116331461143f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6114498282612e36565b5050565b611455612811565b61145e8161292e565b600a80546001600160a01b0319166001600160a01b03838116918217909255600d546040805191909316815260208101919091527f83eac9fdaff0ac1017624b7eddeb9782e3d707cd894073cb7e8301a41c6e5cf89101610987565b6114c2612c6d565b6114ca612eb9565b3360008181526014602090815260408083208054825181850281018501909352808352919290919083018282801561152b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161150d575b50505050509050600080600090505b82518110156116fb5782818151811061155557611555613eee565b602090810291909101015160405163782aadff60e01b81526001600160a01b038681166004830152602482018890529091169063782aadff906044016020604051808303816000875af11580156115b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d49190613e83565b915081156116e9576001600160a01b0384166000908152601260205260408120845184929086908590811061160b5761160b613eee565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546116429190613ebe565b925050819055506116e96040518060400160405280600e81526020017f537472617465677920706f77657200000000000000000000000000000000000081525060126000876001600160a01b03166001600160a01b0316815260200190815260200160002060008685815181106116bb576116bb613eee565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054612da8565b806116f381613f04565b91505061153a565b50600c54611714906001600160a01b0316843087612d24565b6001600160a01b0383166000908152601360205260408120600101805486929061173f908490613ebe565b9091555050604080516001600160a01b0385168152602081018690527f576605f9bfe8911e7508bed3763c7c5c8eb3b86e8b360b90a4bc6abe1104cb7f91015b60405180910390a1505050610d0a6001600055565b61179c612c6d565b6117a4612eb9565b336000818152601460209081526040808320600354601390935290832060010154909291906117d4908690613f1d565b101561180c576040517f9c47d02e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600c54611823906001600160a01b03168486612e06565b60005b8254811015611ade57600083828154811061184357611843613eee565b6000918252602090912001546001600160a01b0316905061186b8163f1801e6160e01b612f18565b15611a12576040517f2ed04b2b0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201889052821690632ed04b2b906044016020604051808303816000875af11580156118d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fc9190613e83565b9250600060126000876001600160a01b03166001600160a01b03168152602001908152602001600020600086858154811061193957611939613eee565b60009182526020808320909101546001600160a01b031683528201929092526040019020549050808411156119a4576040517f8a11f3180000000000000000000000000000000000000000000000000000000081526004810185905260248101829052604401611436565b6001600160a01b038616600090815260126020526040812086548692908890879081106119d3576119d3613eee565b60009182526020808320909101546001600160a01b0316835282019290925260400181208054909190611a07908490613f1d565b909155505050611acb565b83548490611a2290600190613f1d565b81548110611a3257611a32613eee565b9060005260206000200160009054906101000a90046001600160a01b0316848381548110611a6257611a62613eee565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555083805480611aa057611aa0613f30565b600082815260209020810160001990810180546001600160a01b0319169055019055611acb8161296e565b5080611ad681613f04565b915050611826565b506001600160a01b03831660009081526013602052604081206001018054869290611b0a908490613f1d565b9091555050604080516001600160a01b0385168152602081018690527f6ee2c70b2d6b89ae808a2313aab43e925c06624271419cd665d85cfa1ae04ff8910161177f565b611b56612c6d565b611b5e612811565b60025460ff16611b9a576040517fcb63dc7200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052611bfd57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b038083166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff16151590820152611c4b83612f3b565b6001600160a01b03838116600090815260136020908152604080832080546001600160a01b031916815560018101939093556002909201805460ff19169055600c5490840151915163a9059cbb60e01b8152858416600482015260248101929092529091169063a9059cbb906044016020604051808303816000875af1158015611cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cfd9190613f46565b50602080820151604080516001600160a01b0380881682528616938101939093528201527fb5946f249f8744efe9d14d49a483b54a589b1362944ff6694de93456cceb96a39060600160405180910390a1506114496001600055565b611d61612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611dab573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611dd39190810190613f63565b602001519050611de28161292e565b6114498161296e565b611df3612811565b600e5460405163068bcd8d60e01b8152600481018390526000916001600160a01b03169063068bcd8d90602401600060405180830381865afa158015611e3d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e659190810190613f63565b602001519050611e748161292e565b611e8e6001600160a01b03821663f1801e6160e01b612f18565b1561144957611449816129c8565b611ea9816020015161292e565b611eb781610100015161292e565b8051611ec29061292e565b611ecf8160a0015161292e565b611edd81610180015161292e565b606081015115611ef457611ef48160c0015161292e565b8051600e80546001600160a01b039283166001600160a01b0319918216179091556020830151600c80549190931691161790556040810151600003611f65576040517fc70d18aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604081015160035560608101516004556101408101516002805460ff1916911515919091179055610120810151600f90611f9f908261410d565b50610160810151601090611fb3908261410d565b5060a0810151600780546001600160a01b03199081166001600160a01b039384161790915560c0830151600680548316918416919091179055610100830151600d8054831682851617905561018084015160088054909316931692909217905561203e907fbc6bbe35ebc64943402c04d2ae016d7bd2bba28e1a11cf66be743c9bd74c720b90612be6565b600e60009054906101000a90046001600160a01b03166001600160a01b0316635ab1bd536040518163ffffffff1660e01b8152600401602060405180830381865afa158015612091573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b59190613ed1565b600b80546001600160a01b0319166001600160a01b03928316179055600d54604080517fa0e67e2b0000000000000000000000000000000000000000000000000000000081529051600093929092169163a0e67e2b9160048082019286929091908290030181865afa15801561212f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261215791908101906141cd565b90506000815160026121699190613ebe565b67ffffffffffffffff8111156121815761218161388c565b6040519080825280602002602001820160405280156121aa578160200160208202803683370190505b50905060005b825181101561220f578281815181106121cb576121cb613eee565b60200260200101518282815181106121e5576121e5613eee565b6001600160a01b03909216602092830291909101909101528061220781613f04565b9150506121b0565b50600d5481516001600160a01b0390911690829061222f90600190613f1d565b8151811061223f5761223f613eee565b60200260200101906001600160a01b031690816001600160a01b03168152505030816002835161226f9190613f1d565b8151811061227f5761227f613eee565b6001600160a01b039283166020918202929092010152600b54608085015160e08601516040517f3a92f65f0000000000000000000000000000000000000000000000000000000081529290931692633a92f65f926122e79291600f913090889060040161435f565b6020604051808303816000875af1158015612306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232a9190613e83565b60055580516123409060169060208401906136e9565b507f2f2ffcb06f8a1d35e2716f6b43ef2c19bfa76467d8f66964ae12c2583ed03205600554600f8560e0015160405161237b939291906143ad565b60405180910390a1505050565b60085460098054600092839283926123b7926001600160a01b031691846123ae83613f04565b9190505561305d565b90506123c58187878761262c565b9250925050935093915050565b600a546001600160a01b03163314612416576040517febcd0d6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113ba6130b1565b6010805461242b90614085565b80601f016020809104026020016040519081016040528092919081815260200182805461245790614085565b80156124a45780601f10612479576101008083540402835291602001916124a4565b820191906000526020600020905b81548152906001019060200180831161248757829003601f168201915b505050505081565b6124b4612c6d565b336124be81612879565b6124c781612f3b565b6001600160a01b0380821660008181526013602090815260408083208151606081018352815496871681526001820180548286015260028301805460ff81161515848701529787526001600160a01b03199098169092559084905560ff1990941690945560149052918220909161253e919061374e565b600c54602082015160405163a9059cbb60e01b81526001600160a01b038581166004830152602482019290925291169063a9059cbb906044016020604051808303816000875af1158015612596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ba9190613f46565b50602080820151604080516001600160a01b0386168152928301919091527fa13f4668aacb68c4e9eed8e3f6e1cbec3eca776896ec46b5eabcc3983fc8f5f4910160405180910390a150506113ba6001600055565b61261c612710600a613e39565b81565b600f805461242b90614085565b60008073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b038616156126565750845b869150600060168054806020026020016040519081016040528092919081815260200182805480156126b157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612693575b5050600e546005546040519596506001600160a01b039091169463e1007d4a94509092508791506126e6908b906020016143f6565b6040516020818303038152906040528660008b886040518863ffffffff1660e01b815260040161271c979695949392919061449f565b6020604051808303816000875af115801561273b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061275f9190613e83565b93507f778cac0ae0b66477341553a4a89398c61ccf448313d3354ad0ca85a5a825d2838484308a8960405161279895949392919061450b565b60405180910390a1505094509492505050565b600082815260016020819052604090912001546127c781612bdc565b610f758383612e36565b6001600160a01b03811660009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604081205460ff16610902565b3360009081527fb5ecf5ecfeba8b6e20c37ad4ed6024e3afbcd2e706bee2e266a62cb37e60342c602052604090205460ff166113ba576040517ff62651fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038082166000908152601360209081526040918290208251606081018452815490941684526001810154918401919091526002015460ff1615159101819052610d0a57604051636a5cfb6d60e01b815260040160405180910390fd5b6001600160a01b03811660009081526011602052604090205460ff16610d0a576040517f46c26e4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116610d0a576040517fe622e04000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6129778161292e565b6001600160a01b038116600081815260116020908152604091829020805460ff1916905590519182527f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea49101610987565b6001600160a01b03811660009081526011602052604090205460ff1615612a1b576040517f968a4d2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815260116020908152604091829020805460ff1916600117905590519182527f3f008fd510eae7a9e7bee13513d7b83bef8003d488b5a3d0b0da4de71d6846f19101610987565b806001600160a01b0316826001600160a01b031614611449576040517fbbe7961100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166000908152601460205260408120905b8154811015612bd657826001600160a01b0316828281548110612af957612af9613eee565b6000918252602090912001546001600160a01b031603612bc45781548290612b2390600190613f1d565b81548110612b3357612b33613eee565b9060005260206000200160009054906101000a90046001600160a01b0316828281548110612b6357612b63613eee565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480612ba157612ba1613f30565b600082815260209020810160001990810180546001600160a01b03191690550190555b80612bce81613f04565b915050612ad4565b50505050565b610d0a813361310c565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b600260005403612cbf5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401611436565b6002600055565b6114498282604051602401612cdc929190614545565b60408051601f198184030181529190526020810180516001600160e01b03167f319af33300000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b0380851660248301528316604482015260648101829052612bd69085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526131a2565b6114498282604051602401612dbe929190614570565b60408051601f198184030181529190526020810180516001600160e01b03167f9710a9d000000000000000000000000000000000000000000000000000000000179052613181565b6040516001600160a01b038316602482015260448101829052610f7590849063a9059cbb60e01b90606401612d71565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff16156114495760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b33600090815260136020908152604091829020825160608101845281546001600160a01b031681526001820154928101929092526002015460ff16151591018190526113ba57604051636a5cfb6d60e01b815260040160405180910390fd5b6000612f238361328a565b8015612f345750612f3483836132bd565b9392505050565b6001600160a01b038116600090815260146020908152604080832080548251818502810185019093528083529192909190830182828015612fa557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612f87575b5050505050905060005b8151811015610f7557818181518110612fca57612fca613eee565b60209081029190910101516040517f6453d9c40000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015290911690636453d9c490602401600060405180830381600087803b15801561303257600080fd5b505af1158015613046573d6000803e3d6000fd5b50505050808061305590613f04565b915050612faf565b6040516bffffffffffffffffffffffff193360601b1660208201526034810182905260009081906054016040516020818303038152906040528051906020012090506130a98482613346565b949350505050565b600a8054600d80546001600160a01b0383166001600160a01b031991821617909155169055604051600081527fad0399dc40331b9a4977aa89da7a164a3fd482c65e6da73b25a94ea74fb688729060200160405180910390a1565b60008281526001602090815260408083206001600160a01b038516845290915290205460ff166114495761313f816133e3565b61314a8360206133f5565b60405160200161315b929190614592565b60408051601f198184030181529082905262461bcd60e51b825261143691600401613d9a565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60006131f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135d69092919063ffffffff16565b90508051600014806132185750808060200190518101906132189190613f46565b610f755760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611436565b600061329d826301ffc9a760e01b6132bd565b801561090257506132b6826001600160e01b03196132bd565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561332f575060208210155b801561333b5750600081115b979650505050505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b0381166109025760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c65640000000000000000006044820152606401611436565b60606109026001600160a01b03831660145b60606000613404836002613e39565b61340f906002613ebe565b67ffffffffffffffff8111156134275761342761388c565b6040519080825280601f01601f191660200182016040528015613451576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061348857613488613eee565b60200101906001600160f81b031916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106134d3576134d3613eee565b60200101906001600160f81b031916908160001a90535060006134f7846002613e39565b613502906001613ebe565b90505b6001811115613587577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061354357613543613eee565b1a60f81b82828151811061355957613559613eee565b60200101906001600160f81b031916908160001a90535060049490941c9361358081614613565b9050613505565b508315612f345760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611436565b60606130a9848460008585600080866001600160a01b031685876040516135fd919061462a565b60006040518083038185875af1925050503d806000811461363a576040519150601f19603f3d011682016040523d82523d6000602084013e61363f565b606091505b509150915061333b87838387606083156136ba5782516000036136b3576001600160a01b0385163b6136b35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611436565b50816130a9565b6130a983838151156136cf5781518083602001fd5b8060405162461bcd60e51b81526004016114369190613d9a565b82805482825590600052602060002090810192821561373e579160200282015b8281111561373e57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613709565b5061374a929150613768565b5090565b5080546000825590600052602060002090810190610d0a91905b5b8082111561374a5760008155600101613769565b60006020828403121561378f57600080fd5b81356001600160e01b031981168114612f3457600080fd5b6000602082840312156137b957600080fd5b5035919050565b6001600160a01b0381168114610d0a57600080fd5b80356137e0816137c0565b919050565b600080604083850312156137f857600080fd5b8235613803816137c0565b91506020830135613813816137c0565b809150509250929050565b60006020828403121561383057600080fd5b8135612f34816137c0565b6000806040838503121561384e57600080fd5b8235613859816137c0565b946020939093013593505050565b6000806040838503121561387a57600080fd5b823591506020830135613813816137c0565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156138c5576138c561388c565b60405290565b6040516101a0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051610120810167ffffffffffffffff811182821017156138c5576138c561388c565b60405160c0810167ffffffffffffffff811182821017156138c5576138c561388c565b604051601f8201601f1916810167ffffffffffffffff8111828210171561395f5761395f61388c565b604052919050565b600067ffffffffffffffff8211156139815761398161388c565b50601f01601f191660200190565b600082601f8301126139a057600080fd5b81356139b36139ae82613967565b613936565b8181528460208386010111156139c857600080fd5b816020850160208301376000918101602001919091529392505050565b6000604082840312156139f757600080fd5b6139ff6138a2565b905081358152602082013567ffffffffffffffff811115613a1f57600080fd5b613a2b8482850161398f565b60208301525092915050565b8015158114610d0a57600080fd5b80356137e081613a37565b600060208284031215613a6257600080fd5b813567ffffffffffffffff80821115613a7a57600080fd5b908301906101a08286031215613a8f57600080fd5b613a976138cb565b613aa0836137d5565b8152613aae602084016137d5565b6020820152604083013560408201526060830135606082015260808301356080820152613add60a084016137d5565b60a0820152613aee60c084016137d5565b60c082015260e083013582811115613b0557600080fd5b613b11878286016139e5565b60e083015250610100613b258185016137d5565b908201526101208381013583811115613b3d57600080fd5b613b498882870161398f565b828401525050610140613b5d818501613a45565b908201526101608381013583811115613b7557600080fd5b613b818882870161398f565b8284015250506101809150613b978284016137d5565b91810191909152949350505050565b8035600381106137e057600080fd5b60048110610d0a57600080fd5b80356137e081613bb5565b600060208284031215613bdf57600080fd5b6040516020810181811067ffffffffffffffff82111715613c0257613c0261388c565b6040529135825250919050565b600060408284031215613c2157600080fd5b613c296138a2565b90508135613c36816137c0565b808252506020820135602082015292915050565b60006101408284031215613c5d57600080fd5b613c656138ef565b9050613c70826137d5565b815260208201356020820152604082013560408201526060820135606082015260808201356080820152613ca660a08301613ba6565b60a0820152613cb760c08301613bc2565b60c0820152613cc98360e08401613bcd565b60e0820152610100613cdd84828501613c0f565b9082015292915050565b60008060006101808486031215613cfd57600080fd5b8335613d08816137c0565b9250613d178560208601613c4a565b915061016084013567ffffffffffffffff811115613d3457600080fd5b613d40868287016139e5565b9150509250925092565b60005b83811015613d65578181015183820152602001613d4d565b50506000910152565b60008151808452613d86816020860160208601613d4a565b601f01601f19169290920160200192915050565b602081526000612f346020830184613d6e565b6000806000806101a08587031215613dc457600080fd5b8435613dcf816137c0565b93506020850135613ddf816137c0565b9250613dee8660408701613c4a565b915061018085013567ffffffffffffffff811115613e0b57600080fd5b613e17878288016139e5565b91505092959194509250565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761090257610902613e23565b634e487b7160e01b600052602160045260246000fd5b600060208284031215613e7857600080fd5b8151612f3481613bb5565b600060208284031215613e9557600080fd5b5051919050565b600082613eb957634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561090257610902613e23565b600060208284031215613ee357600080fd5b8151612f34816137c0565b634e487b7160e01b600052603260045260246000fd5b600060018201613f1657613f16613e23565b5060010190565b8181038181111561090257610902613e23565b634e487b7160e01b600052603160045260246000fd5b600060208284031215613f5857600080fd5b8151612f3481613a37565b60006020808385031215613f7657600080fd5b825167ffffffffffffffff80821115613f8e57600080fd5b9084019060c08287031215613fa257600080fd5b613faa613913565b8251815283830151613fbb816137c0565b818501526040830151613fcd816137c0565b6040820152606083015182811115613fe457600080fd5b830160408189031215613ff657600080fd5b613ffe6138a2565b81518152858201518481111561401357600080fd5b82019350601f8401891361402657600080fd5b835191506140366139ae83613967565b828152898784870101111561404a57600080fd5b61405983888301898801613d4a565b95810195909552506060810193909352506080818101519083015260a090810151908201529392505050565b600181811c9082168061409957607f821691505b6020821081036140b957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f7557600081815260208120601f850160051c810160208610156140e65750805b601f850160051c820191505b81811015614105578281556001016140f2565b505050505050565b815167ffffffffffffffff8111156141275761412761388c565b61413b816141358454614085565b846140bf565b602080601f83116001811461417057600084156141585750858301515b600019600386901b1c1916600185901b178555614105565b600085815260208120601f198616915b8281101561419f57888601518255948401946001909101908401614180565b50858210156141bd5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083850312156141e057600080fd5b825167ffffffffffffffff808211156141f857600080fd5b818501915085601f83011261420c57600080fd5b81518181111561421e5761421e61388c565b8060051b915061422f848301613936565b818152918301840191848101908884111561424957600080fd5b938501935b838510156142735784519250614263836137c0565b828252938501939085019061424e565b98975050505050505050565b6000815461428c81614085565b8085526020600183811680156142a957600181146142c3576142f1565b60ff1985168884015283151560051b8801830195506142f1565b866000528260002060005b858110156142e95781548a82018601529083019084016142ce565b890184019650505b505050505092915050565b8051825260006020820151604060208501526130a96040850182613d6e565b600081518084526020808501945080840160005b838110156143545781516001600160a01b03168752958201959082019060010161432f565b509495945050505050565b85815260a06020820152600061437860a083018761427f565b828103604084015261438a81876142fc565b90506001600160a01b03851660608401528281036080840152614273818561431b565b8381526060602082015260006143c6606083018561427f565b82810360408401526143d881856142fc565b9695505050505050565b600481106143f2576143f2613e50565b9052565b6000610140820190506001600160a01b0383511682526020830151602083015260408301516040830152606083015160608301526080830151608083015260a08301516003811061444957614449613e50565b8060a08401525060c083015161446260c08401826143e2565b5060e083015161447560e0840182519052565b506101008381015180516001600160a01b0316848301526020810151610120850152505092915050565b87815260006001600160a01b03808916602084015260e060408401526144c860e0840189613d6e565b818816606085015286608085015283810360a08501526144e881876142fc565b91505082810360c08401526144fd818561431b565b9a9950505050505050505050565b85815260006001600160a01b038087166020840152808616604084015280851660608401525060a0608083015261333b60a08301846142fc565b6040815260006145586040830185613d6e565b90506001600160a01b03831660208301529392505050565b6040815260006145836040830185613d6e565b90508260208301529392505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516145ca816017850160208801613d4a565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351614607816028840160208801613d4a565b01602801949350505050565b60008161462257614622613e23565b506000190190565b6000825161463c818460208701613d4a565b919091019291505056fe67617264656e73466163746f72792e67657447617264656e7346656552656365697665722829a2646970667358221220179aab44479af0092d18a8921dae73c9cfb66c6fe2e9f78b0ff1bab36f31093064736f6c63430008130033a26469706673582212202dba750bec4c1f5e955451c3464b7e8d6a8b5e031dd8bc68ae9f5313d3ffbceb64736f6c63430008130033","sourceMap":"202:2981:129:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2940:241;;;;;;:::i;:::-;;:::i;:::-;;;710:25:138;;;698:2;683:18;2940:241:129;;;;;;;;2592:200;;;;;;:::i;:::-;;:::i;:::-;;1824:101:27;;;:::i;2043:214:129:-;;;;;;:::i;:::-;;:::i;1519:518::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;5023:55:138;;;5005:74;;4993:2;4978:18;1519:518:129;4859:226:138;1201:85:27;1247:7;1273:6;-1:-1:-1;;;;;1273:6:27;1201:85;;2263:107:129;2345:18;;-1:-1:-1;;;;;2345:18:129;2263:107;;244:24;;;;;;2376:210;;;;;;:::i;:::-;;:::i;515:33::-;;;;;-1:-1:-1;;;;;515:33:129;;;2074:198:27;;;;;;:::i;:::-;;:::i;2798:136:129:-;;;;;;:::i;:::-;-1:-1:-1;;;;;2894:27:129;2871:4;2894:27;;;:15;:27;;;;;:33;;;;2798:136;;;;5671:14:138;;5664:22;5646:41;;5634:2;5619:18;2798:136:129;5506:187:138;2940:241:129;-1:-1:-1;;;;;3031:27:129;;3007:7;3031:27;;;:15;:27;;;;;:33;;;3026:100;;3087:28;;;;;-1:-1:-1;;;;;5023:55:138;;3087:28:129;;;5005:74:138;4978:18;;3087:28:129;;;;;;;;3026:100;-1:-1:-1;;;;;;3143:27:129;;;;;:15;:27;;;;;:31;;;;2940:241::o;2592:200::-;1094:13:27;:11;:13::i;:::-;-1:-1:-1;;;;;2684:27:129;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:44;;-1:-1:-1;;2684:44:129::1;::::0;::::1;;::::0;;::::1;::::0;;;2743:42;;5866:74:138;;;5956:18;;;5949:50;2743:42:129::1;::::0;5839:18:138;2743:42:129::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:129:-;1094:13:27;:11;:13::i;:::-;2123:35:129::1;2142:15;2123:18;:35::i;:::-;2168:18;:36:::0;;-1:-1:-1;;2168:36:129::1;-1:-1:-1::0;;;;;2168:36:129;::::1;::::0;;::::1;::::0;;;2219:31:::1;::::0;5005:74:138;;;2219:31:129::1;::::0;4993:2:138;4978:18;2219:31:129::1;;;;;;;2043:214:::0;:::o;1519:518::-;1625:31;1672:35;1710:23;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1759:5:129;:7;;1672:61;;-1:-1:-1;1759:5:129;:7;;;:::i;:::-;;;;-1:-1:-1;1743:13:129;;;:23;1810:4;1776:23;;;:39;1826:36;;;;;-1:-1:-1;;;;;1826:28:129;;;;;:36;;1743:6;;1826:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;1872:43:129;;;;;;:15;:43;;;;;;;;;:56;;-1:-1:-1;;1872:56:129;1924:4;1872:56;;;1943:44;;5005:74:138;;;1943:44:129;;4978:18:138;1943:44:129;;;;;;;2012:17;1519:518;-1:-1:-1;;1519:518:129:o;2376:210::-;1094:13:27;:11;:13::i;:::-;-1:-1:-1;;;;;2472:27:129;::::1;;::::0;;;:15:::1;:27;::::0;;;;;;;;:31:::1;;:49:::0;;;2536:43;;9044:74:138;;;9134:18;;9127:34;;;2536:43:129::1;::::0;9017:18:138;2536:43:129::1;8870:297:138::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:138;2154:73:27::1;::::0;::::1;9356:21:138::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:138::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:138;1414:68:27;;;9763:21:138;;;9800:18;;;9793:30;9859:34;9839:18;;;9832:62;9911:18;;1414:68:27;9579:356:138;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:129:-;-1:-1:-1;;;;;1454:22:129;;1450:56;;1485:21;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;:::o;14:154:138:-;-1:-1:-1;;;;;93:5:138;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:138: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:138;1216:2;1201:18;;1185:35;:::i;:::-;1175:45;;911:315;;;;;:::o;1231:184::-;-1:-1:-1;;;1280:1:138;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:138;;;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:138: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:138:o;6010:289::-;6049:3;6070:17;;;6067:197;;-1:-1:-1;;;6117:1:138;6110:88;6221:4;6218:1;6211:15;6249:4;6246:1;6239:15;6067:197;-1:-1:-1;6291:1:138;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:138: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:138;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:138;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:138;4781:67;;4727:127;7608:55;-1:-1:-1;7712:3:138;7700:16;;7694:23;-1:-1:-1;;;;;4793:54:138;;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:138;8091:54;8126:18;;;8038:22;-1:-1:-1;;;;;4793:54:138;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:138;4781:67;;4727:127;8782:54;-1:-1:-1;8853:6:138;;6989:1876;-1:-1:-1;;;;6989:1876:138: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/=lib/openzeppelin-contracts/\",\":@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/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\":\"0x3032ef966b217c359e29a9735604ee4e8e6529a9a0632369abdd7a7ae285dbd7\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://788c0a1deb7c53faedadc5efc152107ba22db81aaa9cffa1ba52d1427adfe2be\",\"dweb:/ipfs/QmQGANoMw4kb87y8JGCEgndo888YVDfRKMCepTJ2NVWUmY\"]},\"pkg/contracts/src/ISafe.sol\":{\"keccak256\":\"0x878a210809bb684c42157a10f3f90350a67d0a4863f130499942b06f0f2c9143\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://fa2d71bd427c3415e98a2ee15ff673f3cc61c17f14d7087c5eedc83b55f6b0ef\",\"dweb:/ipfs/QmesVSmJQQzi6ys1cvhQFCJyDXchb736mT5bXks4Yp6Cbj\"]},\"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/=lib/openzeppelin-contracts/","@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/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":"0x3032ef966b217c359e29a9735604ee4e8e6529a9a0632369abdd7a7ae285dbd7","urls":["bzz-raw://788c0a1deb7c53faedadc5efc152107ba22db81aaa9cffa1ba52d1427adfe2be","dweb:/ipfs/QmQGANoMw4kb87y8JGCEgndo888YVDfRKMCepTJ2NVWUmY"],"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/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":129} \ No newline at end of file diff --git a/pkg/contracts/script/DeployCV.s.sol b/pkg/contracts/script/DeployCV.s.sol index 25e72d787..5936fdd8d 100644 --- a/pkg/contracts/script/DeployCV.s.sol +++ b/pkg/contracts/script/DeployCV.s.sol @@ -60,8 +60,6 @@ contract DeployCV is Native, CVStrategyHelpers, Script, SafeSetup { sybilScorer = new PassportScorer(scorer_list_manager()); - sybilScorer.setThreshold(MINIMUM_SCORER_THRESHOLD); - registryFactory = new RegistryFactory(); console2.log("Registry Factory Addr: %s", address(registryFactory)); diff --git a/pkg/contracts/src/ISybilScorer.sol b/pkg/contracts/src/ISybilScorer.sol index 0198dacb8..72be8b6fa 100644 --- a/pkg/contracts/src/ISybilScorer.sol +++ b/pkg/contracts/src/ISybilScorer.sol @@ -10,5 +10,4 @@ interface ISybilScorer { function addUserScore(address _user, PassportData memory _passportData) external; function removeUser(address _user) external; function changeListManager(address _newManager) external; - function setThreshold(uint256 _newThreshold) external; } diff --git a/pkg/contracts/src/PassportScorer.sol b/pkg/contracts/src/PassportScorer.sol index da200826f..711dff4a2 100644 --- a/pkg/contracts/src/PassportScorer.sol +++ b/pkg/contracts/src/PassportScorer.sol @@ -1,14 +1,18 @@ // SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity ^0.8.19; -import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; +import {Ownable} from "openzeppelin-contracts/contracts/access/Ownable.sol"; import {ISybilScorer, PassportData} from "./ISybilScorer.sol"; contract PassportScorer is Ownable, ISybilScorer { address public listManager; uint256 public threshold; - mapping(address user => PassportData passportData) public userScores; + mapping(address => PassportData) public userScores; + + event UserScoreAdded(address user, uint256 score, uint256 lastUpdated); + event UserRemoved(address user); + event ListManagerChanged(address oldManager, address newManager); error OnlyAuthorized(); error ZeroAddress(); @@ -16,8 +20,9 @@ contract PassportScorer is Ownable, ISybilScorer { modifier onlyAuthorized() { if (msg.sender == owner() || msg.sender == listManager) { _; + } else { + revert OnlyAuthorized(); } - revert OnlyAuthorized(); } function _revertZeroAddress(address _address) private pure { @@ -34,20 +39,20 @@ contract PassportScorer is Ownable, ISybilScorer { function addUserScore(address _user, PassportData memory _passportData) external override onlyAuthorized { _revertZeroAddress(_user); userScores[_user] = _passportData; + emit UserScoreAdded(_user, _passportData.score, _passportData.lastUpdated); } function removeUser(address _user) external override onlyAuthorized { _revertZeroAddress(_user); delete userScores[_user]; + emit UserRemoved(_user); } function changeListManager(address _newManager) external override onlyOwner { _revertZeroAddress(_newManager); + address oldManager = listManager; listManager = _newManager; - } - - function setThreshold(uint256 _newThreshold) external override onlyOwner { - threshold = _newThreshold; + emit ListManagerChanged(oldManager, _newManager); } function getUserScore(address _user) external view returns (PassportData memory) { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8c1ee9680..07f715d55 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,6 +17,9 @@ importers: prettier: specifier: latest version: 3.2.5 + prettier-plugin-solidity: + specifier: ^1.3.1 + version: 1.3.1(prettier@3.2.5) turbo: specifier: ^1.7.4 version: 1.11.3 @@ -257,7 +260,7 @@ importers: version: 2.29.1(@typescript-eslint/parser@6.18.2-alpha.2)(eslint-import-resolver-typescript@2.7.1)(eslint@8.56.0) eslint-plugin-prettier: specifier: ^5.0.1 - version: 5.1.3(eslint-config-prettier@8.10.0)(eslint@8.56.0)(prettier@3.2.5) + version: 5.1.3(eslint-config-prettier@8.10.0)(eslint@8.56.0)(prettier@3.3.2) eslint-plugin-react: specifier: ^7.33.2 version: 7.33.2(eslint@8.56.0) @@ -5513,6 +5516,10 @@ packages: dependencies: '@sinonjs/commons': 3.0.1 + /@solidity-parser/parser@0.17.0: + resolution: {integrity: sha512-Nko8R0/kUo391jsEHHxrGM07QFdnPGvlmox4rmH0kNiNAashItAilhy4Mv4pK5gQmW5f4sXAF58fwJbmlkGcVw==} + dev: true + /@stablelib/aead@1.0.1: resolution: {integrity: sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg==} @@ -9249,7 +9256,7 @@ packages: synckit: 0.8.8 dev: true - /eslint-plugin-prettier@5.1.3(eslint-config-prettier@8.10.0)(eslint@8.56.0)(prettier@3.2.5): + /eslint-plugin-prettier@5.1.3(eslint-config-prettier@8.10.0)(eslint@8.56.0)(prettier@3.3.2): resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -9265,7 +9272,7 @@ packages: dependencies: eslint: 8.56.0 eslint-config-prettier: 8.10.0(eslint@8.56.0) - prettier: 3.2.5 + prettier: 3.3.2 prettier-linter-helpers: 1.0.0 synckit: 0.8.8 dev: true @@ -13319,6 +13326,18 @@ packages: fast-diff: 1.3.0 dev: true + /prettier-plugin-solidity@1.3.1(prettier@3.2.5): + resolution: {integrity: sha512-MN4OP5I2gHAzHZG1wcuJl0FsLS3c4Cc5494bbg+6oQWBPuEamjwDvmGfFMZ6NFzsh3Efd9UUxeT7ImgjNH4ozA==} + engines: {node: '>=16'} + peerDependencies: + prettier: '>=2.3.0' + dependencies: + '@solidity-parser/parser': 0.17.0 + prettier: 3.2.5 + semver: 7.6.0 + solidity-comments-extractor: 0.0.8 + dev: true + /prettier-plugin-tailwindcss@0.5.11(@ianvs/prettier-plugin-sort-imports@4.1.1)(prettier@3.2.4): resolution: {integrity: sha512-AvI/DNyMctyyxGOjyePgi/gqj5hJYClZ1avtQvLlqMT3uDZkRbi4HhGUpok3DRzv9z7Lti85Kdj3s3/1CeNI0w==} engines: {node: '>=14.21.3'} @@ -13396,6 +13415,12 @@ packages: hasBin: true dev: true + /prettier@3.3.2: + resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==} + engines: {node: '>=14'} + hasBin: true + dev: true + /pretty-format@26.6.2: resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==} engines: {node: '>= 10'} @@ -14026,6 +14051,7 @@ packages: /rimraf@2.6.3: resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true dependencies: glob: 7.2.3 @@ -14353,6 +14379,10 @@ packages: tslib: 2.6.2 dev: true + /solidity-comments-extractor@0.0.8: + resolution: {integrity: sha512-htM7Vn6LhHreR+EglVMd2s+sZhcXAirB1Zlyrv5zBuTxieCvjfnRpd7iZk75m/u6NOlEyQ94C6TWbBn2cY7w8g==} + dev: true + /sonic-boom@2.8.0: resolution: {integrity: sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==} dependencies: diff --git a/remappings.txt b/remappings.txt index 5397884b0..c3e121938 100644 --- a/remappings.txt +++ b/remappings.txt @@ -1,6 +1,33 @@ -ds-test/=lib/forge-std/lib/ds-test/src/ +@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/ \ No newline at end of file +allo-v2-test/=lib/allo-v2/test/