ERC-20
Overview
Max Total Supply
1,000,000,000 MAYA
Holders
626
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 |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
MAYA
Compiler Version
v0.4.23+commit.124ca40d
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-06-23 */ pragma solidity ^0.4.23; /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/179 */ contract ERC20Basic { function totalSupply() public view returns (uint256); function balanceOf(address who) public view returns (uint256); function transfer(address to, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256 c) { if (a == 0) { return 0; } c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } /** * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256 c) { c = a + b; assert(c >= a); return c; } } pragma solidity ^0.4.23; /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20 is ERC20Basic { function allowance(address owner, address spender) public view returns (uint256); function transferFrom(address from, address to, uint256 value) public returns (bool); function approve(address spender, uint256 value) public returns (bool); event Approval(address indexed owner, address indexed spender, uint256 value); } contract Owner { address internal owner; mapping(address => bool) internal admins; modifier onlyOwner { require(msg.sender == owner); _; } modifier onlyAdmin { require(admins[msg.sender] == true || msg.sender == owner); _; } function changeOwner(address newOwner) public onlyOwner returns(bool) { owner = newOwner; return true; } function setAdmin(address addr) public onlyOwner returns(bool) { admins[addr] = true; return true; } function delAdmin(address addr) public onlyOwner returns(bool) { admins[addr] = false; return true; } } pragma solidity ^0.4.23; contract MayaPlus is Owner { mapping(address => uint256) internal balances; function parse2wei(uint _value) internal pure returns(uint) { uint decimals = 18; return _value * (10 ** uint256(decimals)); } address public ADDR_MAYA_ORG; address public ADDR_MAYA_MARKETING ; address public ADDR_MAYA_TEAM; address public ADDR_MAYA_ASSOCIATION; struct IcoRule { uint startTime; uint endTime; uint rate; uint shareRuleGroupId; address[] addrList; bool canceled; } IcoRule[] icoRuleList; mapping (address => uint[] ) addr2icoRuleIdList; event GetIcoRule(uint startTime, uint endTime, uint rate, uint shareRuleGroupId, bool canceled); function icoRuleAdd(uint startTime, uint endTime, uint rate, uint shareRuleGroupId) public onlyOwner returns (bool) { address[] memory addr; bool canceled = false; IcoRule memory item = IcoRule(startTime, endTime, rate, shareRuleGroupId, addr, canceled); icoRuleList.push(item); return true; } function icoRuleUpdate(uint index, uint startTime, uint endTime, uint rate, uint shareRuleGroupId) public onlyOwner returns (bool) { require(icoRuleList.length > index); if (startTime > 0) { icoRuleList[index].startTime = startTime; } if (endTime > 0) { icoRuleList[index].endTime = endTime; } if (rate > 0) { icoRuleList[index].rate = rate; } icoRuleList[index].shareRuleGroupId = shareRuleGroupId; return true; } function icoPushAddr(uint index, address addr) internal returns (bool) { icoRuleList[index].addrList.push(addr); return true; } function icoRuleCancel(uint index) public onlyOwner returns (bool) { require(icoRuleList.length > index); icoRuleList[index].canceled = true; return true; } function getIcoRuleList() public returns (uint count) { count = icoRuleList.length; for (uint i = 0; i < count ; i++) { emit GetIcoRule(icoRuleList[i].startTime, icoRuleList[i].endTime, icoRuleList[i].rate, icoRuleList[i].shareRuleGroupId, icoRuleList[i].canceled); } } function getIcoAddrCount(uint icoRuleId) public view onlyOwner returns (uint count) { count = icoRuleList[icoRuleId - 1].addrList.length; } function getIcoAddrListByIcoRuleId(uint icoRuleId, uint index) public view onlyOwner returns (address addr) { addr = icoRuleList[icoRuleId - 1].addrList[index]; } function initIcoRule() internal returns(bool) { icoRuleAdd(1529424001, 1532275199, 2600, 0); icoRuleAdd(1532275201, 1533484799, 2100, 0); icoRuleAdd(1533484801, 1534694399, 1700, 0); icoRuleAdd(1534694401, 1535903999, 1400, 0); icoRuleAdd(1535904001, 1537113599, 1100, 0); } struct ShareRule { uint startTime; uint endTime; uint rateDenominator; } event GetShareRule(address addr, uint startTime, uint endTime, uint rateDenominator); mapping (uint => ShareRule[]) shareRuleGroup; mapping (address => uint) addr2shareRuleGroupId; mapping (address => uint ) sharedAmount; mapping (address => uint ) icoAmount; ShareRule[] srlist_Team; function initShareRule4Publicity() internal returns( bool ) { ShareRule memory sr; sr = ShareRule(1548432001, 1579967999, 5); srlist_Team.push( sr ); sr = ShareRule(1579968001, 1611590399, 5); srlist_Team.push( sr ); sr = ShareRule(1611590401, 1643126399, 5); srlist_Team.push( sr ); sr = ShareRule(1643126401, 1674662399, 5); srlist_Team.push( sr ); sr = ShareRule(1674662401, 1706198399, 5); srlist_Team.push( sr ); shareRuleGroup[2] = srlist_Team; addr2shareRuleGroupId[ADDR_MAYA_TEAM] = 2; return true; } function initPublicityAddr() internal { ADDR_MAYA_MARKETING = address(0xb92863581E6C3Ba7eDC78fFa45CdbBa59A4aD03C); balances[ADDR_MAYA_MARKETING] = parse2wei(50000000); ADDR_MAYA_ASSOCIATION = address(0xff849bf00Fd77C357A7B9A09E572a1510ff7C0dC); balances[ADDR_MAYA_ASSOCIATION] = parse2wei(500000000); ADDR_MAYA_TEAM = address(0xb391e1b2186DB3b8d2F3D0968F30AB456F1eCa57); balances[ADDR_MAYA_TEAM] = parse2wei(100000000); initShareRule4Publicity(); } function updateShareRuleGroup(uint id, uint index, uint startTime, uint endTime, uint rateDenominator) public onlyOwner returns(bool) { if (startTime > 0) { shareRuleGroup[id][index].startTime = startTime; } if (endTime > 0) { shareRuleGroup[id][index].endTime = endTime; } if (rateDenominator > 0) { shareRuleGroup[id][index].rateDenominator = rateDenominator; } return true; } function tokenShareShow(address addr) public returns(uint shareRuleGroupId) { shareRuleGroupId = addr2shareRuleGroupId[addr]; if (shareRuleGroupId == 0) { return 0; } ShareRule[] memory shareRuleList = shareRuleGroup[shareRuleGroupId]; uint count = shareRuleList.length; for (uint i = 0; i < count ; i++) { emit GetShareRule(addr, shareRuleList[i].startTime, shareRuleList[i].endTime, shareRuleList[i].rateDenominator); } return shareRuleGroupId; } function setAccountShareRuleGroupId(address addr, uint shareRuleGroupId) public onlyOwner returns(bool) { addr2shareRuleGroupId[addr] = shareRuleGroupId; return true; } } pragma solidity ^0.4.23; /** * @title Basic token * @dev Basic version of StandardToken, with no allowances. */ contract BasicToken is ERC20Basic, MayaPlus { using SafeMath for uint256; uint256 internal totalSupply_; mapping (address => bool) internal locked; mapping (address => bool) internal isAgent; mapping (address => uint) internal agentRate; function setAgentRate(address addr, uint rate) public onlyAdmin returns(bool) { require( addr != address(0) ); agentRate[addr] = rate; return true; } /** * alan: lock or unlock account */ function lockAccount(address _addr) public onlyAdmin returns (bool) { require(_addr != address(0)); locked[_addr] = true; return true; } function unlockAccount(address _addr) public onlyAdmin returns (bool) { require(_addr != address(0)); locked[_addr] = false; return true; } /** * alan: get lock status */ function isLocked(address addr) public view returns(bool) { return locked[addr]; } bool internal stopped = false; modifier running { assert (!stopped); _; } function stop() public onlyOwner { stopped = true; } function start() public onlyOwner { stopped = false; } function isStopped() public view returns(bool) { return stopped; } /** * @dev total number of tokens in existence */ function totalSupply() public view returns (uint256) { return totalSupply_; } function getRemainShareAmount() public view returns(uint) { return getRemainShareAmountInternal(msg.sender); } function getRemainShareAmountInternal(address addr) internal view returns(uint) { uint canTransferAmount = 0; uint srgId = addr2shareRuleGroupId[addr]; bool allowTransfer = false; if (srgId == 0) { canTransferAmount = balances[addr]; return canTransferAmount; } else { ShareRule[] memory shareRuleList = shareRuleGroup[srgId]; uint count = shareRuleList.length; for (uint i = 0; i < count ; i++) { if ( shareRuleList[i].startTime < now && now < shareRuleList[i].endTime) { canTransferAmount = (i + 1).mul(icoAmount[addr]).div(shareRuleList[i].rateDenominator).sub( sharedAmount[addr]); return canTransferAmount; } } if (allowTransfer == false) { bool isOverTime = true; for (i = 0; i < count ; i++) { if ( now < shareRuleList[i].endTime) { isOverTime = false; } } if (isOverTime == true) { allowTransfer = true; canTransferAmount = balances[addr]; return canTransferAmount; } } } } /** * @dev transfer token for a specified address * @param _to The address to transfer to. * @param _value The amount to be transferred. */ function transfer(address _to, uint256 _value) public running returns (bool) { require(_to != address(0)); require(_value <= balances[msg.sender]); require( locked[msg.sender] != true); require( locked[_to] != true); require( getRemainShareAmount() >= _value ); balances[msg.sender] = balances[msg.sender].sub(_value); sharedAmount[msg.sender] = sharedAmount[msg.sender].add( _value ); balances[_to] = balances[_to].add(_value); emit Transfer(msg.sender, _to, _value); return true; } /** * @dev Gets the balance of the specified address. * @param _owner The address to query the the balance of. * @return An uint256 representing the amount owned by the passed address. */ function balanceOf(address _owner) public view returns (uint256) { return balances[_owner]; } } pragma solidity ^0.4.23; /** * @title Standard ERC20 token * * @dev Implementation of the basic standard token. * @dev https://github.com/ethereum/EIPs/issues/20 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol */ contract StandardToken is ERC20, BasicToken { mapping (address => mapping (address => uint256)) internal allowed; /** * @dev Transfer tokens from one address to another * @param _from address The address which you want to send tokens from * @param _to address The address which you want to transfer to * @param _value uint256 the amount of tokens to be transferred */ function transferFrom(address _from, address _to, uint256 _value) public running returns (bool) { require(_to != address(0)); require( locked[_from] != true && locked[_to] != true); require(_value <= balances[_from]); require(_value <= allowed[_from][msg.sender]); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); emit Transfer(_from, _to, _value); return true; } /** * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * * Beware that changing an allowance with this method brings the risk that someone may use both the old * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * @param _spender The address which will spend the funds. * @param _value The amount of tokens to be spent. */ function approve(address _spender, uint256 _value) public running returns (bool) { require(getRemainShareAmountInternal(msg.sender) >= _value); allowed[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } /** * @dev Function to check the amount of tokens that an owner allowed to a spender. * @param _owner address The address which owns the funds. * @param _spender address The address which will spend the funds. * @return A uint256 specifying the amount of tokens still available for the spender. */ function allowance(address _owner, address _spender) public view returns (uint256) { return allowed[_owner][_spender]; } } contract AlanPlusToken is StandardToken { event Burn(address indexed from, uint256 value); /** * Destroy tokens * Remove `_value` tokens from the system irreversibly * @param _value the amount of money to burn */ function burn(uint256 _value) public onlyOwner running returns (bool success) { require(balances[msg.sender] >= _value); balances[msg.sender] = balances[msg.sender].sub(_value); totalSupply_ = totalSupply_.sub(_value); emit Burn(msg.sender, _value); return true; } /** * Destroy tokens from other account * * Remove `_value` tokens from the system irreversibly on behalf of `_from`. * * @param _from the address of the senderT * @param _value the amount of money to burn */ function burnFrom(address _from, uint256 _value) public onlyOwner returns (bool success) { require(balances[_from] >= _value); if (_value <= allowed[_from][msg.sender]) { allowed[_from][msg.sender] -= _value; } else { allowed[_from][msg.sender] = 0; } balances[_from] -= _value; totalSupply_ -= _value; emit Burn(_from, _value); return true; } } pragma solidity ^0.4.23; contract MAYA is AlanPlusToken { string public constant name = "Maya"; string public constant symbol = "MAYA"; uint8 public constant decimals = 18; uint256 private constant INITIAL_SUPPLY = 1000000000 * (10 ** uint256(decimals)); function () public payable { uint curIcoRate = 0; if (agentRate[msg.sender] > 0) { curIcoRate = agentRate[msg.sender]; } else { uint icoRuleIndex = 500; for (uint i = 0; i < icoRuleList.length ; i++) { if ((icoRuleList[i].canceled != true) && (icoRuleList[i].startTime < now && now < icoRuleList[i].endTime)) { curIcoRate = icoRuleList[i].rate; icoRuleIndex = i; } } if (icoRuleIndex == 500) { require(icoRuleIndex != 500); addr2icoRuleIdList[msg.sender].push( 0 ); addr2shareRuleGroupId[msg.sender] = addr2shareRuleGroupId[msg.sender] > 0 ? addr2shareRuleGroupId[msg.sender] : 0; } else { addr2shareRuleGroupId[msg.sender] = addr2shareRuleGroupId[msg.sender] > 0 ? addr2shareRuleGroupId[msg.sender] : icoRuleList[icoRuleIndex].shareRuleGroupId; addr2icoRuleIdList[msg.sender].push( icoRuleIndex + 1 ); icoPushAddr(icoRuleIndex, msg.sender); } } uint amountMAYA = 0; amountMAYA = msg.value.mul( curIcoRate ); balances[msg.sender] = balances[msg.sender].add(amountMAYA); icoAmount[msg.sender] = icoAmount[msg.sender].add(amountMAYA); balances[owner] = balances[owner].sub(amountMAYA); ADDR_MAYA_ORG.transfer(msg.value); } event AddBalance(address addr, uint amount); event SubBalance(address addr, uint amount); address addrContractCaller; modifier isContractCaller { require(msg.sender == addrContractCaller); _; } function addBalance(address addr, uint amount) public isContractCaller returns(bool) { require(addr != address(0)); balances[addr] = balances[addr].add(amount); emit AddBalance(addr, amount); return true; } function subBalance(address addr, uint amount) public isContractCaller returns(bool) { require(balances[addr] >= amount); balances[addr] = balances[addr].sub(amount); emit SubBalance(addr, amount); return true; } function setAddrContractCaller(address addr) onlyOwner public returns(bool) { require(addr != address(0)); addrContractCaller = addr; return true; } constructor(uint totalSupply) public { owner = msg.sender; ADDR_MAYA_ORG = owner; totalSupply_ = totalSupply > 0 ? totalSupply : INITIAL_SUPPLY; uint assignedAmount = 500000000 + 50000000 + 100000000; assignedAmount = parse2wei(assignedAmount); balances[owner] = totalSupply_.sub( assignedAmount ); initIcoRule(); initPublicityAddr(); lockAccount(ADDR_MAYA_TEAM); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[{"name":"icoRuleId","type":"uint256"},{"name":"index","type":"uint256"}],"name":"getIcoAddrListByIcoRuleId","outputs":[{"name":"addr","type":"address"}],"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":"stop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"shareRuleGroupId","type":"uint256"}],"name":"setAccountShareRuleGroupId","outputs":[{"name":"","type":"bool"}],"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":true,"inputs":[],"name":"getRemainShareAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"amount","type":"uint256"}],"name":"addBalance","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":"transferFrom","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":false,"inputs":[{"name":"addr","type":"address"}],"name":"setAddrContractCaller","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isStopped","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"rate","type":"uint256"}],"name":"setAgentRate","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"lockAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"isLocked","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ADDR_MAYA_ASSOCIATION","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"getIcoRuleList","outputs":[{"name":"count","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ADDR_MAYA_ORG","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"delAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"id","type":"uint256"},{"name":"index","type":"uint256"},{"name":"startTime","type":"uint256"},{"name":"endTime","type":"uint256"},{"name":"rateDenominator","type":"uint256"}],"name":"updateShareRuleGroup","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"setAdmin","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"burnFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ADDR_MAYA_MARKETING","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"tokenShareShow","outputs":[{"name":"shareRuleGroupId","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addr","type":"address"}],"name":"unlockAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"icoRuleId","type":"uint256"}],"name":"getIcoAddrCount","outputs":[{"name":"count","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ADDR_MAYA_TEAM","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"changeOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":false,"inputs":[],"name":"start","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"index","type":"uint256"}],"name":"icoRuleCancel","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"index","type":"uint256"},{"name":"startTime","type":"uint256"},{"name":"endTime","type":"uint256"},{"name":"rate","type":"uint256"},{"name":"shareRuleGroupId","type":"uint256"}],"name":"icoRuleUpdate","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"amount","type":"uint256"}],"name":"subBalance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"startTime","type":"uint256"},{"name":"endTime","type":"uint256"},{"name":"rate","type":"uint256"},{"name":"shareRuleGroupId","type":"uint256"}],"name":"icoRuleAdd","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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"},{"inputs":[{"name":"totalSupply","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"AddBalance","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"SubBalance","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"startTime","type":"uint256"},{"indexed":false,"name":"endTime","type":"uint256"},{"indexed":false,"name":"rate","type":"uint256"},{"indexed":false,"name":"shareRuleGroupId","type":"uint256"},{"indexed":false,"name":"canceled","type":"bool"}],"name":"GetIcoRule","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"addr","type":"address"},{"indexed":false,"name":"startTime","type":"uint256"},{"indexed":false,"name":"endTime","type":"uint256"},{"indexed":false,"name":"rateDenominator","type":"uint256"}],"name":"GetShareRule","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
60806040526000601260006101000a81548160ff0219169083151502179055503480156200002c57600080fd5b5060405160208062004d84833981018060405281019080805190602001909291905050506000336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600082116200011157601260ff16600a0a633b9aca000262000113565b815b600e819055506326be368090506200013a816200023d640100000000026401000000009004565b90506200016181600e54620002526401000000000262001674179091906401000000009004565b600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620001de6200026c640100000000026401000000009004565b50620001f86200033e640100000000026401000000009004565b62000234600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620005e2640100000000026401000000009004565b50505062000d58565b6000806012905080600a0a8302915050919050565b60008282111515156200026157fe5b818303905092915050565b600062000296635b292881635b54a9ff610a2860006200073a640100000000026401000000009004565b50620002bf635b54aa01635b671eff61083460006200073a640100000000026401000000009004565b50620002e8635b671f01635b7993ff6106a460006200073a640100000000026401000000009004565b5062000311635b799401635b8c08ff61057860006200073a640100000000026401000000009004565b506200033a635b8c0901635b9e7dff61044c60006200073a640100000000026401000000009004565b5090565b73b92863581e6c3ba7edc78ffa45cdbba59a4ad03c600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003b16302faf0806200023d640100000000026401000000009004565b60026000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073ff849bf00fd77c357a7b9a09e572a1510ff7c0dc600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000489631dcd65006200023d640100000000026401000000009004565b60026000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073b391e1b2186db3b8d2f3d0968f30ab456f1eca57600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620005616305f5e1006200023d640100000000026401000000009004565b60026000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620005df62000883640100000000026401000000009004565b50565b600060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514806200069057506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156200069c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515620006d957600080fd5b6001600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000606060006200074a62000b73565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515620007a657600080fd5b6000915060c0604051908101604052808981526020018881526020018781526020018681526020018481526020018315158152509050600781908060018154018082558091505090600182039060005260206000209060060201600090919290919091506000820151816000015560208201518160010155604082015181600201556060820151816003015560808201518160040190805190602001906200085092919062000bac565b5060a08201518160050160006101000a81548160ff02191690831515021790555050505060019350505050949350505050565b60006200088f62000c3b565b606060405190810160405280635c4b32818152602001635e2c65ff815260200160058152509050600d8190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001015560408201518160020155505050606060405190810160405280635e2c6601815260200163600eeaff815260200160058152509050600d819080600181540180825580915050906001820390600052602060002090600302016000909192909190915060008201518160000155602082015181600101556040820151816002015550505060606040519081016040528063600eeb0181526020016361f01e7f815260200160058152509050600d81908060018154018082558091505090600182039060005260206000209060030201600090919290919091506000820151816000015560208201518160010155604082015181600201555050506060604051908101604052806361f01e8181526020016363d151ff815260200160058152509050600d81908060018154018082558091505090600182039060005260206000209060030201600090919290919091506000820151816000015560208201518160010155604082015181600201555050506060604051908101604052806363d1520181526020016365b2857f815260200160058152509050600d8190806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001015560408201518160020155505050600d600960006002815260200190815260200160002090805462000b0392919062000c5d565b506002600a6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600191505090565b60c06040519081016040528060008152602001600081526020016000815260200160008152602001606081526020016000151581525090565b82805482825590600052602060002090810192821562000c28579160200282015b8281111562000c275782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019062000bcd565b5b50905062000c37919062000cd8565b5090565b6060604051908101604052806000815260200160008152602001600081525090565b82805482825590600052602060002090600302810192821562000cc55760005260206000209160030282015b8281111562000cc457828260008201548160000155600182015481600101556002820154816002015550509160030191906003019062000c89565b5b50905062000cd4919062000d1e565b5090565b62000d1b91905b8082111562000d1757600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555060010162000cdf565b5090565b90565b62000d5591905b8082111562000d5157600080820160009055600182016000905560028201600090555060030162000d25565b5090565b90565b61401c8062000d686000396000f3006080604052600436106101d8576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303e6c1171461089c57806306fdde031461091357806307da68f5146109a357806307e1967a146109ba578063095ea7b314610a1f5780630e0e26da14610a8457806318160ddd14610aaf57806321e5383a14610ada57806323b872dd14610b3f578063313ce56714610bc45780633694532814610bf55780633f683b6a14610c5057806342966c6814610c7f57806346758d0b14610cc457806347a64f4414610d295780634a4fbeec14610d845780634b81780e14610ddf57806357d70c0b14610e365780635897164a14610e6157806362d9185514610eb857806366f928d314610f13578063704b6c0214610f8057806370a0823114610fdb57806379cc6790146110325780637addc7661461109757806386fa0671146110ee578063905295e31461114557806395d89b41146111a057806397172664146112305780639df0a5df14611271578063a6f9dae1146112c8578063a9059cbb14611323578063be9a655514611388578063c08e05aa1461139f578063c0c8821a146113e4578063cf8eeb7e14611451578063db23c5d7146114b6578063dd62ed3e14611519575b600080600080600093506000601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561027157601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549350610613565b6101f49250600091505b60078054905082101561034d576001151560078381548110151561029b57fe5b906000526020600020906006020160050160009054906101000a900460ff161515141580156103145750426007838154811015156102d557fe5b90600052602060002090600602016000015410801561031357506007828154811015156102fe57fe5b90600052602060002090600602016001015442105b5b156103405760078281548110151561032857fe5b90600052602060002090600602016002015493508192505b818060010192505061027b565b6101f48314156104a9576101f4831415151561036857600080fd5b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600090806001815401808255809150509060018203906000526020600020016000909192909190915055506000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610420576000610461565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020545b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610612565b6000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610516576007838154811015156104ff57fe5b906000526020600020906006020160030154610557565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020545b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001840190806001815401808255809150509060018203906000526020600020016000909192909190915055506106108333611590565b505b5b6000905061062a843461162090919063ffffffff16565b905061067e81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061071381600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165890919063ffffffff16565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506107c981600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461167490919063ffffffff16565b600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610895573d6000803e3d6000fd5b5050505050005b3480156108a857600080fd5b506108d1600480360381019080803590602001909291908035906020019092919050505061168d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561091f57600080fd5b5061092861174d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561096857808201518184015260208101905061094d565b50505050905090810190601f1680156109955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156109af57600080fd5b506109b8611786565b005b3480156109c657600080fd5b50610a05600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117fe565b604051808215151515815260200191505060405180910390f35b348015610a2b57600080fd5b50610a6a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118a9565b604051808215151515815260200191505060405180910390f35b348015610a9057600080fd5b50610a996119cb565b6040518082815260200191505060405180910390f35b348015610abb57600080fd5b50610ac46119db565b6040518082815260200191505060405180910390f35b348015610ae657600080fd5b50610b25600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506119e5565b604051808215151515815260200191505060405180910390f35b348015610b4b57600080fd5b50610baa600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b89565b604051808215151515815260200191505060405180910390f35b348015610bd057600080fd5b50610bd961201f565b604051808260ff1660ff16815260200191505060405180910390f35b348015610c0157600080fd5b50610c36600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612024565b604051808215151515815260200191505060405180910390f35b348015610c5c57600080fd5b50610c65612107565b604051808215151515815260200191505060405180910390f35b348015610c8b57600080fd5b50610caa6004803603810190808035906020019092919050505061211e565b604051808215151515815260200191505060405180910390f35b348015610cd057600080fd5b50610d0f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506122e9565b604051808215151515815260200191505060405180910390f35b348015610d3557600080fd5b50610d6a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061242b565b604051808215151515815260200191505060405180910390f35b348015610d9057600080fd5b50610dc5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612580565b604051808215151515815260200191505060405180910390f35b348015610deb57600080fd5b50610df46125d6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610e4257600080fd5b50610e4b6125fc565b6040518082815260200191505060405180910390f35b348015610e6d57600080fd5b50610e7661272d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610ec457600080fd5b50610ef9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612753565b604051808215151515815260200191505060405180910390f35b348015610f1f57600080fd5b50610f666004803603810190808035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050612811565b604051808215151515815260200191505060405180910390f35b348015610f8c57600080fd5b50610fc1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061293b565b604051808215151515815260200191505060405180910390f35b348015610fe757600080fd5b5061101c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506129f8565b6040518082815260200191505060405180910390f35b34801561103e57600080fd5b5061107d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612a41565b604051808215151515815260200191505060405180910390f35b3480156110a357600080fd5b506110ac612d38565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156110fa57600080fd5b5061112f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612d5e565b6040518082815260200191505060405180910390f35b34801561115157600080fd5b50611186600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612f39565b604051808215151515815260200191505060405180910390f35b3480156111ac57600080fd5b506111b561308e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156111f55780820151818401526020810190506111da565b50505050905090810190601f1680156112225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561123c57600080fd5b5061125b600480360381019080803590602001909291905050506130c7565b6040518082815260200191505060405180910390f35b34801561127d57600080fd5b50611286613152565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156112d457600080fd5b50611309600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613178565b604051808215151515815260200191505060405180910390f35b34801561132f57600080fd5b5061136e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061321e565b604051808215151515815260200191505060405180910390f35b34801561139457600080fd5b5061139d6135c7565b005b3480156113ab57600080fd5b506113ca6004803603810190808035906020019092919050505061363f565b604051808215151515815260200191505060405180910390f35b3480156113f057600080fd5b5061143760048036038101908080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291905050506136f1565b604051808215151515815260200191505060405180910390f35b34801561145d57600080fd5b5061149c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613820565b604051808215151515815260200191505060405180910390f35b3480156114c257600080fd5b506114ff600480360381019080803590602001909291908035906020019092919080359060200190929190803590602001909291905050506139d6565b604051808215151515815260200191505060405180910390f35b34801561152557600080fd5b5061157a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613b1a565b6040518082815260200191505060405180910390f35b60006007838154811015156115a157fe5b90600052602060002090600602016004018290806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506001905092915050565b6000808314156116335760009050611652565b818302905081838281151561164457fe5b0414151561164e57fe5b8090505b92915050565b6000818301905082811015151561166b57fe5b80905092915050565b600082821115151561168257fe5b818303905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116ea57600080fd5b6007600184038154811015156116fc57fe5b90600052602060002090600602016004018281548110151561171a57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905092915050565b6040805190810160405280600481526020017f4d6179610000000000000000000000000000000000000000000000000000000081525081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117e157600080fd5b6001601260006101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561185b57600080fd5b81600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b6000601260009054906101000a900460ff161515156118c457fe5b816118ce33613ba1565b101515156118db57600080fd5b81601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60006119d633613ba1565b905090565b6000600e54905090565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a4357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611a7f57600080fd5b611ad182600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165890919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f1ac61b78d31c6915e0127f1431c8de204266cefccd98c75728048a1b0a784c2d8383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a16001905092915050565b6000601260009054906101000a900460ff16151515611ba457fe5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611be057600080fd5b60011515600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514158015611c92575060011515600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514155b1515611c9d57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611ceb57600080fd5b601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611d7657600080fd5b611dc882600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461167490919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e5d82600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165890919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f2f82601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461167490919063ffffffff16565b601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b601281565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561208157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156120bd57600080fd5b81601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b6000601260009054906101000a900460ff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561217b57600080fd5b601260009054906101000a900460ff1615151561219457fe5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156121e257600080fd5b61223482600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461167490919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061228c82600e5461167490919063ffffffff16565b600e819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a260019050919050565b600060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515148061239657506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156123a157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156123dd57600080fd5b81601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b600060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514806124d857506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156124e357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561251f57600080fd5b6001600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806007805490509150600090505b81811015612729577f3fd09c11ab25d63cb931934aa596b6bde99b04e53cfc0ed5f0ef068c5ebcf21a60078281548110151561264457fe5b90600052602060002090600602016000015460078381548110151561266557fe5b90600052602060002090600602016001015460078481548110151561268657fe5b9060005260206000209060060201600201546007858154811015156126a757fe5b9060005260206000209060060201600301546007868154811015156126c857fe5b906000526020600020906006020160050160009054906101000a900460ff1660405180868152602001858152602001848152602001838152602001821515151581526020019550505050505060405180910390a1808060010191505061260c565b5090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156127b057600080fd5b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561286e57600080fd5b60008411156128ae5783600960008881526020019081526020016000208681548110151561289857fe5b9060005260206000209060030201600001819055505b60008311156128ee578260096000888152602001908152602001600020868154811015156128d857fe5b9060005260206000209060030201600101819055505b600082111561292e5781600960008881526020019081526020016000208681548110151561291857fe5b9060005260206000209060030201600201819055505b6001905095945050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561299857600080fd5b60018060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612a9e57600080fd5b81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515612aec57600080fd5b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515612c005781601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550612c83565b6000601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600e600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a26001905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006060600080600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205493506000841415612db95760009350612f31565b60096000858152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b82821015612e3d578382906000526020600020906003020160606040519081016040529081600082015481526020016001820154815260200160028201548152505081526020019060010190612dec565b50505050925082519150600090505b81811015612f2d577f576be245b78b54839022ee7339b7d29d342aacd35cacde79eba5e4a84206d220858483815181101515612e8457fe5b90602001906020020151600001518584815181101515612ea057fe5b90602001906020020151602001518685815181101515612ebc57fe5b9060200190602002015160400151604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200194505050505060405180910390a18080600101915050612e4c565b8393505b505050919050565b600060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480612fe657506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515612ff157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561302d57600080fd5b6000600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6040805190810160405280600481526020017f4d4159410000000000000000000000000000000000000000000000000000000081525081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561312457600080fd5b60076001830381548110151561313657fe5b9060005260206000209060060201600401805490509050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156131d557600080fd5b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b6000601260009054906101000a900460ff1615151561323957fe5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561327557600080fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156132c357600080fd5b60011515600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415151561332357600080fd5b60011515600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415151561338357600080fd5b8161338c6119cb565b1015151561339957600080fd5b6133eb82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461167490919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061348082600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165890919063ffffffff16565b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061351582600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165890919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561362257600080fd5b6000601260006101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561369c57600080fd5b816007805490501115156136af57600080fd5b60016007838154811015156136c057fe5b906000526020600020906006020160050160006101000a81548160ff02191690831515021790555060019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561374e57600080fd5b8560078054905011151561376157600080fd5b6000851115613790578460078781548110151561377a57fe5b9060005260206000209060060201600001819055505b60008411156137bf57836007878154811015156137a957fe5b9060005260206000209060060201600101819055505b60008311156137ee57826007878154811015156137d857fe5b9060005260206000209060060201600201819055505b816007878154811015156137fe57fe5b9060005260206000209060060201600301819055506001905095945050505050565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561387e57600080fd5b81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156138cc57600080fd5b61391e82600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461167490919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f1a34e7cf4a49ef7e1e4ac9758b3ac9963f037749fd799df2eaedff21dff258d98383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a16001905092915050565b6000606060006139e4613eea565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613a3f57600080fd5b6000915060c060405190810160405280898152602001888152602001878152602001868152602001848152602001831515815250905060078190806001815401808255809150509060018203906000526020600020906006020160009091929091909150600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004019080519060200190613ae7929190613f23565b5060a08201518160050160006101000a81548160ff02191690831515021790555050505060019350505050949350505050565b6000601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008060008060606000806000809650600a60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549550600094506000861415613c4a57600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549650869750613ec8565b60096000878152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b82821015613cce578382906000526020600020906003020160606040519081016040529081600082015481526020016001820154815260200160028201548152505081526020019060010190613c7d565b50505050935083519250600091505b82821015613e1857428483815181101515613cf457fe5b9060200190602002015160000151108015613d2957508382815181101515613d1857fe5b906020019060200201516020015142105b15613e0b57613e01600b60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613df38685815181101515613d8257fe5b9060200190602002015160400151613de5600c60008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546001880161162090919063ffffffff16565b613ed490919063ffffffff16565b61167490919063ffffffff16565b9650869750613ec8565b8180600101925050613cdd565b600015158515151415613ec75760019050600091505b82821015613e6b578382815181101515613e4457fe5b9060200190602002015160200151421015613e5e57600090505b8180600101925050613e2e565b600115158115151415613ec65760019450600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549650869750613ec8565b5b5b50505050505050919050565b60008183811515613ee157fe5b04905092915050565b60c06040519081016040528060008152602001600081526020016000815260200160008152602001606081526020016000151581525090565b828054828255906000526020600020908101928215613f9c579160200282015b82811115613f9b5782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190613f43565b5b509050613fa99190613fad565b5090565b613fed91905b80821115613fe957600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101613fb3565b5090565b905600a165627a7a72305820bc5fde8648e9e0ef6e16af85c286ca8bee77a11a388db6e679774e8cfddb62350029
Deployed Bytecode
0x6080604052600436106101d8576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303e6c1171461089c57806306fdde031461091357806307da68f5146109a357806307e1967a146109ba578063095ea7b314610a1f5780630e0e26da14610a8457806318160ddd14610aaf57806321e5383a14610ada57806323b872dd14610b3f578063313ce56714610bc45780633694532814610bf55780633f683b6a14610c5057806342966c6814610c7f57806346758d0b14610cc457806347a64f4414610d295780634a4fbeec14610d845780634b81780e14610ddf57806357d70c0b14610e365780635897164a14610e6157806362d9185514610eb857806366f928d314610f13578063704b6c0214610f8057806370a0823114610fdb57806379cc6790146110325780637addc7661461109757806386fa0671146110ee578063905295e31461114557806395d89b41146111a057806397172664146112305780639df0a5df14611271578063a6f9dae1146112c8578063a9059cbb14611323578063be9a655514611388578063c08e05aa1461139f578063c0c8821a146113e4578063cf8eeb7e14611451578063db23c5d7146114b6578063dd62ed3e14611519575b600080600080600093506000601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561027157601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549350610613565b6101f49250600091505b60078054905082101561034d576001151560078381548110151561029b57fe5b906000526020600020906006020160050160009054906101000a900460ff161515141580156103145750426007838154811015156102d557fe5b90600052602060002090600602016000015410801561031357506007828154811015156102fe57fe5b90600052602060002090600602016001015442105b5b156103405760078281548110151561032857fe5b90600052602060002090600602016002015493508192505b818060010192505061027b565b6101f48314156104a9576101f4831415151561036857600080fd5b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600090806001815401808255809150509060018203906000526020600020016000909192909190915055506000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610420576000610461565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020545b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610612565b6000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411610516576007838154811015156104ff57fe5b906000526020600020906006020160030154610557565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020545b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001840190806001815401808255809150509060018203906000526020600020016000909192909190915055506106108333611590565b505b5b6000905061062a843461162090919063ffffffff16565b905061067e81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061071381600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165890919063ffffffff16565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506107c981600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461167490919063ffffffff16565b600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610895573d6000803e3d6000fd5b5050505050005b3480156108a857600080fd5b506108d1600480360381019080803590602001909291908035906020019092919050505061168d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561091f57600080fd5b5061092861174d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561096857808201518184015260208101905061094d565b50505050905090810190601f1680156109955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156109af57600080fd5b506109b8611786565b005b3480156109c657600080fd5b50610a05600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117fe565b604051808215151515815260200191505060405180910390f35b348015610a2b57600080fd5b50610a6a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118a9565b604051808215151515815260200191505060405180910390f35b348015610a9057600080fd5b50610a996119cb565b6040518082815260200191505060405180910390f35b348015610abb57600080fd5b50610ac46119db565b6040518082815260200191505060405180910390f35b348015610ae657600080fd5b50610b25600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506119e5565b604051808215151515815260200191505060405180910390f35b348015610b4b57600080fd5b50610baa600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b89565b604051808215151515815260200191505060405180910390f35b348015610bd057600080fd5b50610bd961201f565b604051808260ff1660ff16815260200191505060405180910390f35b348015610c0157600080fd5b50610c36600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612024565b604051808215151515815260200191505060405180910390f35b348015610c5c57600080fd5b50610c65612107565b604051808215151515815260200191505060405180910390f35b348015610c8b57600080fd5b50610caa6004803603810190808035906020019092919050505061211e565b604051808215151515815260200191505060405180910390f35b348015610cd057600080fd5b50610d0f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506122e9565b604051808215151515815260200191505060405180910390f35b348015610d3557600080fd5b50610d6a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061242b565b604051808215151515815260200191505060405180910390f35b348015610d9057600080fd5b50610dc5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612580565b604051808215151515815260200191505060405180910390f35b348015610deb57600080fd5b50610df46125d6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610e4257600080fd5b50610e4b6125fc565b6040518082815260200191505060405180910390f35b348015610e6d57600080fd5b50610e7661272d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610ec457600080fd5b50610ef9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612753565b604051808215151515815260200191505060405180910390f35b348015610f1f57600080fd5b50610f666004803603810190808035906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050612811565b604051808215151515815260200191505060405180910390f35b348015610f8c57600080fd5b50610fc1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061293b565b604051808215151515815260200191505060405180910390f35b348015610fe757600080fd5b5061101c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506129f8565b6040518082815260200191505060405180910390f35b34801561103e57600080fd5b5061107d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612a41565b604051808215151515815260200191505060405180910390f35b3480156110a357600080fd5b506110ac612d38565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156110fa57600080fd5b5061112f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612d5e565b6040518082815260200191505060405180910390f35b34801561115157600080fd5b50611186600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612f39565b604051808215151515815260200191505060405180910390f35b3480156111ac57600080fd5b506111b561308e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156111f55780820151818401526020810190506111da565b50505050905090810190601f1680156112225780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561123c57600080fd5b5061125b600480360381019080803590602001909291905050506130c7565b6040518082815260200191505060405180910390f35b34801561127d57600080fd5b50611286613152565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156112d457600080fd5b50611309600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613178565b604051808215151515815260200191505060405180910390f35b34801561132f57600080fd5b5061136e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061321e565b604051808215151515815260200191505060405180910390f35b34801561139457600080fd5b5061139d6135c7565b005b3480156113ab57600080fd5b506113ca6004803603810190808035906020019092919050505061363f565b604051808215151515815260200191505060405180910390f35b3480156113f057600080fd5b5061143760048036038101908080359060200190929190803590602001909291908035906020019092919080359060200190929190803590602001909291905050506136f1565b604051808215151515815260200191505060405180910390f35b34801561145d57600080fd5b5061149c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613820565b604051808215151515815260200191505060405180910390f35b3480156114c257600080fd5b506114ff600480360381019080803590602001909291908035906020019092919080359060200190929190803590602001909291905050506139d6565b604051808215151515815260200191505060405180910390f35b34801561152557600080fd5b5061157a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613b1a565b6040518082815260200191505060405180910390f35b60006007838154811015156115a157fe5b90600052602060002090600602016004018290806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506001905092915050565b6000808314156116335760009050611652565b818302905081838281151561164457fe5b0414151561164e57fe5b8090505b92915050565b6000818301905082811015151561166b57fe5b80905092915050565b600082821115151561168257fe5b818303905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116ea57600080fd5b6007600184038154811015156116fc57fe5b90600052602060002090600602016004018281548110151561171a57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905092915050565b6040805190810160405280600481526020017f4d6179610000000000000000000000000000000000000000000000000000000081525081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117e157600080fd5b6001601260006101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561185b57600080fd5b81600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b6000601260009054906101000a900460ff161515156118c457fe5b816118ce33613ba1565b101515156118db57600080fd5b81601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60006119d633613ba1565b905090565b6000600e54905090565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a4357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611a7f57600080fd5b611ad182600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165890919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f1ac61b78d31c6915e0127f1431c8de204266cefccd98c75728048a1b0a784c2d8383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a16001905092915050565b6000601260009054906101000a900460ff16151515611ba457fe5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611be057600080fd5b60011515600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514158015611c92575060011515600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514155b1515611c9d57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611ceb57600080fd5b601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611d7657600080fd5b611dc882600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461167490919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e5d82600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165890919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f2f82601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461167490919063ffffffff16565b601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b601281565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561208157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156120bd57600080fd5b81601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b6000601260009054906101000a900460ff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561217b57600080fd5b601260009054906101000a900460ff1615151561219457fe5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156121e257600080fd5b61223482600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461167490919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061228c82600e5461167490919063ffffffff16565b600e819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a260019050919050565b600060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515148061239657506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156123a157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156123dd57600080fd5b81601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b600060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514806124d857506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156124e357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561251f57600080fd5b6001600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806007805490509150600090505b81811015612729577f3fd09c11ab25d63cb931934aa596b6bde99b04e53cfc0ed5f0ef068c5ebcf21a60078281548110151561264457fe5b90600052602060002090600602016000015460078381548110151561266557fe5b90600052602060002090600602016001015460078481548110151561268657fe5b9060005260206000209060060201600201546007858154811015156126a757fe5b9060005260206000209060060201600301546007868154811015156126c857fe5b906000526020600020906006020160050160009054906101000a900460ff1660405180868152602001858152602001848152602001838152602001821515151581526020019550505050505060405180910390a1808060010191505061260c565b5090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156127b057600080fd5b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561286e57600080fd5b60008411156128ae5783600960008881526020019081526020016000208681548110151561289857fe5b9060005260206000209060030201600001819055505b60008311156128ee578260096000888152602001908152602001600020868154811015156128d857fe5b9060005260206000209060030201600101819055505b600082111561292e5781600960008881526020019081526020016000208681548110151561291857fe5b9060005260206000209060030201600201819055505b6001905095945050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561299857600080fd5b60018060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612a9e57600080fd5b81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515612aec57600080fd5b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515612c005781601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550612c83565b6000601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600e600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a26001905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006060600080600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205493506000841415612db95760009350612f31565b60096000858152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b82821015612e3d578382906000526020600020906003020160606040519081016040529081600082015481526020016001820154815260200160028201548152505081526020019060010190612dec565b50505050925082519150600090505b81811015612f2d577f576be245b78b54839022ee7339b7d29d342aacd35cacde79eba5e4a84206d220858483815181101515612e8457fe5b90602001906020020151600001518584815181101515612ea057fe5b90602001906020020151602001518685815181101515612ebc57fe5b9060200190602002015160400151604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200182815260200194505050505060405180910390a18080600101915050612e4c565b8393505b505050919050565b600060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480612fe657506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515612ff157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561302d57600080fd5b6000600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6040805190810160405280600481526020017f4d4159410000000000000000000000000000000000000000000000000000000081525081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561312457600080fd5b60076001830381548110151561313657fe5b9060005260206000209060060201600401805490509050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156131d557600080fd5b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b6000601260009054906101000a900460ff1615151561323957fe5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561327557600080fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156132c357600080fd5b60011515600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415151561332357600080fd5b60011515600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415151561338357600080fd5b8161338c6119cb565b1015151561339957600080fd5b6133eb82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461167490919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061348082600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165890919063ffffffff16565b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061351582600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461165890919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561362257600080fd5b6000601260006101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561369c57600080fd5b816007805490501115156136af57600080fd5b60016007838154811015156136c057fe5b906000526020600020906006020160050160006101000a81548160ff02191690831515021790555060019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561374e57600080fd5b8560078054905011151561376157600080fd5b6000851115613790578460078781548110151561377a57fe5b9060005260206000209060060201600001819055505b60008411156137bf57836007878154811015156137a957fe5b9060005260206000209060060201600101819055505b60008311156137ee57826007878154811015156137d857fe5b9060005260206000209060060201600201819055505b816007878154811015156137fe57fe5b9060005260206000209060060201600301819055506001905095945050505050565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561387e57600080fd5b81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156138cc57600080fd5b61391e82600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461167490919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f1a34e7cf4a49ef7e1e4ac9758b3ac9963f037749fd799df2eaedff21dff258d98383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a16001905092915050565b6000606060006139e4613eea565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613a3f57600080fd5b6000915060c060405190810160405280898152602001888152602001878152602001868152602001848152602001831515815250905060078190806001815401808255809150509060018203906000526020600020906006020160009091929091909150600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004019080519060200190613ae7929190613f23565b5060a08201518160050160006101000a81548160ff02191690831515021790555050505060019350505050949350505050565b6000601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008060008060606000806000809650600a60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549550600094506000861415613c4a57600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549650869750613ec8565b60096000878152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b82821015613cce578382906000526020600020906003020160606040519081016040529081600082015481526020016001820154815260200160028201548152505081526020019060010190613c7d565b50505050935083519250600091505b82821015613e1857428483815181101515613cf457fe5b9060200190602002015160000151108015613d2957508382815181101515613d1857fe5b906020019060200201516020015142105b15613e0b57613e01600b60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613df38685815181101515613d8257fe5b9060200190602002015160400151613de5600c60008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546001880161162090919063ffffffff16565b613ed490919063ffffffff16565b61167490919063ffffffff16565b9650869750613ec8565b8180600101925050613cdd565b600015158515151415613ec75760019050600091505b82821015613e6b578382815181101515613e4457fe5b9060200190602002015160200151421015613e5e57600090505b8180600101925050613e2e565b600115158115151415613ec65760019450600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549650869750613ec8565b5b5b50505050505050919050565b60008183811515613ee157fe5b04905092915050565b60c06040519081016040528060008152602001600081526020016000815260200160008152602001606081526020016000151581525090565b828054828255906000526020600020908101928215613f9c579160200282015b82811115613f9b5782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190613f43565b5b509050613fa99190613fad565b5090565b613fed91905b80821115613fe957600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101613fb3565b5090565b905600a165627a7a72305820bc5fde8648e9e0ef6e16af85c286ca8bee77a11a388db6e679774e8cfddb62350029
Swarm Source
bzzr://bc5fde8648e9e0ef6e16af85c286ca8bee77a11a388db6e679774e8cfddb6235
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.