Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 35 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Add Contract Add... | 15537922 | 835 days ago | IN | 0 ETH | 0.00104192 | ||||
Add Contract Add... | 14409507 | 1016 days ago | IN | 0 ETH | 0.00120212 | ||||
Add Contract Add... | 14409044 | 1016 days ago | IN | 0 ETH | 0.00094245 | ||||
Add Super Man | 12319778 | 1341 days ago | IN | 0 ETH | 0.00249129 | ||||
Add Contract Add... | 11684807 | 1439 days ago | IN | 0 ETH | 0.00267768 | ||||
Add Contract Add... | 11684500 | 1439 days ago | IN | 0 ETH | 0.00386776 | ||||
Add Contract Add... | 11684496 | 1439 days ago | IN | 0 ETH | 0.00387868 | ||||
Add Super Man | 11684226 | 1439 days ago | IN | 0 ETH | 0.00304829 | ||||
Add Contract Add... | 11679404 | 1439 days ago | IN | 0 ETH | 0.00237152 | ||||
Add Contract Add... | 10948739 | 1552 days ago | IN | 0 ETH | 0.001937 | ||||
Add Contract Add... | 10767191 | 1580 days ago | IN | 0 ETH | 0.00666536 | ||||
Add Contract Add... | 10767191 | 1580 days ago | IN | 0 ETH | 0.00686228 | ||||
Add Contract Add... | 10636348 | 1600 days ago | IN | 0 ETH | 0.00387868 | ||||
Add Contract Add... | 10546578 | 1614 days ago | IN | 0 ETH | 0.00178872 | ||||
Add Contract Add... | 10491205 | 1622 days ago | IN | 0 ETH | 0.00238592 | ||||
Change Mapping | 10469593 | 1626 days ago | IN | 0 ETH | 0.00169928 | ||||
Change Mapping | 10469225 | 1626 days ago | IN | 0 ETH | 0.00469028 | ||||
Add Contract Add... | 10469223 | 1626 days ago | IN | 0 ETH | 0.00232648 | ||||
Add Contract Add... | 10469219 | 1626 days ago | IN | 0 ETH | 0.00231836 | ||||
Add Contract Add... | 10469219 | 1626 days ago | IN | 0 ETH | 0.00237758 | ||||
Add Contract Add... | 10469215 | 1626 days ago | IN | 0 ETH | 0.00237694 | ||||
Add Contract Add... | 10469207 | 1626 days ago | IN | 0 ETH | 0.00233084 | ||||
Add Contract Add... | 10469204 | 1626 days ago | IN | 0 ETH | 0.00237503 | ||||
Add Contract Add... | 10469201 | 1626 days ago | IN | 0 ETH | 0.00232835 | ||||
Add Contract Add... | 10469195 | 1626 days ago | IN | 0 ETH | 0.00237185 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
Nest_3_VoteFactory
Compiler Version
v0.6.0+commit.26b70077
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-07-28 */ pragma solidity 0.6.0; /** * @title Voting factory + mapping * @dev Vote creating method */ contract Nest_3_VoteFactory { using SafeMath for uint256; uint256 _limitTime = 7 days; // Vote duration uint256 _NNLimitTime = 1 days; // NestNode raising time uint256 _circulationProportion = 51; // Proportion of votes to pass uint256 _NNUsedCreate = 10; // The minimum number of NNs to create a voting contract uint256 _NNCreateLimit = 100; // The minimum number of NNs needed to start voting uint256 _emergencyTime = 0; // The emergency state start time uint256 _emergencyTimeLimit = 3 days; // The emergency state duration uint256 _emergencyNNAmount = 1000; // The number of NNs required to switch the emergency state ERC20 _NNToken; // NestNode Token ERC20 _nestToken; // NestToken mapping(string => address) _contractAddress; // Voting contract mapping mapping(address => bool) _modifyAuthority; // Modify permissions mapping(address => address) _myVote; // Personal voting address mapping(address => uint256) _emergencyPerson; // Emergency state personal voting number mapping(address => bool) _contractData; // Voting contract data bool _stateOfEmergency = false; // Emergency state address _destructionAddress; // Destroy contract address event ContractAddress(address contractAddress); /** * @dev Initialization method */ constructor () public { _modifyAuthority[address(msg.sender)] = true; } /** * @dev Reset contract */ function changeMapping() public onlyOwner { _NNToken = ERC20(checkAddress("nestNode")); _destructionAddress = address(checkAddress("nest.v3.destruction")); _nestToken = ERC20(address(checkAddress("nest"))); } /** * @dev Create voting contract * @param implementContract The executable contract address for voting * @param nestNodeAmount Number of NNs to pledge */ function createVote(address implementContract, uint256 nestNodeAmount) public { require(address(tx.origin) == address(msg.sender), "It can't be a contract"); require(nestNodeAmount >= _NNUsedCreate); Nest_3_VoteContract newContract = new Nest_3_VoteContract(implementContract, _stateOfEmergency, nestNodeAmount); require(_NNToken.transferFrom(address(tx.origin), address(newContract), nestNodeAmount), "Authorization transfer failed"); _contractData[address(newContract)] = true; emit ContractAddress(address(newContract)); } /** * @dev Use NEST to vote * @param contractAddress Vote contract address */ function nestVote(address contractAddress) public { require(address(msg.sender) == address(tx.origin), "It can't be a contract"); require(_contractData[contractAddress], "It's not a voting contract"); require(!checkVoteNow(address(msg.sender))); Nest_3_VoteContract newContract = Nest_3_VoteContract(contractAddress); newContract.nestVote(); _myVote[address(tx.origin)] = contractAddress; } /** * @dev Vote using NestNode Token * @param contractAddress Vote contract address * @param NNAmount Amount of NNs to pledge */ function nestNodeVote(address contractAddress, uint256 NNAmount) public { require(address(msg.sender) == address(tx.origin), "It can't be a contract"); require(_contractData[contractAddress], "It's not a voting contract"); Nest_3_VoteContract newContract = Nest_3_VoteContract(contractAddress); require(_NNToken.transferFrom(address(tx.origin), address(newContract), NNAmount), "Authorization transfer failed"); newContract.nestNodeVote(NNAmount); } /** * @dev Excecute contract * @param contractAddress Vote contract address */ function startChange(address contractAddress) public { require(address(msg.sender) == address(tx.origin), "It can't be a contract"); require(_contractData[contractAddress], "It's not a voting contract"); Nest_3_VoteContract newContract = Nest_3_VoteContract(contractAddress); require(_stateOfEmergency == newContract.checkStateOfEmergency()); addSuperManPrivate(address(newContract)); newContract.startChange(); deleteSuperManPrivate(address(newContract)); } /** * @dev Switch emergency state-transfer in NestNode Token * @param amount Amount of NNs to transfer */ function sendNestNodeForStateOfEmergency(uint256 amount) public { require(_NNToken.transferFrom(address(tx.origin), address(this), amount)); _emergencyPerson[address(tx.origin)] = _emergencyPerson[address(tx.origin)].add(amount); } /** * @dev Switch emergency state-transfer out NestNode Token */ function turnOutNestNodeForStateOfEmergency() public { require(_emergencyPerson[address(tx.origin)] > 0); require(_NNToken.transfer(address(tx.origin), _emergencyPerson[address(tx.origin)])); _emergencyPerson[address(tx.origin)] = 0; uint256 nestAmount = _nestToken.balanceOf(address(this)); require(_nestToken.transfer(address(_destructionAddress), nestAmount)); } /** * @dev Modify emergency state */ function changeStateOfEmergency() public { if (_stateOfEmergency) { require(now > _emergencyTime.add(_emergencyTimeLimit)); _stateOfEmergency = false; _emergencyTime = 0; } else { require(_emergencyPerson[address(msg.sender)] > 0); require(_NNToken.balanceOf(address(this)) >= _emergencyNNAmount); _stateOfEmergency = true; _emergencyTime = now; } } /** * @dev Check whether participating in the voting * @param user Address to check * @return bool Whether voting */ function checkVoteNow(address user) public view returns (bool) { if (_myVote[user] == address(0x0)) { return false; } else { Nest_3_VoteContract vote = Nest_3_VoteContract(_myVote[user]); if (vote.checkContractEffective() || vote.checkPersonalAmount(user) == 0) { return false; } return true; } } /** * @dev Check my voting * @param user Address to check * @return address Address recently participated in the voting contract address */ function checkMyVote(address user) public view returns (address) { return _myVote[user]; } // Check the voting time function checkLimitTime() public view returns (uint256) { return _limitTime; } // Check the NestNode raising time function checkNNLimitTime() public view returns (uint256) { return _NNLimitTime; } // Check the voting proportion to pass function checkCirculationProportion() public view returns (uint256) { return _circulationProportion; } // Check the minimum number of NNs to create a voting contract function checkNNUsedCreate() public view returns (uint256) { return _NNUsedCreate; } // Check the minimum number of NNs raised to start a vote function checkNNCreateLimit() public view returns (uint256) { return _NNCreateLimit; } // Check whether in emergency state function checkStateOfEmergency() public view returns (bool) { return _stateOfEmergency; } // Check the start time of the emergency state function checkEmergencyTime() public view returns (uint256) { return _emergencyTime; } // Check the duration of the emergency state function checkEmergencyTimeLimit() public view returns (uint256) { return _emergencyTimeLimit; } // Check the amount of personal pledged NNs function checkEmergencyPerson(address user) public view returns (uint256) { return _emergencyPerson[user]; } // Check the number of NNs required for the emergency function checkEmergencyNNAmount() public view returns (uint256) { return _emergencyNNAmount; } // Verify voting contract data function checkContractData(address contractAddress) public view returns (bool) { return _contractData[contractAddress]; } // Modify voting time function changeLimitTime(uint256 num) public onlyOwner { require(num > 0, "Parameter needs to be greater than 0"); _limitTime = num; } // Modify the NestNode raising time function changeNNLimitTime(uint256 num) public onlyOwner { require(num > 0, "Parameter needs to be greater than 0"); _NNLimitTime = num; } // Modify the voting proportion function changeCirculationProportion(uint256 num) public onlyOwner { require(num > 0, "Parameter needs to be greater than 0"); _circulationProportion = num; } // Modify the minimum number of NNs to create a voting contract function changeNNUsedCreate(uint256 num) public onlyOwner { _NNUsedCreate = num; } // Modify the minimum number of NNs to raised to start a voting function checkNNCreateLimit(uint256 num) public onlyOwner { _NNCreateLimit = num; } // Modify the emergency state duration function changeEmergencyTimeLimit(uint256 num) public onlyOwner { require(num > 0); _emergencyTimeLimit = num.mul(1 days); } // Modify the number of NNs required for emergency state function changeEmergencyNNAmount(uint256 num) public onlyOwner { require(num > 0); _emergencyNNAmount = num; } // Check address function checkAddress(string memory name) public view returns (address contractAddress) { return _contractAddress[name]; } // Add contract mapping address function addContractAddress(string memory name, address contractAddress) public onlyOwner { _contractAddress[name] = contractAddress; } // Add administrator address function addSuperMan(address superMan) public onlyOwner { _modifyAuthority[superMan] = true; } function addSuperManPrivate(address superMan) private { _modifyAuthority[superMan] = true; } // Delete administrator address function deleteSuperMan(address superMan) public onlyOwner { _modifyAuthority[superMan] = false; } function deleteSuperManPrivate(address superMan) private { _modifyAuthority[superMan] = false; } // Delete voting contract data function deleteContractData(address contractAddress) public onlyOwner { _contractData[contractAddress] = false; } // Check whether the administrator function checkOwners(address man) public view returns (bool) { return _modifyAuthority[man]; } // Administrator only modifier onlyOwner() { require(checkOwners(msg.sender), "No authority"); _; } } /** * @title Voting contract */ contract Nest_3_VoteContract { using SafeMath for uint256; Nest_3_Implement _implementContract; // Executable contract Nest_3_TokenSave _tokenSave; // Lock-up contract Nest_3_VoteFactory _voteFactory; // Voting factory contract Nest_3_TokenAbonus _tokenAbonus; // Bonus logic contract ERC20 _nestToken; // NestToken ERC20 _NNToken; // NestNode Token address _miningSave; // Mining pool contract address _implementAddress; // Executable contract address address _destructionAddress; // Destruction contract address uint256 _createTime; // Creation time uint256 _endTime; // End time uint256 _totalAmount; // Total votes uint256 _circulation; // Passed votes uint256 _destroyedNest; // Destroyed NEST uint256 _NNLimitTime; // NestNode raising time uint256 _NNCreateLimit; // Minimum number of NNs to create votes uint256 _abonusTimes; // Period number of used snapshot in emergency state uint256 _allNNAmount; // Total number of NNs bool _effective = false; // Whether vote is effective bool _nestVote = false; // Whether NEST vote can be performed bool _isChange = false; // Whether NEST vote is executed bool _stateOfEmergency; // Whether the contract is in emergency state mapping(address => uint256) _personalAmount; // Number of personal votes mapping(address => uint256) _personalNNAmount; // Number of NN personal votes /** * @dev Initialization method * @param contractAddress Executable contract address * @param stateOfEmergency Whether in emergency state * @param NNAmount Amount of NNs */ constructor (address contractAddress, bool stateOfEmergency, uint256 NNAmount) public { Nest_3_VoteFactory voteFactory = Nest_3_VoteFactory(address(msg.sender)); _voteFactory = voteFactory; _nestToken = ERC20(voteFactory.checkAddress("nest")); _NNToken = ERC20(voteFactory.checkAddress("nestNode")); _implementContract = Nest_3_Implement(address(contractAddress)); _implementAddress = address(contractAddress); _destructionAddress = address(voteFactory.checkAddress("nest.v3.destruction")); _personalNNAmount[address(tx.origin)] = NNAmount; _allNNAmount = NNAmount; _createTime = now; _endTime = _createTime.add(voteFactory.checkLimitTime()); _NNLimitTime = voteFactory.checkNNLimitTime(); _NNCreateLimit = voteFactory.checkNNCreateLimit(); _stateOfEmergency = stateOfEmergency; if (stateOfEmergency) { // If in emergency state, read the last two periods of bonus lock-up and total circulation data _tokenAbonus = Nest_3_TokenAbonus(voteFactory.checkAddress("nest.v3.tokenAbonus")); _abonusTimes = _tokenAbonus.checkTimes().sub(2); require(_abonusTimes > 0); _circulation = _tokenAbonus.checkTokenAllValueHistory(address(_nestToken),_abonusTimes).mul(voteFactory.checkCirculationProportion()).div(100); } else { _miningSave = address(voteFactory.checkAddress("nest.v3.miningSave")); _tokenSave = Nest_3_TokenSave(voteFactory.checkAddress("nest.v3.tokenSave")); _circulation = (uint256(10000000000 ether).sub(_nestToken.balanceOf(address(_miningSave))).sub(_nestToken.balanceOf(address(_destructionAddress)))).mul(voteFactory.checkCirculationProportion()).div(100); } if (_allNNAmount >= _NNCreateLimit) { _nestVote = true; } } /** * @dev NEST voting */ function nestVote() public onlyFactory { require(now <= _endTime, "Voting time exceeded"); require(!_effective, "Vote in force"); require(_nestVote); require(_personalAmount[address(tx.origin)] == 0, "Have voted"); uint256 amount; if (_stateOfEmergency) { // If in emergency state, read the last two periods of bonus lock-up and total circulation data amount = _tokenAbonus.checkTokenSelfHistory(address(_nestToken),_abonusTimes, address(tx.origin)); } else { amount = _tokenSave.checkAmount(address(tx.origin), address(_nestToken)); } _personalAmount[address(tx.origin)] = amount; _totalAmount = _totalAmount.add(amount); ifEffective(); } /** * @dev NEST voting cancellation */ function nestVoteCancel() public { require(address(msg.sender) == address(tx.origin), "It can't be a contract"); require(now <= _endTime, "Voting time exceeded"); require(!_effective, "Vote in force"); require(_personalAmount[address(tx.origin)] > 0, "No vote"); _totalAmount = _totalAmount.sub(_personalAmount[address(tx.origin)]); _personalAmount[address(tx.origin)] = 0; } /** * @dev NestNode voting * @param NNAmount Amount of NNs */ function nestNodeVote(uint256 NNAmount) public onlyFactory { require(now <= _createTime.add(_NNLimitTime), "Voting time exceeded"); require(!_nestVote); _personalNNAmount[address(tx.origin)] = _personalNNAmount[address(tx.origin)].add(NNAmount); _allNNAmount = _allNNAmount.add(NNAmount); if (_allNNAmount >= _NNCreateLimit) { _nestVote = true; } } /** * @dev Withdrawing lock-up NNs */ function turnOutNestNode() public { if (_nestVote) { // Normal NEST voting if (!_stateOfEmergency || !_effective) { // Non-emergency state require(now > _endTime, "Vote unenforceable"); } } else { // NN voting require(now > _createTime.add(_NNLimitTime)); } require(_personalNNAmount[address(tx.origin)] > 0); // Reverting back the NNs require(_NNToken.transfer(address(tx.origin), _personalNNAmount[address(tx.origin)])); _personalNNAmount[address(tx.origin)] = 0; // Destroying NEST Tokens uint256 nestAmount = _nestToken.balanceOf(address(this)); _destroyedNest = _destroyedNest.add(nestAmount); require(_nestToken.transfer(address(_destructionAddress), nestAmount)); } /** * @dev Execute the contract */ function startChange() public onlyFactory { require(!_isChange); _isChange = true; if (_stateOfEmergency) { require(_effective, "Vote unenforceable"); } else { require(_effective && now > _endTime, "Vote unenforceable"); } // Add the executable contract to the administrator list _voteFactory.addSuperMan(address(_implementContract)); // Execute _implementContract.doit(); // Delete the authorization _voteFactory.deleteSuperMan(address(_implementContract)); } /** * @dev check whether the vote is effective */ function ifEffective() private { if (_totalAmount >= _circulation) { _effective = true; } } /** * @dev Check whether the vote is over */ function checkContractEffective() public view returns (bool) { if (_effective || now > _endTime) { return true; } return false; } // Check the executable implement contract address function checkImplementAddress() public view returns (address) { return _implementAddress; } // Check the voting start time function checkCreateTime() public view returns (uint256) { return _createTime; } // Check the voting end time function checkEndTime() public view returns (uint256) { return _endTime; } // Check the current total number of votes function checkTotalAmount() public view returns (uint256) { return _totalAmount; } // Check the number of votes to pass function checkCirculation() public view returns (uint256) { return _circulation; } // Check the number of personal votes function checkPersonalAmount(address user) public view returns (uint256) { return _personalAmount[user]; } // Check the destroyed NEST function checkDestroyedNest() public view returns (uint256) { return _destroyedNest; } // Check whether the contract is effective function checkEffective() public view returns (bool) { return _effective; } // Check whether in emergency state function checkStateOfEmergency() public view returns (bool) { return _stateOfEmergency; } // Check NestNode raising time function checkNNLimitTime() public view returns (uint256) { return _NNLimitTime; } // Check the minimum number of NNs to create a vote function checkNNCreateLimit() public view returns (uint256) { return _NNCreateLimit; } // Check the period number of snapshot used in the emergency state function checkAbonusTimes() public view returns (uint256) { return _abonusTimes; } // Check number of personal votes function checkPersonalNNAmount(address user) public view returns (uint256) { return _personalNNAmount[address(user)]; } // Check the total number of NNs function checkAllNNAmount() public view returns (uint256) { return _allNNAmount; } // Check whether NEST voting is available function checkNestVote() public view returns (bool) { return _nestVote; } // Check whether it has been excecuted function checkIsChange() public view returns (bool) { return _isChange; } // Vote Factory contract only modifier onlyFactory() { require(address(_voteFactory) == address(msg.sender), "No authority"); _; } } // Executable contract interface Nest_3_Implement { // Execute function doit() external; } // NEST lock-up contract interface Nest_3_TokenSave { // Check lock-up amount function checkAmount(address sender, address token) external view returns (uint256); } // Bonus logic contract interface Nest_3_TokenAbonus { // Check NEST circulation snapshot function checkTokenAllValueHistory(address token, uint256 times) external view returns (uint256); // Check NEST user balance snapshot function checkTokenSelfHistory(address token, uint256 times, address user) external view returns (uint256); // Check bonus ledger period function checkTimes() external view returns (uint256); } // Erc20 contract interface ERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"contractAddress","type":"address"}],"name":"ContractAddress","type":"event"},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"contractAddress","type":"address"}],"name":"addContractAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"superMan","type":"address"}],"name":"addSuperMan","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"num","type":"uint256"}],"name":"changeCirculationProportion","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"num","type":"uint256"}],"name":"changeEmergencyNNAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"num","type":"uint256"}],"name":"changeEmergencyTimeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"num","type":"uint256"}],"name":"changeLimitTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"changeMapping","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"num","type":"uint256"}],"name":"changeNNLimitTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"num","type":"uint256"}],"name":"changeNNUsedCreate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"changeStateOfEmergency","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"name":"checkAddress","outputs":[{"internalType":"address","name":"contractAddress","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkCirculationProportion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"}],"name":"checkContractData","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkEmergencyNNAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"checkEmergencyPerson","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkEmergencyTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkEmergencyTimeLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkLimitTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"checkMyVote","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"num","type":"uint256"}],"name":"checkNNCreateLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"checkNNCreateLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkNNLimitTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkNNUsedCreate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"man","type":"address"}],"name":"checkOwners","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkStateOfEmergency","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"checkVoteNow","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"implementContract","type":"address"},{"internalType":"uint256","name":"nestNodeAmount","type":"uint256"}],"name":"createVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"}],"name":"deleteContractData","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"superMan","type":"address"}],"name":"deleteSuperMan","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"uint256","name":"NNAmount","type":"uint256"}],"name":"nestNodeVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"}],"name":"nestVote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"sendNestNodeForStateOfEmergency","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"}],"name":"startChange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"turnOutNestNodeForStateOfEmergency","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405262093a806000908155620151806001556033600255600a60035560646004556005556203f4806006556103e8600755600f805460ff1916905534801561004957600080fd5b50336000908152600b60205260409020805460ff191660011790556138bb806100736000396000f3fe60806040523480156200001157600080fd5b5060043610620002385760003560e01c8063690055011162000135578063b3f0433c11620000bd578063c7d550571162000087578063c7d5505714620006c1578063ddc5e6d414620006ea578063e74f8ed514620006f4578063f6a71bf41462000714578063f7e99aae14620007345762000238565b8063b3f0433c1462000645578063b6518bdb146200066e578063baa01af01462000697578063c179a34114620006b75762000238565b80638fe77e8611620000ff5780638fe77e8614620005375780639348cb4214620005e3578063a3bf06f114620005ed578063b12d96f714620006165762000238565b80636900550114620004c45780636990d93514620004e45780636c515bce14620004ee5780636d4f769614620005175762000238565b80633a037b8b11620001c557806357a0dc46116200018f57806357a0dc4614620004735780635ce1e2ff146200047d578063631fad3614620004a657806363cd610614620004b0578063674086f614620004ba5762000238565b80633a037b8b14620003695780633f782ad2146200038957806353424cbf146200039357806353b1e09714620003bc5762000238565b806309ddd882116200020757806309ddd88214620002de5780630fb4441114620003075780631c2700d4146200033657806327af0b53146200035f5762000238565b80630425f52f146200023d578063056a5d75146200025b57806307ceb41414620002a057806309c3454414620002bc575b600080fd5b6200024762000754565b604080519115158252519081900360200190f35b62000284600480360360208110156200027357600080fd5b50356001600160a01b03166200075d565b604080516001600160a01b039092168252519081900360200190f35b620002aa6200077e565b60408051918252519081900360200190f35b620002dc60048036036020811015620002d457600080fd5b503562000784565b005b620002dc60048036036020811015620002f657600080fd5b50356001600160a01b0316620007f9565b620002dc600480360360408110156200031f57600080fd5b506001600160a01b038135169060200135620009a4565b620002dc600480360360208110156200034e57600080fd5b50356001600160a01b031662000ba2565b620002dc62000cfc565b620002dc600480360360208110156200038157600080fd5b503562000df7565b620002aa62000e48565b620002dc60048036036020811015620003ab57600080fd5b50356001600160a01b031662000e4e565b620002dc60048036036040811015620003d457600080fd5b810190602081018135640100000000811115620003f057600080fd5b8201836020820111156200040357600080fd5b803590602001918460018302840111640100000000831117156200042657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550505090356001600160a01b0316915062000ebb9050565b620002dc62000f8c565b62000247600480360360208110156200049557600080fd5b50356001600160a01b031662001162565b620002aa62001180565b620002aa62001186565b620002aa6200118c565b620002dc60048036036020811015620004dc57600080fd5b503562001192565b620002aa62001224565b620002aa600480360360208110156200050657600080fd5b50356001600160a01b03166200122a565b620002dc600480360360208110156200052f57600080fd5b503562001245565b62000284600480360360208110156200054f57600080fd5b8101906020810181356401000000008111156200056b57600080fd5b8201836020820111156200057e57600080fd5b80359060200191846001830284011164010000000083111715620005a157600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955062001296945050505050565b620002aa62001309565b62000247600480360360208110156200060557600080fd5b50356001600160a01b03166200130f565b620002dc600480360360408110156200062e57600080fd5b506001600160a01b0381351690602001356200132d565b62000247600480360360208110156200065d57600080fd5b50356001600160a01b031662001523565b620002dc600480360360208110156200068657600080fd5b50356001600160a01b03166200167a565b620002dc60048036036020811015620006af57600080fd5b5035620016ea565b620002aa6200177c565b620002dc60048036036020811015620006d957600080fd5b50356001600160a01b031662001782565b620002dc620017ef565b620002dc600480360360208110156200070c57600080fd5b50356200192a565b620002dc600480360360208110156200072c57600080fd5b5035620019f2565b620002dc600480360360208110156200074c57600080fd5b503562001a51565b600f5460ff1690565b6001600160a01b038082166000908152600c6020526040902054165b919050565b60065490565b6200078f336200130f565b620007d0576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b60008111620007de57600080fd5b620007f3816201518063ffffffff62001ae316565b60065550565b33321462000847576040805162461bcd60e51b8152602060048201526016602482015275125d0818d85b89dd08189948184818dbdb9d1c9858dd60521b604482015290519081900360640190fd5b6001600160a01b0381166000908152600e602052604090205460ff16620008b2576040805162461bcd60e51b815260206004820152601a602482015279125d09dcc81b9bdd0818481d9bdd1a5b99c818dbdb9d1c9858dd60321b604482015290519081900360640190fd5b6000819050806001600160a01b0316630425f52f6040518163ffffffff1660e01b815260040160206040518083038186803b158015620008f157600080fd5b505afa15801562000906573d6000803e3d6000fd5b505050506040513d60208110156200091d57600080fd5b5051600f5460ff161515901515146200093557600080fd5b6200094081620016c6565b806001600160a01b031663b47247566040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200097c57600080fd5b505af115801562000991573d6000803e3d6000fd5b50505050620009a081620017ce565b5050565b333214620009f2576040805162461bcd60e51b8152602060048201526016602482015275125d0818d85b89dd08189948184818dbdb9d1c9858dd60521b604482015290519081900360640190fd5b6001600160a01b0382166000908152600e602052604090205460ff1662000a5d576040805162461bcd60e51b815260206004820152601a602482015279125d09dcc81b9bdd0818481d9bdd1a5b99c818dbdb9d1c9858dd60321b604482015290519081900360640190fd5b600854604080516323b872dd60e01b81523260048201526001600160a01b038086166024830152604482018590529151859392909216916323b872dd916064808201926020929091908290030181600087803b15801562000abd57600080fd5b505af115801562000ad2573d6000803e3d6000fd5b505050506040513d602081101562000ae957600080fd5b505162000b3d576040805162461bcd60e51b815260206004820152601d60248201527f417574686f72697a6174696f6e207472616e73666572206661696c6564000000604482015290519081900360640190fd5b806001600160a01b03166394bfed58836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801562000b8457600080fd5b505af115801562000b99573d6000803e3d6000fd5b50505050505050565b33321462000bf0576040805162461bcd60e51b8152602060048201526016602482015275125d0818d85b89dd08189948184818dbdb9d1c9858dd60521b604482015290519081900360640190fd5b6001600160a01b0381166000908152600e602052604090205460ff1662000c5b576040805162461bcd60e51b815260206004820152601a602482015279125d09dcc81b9bdd0818481d9bdd1a5b99c818dbdb9d1c9858dd60321b604482015290519081900360640190fd5b62000c663362001523565b1562000c7157600080fd5b6000819050806001600160a01b03166374d414296040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000cb257600080fd5b505af115801562000cc7573d6000803e3d6000fd5b5050326000908152600c6020526040902080546001600160a01b0319166001600160a01b039590951694909417909355505050565b600f5460ff161562000d405760065460055462000d1f9163ffffffff62001b4a16565b421162000d2b57600080fd5b600f805460ff19169055600060055562000df5565b336000908152600d602052604090205462000d5a57600080fd5b600754600854604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801562000da957600080fd5b505afa15801562000dbe573d6000803e3d6000fd5b505050506040513d602081101562000dd557600080fd5b5051101562000de357600080fd5b600f805460ff19166001179055426005555b565b62000e02336200130f565b62000e43576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b600455565b60005490565b62000e59336200130f565b62000e9a576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b6001600160a01b03166000908152600e60205260409020805460ff19169055565b62000ec6336200130f565b62000f07576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b80600a836040518082805190602001908083835b6020831062000f3c5780518252601f19909201916020918201910162000f1b565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922080546001600160a01b0319166001600160a01b03949094169390931790925550505050565b326000908152600d602052604090205462000fa657600080fd5b600854326000818152600d6020908152604080832054815163a9059cbb60e01b815260048101959095526024850152516001600160a01b039094169363a9059cbb93604480820194918390030190829087803b1580156200100657600080fd5b505af11580156200101b573d6000803e3d6000fd5b505050506040513d60208110156200103257600080fd5b50516200103e57600080fd5b326000908152600d6020908152604080832083905560095481516370a0823160e01b815230600482015291516001600160a01b03909116926370a082319260248082019391829003018186803b1580156200109857600080fd5b505afa158015620010ad573d6000803e3d6000fd5b505050506040513d6020811015620010c457600080fd5b5051600954600f546040805163a9059cbb60e01b81526001600160a01b036101009093048316600482015260248101859052905193945091169163a9059cbb916044808201926020929091908290030181600087803b1580156200112757600080fd5b505af11580156200113c573d6000803e3d6000fd5b505050506040513d60208110156200115357600080fd5b50516200115f57600080fd5b50565b6001600160a01b03166000908152600e602052604090205460ff1690565b60075490565b60055490565b60035490565b6200119d336200130f565b620011de576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b600081116200121f5760405162461bcd60e51b8152600401808060200182810382526024815260200180620038416024913960400191505060405180910390fd5b600255565b60025490565b6001600160a01b03166000908152600d602052604090205490565b62001250336200130f565b62001291576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b600355565b6000600a826040518082805190602001908083835b60208310620012cc5780518252601f199092019160209182019101620012ab565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220546001600160a01b0316949350505050565b60045490565b6001600160a01b03166000908152600b602052604090205460ff1690565b3233146200137b576040805162461bcd60e51b8152602060048201526016602482015275125d0818d85b89dd08189948184818dbdb9d1c9858dd60521b604482015290519081900360640190fd5b6003548110156200138b57600080fd5b600f54604051600091849160ff909116908490620013a99062001ba5565b6001600160a01b03909316835290151560208301526040808301919091525190819003606001906000f080158015620013e6573d6000803e3d6000fd5b50600854604080516323b872dd60e01b81523260048201526001600160a01b0380851660248301526044820187905291519394509116916323b872dd916064808201926020929091908290030181600087803b1580156200144657600080fd5b505af11580156200145b573d6000803e3d6000fd5b505050506040513d60208110156200147257600080fd5b5051620014c6576040805162461bcd60e51b815260206004820152601d60248201527f417574686f72697a6174696f6e207472616e73666572206661696c6564000000604482015290519081900360640190fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff19166001179055815192835290517f1a0f921ce3c6f2f0f6be5b624a487bc1d5143e1fd1833154f39ab63e13d897559281900390910190a1505050565b6001600160a01b038181166000908152600c60205260408120549091166200154e5750600062000779565b6001600160a01b038083166000908152600c602090815260409182902054825163178f552d60e11b815292519316928392632f1eaa5a926004808301939192829003018186803b158015620015a257600080fd5b505afa158015620015b7573d6000803e3d6000fd5b505050506040513d6020811015620015ce57600080fd5b5051806200165e5750806001600160a01b031663723a3533846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156200162e57600080fd5b505afa15801562001643573d6000803e3d6000fd5b505050506040513d60208110156200165a57600080fd5b5051155b156200166f57600091505062000779565b600191505062000779565b62001685336200130f565b620016c6576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b6001600160a01b03166000908152600b60205260409020805460ff19166001179055565b620016f5336200130f565b62001736576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b60008111620017775760405162461bcd60e51b8152600401808060200182810382526024815260200180620038416024913960400191505060405180910390fd5b600155565b60015490565b6200178d336200130f565b620017ce576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b6001600160a01b03166000908152600b60205260409020805460ff19169055565b620017fa336200130f565b6200183b576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b62001866604051806040016040528060088152602001676e6573744e6f646560c01b81525062001296565b600880546001600160a01b0319166001600160a01b03929092169190911790556040805180820190915260138152723732b9ba173b19973232b9ba393ab1ba34b7b760691b6020820152620018bb9062001296565b600f60016101000a8154816001600160a01b0302191690836001600160a01b0316021790555062001908604051806040016040528060048152602001631b995cdd60e21b81525062001296565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b600854604080516323b872dd60e01b81523260048201523060248201526044810184905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b1580156200198557600080fd5b505af11580156200199a573d6000803e3d6000fd5b505050506040513d6020811015620019b157600080fd5b5051620019bd57600080fd5b326000908152600d6020526040902054620019df908263ffffffff62001b4a16565b326000908152600d602052604090205550565b620019fd336200130f565b62001a3e576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b6000811162001a4c57600080fd5b600755565b62001a5c336200130f565b62001a9d576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b6000811162001ade5760405162461bcd60e51b8152600401808060200182810382526024815260200180620038416024913960400191505060405180910390fd5b600055565b60008262001af45750600062001b44565b8282028284828162001b0257fe5b041462001b415760405162461bcd60e51b8152600401808060200182810382526021815260200180620038656021913960400191505060405180910390fd5b90505b92915050565b60008282018381101562001b41576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b611c8d8062001bb48339019056fe60806040526012805462ffffff191690553480156200001d57600080fd5b5060405162001c8d38038062001c8d833981810160405260608110156200004357600080fd5b508051602080830151604093840151600280546001600160a01b0319163390811790915585516347f3bf4360e11b815260048082018690526024820152631b995cdd60e21b6044820152955194959294919390928392638fe77e8692606480840193919291829003018186803b158015620000bd57600080fd5b505afa158015620000d2573d6000803e3d6000fd5b505050506040513d6020811015620000e957600080fd5b5051600480546001600160a01b0319166001600160a01b03928316178155604080516347f3bf4360e11b8152602092810183905260086024820152676e6573744e6f646560c01b6044820152905192841692638fe77e8692606480840193919291829003018186803b1580156200015f57600080fd5b505afa15801562000174573d6000803e3d6000fd5b505050506040513d60208110156200018b57600080fd5b5051600580546001600160a01b039283166001600160a01b03199182161790915560008054878416908316811790915560078054909216179055604080516347f3bf4360e11b8152602060048201819052601360248301527f6e6573742e76332e6465737472756374696f6e000000000000000000000000006044830152915192841692638fe77e8692606480840193919291829003018186803b1580156200023357600080fd5b505afa15801562000248573d6000803e3d6000fd5b505050506040513d60208110156200025f57600080fd5b5051600880546001600160a01b0319166001600160a01b03928316179055326000908152601460209081526040918290208590556011859055426009558151631fbc156960e11b815291516200031993851692633f782ad2926004808301939192829003018186803b158015620002d557600080fd5b505afa158015620002ea573d6000803e3d6000fd5b505050506040513d60208110156200030157600080fd5b505160095490620009ef602090811b62000d6f17901c565b600a81905550806001600160a01b031663c179a3416040518163ffffffff1660e01b815260040160206040518083038186803b1580156200035957600080fd5b505afa1580156200036e573d6000803e3d6000fd5b505050506040513d60208110156200038557600080fd5b5051600e55604080516349a465a160e11b815290516001600160a01b03831691639348cb42916004808301926020929190829003018186803b158015620003cb57600080fd5b505afa158015620003e0573d6000803e3d6000fd5b505050506040513d6020811015620003f757600080fd5b5051600f55601280548415801563010000000263ff00000019909216919091179091556200069b57604080516347f3bf4360e11b8152602060048201819052601360248301527f6e6573742e76332e746f6b656e41626f6e757300000000000000000000000000604483015291516001600160a01b03841692638fe77e869260648082019391829003018186803b1580156200049257600080fd5b505afa158015620004a7573d6000803e3d6000fd5b505050506040513d6020811015620004be57600080fd5b5051600380546001600160a01b0319166001600160a01b039283161790819055604080516325d4675b60e11b815290516200055f936002931691634ba8ceb6916004808301926020929190829003018186803b1580156200051e57600080fd5b505afa15801562000533573d6000803e3d6000fd5b505050506040513d60208110156200054a57600080fd5b50519062000a53602090811b62000ded17901c565b60108190556200056e57600080fd5b6200069260646200067e836001600160a01b0316636990d9356040518163ffffffff1660e01b815260040160206040518083038186803b158015620005b257600080fd5b505afa158015620005c7573d6000803e3d6000fd5b505050506040513d6020811015620005de57600080fd5b5051600354600480546010546040805163da3bba0560e01b81526001600160a01b039384169481019490945260248401919091525192169163da3bba0591604480820192602092909190829003018186803b1580156200063d57600080fd5b505afa15801562000652573d6000803e3d6000fd5b505050506040513d60208110156200066957600080fd5b50519062000a9d602090811b62000ec117901c565b62000afb60201b62000f1a1790919060201c565b600c55620009c9565b604080516347f3bf4360e11b815260206004820181905260126024830152716e6573742e76332e6d696e696e675361766560701b604483015291516001600160a01b03841692638fe77e869260648082019391829003018186803b1580156200070357600080fd5b505afa15801562000718573d6000803e3d6000fd5b505050506040513d60208110156200072f57600080fd5b5051600680546001600160a01b0319166001600160a01b03928316179055604080516347f3bf4360e11b815260206004820181905260116024830152706e6573742e76332e746f6b656e5361766560781b6044830152915192841692638fe77e8692606480840193919291829003018186803b158015620007af57600080fd5b505afa158015620007c4573d6000803e3d6000fd5b505050506040513d6020811015620007db57600080fd5b5051600180546001600160a01b0319166001600160a01b0392831617905560408051636990d93560e01b81529051620009c5926064926200067e9291861691636990d93591600480820192602092909190829003018186803b1580156200084157600080fd5b505afa15801562000856573d6000803e3d6000fd5b505050506040513d60208110156200086d57600080fd5b505160048054600854604080516370a0823160e01b81526001600160a01b039283169481019490945251620009b19391909216916370a0823191602480820192602092909190829003018186803b158015620008c857600080fd5b505afa158015620008dd573d6000803e3d6000fd5b505050506040513d6020811015620008f457600080fd5b505160048054600654604080516370a0823160e01b81526001600160a01b0392831694810194909452516200099d9391909216916370a0823191602480820192602092909190829003018186803b1580156200094f57600080fd5b505afa15801562000964573d6000803e3d6000fd5b505050506040513d60208110156200097b57600080fd5b50516b204fce5e3e250261100000009062000a53602090811b62000ded17901c565b62000a5360201b62000ded1790919060201c565b62000a9d60201b62000ec11790919060201c565b600c555b600f5460115410620009e5576012805461ff0019166101001790555b5050505062000c49565b60008282018381101562000a4a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600062000a4a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525062000b4560201b60201c565b60008262000aae5750600062000a4d565b8282028284828162000abc57fe5b041462000a4a5760405162461bcd60e51b815260040180806020018281038252602181526020018062001c6c6021913960400191505060405180910390fd5b600062000a4a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000be060201b60201c565b6000818484111562000bd85760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562000b9c57818101518382015260200162000b82565b50505050905090810190601f16801562000bca5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000818362000c325760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831562000b9c57818101518382015260200162000b82565b50600083858162000c3f57fe5b0495945050505050565b6110138062000c596000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80639348cb42116100b8578063b7091a191161007c578063b7091a1914610222578063b962364614610246578063c179a3411461024e578063d86ef1bc14610256578063f400ff5f1461025e578063fe317ef41461026657610142565b80639348cb42146101e557806394bfed58146101ed578063a03100211461020a578063aa70cc4414610212578063b47247561461021a57610142565b80632f1eaa5a1161010a5780632f1eaa5a1461019557806339e8cbd81461019d5780636bb9885c146101a5578063723a3533146101af57806374d41429146101d55780638a208c08146101dd57610142565b80630425f52f146101475780630a08a830146101635780631c3c7b791461017d578063268dae5b1461018557806328b560481461018d575b600080fd5b61014f61028c565b604080519115158252519081900360200190f35b61016b61029d565b60408051918252519081900360200190f35b61016b6102a3565b61014f6102a9565b61016b6102b8565b61014f6102be565b61016b6102e6565b6101ad6102ec565b005b61016b600480360360208110156101c557600080fd5b50356001600160a01b031661056b565b6101ad610586565b61016b61082d565b61016b610833565b6101ad6004803603602081101561020357600080fd5b5035610839565b61014f61095e565b61014f61096c565b6101ad610975565b61022a610bce565b604080516001600160a01b039092168252519081900360200190f35b61016b610bdd565b61016b610be3565b6101ad610be9565b61016b610d4e565b61016b6004803603602081101561027c57600080fd5b50356001600160a01b0316610d54565b6012546301000000900460ff165b90565b60105490565b600b5490565b60125462010000900460ff1690565b600a5490565b60125460009060ff16806102d35750600a5442115b156102e05750600161029a565b50600090565b60115490565b601254610100900460ff161561036d576012546301000000900460ff161580610318575060125460ff16155b1561036857600a544211610368576040805162461bcd60e51b8152602060048201526012602482015271566f746520756e656e666f72636561626c6560701b604482015290519081900360640190fd5b61038d565b600e546009546103829163ffffffff610d6f16565b421161038d57600080fd5b326000908152601460205260409020546103a657600080fd5b60055432600081815260146020908152604080832054815163a9059cbb60e01b815260048101959095526024850152516001600160a01b039094169363a9059cbb93604480820194918390030190829087803b15801561040557600080fd5b505af1158015610419573d6000803e3d6000fd5b505050506040513d602081101561042f57600080fd5b505161043a57600080fd5b3260009081526014602090815260408083208390556004805482516370a0823160e01b8152309281019290925291516001600160a01b03909216926370a0823192602480840193829003018186803b15801561049557600080fd5b505afa1580156104a9573d6000803e3d6000fd5b505050506040513d60208110156104bf57600080fd5b5051600d549091506104d7908263ffffffff610d6f16565b600d55600480546008546040805163a9059cbb60e01b81526001600160a01b0392831694810194909452602484018590525191169163a9059cbb9160448083019260209291908290030181600087803b15801561053357600080fd5b505af1158015610547573d6000803e3d6000fd5b505050506040513d602081101561055d57600080fd5b505161056857600080fd5b50565b6001600160a01b031660009081526013602052604090205490565b6002546001600160a01b031633146105d4576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b600a54421115610622576040805162461bcd60e51b8152602060048201526014602482015273159bdd1a5b99c81d1a5b5948195e18d95959195960621b604482015290519081900360640190fd5b60125460ff161561066a576040805162461bcd60e51b815260206004820152600d60248201526c566f746520696e20666f72636560981b604482015290519081900360640190fd5b601254610100900460ff1661067e57600080fd5b32600090815260136020526040902054156106cd576040805162461bcd60e51b815260206004820152600a60248201526912185d99481d9bdd195960b21b604482015290519081900360640190fd5b6012546000906301000000900460ff16156107775760035460048054601054604080516336569b5d60e21b81526001600160a01b039384169481019490945260248401919091523260448401525192169163d95a6d7491606480820192602092909190829003018186803b15801561074457600080fd5b505afa158015610758573d6000803e3d6000fd5b505050506040513d602081101561076e57600080fd5b505190506107fd565b60015460048054604080516335c14f4560e11b815232938101939093526001600160a01b03918216602484015251921691636b829e8a91604480820192602092909190829003018186803b1580156107ce57600080fd5b505afa1580156107e2573d6000803e3d6000fd5b505050506040513d60208110156107f857600080fd5b505190505b326000908152601360205260409020819055600b54610822908263ffffffff610d6f16565b600b55610568610dd2565b60095490565b600f5490565b6002546001600160a01b03163314610887576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b600e5460095461089c9163ffffffff610d6f16565b4211156108e7576040805162461bcd60e51b8152602060048201526014602482015273159bdd1a5b99c81d1a5b5948195e18d95959195960621b604482015290519081900360640190fd5b601254610100900460ff16156108fc57600080fd5b3260009081526014602052604090205461091c908263ffffffff610d6f16565b3260009081526014602052604090205560115461093f908263ffffffff610d6f16565b6011819055600f5411610568576012805461ff00191661010017905550565b601254610100900460ff1690565b60125460ff1690565b6002546001600160a01b031633146109c3576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b60125462010000900460ff16156109d957600080fd5b6012805462ff000019166201000017908190556301000000900460ff1615610a4c5760125460ff16610a47576040805162461bcd60e51b8152602060048201526012602482015271566f746520756e656e666f72636561626c6560701b604482015290519081900360640190fd5b610aa5565b60125460ff168015610a5f5750600a5442115b610aa5576040805162461bcd60e51b8152602060048201526012602482015271566f746520756e656e666f72636561626c6560701b604482015290519081900360640190fd5b600254600080546040805163b6518bdb60e01b81526001600160a01b0392831660048201529051919093169263b6518bdb92602480830193919282900301818387803b158015610af457600080fd5b505af1158015610b08573d6000803e3d6000fd5b50506000805460408051634d536fe360e01b815290516001600160a01b039092169450634d536fe39350600480820193929182900301818387803b158015610b4f57600080fd5b505af1158015610b63573d6000803e3d6000fd5b5050600254600080546040805163c7d5505760e01b81526001600160a01b039283166004820152905191909316945063c7d55057935060248084019382900301818387803b158015610bb457600080fd5b505af1158015610bc8573d6000803e3d6000fd5b50505050565b6007546001600160a01b031690565b600c5490565b600e5490565b333214610c36576040805162461bcd60e51b8152602060048201526016602482015275125d0818d85b89dd08189948184818dbdb9d1c9858dd60521b604482015290519081900360640190fd5b600a54421115610c84576040805162461bcd60e51b8152602060048201526014602482015273159bdd1a5b99c81d1a5b5948195e18d95959195960621b604482015290519081900360640190fd5b60125460ff1615610ccc576040805162461bcd60e51b815260206004820152600d60248201526c566f746520696e20666f72636560981b604482015290519081900360640190fd5b32600090815260136020526040902054610d17576040805162461bcd60e51b81526020600482015260076024820152664e6f20766f746560c81b604482015290519081900360640190fd5b32600090815260136020526040902054600b54610d399163ffffffff610ded16565b600b5532600090815260136020526040812055565b600d5490565b6001600160a01b031660009081526014602052604090205490565b600082820183811015610dc9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600c54600b5410610deb576012805460ff191660011790555b565b6000610dc983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060008184841115610eb95760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e7e578181015183820152602001610e66565b50505050905090810190601f168015610eab5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082610ed057506000610dcc565b82820282848281610edd57fe5b0414610dc95760405162461bcd60e51b8152600401808060200182810382526021815260200180610fbd6021913960400191505060405180910390fd5b6000610dc983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060008183610fa65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e7e578181015183820152602001610e66565b506000838581610fb257fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122010ca6fc463ec15227c88f90eb2c6f4334c7cfcc42d601d8af8e8a5f990d3dea464736f6c63430006000033536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77506172616d65746572206e6565647320746f2062652067726561746572207468616e2030536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220e245d2fac7fb05efe6914180891050801ac814d143bf1b6854d3455aed0b190e64736f6c63430006000033
Deployed Bytecode
0x60806040523480156200001157600080fd5b5060043610620002385760003560e01c8063690055011162000135578063b3f0433c11620000bd578063c7d550571162000087578063c7d5505714620006c1578063ddc5e6d414620006ea578063e74f8ed514620006f4578063f6a71bf41462000714578063f7e99aae14620007345762000238565b8063b3f0433c1462000645578063b6518bdb146200066e578063baa01af01462000697578063c179a34114620006b75762000238565b80638fe77e8611620000ff5780638fe77e8614620005375780639348cb4214620005e3578063a3bf06f114620005ed578063b12d96f714620006165762000238565b80636900550114620004c45780636990d93514620004e45780636c515bce14620004ee5780636d4f769614620005175762000238565b80633a037b8b11620001c557806357a0dc46116200018f57806357a0dc4614620004735780635ce1e2ff146200047d578063631fad3614620004a657806363cd610614620004b0578063674086f614620004ba5762000238565b80633a037b8b14620003695780633f782ad2146200038957806353424cbf146200039357806353b1e09714620003bc5762000238565b806309ddd882116200020757806309ddd88214620002de5780630fb4441114620003075780631c2700d4146200033657806327af0b53146200035f5762000238565b80630425f52f146200023d578063056a5d75146200025b57806307ceb41414620002a057806309c3454414620002bc575b600080fd5b6200024762000754565b604080519115158252519081900360200190f35b62000284600480360360208110156200027357600080fd5b50356001600160a01b03166200075d565b604080516001600160a01b039092168252519081900360200190f35b620002aa6200077e565b60408051918252519081900360200190f35b620002dc60048036036020811015620002d457600080fd5b503562000784565b005b620002dc60048036036020811015620002f657600080fd5b50356001600160a01b0316620007f9565b620002dc600480360360408110156200031f57600080fd5b506001600160a01b038135169060200135620009a4565b620002dc600480360360208110156200034e57600080fd5b50356001600160a01b031662000ba2565b620002dc62000cfc565b620002dc600480360360208110156200038157600080fd5b503562000df7565b620002aa62000e48565b620002dc60048036036020811015620003ab57600080fd5b50356001600160a01b031662000e4e565b620002dc60048036036040811015620003d457600080fd5b810190602081018135640100000000811115620003f057600080fd5b8201836020820111156200040357600080fd5b803590602001918460018302840111640100000000831117156200042657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550505090356001600160a01b0316915062000ebb9050565b620002dc62000f8c565b62000247600480360360208110156200049557600080fd5b50356001600160a01b031662001162565b620002aa62001180565b620002aa62001186565b620002aa6200118c565b620002dc60048036036020811015620004dc57600080fd5b503562001192565b620002aa62001224565b620002aa600480360360208110156200050657600080fd5b50356001600160a01b03166200122a565b620002dc600480360360208110156200052f57600080fd5b503562001245565b62000284600480360360208110156200054f57600080fd5b8101906020810181356401000000008111156200056b57600080fd5b8201836020820111156200057e57600080fd5b80359060200191846001830284011164010000000083111715620005a157600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955062001296945050505050565b620002aa62001309565b62000247600480360360208110156200060557600080fd5b50356001600160a01b03166200130f565b620002dc600480360360408110156200062e57600080fd5b506001600160a01b0381351690602001356200132d565b62000247600480360360208110156200065d57600080fd5b50356001600160a01b031662001523565b620002dc600480360360208110156200068657600080fd5b50356001600160a01b03166200167a565b620002dc60048036036020811015620006af57600080fd5b5035620016ea565b620002aa6200177c565b620002dc60048036036020811015620006d957600080fd5b50356001600160a01b031662001782565b620002dc620017ef565b620002dc600480360360208110156200070c57600080fd5b50356200192a565b620002dc600480360360208110156200072c57600080fd5b5035620019f2565b620002dc600480360360208110156200074c57600080fd5b503562001a51565b600f5460ff1690565b6001600160a01b038082166000908152600c6020526040902054165b919050565b60065490565b6200078f336200130f565b620007d0576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b60008111620007de57600080fd5b620007f3816201518063ffffffff62001ae316565b60065550565b33321462000847576040805162461bcd60e51b8152602060048201526016602482015275125d0818d85b89dd08189948184818dbdb9d1c9858dd60521b604482015290519081900360640190fd5b6001600160a01b0381166000908152600e602052604090205460ff16620008b2576040805162461bcd60e51b815260206004820152601a602482015279125d09dcc81b9bdd0818481d9bdd1a5b99c818dbdb9d1c9858dd60321b604482015290519081900360640190fd5b6000819050806001600160a01b0316630425f52f6040518163ffffffff1660e01b815260040160206040518083038186803b158015620008f157600080fd5b505afa15801562000906573d6000803e3d6000fd5b505050506040513d60208110156200091d57600080fd5b5051600f5460ff161515901515146200093557600080fd5b6200094081620016c6565b806001600160a01b031663b47247566040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200097c57600080fd5b505af115801562000991573d6000803e3d6000fd5b50505050620009a081620017ce565b5050565b333214620009f2576040805162461bcd60e51b8152602060048201526016602482015275125d0818d85b89dd08189948184818dbdb9d1c9858dd60521b604482015290519081900360640190fd5b6001600160a01b0382166000908152600e602052604090205460ff1662000a5d576040805162461bcd60e51b815260206004820152601a602482015279125d09dcc81b9bdd0818481d9bdd1a5b99c818dbdb9d1c9858dd60321b604482015290519081900360640190fd5b600854604080516323b872dd60e01b81523260048201526001600160a01b038086166024830152604482018590529151859392909216916323b872dd916064808201926020929091908290030181600087803b15801562000abd57600080fd5b505af115801562000ad2573d6000803e3d6000fd5b505050506040513d602081101562000ae957600080fd5b505162000b3d576040805162461bcd60e51b815260206004820152601d60248201527f417574686f72697a6174696f6e207472616e73666572206661696c6564000000604482015290519081900360640190fd5b806001600160a01b03166394bfed58836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801562000b8457600080fd5b505af115801562000b99573d6000803e3d6000fd5b50505050505050565b33321462000bf0576040805162461bcd60e51b8152602060048201526016602482015275125d0818d85b89dd08189948184818dbdb9d1c9858dd60521b604482015290519081900360640190fd5b6001600160a01b0381166000908152600e602052604090205460ff1662000c5b576040805162461bcd60e51b815260206004820152601a602482015279125d09dcc81b9bdd0818481d9bdd1a5b99c818dbdb9d1c9858dd60321b604482015290519081900360640190fd5b62000c663362001523565b1562000c7157600080fd5b6000819050806001600160a01b03166374d414296040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000cb257600080fd5b505af115801562000cc7573d6000803e3d6000fd5b5050326000908152600c6020526040902080546001600160a01b0319166001600160a01b039590951694909417909355505050565b600f5460ff161562000d405760065460055462000d1f9163ffffffff62001b4a16565b421162000d2b57600080fd5b600f805460ff19169055600060055562000df5565b336000908152600d602052604090205462000d5a57600080fd5b600754600854604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801562000da957600080fd5b505afa15801562000dbe573d6000803e3d6000fd5b505050506040513d602081101562000dd557600080fd5b5051101562000de357600080fd5b600f805460ff19166001179055426005555b565b62000e02336200130f565b62000e43576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b600455565b60005490565b62000e59336200130f565b62000e9a576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b6001600160a01b03166000908152600e60205260409020805460ff19169055565b62000ec6336200130f565b62000f07576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b80600a836040518082805190602001908083835b6020831062000f3c5780518252601f19909201916020918201910162000f1b565b51815160209384036101000a6000190180199092169116179052920194855250604051938490030190922080546001600160a01b0319166001600160a01b03949094169390931790925550505050565b326000908152600d602052604090205462000fa657600080fd5b600854326000818152600d6020908152604080832054815163a9059cbb60e01b815260048101959095526024850152516001600160a01b039094169363a9059cbb93604480820194918390030190829087803b1580156200100657600080fd5b505af11580156200101b573d6000803e3d6000fd5b505050506040513d60208110156200103257600080fd5b50516200103e57600080fd5b326000908152600d6020908152604080832083905560095481516370a0823160e01b815230600482015291516001600160a01b03909116926370a082319260248082019391829003018186803b1580156200109857600080fd5b505afa158015620010ad573d6000803e3d6000fd5b505050506040513d6020811015620010c457600080fd5b5051600954600f546040805163a9059cbb60e01b81526001600160a01b036101009093048316600482015260248101859052905193945091169163a9059cbb916044808201926020929091908290030181600087803b1580156200112757600080fd5b505af11580156200113c573d6000803e3d6000fd5b505050506040513d60208110156200115357600080fd5b50516200115f57600080fd5b50565b6001600160a01b03166000908152600e602052604090205460ff1690565b60075490565b60055490565b60035490565b6200119d336200130f565b620011de576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b600081116200121f5760405162461bcd60e51b8152600401808060200182810382526024815260200180620038416024913960400191505060405180910390fd5b600255565b60025490565b6001600160a01b03166000908152600d602052604090205490565b62001250336200130f565b62001291576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b600355565b6000600a826040518082805190602001908083835b60208310620012cc5780518252601f199092019160209182019101620012ab565b51815160209384036101000a60001901801990921691161790529201948552506040519384900301909220546001600160a01b0316949350505050565b60045490565b6001600160a01b03166000908152600b602052604090205460ff1690565b3233146200137b576040805162461bcd60e51b8152602060048201526016602482015275125d0818d85b89dd08189948184818dbdb9d1c9858dd60521b604482015290519081900360640190fd5b6003548110156200138b57600080fd5b600f54604051600091849160ff909116908490620013a99062001ba5565b6001600160a01b03909316835290151560208301526040808301919091525190819003606001906000f080158015620013e6573d6000803e3d6000fd5b50600854604080516323b872dd60e01b81523260048201526001600160a01b0380851660248301526044820187905291519394509116916323b872dd916064808201926020929091908290030181600087803b1580156200144657600080fd5b505af11580156200145b573d6000803e3d6000fd5b505050506040513d60208110156200147257600080fd5b5051620014c6576040805162461bcd60e51b815260206004820152601d60248201527f417574686f72697a6174696f6e207472616e73666572206661696c6564000000604482015290519081900360640190fd5b6001600160a01b0381166000818152600e6020908152604091829020805460ff19166001179055815192835290517f1a0f921ce3c6f2f0f6be5b624a487bc1d5143e1fd1833154f39ab63e13d897559281900390910190a1505050565b6001600160a01b038181166000908152600c60205260408120549091166200154e5750600062000779565b6001600160a01b038083166000908152600c602090815260409182902054825163178f552d60e11b815292519316928392632f1eaa5a926004808301939192829003018186803b158015620015a257600080fd5b505afa158015620015b7573d6000803e3d6000fd5b505050506040513d6020811015620015ce57600080fd5b5051806200165e5750806001600160a01b031663723a3533846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156200162e57600080fd5b505afa15801562001643573d6000803e3d6000fd5b505050506040513d60208110156200165a57600080fd5b5051155b156200166f57600091505062000779565b600191505062000779565b62001685336200130f565b620016c6576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b6001600160a01b03166000908152600b60205260409020805460ff19166001179055565b620016f5336200130f565b62001736576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b60008111620017775760405162461bcd60e51b8152600401808060200182810382526024815260200180620038416024913960400191505060405180910390fd5b600155565b60015490565b6200178d336200130f565b620017ce576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b6001600160a01b03166000908152600b60205260409020805460ff19169055565b620017fa336200130f565b6200183b576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b62001866604051806040016040528060088152602001676e6573744e6f646560c01b81525062001296565b600880546001600160a01b0319166001600160a01b03929092169190911790556040805180820190915260138152723732b9ba173b19973232b9ba393ab1ba34b7b760691b6020820152620018bb9062001296565b600f60016101000a8154816001600160a01b0302191690836001600160a01b0316021790555062001908604051806040016040528060048152602001631b995cdd60e21b81525062001296565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b600854604080516323b872dd60e01b81523260048201523060248201526044810184905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b1580156200198557600080fd5b505af11580156200199a573d6000803e3d6000fd5b505050506040513d6020811015620019b157600080fd5b5051620019bd57600080fd5b326000908152600d6020526040902054620019df908263ffffffff62001b4a16565b326000908152600d602052604090205550565b620019fd336200130f565b62001a3e576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b6000811162001a4c57600080fd5b600755565b62001a5c336200130f565b62001a9d576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b6000811162001ade5760405162461bcd60e51b8152600401808060200182810382526024815260200180620038416024913960400191505060405180910390fd5b600055565b60008262001af45750600062001b44565b8282028284828162001b0257fe5b041462001b415760405162461bcd60e51b8152600401808060200182810382526021815260200180620038656021913960400191505060405180910390fd5b90505b92915050565b60008282018381101562001b41576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b611c8d8062001bb48339019056fe60806040526012805462ffffff191690553480156200001d57600080fd5b5060405162001c8d38038062001c8d833981810160405260608110156200004357600080fd5b508051602080830151604093840151600280546001600160a01b0319163390811790915585516347f3bf4360e11b815260048082018690526024820152631b995cdd60e21b6044820152955194959294919390928392638fe77e8692606480840193919291829003018186803b158015620000bd57600080fd5b505afa158015620000d2573d6000803e3d6000fd5b505050506040513d6020811015620000e957600080fd5b5051600480546001600160a01b0319166001600160a01b03928316178155604080516347f3bf4360e11b8152602092810183905260086024820152676e6573744e6f646560c01b6044820152905192841692638fe77e8692606480840193919291829003018186803b1580156200015f57600080fd5b505afa15801562000174573d6000803e3d6000fd5b505050506040513d60208110156200018b57600080fd5b5051600580546001600160a01b039283166001600160a01b03199182161790915560008054878416908316811790915560078054909216179055604080516347f3bf4360e11b8152602060048201819052601360248301527f6e6573742e76332e6465737472756374696f6e000000000000000000000000006044830152915192841692638fe77e8692606480840193919291829003018186803b1580156200023357600080fd5b505afa15801562000248573d6000803e3d6000fd5b505050506040513d60208110156200025f57600080fd5b5051600880546001600160a01b0319166001600160a01b03928316179055326000908152601460209081526040918290208590556011859055426009558151631fbc156960e11b815291516200031993851692633f782ad2926004808301939192829003018186803b158015620002d557600080fd5b505afa158015620002ea573d6000803e3d6000fd5b505050506040513d60208110156200030157600080fd5b505160095490620009ef602090811b62000d6f17901c565b600a81905550806001600160a01b031663c179a3416040518163ffffffff1660e01b815260040160206040518083038186803b1580156200035957600080fd5b505afa1580156200036e573d6000803e3d6000fd5b505050506040513d60208110156200038557600080fd5b5051600e55604080516349a465a160e11b815290516001600160a01b03831691639348cb42916004808301926020929190829003018186803b158015620003cb57600080fd5b505afa158015620003e0573d6000803e3d6000fd5b505050506040513d6020811015620003f757600080fd5b5051600f55601280548415801563010000000263ff00000019909216919091179091556200069b57604080516347f3bf4360e11b8152602060048201819052601360248301527f6e6573742e76332e746f6b656e41626f6e757300000000000000000000000000604483015291516001600160a01b03841692638fe77e869260648082019391829003018186803b1580156200049257600080fd5b505afa158015620004a7573d6000803e3d6000fd5b505050506040513d6020811015620004be57600080fd5b5051600380546001600160a01b0319166001600160a01b039283161790819055604080516325d4675b60e11b815290516200055f936002931691634ba8ceb6916004808301926020929190829003018186803b1580156200051e57600080fd5b505afa15801562000533573d6000803e3d6000fd5b505050506040513d60208110156200054a57600080fd5b50519062000a53602090811b62000ded17901c565b60108190556200056e57600080fd5b6200069260646200067e836001600160a01b0316636990d9356040518163ffffffff1660e01b815260040160206040518083038186803b158015620005b257600080fd5b505afa158015620005c7573d6000803e3d6000fd5b505050506040513d6020811015620005de57600080fd5b5051600354600480546010546040805163da3bba0560e01b81526001600160a01b039384169481019490945260248401919091525192169163da3bba0591604480820192602092909190829003018186803b1580156200063d57600080fd5b505afa15801562000652573d6000803e3d6000fd5b505050506040513d60208110156200066957600080fd5b50519062000a9d602090811b62000ec117901c565b62000afb60201b62000f1a1790919060201c565b600c55620009c9565b604080516347f3bf4360e11b815260206004820181905260126024830152716e6573742e76332e6d696e696e675361766560701b604483015291516001600160a01b03841692638fe77e869260648082019391829003018186803b1580156200070357600080fd5b505afa15801562000718573d6000803e3d6000fd5b505050506040513d60208110156200072f57600080fd5b5051600680546001600160a01b0319166001600160a01b03928316179055604080516347f3bf4360e11b815260206004820181905260116024830152706e6573742e76332e746f6b656e5361766560781b6044830152915192841692638fe77e8692606480840193919291829003018186803b158015620007af57600080fd5b505afa158015620007c4573d6000803e3d6000fd5b505050506040513d6020811015620007db57600080fd5b5051600180546001600160a01b0319166001600160a01b0392831617905560408051636990d93560e01b81529051620009c5926064926200067e9291861691636990d93591600480820192602092909190829003018186803b1580156200084157600080fd5b505afa15801562000856573d6000803e3d6000fd5b505050506040513d60208110156200086d57600080fd5b505160048054600854604080516370a0823160e01b81526001600160a01b039283169481019490945251620009b19391909216916370a0823191602480820192602092909190829003018186803b158015620008c857600080fd5b505afa158015620008dd573d6000803e3d6000fd5b505050506040513d6020811015620008f457600080fd5b505160048054600654604080516370a0823160e01b81526001600160a01b0392831694810194909452516200099d9391909216916370a0823191602480820192602092909190829003018186803b1580156200094f57600080fd5b505afa15801562000964573d6000803e3d6000fd5b505050506040513d60208110156200097b57600080fd5b50516b204fce5e3e250261100000009062000a53602090811b62000ded17901c565b62000a5360201b62000ded1790919060201c565b62000a9d60201b62000ec11790919060201c565b600c555b600f5460115410620009e5576012805461ff0019166101001790555b5050505062000c49565b60008282018381101562000a4a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600062000a4a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525062000b4560201b60201c565b60008262000aae5750600062000a4d565b8282028284828162000abc57fe5b041462000a4a5760405162461bcd60e51b815260040180806020018281038252602181526020018062001c6c6021913960400191505060405180910390fd5b600062000a4a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000be060201b60201c565b6000818484111562000bd85760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562000b9c57818101518382015260200162000b82565b50505050905090810190601f16801562000bca5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000818362000c325760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831562000b9c57818101518382015260200162000b82565b50600083858162000c3f57fe5b0495945050505050565b6110138062000c596000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80639348cb42116100b8578063b7091a191161007c578063b7091a1914610222578063b962364614610246578063c179a3411461024e578063d86ef1bc14610256578063f400ff5f1461025e578063fe317ef41461026657610142565b80639348cb42146101e557806394bfed58146101ed578063a03100211461020a578063aa70cc4414610212578063b47247561461021a57610142565b80632f1eaa5a1161010a5780632f1eaa5a1461019557806339e8cbd81461019d5780636bb9885c146101a5578063723a3533146101af57806374d41429146101d55780638a208c08146101dd57610142565b80630425f52f146101475780630a08a830146101635780631c3c7b791461017d578063268dae5b1461018557806328b560481461018d575b600080fd5b61014f61028c565b604080519115158252519081900360200190f35b61016b61029d565b60408051918252519081900360200190f35b61016b6102a3565b61014f6102a9565b61016b6102b8565b61014f6102be565b61016b6102e6565b6101ad6102ec565b005b61016b600480360360208110156101c557600080fd5b50356001600160a01b031661056b565b6101ad610586565b61016b61082d565b61016b610833565b6101ad6004803603602081101561020357600080fd5b5035610839565b61014f61095e565b61014f61096c565b6101ad610975565b61022a610bce565b604080516001600160a01b039092168252519081900360200190f35b61016b610bdd565b61016b610be3565b6101ad610be9565b61016b610d4e565b61016b6004803603602081101561027c57600080fd5b50356001600160a01b0316610d54565b6012546301000000900460ff165b90565b60105490565b600b5490565b60125462010000900460ff1690565b600a5490565b60125460009060ff16806102d35750600a5442115b156102e05750600161029a565b50600090565b60115490565b601254610100900460ff161561036d576012546301000000900460ff161580610318575060125460ff16155b1561036857600a544211610368576040805162461bcd60e51b8152602060048201526012602482015271566f746520756e656e666f72636561626c6560701b604482015290519081900360640190fd5b61038d565b600e546009546103829163ffffffff610d6f16565b421161038d57600080fd5b326000908152601460205260409020546103a657600080fd5b60055432600081815260146020908152604080832054815163a9059cbb60e01b815260048101959095526024850152516001600160a01b039094169363a9059cbb93604480820194918390030190829087803b15801561040557600080fd5b505af1158015610419573d6000803e3d6000fd5b505050506040513d602081101561042f57600080fd5b505161043a57600080fd5b3260009081526014602090815260408083208390556004805482516370a0823160e01b8152309281019290925291516001600160a01b03909216926370a0823192602480840193829003018186803b15801561049557600080fd5b505afa1580156104a9573d6000803e3d6000fd5b505050506040513d60208110156104bf57600080fd5b5051600d549091506104d7908263ffffffff610d6f16565b600d55600480546008546040805163a9059cbb60e01b81526001600160a01b0392831694810194909452602484018590525191169163a9059cbb9160448083019260209291908290030181600087803b15801561053357600080fd5b505af1158015610547573d6000803e3d6000fd5b505050506040513d602081101561055d57600080fd5b505161056857600080fd5b50565b6001600160a01b031660009081526013602052604090205490565b6002546001600160a01b031633146105d4576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b600a54421115610622576040805162461bcd60e51b8152602060048201526014602482015273159bdd1a5b99c81d1a5b5948195e18d95959195960621b604482015290519081900360640190fd5b60125460ff161561066a576040805162461bcd60e51b815260206004820152600d60248201526c566f746520696e20666f72636560981b604482015290519081900360640190fd5b601254610100900460ff1661067e57600080fd5b32600090815260136020526040902054156106cd576040805162461bcd60e51b815260206004820152600a60248201526912185d99481d9bdd195960b21b604482015290519081900360640190fd5b6012546000906301000000900460ff16156107775760035460048054601054604080516336569b5d60e21b81526001600160a01b039384169481019490945260248401919091523260448401525192169163d95a6d7491606480820192602092909190829003018186803b15801561074457600080fd5b505afa158015610758573d6000803e3d6000fd5b505050506040513d602081101561076e57600080fd5b505190506107fd565b60015460048054604080516335c14f4560e11b815232938101939093526001600160a01b03918216602484015251921691636b829e8a91604480820192602092909190829003018186803b1580156107ce57600080fd5b505afa1580156107e2573d6000803e3d6000fd5b505050506040513d60208110156107f857600080fd5b505190505b326000908152601360205260409020819055600b54610822908263ffffffff610d6f16565b600b55610568610dd2565b60095490565b600f5490565b6002546001600160a01b03163314610887576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b600e5460095461089c9163ffffffff610d6f16565b4211156108e7576040805162461bcd60e51b8152602060048201526014602482015273159bdd1a5b99c81d1a5b5948195e18d95959195960621b604482015290519081900360640190fd5b601254610100900460ff16156108fc57600080fd5b3260009081526014602052604090205461091c908263ffffffff610d6f16565b3260009081526014602052604090205560115461093f908263ffffffff610d6f16565b6011819055600f5411610568576012805461ff00191661010017905550565b601254610100900460ff1690565b60125460ff1690565b6002546001600160a01b031633146109c3576040805162461bcd60e51b815260206004820152600c60248201526b4e6f20617574686f7269747960a01b604482015290519081900360640190fd5b60125462010000900460ff16156109d957600080fd5b6012805462ff000019166201000017908190556301000000900460ff1615610a4c5760125460ff16610a47576040805162461bcd60e51b8152602060048201526012602482015271566f746520756e656e666f72636561626c6560701b604482015290519081900360640190fd5b610aa5565b60125460ff168015610a5f5750600a5442115b610aa5576040805162461bcd60e51b8152602060048201526012602482015271566f746520756e656e666f72636561626c6560701b604482015290519081900360640190fd5b600254600080546040805163b6518bdb60e01b81526001600160a01b0392831660048201529051919093169263b6518bdb92602480830193919282900301818387803b158015610af457600080fd5b505af1158015610b08573d6000803e3d6000fd5b50506000805460408051634d536fe360e01b815290516001600160a01b039092169450634d536fe39350600480820193929182900301818387803b158015610b4f57600080fd5b505af1158015610b63573d6000803e3d6000fd5b5050600254600080546040805163c7d5505760e01b81526001600160a01b039283166004820152905191909316945063c7d55057935060248084019382900301818387803b158015610bb457600080fd5b505af1158015610bc8573d6000803e3d6000fd5b50505050565b6007546001600160a01b031690565b600c5490565b600e5490565b333214610c36576040805162461bcd60e51b8152602060048201526016602482015275125d0818d85b89dd08189948184818dbdb9d1c9858dd60521b604482015290519081900360640190fd5b600a54421115610c84576040805162461bcd60e51b8152602060048201526014602482015273159bdd1a5b99c81d1a5b5948195e18d95959195960621b604482015290519081900360640190fd5b60125460ff1615610ccc576040805162461bcd60e51b815260206004820152600d60248201526c566f746520696e20666f72636560981b604482015290519081900360640190fd5b32600090815260136020526040902054610d17576040805162461bcd60e51b81526020600482015260076024820152664e6f20766f746560c81b604482015290519081900360640190fd5b32600090815260136020526040902054600b54610d399163ffffffff610ded16565b600b5532600090815260136020526040812055565b600d5490565b6001600160a01b031660009081526014602052604090205490565b600082820183811015610dc9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600c54600b5410610deb576012805460ff191660011790555b565b6000610dc983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060008184841115610eb95760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e7e578181015183820152602001610e66565b50505050905090810190601f168015610eab5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082610ed057506000610dcc565b82820282848281610edd57fe5b0414610dc95760405162461bcd60e51b8152600401808060200182810382526021815260200180610fbd6021913960400191505060405180910390fd5b6000610dc983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060008183610fa65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e7e578181015183820152602001610e66565b506000838581610fb257fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122010ca6fc463ec15227c88f90eb2c6f4334c7cfcc42d601d8af8e8a5f990d3dea464736f6c63430006000033536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77506172616d65746572206e6565647320746f2062652067726561746572207468616e2030536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220e245d2fac7fb05efe6914180891050801ac814d143bf1b6854d3455aed0b190e64736f6c63430006000033
Deployed Bytecode Sourcemap
102:11865:0:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;102:11865:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8170:103;;;:::i;:::-;;;;;;;;;;;;;;;;;;7200:104;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7200:104:0;-1:-1:-1;;;;;7200:104:0;;:::i;:::-;;;;-1:-1:-1;;;;;7200:104:0;;;;;;;;;;;;;;8501:110;;;:::i;:::-;;;;;;;;;;;;;;;;10216:147;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10216:147:0;;:::i;:::-;;4498:526;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4498:526:0;-1:-1:-1;;;;;4498:526:0;;:::i;3888:499::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3888:499:0;;;;;;;;:::i;3273:449::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3273:449:0;-1:-1:-1;;;;;3273:449:0;;:::i;5987:472::-;;;:::i;10062:97::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10062:97:0;;:::i;7347:92::-;;;:::i;11536:127::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11536:127:0;-1:-1:-1;;;;;11536:127:0;;:::i;10792:149::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10792:149:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;10792:149:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;10792:149:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;10792:149:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;10792:149:0;;-1:-1:-1;;;10792:149:0;;-1:-1:-1;;;;;10792:149:0;;-1:-1:-1;10792:149:0;;-1:-1:-1;10792:149:0:i;5508:415::-;;;:::i;9024:135::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9024:135:0;-1:-1:-1;;;;;9024:135:0;;:::i;8867:108::-;;;:::i;8338:100::-;;;:::i;7842:98::-;;;:::i;9621:181::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9621:181:0;;:::i;7645:116::-;;;:::i;8673:122::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8673:122:0;-1:-1:-1;;;;;8673:122:0;;:::i;9884:96::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9884:96:0;;:::i;10606:136::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10606:136:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;10606:136:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;10606:136:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;10606:136:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;10606:136:0;;-1:-1:-1;10606:136:0;;-1:-1:-1;;;;;10606:136:0:i;8016:100::-;;;:::i;11716:108::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11716:108:0;-1:-1:-1;;;;;11716:108:0;;:::i;2579:584::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2579:584:0;;;;;;;;:::i;6613:410::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6613:410:0;-1:-1:-1;;;;;6613:410:0;;:::i;10989:108::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10989:108:0;-1:-1:-1;;;;;10989:108:0;;:::i;9410:161::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9410:161:0;;:::i;7492:96::-;;;:::i;11259:112::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11259:112:0;-1:-1:-1;;;;;11259:112:0;;:::i;2147:240::-;;;:::i;5162:254::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5162:254:0;;:::i;10438:133::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10438:133:0;;:::i;9199:157::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9199:157:0;;:::i;8170:103::-;8248:17;;;;8170:103;:::o;7200:104::-;-1:-1:-1;;;;;7283:13:0;;;7256:7;7283:13;;;:7;:13;;;;;;;7200:104;;;;:::o;8501:110::-;8584:19;;8501:110;:::o;10216:147::-;11904:23;11916:10;11904:11;:23::i;:::-;11896:48;;;;;-1:-1:-1;;;11896:48:0;;;;;;;;;;;;-1:-1:-1;;;11896:48:0;;;;;;;;;;;;;;;10305:1:::1;10299:3;:7;10291:16;;;::::0;::::1;;10340:15;:3:::0;10348:6:::1;10340:15;:7;:15;:::i;:::-;10318:19;:37:::0;-1:-1:-1;10216:147:0:o;4498:526::-;4578:10;4601:9;4570:41;4562:76;;;;;-1:-1:-1;;;4562:76:0;;;;;;;;;;;;-1:-1:-1;;;4562:76:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;4657:30:0;;;;;;:13;:30;;;;;;;;4649:69;;;;;-1:-1:-1;;;4649:69:0;;;;;;;;;;;;-1:-1:-1;;;4649:69:0;;;;;;;;;;;;;;;4729:31;4783:15;4729:70;;4839:11;-1:-1:-1;;;;;4839:33:0;;:35;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4839:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4839:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4839:35:0;4818:17;;;;:56;;;;;;4810:65;;;;;;4886:40;4913:11;4886:18;:40::i;:::-;4937:11;-1:-1:-1;;;;;4937:23:0;;:25;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4937:25:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4937:25:0;;;;4973:43;5003:11;4973:21;:43::i;:::-;4498:526;;:::o;3888:499::-;3987:10;4010:9;3979:41;3971:76;;;;;-1:-1:-1;;;3971:76:0;;;;;;;;;;;;-1:-1:-1;;;3971:76:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;4066:30:0;;;;;;:13;:30;;;;;;;;4058:69;;;;;-1:-1:-1;;;4058:69:0;;;;;;;;;;;;-1:-1:-1;;;4058:69:0;;;;;;;;;;;;;;;4227:8;;:73;;;-1:-1:-1;;;4227:73:0;;4257:9;4227:73;;;;-1:-1:-1;;;;;4227:73:0;;;;;;;;;;;;;;;4192:15;;4227:8;;;;;:21;;:73;;;;;;;;;;;;;;;4138:31;4227:8;:73;;;5:2:-1;;;;30:1;27;20:12;5:2;4227:73:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4227:73:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4227:73:0;4219:115;;;;;-1:-1:-1;;;4219:115:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4345:11;-1:-1:-1;;;;;4345:24:0;;4370:8;4345:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4345:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4345:34:0;;;;3888:499;;;:::o;3273:449::-;3350:10;3373:9;3342:41;3334:76;;;;;-1:-1:-1;;;3334:76:0;;;;;;;;;;;;-1:-1:-1;;;3334:76:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;3429:30:0;;;;;;:13;:30;;;;;;;;3421:69;;;;;-1:-1:-1;;;3421:69:0;;;;;;;;;;;;-1:-1:-1;;;3421:69:0;;;;;;;;;;;;;;;3510:33;3531:10;3510:12;:33::i;:::-;3509:34;3501:43;;;;;;3555:31;3609:15;3555:70;;3636:11;-1:-1:-1;;;;;3636:20:0;;:22;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3636:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;3685:9:0;3669:27;;;;:7;:27;;;;;:45;;-1:-1:-1;;;;;;3669:45:0;-1:-1:-1;;;;;3669:45:0;;;;;;;;;;;-1:-1:-1;;;3273:449:0:o;5987:472::-;6043:17;;;;6039:413;;;6110:19;;6091:14;;:39;;;:18;:39;:::i;:::-;6085:3;:45;6077:54;;;;;;6146:17;:25;;-1:-1:-1;;6146:25:0;;;6166:5;6186:14;:18;6039:413;;;6270:10;6285:1;6245:37;;;:16;:37;;;;;;6237:50;;;;;;6347:18;;6310:8;;:33;;;-1:-1:-1;;;6310:33:0;;6337:4;6310:33;;;;;;-1:-1:-1;;;;;6310:8:0;;;;:18;;:33;;;;;;;;;;;;;;;:8;:33;;;5:2:-1;;;;30:1;27;20:12;5:2;6310:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6310:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6310:33:0;:55;;6302:64;;;;;;6381:17;:24;;-1:-1:-1;;6381:24:0;6401:4;6381:24;;;6437:3;6420:14;:20;6039:413;5987:472::o;10062:97::-;11904:23;11916:10;11904:11;:23::i;:::-;11896:48;;;;;-1:-1:-1;;;11896:48:0;;;;;;;;;;;;-1:-1:-1;;;11896:48:0;;;;;;;;;;;;;;;10131:14:::1;:20:::0;10062:97::o;7347:92::-;7394:7;7421:10;7347:92;:::o;11536:127::-;11904:23;11916:10;11904:11;:23::i;:::-;11896:48;;;;;-1:-1:-1;;;11896:48:0;;;;;;;;;;;;-1:-1:-1;;;11896:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;11617:30:0::1;11650:5;11617:30:::0;;;:13:::1;:30;::::0;;;;:38;;-1:-1:-1;;11617:38:0::1;::::0;;11536:127::o;10792:149::-;11904:23;11916:10;11904:11;:23::i;:::-;11896:48;;;;;-1:-1:-1;;;11896:48:0;;;;;;;;;;;;-1:-1:-1;;;11896:48:0;;;;;;;;;;;;;;;10918:15:::1;10893:16;10910:4;10893:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10:::0;;164:23;;-1:-1;;139:12;;;;98:2:::1;89:12:::0;;::::1;::::0;114::::1;36:153;;;299:10:::0;344;;263:2:::1;259:12:::0;;::::1;254:3;250:22;-1:-1:::0;;246:30;311:9;::::1;295:26:::0;;::::1;340:21:::0;::::1;377:20;365:33:::0;;10893:22:0;::::1;::::0;;;-1:-1:-1;10893:22:0::1;::::0;;;;;;;;;:40;;-1:-1:-1;;;;;;10893:40:0::1;-1:-1:-1::0;;;;;10893:40:0;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;;;;10792:149:0:o;5508:415::-;5605:9;5619:1;5580:36;;;:16;:36;;;;;;5572:49;;;;;;5640:8;;5666:9;5640:8;5678:36;;;:16;:36;;;;;;;;;5640:75;;-1:-1:-1;;;5640:75:0;;;;;;;;;;;;;;-1:-1:-1;;;;;5640:8:0;;;;:17;;:75;;;;;;;;;;;;;:8;:75;;;5:2:-1;;;;30:1;27;20:12;5:2;5640:75:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5640:75:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5640:75:0;5632:84;;;;;;5752:9;5766:1;5727:36;;;:16;:36;;;;;;;;:40;;;5799:10;;:35;;-1:-1:-1;;;5799:35:0;;5828:4;5799:35;;;;;;-1:-1:-1;;;;;5799:10:0;;;;:20;;:35;;;;;;;;;;;:10;:35;;;5:2:-1;;;;30:1;27;20:12;5:2;5799:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5799:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5799:35:0;5853:10;;5881:19;;5853:61;;;-1:-1:-1;;;5853:61:0;;-1:-1:-1;;;;;5853:10:0;5881:19;;;;;5853:61;;;;;;;;;;;;5799:35;;-1:-1:-1;5853:10:0;;;:19;;:61;;;;;5799:35;;5853:61;;;;;;;;-1:-1:-1;5853:10:0;:61;;;5:2:-1;;;;30:1;27;20:12;5:2;5853:61:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5853:61:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5853:61:0;5845:70;;;;;;5508:415;:::o;9024:135::-;-1:-1:-1;;;;;9121:30:0;9097:4;9121:30;;;:13;:30;;;;;;;;;9024:135::o;8867:108::-;8949:18;;8867:108;:::o;8338:100::-;8416:14;;8338:100;:::o;7842:98::-;7919:13;;7842:98;:::o;9621:181::-;11904:23;11916:10;11904:11;:23::i;:::-;11896:48;;;;;-1:-1:-1;;;11896:48:0;;;;;;;;;;;;-1:-1:-1;;;11896:48:0;;;;;;;;;;;;;;;9713:1:::1;9707:3;:7;9699:56;;;;-1:-1:-1::0;;;9699:56:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9766:22;:28:::0;9621:181::o;7645:116::-;7731:22;;7645:116;:::o;8673:122::-;-1:-1:-1;;;;;8765:22:0;8738:7;8765:22;;;:16;:22;;;;;;;8673:122::o;9884:96::-;11904:23;11916:10;11904:11;:23::i;:::-;11896:48;;;;;-1:-1:-1;;;11896:48:0;;;;;;;;;;;;-1:-1:-1;;;11896:48:0;;;;;;;;;;;;;;;9953:13:::1;:19:::0;9884:96::o;10606:136::-;10669:23;10712:16;10729:4;10712:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;10712:22:0;;;;;-1:-1:-1;10712:22:0;;;;;;;;;;;-1:-1:-1;;;;;10712:22:0;;10606:136;-1:-1:-1;;;;10606:136:0:o;8016:100::-;8094:14;;8016:100;:::o;11716:108::-;-1:-1:-1;;;;;11795:21:0;11771:4;11795:21;;;:16;:21;;;;;;;;;11716:108::o;2579:584::-;2684:9;2706:10;2676:41;2668:76;;;;;-1:-1:-1;;;2668:76:0;;;;;;;;;;;;-1:-1:-1;;;2668:76:0;;;;;;;;;;;;;;;2781:13;;2763:14;:31;;2755:40;;;;;;2883:17;;2840:77;;2806:31;;2864:17;;2883;;;;;2902:14;;2840:77;;;:::i;:::-;-1:-1:-1;;;;;2840:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2840:77:0;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;2936:8:0;;:79;;;-1:-1:-1;;;2936:79:0;;2966:9;2936:79;;;;-1:-1:-1;;;;;2936:79:0;;;;;;;;;;;;;;;2806:111;;-1:-1:-1;2936:8:0;;;:21;;:79;;;;;;;;;;;;;;;:8;;:79;;;5:2:-1;;;;30:1;27;20:12;5:2;2936:79:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2936:79:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2936:79:0;2928:121;;;;;-1:-1:-1;;;2928:121:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3060:35:0;;;;;;:13;:35;;;;;;;;;:42;;-1:-1:-1;;3060:42:0;3098:4;3060:42;;;3118:37;;;;;;;;;;;;;;;;;2579:584;;;:::o;6613:410::-;-1:-1:-1;;;;;6691:13:0;;;6670:4;6691:13;;;:7;:13;;;;;;6670:4;;6691:13;6687:329;;-1:-1:-1;6744:5:0;6737:12;;6687:329;-1:-1:-1;;;;;6829:13:0;;;6782:24;6829:13;;;:7;:13;;;;;;;;;;6862:29;;-1:-1:-1;;;6862:29:0;;;;6829:13;;;;;6862:27;;:29;;;;;6829:13;;6862:29;;;;;6829:13;6862:29;;;5:2:-1;;;;30:1;27;20:12;5:2;6862:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6862:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6862:29:0;;:68;;;6895:4;-1:-1:-1;;;;;6895:24:0;;6920:4;6895:30;;;;;;;;;;;;;-1:-1:-1;;;;;6895:30:0;-1:-1:-1;;;;;6895:30:0;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6895:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6895:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6895:30:0;:35;6862:68;6858:121;;;6958:5;6951:12;;;;;6858:121;7000:4;6993:11;;;;;10989:108;11904:23;11916:10;11904:11;:23::i;:::-;11896:48;;;;;-1:-1:-1;;;11896:48:0;;;;;;;;;;;;-1:-1:-1;;;11896:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;11056:26:0::1;;::::0;;;:16:::1;:26;::::0;;;;:33;;-1:-1:-1;;11056:33:0::1;11085:4;11056:33;::::0;;10989:108::o;9410:161::-;11904:23;11916:10;11904:11;:23::i;:::-;11896:48;;;;;-1:-1:-1;;;11896:48:0;;;;;;;;;;;;-1:-1:-1;;;11896:48:0;;;;;;;;;;;;;;;9492:1:::1;9486:3;:7;9478:56;;;;-1:-1:-1::0;;;9478:56:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9545:12;:18:::0;9410:161::o;7492:96::-;7568:12;;7492:96;:::o;11259:112::-;11904:23;11916:10;11904:11;:23::i;:::-;11896:48;;;;;-1:-1:-1;;;11896:48:0;;;;;;;;;;;;-1:-1:-1;;;11896:48:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;11329:26:0::1;11358:5;11329:26:::0;;;:16:::1;:26;::::0;;;;:34;;-1:-1:-1;;11329:34:0::1;::::0;;11259:112::o;2147:240::-;11904:23;11916:10;11904:11;:23::i;:::-;11896:48;;;;;-1:-1:-1;;;11896:48:0;;;;;;;;;;;;-1:-1:-1;;;11896:48:0;;;;;;;;;;;;;;;2217:24:::1;;;;;;;;;;;;;;-1:-1:-1::0;;;2217:24:0::1;;::::0;:12:::1;:24::i;:::-;2200:8;:42:::0;;-1:-1:-1;;;;;;2200:42:0::1;-1:-1:-1::0;;;;;2200:42:0;;;::::1;::::0;;;::::1;::::0;;2283:35:::1;::::0;;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;;2283:35:0::1;::::0;::::1;::::0;::::1;::::0;:12:::1;:35::i;:::-;2253:19;;:66;;;;;-1:-1:-1::0;;;;;2253:66:0::1;;;;;-1:-1:-1::0;;;;;2253:66:0::1;;;;;;2357:20;;;;;;;;;;;;;;-1:-1:-1::0;;;2357:20:0::1;;::::0;:12:::1;:20::i;:::-;2330:10;:49:::0;;-1:-1:-1;;;;;;2330:49:0::1;-1:-1:-1::0;;;;;2330:49:0;;;::::1;::::0;;;::::1;::::0;;2147:240::o;5162:254::-;5245:8;;:64;;;-1:-1:-1;;;5245:64:0;;5275:9;5245:64;;;;5295:4;5245:64;;;;;;;;;;;;-1:-1:-1;;;;;5245:8:0;;;;:21;;:64;;;;;;;;;;;;;;;:8;;:64;;;5:2:-1;;;;30:1;27;20:12;5:2;5245:64:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5245:64:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5245:64:0;5237:73;;;;;;5385:9;5360:36;;;;:16;:36;;;;;;:48;;5401:6;5360:48;:40;:48;:::i;:::-;5346:9;5321:36;;;;:16;:36;;;;;:87;-1:-1:-1;5162:254:0:o;10438:133::-;11904:23;11916:10;11904:11;:23::i;:::-;11896:48;;;;;-1:-1:-1;;;11896:48:0;;;;;;;;;;;;-1:-1:-1;;;11896:48:0;;;;;;;;;;;;;;;10526:1:::1;10520:3;:7;10512:16;;;::::0;::::1;;10539:18;:24:::0;10438:133::o;9199:157::-;11904:23;11916:10;11904:11;:23::i;:::-;11896:48;;;;;-1:-1:-1;;;11896:48:0;;;;;;;;;;;;-1:-1:-1;;;11896:48:0;;;;;;;;;;;;;;;9279:1:::1;9273:3;:7;9265:56;;;;-1:-1:-1::0;;;9265:56:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9332:10;:16:::0;9199:157::o;24883:248::-;24941:7;24965:6;24961:47;;-1:-1:-1;24995:1:0;24988:8;;24961:47;25030:5;;;25034:1;25030;:5;:1;25054:5;;;;;:10;25046:56;;;;-1:-1:-1;;;25046:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25122:1;-1:-1:-1;24883:248:0;;;;;:::o;24356:181::-;24414:7;24446:5;;;24470:6;;;;24462:46;;;;;-1:-1:-1;;;24462:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;102:11865;;;;;;;;:::o
Swarm Source
ipfs://e245d2fac7fb05efe6914180891050801ac814d143bf1b6854d3455aed0b190e
Loading...
Loading
Loading...
Loading
OVERVIEW
NEST voting contract address.Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.