ERC-20
Overview
Max Total Supply
5,000,000,000 APCG
Holders
1,530
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x86CF4BE0...Ead0b99D6 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
StandardToken
Compiler Version
v0.4.24+commit.e67f0147
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-12-30 */ pragma solidity ^0.4.24; library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(c / a == b); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a / b; return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() public { owner = msg.sender; } modifier onlyOwner() { require(msg.sender == owner); _; } function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0)); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } } contract Manager is Ownable { address[] managers; modifier onlyManagers() { bool exist = false; if(owner == msg.sender) { exist = true; } else { uint index = 0; (exist, index) = existManager(msg.sender); } require(exist); _; } function getManagers() public view returns (address[] memory){ return managers; } function existManager(address _to) private view returns (bool, uint) { for (uint i = 0 ; i < managers.length; i++) { if (managers[i] == _to) { return (true, i); } } return (false, 0); } function addManager(address _to) onlyOwner public { bool exist = false; uint index = 0; (exist, index) = existManager(_to); require(!exist); managers.push(_to); } function deleteManager(address _to) onlyOwner public { bool exist = false; uint index = 0; (exist, index) = existManager(_to); require(exist); uint lastElementIndex = managers.length - 1; managers[index] = managers[lastElementIndex]; delete managers[managers.length - 1]; managers.length--; } } contract Pausable is Manager { event Pause(); event Unpause(); bool public paused = false; modifier whenNotPaused() { require(!paused); _; } modifier whenPaused() { require(paused); _; } function pause() onlyManagers whenNotPaused public { paused = true; emit Pause(); } function unpause() onlyManagers whenPaused public { paused = false; emit Unpause(); } } contract ERC20 { function totalSupply() public view returns (uint256); function balanceOf(address who) public view returns (uint256); function allowance(address owner, address spender) public view returns (uint256); function transfer(address to, uint256 value) public returns (bool); function approve(address spender, uint256 value) public returns (bool); function transferFrom(address from, address to, uint256 value) public returns (bool); event Approval(address indexed owner, address indexed spender, uint256 value); event Transfer(address indexed from, address indexed to, uint256 value); } contract Token is ERC20, Pausable { struct sUserInfo { uint256 balance; bool lock; mapping(address => uint256) allowed; } using SafeMath for uint256; string public name; string public symbol; uint8 public decimals; uint256 public totalSupply; mapping(address => sUserInfo) user; event Burn(uint256 value); function () public payable { revert(); } function validTransfer(address _from, address _to, uint256 _value, bool _lockCheck) internal view returns (bool) { require(_to != address(this)); require(_to != address(0)); require(user[_from].balance >= _value); if(_lockCheck) { require(user[_from].lock == false); } } function lock(address _owner) public onlyManagers returns (bool) { require(user[_owner].lock == false); user[_owner].lock = true; return true; } function unlock(address _owner) public onlyManagers returns (bool) { require(user[_owner].lock == true); user[_owner].lock = false; return true; } function burn(uint256 _value) public onlyOwner returns (bool) { require(_value <= user[msg.sender].balance); user[msg.sender].balance = user[msg.sender].balance.sub(_value); totalSupply = totalSupply.sub(_value); emit Burn(_value); return true; } function approve(address _spender, uint256 _value) public whenNotPaused returns (bool) { require(_value == 0 || user[msg.sender].allowed[_spender] == 0); user[msg.sender].allowed[_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } function transferFrom(address _from, address _to, uint256 _value) public whenNotPaused returns (bool) { validTransfer(_from, _to, _value, true); require(_value <= user[_from].allowed[msg.sender]); user[_from].balance = user[_from].balance.sub(_value); user[_to].balance = user[_to].balance.add(_value); user[_from].allowed[msg.sender] = user[_from].allowed[msg.sender].sub(_value); emit Transfer(_from, _to, _value); return true; } function transfer(address _to, uint256 _value) public whenNotPaused returns (bool) { validTransfer(msg.sender, _to, _value, true); user[msg.sender].balance = user[msg.sender].balance.sub(_value); user[_to].balance = user[_to].balance.add(_value); emit Transfer(msg.sender, _to, _value); return true; } function totalSupply() public view returns (uint256) { return totalSupply; } function balanceOf(address _owner) public view returns (uint256) { return user[_owner].balance; } function lockState(address _owner) public view returns (bool) { return user[_owner].lock; } function allowance(address _owner, address _spender) public view returns (uint256) { return user[_owner].allowed[_spender]; } } contract LockBalance is Manager { struct sLockInfo { uint256[] lockBalanceStandard; uint256[] endTime; } using SafeMath for uint256; mapping(address => sLockInfo) lockUser; event Lock(address indexed from, uint256 value, uint256 endTime); function setLockUser(address _to, uint256 _value, uint256 _endTime) onlyManagers public { require(_endTime > now); require(_value > 0); lockUser[_to].lockBalanceStandard.push(_value); lockUser[_to].endTime.push(_endTime); emit Lock(_to, _value, _endTime); } function setLockUsers(address[] _to, uint256[] _value, uint256[] _endTime) onlyManagers public { require(_to.length > 0); require(_to.length == _value.length); require(_to.length == _endTime.length); for(uint256 i = 0; i < _to.length; i++){ setLockUser(_to[i], _value[i], _endTime[i]); } } function lockBalanceIndividual(address _owner, uint _index) internal view returns (uint256) { if(now < lockUser[_owner].endTime[_index]) { return lockUser[_owner].lockBalanceStandard[_index]; } else { return 0; } } function clearLockUserInfo(address _holder) onlyManagers public { lockUser[_holder].endTime.length = 0; lockUser[_holder].lockBalanceStandard.length = 0; } function deleteLockUserInfoIdx(address _holder, uint256 idx) onlyManagers public { require(idx < lockUser[_holder].endTime.length); if (idx != lockUser[_holder].endTime.length - 1) { lockUser[_holder].endTime[idx] = lockUser[_holder].endTime[lockUser[_holder].endTime.length - 1]; lockUser[_holder].lockBalanceStandard[idx] = lockUser[_holder].lockBalanceStandard[lockUser[_holder].lockBalanceStandard.length - 1]; } lockUser[_holder].endTime.length--; lockUser[_holder].lockBalanceStandard.length--; } function _deleteLockUserInfo(address _to, uint256 _endTime) internal { bool isExists = false; uint256 index = 0; for(uint256 i = 0; i < lockUser[_to].endTime.length; i++) { if(lockUser[_to].endTime[i] == _endTime) { isExists = true; index = i; break; } } require(isExists); deleteLockUserInfoIdx(_to, index); } function deleteLockUserInfos(address _to, uint256[] _endTime) onlyManagers public { for(uint256 i = 0; i < _endTime.length; i++){ _deleteLockUserInfo(_to, _endTime[i]); } } function lockUserInfo(address _owner, uint256 idx) public view returns (uint256, uint256) { return ( lockUser[_owner].lockBalanceStandard[idx], lockUser[_owner].endTime[idx]); } function lockUserInfo(address _owner) public view returns (uint256[], uint256[]) { return ( lockUser[_owner].lockBalanceStandard, lockUser[_owner].endTime); } function lockBalanceAll(address _owner) public view returns (uint256) { uint256 lockBalance = 0; for(uint256 i = 0; i < lockUser[_owner].lockBalanceStandard.length; i++){ lockBalance = lockBalance.add(lockBalanceIndividual(_owner, i)); } return lockBalance; } } contract StandardToken is Token, LockBalance { bool public isFinishRestore = false; bool public isFinishMint = false; constructor(string memory name_, string memory symbol_, uint8 decimals_, uint256 supply_) public { name = name_; symbol = symbol_; decimals = decimals_; uint256 initialSupply = supply_; totalSupply = initialSupply * 10 ** uint(decimals); user[owner].balance = totalSupply; emit Transfer(address(0), owner, totalSupply); } function validTransfer(address _from, address _to, uint256 _value, bool _lockCheck) internal view returns (bool) { super.validTransfer(_from, _to, _value, _lockCheck); if(_lockCheck) { require(_value <= useBalanceOf(_from)); } } function transferWithtLockUser(address _to, uint256 _amount, uint256[] _lockAmount, uint256[] _endTime) onlyManagers public { require(_lockAmount.length > 0); require(_lockAmount.length == _endTime.length); transfer(_to, _amount); for(uint256 i = 0; i < _lockAmount.length; i++){ setLockUser(_to, _lockAmount[i], _endTime[i]); } } function useBalanceOf(address _owner) public view returns (uint256) { return balanceOf(_owner).sub(lockBalanceAll(_owner)); } function finishMint() onlyOwner public { isFinishMint = true; } function finishRestore() onlyOwner public { isFinishRestore = true; } function mint(address _owner, uint256 _value) onlyOwner public returns (bool) { require(!isFinishMint); require(_value > 0); user[_owner].balance = user[_owner].balance.add(_value); totalSupply = totalSupply.add(_value); emit Transfer(this, _owner, _value); return true; } function transferRestore(address _from, address _to, uint256 _value) public onlyOwner returns (bool) { require(!isFinishRestore); require(user[_from].balance >= _value); require(_value > 0); user[_from].balance = user[_from].balance.sub(_value); user[_to].balance = user[_to].balance.add(_value); emit Transfer(_from, _to, _value); return true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"lockBalanceAll","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_endTime","type":"uint256"}],"name":"setLockUser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_holder","type":"address"}],"name":"clearLockUserInfo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"idx","type":"uint256"}],"name":"lockUserInfo","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"}],"name":"addManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"unlock","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isFinishRestore","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_value","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferRestore","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_holder","type":"address"},{"name":"idx","type":"uint256"}],"name":"deleteLockUserInfoIdx","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isFinishMint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"useBalanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address[]"},{"name":"_value","type":"uint256[]"},{"name":"_endTime","type":"uint256[]"}],"name":"setLockUsers","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finishRestore","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"lockState","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"}],"name":"deleteManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_endTime","type":"uint256[]"}],"name":"deleteLockUserInfos","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getManagers","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"lockUserInfo","outputs":[{"name":"","type":"uint256[]"},{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_lockAmount","type":"uint256[]"},{"name":"_endTime","type":"uint256[]"}],"name":"transferWithtLockUser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finishMint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"lock","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"name_","type":"string"},{"name":"symbol_","type":"string"},{"name":"decimals_","type":"uint8"},{"name":"supply_","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"endTime","type":"uint256"}],"name":"Lock","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]
Contract Creation Code
60806040526000600260006101000a81548160ff0219169083151502179055506000600960006101000a81548160ff0219169083151502179055506000600960016101000a81548160ff0219169083151502179055503480156200006257600080fd5b5060405162003d1138038062003d11833981018060405281019080805182019291906020018051820192919060200180519060200190929190805190602001909291905050506000336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600390805190602001906200010292919062000256565b5083600490805190602001906200011b92919062000256565b5082600560006101000a81548160ff021916908360ff160217905550819050600560009054906101000a900460ff1660ff16600a0a8102600681905550600654600760008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006546040518082815260200191505060405180910390a3505050505062000305565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200029957805160ff1916838001178555620002ca565b82800160010185558215620002ca579182015b82811115620002c9578251825591602001919060010190620002ac565b5b509050620002d99190620002dd565b5090565b6200030291905b80821115620002fe576000816000905550600101620002e4565b5090565b90565b6139fc80620003156000396000f3006080604052600436106101cd576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063015d200f146101d257806306fdde0314610229578063072f3b67146102b9578063095ea7b314610310578063106ac57b1461037557806318160ddd146103b857806323b872dd146103e357806328d080f1146104685780632d06177a146104d05780632f6c493c14610513578063313ce5671461056e578063351779991461059f5780633f4ba83a146105ce57806340c10f19146105e55780634149953d1461064a57806342966c68146106cf57806351ecf2c214610714578063572b4032146107615780635c975abb1461079057806369132d43146107bf57806370a08231146108165780637e26b62d1461086d5780638456cb59146109595780638da5cb5b1461097057806390e99b09146109c757806394dbc70e146109de57806395d89b4114610a395780639679976014610ac9578063a19c77c714610b0c578063a8d088bb14610b92578063a9059cbb14610bfe578063ac1a717514610c63578063dd62ed3e14610d43578063e0c3e1e714610dba578063e4cc18be14610e8d578063f2fde38b14610ea4578063f435f5a714610ee7575b600080fd5b3480156101de57600080fd5b50610213600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f42565b6040518082815260200191505060405180910390f35b34801561023557600080fd5b5061023e610fd1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561027e578082015181840152602081019050610263565b50505050905090810190601f1680156102ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102c557600080fd5b5061030e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919050505061106f565b005b34801561031c57600080fd5b5061035b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611248565b604051808215151515815260200191505060405180910390f35b34801561038157600080fd5b506103b6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113f2565b005b3480156103c457600080fd5b506103cd61151e565b6040518082815260200191505060405180910390f35b3480156103ef57600080fd5b5061044e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611528565b604051808215151515815260200191505060405180910390f35b34801561047457600080fd5b506104b3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061189d565b604051808381526020018281526020019250505060405180910390f35b3480156104dc57600080fd5b50610511600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061195f565b005b34801561051f57600080fd5b50610554600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a4e565b604051808215151515815260200191505060405180910390f35b34801561057a57600080fd5b50610583611b9e565b604051808260ff1660ff16815260200191505060405180910390f35b3480156105ab57600080fd5b506105b4611bb1565b604051808215151515815260200191505060405180910390f35b3480156105da57600080fd5b506105e3611bc4565b005b3480156105f157600080fd5b50610630600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611cb1565b604051808215151515815260200191505060405180910390f35b34801561065657600080fd5b506106b5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e5e565b604051808215151515815260200191505060405180910390f35b3480156106db57600080fd5b506106fa600480360381019080803590602001909291905050506120dd565b604051808215151515815260200191505060405180910390f35b34801561072057600080fd5b5061075f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612281565b005b34801561076d57600080fd5b5061077661265d565b604051808215151515815260200191505060405180910390f35b34801561079c57600080fd5b506107a5612670565b604051808215151515815260200191505060405180910390f35b3480156107cb57600080fd5b50610800600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612683565b6040518082815260200191505060405180910390f35b34801561082257600080fd5b50610857600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126af565b6040518082815260200191505060405180910390f35b34801561087957600080fd5b506109576004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192905050506126fb565b005b34801561096557600080fd5b5061096e612826565b005b34801561097c57600080fd5b50610985612914565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109d357600080fd5b506109dc612939565b005b3480156109ea57600080fd5b50610a1f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506129b1565b604051808215151515815260200191505060405180910390f35b348015610a4557600080fd5b50610a4e612a0a565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a8e578082015181840152602081019050610a73565b50505050905090810190601f168015610abb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610ad557600080fd5b50610b0a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612aa8565b005b348015610b1857600080fd5b50610b90600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050612c26565b005b348015610b9e57600080fd5b50610ba7612cf1565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610bea578082015181840152602081019050610bcf565b505050509050019250505060405180910390f35b348015610c0a57600080fd5b50610c49600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612d7f565b604051808215151515815260200191505060405180910390f35b348015610c6f57600080fd5b50610ca4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612f50565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610ceb578082015181840152602081019050610cd0565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610d2d578082015181840152602081019050610d12565b5050505090500194505050505060405180910390f35b348015610d4f57600080fd5b50610da4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613084565b6040518082815260200191505060405180910390f35b348015610dc657600080fd5b50610e8b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929050505061310e565b005b348015610e9957600080fd5b50610ea261321e565b005b348015610eb057600080fd5b50610ee5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613296565b005b348015610ef357600080fd5b50610f28600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506133eb565b604051808215151515815260200191505060405180910390f35b6000806000809150600090505b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180549050811015610fc757610fb8610fa9858361353b565b8361360a90919063ffffffff16565b91508080600101915050610f4f565b8192505050919050565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110675780601f1061103c57610100808354040283529160200191611067565b820191906000526020600020905b81548152906001019060200180831161104a57829003601f168201915b505050505081565b600080600091503373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156110d457600191506110ea565b600090506110e133613628565b80925081935050505b8115156110f657600080fd5b428311151561110457600080fd5b60008411151561111357600080fd5b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001849080600181540180825580915050906001820390600052602060002001600090919290919091505550600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018390806001815401808255809150509060018203906000526020600020016000909192909190915055508473ffffffffffffffffffffffffffffffffffffffff167f49eaf4942f1237055eb4cfa5f31c9dfe50d5b4ade01e021f7de8be2fbbde557b8585604051808381526020018281526020019250505060405180910390a25050505050565b6000600260009054906101000a900460ff1615151561126657600080fd5b60008214806112f457506000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b15156112ff57600080fd5b81600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600080600091503373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611457576001915061146d565b6000905061146433613628565b80925081935050505b81151561147957600080fd5b6000600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101816114c89190613953565b506000600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001816115189190613953565b50505050565b6000600654905090565b6000600260009054906101000a900460ff1615151561154657600080fd5b61155384848460016136d5565b50600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156115e257600080fd5b61163782600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461370a90919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506116d282600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461360a90919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506117aa82600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461370a90919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001838154811015156118ef57fe5b9060005260206000200154600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018481548110151561194957fe5b9060005260206000200154915091509250929050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119bd57600080fd5b60009150600090506119ce83613628565b8092508193505050811515156119e357600080fd5b60018390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b60008060008091503373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611ab45760019150611aca565b60009050611ac133613628565b80925081935050505b811515611ad657600080fd5b60011515600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff161515141515611b3857600080fd5b6000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548160ff021916908315150217905550600192505050919050565b600560009054906101000a900460ff1681565b600960009054906101000a900460ff1681565b600080600091503373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611c295760019150611c3f565b60009050611c3633613628565b80925081935050505b811515611c4b57600080fd5b600260009054906101000a900460ff161515611c6657600080fd5b6000600260006101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a15050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d0e57600080fd5b600960019054906101000a900460ff16151515611d2a57600080fd5b600082111515611d3957600080fd5b611d8e82600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461360a90919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550611de98260065461360a90919063ffffffff16565b6006819055508273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ebb57600080fd5b600960009054906101000a900460ff16151515611ed757600080fd5b81600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015410151515611f2857600080fd5b600082111515611f3757600080fd5b611f8c82600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461370a90919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555061202782600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461360a90919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561213a57600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154821115151561218b57600080fd5b6121e082600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461370a90919063ffffffff16565b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555061223b8260065461370a90919063ffffffff16565b6006819055507fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb826040518082815260200191505060405180910390a160019050919050565b600080600091503373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156122e657600191506122fc565b600090506122f333613628565b80925081935050505b81151561230857600080fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805490508310151561235b57600080fd5b6001600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018054905003831415156125ab57600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016001600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805490500381548110151561244357fe5b9060005260206000200154600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018481548110151561249d57fe5b9060005260206000200181905550600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016001600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490500381548110151561254257fe5b9060005260206000200154600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018481548110151561259c57fe5b90600052602060002001819055505b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018054809190600190036126009190613953565b50600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054809190600190036126569190613953565b5050505050565b600960019054906101000a900460ff1681565b600260009054906101000a900460ff1681565b60006126a861269183610f42565b61269a846126af565b61370a90919063ffffffff16565b9050919050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549050919050565b60008060008091503373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156127615760019150612777565b6000905061276e33613628565b80925081935050505b81151561278357600080fd5b6000865111151561279357600080fd5b845186511415156127a357600080fd5b835186511415156127b357600080fd5b600092505b855183101561281e5761281186848151811015156127d257fe5b9060200190602002015186858151811015156127ea57fe5b90602001906020020151868681518110151561280257fe5b9060200190602002015161106f565b82806001019350506127b8565b505050505050565b600080600091503373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561288b57600191506128a1565b6000905061289833613628565b80925081935050505b8115156128ad57600080fd5b600260009054906101000a900460ff161515156128c957600080fd5b6001600260006101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561299457600080fd5b6001600960006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff169050919050565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612aa05780601f10612a7557610100808354040283529160200191612aa0565b820191906000526020600020905b815481529060010190602001808311612a8357829003601f168201915b505050505081565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612b0857600080fd5b6000925060009150612b1984613628565b8093508194505050821515612b2d57600080fd5b60018080549050039050600181815481101515612b4657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600183815481101515612b8057fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600180808054905003815481101515612bdd57fe5b9060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001805480919060019003612c1f919061397f565b5050505050565b60008060008091503373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612c8c5760019150612ca2565b60009050612c9933613628565b80925081935050505b811515612cae57600080fd5b600092505b8351831015612cea57612cdd858585815181101515612cce57fe5b90602001906020020151613723565b8280600101935050612cb3565b5050505050565b60606001805480602002602001604051908101604052809291908181526020018280548015612d7557602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311612d2b575b5050505050905090565b6000600260009054906101000a900460ff16151515612d9d57600080fd5b612daa33848460016136d5565b50612e0082600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461370a90919063ffffffff16565b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550612e9b82600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461360a90919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b606080600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018180548060200260200160405190810160405280929190818152602001828054801561302257602002820191906000526020600020905b81548152602001906001019080831161300e575b505050505091508080548060200260200160405190810160405280929190818152602001828054801561307457602002820191906000526020600020905b815481526020019060010190808311613060575b5050505050905091509150915091565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008060008091503373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613174576001915061318a565b6000905061318133613628565b80925081935050505b81151561319657600080fd5b600085511115156131a657600080fd5b835185511415156131b657600080fd5b6131c08787612d7f565b50600092505b8451831015613215576132088786858151811015156131e157fe5b9060200190602002015186868151811015156131f957fe5b9060200190602002015161106f565b82806001019350506131c6565b50505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561327957600080fd5b6001600960016101000a81548160ff021916908315150217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156132f157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561332d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060008091503373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156134515760019150613467565b6000905061345e33613628565b80925081935050505b81151561347357600080fd5b60001515600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff1615151415156134d557600080fd5b6001600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548160ff021916908315150217905550600192505050919050565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018281548110151561358c57fe5b90600052602060002001544210156135ff57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001828154811015156135ed57fe5b90600052602060002001549050613604565b600090505b92915050565b600080828401905083811015151561361e57fe5b8091505092915050565b60008060008090505b6001805490508110156136c4578373ffffffffffffffffffffffffffffffffffffffff1660018281548110151561366457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156136b757600181925092506136cf565b8080600101915050613631565b600080809050925092505b50915091565b60006136e385858585613818565b508115613702576136f385612683565b831115151561370157600080fd5b5b949350505050565b600082821115151561371857fe5b818303905092915050565b600080600080925060009150600090505b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805490508110156137fb5783600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101828154811015156137d157fe5b906000526020600020015414156137ee57600192508091506137fb565b8080600101915050613734565b82151561380757600080fd5b6138118583612281565b5050505050565b60003073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561385557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561389157600080fd5b82600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154101515156138e257600080fd5b811561394b5760001515600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff16151514151561394a57600080fd5b5b949350505050565b81548183558181111561397a5781836000526020600020918201910161397991906139ab565b5b505050565b8154818355818111156139a6578183600052602060002091820191016139a591906139ab565b5b505050565b6139cd91905b808211156139c95760008160009055506001016139b1565b5090565b905600a165627a7a72305820876bffc25a3ccb8137345f63a56252c53b0d38a0a75a4a2c4ac4eec207a22ea80029000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000012a05f20000000000000000000000000000000000000000000000000000000000000000104b20706f7020636c69636b20636f696e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034b50430000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106101cd576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063015d200f146101d257806306fdde0314610229578063072f3b67146102b9578063095ea7b314610310578063106ac57b1461037557806318160ddd146103b857806323b872dd146103e357806328d080f1146104685780632d06177a146104d05780632f6c493c14610513578063313ce5671461056e578063351779991461059f5780633f4ba83a146105ce57806340c10f19146105e55780634149953d1461064a57806342966c68146106cf57806351ecf2c214610714578063572b4032146107615780635c975abb1461079057806369132d43146107bf57806370a08231146108165780637e26b62d1461086d5780638456cb59146109595780638da5cb5b1461097057806390e99b09146109c757806394dbc70e146109de57806395d89b4114610a395780639679976014610ac9578063a19c77c714610b0c578063a8d088bb14610b92578063a9059cbb14610bfe578063ac1a717514610c63578063dd62ed3e14610d43578063e0c3e1e714610dba578063e4cc18be14610e8d578063f2fde38b14610ea4578063f435f5a714610ee7575b600080fd5b3480156101de57600080fd5b50610213600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f42565b6040518082815260200191505060405180910390f35b34801561023557600080fd5b5061023e610fd1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561027e578082015181840152602081019050610263565b50505050905090810190601f1680156102ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102c557600080fd5b5061030e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919050505061106f565b005b34801561031c57600080fd5b5061035b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611248565b604051808215151515815260200191505060405180910390f35b34801561038157600080fd5b506103b6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113f2565b005b3480156103c457600080fd5b506103cd61151e565b6040518082815260200191505060405180910390f35b3480156103ef57600080fd5b5061044e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611528565b604051808215151515815260200191505060405180910390f35b34801561047457600080fd5b506104b3600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061189d565b604051808381526020018281526020019250505060405180910390f35b3480156104dc57600080fd5b50610511600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061195f565b005b34801561051f57600080fd5b50610554600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a4e565b604051808215151515815260200191505060405180910390f35b34801561057a57600080fd5b50610583611b9e565b604051808260ff1660ff16815260200191505060405180910390f35b3480156105ab57600080fd5b506105b4611bb1565b604051808215151515815260200191505060405180910390f35b3480156105da57600080fd5b506105e3611bc4565b005b3480156105f157600080fd5b50610630600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611cb1565b604051808215151515815260200191505060405180910390f35b34801561065657600080fd5b506106b5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e5e565b604051808215151515815260200191505060405180910390f35b3480156106db57600080fd5b506106fa600480360381019080803590602001909291905050506120dd565b604051808215151515815260200191505060405180910390f35b34801561072057600080fd5b5061075f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612281565b005b34801561076d57600080fd5b5061077661265d565b604051808215151515815260200191505060405180910390f35b34801561079c57600080fd5b506107a5612670565b604051808215151515815260200191505060405180910390f35b3480156107cb57600080fd5b50610800600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612683565b6040518082815260200191505060405180910390f35b34801561082257600080fd5b50610857600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126af565b6040518082815260200191505060405180910390f35b34801561087957600080fd5b506109576004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192905050506126fb565b005b34801561096557600080fd5b5061096e612826565b005b34801561097c57600080fd5b50610985612914565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156109d357600080fd5b506109dc612939565b005b3480156109ea57600080fd5b50610a1f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506129b1565b604051808215151515815260200191505060405180910390f35b348015610a4557600080fd5b50610a4e612a0a565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a8e578082015181840152602081019050610a73565b50505050905090810190601f168015610abb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610ad557600080fd5b50610b0a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612aa8565b005b348015610b1857600080fd5b50610b90600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050612c26565b005b348015610b9e57600080fd5b50610ba7612cf1565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610bea578082015181840152602081019050610bcf565b505050509050019250505060405180910390f35b348015610c0a57600080fd5b50610c49600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612d7f565b604051808215151515815260200191505060405180910390f35b348015610c6f57600080fd5b50610ca4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612f50565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610ceb578082015181840152602081019050610cd0565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610d2d578082015181840152602081019050610d12565b5050505090500194505050505060405180910390f35b348015610d4f57600080fd5b50610da4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613084565b6040518082815260200191505060405180910390f35b348015610dc657600080fd5b50610e8b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929050505061310e565b005b348015610e9957600080fd5b50610ea261321e565b005b348015610eb057600080fd5b50610ee5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613296565b005b348015610ef357600080fd5b50610f28600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506133eb565b604051808215151515815260200191505060405180910390f35b6000806000809150600090505b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180549050811015610fc757610fb8610fa9858361353b565b8361360a90919063ffffffff16565b91508080600101915050610f4f565b8192505050919050565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110675780601f1061103c57610100808354040283529160200191611067565b820191906000526020600020905b81548152906001019060200180831161104a57829003601f168201915b505050505081565b600080600091503373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156110d457600191506110ea565b600090506110e133613628565b80925081935050505b8115156110f657600080fd5b428311151561110457600080fd5b60008411151561111357600080fd5b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001849080600181540180825580915050906001820390600052602060002001600090919290919091505550600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018390806001815401808255809150509060018203906000526020600020016000909192909190915055508473ffffffffffffffffffffffffffffffffffffffff167f49eaf4942f1237055eb4cfa5f31c9dfe50d5b4ade01e021f7de8be2fbbde557b8585604051808381526020018281526020019250505060405180910390a25050505050565b6000600260009054906101000a900460ff1615151561126657600080fd5b60008214806112f457506000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b15156112ff57600080fd5b81600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600080600091503373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611457576001915061146d565b6000905061146433613628565b80925081935050505b81151561147957600080fd5b6000600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101816114c89190613953565b506000600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001816115189190613953565b50505050565b6000600654905090565b6000600260009054906101000a900460ff1615151561154657600080fd5b61155384848460016136d5565b50600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156115e257600080fd5b61163782600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461370a90919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506116d282600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461360a90919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506117aa82600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461370a90919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001838154811015156118ef57fe5b9060005260206000200154600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018481548110151561194957fe5b9060005260206000200154915091509250929050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119bd57600080fd5b60009150600090506119ce83613628565b8092508193505050811515156119e357600080fd5b60018390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b60008060008091503373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611ab45760019150611aca565b60009050611ac133613628565b80925081935050505b811515611ad657600080fd5b60011515600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff161515141515611b3857600080fd5b6000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548160ff021916908315150217905550600192505050919050565b600560009054906101000a900460ff1681565b600960009054906101000a900460ff1681565b600080600091503373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611c295760019150611c3f565b60009050611c3633613628565b80925081935050505b811515611c4b57600080fd5b600260009054906101000a900460ff161515611c6657600080fd5b6000600260006101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a15050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d0e57600080fd5b600960019054906101000a900460ff16151515611d2a57600080fd5b600082111515611d3957600080fd5b611d8e82600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461360a90919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550611de98260065461360a90919063ffffffff16565b6006819055508273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ebb57600080fd5b600960009054906101000a900460ff16151515611ed757600080fd5b81600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015410151515611f2857600080fd5b600082111515611f3757600080fd5b611f8c82600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461370a90919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555061202782600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461360a90919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561213a57600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154821115151561218b57600080fd5b6121e082600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461370a90919063ffffffff16565b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555061223b8260065461370a90919063ffffffff16565b6006819055507fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb826040518082815260200191505060405180910390a160019050919050565b600080600091503373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156122e657600191506122fc565b600090506122f333613628565b80925081935050505b81151561230857600080fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805490508310151561235b57600080fd5b6001600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018054905003831415156125ab57600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016001600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805490500381548110151561244357fe5b9060005260206000200154600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018481548110151561249d57fe5b9060005260206000200181905550600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016001600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490500381548110151561254257fe5b9060005260206000200154600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018481548110151561259c57fe5b90600052602060002001819055505b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018054809190600190036126009190613953565b50600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018054809190600190036126569190613953565b5050505050565b600960019054906101000a900460ff1681565b600260009054906101000a900460ff1681565b60006126a861269183610f42565b61269a846126af565b61370a90919063ffffffff16565b9050919050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549050919050565b60008060008091503373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156127615760019150612777565b6000905061276e33613628565b80925081935050505b81151561278357600080fd5b6000865111151561279357600080fd5b845186511415156127a357600080fd5b835186511415156127b357600080fd5b600092505b855183101561281e5761281186848151811015156127d257fe5b9060200190602002015186858151811015156127ea57fe5b90602001906020020151868681518110151561280257fe5b9060200190602002015161106f565b82806001019350506127b8565b505050505050565b600080600091503373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561288b57600191506128a1565b6000905061289833613628565b80925081935050505b8115156128ad57600080fd5b600260009054906101000a900460ff161515156128c957600080fd5b6001600260006101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561299457600080fd5b6001600960006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff169050919050565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612aa05780601f10612a7557610100808354040283529160200191612aa0565b820191906000526020600020905b815481529060010190602001808311612a8357829003601f168201915b505050505081565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612b0857600080fd5b6000925060009150612b1984613628565b8093508194505050821515612b2d57600080fd5b60018080549050039050600181815481101515612b4657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600183815481101515612b8057fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600180808054905003815481101515612bdd57fe5b9060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001805480919060019003612c1f919061397f565b5050505050565b60008060008091503373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612c8c5760019150612ca2565b60009050612c9933613628565b80925081935050505b811515612cae57600080fd5b600092505b8351831015612cea57612cdd858585815181101515612cce57fe5b90602001906020020151613723565b8280600101935050612cb3565b5050505050565b60606001805480602002602001604051908101604052809291908181526020018280548015612d7557602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311612d2b575b5050505050905090565b6000600260009054906101000a900460ff16151515612d9d57600080fd5b612daa33848460016136d5565b50612e0082600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461370a90919063ffffffff16565b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550612e9b82600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015461360a90919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b606080600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018180548060200260200160405190810160405280929190818152602001828054801561302257602002820191906000526020600020905b81548152602001906001019080831161300e575b505050505091508080548060200260200160405190810160405280929190818152602001828054801561307457602002820191906000526020600020905b815481526020019060010190808311613060575b5050505050905091509150915091565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008060008091503373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613174576001915061318a565b6000905061318133613628565b80925081935050505b81151561319657600080fd5b600085511115156131a657600080fd5b835185511415156131b657600080fd5b6131c08787612d7f565b50600092505b8451831015613215576132088786858151811015156131e157fe5b9060200190602002015186868151811015156131f957fe5b9060200190602002015161106f565b82806001019350506131c6565b50505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561327957600080fd5b6001600960016101000a81548160ff021916908315150217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156132f157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561332d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060008091503373ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156134515760019150613467565b6000905061345e33613628565b80925081935050505b81151561347357600080fd5b60001515600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff1615151415156134d557600080fd5b6001600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548160ff021916908315150217905550600192505050919050565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018281548110151561358c57fe5b90600052602060002001544210156135ff57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001828154811015156135ed57fe5b90600052602060002001549050613604565b600090505b92915050565b600080828401905083811015151561361e57fe5b8091505092915050565b60008060008090505b6001805490508110156136c4578373ffffffffffffffffffffffffffffffffffffffff1660018281548110151561366457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156136b757600181925092506136cf565b8080600101915050613631565b600080809050925092505b50915091565b60006136e385858585613818565b508115613702576136f385612683565b831115151561370157600080fd5b5b949350505050565b600082821115151561371857fe5b818303905092915050565b600080600080925060009150600090505b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805490508110156137fb5783600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101828154811015156137d157fe5b906000526020600020015414156137ee57600192508091506137fb565b8080600101915050613734565b82151561380757600080fd5b6138118583612281565b5050505050565b60003073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561385557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561389157600080fd5b82600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154101515156138e257600080fd5b811561394b5760001515600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff16151514151561394a57600080fd5b5b949350505050565b81548183558181111561397a5781836000526020600020918201910161397991906139ab565b5b505050565b8154818355818111156139a6578183600052602060002091820191016139a591906139ab565b5b505050565b6139cd91905b808211156139c95760008160009055506001016139b1565b5090565b905600a165627a7a72305820876bffc25a3ccb8137345f63a56252c53b0d38a0a75a4a2c4ac4eec207a22ea80029
Deployed Bytecode Sourcemap
10345:2341:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4134:8;;;10019:313;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10019:313:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3887:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3887:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3887:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7163:311;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7163:311:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5184:301;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5184:301:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8142:178;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8142:178:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6376:90;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6376:90:0;;;;;;;;;;;;;;;;;;;;;;;5491:504;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5491:504:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9594:213;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9594:213:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1904:232;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1904:232:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4694:177;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4694:177:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3939:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3939:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;10399:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10399:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;2923:108;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2923:108:0;;;;;;11915:331;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11915:331:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12257:426;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12257:426:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4880:296;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4880:296:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8326:590;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8326:590:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10441:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10441:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;2618:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2618:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;11594:139;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11594:139:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6472:111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6472:111:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7480:362;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7480:362:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2809:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2809:106:0;;;;;;701:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;701:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;11826:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11826:83:0;;;;;;6589:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6589:105:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3912:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3912:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3912:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2142:387;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2142:387:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;9378:208;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9378:208:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1531:95;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1531:95:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1531:95:0;;;;;;;;;;;;;;;;;6007:355;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6007:355:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9813:200;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9813:200:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9813:200:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9813:200:0;;;;;;;;;;;;;;;;;;;6700:139;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6700:139:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11160:425;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11160:425:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11743:77;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11743:77:0;;;;;;976:192;;8:9:-1;5:2;;;30:1;27;20:12;5:2;976:192:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4503:185;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4503:185:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10019:313;10080:7;10100:19;10138:9;10122:1;10100:23;;10150:1;10138:13;;10134:162;10157:8;:16;10166:6;10157:16;;;;;;;;;;;;;;;:36;;:43;;;;10153:1;:47;10134:162;;;10235:49;10251:32;10273:6;10281:1;10251:21;:32::i;:::-;10235:11;:15;;:49;;;;:::i;:::-;10221:63;;10202:3;;;;;;;10134:162;;;10313:11;10306:18;;10019:313;;;;;:::o;3887:18::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7163:311::-;1280:10;1393;1293:5;1280:18;;1321:10;1312:19;;:5;;;;;;;;;;;:19;;;1309:166;;;1356:4;1348:12;;1309:166;;;1406:1;1393:14;;1439:24;1452:10;1439:12;:24::i;:::-;1422:41;;;;;;;;1309:166;1493:5;1485:14;;;;;;;;7281:3;7270:8;:14;7262:23;;;;;;;;7314:1;7305:6;:10;7297:19;;;;;;;;7328:8;:13;7337:3;7328:13;;;;;;;;;;;;;;;:33;;7367:6;7328:46;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;7328:46:0;;;;;;;;;;;;;;;;;;;;;;7385:8;:13;7394:3;7385:13;;;;;;;;;;;;;;;:21;;7412:8;7385:36;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;7385:36:0;;;;;;;;;;;;;;;;;;;;;;7444:3;7439:27;;;7449:6;7457:8;7439:27;;;;;;;;;;;;;;;;;;;;;;;;7163:311;;;;;:::o;5184:301::-;5265:4;2698:6;;;;;;;;;;;2697:7;2689:16;;;;;;;;5300:1;5290:6;:11;:54;;;;5343:1;5305:4;:16;5310:10;5305:16;;;;;;;;;;;;;;;:24;;:34;5330:8;5305:34;;;;;;;;;;;;;;;;:39;5290:54;5282:63;;;;;;;;5394:6;5357:4;:16;5362:10;5357:16;;;;;;;;;;;;;;;:24;;:34;5382:8;5357:34;;;;;;;;;;;;;;;:43;;;;5438:8;5417:38;;5426:10;5417:38;;;5448:6;5417:38;;;;;;;;;;;;;;;;;;5473:4;5466:11;;5184:301;;;;:::o;8142:178::-;1280:10;1393;1293:5;1280:18;;1321:10;1312:19;;:5;;;;;;;;;;;:19;;;1309:166;;;1356:4;1348:12;;1309:166;;;1406:1;1393:14;;1439:24;1452:10;1439:12;:24::i;:::-;1422:41;;;;;;;;1309:166;1493:5;1485:14;;;;;;;;8252:1;8217:8;:17;8226:7;8217:17;;;;;;;;;;;;;;;:25;;:36;;;;;:::i;:::-;;8311:1;8264:8;:17;8273:7;8264:17;;;;;;;;;;;;;;;:37;;:48;;;;;:::i;:::-;;8142:178;;;:::o;6376:90::-;6420:7;6447:11;;6440:18;;6376:90;:::o;5491:504::-;5587:4;2698:6;;;;;;;;;;;2697:7;2689:16;;;;;;;;5604:39;5618:5;5625:3;5630:6;5638:4;5604:13;:39::i;:::-;;5673:4;:11;5678:5;5673:11;;;;;;;;;;;;;;;:19;;:31;5693:10;5673:31;;;;;;;;;;;;;;;;5662:6;:42;;5654:51;;;;;;;;5740:31;5764:6;5740:4;:11;5745:5;5740:11;;;;;;;;;;;;;;;:19;;;:23;;:31;;;;:::i;:::-;5718:4;:11;5723:5;5718:11;;;;;;;;;;;;;;;:19;;:53;;;;5802:29;5824:6;5802:4;:9;5807:3;5802:9;;;;;;;;;;;;;;;:17;;;:21;;:29;;;;:::i;:::-;5782:4;:9;5787:3;5782:9;;;;;;;;;;;;;;;:17;;:49;;;;5878:43;5914:6;5878:4;:11;5883:5;5878:11;;;;;;;;;;;;;;;:19;;:31;5898:10;5878:31;;;;;;;;;;;;;;;;:35;;:43;;;;:::i;:::-;5844:4;:11;5849:5;5844:11;;;;;;;;;;;;;;;:19;;:31;5864:10;5844:31;;;;;;;;;;;;;;;:77;;;;5953:3;5937:28;;5946:5;5937:28;;;5958:6;5937:28;;;;;;;;;;;;;;;;;;5983:4;5976:11;;5491:504;;;;;:::o;9594:213::-;9666:7;9675;9717:8;:16;9726:6;9717:16;;;;;;;;;;;;;;;:36;;9754:3;9717:41;;;;;;;;;;;;;;;;;;9769:8;:16;9778:6;9769:16;;;;;;;;;;;;;;;:24;;9794:3;9769:29;;;;;;;;;;;;;;;;;;9695:104;;;;9594:213;;;;;:::o;1904:232::-;1965:10;1994;944:5;;;;;;;;;;;930:19;;:10;:19;;;922:28;;;;;;;;1978:5;1965:18;;2007:1;1994:14;;2036:17;2049:3;2036:12;:17::i;:::-;2019:34;;;;;;;;2083:5;2082:6;2074:15;;;;;;;;2110:8;2124:3;2110:18;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;2110:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1904:232;;;:::o;4694:177::-;4755:4;1280:10;1393;1293:5;1280:18;;1321:10;1312:19;;:5;;;;;;;;;;;:19;;;1309:166;;;1356:4;1348:12;;1309:166;;;1406:1;1393:14;;1439:24;1452:10;1439:12;:24::i;:::-;1422:41;;;;;;;;1309:166;1493:5;1485:14;;;;;;;;4801:4;4780:25;;:4;:12;4785:6;4780:12;;;;;;;;;;;;;;;:17;;;;;;;;;;;;:25;;;4772:34;;;;;;;;4837:5;4817:4;:12;4822:6;4817:12;;;;;;;;;;;;;;;:17;;;:25;;;;;;;;;;;;;;;;;;4859:4;4852:11;;4694:177;;;;;:::o;3939:21::-;;;;;;;;;;;;;:::o;10399:35::-;;;;;;;;;;;;;:::o;2923:108::-;1280:10;1393;1293:5;1280:18;;1321:10;1312:19;;:5;;;;;;;;;;;:19;;;1309:166;;;1356:4;1348:12;;1309:166;;;1406:1;1393:14;;1439:24;1452:10;1439:12;:24::i;:::-;1422:41;;;;;;;;1309:166;1493:5;1485:14;;;;;;;;2774:6;;;;;;;;;;;2766:15;;;;;;;;2993:5;2984:6;;:14;;;;;;;;;;;;;;;;;;3014:9;;;;;;;;;;2923:108;;:::o;11915:331::-;11987:4;944:5;;;;;;;;;;;930:19;;:10;:19;;;922:28;;;;;;;;12013:12;;;;;;;;;;;12012:13;12004:22;;;;;;;;12054:1;12045:6;:10;12037:19;;;;;;;;12090:32;12115:6;12090:4;:12;12095:6;12090:12;;;;;;;;;;;;;;;:20;;;:24;;:32;;;;:::i;:::-;12067:4;:12;12072:6;12067:12;;;;;;;;;;;;;;;:20;;:55;;;;12147:23;12163:6;12147:11;;:15;;:23;;;;:::i;:::-;12133:11;:37;;;;12201:6;12186:30;;12195:4;12186:30;;;12209:6;12186:30;;;;;;;;;;;;;;;;;;12234:4;12227:11;;11915:331;;;;:::o;12257:426::-;12352:4;944:5;;;;;;;;;;;930:19;;:10;:19;;;922:28;;;;;;;;12378:15;;;;;;;;;;;12377:16;12369:25;;;;;;;;12436:6;12413:4;:11;12418:5;12413:11;;;;;;;;;;;;;;;:19;;;:29;;12405:38;;;;;;;;12471:1;12462:6;:10;12454:19;;;;;;;;12516:31;12540:6;12516:4;:11;12521:5;12516:11;;;;;;;;;;;;;;;:19;;;:23;;:31;;;;:::i;:::-;12494:4;:11;12499:5;12494:11;;;;;;;;;;;;;;;:19;;:53;;;;12578:29;12600:6;12578:4;:9;12583:3;12578:9;;;;;;;;;;;;;;;:17;;;:21;;:29;;;;:::i;:::-;12558:4;:9;12563:3;12558:9;;;;;;;;;;;;;;;:17;;:49;;;;12641:3;12625:28;;12634:5;12625:28;;;12646:6;12625:28;;;;;;;;;;;;;;;;;;12671:4;12664:11;;12257:426;;;;;:::o;4880:296::-;4936:4;944:5;;;;;;;;;;;930:19;;:10;:19;;;922:28;;;;;;;;4971:4;:16;4976:10;4971:16;;;;;;;;;;;;;;;:24;;;4961:6;:34;;4953:43;;;;;;;;5034:36;5063:6;5034:4;:16;5039:10;5034:16;;;;;;;;;;;;;;;:24;;;:28;;:36;;;;:::i;:::-;5007:4;:16;5012:10;5007:16;;;;;;;;;;;;;;;:24;;:63;;;;5095:23;5111:6;5095:11;;:15;;:23;;;;:::i;:::-;5081:11;:37;;;;5134:12;5139:6;5134:12;;;;;;;;;;;;;;;;;;5164:4;5157:11;;4880:296;;;:::o;8326:590::-;1280:10;1393;1293:5;1280:18;;1321:10;1312:19;;:5;;;;;;;;;;;:19;;;1309:166;;;1356:4;1348:12;;1309:166;;;1406:1;1393:14;;1439:24;1452:10;1439:12;:24::i;:::-;1422:41;;;;;;;;1309:166;1493:5;1485:14;;;;;;;;8432:8;:17;8441:7;8432:17;;;;;;;;;;;;;;;:25;;:32;;;;8426:3;:38;8418:47;;;;;;;;8524:1;8489:8;:17;8498:7;8489:17;;;;;;;;;;;;;;;:25;;:32;;;;:36;8482:3;:43;;8478:319;;;8575:8;:17;8584:7;8575:17;;;;;;;;;;;;;;;:25;;8636:1;8601:8;:17;8610:7;8601:17;;;;;;;;;;;;;;;:25;;:32;;;;:36;8575:63;;;;;;;;;;;;;;;;;;8542:8;:17;8551:7;8542:17;;;;;;;;;;;;;;;:25;;8568:3;8542:30;;;;;;;;;;;;;;;;;:96;;;;8698:8;:17;8707:7;8698:17;;;;;;;;;;;;;;;:37;;8783:1;8736:8;:17;8745:7;8736:17;;;;;;;;;;;;;;;:37;;:44;;;;:48;8698:87;;;;;;;;;;;;;;;;;;8653:8;:17;8662:7;8653:17;;;;;;;;;;;;;;;:37;;8691:3;8653:42;;;;;;;;;;;;;;;;;:132;;;;8478:319;8807:8;:17;8816:7;8807:17;;;;;;;;;;;;;;;:25;;:34;;;;;;;;;;;;:::i;:::-;;8852:8;:17;8861:7;8852:17;;;;;;;;;;;;;;;:37;;:46;;;;;;;;;;;;:::i;:::-;;8326:590;;;;:::o;10441:32::-;;;;;;;;;;;;;:::o;2618:26::-;;;;;;;;;;;;;:::o;11594:139::-;11653:7;11680:45;11702:22;11717:6;11702:14;:22::i;:::-;11680:17;11690:6;11680:9;:17::i;:::-;:21;;:45;;;;:::i;:::-;11673:52;;11594:139;;;:::o;6472:111::-;6528:7;6555:4;:12;6560:6;6555:12;;;;;;;;;;;;;;;:20;;;6548:27;;6472:111;;;:::o;7480:362::-;7730:9;1280:10;1393;1293:5;1280:18;;1321:10;1312:19;;:5;;;;;;;;;;;:19;;;1309:166;;;1356:4;1348:12;;1309:166;;;1406:1;1393:14;;1439:24;1452:10;1439:12;:24::i;:::-;1422:41;;;;;;;;1309:166;1493:5;1485:14;;;;;;;;7609:1;7596:3;:10;:14;7588:23;;;;;;;;7644:6;:13;7630:3;:10;:27;7622:36;;;;;;;;7691:8;:15;7677:3;:10;:29;7669:38;;;;;;;;7742:1;7730:13;;7726:109;7749:3;:10;7745:1;:14;7726:109;;;7780:43;7792:3;7796:1;7792:6;;;;;;;;;;;;;;;;;;7800;7807:1;7800:9;;;;;;;;;;;;;;;;;;7811:8;7820:1;7811:11;;;;;;;;;;;;;;;;;;7780;:43::i;:::-;7761:3;;;;;;;7726:109;;;7480:362;;;;;;:::o;2809:106::-;1280:10;1393;1293:5;1280:18;;1321:10;1312:19;;:5;;;;;;;;;;;:19;;;1309:166;;;1356:4;1348:12;;1309:166;;;1406:1;1393:14;;1439:24;1452:10;1439:12;:24::i;:::-;1422:41;;;;;;;;1309:166;1493:5;1485:14;;;;;;;;2698:6;;;;;;;;;;;2697:7;2689:16;;;;;;;;2880:4;2871:6;;:13;;;;;;;;;;;;;;;;;;2900:7;;;;;;;;;;2809:106;;:::o;701:20::-;;;;;;;;;;;;;:::o;11826:83::-;944:5;;;;;;;;;;;930:19;;:10;:19;;;922:28;;;;;;;;11897:4;11879:15;;:22;;;;;;;;;;;;;;;;;;11826:83::o;6589:105::-;6645:4;6669;:12;6674:6;6669:12;;;;;;;;;;;;;;;:17;;;;;;;;;;;;6662:24;;6589:105;;;:::o;3912:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2142:387::-;2206:10;2235;2345:21;944:5;;;;;;;;;;;930:19;;:10;:19;;;922:28;;;;;;;;2219:5;2206:18;;2248:1;2235:14;;2277:17;2290:3;2277:12;:17::i;:::-;2260:34;;;;;;;;2323:5;2315:14;;;;;;;;2387:1;2369:8;:15;;;;:19;2345:43;;2418:8;2427:16;2418:26;;;;;;;;;;;;;;;;;;;;;;;;;;;2400:8;2409:5;2400:15;;;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;2464:8;2491:1;2473:8;:15;;;;:19;2464:29;;;;;;;;;;;;;;;;;;2457:36;;;;;;;;;;;2504:8;:17;;;;;;;;;;;;:::i;:::-;;2142:387;;;;:::o;9378:208::-;9475:9;1280:10;1393;1293:5;1280:18;;1321:10;1312:19;;:5;;;;;;;;;;;:19;;;1309:166;;;1356:4;1348:12;;1309:166;;;1406:1;1393:14;;1439:24;1452:10;1439:12;:24::i;:::-;1422:41;;;;;;;;1309:166;1493:5;1485:14;;;;;;;;9487:1;9475:13;;9471:108;9494:8;:15;9490:1;:19;9471:108;;;9530:37;9550:3;9555:8;9564:1;9555:11;;;;;;;;;;;;;;;;;;9530:19;:37::i;:::-;9511:3;;;;;;;9471:108;;;9378:208;;;;;:::o;1531:95::-;1575:9;1610:8;1603:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1531:95;:::o;6007:355::-;6084:4;2698:6;;;;;;;;;;;2697:7;2689:16;;;;;;;;6101:44;6115:10;6127:3;6132:6;6140:4;6101:13;:44::i;:::-;;6185:36;6214:6;6185:4;:16;6190:10;6185:16;;;;;;;;;;;;;;;:24;;;:28;;:36;;;;:::i;:::-;6158:4;:16;6163:10;6158:16;;;;;;;;;;;;;;;:24;;:63;;;;6252:29;6274:6;6252:4;:9;6257:3;6252:9;;;;;;;;;;;;;;;:17;;;:21;;:29;;;;:::i;:::-;6232:4;:9;6237:3;6232:9;;;;;;;;;;;;;;;:17;;:49;;;;6320:3;6299:33;;6308:10;6299:33;;;6325:6;6299:33;;;;;;;;;;;;;;;;;;6350:4;6343:11;;6007:355;;;;:::o;9813:200::-;9872:9;9883;9933:8;:16;9942:6;9933:16;;;;;;;;;;;;;;;:36;;9980:8;:16;9989:6;9980:16;;;;;;;;;;;;;;;:24;;9915:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9813:200;;;:::o;6700:139::-;6774:7;6801:4;:12;6806:6;6801:12;;;;;;;;;;;;;;;:20;;:30;6822:8;6801:30;;;;;;;;;;;;;;;;6794:37;;6700:139;;;;:::o;11160:425::-;11453:9;1280:10;1393;1293:5;1280:18;;1321:10;1312:19;;:5;;;;;;;;;;;:19;;;1309:166;;;1356:4;1348:12;;1309:166;;;1406:1;1393:14;;1439:24;1452:10;1439:12;:24::i;:::-;1422:41;;;;;;;;1309:166;1493:5;1485:14;;;;;;;;11326:1;11305:11;:18;:22;11297:31;;;;;;;;11369:8;:15;11347:11;:18;:37;11339:46;;;;;;;;11406:22;11415:3;11420:7;11406:8;:22::i;:::-;;11465:1;11453:13;;11449:119;11472:11;:18;11468:1;:22;11449:119;;;11511:45;11523:3;11528:11;11540:1;11528:14;;;;;;;;;;;;;;;;;;11544:8;11553:1;11544:11;;;;;;;;;;;;;;;;;;11511;:45::i;:::-;11492:3;;;;;;;11449:119;;;11160:425;;;;;;;:::o;11743:77::-;944:5;;;;;;;;;;;930:19;;:10;:19;;;922:28;;;;;;;;11808:4;11793:12;;:19;;;;;;;;;;;;;;;;;;11743:77::o;976:192::-;944:5;;;;;;;;;;;930:19;;:10;:19;;;922:28;;;;;;;;1077:1;1057:22;;:8;:22;;;;1049:31;;;;;;;;1124:8;1096:37;;1117:5;;;;;;;;;;;1096:37;;;;;;;;;;;;1152:8;1144:5;;:16;;;;;;;;;;;;;;;;;;976:192;:::o;4503:185::-;4562:4;1280:10;1393;1293:5;1280:18;;1321:10;1312:19;;:5;;;;;;;;;;;:19;;;1309:166;;;1356:4;1348:12;;1309:166;;;1406:1;1393:14;;1439:24;1452:10;1439:12;:24::i;:::-;1422:41;;;;;;;;1309:166;1493:5;1485:14;;;;;;;;4608:5;4587:26;;:4;:12;4592:6;4587:12;;;;;;;;;;;;;;;:17;;;;;;;;;;;;:26;;;4579:35;;;;;;;;4654:4;4634;:12;4639:6;4634:12;;;;;;;;;;;;;;;:17;;;:24;;;;;;;;;;;;;;;;;;4676:4;4669:11;;4503:185;;;;;:::o;7858:272::-;7941:7;7970:8;:16;7979:6;7970:16;;;;;;;;;;;;;;;:24;;7995:6;7970:32;;;;;;;;;;;;;;;;;;7964:3;:38;7961:162;;;8026:8;:16;8035:6;8026:16;;;;;;;;;;;;;;;:36;;8063:6;8026:44;;;;;;;;;;;;;;;;;;8019:51;;;;7961:162;8110:1;8103:8;;7858:272;;;;;:::o;523:147::-;581:7;601:9;617:1;613;:5;601:17;;641:1;636;:6;;629:14;;;;;;661:1;654:8;;523:147;;;;;:::o;1638:260::-;1695:4;1701;1723:6;1732:1;1723:10;;1718:145;1740:8;:15;;;;1736:1;:19;1718:145;;;1796:3;1781:18;;:8;1790:1;1781:11;;;;;;;;;;;;;;;;;;;;;;;;;;;:18;;;1777:75;;;1828:4;1834:1;1820:16;;;;;;1777:75;1757:3;;;;;;;1718:145;;;1881:5;1888:1;1873:17;;;;;;;1638:260;;;;;:::o;10879:273::-;10986:4;11003:51;11023:5;11030:3;11035:6;11043:10;11003:19;:51::i;:::-;;11068:10;11065:80;;;11113:19;11126:5;11113:12;:19::i;:::-;11103:6;:29;;11095:38;;;;;;;;11065:80;10879:273;;;;;;:::o;394:123::-;452:7;484:1;479;:6;;472:14;;;;;;508:1;504;:5;497:12;;394:123;;;;:::o;8922:450::-;9004:13;9036;9068:9;9020:5;9004:21;;9052:1;9036:17;;9080:1;9068:13;;9064:227;9087:8;:13;9096:3;9087:13;;;;;;;;;;;;;;;:21;;:28;;;;9083:1;:32;9064:227;;;9168:8;9140;:13;9149:3;9140:13;;;;;;;;;;;;;;;:21;;9162:1;9140:24;;;;;;;;;;;;;;;;;;:36;9137:143;;;9208:4;9197:15;;9239:1;9231:9;;9259:5;;9137:143;9117:3;;;;;;;9064:227;;;9309:8;9301:17;;;;;;;;9331:33;9353:3;9358:5;9331:21;:33::i;:::-;8922:450;;;;;:::o;4162:333::-;4269:4;4309;4294:20;;:3;:20;;;;4286:29;;;;;;;;4349:1;4334:17;;:3;:17;;;;4326:26;;;;;;;;4394:6;4371:4;:11;4376:5;4371:11;;;;;;;;;;;;;;;:19;;;:29;;4363:38;;;;;;;;4415:10;4412:76;;;4470:5;4450:25;;:4;:11;4455:5;4450:11;;;;;;;;;;;;;;;:16;;;;;;;;;;;;:25;;;4442:34;;;;;;;;4412:76;4162:333;;;;;;:::o;10345:2341::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
bzzr://876bffc25a3ccb8137345f63a56252c53b0d38a0a75a4a2c4ac4eec207a22ea8
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.