ERC-20
Overview
Max Total Supply
100,000,000 EST
Holders
587
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
EdgeICO
Compiler Version
v0.4.18+commit.9cf6e910
Optimization Enabled:
No with 0 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2017-11-29 */ pragma solidity ^0.4.18; /** * Math operations with safety checks */ contract SafeMath { function safeMul(uint a, uint b) internal pure returns (uint) { uint c = a * b; assert(a == 0 || c / a == b); return c; } function safeDiv(uint a, uint b) internal pure returns (uint) { assert(b > 0); uint c = a / b; assert(a == b * 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; } function max64(uint64 a, uint64 b) internal pure returns (uint64) { return a >= b ? a : b; } function min64(uint64 a, uint64 b) internal pure returns (uint64) { return a < b ? a : b; } function max256(uint256 a, uint256 b) internal pure returns (uint256) { return a >= b ? a : b; } function min256(uint256 a, uint256 b) internal pure returns (uint256) { return a < b ? a : b; } } /** * Date and Time utilities for ethereum contracts */ contract DateTime { struct _DateTime { uint16 year; uint8 month; uint8 day; uint8 hour; uint8 minute; uint8 second; uint8 weekday; } uint constant DAY_IN_SECONDS = 86400; uint constant YEAR_IN_SECONDS = 31536000; uint constant LEAP_YEAR_IN_SECONDS = 31622400; uint constant HOUR_IN_SECONDS = 3600; uint constant MINUTE_IN_SECONDS = 60; uint16 constant ORIGIN_YEAR = 1970; function isLeapYear(uint16 year) internal pure returns (bool) { if (year % 4 != 0) { return false; } if (year % 100 != 0) { return true; } if (year % 400 != 0) { return false; } return true; } function leapYearsBefore(uint year) internal pure returns (uint) { year -= 1; return year / 4 - year / 100 + year / 400; } function getDaysInMonth(uint8 month, uint16 year) internal pure returns (uint8) { if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) { return 31; } else if (month == 4 || month == 6 || month == 9 || month == 11) { return 30; } else if (isLeapYear(year)) { return 29; } else { return 28; } } function parseTimestamp(uint timestamp) internal pure returns (_DateTime dt) { uint secondsAccountedFor = 0; uint buf; uint8 i; // Year dt.year = getYear(timestamp); buf = leapYearsBefore(dt.year) - leapYearsBefore(ORIGIN_YEAR); secondsAccountedFor += LEAP_YEAR_IN_SECONDS * buf; secondsAccountedFor += YEAR_IN_SECONDS * (dt.year - ORIGIN_YEAR - buf); // Month uint secondsInMonth; for (i = 1; i <= 12; i++) { secondsInMonth = DAY_IN_SECONDS * getDaysInMonth(i, dt.year); if (secondsInMonth + secondsAccountedFor > timestamp) { dt.month = i; break; } secondsAccountedFor += secondsInMonth; } // Day for (i = 1; i <= getDaysInMonth(dt.month, dt.year); i++) { if (DAY_IN_SECONDS + secondsAccountedFor > timestamp) { dt.day = i; break; } secondsAccountedFor += DAY_IN_SECONDS; } // Hour dt.hour = getHour(timestamp); // Minute dt.minute = getMinute(timestamp); // Second dt.second = getSecond(timestamp); // Day of week. dt.weekday = getWeekday(timestamp); } function getYear(uint timestamp) internal pure returns (uint16) { uint secondsAccountedFor = 0; uint16 year; uint numLeapYears; // Year year = uint16(ORIGIN_YEAR + timestamp / YEAR_IN_SECONDS); numLeapYears = leapYearsBefore(year) - leapYearsBefore(ORIGIN_YEAR); secondsAccountedFor += LEAP_YEAR_IN_SECONDS * numLeapYears; secondsAccountedFor += YEAR_IN_SECONDS * (year - ORIGIN_YEAR - numLeapYears); while (secondsAccountedFor > timestamp) { if (isLeapYear(uint16(year - 1))) { secondsAccountedFor -= LEAP_YEAR_IN_SECONDS; } else { secondsAccountedFor -= YEAR_IN_SECONDS; } year -= 1; } return year; } function getMonth(uint timestamp) internal pure returns (uint8) { return parseTimestamp(timestamp).month; } function getDay(uint timestamp) internal pure returns (uint8) { return parseTimestamp(timestamp).day; } function getHour(uint timestamp) internal pure returns (uint8) { return uint8((timestamp / 60 / 60) % 24); } function getMinute(uint timestamp) internal pure returns (uint8) { return uint8((timestamp / 60) % 60); } function getSecond(uint timestamp) internal pure returns (uint8) { return uint8(timestamp % 60); } function getWeekday(uint timestamp) internal pure returns (uint8) { return uint8((timestamp / DAY_IN_SECONDS + 4) % 7); } function toTimestamp(uint16 year, uint8 month, uint8 day) internal pure returns (uint timestamp) { return toTimestamp(year, month, day, 0, 0, 0); } function toTimestamp(uint16 year, uint8 month, uint8 day, uint8 hour) internal pure returns (uint timestamp) { return toTimestamp(year, month, day, hour, 0, 0); } function toTimestamp(uint16 year, uint8 month, uint8 day, uint8 hour, uint8 minute) internal pure returns (uint timestamp) { return toTimestamp(year, month, day, hour, minute, 0); } function toTimestamp(uint16 year, uint8 month, uint8 day, uint8 hour, uint8 minute, uint8 second) internal pure returns (uint timestamp) { uint16 i; // Year for (i = ORIGIN_YEAR; i < year; i++) { if (isLeapYear(i)) { timestamp += LEAP_YEAR_IN_SECONDS; } else { timestamp += YEAR_IN_SECONDS; } } // Month uint8[12] memory monthDayCounts; monthDayCounts[0] = 31; if (isLeapYear(year)) { monthDayCounts[1] = 29; } else { monthDayCounts[1] = 28; } monthDayCounts[2] = 31; monthDayCounts[3] = 30; monthDayCounts[4] = 31; monthDayCounts[5] = 30; monthDayCounts[6] = 31; monthDayCounts[7] = 31; monthDayCounts[8] = 30; monthDayCounts[9] = 31; monthDayCounts[10] = 30; monthDayCounts[11] = 31; for (i = 1; i < month; i++) { timestamp += DAY_IN_SECONDS * monthDayCounts[i - 1]; } // Day timestamp += DAY_IN_SECONDS * (day - 1); // Hour timestamp += HOUR_IN_SECONDS * (hour); // Minute timestamp += MINUTE_IN_SECONDS * (minute); // Second timestamp += second; return timestamp; } } contract ERC20 { function totalSupply() public constant returns (uint256); function balanceOf(address _owner) public constant returns (uint); function transfer(address _to, uint _value) public returns (bool); function transferFrom(address _from, address _to, uint _value) public returns (bool); function approve(address _spender, uint _value) public returns (bool); function allowance(address _owner, address _spender) public constant returns (uint); event Transfer(address indexed _from, address indexed _to, uint _value); event Approval(address indexed _owner, address indexed _spender, uint _value); } contract EdgeSmartToken is ERC20, SafeMath, DateTime { uint256 public constant _decimals = 18; uint256 public constant _totalSupply = (100000000 * 10**_decimals); string public constant symbol = 'EST'; string public constant name = 'Edge Smart Token'; mapping(address => uint256) public balances; mapping(address => mapping(address => uint256)) approved; address EdgeSmartTokenOwner; modifier onlyOwner() { require(msg.sender == EdgeSmartTokenOwner); _; } function EdgeSmartToken() public { EdgeSmartTokenOwner = msg.sender; balances[EdgeSmartTokenOwner] = _totalSupply; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner { require(newOwner != EdgeSmartTokenOwner); EdgeSmartTokenOwner = newOwner; } function decimals() public constant returns (uint256) { return _decimals; } function totalSupply() public constant returns (uint256) { return _totalSupply; } function balanceOf(address _owner) public constant returns (uint256) { return balances[_owner]; } /** * @dev Transfer self tokens to given address * @param _to destination address * @param _value amount of token values to send * @notice `_value` tokens will be sended to `_to` * @return `true` when transfer done */ function transfer(address _to, uint256 _value) public returns (bool) { require( balances[msg.sender] >= _value && _value > 0 ); balances[msg.sender] = safeSub(balances[msg.sender], _value); balances[_to] = safeAdd(balances[_to], _value); Transfer(msg.sender, _to, _value); return true; } /** * @dev Transfer with approvement mechainsm * @param _from source address, `_value` tokens shold be approved for `sender` * @param _to destination address * @param _value amount of token values to send * @notice from `_from` will be sended `_value` tokens to `_to` * @return `true` when transfer is done */ function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) { require( approved[_from][msg.sender] >= _value && balances[_from] >= _value && _value > 0 ); balances[_from] = safeSub(balances[_from], _value); balances[_to] = safeAdd(balances[_to], _value); approved[_from][msg.sender] = safeSub(approved[_from][msg.sender], _value); Transfer(_from, _to, _value); return true; } /** * @dev Give to target address ability for self token manipulation without sending * @param _spender target address (future requester) * @param _value amount of token values for approving */ function approve(address _spender, uint256 _value) public returns (bool) { approved[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); return true; } /** * @dev Reset count of tokens approved for given address * @param _spender target address (future requester) */ function unapprove(address _spender) public { approved[msg.sender][_spender] = 0; } /** * @dev Take allowed tokens * @param _owner The address of the account owning tokens * @param _spender The address of the account able to transfer the tokens * @return Amount of remaining tokens allowed to spent */ function allowance(address _owner, address _spender) public constant returns (uint256) { return approved[_owner][_spender]; } event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); } contract EdgeICO is SafeMath, DateTime, EdgeSmartToken { address owner; uint totalCollected = 0; uint preSaleCollected = 0; uint ICOCollected = 0; uint256 public totalTokensCap = (50000000 * 10**_decimals); //50% of total supply uint public preSaleTokensLimit = (10000000 * 10**_decimals); //10% of total supply uint256 public icoSaleSoftCap = (5000000 * 10**_decimals); //5mio EST or 1000 ETH uint public icoSaleHardCap = (25000000 * 10**_decimals);//25mio EST or 5000 ETH uint256 private preSaleTokenPrice = (10000 * 10**_decimals); //10k uint256 private ICOTokenPrice = (5000 * 10**_decimals); //5k bool preSaleActive = false; bool ICOActive = false; uint pre_ICO_end_date = toTimestamp(2017, 12, 6, 20, 0); uint ICO_end_date = toTimestamp(2018, 1, 1, 20, 0); //since ICO date and period are not defined precisely, lets put hard end date uint ICO_hardcoded_expiry_date = toTimestamp(2019, 1, 1, 20, 0); uint256 private tokensToBuy; address ICOEdgeWallet = 0xb3AF93036f8949E8A8Ba8D783bF0A63914a63859; //constructor function EdgeICO() { owner = msg.sender; } modifier onlyOwner() { require(msg.sender == owner); _; } function getTotalTokensSold() public constant returns (uint) { return totalCollected; } function getPreSaleTokensSold() public constant returns (uint) { return preSaleCollected; } function getIcoTokensSold() public constant returns (uint) { return ICOCollected; } function setPreSaleStatus(bool status) onlyOwner public { preSaleActive = status; } function setICOStatus(bool status) onlyOwner public { ICOActive = status; } function setIcoEndDate(uint endDate) onlyOwner public { ICO_end_date = endDate; } function () public payable { createTokens(msg.sender); } function createTokens(address recipient) public payable { require(now < ICO_hardcoded_expiry_date); if (preSaleActive && (now < pre_ICO_end_date)) { require(msg.value >= 1 * (1 ether)); //minimum 1 ETH tokensToBuy = safeDiv(safeMul(msg.value * 1 ether, preSaleTokenPrice), 1000000000000000000 ether); require (preSaleCollected + tokensToBuy <= preSaleTokensLimit); //within preSale sell only 10mio require (totalCollected + tokensToBuy <= totalTokensCap); //max sell 50mio preSaleCollected = safeAdd(preSaleCollected, tokensToBuy); totalCollected = safeAdd(totalCollected, tokensToBuy); balances[recipient] = safeAdd(balances[recipient], tokensToBuy); balances[owner] = safeSub(balances[owner], tokensToBuy); Transfer(owner, recipient, tokensToBuy); // send and transfer are considered to be a safe way to move funds as they have a gas stipend of 2300 ICOEdgeWallet.transfer(msg.value); } else if (ICOActive && (now < ICO_end_date)) { require(msg.value >= 0.1 * (1 ether)); //minimum 0.1 ETH tokensToBuy = safeDiv(safeMul(msg.value * 1 ether, ICOTokenPrice), 1000000000000000000 ether); require (totalCollected + tokensToBuy <= totalTokensCap); //max sell 50mio, 40mio + rest from preSale ICOCollected = safeAdd(ICOCollected, tokensToBuy); totalCollected = safeAdd(totalCollected, tokensToBuy); balances[recipient] = safeAdd(balances[recipient], tokensToBuy); balances[owner] = safeSub(balances[owner], tokensToBuy); Transfer(owner, recipient, tokensToBuy); //Both send and transfer are considered to be a safe way to move funds as they have a gas stipend of 2300 ICOEdgeWallet.transfer(msg.value); } else { //preSale and ICO finished throw; } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"preSaleTokensLimit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoSaleHardCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getPreSaleTokensSold","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"status","type":"bool"}],"name":"setPreSaleStatus","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":false,"inputs":[{"name":"endDate","type":"uint256"}],"name":"setIcoEndDate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getTotalTokensSold","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":"status","type":"bool"}],"name":"setICOStatus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"icoSaleSoftCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getIcoTokensSold","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"recipient","type":"address"}],"name":"createTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"totalTokensCap","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":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"}],"name":"unapprove","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"}]
Contract Creation Code
60606040526000600455600060055560006006556012600a0a6302faf080026007556012600a0a62989680026008556012600a0a624c4b40026009556012600a0a63017d784002600a556012600a0a61271002600b556012600a0a61138802600c556000600d60006101000a81548160ff0219169083151502179055506000600d60016101000a81548160ff021916908315150217905550620000c06107e1600c600660146000620002716401000000000262001911176401000000009004565b600e55620000eb6107e260018060146000620002716401000000000262001911176401000000009004565b600f55620001166107e360018060146000620002716401000000000262001911176401000000009004565b60105573b3af93036f8949e8a8ba8d783bf0a63914a63859601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555034156200017a57600080fd5b33600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a0a6305f5e10002600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000645565b60006200029886868686866000620002a3640100000000026200192d176401000000009004565b905095945050505050565b600080620002b062000618565b6107b291505b8861ffff168261ffff1610156200031357620002e6826200058e6401000000000262001bd4176401000000009004565b15620002fb576301e285008301925062000305565b6301e13380830192505b8180600101925050620002b6565b601f816000600c811015156200032557fe5b602002019060ff16908160ff168152505062000355896200058e6401000000000262001bd4176401000000009004565b156200038457601d816001600c811015156200036d57fe5b602002019060ff16908160ff1681525050620003a8565b601c816001600c811015156200039657fe5b602002019060ff16908160ff16815250505b601f816002600c81101515620003ba57fe5b602002019060ff16908160ff1681525050601e816003600c81101515620003dd57fe5b602002019060ff16908160ff1681525050601f816004600c811015156200040057fe5b602002019060ff16908160ff1681525050601e816005600c811015156200042357fe5b602002019060ff16908160ff1681525050601f816006600c811015156200044657fe5b602002019060ff16908160ff1681525050601f816007600c811015156200046957fe5b602002019060ff16908160ff1681525050601e816008600c811015156200048c57fe5b602002019060ff16908160ff1681525050601f816009600c81101515620004af57fe5b602002019060ff16908160ff1681525050601e81600a600c81101515620004d257fe5b602002019060ff16908160ff1681525050601f81600b600c81101515620004f557fe5b602002019060ff16908160ff1681525050600191505b8760ff168261ffff1610156200055057806001830361ffff16600c811015156200053157fe5b602002015160ff1662015180028301925081806001019250506200050b565b6001870360ff166201518002830192508560ff16610e1002830192508460ff16603c02830192508360ff168301925082925050509695505050505050565b60008060048361ffff16811515620005a257fe5b0661ffff16141515620005b9576000905062000613565b600060648361ffff16811515620005cc57fe5b0661ffff16141515620005e3576001905062000613565b60006101908361ffff16811515620005f757fe5b0661ffff161415156200060e576000905062000613565b600190505b919050565b61018060405190810160405280600c905b600060ff16815260200190600190039081620006295790505090565b611cad80620006556000396000f300606060405260043610610148576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806241edee1461015357806306fdde031461017c578063083eb6f81461020a578063095ea7b31461023357806318160ddd1461028d57806323b872dd146102b657806327e235e31461032f578063313ce5671461037c57806332424aa3146103a55780633eaaf86b146103ce578063540cc484146103f75780635e326b921461042057806370a08231146104455780638b0b94cf1461049257806394c33163146104b557806395d89b41146104de5780639dc27fe31461056c578063a9059cbb14610591578063ae6439c4146105eb578063be802f0514610614578063cedbbeee1461063d578063da4469581461066b578063dd62ed3e14610694578063f2fde38b14610700578063fbf1f78a14610739575b61015133610772565b005b341561015e57600080fd5b610166610d92565b6040518082815260200191505060405180910390f35b341561018757600080fd5b61018f610d98565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101cf5780820151818401526020810190506101b4565b50505050905090810190601f1680156101fc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561021557600080fd5b61021d610dd1565b6040518082815260200191505060405180910390f35b341561023e57600080fd5b610273600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610dd7565b604051808215151515815260200191505060405180910390f35b341561029857600080fd5b6102a0610ec9565b6040518082815260200191505060405180910390f35b34156102c157600080fd5b610315600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610edb565b604051808215151515815260200191505060405180910390f35b341561033a57600080fd5b610366600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611248565b6040518082815260200191505060405180910390f35b341561038757600080fd5b61038f611260565b6040518082815260200191505060405180910390f35b34156103b057600080fd5b6103b8611269565b6040518082815260200191505060405180910390f35b34156103d957600080fd5b6103e161126e565b6040518082815260200191505060405180910390f35b341561040257600080fd5b61040a61127c565b6040518082815260200191505060405180910390f35b341561042b57600080fd5b61044360048080351515906020019091905050611286565b005b341561045057600080fd5b61047c600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506112ff565b6040518082815260200191505060405180910390f35b341561049d57600080fd5b6104b36004808035906020019091905050611347565b005b34156104c057600080fd5b6104c86113ad565b6040518082815260200191505060405180910390f35b34156104e957600080fd5b6104f16113b7565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610531578082015181840152602081019050610516565b50505050905090810190601f16801561055e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561057757600080fd5b61058f600480803515159060200190919050506113f0565b005b341561059c57600080fd5b6105d1600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611469565b604051808215151515815260200191505060405180910390f35b34156105f657600080fd5b6105fe611647565b6040518082815260200191505060405180910390f35b341561061f57600080fd5b61062761164d565b6040518082815260200191505060405180910390f35b610669600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610772565b005b341561067657600080fd5b61067e611657565b6040518082815260200191505060405180910390f35b341561069f57600080fd5b6106ea600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061165d565b6040518082815260200191505060405180910390f35b341561070b57600080fd5b610737600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506116e4565b005b341561074457600080fd5b610770600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506117e1565b005b6010544210151561078257600080fd5b600d60009054906101000a900460ff16801561079f5750600e5442105b15610a9157670de0b6b3a764000034101515156107bb57600080fd5b6107e96107d4670de0b6b3a76400003402600b54611866565b6ec097ce7bc90715b34b9f1000000000611899565b601181905550600854601154600554011115151561080657600080fd5b600754601154600454011115151561081d57600080fd5b61082b6005546011546118da565b60058190555061083f6004546011546118da565b60048190555061088f6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546011546118da565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061093d600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546011546118f8565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6011546040518082815260200191505060405180910390a3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501515610a8c57600080fd5b610d8f565b600d60019054906101000a900460ff168015610aae5750600f5442105b15610d895767016345785d8a00003410151515610aca57600080fd5b610af8610ae3670de0b6b3a76400003402600c54611866565b6ec097ce7bc90715b34b9f1000000000611899565b6011819055506007546011546004540111151515610b1557600080fd5b610b236006546011546118da565b600681905550610b376004546011546118da565b600481905550610b876000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546011546118da565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c35600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546011546118f8565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6011546040518082815260200191505060405180910390a3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501515610d8457600080fd5b610d8e565b600080fd5b5b50565b60085481565b6040805190810160405280601081526020017f4564676520536d61727420546f6b656e0000000000000000000000000000000081525081565b600a5481565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60006012600a0a6305f5e10002905090565b600081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015610fa75750816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b8015610fb35750600082115b1515610fbe57600080fd5b6110066000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836118f8565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110906000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836118da565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611158600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836118f8565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60006020528060005260406000206000915090505481565b60006012905090565b601281565b6012600a0a6305f5e1000281565b6000600554905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112e257600080fd5b80600d60006101000a81548160ff02191690831515021790555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113a357600080fd5b80600f8190555050565b6000600454905090565b6040805190810160405280600381526020017f455354000000000000000000000000000000000000000000000000000000000081525081565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561144c57600080fd5b80600d60016101000a81548160ff02191690831515021790555050565b6000816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156114b95750600082115b15156114c457600080fd5b61150c6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836118f8565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115966000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836118da565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60095481565b6000600654905090565b60075481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561174057600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561179d57600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60008082840290506000841480611887575082848281151561188457fe5b04145b151561188f57fe5b8091505092915050565b6000806000831115156118a857fe5b82848115156118b357fe5b04905082848115156118c157fe5b0681840201841415156118d057fe5b8091505092915050565b60008082840190508381101515156118ee57fe5b8091505092915050565b600082821115151561190657fe5b818303905092915050565b60006119228686868686600061192d565b905095945050505050565b600080611938611c55565b6107b291505b8861ffff168261ffff1610156119815761195782611bd4565b1561196a576301e2850083019250611974565b6301e13380830192505b818060010192505061193e565b601f816000600c8110151561199257fe5b602002019060ff16908160ff16815250506119ac89611bd4565b156119d857601d816001600c811015156119c257fe5b602002019060ff16908160ff16815250506119fb565b601c816001600c811015156119e957fe5b602002019060ff16908160ff16815250505b601f816002600c81101515611a0c57fe5b602002019060ff16908160ff1681525050601e816003600c81101515611a2e57fe5b602002019060ff16908160ff1681525050601f816004600c81101515611a5057fe5b602002019060ff16908160ff1681525050601e816005600c81101515611a7257fe5b602002019060ff16908160ff1681525050601f816006600c81101515611a9457fe5b602002019060ff16908160ff1681525050601f816007600c81101515611ab657fe5b602002019060ff16908160ff1681525050601e816008600c81101515611ad857fe5b602002019060ff16908160ff1681525050601f816009600c81101515611afa57fe5b602002019060ff16908160ff1681525050601e81600a600c81101515611b1c57fe5b602002019060ff16908160ff1681525050601f81600b600c81101515611b3e57fe5b602002019060ff16908160ff1681525050600191505b8760ff168261ffff161015611b9657806001830361ffff16600c81101515611b7857fe5b602002015160ff166201518002830192508180600101925050611b54565b6001870360ff166201518002830192508560ff16610e1002830192508460ff16603c02830192508360ff168301925082925050509695505050505050565b60008060048361ffff16811515611be757fe5b0661ffff16141515611bfc5760009050611c50565b600060648361ffff16811515611c0e57fe5b0661ffff16141515611c235760019050611c50565b60006101908361ffff16811515611c3657fe5b0661ffff16141515611c4b5760009050611c50565b600190505b919050565b61018060405190810160405280600c905b600060ff16815260200190600190039081611c6657905050905600a165627a7a723058207c1d57b1cec01366ea7254cada407888565a6bbec9d27599051cc7673ebeec3e0029
Deployed Bytecode
0x606060405260043610610148576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806241edee1461015357806306fdde031461017c578063083eb6f81461020a578063095ea7b31461023357806318160ddd1461028d57806323b872dd146102b657806327e235e31461032f578063313ce5671461037c57806332424aa3146103a55780633eaaf86b146103ce578063540cc484146103f75780635e326b921461042057806370a08231146104455780638b0b94cf1461049257806394c33163146104b557806395d89b41146104de5780639dc27fe31461056c578063a9059cbb14610591578063ae6439c4146105eb578063be802f0514610614578063cedbbeee1461063d578063da4469581461066b578063dd62ed3e14610694578063f2fde38b14610700578063fbf1f78a14610739575b61015133610772565b005b341561015e57600080fd5b610166610d92565b6040518082815260200191505060405180910390f35b341561018757600080fd5b61018f610d98565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101cf5780820151818401526020810190506101b4565b50505050905090810190601f1680156101fc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561021557600080fd5b61021d610dd1565b6040518082815260200191505060405180910390f35b341561023e57600080fd5b610273600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610dd7565b604051808215151515815260200191505060405180910390f35b341561029857600080fd5b6102a0610ec9565b6040518082815260200191505060405180910390f35b34156102c157600080fd5b610315600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610edb565b604051808215151515815260200191505060405180910390f35b341561033a57600080fd5b610366600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611248565b6040518082815260200191505060405180910390f35b341561038757600080fd5b61038f611260565b6040518082815260200191505060405180910390f35b34156103b057600080fd5b6103b8611269565b6040518082815260200191505060405180910390f35b34156103d957600080fd5b6103e161126e565b6040518082815260200191505060405180910390f35b341561040257600080fd5b61040a61127c565b6040518082815260200191505060405180910390f35b341561042b57600080fd5b61044360048080351515906020019091905050611286565b005b341561045057600080fd5b61047c600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506112ff565b6040518082815260200191505060405180910390f35b341561049d57600080fd5b6104b36004808035906020019091905050611347565b005b34156104c057600080fd5b6104c86113ad565b6040518082815260200191505060405180910390f35b34156104e957600080fd5b6104f16113b7565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610531578082015181840152602081019050610516565b50505050905090810190601f16801561055e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561057757600080fd5b61058f600480803515159060200190919050506113f0565b005b341561059c57600080fd5b6105d1600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611469565b604051808215151515815260200191505060405180910390f35b34156105f657600080fd5b6105fe611647565b6040518082815260200191505060405180910390f35b341561061f57600080fd5b61062761164d565b6040518082815260200191505060405180910390f35b610669600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610772565b005b341561067657600080fd5b61067e611657565b6040518082815260200191505060405180910390f35b341561069f57600080fd5b6106ea600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061165d565b6040518082815260200191505060405180910390f35b341561070b57600080fd5b610737600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506116e4565b005b341561074457600080fd5b610770600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506117e1565b005b6010544210151561078257600080fd5b600d60009054906101000a900460ff16801561079f5750600e5442105b15610a9157670de0b6b3a764000034101515156107bb57600080fd5b6107e96107d4670de0b6b3a76400003402600b54611866565b6ec097ce7bc90715b34b9f1000000000611899565b601181905550600854601154600554011115151561080657600080fd5b600754601154600454011115151561081d57600080fd5b61082b6005546011546118da565b60058190555061083f6004546011546118da565b60048190555061088f6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546011546118da565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061093d600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546011546118f8565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6011546040518082815260200191505060405180910390a3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501515610a8c57600080fd5b610d8f565b600d60019054906101000a900460ff168015610aae5750600f5442105b15610d895767016345785d8a00003410151515610aca57600080fd5b610af8610ae3670de0b6b3a76400003402600c54611866565b6ec097ce7bc90715b34b9f1000000000611899565b6011819055506007546011546004540111151515610b1557600080fd5b610b236006546011546118da565b600681905550610b376004546011546118da565b600481905550610b876000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546011546118da565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c35600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546011546118f8565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6011546040518082815260200191505060405180910390a3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501515610d8457600080fd5b610d8e565b600080fd5b5b50565b60085481565b6040805190810160405280601081526020017f4564676520536d61727420546f6b656e0000000000000000000000000000000081525081565b600a5481565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60006012600a0a6305f5e10002905090565b600081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015610fa75750816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b8015610fb35750600082115b1515610fbe57600080fd5b6110066000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836118f8565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110906000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836118da565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611158600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836118f8565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60006020528060005260406000206000915090505481565b60006012905090565b601281565b6012600a0a6305f5e1000281565b6000600554905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112e257600080fd5b80600d60006101000a81548160ff02191690831515021790555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113a357600080fd5b80600f8190555050565b6000600454905090565b6040805190810160405280600381526020017f455354000000000000000000000000000000000000000000000000000000000081525081565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561144c57600080fd5b80600d60016101000a81548160ff02191690831515021790555050565b6000816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156114b95750600082115b15156114c457600080fd5b61150c6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836118f8565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115966000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836118da565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60095481565b6000600654905090565b60075481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561174057600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561179d57600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60008082840290506000841480611887575082848281151561188457fe5b04145b151561188f57fe5b8091505092915050565b6000806000831115156118a857fe5b82848115156118b357fe5b04905082848115156118c157fe5b0681840201841415156118d057fe5b8091505092915050565b60008082840190508381101515156118ee57fe5b8091505092915050565b600082821115151561190657fe5b818303905092915050565b60006119228686868686600061192d565b905095945050505050565b600080611938611c55565b6107b291505b8861ffff168261ffff1610156119815761195782611bd4565b1561196a576301e2850083019250611974565b6301e13380830192505b818060010192505061193e565b601f816000600c8110151561199257fe5b602002019060ff16908160ff16815250506119ac89611bd4565b156119d857601d816001600c811015156119c257fe5b602002019060ff16908160ff16815250506119fb565b601c816001600c811015156119e957fe5b602002019060ff16908160ff16815250505b601f816002600c81101515611a0c57fe5b602002019060ff16908160ff1681525050601e816003600c81101515611a2e57fe5b602002019060ff16908160ff1681525050601f816004600c81101515611a5057fe5b602002019060ff16908160ff1681525050601e816005600c81101515611a7257fe5b602002019060ff16908160ff1681525050601f816006600c81101515611a9457fe5b602002019060ff16908160ff1681525050601f816007600c81101515611ab657fe5b602002019060ff16908160ff1681525050601e816008600c81101515611ad857fe5b602002019060ff16908160ff1681525050601f816009600c81101515611afa57fe5b602002019060ff16908160ff1681525050601e81600a600c81101515611b1c57fe5b602002019060ff16908160ff1681525050601f81600b600c81101515611b3e57fe5b602002019060ff16908160ff1681525050600191505b8760ff168261ffff161015611b9657806001830361ffff16600c81101515611b7857fe5b602002015160ff166201518002830192508180600101925050611b54565b6001870360ff166201518002830192508560ff16610e1002830192508460ff16603c02830192508360ff168301925082925050509695505050505050565b60008060048361ffff16811515611be757fe5b0661ffff16141515611bfc5760009050611c50565b600060648361ffff16811515611c0e57fe5b0661ffff16141515611c235760019050611c50565b60006101908361ffff16811515611c3657fe5b0661ffff16141515611c4b5760009050611c50565b600190505b919050565b61018060405190810160405280600c905b600060ff16815260200190600190039081611c6657905050905600a165627a7a723058207c1d57b1cec01366ea7254cada407888565a6bbec9d27599051cc7673ebeec3e0029
Swarm Source
bzzr://7c1d57b1cec01366ea7254cada407888565a6bbec9d27599051cc7673ebeec3e
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.