0xbA58575c8069989657ae139152c08283B171A463
on Celo Alfajores Testnet (44787)
Exact Match
Runtime Bytecode
Creation Bytecode
- Contract Name
- Manager
- Compilation Target
- contracts/Manager.sol:Manager
- Language
- Solidity
- Compiler
- solc 0.8.11+commit.d7f03943
- EVM Version
- istanbul
- Verified At
- 2025-02-05 01:02:16 UTC
- Deployer
- 0x5bC1C4C1D67C5E4384189302BC653A611568a788
- Deployment Transaction
- 0xbeaf0520f1b9c81218200b57569759cf908ae96066763fba3fed05ee937014cf
- Block Number
- 37662858
- Transaction Index
- 1
ABI
Expand to view
Source Code
- @openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol
- @openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol
- @openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol
- @openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol
- @openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol
- @openzeppelin/contracts/proxy/beacon/IBeacon.sol
- @openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol
- @openzeppelin/contracts/utils/Address.sol
- @openzeppelin/contracts/utils/StorageSlot.sol
- @openzeppelin/contracts/utils/math/Math.sol
- @openzeppelin/contracts/utils/structs/EnumerableSet.sol
- contracts/Manager.sol
- contracts/Pausable.sol
- contracts/common/Errors.sol
- contracts/common/UUPSOwnableUpgradeable.sol
- contracts/common/UsingRegistryUpgradeable.sol
- contracts/interfaces/IAccount.sol
- contracts/interfaces/IAccounts.sol
- contracts/interfaces/IDefaultStrategy.sol
- contracts/interfaces/IElection.sol
- contracts/interfaces/IGoldToken.sol
- contracts/interfaces/IGovernance.sol
- contracts/interfaces/IGroupHealth.sol
- contracts/interfaces/ILockedGold.sol
- contracts/interfaces/IPausable.sol
- contracts/interfaces/IRegistry.sol
- contracts/interfaces/ISpecificGroupStrategy.sol
- contracts/interfaces/IStakedCelo.sol
- contracts/interfaces/IValidators.sol
- contracts/interfaces/IVote.sol
Loading...
Compiler Settings
Loading...
Contract Metadata
Loading...
Creation Bytecode
On-chain & Recompiled Bytecode
0x60a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff168152503480156200004457600080fd5b50600060019054906101000a900460ff166200006f5760008054906101000a900460ff161562000080565b6200007f6200013c60201b60201c565b5b620000c2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000b99062000204565b60405180910390fd5b60008060019054906101000a900460ff16159050801562000113576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b8015620001355760008060016101000a81548160ff0219169083151502179055505b5062000226565b600062000154306200015a60201b6200370b1760201c565b15905090565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082825260208201905092915050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b6000620001ec602e836200017d565b9150620001f9826200018e565b604082019050919050565b600060208201905081810360008301526200021f81620001dd565b9050919050565b6080516164b162000257600039600081816112b101528181611340015281816119ac0152611a3b01526164b16000f3fe6080604052600436106102255760003560e01c80637c0d530f11610123578063b187bd26116100ab578063cf009f7a1161006f578063cf009f7a146107be578063d0e30db0146107e9578063ee183c4a146107f3578063f2fde38b1461081e578063fac5bb9b1461084757610225565b8063b187bd26146106db578063bc4d3bb314610706578063beabacc81461072f578063c494ec1e14610758578063ce7a60ab1461079557610225565b80639468ba0e116100f25780639468ba0e146105f35780639fd0506d1461061e578063a0fefe2514610649578063a3f16ef114610687578063b0ef81de146106b257610225565b80637c0d530f146105715780637e72dd66146105885780638456cb59146105b15780638da5cb5b146105c857610225565b80633f4ba83a116101b157806354255be01161017557806354255be0146104af5780636fe958d8146104dd578063715018a6146105065780637a9024bd1461051d5780637b1039991461054657610225565b80633f4ba83a146103d9578063485cc955146103f057806348fd6ea6146104195780634e4e5efb146104565780634f1ef2861461049357610225565b80632e1a7d4d116101f85780632e1a7d4d146102f65780633659cfe61461031f57806339ebf823146103485780633cbf5872146103855780633cef9f64146103b057610225565b80630567847f1461022a5780630c4d4e4014610267578063114e6b37146102905780632c431058146102b9575b600080fd5b34801561023657600080fd5b50610251600480360381019061024c9190614b26565b610872565b60405161025e9190614b62565b60405180910390f35b34801561027357600080fd5b5061028e60048036038101906102899190614c38565b6109dc565b005b34801561029c57600080fd5b506102b760048036038101906102b29190614d7f565b610b6f565b005b3480156102c557600080fd5b506102e060048036038101906102db9190614e0c565b610f36565b6040516102ed9190614b62565b60405180910390f35b34801561030257600080fd5b5061031d60048036038101906103189190614b26565b6110d9565b005b34801561032b57600080fd5b5061034660048036038101906103419190614e0c565b6112af565b005b34801561035457600080fd5b5061036f600480360381019061036a9190614e0c565b611438565b60405161037c9190614e48565b60405180910390f35b34801561039157600080fd5b5061039a61146b565b6040516103a79190614e7c565b60405180910390f35b3480156103bc57600080fd5b506103d760048036038101906103d29190614e97565b6114a1565b005b3480156103e557600080fd5b506103ee61152b565b005b3480156103fc57600080fd5b5061041760048036038101906104129190614e97565b6115cf565b005b34801561042557600080fd5b50610440600480360381019061043b9190614e0c565b6116c7565b60405161044d9190614b62565b60405180910390f35b34801561046257600080fd5b5061047d60048036038101906104789190614e0c565b6117b3565b60405161048a9190614e48565b60405180910390f35b6104ad60048036038101906104a89190615018565b6119aa565b005b3480156104bb57600080fd5b506104c4611ae7565b6040516104d49493929190615074565b60405180910390f35b3480156104e957600080fd5b5061050460048036038101906104ff9190614e97565b611b03565b005b34801561051257600080fd5b5061051b611e0a565b005b34801561052957600080fd5b50610544600480360381019061053f9190614e0c565b611e92565b005b34801561055257600080fd5b5061055b612099565b6040516105689190615118565b60405180910390f35b34801561057d57600080fd5b506105866120bf565b005b34801561059457600080fd5b506105af60048036038101906105aa9190614e97565b61214d565b005b3480156105bd57600080fd5b506105c6612557565b005b3480156105d457600080fd5b506105dd6125fb565b6040516105ea9190614e48565b60405180910390f35b3480156105ff57600080fd5b50610608612625565b6040516106159190614e7c565b60405180910390f35b34801561062a57600080fd5b5061063361265b565b6040516106409190614e48565b60405180910390f35b34801561065557600080fd5b50610670600480360381019061066b9190614e0c565b6126a1565b60405161067e929190615133565b60405180910390f35b34801561069357600080fd5b5061069c612c46565b6040516106a9919061517d565b60405180910390f35b3480156106be57600080fd5b506106d960048036038101906106d49190615198565b612c6c565b005b3480156106e757600080fd5b506106f0612df8565b6040516106fd91906151f3565b60405180910390f35b34801561071257600080fd5b5061072d6004803603810190610728919061520e565b612e3e565b005b34801561073b57600080fd5b5061075660048036038101906107519190615289565b613066565b005b34801561076457600080fd5b5061077f600480360381019061077a9190614b26565b6131c6565b60405161078c9190614b62565b60405180910390f35b3480156107a157600080fd5b506107bc60048036038101906107b79190614e0c565b613330565b005b3480156107ca57600080fd5b506107d36133c0565b6040516107e091906152fd565b60405180910390f35b6107f16133e6565b005b3480156107ff57600080fd5b506108086135c7565b6040516108159190614e48565b60405180910390f35b34801561082a57600080fd5b5061084560048036038101906108409190614e0c565b6135ed565b005b34801561085357600080fd5b5061085c6136e5565b6040516108699190615339565b60405180910390f35b600080606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109069190615369565b90506000606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166301d2b6ea6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610977573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099b9190615369565b905060008214806109ac5750600081145b156109bb5783925050506109d7565b8181856109c891906153c5565b6109d2919061544e565b925050505b919050565b3373ffffffffffffffffffffffffffffffffffffffff16606f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614158015610a8857503373ffffffffffffffffffffffffffffffffffffffff16606e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b15610aca57336040517ff7eb25ef000000000000000000000000000000000000000000000000000000008152600401610ac19190614e48565b60405180910390fd5b606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f380ade3898987878b8b89896040518963ffffffff1660e01b8152600401610b339897969594939291906155b4565b600060405180830381600087803b158015610b4d57600080fd5b505af1158015610b61573d6000803e3d6000fd5b505050505050505050505050565b610b7761372e565b73ffffffffffffffffffffffffffffffffffffffff16610b956125fb565b73ffffffffffffffffffffffffffffffffffffffff1614610beb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be29061567a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161480610c525750600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b80610c895750600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80610cc05750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80610cf75750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80610d2e5750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b15610d65576040517f0855380c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b85606660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084606760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083606c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082606d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081606e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080606f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff167f77001ab3bb5b4e91a2a4021cec272d6505154d5ff1fb2e8426752b15bd8ef16d60405160405180910390a2505050505050565b600080610f4283613736565b90506000811415610f575760009150506110d4565b6000610f6161386a565b73ffffffffffffffffffffffffffffffffffffffff16633861727285606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401610fbd92919061569a565b602060405180830381865afa158015610fda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffe9190615369565b90506000606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663acd201d0866040518263ffffffff1660e01b815260040161105d9190614e48565b602060405180830381865afa15801561107a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109e9190615369565b905081836110ac91906156c3565b9250808310156110c257600093505050506110d4565b80836110ce9190615719565b93505050505b919050565b6110e1612df8565b15611118576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008061118683607060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000613931565b91509150606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632f842a1a3384846040518463ffffffff1660e01b81526004016111e993929190615880565b600060405180830381600087803b15801561120357600080fd5b505af1158015611217573d6000803e3d6000fd5b50505050606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac33856040518363ffffffff1660e01b81526004016112789291906158c5565b600060405180830381600087803b15801561129257600080fd5b505af11580156112a6573d6000803e3d6000fd5b50505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16141561133e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133590615960565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1661137d613b26565b73ffffffffffffffffffffffffffffffffffffffff16146113d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ca906159f2565b60405180910390fd5b6113dc81613b7d565b61143581600067ffffffffffffffff8111156113fb576113fa614eed565b5b6040519080825280601f01601f19166020018201604052801561142d5781602001600182028036833780820191505090505b506000613bfc565b50565b60706020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60017f8f989356aeb576065c8d201815b96ac9c10cf89197a532e428ebd68581557c2360001c61149b9190615719565b60001b81565b6114a961372e565b73ffffffffffffffffffffffffffffffffffffffff166114c76125fb565b73ffffffffffffffffffffffffffffffffffffffff161461151d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115149061567a565b60405180910390fd5b6115278282613dcd565b5050565b61153361265b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611597576040517f75df51dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115a1600061404c565b7f0e5e3b3fb504c22cf5c42fa07d521225937514c654007e1f12646f89768d6f9460405160405180910390a1565b600060019054906101000a900460ff166115f75760008054906101000a900460ff1615611600565b6115ff61408a565b5b61163f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163690615a84565b60405180910390fd5b60008060019054906101000a900460ff16159050801561168f576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b6116988261409b565b6116a183614161565b80156116c25760008060016101000a81548160ff0219169083151502179055505b505050565b60006116d1612df8565b15611708576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000606c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166348fd6ea6846040518263ffffffff1660e01b81526004016117689190614e48565b6020604051808303816000875af1158015611787573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ab9190615369565b915050919050565b600080607060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156119915750606e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cc222f8d826040518263ffffffff1660e01b81526004016118ab9190614e48565b602060405180830381865afa1580156118c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ec9190615ad0565b806119905750606d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ac8f4425826040518263ffffffff1660e01b815260040161194d9190614e48565b602060405180830381865afa15801561196a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061198e9190615ad0565b155b5b156119a05760009150506119a5565b809150505b919050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415611a39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3090615960565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16611a78613b26565b73ffffffffffffffffffffffffffffffffffffffff1614611ace576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac5906159f2565b60405180910390fd5b611ad782613b7d565b611ae382826001613bfc565b5050565b6000806000806001600360016000935093509350935090919293565b611b0b612df8565b15611b42576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639f8a13d7826040518263ffffffff1660e01b8152600401611b9d9190614e48565b602060405180830381865afa158015611bba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bde9190615ad0565b158015611c835750606e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cc222f8d826040518263ffffffff1660e01b8152600401611c419190614e48565b602060405180830381865afa158015611c5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c829190615ad0565b5b15611cc557806040517f5a081584000000000000000000000000000000000000000000000000000000008152600401611cbc9190614e48565b60405180910390fd5b600080611cd1846126a1565b91509150818111611d1d578381836040517f2c4f8ec8000000000000000000000000000000000000000000000000000000008152600401611d1493929190615afd565b60405180910390fd5b600080611d29856126a1565b91509150818110611d75578481836040517fb0006ace000000000000000000000000000000000000000000000000000000008152600401611d6c93929190615afd565b60405180910390fd5b6000611d8086610f36565b90506000811415611dc857856040517fb9183a08000000000000000000000000000000000000000000000000000000008152600401611dbf9190614e48565b60405180910390fd5b6000611df3611ded8787611ddc9190615719565b8587611de89190615719565b614272565b83614272565b9050611e0088888361428b565b5050505050505050565b611e1261372e565b73ffffffffffffffffffffffffffffffffffffffff16611e306125fb565b73ffffffffffffffffffffffffffffffffffffffff1614611e86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7d9061567a565b60405180910390fd5b611e90600061409b565b565b611e9a612df8565b15611ed1576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561204a5750606e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cc222f8d826040518263ffffffff1660e01b8152600401611f649190614e48565b602060405180830381865afa158015611f81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fa59190615ad0565b806120495750606d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ac8f4425826040518263ffffffff1660e01b81526004016120069190614e48565b602060405180830381865afa158015612023573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120479190615ad0565b155b5b1561208c57806040517f10a7bc6b0000000000000000000000000000000000000000000000000000000081526004016120839190614e48565b60405180910390fd5b6120963382613dcd565b50565b606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6120c761372e565b73ffffffffffffffffffffffffffffffffffffffff166120e56125fb565b73ffffffffffffffffffffffffffffffffffffffff161461213b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121329061567a565b60405180910390fd5b61214b6121466125fb565b61455a565b565b612155612df8565b1561218c576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639f8a13d7826040518263ffffffff1660e01b81526004016121e79190614e48565b602060405180830381865afa158015612204573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122289190615ad0565b61226957806040517f5a0815840000000000000000000000000000000000000000000000000000000081526004016122609190614e48565b60405180910390fd5b600061227483613736565b90506000606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b09bdc5e856040518263ffffffff1660e01b81526004016122d39190614e48565b602060405180830381865afa1580156122f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123149190615369565b606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166322e59bd4866040518263ffffffff1660e01b815260040161236f9190614e48565b602060405180830381865afa15801561238c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123b09190615369565b6123ba91906156c3565b90506000606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635fd5c95e866040518263ffffffff1660e01b81526004016124199190614e48565b602060405180830381865afa158015612436573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061245a9190615369565b9050600082821161246c576000612479565b82826124789190615719565b5b9050600084821161248b576000612498565b84826124979190615719565b5b905060008114156124e057866040517f1eeadf530000000000000000000000000000000000000000000000000000000081526004016124d79190614e48565b60405180910390fd5b60006124eb87610f36565b9050600081141561253357866040517fb9183a0800000000000000000000000000000000000000000000000000000000815260040161252a9190614e48565b60405180910390fd5b600061253f8383614272565b905061254c89898361428b565b505050505050505050565b61255f61265b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125c3576040517f75df51dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6125cd600161404c565b7fab35696f06e428ebc5ceba8cd17f8fed287baf43440206d1943af1ee53e6d26760405160405180910390a1565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60017f29f060ba1cf8d3659516b02281c85dcc3e81b4287766ae4751c0f500688be30f60001c6126559190615719565b60001b81565b600080600060017f29f060ba1cf8d3659516b02281c85dcc3e81b4287766ae4751c0f500688be30f60001c6126909190615719565b60001b905080549150819250505090565b6000806000606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635fd5c95e856040518263ffffffff1660e01b81526004016127019190614e48565b602060405180830381865afa15801561271e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127429190615369565b606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f8171927866040518263ffffffff1660e01b815260040161279d9190614e48565b602060405180830381865afa1580156127ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127de9190615369565b6127e891906156c3565b90506000606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b09bdc5e866040518263ffffffff1660e01b81526004016128479190614e48565b602060405180830381865afa158015612864573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128889190615369565b606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166322e59bd4876040518263ffffffff1660e01b81526004016128e39190614e48565b602060405180830381865afa158015612900573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129249190615369565b61292e91906156c3565b9050818111156129515781816129449190615719565b6000935093505050612c41565b808261295d9190615719565b92506000606e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cc222f8d876040518263ffffffff1660e01b81526004016129bc9190614e48565b602060405180830381865afa1580156129d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129fd9190615ad0565b1590506000606f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639f8a13d7886040518263ffffffff1660e01b8152600401612a5d9190614e48565b602060405180830381865afa158015612a7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a9e9190615ad0565b90506000808315612b7f57600080606e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166356ab819f8c6040518263ffffffff1660e01b8152600401612b079190614e48565b606060405180830381865afa158015612b24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b489190615b34565b80935081945082965050505060008183612b6291906156c3565b9050612b6e8582614272565b85612b799190615719565b94505050505b8215612c2457606f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385a92cb78a6040518263ffffffff1660e01b8152600401612be09190614e48565b602060405180830381865afa158015612bfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c219190615369565b90505b612c388183612c3391906156c3565b610872565b97505050505050505b915091565b606d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b612c74612df8565b15612cab576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000606c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008060008373ffffffffffffffffffffffffffffffffffffffff1663c40da15c33886040518363ffffffff1660e01b8152600401612d129291906158c5565b6060604051808303816000875af1158015612d31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d559190615b34565b925092509250606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632edfd12e87878686866040518663ffffffff1660e01b8152600401612dbe959493929190615b87565b600060405180830381600087803b158015612dd857600080fd5b505af1158015612dec573d6000803e3d6000fd5b50505050505050505050565b600080600060017f8f989356aeb576065c8d201815b96ac9c10cf89197a532e428ebd68581557c2360001c612e2d9190615719565b60001b905080549150819250505090565b612e46612df8565b15612e7d576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000606c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000806000808473ffffffffffffffffffffffffffffffffffffffff16634c23f22e338c8b8b8b6040518663ffffffff1660e01b8152600401612eeb959493929190615bda565b6080604051808303816000875af1158015612f0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f2e9190615c2d565b9350935093509350606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639caa9e2933866040518363ffffffff1660e01b8152600401612f939291906158c5565b600060405180830381600087803b158015612fad57600080fd5b505af1158015612fc1573d6000803e3d6000fd5b50505050606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632edfd12e8b8b8686866040518663ffffffff1660e01b8152600401613028959493929190615b87565b600060405180830381600087803b15801561304257600080fd5b505af1158015613056573d6000803e3d6000fd5b5050505050505050505050505050565b3373ffffffffffffffffffffffffffffffffffffffff16606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146130f857336040517f4a653c6a0000000000000000000000000000000000000000000000000000000081526004016130ef9190614e48565b60405180910390fd5b6131c1607060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16607060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683614636565b505050565b600080606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613236573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325a9190615369565b90506000606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166301d2b6ea6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156132cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132ef9190615369565b905060008214806133005750600081145b1561330f57839250505061332b565b80828561331c91906153c5565b613326919061544e565b925050505b919050565b606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e37d49b8826040518263ffffffff1660e01b815260040161338b9190614e48565b600060405180830381600087803b1580156133a557600080fd5b505af11580156133b9573d6000803e3d6000fd5b5050505050565b606e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6133ee612df8565b15613425576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000613430346131c6565b905060008061349f3484607060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16614680565b91509150606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933856040518363ffffffff1660e01b81526004016135009291906158c5565b600060405180830381600087803b15801561351a57600080fd5b505af115801561352e573d6000803e3d6000fd5b50505050606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166301c21d593484846040518463ffffffff1660e01b8152600401613590929190615c94565b6000604051808303818588803b1580156135a957600080fd5b505af11580156135bd573d6000803e3d6000fd5b5050505050505050565b606c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6135f561372e565b73ffffffffffffffffffffffffffffffffffffffff166136136125fb565b73ffffffffffffffffffffffffffffffffffffffff1614613669576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136609061567a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156136d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136d090615d3d565b60405180910390fd5b6136e28161409b565b50565b606f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600033905090565b60008061374161386a565b73ffffffffffffffffffffffffffffffffffffffff16632c3b7916846040518263ffffffff1660e01b81526004016137799190614e48565b602060405180830381865afa158015613796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137ba9190615369565b905060006137c661386a565b73ffffffffffffffffffffffffffffffffffffffff1663dedafeae856040518263ffffffff1660e01b81526004016137fe9190614e48565b602060405180830381865afa15801561381b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061383f9190615369565b90508082101561385457600092505050613865565b80826138609190615719565b925050505b919050565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dcf0aaed6040516020016138b990615db4565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004016138eb9190614e7c565b602060405180830381865afa158015613908573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061392c9190615dde565b905090565b606080600061393f86610872565b9050600081141561397c576040517fc60050c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606080600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614613a6957606e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c650b5f88858b8a6040518563ffffffff1660e01b8152600401613a149493929190615e0b565b6000604051808303816000875af1158015613a33573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190613a5c9190615fd6565b8092508193505050613b15565b606f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166336691a41846040518263ffffffff1660e01b8152600401613ac49190614b62565b6000604051808303816000875af1158015613ae3573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190613b0c9190615fd6565b80925081935050505b818194509450505050935093915050565b6000613b547f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b614824565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b613b8561372e565b73ffffffffffffffffffffffffffffffffffffffff16613ba36125fb565b73ffffffffffffffffffffffffffffffffffffffff1614613bf9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613bf09061567a565b60405180910390fd5b50565b6000613c06613b26565b9050613c118461482e565b600083511180613c1e5750815b15613c2f57613c2d84846148e7565b505b6000613c5d7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914360001b614914565b90508060000160009054906101000a900460ff16613dc65760018160000160006101000a81548160ff021916908315150217905550613d298583604051602401613ca79190614e48565b6040516020818303038152906040527f3659cfe6000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506148e7565b5060008160000160006101000a81548160ff021916908315150217905550613d4f613b26565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614613dbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613db3906160c0565b60405180910390fd5b613dc58561491e565b5b5050505050565b6000606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663536a5f27846040518263ffffffff1660e01b8152600401613e2a9190614e48565b602060405180830381865afa158015613e47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e6b9190615369565b606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b8152600401613ec69190614e48565b602060405180830381865afa158015613ee3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f079190615369565b613f1191906156c3565b905060008114613f8657613f85607060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168383614636565b5b81607060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff167fafd1cdc355e15bfc9038294be1c6203ce953704fda8c991bebe78ddd4d5420d160405160405180910390a2505050565b600060017f8f989356aeb576065c8d201815b96ac9c10cf89197a532e428ebd68581557c2360001c61407e9190615719565b60001b90508181555050565b60006140953061370b565b15905090565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600060019054906101000a900460ff166141b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016141a790616152565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561422d5761ce10606560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061426f565b80606560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60008183106142815781614283565b825b905092915050565b6000600167ffffffffffffffff8111156142a8576142a7614eed565b5b6040519080825280602002602001820160405280156142d65781602001602082028036833780820191505090505b5090506000600167ffffffffffffffff8111156142f6576142f5614eed565b5b6040519080825280602002602001820160405280156143245781602001602082028036833780820191505090505b5090506000600167ffffffffffffffff81111561434457614343614eed565b5b6040519080825280602002602001820160405280156143725781602001602082028036833780820191505090505b5090506000600167ffffffffffffffff81111561439257614391614eed565b5b6040519080825280602002602001820160405280156143c05781602001602082028036833780820191505090505b50905086846000815181106143d8576143d7616172565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050848260008151811061442757614426616172565b5b602002602001018181525050858360008151811061444857614447616172565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508160008151811061449657614495616172565b5b6020026020010151816000815181106144b2576144b1616172565b5b602002602001018181525050606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f380ade3858486856040518563ffffffff1660e01b815260040161451f94939291906161a1565b600060405180830381600087803b15801561453957600080fd5b505af115801561454d573d6000803e3d6000fd5b5050505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156145c1576040517f0855380c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060017f29f060ba1cf8d3659516b02281c85dcc3e81b4287766ae4751c0f500688be30f60001c6145f39190615719565b60001b90508181557fd11d57c2c7468878b1035df11c670bcd0091aa840bf8aa166365397622237bea8260405161462a9190614e48565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561466f5761467b565b61467a83838361496d565b5b505050565b606080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461476b57606e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cd1528588487876040518463ffffffff1660e01b815260040161471693929190615afd565b6000604051808303816000875af1158015614735573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061475e9190615fd6565b809250819350505061481c565b606f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b364174e868660006040518463ffffffff1660e01b81526004016147cb93929190616202565b6000604051808303816000875af11580156147ea573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906148139190615fd6565b80925081935050505b935093915050565b6000819050919050565b61483781614995565b614876576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161486d906162ab565b60405180910390fd5b806148a37f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b614824565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606061490c8383604051806060016040528060278152602001616455602791396149a8565b905092915050565b6000819050919050565b6149278161482e565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b61497981846001613931565b505061498e61498782610872565b8284614680565b5050505050565b600080823b905060008111915050919050565b60606149b384614995565b6149f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016149e99061633d565b60405180910390fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1685604051614a1a91906163d7565b600060405180830381855af49150503d8060008114614a55576040519150601f19603f3d011682016040523d82523d6000602084013e614a5a565b606091505b5091509150614a6a828286614a75565b925050509392505050565b60608315614a8557829050614ad5565b600083511115614a985782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401614acc9190616432565b60405180910390fd5b9392505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b614b0381614af0565b8114614b0e57600080fd5b50565b600081359050614b2081614afa565b92915050565b600060208284031215614b3c57614b3b614ae6565b5b6000614b4a84828501614b11565b91505092915050565b614b5c81614af0565b82525050565b6000602082019050614b776000830184614b53565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112614ba257614ba1614b7d565b5b8235905067ffffffffffffffff811115614bbf57614bbe614b82565b5b602083019150836020820283011115614bdb57614bda614b87565b5b9250929050565b60008083601f840112614bf857614bf7614b7d565b5b8235905067ffffffffffffffff811115614c1557614c14614b82565b5b602083019150836020820283011115614c3157614c30614b87565b5b9250929050565b6000806000806000806000806080898b031215614c5857614c57614ae6565b5b600089013567ffffffffffffffff811115614c7657614c75614aeb565b5b614c828b828c01614b8c565b9850985050602089013567ffffffffffffffff811115614ca557614ca4614aeb565b5b614cb18b828c01614b8c565b9650965050604089013567ffffffffffffffff811115614cd457614cd3614aeb565b5b614ce08b828c01614be2565b9450945050606089013567ffffffffffffffff811115614d0357614d02614aeb565b5b614d0f8b828c01614be2565b92509250509295985092959890939650565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000614d4c82614d21565b9050919050565b614d5c81614d41565b8114614d6757600080fd5b50565b600081359050614d7981614d53565b92915050565b60008060008060008060c08789031215614d9c57614d9b614ae6565b5b6000614daa89828a01614d6a565b9650506020614dbb89828a01614d6a565b9550506040614dcc89828a01614d6a565b9450506060614ddd89828a01614d6a565b9350506080614dee89828a01614d6a565b92505060a0614dff89828a01614d6a565b9150509295509295509295565b600060208284031215614e2257614e21614ae6565b5b6000614e3084828501614d6a565b91505092915050565b614e4281614d41565b82525050565b6000602082019050614e5d6000830184614e39565b92915050565b6000819050919050565b614e7681614e63565b82525050565b6000602082019050614e916000830184614e6d565b92915050565b60008060408385031215614eae57614ead614ae6565b5b6000614ebc85828601614d6a565b9250506020614ecd85828601614d6a565b9150509250929050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b614f2582614edc565b810181811067ffffffffffffffff82111715614f4457614f43614eed565b5b80604052505050565b6000614f57614adc565b9050614f638282614f1c565b919050565b600067ffffffffffffffff821115614f8357614f82614eed565b5b614f8c82614edc565b9050602081019050919050565b82818337600083830152505050565b6000614fbb614fb684614f68565b614f4d565b905082815260208101848484011115614fd757614fd6614ed7565b5b614fe2848285614f99565b509392505050565b600082601f830112614fff57614ffe614b7d565b5b813561500f848260208601614fa8565b91505092915050565b6000806040838503121561502f5761502e614ae6565b5b600061503d85828601614d6a565b925050602083013567ffffffffffffffff81111561505e5761505d614aeb565b5b61506a85828601614fea565b9150509250929050565b60006080820190506150896000830187614b53565b6150966020830186614b53565b6150a36040830185614b53565b6150b06060830184614b53565b95945050505050565b6000819050919050565b60006150de6150d96150d484614d21565b6150b9565b614d21565b9050919050565b60006150f0826150c3565b9050919050565b6000615102826150e5565b9050919050565b615112816150f7565b82525050565b600060208201905061512d6000830184615109565b92915050565b60006040820190506151486000830185614b53565b6151556020830184614b53565b9392505050565b6000615167826150e5565b9050919050565b6151778161515c565b82525050565b6000602082019050615192600083018461516e565b92915050565b600080604083850312156151af576151ae614ae6565b5b60006151bd85828601614b11565b92505060206151ce85828601614b11565b9150509250929050565b60008115159050919050565b6151ed816151d8565b82525050565b600060208201905061520860008301846151e4565b92915050565b600080600080600060a0868803121561522a57615229614ae6565b5b600061523888828901614b11565b955050602061524988828901614b11565b945050604061525a88828901614b11565b935050606061526b88828901614b11565b925050608061527c88828901614b11565b9150509295509295909350565b6000806000606084860312156152a2576152a1614ae6565b5b60006152b086828701614d6a565b93505060206152c186828701614d6a565b92505060406152d286828701614b11565b9150509250925092565b60006152e7826150e5565b9050919050565b6152f7816152dc565b82525050565b600060208201905061531260008301846152ee565b92915050565b6000615323826150e5565b9050919050565b61533381615318565b82525050565b600060208201905061534e600083018461532a565b92915050565b60008151905061536381614afa565b92915050565b60006020828403121561537f5761537e614ae6565b5b600061538d84828501615354565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006153d082614af0565b91506153db83614af0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561541457615413615396565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061545982614af0565b915061546483614af0565b9250826154745761547361541f565b5b828204905092915050565b600082825260208201905092915050565b6000819050919050565b6154a381614d41565b82525050565b60006154b5838361549a565b60208301905092915050565b60006154d06020840184614d6a565b905092915050565b6000602082019050919050565b60006154f1838561547f565b93506154fc82615490565b8060005b858110156155355761551282846154c1565b61551c88826154a9565b9750615527836154d8565b925050600181019050615500565b5085925050509392505050565b600082825260208201905092915050565b600080fd5b60006155648385615542565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561559757615596615553565b5b6020830292506155a8838584614f99565b82840190509392505050565b600060808201905081810360008301526155cf818a8c6154e5565b905081810360208301526155e481888a615558565b905081810360408301526155f98186886154e5565b9050818103606083015261560e818486615558565b90509998505050505050505050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061566460208361561d565b915061566f8261562e565b602082019050919050565b6000602082019050818103600083015261569381615657565b9050919050565b60006040820190506156af6000830185614e39565b6156bc6020830184614e39565b9392505050565b60006156ce82614af0565b91506156d983614af0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561570e5761570d615396565b5b828201905092915050565b600061572482614af0565b915061572f83614af0565b92508282101561574257615741615396565b5b828203905092915050565b600081519050919050565b6000819050602082019050919050565b6000602082019050919050565b60006157808261574d565b61578a818561547f565b935061579583615758565b8060005b838110156157c65781516157ad88826154a9565b97506157b883615768565b925050600181019050615799565b5085935050505092915050565b600081519050919050565b6000819050602082019050919050565b6157f781614af0565b82525050565b600061580983836157ee565b60208301905092915050565b6000602082019050919050565b600061582d826157d3565b6158378185615542565b9350615842836157de565b8060005b8381101561587357815161585a88826157fd565b975061586583615815565b925050600181019050615846565b5085935050505092915050565b60006060820190506158956000830186614e39565b81810360208301526158a78185615775565b905081810360408301526158bb8184615822565b9050949350505050565b60006040820190506158da6000830185614e39565b6158e76020830184614b53565b9392505050565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f64656c656761746563616c6c0000000000000000000000000000000000000000602082015250565b600061594a602c8361561d565b9150615955826158ee565b604082019050919050565b600060208201905081810360008301526159798161593d565b9050919050565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f6163746976652070726f78790000000000000000000000000000000000000000602082015250565b60006159dc602c8361561d565b91506159e782615980565b604082019050919050565b60006020820190508181036000830152615a0b816159cf565b9050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b6000615a6e602e8361561d565b9150615a7982615a12565b604082019050919050565b60006020820190508181036000830152615a9d81615a61565b9050919050565b615aad816151d8565b8114615ab857600080fd5b50565b600081519050615aca81615aa4565b92915050565b600060208284031215615ae657615ae5614ae6565b5b6000615af484828501615abb565b91505092915050565b6000606082019050615b126000830186614e39565b615b1f6020830185614b53565b615b2c6040830184614b53565b949350505050565b600080600060608486031215615b4d57615b4c614ae6565b5b6000615b5b86828701615354565b9350506020615b6c86828701615354565b9250506040615b7d86828701615354565b9150509250925092565b600060a082019050615b9c6000830188614b53565b615ba96020830187614b53565b615bb66040830186614b53565b615bc36060830185614b53565b615bd06080830184614b53565b9695505050505050565b600060a082019050615bef6000830188614e39565b615bfc6020830187614b53565b615c096040830186614b53565b615c166060830185614b53565b615c236080830184614b53565b9695505050505050565b60008060008060808587031215615c4757615c46614ae6565b5b6000615c5587828801615354565b9450506020615c6687828801615354565b9350506040615c7787828801615354565b9250506060615c8887828801615354565b91505092959194509250565b60006040820190508181036000830152615cae8185615775565b90508181036020830152615cc28184615822565b90509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000615d2760268361561d565b9150615d3282615ccb565b604082019050919050565b60006020820190508181036000830152615d5681615d1a565b9050919050565b600081905092915050565b7f456c656374696f6e000000000000000000000000000000000000000000000000600082015250565b6000615d9e600883615d5d565b9150615da982615d68565b600882019050919050565b6000615dbf82615d91565b9150819050919050565b600081519050615dd881614d53565b92915050565b600060208284031215615df457615df3614ae6565b5b6000615e0284828501615dc9565b91505092915050565b6000608082019050615e206000830187614e39565b615e2d6020830186614b53565b615e3a6040830185614b53565b615e4760608301846151e4565b95945050505050565b600067ffffffffffffffff821115615e6b57615e6a614eed565b5b602082029050602081019050919050565b6000615e8f615e8a84615e50565b614f4d565b90508083825260208201905060208402830185811115615eb257615eb1614b87565b5b835b81811015615edb5780615ec78882615dc9565b845260208401935050602081019050615eb4565b5050509392505050565b600082601f830112615efa57615ef9614b7d565b5b8151615f0a848260208601615e7c565b91505092915050565b600067ffffffffffffffff821115615f2e57615f2d614eed565b5b602082029050602081019050919050565b6000615f52615f4d84615f13565b614f4d565b90508083825260208201905060208402830185811115615f7557615f74614b87565b5b835b81811015615f9e5780615f8a8882615354565b845260208401935050602081019050615f77565b5050509392505050565b600082601f830112615fbd57615fbc614b7d565b5b8151615fcd848260208601615f3f565b91505092915050565b60008060408385031215615fed57615fec614ae6565b5b600083015167ffffffffffffffff81111561600b5761600a614aeb565b5b61601785828601615ee5565b925050602083015167ffffffffffffffff81111561603857616037614aeb565b5b61604485828601615fa8565b9150509250929050565b7f45524331393637557067726164653a207570677261646520627265616b73206660008201527f7572746865722075706772616465730000000000000000000000000000000000602082015250565b60006160aa602f8361561d565b91506160b58261604e565b604082019050919050565b600060208201905081810360008301526160d98161609d565b9050919050565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b600061613c602b8361561d565b9150616147826160e0565b604082019050919050565b6000602082019050818103600083015261616b8161612f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060808201905081810360008301526161bb8187615775565b905081810360208301526161cf8186615822565b905081810360408301526161e38185615775565b905081810360608301526161f78184615822565b905095945050505050565b60006060820190506162176000830186614b53565b6162246020830185614b53565b6162316040830184614e39565b949350505050565b7f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60008201527f6f74206120636f6e747261637400000000000000000000000000000000000000602082015250565b6000616295602d8361561d565b91506162a082616239565b604082019050919050565b600060208201905081810360008301526162c481616288565b9050919050565b7f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60008201527f6e74726163740000000000000000000000000000000000000000000000000000602082015250565b600061632760268361561d565b9150616332826162cb565b604082019050919050565b600060208201905081810360008301526163568161631a565b9050919050565b600081519050919050565b600081905092915050565b60005b83811015616391578082015181840152602081019050616376565b838111156163a0576000848401525b50505050565b60006163b18261635d565b6163bb8185616368565b93506163cb818560208601616373565b80840191505092915050565b60006163e382846163a6565b915081905092915050565b600081519050919050565b6000616404826163ee565b61640e818561561d565b935061641e818560208601616373565b61642781614edc565b840191505092915050565b6000602082019050818103600083015261644c81846163f9565b90509291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212201fb2199affbcd8b08d907b9c971a6878b6986d253939684c248086ba93c9262564736f6c634300080b0033
CBOR Auxdata
These values are what Sourcify extracted from the recompiled bytecode. If these values are different in the on-chain bytecode, they will show up in Transformations section.
CBOR Auxdata id: 1
View on
Solidity metadata.json IPFS hash: QmQUNrskRxhWc3bjJWhukTofzi4ELKZuDyuCccaNSmzW1A

RawDecoded
Length: 53 bytes
0xa26469706673582212201fb2199affbcd8b08d907b9c971a6878b6986d253939684c248086ba93c9262564736f6c634300080b0033
Runtime Bytecode
0x6080604052600436106102255760003560e01c80637c0d530f11610123578063b187bd26116100ab578063cf009f7a1161006f578063cf009f7a146107be578063d0e30db0146107e9578063ee183c4a146107f3578063f2fde38b1461081e578063fac5bb9b1461084757610225565b8063b187bd26146106db578063bc4d3bb314610706578063beabacc81461072f578063c494ec1e14610758578063ce7a60ab1461079557610225565b80639468ba0e116100f25780639468ba0e146105f35780639fd0506d1461061e578063a0fefe2514610649578063a3f16ef114610687578063b0ef81de146106b257610225565b80637c0d530f146105715780637e72dd66146105885780638456cb59146105b15780638da5cb5b146105c857610225565b80633f4ba83a116101b157806354255be01161017557806354255be0146104af5780636fe958d8146104dd578063715018a6146105065780637a9024bd1461051d5780637b1039991461054657610225565b80633f4ba83a146103d9578063485cc955146103f057806348fd6ea6146104195780634e4e5efb146104565780634f1ef2861461049357610225565b80632e1a7d4d116101f85780632e1a7d4d146102f65780633659cfe61461031f57806339ebf823146103485780633cbf5872146103855780633cef9f64146103b057610225565b80630567847f1461022a5780630c4d4e4014610267578063114e6b37146102905780632c431058146102b9575b600080fd5b34801561023657600080fd5b50610251600480360381019061024c9190614b26565b610872565b60405161025e9190614b62565b60405180910390f35b34801561027357600080fd5b5061028e60048036038101906102899190614c38565b6109dc565b005b34801561029c57600080fd5b506102b760048036038101906102b29190614d7f565b610b6f565b005b3480156102c557600080fd5b506102e060048036038101906102db9190614e0c565b610f36565b6040516102ed9190614b62565b60405180910390f35b34801561030257600080fd5b5061031d60048036038101906103189190614b26565b6110d9565b005b34801561032b57600080fd5b5061034660048036038101906103419190614e0c565b6112af565b005b34801561035457600080fd5b5061036f600480360381019061036a9190614e0c565b611438565b60405161037c9190614e48565b60405180910390f35b34801561039157600080fd5b5061039a61146b565b6040516103a79190614e7c565b60405180910390f35b3480156103bc57600080fd5b506103d760048036038101906103d29190614e97565b6114a1565b005b3480156103e557600080fd5b506103ee61152b565b005b3480156103fc57600080fd5b5061041760048036038101906104129190614e97565b6115cf565b005b34801561042557600080fd5b50610440600480360381019061043b9190614e0c565b6116c7565b60405161044d9190614b62565b60405180910390f35b34801561046257600080fd5b5061047d60048036038101906104789190614e0c565b6117b3565b60405161048a9190614e48565b60405180910390f35b6104ad60048036038101906104a89190615018565b6119aa565b005b3480156104bb57600080fd5b506104c4611ae7565b6040516104d49493929190615074565b60405180910390f35b3480156104e957600080fd5b5061050460048036038101906104ff9190614e97565b611b03565b005b34801561051257600080fd5b5061051b611e0a565b005b34801561052957600080fd5b50610544600480360381019061053f9190614e0c565b611e92565b005b34801561055257600080fd5b5061055b612099565b6040516105689190615118565b60405180910390f35b34801561057d57600080fd5b506105866120bf565b005b34801561059457600080fd5b506105af60048036038101906105aa9190614e97565b61214d565b005b3480156105bd57600080fd5b506105c6612557565b005b3480156105d457600080fd5b506105dd6125fb565b6040516105ea9190614e48565b60405180910390f35b3480156105ff57600080fd5b50610608612625565b6040516106159190614e7c565b60405180910390f35b34801561062a57600080fd5b5061063361265b565b6040516106409190614e48565b60405180910390f35b34801561065557600080fd5b50610670600480360381019061066b9190614e0c565b6126a1565b60405161067e929190615133565b60405180910390f35b34801561069357600080fd5b5061069c612c46565b6040516106a9919061517d565b60405180910390f35b3480156106be57600080fd5b506106d960048036038101906106d49190615198565b612c6c565b005b3480156106e757600080fd5b506106f0612df8565b6040516106fd91906151f3565b60405180910390f35b34801561071257600080fd5b5061072d6004803603810190610728919061520e565b612e3e565b005b34801561073b57600080fd5b5061075660048036038101906107519190615289565b613066565b005b34801561076457600080fd5b5061077f600480360381019061077a9190614b26565b6131c6565b60405161078c9190614b62565b60405180910390f35b3480156107a157600080fd5b506107bc60048036038101906107b79190614e0c565b613330565b005b3480156107ca57600080fd5b506107d36133c0565b6040516107e091906152fd565b60405180910390f35b6107f16133e6565b005b3480156107ff57600080fd5b506108086135c7565b6040516108159190614e48565b60405180910390f35b34801561082a57600080fd5b5061084560048036038101906108409190614e0c565b6135ed565b005b34801561085357600080fd5b5061085c6136e5565b6040516108699190615339565b60405180910390f35b600080606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109069190615369565b90506000606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166301d2b6ea6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610977573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099b9190615369565b905060008214806109ac5750600081145b156109bb5783925050506109d7565b8181856109c891906153c5565b6109d2919061544e565b925050505b919050565b3373ffffffffffffffffffffffffffffffffffffffff16606f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614158015610a8857503373ffffffffffffffffffffffffffffffffffffffff16606e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b15610aca57336040517ff7eb25ef000000000000000000000000000000000000000000000000000000008152600401610ac19190614e48565b60405180910390fd5b606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f380ade3898987878b8b89896040518963ffffffff1660e01b8152600401610b339897969594939291906155b4565b600060405180830381600087803b158015610b4d57600080fd5b505af1158015610b61573d6000803e3d6000fd5b505050505050505050505050565b610b7761372e565b73ffffffffffffffffffffffffffffffffffffffff16610b956125fb565b73ffffffffffffffffffffffffffffffffffffffff1614610beb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be29061567a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161480610c525750600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b80610c895750600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80610cc05750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80610cf75750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80610d2e5750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b15610d65576040517f0855380c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b85606660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084606760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083606c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082606d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081606e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080606f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff167f77001ab3bb5b4e91a2a4021cec272d6505154d5ff1fb2e8426752b15bd8ef16d60405160405180910390a2505050505050565b600080610f4283613736565b90506000811415610f575760009150506110d4565b6000610f6161386a565b73ffffffffffffffffffffffffffffffffffffffff16633861727285606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401610fbd92919061569a565b602060405180830381865afa158015610fda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ffe9190615369565b90506000606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663acd201d0866040518263ffffffff1660e01b815260040161105d9190614e48565b602060405180830381865afa15801561107a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109e9190615369565b905081836110ac91906156c3565b9250808310156110c257600093505050506110d4565b80836110ce9190615719565b93505050505b919050565b6110e1612df8565b15611118576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008061118683607060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000613931565b91509150606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632f842a1a3384846040518463ffffffff1660e01b81526004016111e993929190615880565b600060405180830381600087803b15801561120357600080fd5b505af1158015611217573d6000803e3d6000fd5b50505050606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac33856040518363ffffffff1660e01b81526004016112789291906158c5565b600060405180830381600087803b15801561129257600080fd5b505af11580156112a6573d6000803e3d6000fd5b50505050505050565b7f000000000000000000000000ba58575c8069989657ae139152c08283b171a46373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16141561133e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133590615960565b60405180910390fd5b7f000000000000000000000000ba58575c8069989657ae139152c08283b171a46373ffffffffffffffffffffffffffffffffffffffff1661137d613b26565b73ffffffffffffffffffffffffffffffffffffffff16146113d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ca906159f2565b60405180910390fd5b6113dc81613b7d565b61143581600067ffffffffffffffff8111156113fb576113fa614eed565b5b6040519080825280601f01601f19166020018201604052801561142d5781602001600182028036833780820191505090505b506000613bfc565b50565b60706020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60017f8f989356aeb576065c8d201815b96ac9c10cf89197a532e428ebd68581557c2360001c61149b9190615719565b60001b81565b6114a961372e565b73ffffffffffffffffffffffffffffffffffffffff166114c76125fb565b73ffffffffffffffffffffffffffffffffffffffff161461151d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115149061567a565b60405180910390fd5b6115278282613dcd565b5050565b61153361265b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611597576040517f75df51dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115a1600061404c565b7f0e5e3b3fb504c22cf5c42fa07d521225937514c654007e1f12646f89768d6f9460405160405180910390a1565b600060019054906101000a900460ff166115f75760008054906101000a900460ff1615611600565b6115ff61408a565b5b61163f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163690615a84565b60405180910390fd5b60008060019054906101000a900460ff16159050801561168f576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b6116988261409b565b6116a183614161565b80156116c25760008060016101000a81548160ff0219169083151502179055505b505050565b60006116d1612df8565b15611708576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000606c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166348fd6ea6846040518263ffffffff1660e01b81526004016117689190614e48565b6020604051808303816000875af1158015611787573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ab9190615369565b915050919050565b600080607060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156119915750606e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cc222f8d826040518263ffffffff1660e01b81526004016118ab9190614e48565b602060405180830381865afa1580156118c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ec9190615ad0565b806119905750606d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ac8f4425826040518263ffffffff1660e01b815260040161194d9190614e48565b602060405180830381865afa15801561196a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061198e9190615ad0565b155b5b156119a05760009150506119a5565b809150505b919050565b7f000000000000000000000000ba58575c8069989657ae139152c08283b171a46373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415611a39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3090615960565b60405180910390fd5b7f000000000000000000000000ba58575c8069989657ae139152c08283b171a46373ffffffffffffffffffffffffffffffffffffffff16611a78613b26565b73ffffffffffffffffffffffffffffffffffffffff1614611ace576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac5906159f2565b60405180910390fd5b611ad782613b7d565b611ae382826001613bfc565b5050565b6000806000806001600360016000935093509350935090919293565b611b0b612df8565b15611b42576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639f8a13d7826040518263ffffffff1660e01b8152600401611b9d9190614e48565b602060405180830381865afa158015611bba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bde9190615ad0565b158015611c835750606e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cc222f8d826040518263ffffffff1660e01b8152600401611c419190614e48565b602060405180830381865afa158015611c5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c829190615ad0565b5b15611cc557806040517f5a081584000000000000000000000000000000000000000000000000000000008152600401611cbc9190614e48565b60405180910390fd5b600080611cd1846126a1565b91509150818111611d1d578381836040517f2c4f8ec8000000000000000000000000000000000000000000000000000000008152600401611d1493929190615afd565b60405180910390fd5b600080611d29856126a1565b91509150818110611d75578481836040517fb0006ace000000000000000000000000000000000000000000000000000000008152600401611d6c93929190615afd565b60405180910390fd5b6000611d8086610f36565b90506000811415611dc857856040517fb9183a08000000000000000000000000000000000000000000000000000000008152600401611dbf9190614e48565b60405180910390fd5b6000611df3611ded8787611ddc9190615719565b8587611de89190615719565b614272565b83614272565b9050611e0088888361428b565b5050505050505050565b611e1261372e565b73ffffffffffffffffffffffffffffffffffffffff16611e306125fb565b73ffffffffffffffffffffffffffffffffffffffff1614611e86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7d9061567a565b60405180910390fd5b611e90600061409b565b565b611e9a612df8565b15611ed1576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561204a5750606e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cc222f8d826040518263ffffffff1660e01b8152600401611f649190614e48565b602060405180830381865afa158015611f81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fa59190615ad0565b806120495750606d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ac8f4425826040518263ffffffff1660e01b81526004016120069190614e48565b602060405180830381865afa158015612023573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120479190615ad0565b155b5b1561208c57806040517f10a7bc6b0000000000000000000000000000000000000000000000000000000081526004016120839190614e48565b60405180910390fd5b6120963382613dcd565b50565b606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6120c761372e565b73ffffffffffffffffffffffffffffffffffffffff166120e56125fb565b73ffffffffffffffffffffffffffffffffffffffff161461213b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121329061567a565b60405180910390fd5b61214b6121466125fb565b61455a565b565b612155612df8565b1561218c576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639f8a13d7826040518263ffffffff1660e01b81526004016121e79190614e48565b602060405180830381865afa158015612204573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122289190615ad0565b61226957806040517f5a0815840000000000000000000000000000000000000000000000000000000081526004016122609190614e48565b60405180910390fd5b600061227483613736565b90506000606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b09bdc5e856040518263ffffffff1660e01b81526004016122d39190614e48565b602060405180830381865afa1580156122f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123149190615369565b606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166322e59bd4866040518263ffffffff1660e01b815260040161236f9190614e48565b602060405180830381865afa15801561238c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123b09190615369565b6123ba91906156c3565b90506000606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635fd5c95e866040518263ffffffff1660e01b81526004016124199190614e48565b602060405180830381865afa158015612436573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061245a9190615369565b9050600082821161246c576000612479565b82826124789190615719565b5b9050600084821161248b576000612498565b84826124979190615719565b5b905060008114156124e057866040517f1eeadf530000000000000000000000000000000000000000000000000000000081526004016124d79190614e48565b60405180910390fd5b60006124eb87610f36565b9050600081141561253357866040517fb9183a0800000000000000000000000000000000000000000000000000000000815260040161252a9190614e48565b60405180910390fd5b600061253f8383614272565b905061254c89898361428b565b505050505050505050565b61255f61265b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125c3576040517f75df51dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6125cd600161404c565b7fab35696f06e428ebc5ceba8cd17f8fed287baf43440206d1943af1ee53e6d26760405160405180910390a1565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60017f29f060ba1cf8d3659516b02281c85dcc3e81b4287766ae4751c0f500688be30f60001c6126559190615719565b60001b81565b600080600060017f29f060ba1cf8d3659516b02281c85dcc3e81b4287766ae4751c0f500688be30f60001c6126909190615719565b60001b905080549150819250505090565b6000806000606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635fd5c95e856040518263ffffffff1660e01b81526004016127019190614e48565b602060405180830381865afa15801561271e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127429190615369565b606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f8171927866040518263ffffffff1660e01b815260040161279d9190614e48565b602060405180830381865afa1580156127ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127de9190615369565b6127e891906156c3565b90506000606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b09bdc5e866040518263ffffffff1660e01b81526004016128479190614e48565b602060405180830381865afa158015612864573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128889190615369565b606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166322e59bd4876040518263ffffffff1660e01b81526004016128e39190614e48565b602060405180830381865afa158015612900573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129249190615369565b61292e91906156c3565b9050818111156129515781816129449190615719565b6000935093505050612c41565b808261295d9190615719565b92506000606e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cc222f8d876040518263ffffffff1660e01b81526004016129bc9190614e48565b602060405180830381865afa1580156129d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129fd9190615ad0565b1590506000606f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639f8a13d7886040518263ffffffff1660e01b8152600401612a5d9190614e48565b602060405180830381865afa158015612a7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a9e9190615ad0565b90506000808315612b7f57600080606e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166356ab819f8c6040518263ffffffff1660e01b8152600401612b079190614e48565b606060405180830381865afa158015612b24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b489190615b34565b80935081945082965050505060008183612b6291906156c3565b9050612b6e8582614272565b85612b799190615719565b94505050505b8215612c2457606f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385a92cb78a6040518263ffffffff1660e01b8152600401612be09190614e48565b602060405180830381865afa158015612bfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c219190615369565b90505b612c388183612c3391906156c3565b610872565b97505050505050505b915091565b606d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b612c74612df8565b15612cab576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000606c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008060008373ffffffffffffffffffffffffffffffffffffffff1663c40da15c33886040518363ffffffff1660e01b8152600401612d129291906158c5565b6060604051808303816000875af1158015612d31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d559190615b34565b925092509250606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632edfd12e87878686866040518663ffffffff1660e01b8152600401612dbe959493929190615b87565b600060405180830381600087803b158015612dd857600080fd5b505af1158015612dec573d6000803e3d6000fd5b50505050505050505050565b600080600060017f8f989356aeb576065c8d201815b96ac9c10cf89197a532e428ebd68581557c2360001c612e2d9190615719565b60001b905080549150819250505090565b612e46612df8565b15612e7d576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000606c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000806000808473ffffffffffffffffffffffffffffffffffffffff16634c23f22e338c8b8b8b6040518663ffffffff1660e01b8152600401612eeb959493929190615bda565b6080604051808303816000875af1158015612f0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f2e9190615c2d565b9350935093509350606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639caa9e2933866040518363ffffffff1660e01b8152600401612f939291906158c5565b600060405180830381600087803b158015612fad57600080fd5b505af1158015612fc1573d6000803e3d6000fd5b50505050606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632edfd12e8b8b8686866040518663ffffffff1660e01b8152600401613028959493929190615b87565b600060405180830381600087803b15801561304257600080fd5b505af1158015613056573d6000803e3d6000fd5b5050505050505050505050505050565b3373ffffffffffffffffffffffffffffffffffffffff16606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146130f857336040517f4a653c6a0000000000000000000000000000000000000000000000000000000081526004016130ef9190614e48565b60405180910390fd5b6131c1607060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16607060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683614636565b505050565b600080606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613236573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325a9190615369565b90506000606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166301d2b6ea6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156132cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132ef9190615369565b905060008214806133005750600081145b1561330f57839250505061332b565b80828561331c91906153c5565b613326919061544e565b925050505b919050565b606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e37d49b8826040518263ffffffff1660e01b815260040161338b9190614e48565b600060405180830381600087803b1580156133a557600080fd5b505af11580156133b9573d6000803e3d6000fd5b5050505050565b606e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6133ee612df8565b15613425576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000613430346131c6565b905060008061349f3484607060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16614680565b91509150606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933856040518363ffffffff1660e01b81526004016135009291906158c5565b600060405180830381600087803b15801561351a57600080fd5b505af115801561352e573d6000803e3d6000fd5b50505050606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166301c21d593484846040518463ffffffff1660e01b8152600401613590929190615c94565b6000604051808303818588803b1580156135a957600080fd5b505af11580156135bd573d6000803e3d6000fd5b5050505050505050565b606c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6135f561372e565b73ffffffffffffffffffffffffffffffffffffffff166136136125fb565b73ffffffffffffffffffffffffffffffffffffffff1614613669576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136609061567a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156136d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136d090615d3d565b60405180910390fd5b6136e28161409b565b50565b606f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600033905090565b60008061374161386a565b73ffffffffffffffffffffffffffffffffffffffff16632c3b7916846040518263ffffffff1660e01b81526004016137799190614e48565b602060405180830381865afa158015613796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137ba9190615369565b905060006137c661386a565b73ffffffffffffffffffffffffffffffffffffffff1663dedafeae856040518263ffffffff1660e01b81526004016137fe9190614e48565b602060405180830381865afa15801561381b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061383f9190615369565b90508082101561385457600092505050613865565b80826138609190615719565b925050505b919050565b6000606560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dcf0aaed6040516020016138b990615db4565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004016138eb9190614e7c565b602060405180830381865afa158015613908573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061392c9190615dde565b905090565b606080600061393f86610872565b9050600081141561397c576040517fc60050c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606080600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614613a6957606e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c650b5f88858b8a6040518563ffffffff1660e01b8152600401613a149493929190615e0b565b6000604051808303816000875af1158015613a33573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190613a5c9190615fd6565b8092508193505050613b15565b606f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166336691a41846040518263ffffffff1660e01b8152600401613ac49190614b62565b6000604051808303816000875af1158015613ae3573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190613b0c9190615fd6565b80925081935050505b818194509450505050935093915050565b6000613b547f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b614824565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b613b8561372e565b73ffffffffffffffffffffffffffffffffffffffff16613ba36125fb565b73ffffffffffffffffffffffffffffffffffffffff1614613bf9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613bf09061567a565b60405180910390fd5b50565b6000613c06613b26565b9050613c118461482e565b600083511180613c1e5750815b15613c2f57613c2d84846148e7565b505b6000613c5d7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914360001b614914565b90508060000160009054906101000a900460ff16613dc65760018160000160006101000a81548160ff021916908315150217905550613d298583604051602401613ca79190614e48565b6040516020818303038152906040527f3659cfe6000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506148e7565b5060008160000160006101000a81548160ff021916908315150217905550613d4f613b26565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614613dbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613db3906160c0565b60405180910390fd5b613dc58561491e565b5b5050505050565b6000606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663536a5f27846040518263ffffffff1660e01b8152600401613e2a9190614e48565b602060405180830381865afa158015613e47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e6b9190615369565b606660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b8152600401613ec69190614e48565b602060405180830381865afa158015613ee3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f079190615369565b613f1191906156c3565b905060008114613f8657613f85607060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168383614636565b5b81607060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff167fafd1cdc355e15bfc9038294be1c6203ce953704fda8c991bebe78ddd4d5420d160405160405180910390a2505050565b600060017f8f989356aeb576065c8d201815b96ac9c10cf89197a532e428ebd68581557c2360001c61407e9190615719565b60001b90508181555050565b60006140953061370b565b15905090565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600060019054906101000a900460ff166141b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016141a790616152565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561422d5761ce10606560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061426f565b80606560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60008183106142815781614283565b825b905092915050565b6000600167ffffffffffffffff8111156142a8576142a7614eed565b5b6040519080825280602002602001820160405280156142d65781602001602082028036833780820191505090505b5090506000600167ffffffffffffffff8111156142f6576142f5614eed565b5b6040519080825280602002602001820160405280156143245781602001602082028036833780820191505090505b5090506000600167ffffffffffffffff81111561434457614343614eed565b5b6040519080825280602002602001820160405280156143725781602001602082028036833780820191505090505b5090506000600167ffffffffffffffff81111561439257614391614eed565b5b6040519080825280602002602001820160405280156143c05781602001602082028036833780820191505090505b50905086846000815181106143d8576143d7616172565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050848260008151811061442757614426616172565b5b602002602001018181525050858360008151811061444857614447616172565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508160008151811061449657614495616172565b5b6020026020010151816000815181106144b2576144b1616172565b5b602002602001018181525050606760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f380ade3858486856040518563ffffffff1660e01b815260040161451f94939291906161a1565b600060405180830381600087803b15801561453957600080fd5b505af115801561454d573d6000803e3d6000fd5b5050505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156145c1576040517f0855380c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060017f29f060ba1cf8d3659516b02281c85dcc3e81b4287766ae4751c0f500688be30f60001c6145f39190615719565b60001b90508181557fd11d57c2c7468878b1035df11c670bcd0091aa840bf8aa166365397622237bea8260405161462a9190614e48565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561466f5761467b565b61467a83838361496d565b5b505050565b606080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461476b57606e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cd1528588487876040518463ffffffff1660e01b815260040161471693929190615afd565b6000604051808303816000875af1158015614735573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061475e9190615fd6565b809250819350505061481c565b606f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b364174e868660006040518463ffffffff1660e01b81526004016147cb93929190616202565b6000604051808303816000875af11580156147ea573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906148139190615fd6565b80925081935050505b935093915050565b6000819050919050565b61483781614995565b614876576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161486d906162ab565b60405180910390fd5b806148a37f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b614824565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606061490c8383604051806060016040528060278152602001616455602791396149a8565b905092915050565b6000819050919050565b6149278161482e565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b61497981846001613931565b505061498e61498782610872565b8284614680565b5050505050565b600080823b905060008111915050919050565b60606149b384614995565b6149f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016149e99061633d565b60405180910390fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1685604051614a1a91906163d7565b600060405180830381855af49150503d8060008114614a55576040519150601f19603f3d011682016040523d82523d6000602084013e614a5a565b606091505b5091509150614a6a828286614a75565b925050509392505050565b60608315614a8557829050614ad5565b600083511115614a985782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401614acc9190616432565b60405180910390fd5b9392505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b614b0381614af0565b8114614b0e57600080fd5b50565b600081359050614b2081614afa565b92915050565b600060208284031215614b3c57614b3b614ae6565b5b6000614b4a84828501614b11565b91505092915050565b614b5c81614af0565b82525050565b6000602082019050614b776000830184614b53565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112614ba257614ba1614b7d565b5b8235905067ffffffffffffffff811115614bbf57614bbe614b82565b5b602083019150836020820283011115614bdb57614bda614b87565b5b9250929050565b60008083601f840112614bf857614bf7614b7d565b5b8235905067ffffffffffffffff811115614c1557614c14614b82565b5b602083019150836020820283011115614c3157614c30614b87565b5b9250929050565b6000806000806000806000806080898b031215614c5857614c57614ae6565b5b600089013567ffffffffffffffff811115614c7657614c75614aeb565b5b614c828b828c01614b8c565b9850985050602089013567ffffffffffffffff811115614ca557614ca4614aeb565b5b614cb18b828c01614b8c565b9650965050604089013567ffffffffffffffff811115614cd457614cd3614aeb565b5b614ce08b828c01614be2565b9450945050606089013567ffffffffffffffff811115614d0357614d02614aeb565b5b614d0f8b828c01614be2565b92509250509295985092959890939650565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000614d4c82614d21565b9050919050565b614d5c81614d41565b8114614d6757600080fd5b50565b600081359050614d7981614d53565b92915050565b60008060008060008060c08789031215614d9c57614d9b614ae6565b5b6000614daa89828a01614d6a565b9650506020614dbb89828a01614d6a565b9550506040614dcc89828a01614d6a565b9450506060614ddd89828a01614d6a565b9350506080614dee89828a01614d6a565b92505060a0614dff89828a01614d6a565b9150509295509295509295565b600060208284031215614e2257614e21614ae6565b5b6000614e3084828501614d6a565b91505092915050565b614e4281614d41565b82525050565b6000602082019050614e5d6000830184614e39565b92915050565b6000819050919050565b614e7681614e63565b82525050565b6000602082019050614e916000830184614e6d565b92915050565b60008060408385031215614eae57614ead614ae6565b5b6000614ebc85828601614d6a565b9250506020614ecd85828601614d6a565b9150509250929050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b614f2582614edc565b810181811067ffffffffffffffff82111715614f4457614f43614eed565b5b80604052505050565b6000614f57614adc565b9050614f638282614f1c565b919050565b600067ffffffffffffffff821115614f8357614f82614eed565b5b614f8c82614edc565b9050602081019050919050565b82818337600083830152505050565b6000614fbb614fb684614f68565b614f4d565b905082815260208101848484011115614fd757614fd6614ed7565b5b614fe2848285614f99565b509392505050565b600082601f830112614fff57614ffe614b7d565b5b813561500f848260208601614fa8565b91505092915050565b6000806040838503121561502f5761502e614ae6565b5b600061503d85828601614d6a565b925050602083013567ffffffffffffffff81111561505e5761505d614aeb565b5b61506a85828601614fea565b9150509250929050565b60006080820190506150896000830187614b53565b6150966020830186614b53565b6150a36040830185614b53565b6150b06060830184614b53565b95945050505050565b6000819050919050565b60006150de6150d96150d484614d21565b6150b9565b614d21565b9050919050565b60006150f0826150c3565b9050919050565b6000615102826150e5565b9050919050565b615112816150f7565b82525050565b600060208201905061512d6000830184615109565b92915050565b60006040820190506151486000830185614b53565b6151556020830184614b53565b9392505050565b6000615167826150e5565b9050919050565b6151778161515c565b82525050565b6000602082019050615192600083018461516e565b92915050565b600080604083850312156151af576151ae614ae6565b5b60006151bd85828601614b11565b92505060206151ce85828601614b11565b9150509250929050565b60008115159050919050565b6151ed816151d8565b82525050565b600060208201905061520860008301846151e4565b92915050565b600080600080600060a0868803121561522a57615229614ae6565b5b600061523888828901614b11565b955050602061524988828901614b11565b945050604061525a88828901614b11565b935050606061526b88828901614b11565b925050608061527c88828901614b11565b9150509295509295909350565b6000806000606084860312156152a2576152a1614ae6565b5b60006152b086828701614d6a565b93505060206152c186828701614d6a565b92505060406152d286828701614b11565b9150509250925092565b60006152e7826150e5565b9050919050565b6152f7816152dc565b82525050565b600060208201905061531260008301846152ee565b92915050565b6000615323826150e5565b9050919050565b61533381615318565b82525050565b600060208201905061534e600083018461532a565b92915050565b60008151905061536381614afa565b92915050565b60006020828403121561537f5761537e614ae6565b5b600061538d84828501615354565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006153d082614af0565b91506153db83614af0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561541457615413615396565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061545982614af0565b915061546483614af0565b9250826154745761547361541f565b5b828204905092915050565b600082825260208201905092915050565b6000819050919050565b6154a381614d41565b82525050565b60006154b5838361549a565b60208301905092915050565b60006154d06020840184614d6a565b905092915050565b6000602082019050919050565b60006154f1838561547f565b93506154fc82615490565b8060005b858110156155355761551282846154c1565b61551c88826154a9565b9750615527836154d8565b925050600181019050615500565b5085925050509392505050565b600082825260208201905092915050565b600080fd5b60006155648385615542565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561559757615596615553565b5b6020830292506155a8838584614f99565b82840190509392505050565b600060808201905081810360008301526155cf818a8c6154e5565b905081810360208301526155e481888a615558565b905081810360408301526155f98186886154e5565b9050818103606083015261560e818486615558565b90509998505050505050505050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061566460208361561d565b915061566f8261562e565b602082019050919050565b6000602082019050818103600083015261569381615657565b9050919050565b60006040820190506156af6000830185614e39565b6156bc6020830184614e39565b9392505050565b60006156ce82614af0565b91506156d983614af0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561570e5761570d615396565b5b828201905092915050565b600061572482614af0565b915061572f83614af0565b92508282101561574257615741615396565b5b828203905092915050565b600081519050919050565b6000819050602082019050919050565b6000602082019050919050565b60006157808261574d565b61578a818561547f565b935061579583615758565b8060005b838110156157c65781516157ad88826154a9565b97506157b883615768565b925050600181019050615799565b5085935050505092915050565b600081519050919050565b6000819050602082019050919050565b6157f781614af0565b82525050565b600061580983836157ee565b60208301905092915050565b6000602082019050919050565b600061582d826157d3565b6158378185615542565b9350615842836157de565b8060005b8381101561587357815161585a88826157fd565b975061586583615815565b925050600181019050615846565b5085935050505092915050565b60006060820190506158956000830186614e39565b81810360208301526158a78185615775565b905081810360408301526158bb8184615822565b9050949350505050565b60006040820190506158da6000830185614e39565b6158e76020830184614b53565b9392505050565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f64656c656761746563616c6c0000000000000000000000000000000000000000602082015250565b600061594a602c8361561d565b9150615955826158ee565b604082019050919050565b600060208201905081810360008301526159798161593d565b9050919050565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f6163746976652070726f78790000000000000000000000000000000000000000602082015250565b60006159dc602c8361561d565b91506159e782615980565b604082019050919050565b60006020820190508181036000830152615a0b816159cf565b9050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b6000615a6e602e8361561d565b9150615a7982615a12565b604082019050919050565b60006020820190508181036000830152615a9d81615a61565b9050919050565b615aad816151d8565b8114615ab857600080fd5b50565b600081519050615aca81615aa4565b92915050565b600060208284031215615ae657615ae5614ae6565b5b6000615af484828501615abb565b91505092915050565b6000606082019050615b126000830186614e39565b615b1f6020830185614b53565b615b2c6040830184614b53565b949350505050565b600080600060608486031215615b4d57615b4c614ae6565b5b6000615b5b86828701615354565b9350506020615b6c86828701615354565b9250506040615b7d86828701615354565b9150509250925092565b600060a082019050615b9c6000830188614b53565b615ba96020830187614b53565b615bb66040830186614b53565b615bc36060830185614b53565b615bd06080830184614b53565b9695505050505050565b600060a082019050615bef6000830188614e39565b615bfc6020830187614b53565b615c096040830186614b53565b615c166060830185614b53565b615c236080830184614b53565b9695505050505050565b60008060008060808587031215615c4757615c46614ae6565b5b6000615c5587828801615354565b9450506020615c6687828801615354565b9350506040615c7787828801615354565b9250506060615c8887828801615354565b91505092959194509250565b60006040820190508181036000830152615cae8185615775565b90508181036020830152615cc28184615822565b90509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000615d2760268361561d565b9150615d3282615ccb565b604082019050919050565b60006020820190508181036000830152615d5681615d1a565b9050919050565b600081905092915050565b7f456c656374696f6e000000000000000000000000000000000000000000000000600082015250565b6000615d9e600883615d5d565b9150615da982615d68565b600882019050919050565b6000615dbf82615d91565b9150819050919050565b600081519050615dd881614d53565b92915050565b600060208284031215615df457615df3614ae6565b5b6000615e0284828501615dc9565b91505092915050565b6000608082019050615e206000830187614e39565b615e2d6020830186614b53565b615e3a6040830185614b53565b615e4760608301846151e4565b95945050505050565b600067ffffffffffffffff821115615e6b57615e6a614eed565b5b602082029050602081019050919050565b6000615e8f615e8a84615e50565b614f4d565b90508083825260208201905060208402830185811115615eb257615eb1614b87565b5b835b81811015615edb5780615ec78882615dc9565b845260208401935050602081019050615eb4565b5050509392505050565b600082601f830112615efa57615ef9614b7d565b5b8151615f0a848260208601615e7c565b91505092915050565b600067ffffffffffffffff821115615f2e57615f2d614eed565b5b602082029050602081019050919050565b6000615f52615f4d84615f13565b614f4d565b90508083825260208201905060208402830185811115615f7557615f74614b87565b5b835b81811015615f9e5780615f8a8882615354565b845260208401935050602081019050615f77565b5050509392505050565b600082601f830112615fbd57615fbc614b7d565b5b8151615fcd848260208601615f3f565b91505092915050565b60008060408385031215615fed57615fec614ae6565b5b600083015167ffffffffffffffff81111561600b5761600a614aeb565b5b61601785828601615ee5565b925050602083015167ffffffffffffffff81111561603857616037614aeb565b5b61604485828601615fa8565b9150509250929050565b7f45524331393637557067726164653a207570677261646520627265616b73206660008201527f7572746865722075706772616465730000000000000000000000000000000000602082015250565b60006160aa602f8361561d565b91506160b58261604e565b604082019050919050565b600060208201905081810360008301526160d98161609d565b9050919050565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b600061613c602b8361561d565b9150616147826160e0565b604082019050919050565b6000602082019050818103600083015261616b8161612f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060808201905081810360008301526161bb8187615775565b905081810360208301526161cf8186615822565b905081810360408301526161e38185615775565b905081810360608301526161f78184615822565b905095945050505050565b60006060820190506162176000830186614b53565b6162246020830185614b53565b6162316040830184614e39565b949350505050565b7f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60008201527f6f74206120636f6e747261637400000000000000000000000000000000000000602082015250565b6000616295602d8361561d565b91506162a082616239565b604082019050919050565b600060208201905081810360008301526162c481616288565b9050919050565b7f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60008201527f6e74726163740000000000000000000000000000000000000000000000000000602082015250565b600061632760268361561d565b9150616332826162cb565b604082019050919050565b600060208201905081810360008301526163568161631a565b9050919050565b600081519050919050565b600081905092915050565b60005b83811015616391578082015181840152602081019050616376565b838111156163a0576000848401525b50505050565b60006163b18261635d565b6163bb8185616368565b93506163cb818560208601616373565b80840191505092915050565b60006163e382846163a6565b915081905092915050565b600081519050919050565b6000616404826163ee565b61640e818561561d565b935061641e818560208601616373565b61642781614edc565b840191505092915050565b6000602082019050818103600083015261644c81846163f9565b90509291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212201fb2199affbcd8b08d907b9c971a6878b6986d253939684c248086ba93c9262564736f6c634300080b0033
CBOR Auxdata
These values are what Sourcify extracted from the recompiled bytecode. If these values are different in the on-chain bytecode, they will show up in Transformations section.
CBOR Auxdata id: 1
View on
Solidity metadata.json IPFS hash: QmQUNrskRxhWc3bjJWhukTofzi4ELKZuDyuCccaNSmzW1A

RawDecoded
Length: 53 bytes
0xa26469706673582212201fb2199affbcd8b08d907b9c971a6878b6986d253939684c248086ba93c9262564736f6c634300080b0033
Transformations
Immutable Transformations
ID | Value | Offsets |
---|---|---|
854 | 0x000000000000000000000000ba58575c8069989657ae139152c08283b171a463 | 4785, 4928, 6572, 6715 |
Storage Layout
Slot | Offset | Bytes | Label | Type | Contract |
---|---|---|---|---|---|
0 | 0 | 1 | _initialized | bool | contracts/Manager.sol:Manager |
0 | 1 | 1 | _initializing | bool | contracts/Manager.sol:Manager |
1 | 0 | 1600 | __gap | uint256[50] | contracts/Manager.sol:Manager |
51 | 0 | 20 | _owner | address | contracts/Manager.sol:Manager |
52 | 0 | 1568 | __gap | uint256[49] | contracts/Manager.sol:Manager |
101 | 0 | 20 | registry | contract IRegistry | contracts/Manager.sol:Manager |
102 | 0 | 20 | stakedCelo | contract IStakedCelo | contracts/Manager.sol:Manager |
103 | 0 | 20 | account | contract IAccount | contracts/Manager.sol:Manager |
104 | 0 | 64 | activeGroups | struct EnumerableSet.AddressSet | contracts/Manager.sol:Manager |
106 | 0 | 64 | deprecatedGroups | struct EnumerableSet.AddressSet | contracts/Manager.sol:Manager |
108 | 0 | 20 | voteContract | address | contracts/Manager.sol:Manager |
109 | 0 | 20 | groupHealth | contract IGroupHealth | contracts/Manager.sol:Manager |
110 | 0 | 20 | specificGroupStrategy | contract ISpecificGroupStrategy | contracts/Manager.sol:Manager |
111 | 0 | 20 | defaultStrategy | contract IDefaultStrategy | contracts/Manager.sol:Manager |
112 | 0 | 32 | strategies | mapping(address ⇒ address) | contracts/Manager.sol:Manager |
Standard JSON Input
This isn't the original compiler JSON data. Generated for compatibility.
Loading...
Standard JSON Output
This isn't the original compiler JSON data. Generated for compatibility.
Loading...