Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
700,000,000 CMKR
Holders
1,333
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 8 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
CoreMaker
Compiler Version
v0.4.25+commit.59dbf8f1
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-05-19 */ pragma solidity ^0.4.25; /** * @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) { // assert(b > 0); // Solidity automatically throws when dividing by 0 // uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold 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; } } contract ForeignToken { function balanceOf(address _owner) constant public returns (uint256); function transfer(address _to, uint256 _value) public returns (bool); } contract ERC20Basic { uint256 public totalSupply; function balanceOf(address who) public constant returns (uint256); function transfer(address to, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } contract ERC20 is ERC20Basic { function allowance(address owner, address spender) public constant 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 CoreMaker is ERC20 { using SafeMath for uint256; address owner = msg.sender; mapping (address => uint256) balances; mapping (address => mapping (address => uint256)) allowed; string public constant name = "Core Maker"; string public constant symbol = "CMKR"; uint public constant decimals = 8; uint256 public totalSupply = 700000000e8; uint256 public totalDistributed = 0; uint256 public constant MIN_CONTRIBUTION = 1 ether / 5; // 0.1 Ether uint256 public tokensPerEth = 500e8; event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); event Distr(address indexed to, uint256 amount); event DistrFinished(); event Airdrop(address indexed _owner, uint _amount, uint _balance); event TokensPerEthUpdated(uint _tokensPerEth); event Burn(address indexed burner, uint256 value); bool public distributionFinished = false; modifier canDistr() { require(!distributionFinished); _; } modifier onlyOwner() { require(msg.sender == owner); _; } constructor() public { owner = msg.sender; distr(owner, totalDistributed); } function transferOwnership(address newOwner) onlyOwner public { if (newOwner != address(0)) { owner = newOwner; } } function finishDistribution() onlyOwner canDistr public returns (bool) { distributionFinished = true; emit DistrFinished(); return true; } function distr(address _to, uint256 _amount) canDistr private returns (bool) { totalDistributed = totalDistributed.add(_amount); balances[_to] = balances[_to].add(_amount); emit Distr(_to, _amount); emit Transfer(address(0), _to, _amount); return true; } function doAirdrop(address _participant, uint _amount) internal { require( _amount > 0 ); require( totalDistributed < totalSupply ); balances[_participant] = balances[_participant].add(_amount); totalDistributed = totalDistributed.add(_amount); if (totalDistributed >= totalSupply) { distributionFinished = true; } // log emit Airdrop(_participant, _amount, balances[_participant]); emit Transfer(address(0), _participant, _amount); } function adminClaimAirdrop(address _participant, uint _amount) public onlyOwner { doAirdrop(_participant, _amount); } function adminClaimAirdropMultiple(address[] _addresses, uint _amount) public onlyOwner { for (uint i = 0; i < _addresses.length; i++) doAirdrop(_addresses[i], _amount); } function updateTokensPerEth(uint _tokensPerEth) public onlyOwner { tokensPerEth = _tokensPerEth; emit TokensPerEthUpdated(_tokensPerEth); } function () external payable { getTokens(); } function getTokens() payable canDistr public { uint256 tokens = 0; // minimum contribution require( msg.value >= MIN_CONTRIBUTION ); require( msg.value > 0 ); // get baseline number of tokens tokens = tokensPerEth.mul(msg.value) / 1 ether; address investor = msg.sender; if (tokens > 0) { distr(investor, tokens); } if (totalDistributed >= totalSupply) { distributionFinished = true; } } function balanceOf(address _owner) constant public returns (uint256) { return balances[_owner]; } // mitigates the ERC20 short address attack modifier onlyPayloadSize(uint size) { assert(msg.data.length >= size + 4); _; } function transfer(address _to, uint256 _amount) onlyPayloadSize(2 * 32) public returns (bool success) { require(_to != address(0)); require(_amount <= balances[msg.sender]); balances[msg.sender] = balances[msg.sender].sub(_amount); balances[_to] = balances[_to].add(_amount); emit Transfer(msg.sender, _to, _amount); return true; } function transferFrom(address _from, address _to, uint256 _amount) onlyPayloadSize(3 * 32) public returns (bool success) { require(_to != address(0)); require(_amount <= balances[_from]); require(_amount <= allowed[_from][msg.sender]); balances[_from] = balances[_from].sub(_amount); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_amount); balances[_to] = balances[_to].add(_amount); emit Transfer(_from, _to, _amount); return true; } function approve(address _spender, uint256 _value) public returns (bool success) { // mitigates the ERC20 spend/approval race condition if (_value != 0 && allowed[msg.sender][_spender] != 0) { return false; } allowed[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } function allowance(address _owner, address _spender) constant public returns (uint256) { return allowed[_owner][_spender]; } function getTokenBalance(address tokenAddress, address who) constant public returns (uint){ ForeignToken t = ForeignToken(tokenAddress); uint bal = t.balanceOf(who); return bal; } function withdraw() onlyOwner public { address myAddress = this; uint256 etherBalance = myAddress.balance; owner.transfer(etherBalance); } function burn(uint256 _value) onlyOwner public { require(_value <= balances[msg.sender]); // no need to require value <= totalSupply, since that would imply the // sender's balance is greater than the totalSupply, which *should* be an assertion failure address burner = msg.sender; balances[burner] = balances[burner].sub(_value); totalSupply = totalSupply.sub(_value); totalDistributed = totalDistributed.sub(_value); emit Burn(burner, _value); } function withdrawForeignTokens(address _tokenContract) onlyOwner public returns (bool) { ForeignToken token = ForeignToken(_tokenContract); uint256 amount = token.balanceOf(address(this)); return token.transfer(owner, amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"MIN_CONTRIBUTION","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_participant","type":"address"},{"name":"_amount","type":"uint256"}],"name":"adminClaimAirdrop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addresses","type":"address[]"},{"name":"_amount","type":"uint256"}],"name":"adminClaimAirdropMultiple","outputs":[],"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":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finishDistribution","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokensPerEth","type":"uint256"}],"name":"updateTokensPerEth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"getTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"distributionFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"who","type":"address"}],"name":"getTokenBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensPerEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenContract","type":"address"}],"name":"withdrawForeignTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalDistributed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"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"},{"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":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Distr","type":"event"},{"anonymous":false,"inputs":[],"name":"DistrFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"},{"indexed":false,"name":"_balance","type":"uint256"}],"name":"Airdrop","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_tokensPerEth","type":"uint256"}],"name":"TokensPerEthUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"}]
Contract Creation Code
608060405233600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555066f8b0a10e4700006004556000600555640ba43b74006006556000600760006101000a81548160ff0219169083151502179055503480156200008657600080fd5b5033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000107600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166005546200010e640100000000026401000000009004565b50620002d8565b6000600760009054906101000a900460ff161515156200012d57600080fd5b6200015282600554620002bb6401000000000262001cd2179091906401000000009004565b600581905550620001ba82600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620002bb6401000000000262001cd2179091906401000000009004565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a77836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008183019050828110151515620002cf57fe5b80905092915050565b611f1380620002e86000396000f300608060405260043610610133576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461013d578063095ea7b3146101cd57806318160ddd1461023257806323b872dd1461025d578063313ce567146102e25780633ccfd60b1461030d57806340650c911461032457806342966c681461034f5780634a63464d1461037c57806367220fd7146103c957806370a082311461043957806395d89b41146104905780639b1cbccc146105205780639ea407be1461054f578063a9059cbb1461057c578063aa6ca808146105e1578063c108d542146105eb578063c489744b1461061a578063cbdd69b514610691578063dd62ed3e146106bc578063e58fc54c14610733578063efca2eed1461078e578063f2fde38b146107b9575b61013b6107fc565b005b34801561014957600080fd5b506101526108b4565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610192578082015181840152602081019050610177565b50505050905090810190601f1680156101bf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d957600080fd5b50610218600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108ed565b604051808215151515815260200191505060405180910390f35b34801561023e57600080fd5b50610247610a7b565b6040518082815260200191505060405180910390f35b34801561026957600080fd5b506102c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a81565b604051808215151515815260200191505060405180910390f35b3480156102ee57600080fd5b506102f7610e57565b6040518082815260200191505060405180910390f35b34801561031957600080fd5b50610322610e5c565b005b34801561033057600080fd5b50610339610f45565b6040518082815260200191505060405180910390f35b34801561035b57600080fd5b5061037a60048036038101908080359060200190929190505050610f51565b005b34801561038857600080fd5b506103c7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061111d565b005b3480156103d557600080fd5b506104376004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190505050611187565b005b34801561044557600080fd5b5061047a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611226565b6040518082815260200191505060405180910390f35b34801561049c57600080fd5b506104a561126f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104e55780820151818401526020810190506104ca565b50505050905090810190601f1680156105125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561052c57600080fd5b506105356112a8565b604051808215151515815260200191505060405180910390f35b34801561055b57600080fd5b5061057a60048036038101908080359060200190929190505050611370565b005b34801561058857600080fd5b506105c7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061140d565b604051808215151515815260200191505060405180910390f35b6105e96107fc565b005b3480156105f757600080fd5b50610600611648565b604051808215151515815260200191505060405180910390f35b34801561062657600080fd5b5061067b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061165b565b6040518082815260200191505060405180910390f35b34801561069d57600080fd5b506106a6611746565b6040518082815260200191505060405180910390f35b3480156106c857600080fd5b5061071d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061174c565b6040518082815260200191505060405180910390f35b34801561073f57600080fd5b50610774600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117d3565b604051808215151515815260200191505060405180910390f35b34801561079a57600080fd5b506107a3611a18565b6040518082815260200191505060405180910390f35b3480156107c557600080fd5b506107fa600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a1e565b005b600080600760009054906101000a900460ff1615151561081b57600080fd5b600091506702c68af0bb140000341015151561083657600080fd5b60003411151561084557600080fd5b670de0b6b3a764000061086334600654611af590919063ffffffff16565b81151561086c57fe5b0491503390506000821115610887576108858183611b2d565b505b6004546005541015156108b0576001600760006101000a81548160ff0219169083151502179055505b5050565b6040805190810160405280600a81526020017f436f7265204d616b65720000000000000000000000000000000000000000000081525081565b600080821415801561097c57506000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b1561098a5760009050610a75565b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190505b92915050565b60045481565b6000606060048101600036905010151515610a9857fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515610ad457600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515610b2257600080fd5b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515610bad57600080fd5b610bff83600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cb990919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610cd183600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cb990919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610da383600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cd290919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b600881565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ebb57600080fd5b3091508173ffffffffffffffffffffffffffffffffffffffff16319050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610f40573d6000803e3d6000fd5b505050565b6702c68af0bb14000081565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610faf57600080fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610ffd57600080fd5b33905061105282600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cb990919063ffffffff16565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110aa82600454611cb990919063ffffffff16565b6004819055506110c582600554611cb990919063ffffffff16565b6005819055508073ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a25050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561117957600080fd5b6111838282611cee565b5050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111e557600080fd5b600090505b825181101561122157611214838281518110151561120457fe5b9060200190602002015183611cee565b80806001019150506111ea565b505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6040805190810160405280600481526020017f434d4b520000000000000000000000000000000000000000000000000000000081525081565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561130657600080fd5b600760009054906101000a900460ff1615151561132257600080fd5b6001600760006101000a81548160ff0219169083151502179055507f7f95d919e78bdebe8a285e6e33357c2fcb65ccf66e72d7573f9f8f6caad0c4cc60405160405180910390a16001905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113cc57600080fd5b806006819055507ff7729fa834bbef70b6d3257c2317a562aa88b56c81b544814f93dc5963a2c003816040518082815260200191505060405180910390a150565b600060406004810160003690501015151561142457fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561146057600080fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483111515156114ae57600080fd5b61150083600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cb990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061159583600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cd290919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505092915050565b600760009054906101000a900460ff1681565b60008060008491508173ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156116fe57600080fd5b505af1158015611712573d6000803e3d6000fd5b505050506040513d602081101561172857600080fd5b81019080805190602001909291905050509050809250505092915050565b60065481565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561183457600080fd5b8391508173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156118d257600080fd5b505af11580156118e6573d6000803e3d6000fd5b505050506040513d60208110156118fc57600080fd5b810190808051906020019092919050505090508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156119d457600080fd5b505af11580156119e8573d6000803e3d6000fd5b505050506040513d60208110156119fe57600080fd5b810190808051906020019092919050505092505050919050565b60055481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a7a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611af25780600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b600080831415611b085760009050611b27565b8183029050818382811515611b1957fe5b04141515611b2357fe5b8090505b92915050565b6000600760009054906101000a900460ff16151515611b4b57600080fd5b611b6082600554611cd290919063ffffffff16565b600581905550611bb882600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cd290919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a77836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000828211151515611cc757fe5b818303905092915050565b60008183019050828110151515611ce557fe5b80905092915050565b600081111515611cfd57600080fd5b600454600554101515611d0f57600080fd5b611d6181600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cd290919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611db981600554611cd290919063ffffffff16565b600581905550600454600554101515611de8576001600760006101000a81548160ff0219169083151502179055505b8173ffffffffffffffffffffffffffffffffffffffff167fada993ad066837289fe186cd37227aa338d27519a8a1547472ecb9831486d27282600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051808381526020018281526020019250505060405180910390a28173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350505600a165627a7a72305820631cfda2d3bf44818b2a80b07a352962ef588aa9d6500cfe9742e9291ce68e0e0029
Deployed Bytecode
0x608060405260043610610133576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461013d578063095ea7b3146101cd57806318160ddd1461023257806323b872dd1461025d578063313ce567146102e25780633ccfd60b1461030d57806340650c911461032457806342966c681461034f5780634a63464d1461037c57806367220fd7146103c957806370a082311461043957806395d89b41146104905780639b1cbccc146105205780639ea407be1461054f578063a9059cbb1461057c578063aa6ca808146105e1578063c108d542146105eb578063c489744b1461061a578063cbdd69b514610691578063dd62ed3e146106bc578063e58fc54c14610733578063efca2eed1461078e578063f2fde38b146107b9575b61013b6107fc565b005b34801561014957600080fd5b506101526108b4565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610192578082015181840152602081019050610177565b50505050905090810190601f1680156101bf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d957600080fd5b50610218600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108ed565b604051808215151515815260200191505060405180910390f35b34801561023e57600080fd5b50610247610a7b565b6040518082815260200191505060405180910390f35b34801561026957600080fd5b506102c8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a81565b604051808215151515815260200191505060405180910390f35b3480156102ee57600080fd5b506102f7610e57565b6040518082815260200191505060405180910390f35b34801561031957600080fd5b50610322610e5c565b005b34801561033057600080fd5b50610339610f45565b6040518082815260200191505060405180910390f35b34801561035b57600080fd5b5061037a60048036038101908080359060200190929190505050610f51565b005b34801561038857600080fd5b506103c7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061111d565b005b3480156103d557600080fd5b506104376004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190505050611187565b005b34801561044557600080fd5b5061047a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611226565b6040518082815260200191505060405180910390f35b34801561049c57600080fd5b506104a561126f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104e55780820151818401526020810190506104ca565b50505050905090810190601f1680156105125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561052c57600080fd5b506105356112a8565b604051808215151515815260200191505060405180910390f35b34801561055b57600080fd5b5061057a60048036038101908080359060200190929190505050611370565b005b34801561058857600080fd5b506105c7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061140d565b604051808215151515815260200191505060405180910390f35b6105e96107fc565b005b3480156105f757600080fd5b50610600611648565b604051808215151515815260200191505060405180910390f35b34801561062657600080fd5b5061067b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061165b565b6040518082815260200191505060405180910390f35b34801561069d57600080fd5b506106a6611746565b6040518082815260200191505060405180910390f35b3480156106c857600080fd5b5061071d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061174c565b6040518082815260200191505060405180910390f35b34801561073f57600080fd5b50610774600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117d3565b604051808215151515815260200191505060405180910390f35b34801561079a57600080fd5b506107a3611a18565b6040518082815260200191505060405180910390f35b3480156107c557600080fd5b506107fa600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a1e565b005b600080600760009054906101000a900460ff1615151561081b57600080fd5b600091506702c68af0bb140000341015151561083657600080fd5b60003411151561084557600080fd5b670de0b6b3a764000061086334600654611af590919063ffffffff16565b81151561086c57fe5b0491503390506000821115610887576108858183611b2d565b505b6004546005541015156108b0576001600760006101000a81548160ff0219169083151502179055505b5050565b6040805190810160405280600a81526020017f436f7265204d616b65720000000000000000000000000000000000000000000081525081565b600080821415801561097c57506000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b1561098a5760009050610a75565b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190505b92915050565b60045481565b6000606060048101600036905010151515610a9857fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515610ad457600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515610b2257600080fd5b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515610bad57600080fd5b610bff83600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cb990919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610cd183600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cb990919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610da383600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cd290919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b600881565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ebb57600080fd5b3091508173ffffffffffffffffffffffffffffffffffffffff16319050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610f40573d6000803e3d6000fd5b505050565b6702c68af0bb14000081565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610faf57600080fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610ffd57600080fd5b33905061105282600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cb990919063ffffffff16565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110aa82600454611cb990919063ffffffff16565b6004819055506110c582600554611cb990919063ffffffff16565b6005819055508073ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a25050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561117957600080fd5b6111838282611cee565b5050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111e557600080fd5b600090505b825181101561122157611214838281518110151561120457fe5b9060200190602002015183611cee565b80806001019150506111ea565b505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6040805190810160405280600481526020017f434d4b520000000000000000000000000000000000000000000000000000000081525081565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561130657600080fd5b600760009054906101000a900460ff1615151561132257600080fd5b6001600760006101000a81548160ff0219169083151502179055507f7f95d919e78bdebe8a285e6e33357c2fcb65ccf66e72d7573f9f8f6caad0c4cc60405160405180910390a16001905090565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113cc57600080fd5b806006819055507ff7729fa834bbef70b6d3257c2317a562aa88b56c81b544814f93dc5963a2c003816040518082815260200191505060405180910390a150565b600060406004810160003690501015151561142457fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561146057600080fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483111515156114ae57600080fd5b61150083600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cb990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061159583600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cd290919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505092915050565b600760009054906101000a900460ff1681565b60008060008491508173ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156116fe57600080fd5b505af1158015611712573d6000803e3d6000fd5b505050506040513d602081101561172857600080fd5b81019080805190602001909291905050509050809250505092915050565b60065481565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561183457600080fd5b8391508173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156118d257600080fd5b505af11580156118e6573d6000803e3d6000fd5b505050506040513d60208110156118fc57600080fd5b810190808051906020019092919050505090508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156119d457600080fd5b505af11580156119e8573d6000803e3d6000fd5b505050506040513d60208110156119fe57600080fd5b810190808051906020019092919050505092505050919050565b60055481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a7a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611af25780600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b600080831415611b085760009050611b27565b8183029050818382811515611b1957fe5b04141515611b2357fe5b8090505b92915050565b6000600760009054906101000a900460ff16151515611b4b57600080fd5b611b6082600554611cd290919063ffffffff16565b600581905550611bb882600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cd290919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a77836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000828211151515611cc757fe5b818303905092915050565b60008183019050828110151515611ce557fe5b80905092915050565b600081111515611cfd57600080fd5b600454600554101515611d0f57600080fd5b611d6181600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cd290919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611db981600554611cd290919063ffffffff16565b600581905550600454600554101515611de8576001600760006101000a81548160ff0219169083151502179055505b8173ffffffffffffffffffffffffffffffffffffffff167fada993ad066837289fe186cd37227aa338d27519a8a1547472ecb9831486d27282600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051808381526020018281526020019250505060405180910390a28173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350505600a165627a7a72305820631cfda2d3bf44818b2a80b07a352962ef588aa9d6500cfe9742e9291ce68e0e0029
Deployed Bytecode Sourcemap
2128:6748:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5321:11;:9;:11::i;:::-;2128:6748;2351:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2351:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2351:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7150:358;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7150:358:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2491:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2491:40:0;;;;;;;;;;;;;;;;;;;;;;;6601:537;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6601:537:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2445:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2445:33:0;;;;;;;;;;;;;;;;;;;;;;;7893:170;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7893:170:0;;;;;;2584:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2584:54:0;;;;;;;;;;;;;;;;;;;;;;;8075:526;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8075:526:0;;;;;;;;;;;;;;;;;;;;;;;;;;4744:139;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4744:139:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4891:193;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4891:193:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5905:111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5905:111:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2400:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2400:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2400:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3675:170;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3675:170:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5092;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5092:170:0;;;;;;;;;;;;;;;;;;;;;;;;;;6187:402;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6187:402:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5353:544;;;;;;3151:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3151:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;7670:211;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7670:211:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2658:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2658:35:0;;;;;;;;;;;;;;;;;;;;;;;7520:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7520:138:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8613:260;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8613:260:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2538:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2538:35:0;;;;;;;;;;;;;;;;;;;;;;;3510:151;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3510:151:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5353:544;5410:14;5671:16;3244:20;;;;;;;;;;;3243:21;3235:30;;;;;;;;5427:1;5410:18;;2627:11;5483:9;:29;;5474:40;;;;;;;;5548:1;5536:9;:13;5527:24;;;;;;;;5645:7;5615:27;5632:9;5615:12;;:16;;:27;;;;:::i;:::-;:37;;;;;;;;5606:46;;5690:10;5671:29;;5734:1;5725:6;:10;5721:66;;;5752:23;5758:8;5768:6;5752:5;:23::i;:::-;;5721:66;5823:11;;5803:16;;:31;;5799:91;;;5874:4;5851:20;;:27;;;;;;;;;;;;;;;;;;5799:91;5353:544;;:::o;2351:42::-;;;;;;;;;;;;;;;;;;;;:::o;7150:358::-;7217:12;7318:1;7308:6;:11;;:49;;;;;7356:1;7323:7;:19;7331:10;7323:19;;;;;;;;;;;;;;;:29;7343:8;7323:29;;;;;;;;;;;;;;;;:34;;7308:49;7304:72;;;7368:5;7361:12;;;;7304:72;7418:6;7386:7;:19;7394:10;7386:19;;;;;;;;;;;;;;;:29;7406:8;7386:29;;;;;;;;;;;;;;;:38;;;;7461:8;7440:38;;7449:10;7440:38;;;7471:6;7440:38;;;;;;;;;;;;;;;;;;7496:4;7489:11;;7150:358;;;;;:::o;2491:40::-;;;;:::o;6601:537::-;6708:12;6684:6;6153:1;6146:4;:8;6127;;:15;;:27;;6120:35;;;;;;6758:1;6743:17;;:3;:17;;;;6735:26;;;;;;;;6791:8;:15;6800:5;6791:15;;;;;;;;;;;;;;;;6780:7;:26;;6772:35;;;;;;;;6837:7;:14;6845:5;6837:14;;;;;;;;;;;;;;;:26;6852:10;6837:26;;;;;;;;;;;;;;;;6826:7;:37;;6818:46;;;;;;;;6903:28;6923:7;6903:8;:15;6912:5;6903:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;6885:8;:15;6894:5;6885:15;;;;;;;;;;;;;;;:46;;;;6971:39;7002:7;6971;:14;6979:5;6971:14;;;;;;;;;;;;;;;:26;6986:10;6971:26;;;;;;;;;;;;;;;;:30;;:39;;;;:::i;:::-;6942:7;:14;6950:5;6942:14;;;;;;;;;;;;;;;:26;6957:10;6942:26;;;;;;;;;;;;;;;:68;;;;7037:26;7055:7;7037:8;:13;7046:3;7037:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;7021:8;:13;7030:3;7021:13;;;;;;;;;;;;;;;:42;;;;7095:3;7079:29;;7088:5;7079:29;;;7100:7;7079:29;;;;;;;;;;;;;;;;;;7126:4;7119:11;;6601:537;;;;;;:::o;2445:33::-;2477:1;2445:33;:::o;7893:170::-;7941:17;7976:20;3351:5;;;;;;;;;;;3337:19;;:10;:19;;;3329:28;;;;;;;;7961:4;7941:24;;7999:9;:17;;;7976:40;;8027:5;;;;;;;;;;;:14;;:28;8042:12;8027:28;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8027:28:0;7893:170;;:::o;2584:54::-;2627:11;2584:54;:::o;8075:526::-;8366:14;3351:5;;;;;;;;;;;3337:19;;:10;:19;;;3329:28;;;;;;;;8151:8;:20;8160:10;8151:20;;;;;;;;;;;;;;;;8141:6;:30;;8133:39;;;;;;;;8383:10;8366:27;;8423:28;8444:6;8423:8;:16;8432:6;8423:16;;;;;;;;;;;;;;;;:20;;:28;;;;:::i;:::-;8404:8;:16;8413:6;8404:16;;;;;;;;;;;;;;;:47;;;;8476:23;8492:6;8476:11;;:15;;:23;;;;:::i;:::-;8462:11;:37;;;;8529:28;8550:6;8529:16;;:20;;:28;;;;:::i;:::-;8510:16;:47;;;;8578:6;8573:20;;;8586:6;8573:20;;;;;;;;;;;;;;;;;;8075:526;;:::o;4744:139::-;3351:5;;;;;;;;;;;3337:19;;:10;:19;;;3329:28;;;;;;;;4843:32;4853:12;4867:7;4843:9;:32::i;:::-;4744:139;;:::o;4891:193::-;5003:6;3351:5;;;;;;;;;;;3337:19;;:10;:19;;;3329:28;;;;;;;;5012:1;5003:10;;4998:78;5019:10;:17;5015:1;:21;4998:78;;;5043:33;5053:10;5064:1;5053:13;;;;;;;;;;;;;;;;;;5068:7;5043:9;:33::i;:::-;5038:3;;;;;;;4998:78;;;4891:193;;;:::o;5905:111::-;5965:7;5992:8;:16;6001:6;5992:16;;;;;;;;;;;;;;;;5985:23;;5905:111;;;:::o;2400:38::-;;;;;;;;;;;;;;;;;;;;:::o;3675:170::-;3740:4;3351:5;;;;;;;;;;;3337:19;;:10;:19;;;3329:28;;;;;;;;3244:20;;;;;;;;;;;3243:21;3235:30;;;;;;;;3780:4;3757:20;;:27;;;;;;;;;;;;;;;;;;3800:15;;;;;;;;;;3833:4;3826:11;;3675:170;:::o;5092:::-;3351:5;;;;;;;;;;;3337:19;;:10;:19;;;3329:28;;;;;;;;5191:13;5176:12;:28;;;;5220:34;5240:13;5220:34;;;;;;;;;;;;;;;;;;5092:170;:::o;6187:402::-;6275:12;6251:6;6153:1;6146:4;:8;6127;;:15;;:27;;6120:35;;;;;;6325:1;6310:17;;:3;:17;;;;6302:26;;;;;;;;6358:8;:20;6367:10;6358:20;;;;;;;;;;;;;;;;6347:7;:31;;6339:40;;;;;;;;6423:33;6448:7;6423:8;:20;6432:10;6423:20;;;;;;;;;;;;;;;;:24;;:33;;;;:::i;:::-;6400:8;:20;6409:10;6400:20;;;;;;;;;;;;;;;:56;;;;6483:26;6501:7;6483:8;:13;6492:3;6483:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;6467:8;:13;6476:3;6467:13;;;;;;;;;;;;;;;:42;;;;6546:3;6525:34;;6534:10;6525:34;;;6551:7;6525:34;;;;;;;;;;;;;;;;;;6577:4;6570:11;;6187:402;;;;;:::o;3151:40::-;;;;;;;;;;;;;:::o;7670:211::-;7755:4;7771:14;7825:8;7801:12;7771:43;;7836:1;:11;;;7848:3;7836:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7836:16:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7836:16:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7836:16:0;;;;;;;;;;;;;;;;7825:27;;7870:3;7863:10;;7670:211;;;;;;:::o;2658:35::-;;;;:::o;7520:138::-;7598:7;7625;:15;7633:6;7625:15;;;;;;;;;;;;;;;:25;7641:8;7625:25;;;;;;;;;;;;;;;;7618:32;;7520:138;;;;:::o;8613:260::-;8694:4;8711:18;8771:14;3351:5;;;;;;;;;;;3337:19;;:10;:19;;;3329:28;;;;;;;;8745:14;8711:49;;8788:5;:15;;;8812:4;8788:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8788:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8788:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8788:30:0;;;;;;;;;;;;;;;;8771:47;;8836:5;:14;;;8851:5;;;;;;;;;;;8858:6;8836:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8836:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8836:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8836:29:0;;;;;;;;;;;;;;;;8829:36;;8613:260;;;;;:::o;2538:35::-;;;;:::o;3510:151::-;3351:5;;;;;;;;;;;3337:19;;:10;:19;;;3329:28;;;;;;;;3607:1;3587:22;;:8;:22;;;;3583:71;;;3634:8;3626:5;;:16;;;;;;;;;;;;;;;;;;3583:71;3510:151;:::o;221:202::-;279:9;310:1;305;:6;301:47;;;335:1;328:8;;;;301:47;366:1;362;:5;358:9;;394:1;389;385;:5;;;;;;;;:10;378:18;;;;;;414:1;407:8;;221:202;;;;;:::o;3857:314::-;3928:4;3244:20;;;;;;;;;;;3243:21;3235:30;;;;;;;;3964:29;3985:7;3964:16;;:20;;:29;;;;:::i;:::-;3945:16;:48;;;;4028:26;4046:7;4028:8;:13;4037:3;4028:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;4012:8;:13;4021:3;4012:13;;;;;;;;;;;;;;;:42;;;;4076:3;4070:19;;;4081:7;4070:19;;;;;;;;;;;;;;;;;;4126:3;4105:34;;4122:1;4105:34;;;4131:7;4105:34;;;;;;;;;;;;;;;;;;4159:4;4152:11;;3857:314;;;;:::o;938:123::-;996:7;1028:1;1023;:6;;1016:14;;;;;;1052:1;1048;:5;1041:12;;938:123;;;;:::o;1136:141::-;1194:9;1224:1;1220;:5;1216:9;;1248:1;1243;:6;;1236:14;;;;;;1268:1;1261:8;;1136:141;;;;:::o;4179:557::-;4275:1;4265:7;:11;4256:22;;;;;;;;4325:11;;4306:16;;:30;4297:41;;;;;;;;4384:35;4411:7;4384:8;:22;4393:12;4384:22;;;;;;;;;;;;;;;;:26;;:35;;;;:::i;:::-;4359:8;:22;4368:12;4359:22;;;;;;;;;;;;;;;:60;;;;4449:29;4470:7;4449:16;;:20;;:29;;;;:::i;:::-;4430:16;:48;;;;4515:11;;4495:16;;:31;;4491:91;;;4566:4;4543:20;;:27;;;;;;;;;;;;;;;;;;4491:91;4623:12;4615:54;;;4637:7;4646:8;:22;4655:12;4646:22;;;;;;;;;;;;;;;;4615:54;;;;;;;;;;;;;;;;;;;;;;;;4706:12;4685:43;;4702:1;4685:43;;;4720:7;4685:43;;;;;;;;;;;;;;;;;;4179:557;;:::o
Swarm Source
bzzr://631cfda2d3bf44818b2a80b07a352962ef588aa9d6500cfe9742e9291ce68e0e
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.