Announcement: Migration of FnkOS token contract address
New Contract address: 0x0707681f344deb24184037fc0228856f2137b02e
New Contract address: 0x0707681f344deb24184037fc0228856f2137b02e
ERC-20
Overview
Max Total Supply
1,000,000,000 FNKOS
Holders
104,827
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.38 FNKOSValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
FNKOSToken
Compiler Version
v0.4.20+commit.3155dd80
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-05-13 */ pragma solidity ^0.4.18; // // FogLink OS Token // Author: FNK // Contact: [email protected] // Telegram community: https://t.me/fnkofficial // contract FNKOSToken { string public constant name = "FNKOSToken"; string public constant symbol = "FNKOS"; uint public constant decimals = 18; uint256 fnkEthRate = 10 ** decimals; uint256 fnkSupply = 1000000000; uint256 public totalSupply = fnkSupply * fnkEthRate; uint256 public minInvEth = 0.1 ether; uint256 public maxInvEth = 100.0 ether; uint256 public sellStartTime = 1524240000; // 2018/4/21 uint256 public sellDeadline1 = sellStartTime + 30 days; uint256 public sellDeadline2 = sellDeadline1 + 30 days; uint256 public freezeDuration = 30 days; uint256 public ethFnkRate1 = 3600; uint256 public ethFnkRate2 = 3600; bool public running = true; bool public buyable = true; address owner; mapping (address => mapping (address => uint256)) allowed; mapping (address => bool) public whitelist; mapping (address => uint256) whitelistLimit; struct BalanceInfo { uint256 balance; uint256[] freezeAmount; uint256[] releaseTime; } mapping (address => BalanceInfo) balances; event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); event BeginRunning(); event PauseRunning(); event BeginSell(); event PauseSell(); event Burn(address indexed burner, uint256 val); event Freeze(address indexed from, uint256 value); function FNKOSToken () public{ owner = msg.sender; balances[owner].balance = totalSupply; } modifier onlyOwner() { require(msg.sender == owner); _; } modifier onlyWhitelist() { require(whitelist[msg.sender] == true); _; } modifier isRunning(){ require(running); _; } modifier isNotRunning(){ require(!running); _; } modifier isBuyable(){ require(buyable && now >= sellStartTime && now <= sellDeadline2); _; } modifier isNotBuyable(){ require(!buyable || now < sellStartTime || now > sellDeadline2); _; } // mitigates the ERC20 short address attack modifier onlyPayloadSize(uint size) { assert(msg.data.length >= size + 4); _; } function safeMul(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a * b; assert(a == 0 || c / a == b); return c; } function safeSub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } function safeAdd(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } // 1eth = newRate tokens function setPbulicOfferingPrice(uint256 _rate1, uint256 _rate2) onlyOwner public { ethFnkRate1 = _rate1; ethFnkRate2 = _rate2; } // function setPublicOfferingLimit(uint256 _minVal, uint256 _maxVal) onlyOwner public { minInvEth = _minVal; maxInvEth = _maxVal; } function setPublicOfferingDate(uint256 _startTime, uint256 _deadLine1, uint256 _deadLine2) onlyOwner public { sellStartTime = _startTime; sellDeadline1 = _deadLine1; sellDeadline2 = _deadLine2; } function transferOwnership(address _newOwner) onlyOwner public { if (_newOwner != address(0)) { owner = _newOwner; } } function pause() onlyOwner isRunning public { running = false; PauseRunning(); } function start() onlyOwner isNotRunning public { running = true; BeginRunning(); } function pauseSell() onlyOwner isBuyable isRunning public{ buyable = false; PauseSell(); } function beginSell() onlyOwner isNotBuyable isRunning public{ buyable = true; BeginSell(); } // // _amount in FNK, // function airDeliver(address _to, uint256 _amount) onlyOwner public { require(owner != _to); require(_amount > 0); require(balances[owner].balance >= _amount); // take big number as wei if(_amount < fnkSupply){ _amount = _amount * fnkEthRate; } balances[owner].balance = safeSub(balances[owner].balance, _amount); balances[_to].balance = safeAdd(balances[_to].balance, _amount); Transfer(owner, _to, _amount); } function airDeliverMulti(address[] _addrs, uint256 _amount) onlyOwner public { require(_addrs.length <= 255); for (uint8 i = 0; i < _addrs.length; i++) { airDeliver(_addrs[i], _amount); } } function airDeliverStandalone(address[] _addrs, uint256[] _amounts) onlyOwner public { require(_addrs.length <= 255); require(_addrs.length == _amounts.length); for (uint8 i = 0; i < _addrs.length; i++) { airDeliver(_addrs[i], _amounts[i]); } } // // _amount, _freezeAmount in FNK // function freezeDeliver(address _to, uint _amount, uint _freezeAmount, uint _freezeMonth, uint _unfreezeBeginTime ) onlyOwner public { require(owner != _to); require(_freezeMonth > 0); uint average = _freezeAmount / _freezeMonth; BalanceInfo storage bi = balances[_to]; uint[] memory fa = new uint[](_freezeMonth); uint[] memory rt = new uint[](_freezeMonth); if(_amount < fnkSupply){ _amount = _amount * fnkEthRate; average = average * fnkEthRate; _freezeAmount = _freezeAmount * fnkEthRate; } require(balances[owner].balance > _amount); uint remainAmount = _freezeAmount; if(_unfreezeBeginTime == 0) _unfreezeBeginTime = now + freezeDuration; for(uint i=0;i<_freezeMonth-1;i++){ fa[i] = average; rt[i] = _unfreezeBeginTime; _unfreezeBeginTime += freezeDuration; remainAmount = safeSub(remainAmount, average); } fa[i] = remainAmount; rt[i] = _unfreezeBeginTime; bi.balance = safeAdd(bi.balance, _amount); bi.freezeAmount = fa; bi.releaseTime = rt; balances[owner].balance = safeSub(balances[owner].balance, _amount); Transfer(owner, _to, _amount); Freeze(_to, _freezeAmount); } function freezeDeliverMuti(address[] _addrs, uint _deliverAmount, uint _freezeAmount, uint _freezeMonth, uint _unfreezeBeginTime ) onlyOwner public { require(_addrs.length <= 255); for(uint i=0;i< _addrs.length;i++){ freezeDeliver(_addrs[i], _deliverAmount, _freezeAmount, _freezeMonth, _unfreezeBeginTime); } } function freezeDeliverMultiStandalone(address[] _addrs, uint[] _deliverAmounts, uint[] _freezeAmounts, uint _freezeMonth, uint _unfreezeBeginTime ) onlyOwner public { require(_addrs.length <= 255); require(_addrs.length == _deliverAmounts.length); require(_addrs.length == _freezeAmounts.length); for(uint i=0;i< _addrs.length;i++){ freezeDeliver(_addrs[i], _deliverAmounts[i], _freezeAmounts[i], _freezeMonth, _unfreezeBeginTime); } } // buy tokens directly function () external payable { buyTokens(); } // function buyTokens() payable isRunning isBuyable onlyWhitelist public { uint256 weiVal = msg.value; address investor = msg.sender; require(investor != address(0) && weiVal >= minInvEth && weiVal <= maxInvEth); require(safeAdd(weiVal,whitelistLimit[investor]) <= maxInvEth); uint256 amount = 0; if(now > sellDeadline1) amount = safeMul(msg.value, ethFnkRate2); else amount = safeMul(msg.value, ethFnkRate1); whitelistLimit[investor] = safeAdd(weiVal, whitelistLimit[investor]); balances[owner].balance = safeSub(balances[owner].balance, amount); balances[investor].balance = safeAdd(balances[investor].balance, amount); Transfer(owner, investor, amount); } function addWhitelist(address[] _addrs) public onlyOwner { require(_addrs.length <= 255); for (uint8 i = 0; i < _addrs.length; i++) { if (!whitelist[_addrs[i]]){ whitelist[_addrs[i]] = true; } } } function balanceOf(address _owner) constant public returns (uint256) { return balances[_owner].balance; } function freezeOf(address _owner) constant public returns (uint256) { BalanceInfo storage bi = balances[_owner]; uint freezeAmount = 0; uint t = now; for(uint i=0;i< bi.freezeAmount.length;i++){ if(t < bi.releaseTime[i]) freezeAmount += bi.freezeAmount[i]; } return freezeAmount; } function transfer(address _to, uint256 _amount) isRunning onlyPayloadSize(2 * 32) public returns (bool success) { require(_to != address(0)); uint freezeAmount = freezeOf(msg.sender); uint256 _balance = safeSub(balances[msg.sender].balance, freezeAmount); require(_amount <= _balance); balances[msg.sender].balance = safeSub(balances[msg.sender].balance,_amount); balances[_to].balance = safeAdd(balances[_to].balance,_amount); Transfer(msg.sender, _to, _amount); return true; } function transferFrom(address _from, address _to, uint256 _amount) isRunning onlyPayloadSize(3 * 32) public returns (bool success) { require(_from != address(0) && _to != address(0)); require(_amount <= allowed[_from][msg.sender]); uint freezeAmount = freezeOf(_from); uint256 _balance = safeSub(balances[_from].balance, freezeAmount); require(_amount <= _balance); balances[_from].balance = safeSub(balances[_from].balance,_amount); allowed[_from][msg.sender] = safeSub(allowed[_from][msg.sender],_amount); balances[_to].balance = safeAdd(balances[_to].balance,_amount); Transfer(_from, _to, _amount); return true; } function approve(address _spender, uint256 _value) isRunning public returns (bool success) { if (_value != 0 && allowed[msg.sender][_spender] != 0) { return false; } allowed[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); return true; } function allowance(address _owner, address _spender) constant public returns (uint256) { return allowed[_owner][_spender]; } function withdraw() onlyOwner public { require(this.balance > 0); owner.transfer(this.balance); Transfer(this, owner, this.balance); } function burn(address burner, uint256 _value) onlyOwner public { require(_value <= balances[msg.sender].balance); balances[burner].balance = safeSub(balances[burner].balance, _value); totalSupply = safeSub(totalSupply, _value); fnkSupply = totalSupply / fnkEthRate; Burn(burner, _value); } function mint(address _target, uint256 _amount) onlyOwner public { if(_target == address(0)) _target = owner; balances[_target].balance = safeAdd(balances[_target].balance, _amount); totalSupply = safeAdd(totalSupply,_amount); fnkSupply = totalSupply / fnkEthRate; Transfer(0, this, _amount); Transfer(this, _target, _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":false,"inputs":[{"name":"_addrs","type":"address[]"},{"name":"_amount","type":"uint256"}],"name":"airDeliverMulti","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"airDeliver","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addrs","type":"address[]"},{"name":"_deliverAmount","type":"uint256"},{"name":"_freezeAmount","type":"uint256"},{"name":"_freezeMonth","type":"uint256"},{"name":"_unfreezeBeginTime","type":"uint256"}],"name":"freezeDeliverMuti","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"_to","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_freezeAmount","type":"uint256"},{"name":"_freezeMonth","type":"uint256"},{"name":"_unfreezeBeginTime","type":"uint256"}],"name":"freezeDeliver","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"},{"name":"_amount","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"freezeDuration","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"beginSell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_rate1","type":"uint256"},{"name":"_rate2","type":"uint256"}],"name":"setPbulicOfferingPrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addrs","type":"address[]"},{"name":"_deliverAmounts","type":"uint256[]"},{"name":"_freezeAmounts","type":"uint256[]"},{"name":"_freezeMonth","type":"uint256"},{"name":"_unfreezeBeginTime","type":"uint256"}],"name":"freezeDeliverMultiStandalone","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":"ethFnkRate1","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxInvEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"buyable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pauseSell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_minVal","type":"uint256"},{"name":"_maxVal","type":"uint256"}],"name":"setPublicOfferingLimit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sellDeadline2","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"whitelist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"burner","type":"address"},{"name":"_value","type":"uint256"}],"name":"burn","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":"_addrs","type":"address[]"},{"name":"_amounts","type":"uint256[]"}],"name":"airDeliverStandalone","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"start","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sellStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"freezeOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"buyTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"minInvEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"running","outputs":[{"name":"","type":"bool"}],"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":true,"inputs":[],"name":"sellDeadline1","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_startTime","type":"uint256"},{"name":"_deadLine1","type":"uint256"},{"name":"_deadLine2","type":"uint256"}],"name":"setPublicOfferingDate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addrs","type":"address[]"}],"name":"addWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ethFnkRate2","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":[],"name":"BeginRunning","type":"event"},{"anonymous":false,"inputs":[],"name":"PauseRunning","type":"event"},{"anonymous":false,"inputs":[],"name":"BeginSell","type":"event"},{"anonymous":false,"inputs":[],"name":"PauseSell","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"val","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Freeze","type":"event"}]
Contract Creation Code
6060604052670de0b6b3a7640000600055633b9aca0060019081556b033b2e3c9fd0803ce800000060025567016345785d8a000060035568056bc75e2d63100000600455635ada0e80600555635b019b80600655635b29288060075562278d00600855610e106009819055600a55600b805461ff001960ff1990911690921791909116610100179055341561009357600080fd5b600b80546201000060b060020a0319166201000033600160a060020a03908116820292909217928390556002549204166000908152600f6020526040812091909155611d2c9081906100e590396000f3006060604052600436106101ed5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101f7578063095ea7b3146102815780630c3e564a146102b75780630ea7c8cd1461030857806318160ddd1461032a5780632111c0f91461034f57806323b872dd146103b1578063313ce567146103d957806334d05b1f146103ec5780633ccfd60b1461041757806340c10f191461042a578063440991bd1461044c57806355d8bbd51461045f57806359287ce914610472578063679019ba1461048b57806370a082311461056157806377dd8ea7146105805780637d4ce874146105935780638456cb59146105a657806388c7e397146105b957806395d89b41146105cc5780639754a7d8146105df578063984809bf146105f25780639aea020b1461060b5780639b19251a1461061e5780639dc29fac1461063d578063a9059cbb1461065f578063b885d56014610681578063be9a655514610710578063cb60f8b414610723578063cd4217c114610736578063d0febe4c146101ed578063d70b634214610755578063d85bd52614610768578063dd62ed3e1461077b578063e28a5e63146107a0578063e73140c1146107b3578063edac985b146107cf578063f2fde38b1461081e578063fd12c1cb1461083d575b6101f5610850565b005b341561020257600080fd5b61020a610a4f565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561024657808201518382015260200161022e565b50505050905090810190601f1680156102735780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561028c57600080fd5b6102a3600160a060020a0360043516602435610a86565b604051901515815260200160405180910390f35b34156102c257600080fd5b6101f560046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496505093359350610b4492505050565b341561031357600080fd5b6101f5600160a060020a0360043516602435610bb6565b341561033557600080fd5b61033d610cf9565b60405190815260200160405180910390f35b341561035a57600080fd5b6101f56004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650508435946020810135945060408101359350606001359150610cff9050565b34156103bc57600080fd5b6102a3600160a060020a0360043581169060243516604435610d71565b34156103e457600080fd5b61033d610f24565b34156103f757600080fd5b6101f5600160a060020a0360043516602435604435606435608435610f29565b341561042257600080fd5b6101f56111ef565b341561043557600080fd5b6101f5600160a060020a03600435166024356112a1565b341561045757600080fd5b61033d6113ac565b341561046a57600080fd5b6101f56113b2565b341561047d57600080fd5b6101f5600435602435611450565b341561049657600080fd5b6101f5600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496505084359460200135935061147c92505050565b341561056c57600080fd5b61033d600160a060020a036004351661152c565b341561058b57600080fd5b61033d611547565b341561059e57600080fd5b61033d61154d565b34156105b157600080fd5b6101f5611553565b34156105c457600080fd5b6102a36115bd565b34156105d757600080fd5b61020a6115cb565b34156105ea57600080fd5b6101f5611602565b34156105fd57600080fd5b6101f560043560243561169f565b341561061657600080fd5b61033d6116cb565b341561062957600080fd5b6102a3600160a060020a03600435166116d1565b341561064857600080fd5b6101f5600160a060020a03600435166024356116e6565b341561066a57600080fd5b6102a3600160a060020a03600435166024356117cc565b341561068c57600080fd5b6101f56004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496506118e895505050505050565b341561071b57600080fd5b6101f561197b565b341561072e57600080fd5b61033d6119e7565b341561074157600080fd5b61033d600160a060020a03600435166119ed565b341561076057600080fd5b61033d611a6b565b341561077357600080fd5b6102a3611a71565b341561078657600080fd5b61033d600160a060020a0360043581169060243516611a7a565b34156107ab57600080fd5b61033d611aa5565b34156107be57600080fd5b6101f5600435602435604435611aab565b34156107da57600080fd5b6101f56004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650611ada95505050505050565b341561082957600080fd5b6101f5600160a060020a0360043516611bb1565b341561084857600080fd5b61033d611c14565b600b546000908190819060ff16151561086857600080fd5b600b54610100900460ff16801561088157506005544210155b801561088f57506007544211155b151561089a57600080fd5b600160a060020a0333166000908152600d602052604090205460ff1615156001146108c457600080fd5b349250339150600160a060020a038216158015906108e457506003548310155b80156108f257506004548311155b15156108fd57600080fd5b600454600160a060020a0383166000908152600e6020526040902054610924908590611c1a565b111561092f57600080fd5b600090506006544211156109505761094934600a54611c30565b905061095f565b61095c34600954611c30565b90505b600160a060020a0382166000908152600e6020526040902054610983908490611c1a565b600160a060020a038084166000908152600e6020908152604080832094909455600b546201000090049092168152600f90915220546109c29082611c54565b600b54600160a060020a036201000090910481166000908152600f602052604080822093909355908416815220546109fa9082611c1a565b600160a060020a038084166000818152600f60205260409081902093909355600b5490926201000090910490911690600080516020611ce18339815191529084905190815260200160405180910390a3505050565b60408051908101604052600a81527f464e4b4f53546f6b656e00000000000000000000000000000000000000000000602082015281565b600b5460009060ff161515610a9a57600080fd5b8115801590610acd5750600160a060020a033381166000908152600c602090815260408083209387168352929052205415155b15610ada57506000610b3e565b600160a060020a033381166000818152600c6020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b600b5460009033600160a060020a03908116620100009092041614610b6857600080fd5b60ff83511115610b7757600080fd5b5060005b82518160ff161015610bb157610ba9838260ff1681518110610b9957fe5b9060200190602002015183610bb6565b600101610b7b565b505050565b600b5433600160a060020a03908116620100009092041614610bd757600080fd5b600b54600160a060020a0383811662010000909204161415610bf857600080fd5b60008111610c0557600080fd5b600b54620100009004600160a060020a03166000908152600f602052604090205481901015610c3357600080fd5b600154811015610c4257600054025b600b54620100009004600160a060020a03166000908152600f6020526040902054610c6d9082611c54565b600b54600160a060020a036201000090910481166000908152600f60205260408082209390935590841681522054610ca59082611c1a565b600160a060020a038084166000818152600f60205260409081902093909355600b5490926201000090910490911690600080516020611ce18339815191529084905190815260200160405180910390a35050565b60025481565b600b5460009033600160a060020a03908116620100009092041614610d2357600080fd5b60ff86511115610d3257600080fd5b5060005b8551811015610d6957610d61868281518110610d4e57fe5b9060200190602002015186868686610f29565b600101610d36565b505050505050565b600b546000908190819060ff161515610d8957600080fd5b60606064361015610d9657fe5b600160a060020a03871615801590610db65750600160a060020a03861615155b1515610dc157600080fd5b600160a060020a038088166000908152600c602090815260408083203390941683529290522054851115610df457600080fd5b610dfd876119ed565b600160a060020a0388166000908152600f6020526040902054909350610e239084611c54565b915081851115610e3257600080fd5b600160a060020a0387166000908152600f6020526040902054610e559086611c54565b600160a060020a038089166000908152600f6020908152604080832094909455600c8152838220339093168252919091522054610e929086611c54565b600160a060020a038089166000908152600c6020908152604080832033851684528252808320949094559189168152600f9091522054610ed29086611c1a565b600160a060020a038088166000818152600f602052604090819020939093559190891690600080516020611ce18339815191529088905190815260200160405180910390a35060019695505050505050565b601281565b600080610f34611c66565b610f3c611c66565b600b54600090819033600160a060020a03908116620100009092041614610f6257600080fd5b600b54600160a060020a038c811662010000909204161415610f8357600080fd5b60008811610f9057600080fd5b8789811515610f9b57fe5b049550600f60008c600160a060020a0316600160a060020a03168152602001908152602001600020945087604051805910610fd35750595b9080825280602002602001820160405250935087604051805910610ff45750595b908082528060200260200182016040525092506001548a101561102257600054998a02999889029895909502945b600b54620100009004600160a060020a03166000908152600f60205260409020548a901161104f57600080fd5b88915086151561106157600854420196505b5060005b600188038110156110ba578584828151811061107d57fe5b602090810290910101528683828151811061109457fe5b6020908102909101015260085496909601956110b08287611c54565b9150600101611065565b818482815181106110c757fe5b60209081029091010152868382815181106110de57fe5b6020908102909101015284546110f4908b611c1a565b85556001850184805161110b929160200190611c78565b5060028501838051611121929160200190611c78565b50600b54620100009004600160a060020a03166000908152600f602052604090205461114d908b611c54565b600b8054600160a060020a03620100009182900481166000908152600f6020526040908190209490945591548e83169391900490911690600080516020611ce1833981519152908d905190815260200160405180910390a38a600160a060020a03167ff97a274face0b5517365ad396b1fdba6f68bd3135ef603e44272adba3af5a1e08a60405190815260200160405180910390a25050505050505050505050565b600b5433600160a060020a0390811662010000909204161461121057600080fd5b6000600160a060020a033016311161122757600080fd5b600b54600160a060020a036201000090910481169030163180156108fc0290604051600060405180830381858888f19350505050151561126657600080fd5b600b54600160a060020a03620100009091048116903016600080516020611ce1833981519152813160405190815260200160405180910390a3565b600b5433600160a060020a039081166201000090920416146112c257600080fd5b600160a060020a03821615156112e757600b54620100009004600160a060020a031691505b600160a060020a0382166000908152600f602052604090205461130a9082611c1a565b600160a060020a0383166000908152600f60205260409020556002546113309082611c1a565b60028190556000549081151561134257fe5b04600155600160a060020a0330166000600080516020611ce18339815191528360405190815260200160405180910390a381600160a060020a031630600160a060020a0316600080516020611ce18339815191528360405190815260200160405180910390a35050565b60085481565b600b5433600160a060020a039081166201000090920416146113d357600080fd5b600b54610100900460ff1615806113eb575060055442105b806113f7575060075442115b151561140257600080fd5b600b5460ff16151561141357600080fd5b600b805461ff0019166101001790557fd5b089eb0ec44264fc274d9a4adaafa6bfe78bdbeaf4b128d6871d5314057c5660405160405180910390a1565b600b5433600160a060020a0390811662010000909204161461147157600080fd5b600991909155600a55565b600b5460009033600160a060020a039081166201000090920416146114a057600080fd5b60ff865111156114af57600080fd5b84518651146114bd57600080fd5b83518651146114cb57600080fd5b5060005b8551811015610d69576115248682815181106114e757fe5b906020019060200201518683815181106114fd57fe5b9060200190602002015186848151811061151357fe5b906020019060200201518686610f29565b6001016114cf565b600160a060020a03166000908152600f602052604090205490565b60095481565b60045481565b600b5433600160a060020a0390811662010000909204161461157457600080fd5b600b5460ff16151561158557600080fd5b600b805460ff191690557f24faf5703cd024754e538120a7237535f1ea01677015f7e32f67be64b66d9dac60405160405180910390a1565b600b54610100900460ff1681565b60408051908101604052600581527f464e4b4f53000000000000000000000000000000000000000000000000000000602082015281565b600b5433600160a060020a0390811662010000909204161461162357600080fd5b600b54610100900460ff16801561163c57506005544210155b801561164a57506007544211155b151561165557600080fd5b600b5460ff16151561166657600080fd5b600b805461ff00191690557fb9248e98c8764c68b0d9dd60de677553b9c38a5a521bbb362bb6f5aab6937e8960405160405180910390a1565b600b5433600160a060020a039081166201000090920416146116c057600080fd5b600391909155600455565b60075481565b600d6020526000908152604090205460ff1681565b600b5433600160a060020a0390811662010000909204161461170757600080fd5b600160a060020a0333166000908152600f602052604090205481111561172c57600080fd5b600160a060020a0382166000908152600f602052604090205461174f9082611c54565b600160a060020a0383166000908152600f60205260409020556002546117759082611c54565b60028190556000549081151561178757fe5b04600155600160a060020a0382167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405190815260200160405180910390a25050565b600b546000908190819060ff1615156117e457600080fd5b604060443610156117f157fe5b600160a060020a038616151561180657600080fd5b61180f336119ed565b600160a060020a0333166000908152600f60205260409020549093506118359084611c54565b91508185111561184457600080fd5b600160a060020a0333166000908152600f60205260409020546118679086611c54565b600160a060020a033381166000908152600f602052604080822093909355908816815220546118969086611c1a565b600160a060020a038088166000818152600f60205260409081902093909355913390911690600080516020611ce18339815191529088905190815260200160405180910390a350600195945050505050565b600b5460009033600160a060020a0390811662010000909204161461190c57600080fd5b60ff8351111561191b57600080fd5b815183511461192957600080fd5b5060005b82518160ff161015610bb157611973838260ff168151811061194b57fe5b90602001906020020151838360ff168151811061196457fe5b90602001906020020151610bb6565b60010161192d565b600b5433600160a060020a0390811662010000909204161461199c57600080fd5b600b5460ff16156119ac57600080fd5b600b805460ff191660011790557ff999e0378b31fd060880ceb4bc403bc32de3d1000bee77078a09c7f1d929a51560405160405180910390a1565b60055481565b600160a060020a0381166000908152600f602052604081208142815b6001840154811015611a615760028401805482908110611a2557fe5b906000526020600020900154821015611a595760018401805482908110611a4857fe5b906000526020600020900154830192505b600101611a09565b5090949350505050565b60035481565b600b5460ff1681565b600160a060020a039182166000908152600c6020908152604080832093909416825291909152205490565b60065481565b600b5433600160a060020a03908116620100009092041614611acc57600080fd5b600592909255600655600755565b600b5460009033600160a060020a03908116620100009092041614611afe57600080fd5b60ff82511115611b0d57600080fd5b5060005b81518160ff161015611bad57600d6000838360ff1681518110611b3057fe5b90602001906020020151600160a060020a0316815260208101919091526040016000205460ff161515611ba5576001600d6000848460ff1681518110611b7257fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff19169115159190911790555b600101611b11565b5050565b600b5433600160a060020a03908116620100009092041614611bd257600080fd5b600160a060020a03811615611c1157600b805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a038416021790555b50565b600a5481565b600082820183811015611c2957fe5b9392505050565b6000828202831580611c4c5750828482811515611c4957fe5b04145b1515611c2957fe5b600082821115611c6057fe5b50900390565b60206040519081016040526000815290565b828054828255906000526020600020908101928215611cb3579160200282015b82811115611cb3578251825591602001919060010190611c98565b50611cbf929150611cc3565b5090565b611cdd91905b80821115611cbf5760008155600101611cc9565b905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820c55d205f6bcdfb4a9bc0a54e3ae4b283eb82279cff31e6e69bf7b93379b26c830029
Deployed Bytecode
0x6060604052600436106101ed5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101f7578063095ea7b3146102815780630c3e564a146102b75780630ea7c8cd1461030857806318160ddd1461032a5780632111c0f91461034f57806323b872dd146103b1578063313ce567146103d957806334d05b1f146103ec5780633ccfd60b1461041757806340c10f191461042a578063440991bd1461044c57806355d8bbd51461045f57806359287ce914610472578063679019ba1461048b57806370a082311461056157806377dd8ea7146105805780637d4ce874146105935780638456cb59146105a657806388c7e397146105b957806395d89b41146105cc5780639754a7d8146105df578063984809bf146105f25780639aea020b1461060b5780639b19251a1461061e5780639dc29fac1461063d578063a9059cbb1461065f578063b885d56014610681578063be9a655514610710578063cb60f8b414610723578063cd4217c114610736578063d0febe4c146101ed578063d70b634214610755578063d85bd52614610768578063dd62ed3e1461077b578063e28a5e63146107a0578063e73140c1146107b3578063edac985b146107cf578063f2fde38b1461081e578063fd12c1cb1461083d575b6101f5610850565b005b341561020257600080fd5b61020a610a4f565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561024657808201518382015260200161022e565b50505050905090810190601f1680156102735780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561028c57600080fd5b6102a3600160a060020a0360043516602435610a86565b604051901515815260200160405180910390f35b34156102c257600080fd5b6101f560046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496505093359350610b4492505050565b341561031357600080fd5b6101f5600160a060020a0360043516602435610bb6565b341561033557600080fd5b61033d610cf9565b60405190815260200160405180910390f35b341561035a57600080fd5b6101f56004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650508435946020810135945060408101359350606001359150610cff9050565b34156103bc57600080fd5b6102a3600160a060020a0360043581169060243516604435610d71565b34156103e457600080fd5b61033d610f24565b34156103f757600080fd5b6101f5600160a060020a0360043516602435604435606435608435610f29565b341561042257600080fd5b6101f56111ef565b341561043557600080fd5b6101f5600160a060020a03600435166024356112a1565b341561045757600080fd5b61033d6113ac565b341561046a57600080fd5b6101f56113b2565b341561047d57600080fd5b6101f5600435602435611450565b341561049657600080fd5b6101f5600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496505084359460200135935061147c92505050565b341561056c57600080fd5b61033d600160a060020a036004351661152c565b341561058b57600080fd5b61033d611547565b341561059e57600080fd5b61033d61154d565b34156105b157600080fd5b6101f5611553565b34156105c457600080fd5b6102a36115bd565b34156105d757600080fd5b61020a6115cb565b34156105ea57600080fd5b6101f5611602565b34156105fd57600080fd5b6101f560043560243561169f565b341561061657600080fd5b61033d6116cb565b341561062957600080fd5b6102a3600160a060020a03600435166116d1565b341561064857600080fd5b6101f5600160a060020a03600435166024356116e6565b341561066a57600080fd5b6102a3600160a060020a03600435166024356117cc565b341561068c57600080fd5b6101f56004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496506118e895505050505050565b341561071b57600080fd5b6101f561197b565b341561072e57600080fd5b61033d6119e7565b341561074157600080fd5b61033d600160a060020a03600435166119ed565b341561076057600080fd5b61033d611a6b565b341561077357600080fd5b6102a3611a71565b341561078657600080fd5b61033d600160a060020a0360043581169060243516611a7a565b34156107ab57600080fd5b61033d611aa5565b34156107be57600080fd5b6101f5600435602435604435611aab565b34156107da57600080fd5b6101f56004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650611ada95505050505050565b341561082957600080fd5b6101f5600160a060020a0360043516611bb1565b341561084857600080fd5b61033d611c14565b600b546000908190819060ff16151561086857600080fd5b600b54610100900460ff16801561088157506005544210155b801561088f57506007544211155b151561089a57600080fd5b600160a060020a0333166000908152600d602052604090205460ff1615156001146108c457600080fd5b349250339150600160a060020a038216158015906108e457506003548310155b80156108f257506004548311155b15156108fd57600080fd5b600454600160a060020a0383166000908152600e6020526040902054610924908590611c1a565b111561092f57600080fd5b600090506006544211156109505761094934600a54611c30565b905061095f565b61095c34600954611c30565b90505b600160a060020a0382166000908152600e6020526040902054610983908490611c1a565b600160a060020a038084166000908152600e6020908152604080832094909455600b546201000090049092168152600f90915220546109c29082611c54565b600b54600160a060020a036201000090910481166000908152600f602052604080822093909355908416815220546109fa9082611c1a565b600160a060020a038084166000818152600f60205260409081902093909355600b5490926201000090910490911690600080516020611ce18339815191529084905190815260200160405180910390a3505050565b60408051908101604052600a81527f464e4b4f53546f6b656e00000000000000000000000000000000000000000000602082015281565b600b5460009060ff161515610a9a57600080fd5b8115801590610acd5750600160a060020a033381166000908152600c602090815260408083209387168352929052205415155b15610ada57506000610b3e565b600160a060020a033381166000818152600c6020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b600b5460009033600160a060020a03908116620100009092041614610b6857600080fd5b60ff83511115610b7757600080fd5b5060005b82518160ff161015610bb157610ba9838260ff1681518110610b9957fe5b9060200190602002015183610bb6565b600101610b7b565b505050565b600b5433600160a060020a03908116620100009092041614610bd757600080fd5b600b54600160a060020a0383811662010000909204161415610bf857600080fd5b60008111610c0557600080fd5b600b54620100009004600160a060020a03166000908152600f602052604090205481901015610c3357600080fd5b600154811015610c4257600054025b600b54620100009004600160a060020a03166000908152600f6020526040902054610c6d9082611c54565b600b54600160a060020a036201000090910481166000908152600f60205260408082209390935590841681522054610ca59082611c1a565b600160a060020a038084166000818152600f60205260409081902093909355600b5490926201000090910490911690600080516020611ce18339815191529084905190815260200160405180910390a35050565b60025481565b600b5460009033600160a060020a03908116620100009092041614610d2357600080fd5b60ff86511115610d3257600080fd5b5060005b8551811015610d6957610d61868281518110610d4e57fe5b9060200190602002015186868686610f29565b600101610d36565b505050505050565b600b546000908190819060ff161515610d8957600080fd5b60606064361015610d9657fe5b600160a060020a03871615801590610db65750600160a060020a03861615155b1515610dc157600080fd5b600160a060020a038088166000908152600c602090815260408083203390941683529290522054851115610df457600080fd5b610dfd876119ed565b600160a060020a0388166000908152600f6020526040902054909350610e239084611c54565b915081851115610e3257600080fd5b600160a060020a0387166000908152600f6020526040902054610e559086611c54565b600160a060020a038089166000908152600f6020908152604080832094909455600c8152838220339093168252919091522054610e929086611c54565b600160a060020a038089166000908152600c6020908152604080832033851684528252808320949094559189168152600f9091522054610ed29086611c1a565b600160a060020a038088166000818152600f602052604090819020939093559190891690600080516020611ce18339815191529088905190815260200160405180910390a35060019695505050505050565b601281565b600080610f34611c66565b610f3c611c66565b600b54600090819033600160a060020a03908116620100009092041614610f6257600080fd5b600b54600160a060020a038c811662010000909204161415610f8357600080fd5b60008811610f9057600080fd5b8789811515610f9b57fe5b049550600f60008c600160a060020a0316600160a060020a03168152602001908152602001600020945087604051805910610fd35750595b9080825280602002602001820160405250935087604051805910610ff45750595b908082528060200260200182016040525092506001548a101561102257600054998a02999889029895909502945b600b54620100009004600160a060020a03166000908152600f60205260409020548a901161104f57600080fd5b88915086151561106157600854420196505b5060005b600188038110156110ba578584828151811061107d57fe5b602090810290910101528683828151811061109457fe5b6020908102909101015260085496909601956110b08287611c54565b9150600101611065565b818482815181106110c757fe5b60209081029091010152868382815181106110de57fe5b6020908102909101015284546110f4908b611c1a565b85556001850184805161110b929160200190611c78565b5060028501838051611121929160200190611c78565b50600b54620100009004600160a060020a03166000908152600f602052604090205461114d908b611c54565b600b8054600160a060020a03620100009182900481166000908152600f6020526040908190209490945591548e83169391900490911690600080516020611ce1833981519152908d905190815260200160405180910390a38a600160a060020a03167ff97a274face0b5517365ad396b1fdba6f68bd3135ef603e44272adba3af5a1e08a60405190815260200160405180910390a25050505050505050505050565b600b5433600160a060020a0390811662010000909204161461121057600080fd5b6000600160a060020a033016311161122757600080fd5b600b54600160a060020a036201000090910481169030163180156108fc0290604051600060405180830381858888f19350505050151561126657600080fd5b600b54600160a060020a03620100009091048116903016600080516020611ce1833981519152813160405190815260200160405180910390a3565b600b5433600160a060020a039081166201000090920416146112c257600080fd5b600160a060020a03821615156112e757600b54620100009004600160a060020a031691505b600160a060020a0382166000908152600f602052604090205461130a9082611c1a565b600160a060020a0383166000908152600f60205260409020556002546113309082611c1a565b60028190556000549081151561134257fe5b04600155600160a060020a0330166000600080516020611ce18339815191528360405190815260200160405180910390a381600160a060020a031630600160a060020a0316600080516020611ce18339815191528360405190815260200160405180910390a35050565b60085481565b600b5433600160a060020a039081166201000090920416146113d357600080fd5b600b54610100900460ff1615806113eb575060055442105b806113f7575060075442115b151561140257600080fd5b600b5460ff16151561141357600080fd5b600b805461ff0019166101001790557fd5b089eb0ec44264fc274d9a4adaafa6bfe78bdbeaf4b128d6871d5314057c5660405160405180910390a1565b600b5433600160a060020a0390811662010000909204161461147157600080fd5b600991909155600a55565b600b5460009033600160a060020a039081166201000090920416146114a057600080fd5b60ff865111156114af57600080fd5b84518651146114bd57600080fd5b83518651146114cb57600080fd5b5060005b8551811015610d69576115248682815181106114e757fe5b906020019060200201518683815181106114fd57fe5b9060200190602002015186848151811061151357fe5b906020019060200201518686610f29565b6001016114cf565b600160a060020a03166000908152600f602052604090205490565b60095481565b60045481565b600b5433600160a060020a0390811662010000909204161461157457600080fd5b600b5460ff16151561158557600080fd5b600b805460ff191690557f24faf5703cd024754e538120a7237535f1ea01677015f7e32f67be64b66d9dac60405160405180910390a1565b600b54610100900460ff1681565b60408051908101604052600581527f464e4b4f53000000000000000000000000000000000000000000000000000000602082015281565b600b5433600160a060020a0390811662010000909204161461162357600080fd5b600b54610100900460ff16801561163c57506005544210155b801561164a57506007544211155b151561165557600080fd5b600b5460ff16151561166657600080fd5b600b805461ff00191690557fb9248e98c8764c68b0d9dd60de677553b9c38a5a521bbb362bb6f5aab6937e8960405160405180910390a1565b600b5433600160a060020a039081166201000090920416146116c057600080fd5b600391909155600455565b60075481565b600d6020526000908152604090205460ff1681565b600b5433600160a060020a0390811662010000909204161461170757600080fd5b600160a060020a0333166000908152600f602052604090205481111561172c57600080fd5b600160a060020a0382166000908152600f602052604090205461174f9082611c54565b600160a060020a0383166000908152600f60205260409020556002546117759082611c54565b60028190556000549081151561178757fe5b04600155600160a060020a0382167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405190815260200160405180910390a25050565b600b546000908190819060ff1615156117e457600080fd5b604060443610156117f157fe5b600160a060020a038616151561180657600080fd5b61180f336119ed565b600160a060020a0333166000908152600f60205260409020549093506118359084611c54565b91508185111561184457600080fd5b600160a060020a0333166000908152600f60205260409020546118679086611c54565b600160a060020a033381166000908152600f602052604080822093909355908816815220546118969086611c1a565b600160a060020a038088166000818152600f60205260409081902093909355913390911690600080516020611ce18339815191529088905190815260200160405180910390a350600195945050505050565b600b5460009033600160a060020a0390811662010000909204161461190c57600080fd5b60ff8351111561191b57600080fd5b815183511461192957600080fd5b5060005b82518160ff161015610bb157611973838260ff168151811061194b57fe5b90602001906020020151838360ff168151811061196457fe5b90602001906020020151610bb6565b60010161192d565b600b5433600160a060020a0390811662010000909204161461199c57600080fd5b600b5460ff16156119ac57600080fd5b600b805460ff191660011790557ff999e0378b31fd060880ceb4bc403bc32de3d1000bee77078a09c7f1d929a51560405160405180910390a1565b60055481565b600160a060020a0381166000908152600f602052604081208142815b6001840154811015611a615760028401805482908110611a2557fe5b906000526020600020900154821015611a595760018401805482908110611a4857fe5b906000526020600020900154830192505b600101611a09565b5090949350505050565b60035481565b600b5460ff1681565b600160a060020a039182166000908152600c6020908152604080832093909416825291909152205490565b60065481565b600b5433600160a060020a03908116620100009092041614611acc57600080fd5b600592909255600655600755565b600b5460009033600160a060020a03908116620100009092041614611afe57600080fd5b60ff82511115611b0d57600080fd5b5060005b81518160ff161015611bad57600d6000838360ff1681518110611b3057fe5b90602001906020020151600160a060020a0316815260208101919091526040016000205460ff161515611ba5576001600d6000848460ff1681518110611b7257fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff19169115159190911790555b600101611b11565b5050565b600b5433600160a060020a03908116620100009092041614611bd257600080fd5b600160a060020a03811615611c1157600b805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a038416021790555b50565b600a5481565b600082820183811015611c2957fe5b9392505050565b6000828202831580611c4c5750828482811515611c4957fe5b04145b1515611c2957fe5b600082821115611c6057fe5b50900390565b60206040519081016040526000815290565b828054828255906000526020600020908101928215611cb3579160200282015b82811115611cb3578251825591602001919060010190611c98565b50611cbf929150611cc3565b5090565b611cdd91905b80821115611cbf5760008155600101611cc9565b905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820c55d205f6bcdfb4a9bc0a54e3ae4b283eb82279cff31e6e69bf7b93379b26c830029
Swarm Source
bzzr://c55d205f6bcdfb4a9bc0a54e3ae4b283eb82279cff31e6e69bf7b93379b26c83
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.