Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
646,575,342.46575228 ECP
Holders
7
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 8 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
EncropyTokenOptimized
Compiler Version
v0.6.1+commit.e6f7d5a4
Contract Source Code (Solidity Multiple files format)
pragma solidity >=0.4.22 <0.7.0; // import "./TokenERC20.sol"; import "./YearsDataSetOptimized.sol"; // import "./Functions.sol"; contract EncropyTokenOptimized is TokenERC20 { uint8 public constant decimals = 8; // 8 is the most common number of decimal places uint256 constant initialDate = 1584460800; // 2020-03-18 发行日期 timezone is PRC uint256 constant firstYearSupply = 500000000*10**uint256(decimals); // 首年发行量5亿个 string constant PROFIT_LEDGER = 'PROFIT_LEDGER'; // 盈利总账 string constant HOLDING_LEDGER = 'HOLDING_LEDGER'; // 持有总账 string constant PROGRAM_LEDGER = 'PROGRAM_LEDGER'; // 编程总账 string constant PROPOSAL_LEDGER = 'PROPOSAL_LEDGER'; // 参议总账 string constant NODE_LEDGER = 'NODE_LEDGER'; // 服务器节点总账 string constant FUND_LEDGER = 'FUND_LEDGER'; // 基金总账 string constant DESTROY_LEDGER = 'DESTROY_LEDGER'; // 销毁总账 string public constant name = 'Encropy'; string public constant symbol = 'ECP'; mapping(string => address) ledgers; // 账本 mapping(string => uint8) allocationRatio; // 分配比例 mapping(uint256 => uint256) allocatedDates; // 已经分配ECP的日期 YearsDataSetOptimized yearsData;// = new YearsDataSetOptimized(initialDate,firstYearSupply); // 分配数据 event DailyMined(uint256 indexed date, uint256 volume); event LedgerChanged(string indexed ledger_name, address new_address); modifier checkMined(uint256 _time) { require(isAllocated(_time) == false, 'today have been mined!'); _; } modifier checkNowMined() { uint256 _time = now; require(_time <= 3383222400, 'time is exceed the limit'); require(isAllocated(_time) == false, 'today have been mined!'); _; } // event FallbackIsCalled(address caller_address, uint256 _value, bytes data); // event ReceiveIsCalled(address caller_address, uint256 _value); constructor() public { owner = msg.sender; yearsData = new YearsDataSetOptimized(initialDate,firstYearSupply); // 分配数据 setLedgers(); } // receive() external payable { // emit ReceiveIsCalled(msg.sender, msg.value); // } // fallback() external payable { // emit FallbackIsCalled(msg.sender, msg.value, msg.data); // } // 设定账本地址和比例 function setLedgers() private { // ledgers['GENERAL_LEDGER'] = 0xc5A2D4ffBb95570602616A7ACAA4904C88A3BE33; // 总账 ledgers[PROFIT_LEDGER] = 0x775a40c61f2Af5Ae9E7DC6A1f5E022ED9E58455D; ledgers[HOLDING_LEDGER] = 0x677d514Fb8D6FCDC2f741575aa8FE506210B5781; ledgers[PROGRAM_LEDGER] = 0x948E284E0222b35ca6E5404b0766f933e077b118; ledgers[PROPOSAL_LEDGER] = 0x6F7b95C8CEd86D091002A3546f5154256d6c0AA1; ledgers[NODE_LEDGER] = 0xC46E4B28703C1dDfA77507B8c6Bc7dC495a3b1de; ledgers[FUND_LEDGER] = 0x18731261A0cA711e67877389FBa962021CdfE1BD; ledgers[DESTROY_LEDGER] = 0xCEA7B41F90069Cf88F004ee806f88d4840EFc530; allocationRatio[PROFIT_LEDGER] = 50; allocationRatio[HOLDING_LEDGER] = 20; allocationRatio[PROGRAM_LEDGER] = 10; allocationRatio[PROPOSAL_LEDGER] = 10; allocationRatio[NODE_LEDGER] = 5; allocationRatio[FUND_LEDGER] = 5; // prevMine(); } // 获取账本地址 function getLedgerAddress(string memory _name) public view returns (address) { return ledgers[_name]; } // 获取账本分成比例 function getLedgerRadio(string memory _name) public view returns (uint8) { return allocationRatio[_name]; } // 获取该年度的数据 function getYearData(uint16 _year) public view returns(uint16 year, uint256 start_time, uint256 end_time, uint16 daysInYear, uint256 issueVolume) { return yearsData.getYearDataFromYear(_year); } // 从时间戳里面获取日期的时间戳 function getYearDataFromTimestamp(uint256 _time) public view returns(uint16 year, uint256 start_time, uint256 end_time, uint16 daysInYear, uint256 issueVolume) { return yearsData.getYearDataFromTimestamp(_time); } // 从时间戳里面获取日期的时间戳 function getDayTimestampFromTimestamp(uint256 _time) public view returns(uint256) { return yearsData.getDayTimestamp(_time); } // 获取从现在到发行日的所有历史的日期时间戳 function getHistoryDaysTimestamp() public view returns(uint256[] memory){ uint256 time = now - 3600*24; return yearsData.getHistoryDaysTimestamp(time); } // 该日期是否已经挖过了 function isAllocated(uint256 _dayTimestamp) public view returns(bool) { if (allocatedDates[_dayTimestamp] > 0) { return true; } _dayTimestamp = getDayTimestampFromTimestamp(_dayTimestamp); if (allocatedDates[_dayTimestamp] > 0) { return true; } return false; } // 指定日期的挖矿挖矿 function mine(uint256 _dayTimestamp) checkMined(_dayTimestamp) private onlyOwner{ uint256 __dayTimestamp = getDayTimestampFromTimestamp(_dayTimestamp); (, , , uint16 daysInYear, uint256 issueVolume) = getYearDataFromTimestamp(__dayTimestamp); uint256 dayVolume = issueVolume / daysInYear; // 每日的出矿量 totalSupply += dayVolume; // 总量增加 balanceOf[msg.sender] += dayVolume; // 创建人人余额增加 emit DailyMined(__dayTimestamp, dayVolume); allocatedDates[__dayTimestamp] = dayVolume; // 记录已挖的日期 allocatingMine(dayVolume); // 按规则分配矿池 } // 挖今天的矿 function mine() checkNowMined public onlyOwner { uint256 _now = now; mine(_now); } // 按规则分配矿池 function allocatingMine(uint256 _dayVolume) internal onlyOwner{ uint256 value = 0; value = (_dayVolume * 50) / 100; transfer(ledgers[PROFIT_LEDGER], value); value = (_dayVolume * 20) / 100; transfer(ledgers[HOLDING_LEDGER], value); value = (_dayVolume * 10) / 100; transfer(ledgers[PROGRAM_LEDGER], value); value = (_dayVolume * 10) / 100; transfer(ledgers[PROPOSAL_LEDGER], value); value = (_dayVolume * 5) / 100; transfer(ledgers[NODE_LEDGER], value); // value = (_dayVolume * allocationRatio[FUND_LEDGER]) / 100; value = balanceOf[msg.sender]; // 剩下的全给基金会,防止有余数 transfer(ledgers[FUND_LEDGER], value); } // 将之前的先挖出来 function prevMine() public onlyOwner{ uint256[] memory historyDaysTimestamp = getHistoryDaysTimestamp(); uint256 max = 5; for (uint256 i=0; i<historyDaysTimestamp.length; i++) { // if (max < 0) // { // break; // } if (!isAllocated(historyDaysTimestamp[i])) { mine(historyDaysTimestamp[i]); max = max-1; } } } // 一天的发行量 function dateOfSupply(uint256 _date) public view returns (uint256) { (,,,uint256 daysOfYear, uint256 supplyOfYear) = getYearDataFromTimestamp(_date); return supplyOfYear / daysOfYear; } // 今天的发行量 function todayOfSupply() public view returns(uint256) { return dateOfSupply(now); } function changeLedgerAddress(string memory _ledger_name, address _new_address) onlyOwner public { require(ledgers[_ledger_name] != address(0), 'ledger is not exists.'); ledgers[_ledger_name] = _new_address; emit LedgerChanged(_ledger_name, _new_address); } }
pragma solidity >=0.4.22 <0.7.0; contract owned { address public owner; constructor() public { owner = msg.sender; } modifier onlyOwner { require(msg.sender == owner); _; } function transferOwnership(address newOwner) onlyOwner public { owner = newOwner; } }
pragma solidity >=0.4.22 <0.7.0; interface tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes calldata _extraData) external; } import "./owned.sol"; contract TokenERC20 is owned{ // string public name; // string public symbol; // uint8 public decimals; uint256 public totalSupply; // 用mapping保存每个地址对应的余额 mapping (address => uint256) public balanceOf; // 存储对账号的控制 mapping (address => mapping (address => uint256)) public allowance; mapping (address => bool) public frozenAccount; /* This generates a public event on the blockchain that will notify clients */ event FrozenFunds(address indexed target, bool frozen); // 事件,用来通知客户端交易发生 event Transfer(address indexed from, address indexed to, uint256 value); // 事件,用来通知客户端代币被消费 event Burn(address indexed from, uint256 value); /** * 初始化构造 */ // constructor(uint256 initialSupply, string memory tokenName, string memory tokenSymbol) public { // totalSupply = initialSupply * 10 ** uint256(decimals); // 供应的份额,份额跟最小的代币单位有关,份额 = 币数 * 10 ** decimals。 // balanceOf[msg.sender] = totalSupply; // 创建者拥有所有的代币 // name = tokenName; // 代币名称 // symbol = tokenSymbol; // 代币符号 // } /** * 代币交易转移的内部实现 */ // function _transfer(address _from, address _to, uint _value) internal { // // 确保目标地址不为0x0,因为0x0地址代表销毁 // require(_to != address(0x0)); // // 检查发送者余额 // require(balanceOf[_from] >= _value); // // 确保转移为正数个 // require(balanceOf[_to] + _value > balanceOf[_to]); // // 以下用来检查交易, // uint previousBalances = balanceOf[_from] + balanceOf[_to]; // // Subtract from the sender // balanceOf[_from] -= _value; // // Add the same to the recipient // balanceOf[_to] += _value; // emit Transfer(_from, _to, _value); // // 用assert来检查代码逻辑。 // assert(balanceOf[_from] + balanceOf[_to] == previousBalances); // } /** * 代币交易转移 * 从创建交易者账号发送`_value`个代币到 `_to`账号 * * @param _to 接收者地址 * @param _value 转移数额 */ function transfer(address _to, uint256 _value) public { _transfer(msg.sender, _to, _value); } /** * 账号之间代币交易转移 * @param _from 发送者地址 * @param _to 接收者地址 * @param _value 转移数额 */ function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) { require(_value <= allowance[_from][msg.sender], 'You have not been allowed to transfer.'); // Check allowance allowance[_from][msg.sender] -= _value; _transfer(_from, _to, _value); return true; } /** * 设置某个地址(合约)可以交易者名义花费的代币数。 * * 允许发送者`_spender` 花费不多于 `_value` 个代币 * * @param _spender The address authorized to spend * @param _value the max amount they can spend */ function approve(address _spender, uint256 _value) public returns (bool success) { allowance[msg.sender][_spender] = _value; return true; } /** * 设置允许一个地址(合约)以交易者名义可最多花费的代币数。 * * @param _spender 被授权的地址(合约) * @param _value 最大可花费代币数 * @param _extraData 发送给合约的附加数据 */ // function approveAndCall(address _spender, uint256 _value, bytes memory _extraData) // public // returns (bool success) { // tokenRecipient spender = tokenRecipient(_spender); // if (approve(_spender, _value)) { // spender.receiveApproval(msg.sender, _value, address(this), _extraData); // return true; // } // } /** * 销毁创建者账户中指定个代币 */ function burn(uint256 _value) public returns (bool success) { require(balanceOf[msg.sender] >= _value, 'This msg.sender have not enough value to burn.'); // Check if the sender has enough balanceOf[msg.sender] -= _value; // Subtract from the sender totalSupply -= _value; // Updates totalSupply emit Burn(msg.sender, _value); return true; } /** * 销毁用户账户中指定个代币 * * Remove `_value` tokens from the system irreversibly on behalf of `_from`. * * @param _from the address of the sender * @param _value the amount of money to burn */ function burnFrom(address _from, uint256 _value) public returns (bool success) { require(balanceOf[_from] >= _value, 'This address have not enough value to burn.'); // Check if the targeted balance is enough require(_value <= allowance[_from][msg.sender], 'This address have not been allowed to burn.'); // Check allowance balanceOf[_from] -= _value; // Subtract from the targeted balance allowance[_from][msg.sender] -= _value; // Subtract from the sender's allowance totalSupply -= _value; // Update totalSupply emit Burn(_from, _value); return true; } /* Internal transfer, only can be called by this contract */ function _transfer(address _from, address _to, uint _value) internal { require (_to != address(0x0), 'Can not transfer to a empty address.'); // Prevent transfer to 0x0 address. Use burn() instead require (balanceOf[_from] >= _value, 'This address have not enough value to transfer.'); // Check if the sender has enough require (balanceOf[_to] + _value > balanceOf[_to], 'The receiving address have too many token to transfer.'); // Check for overflows require(!frozenAccount[_from], 'This address have been frozen.'); // Check if sender is frozen require(!frozenAccount[_to], 'The receiving address have been frozen.'); // Check if recipient is frozen balanceOf[_from] -= _value; // Subtract from the sender balanceOf[_to] += _value; // Add the same to the recipient emit Transfer(_from, _to, _value); } /// @notice Create `mintedAmount` tokens and send it to `target` /// @param target Address to receive the tokens /// @param mintedAmount the amount of tokens it will receive // function mintToken(address target, uint256 mintedAmount) onlyOwner public { // balanceOf[target] += mintedAmount; // totalSupply += mintedAmount; // emit Transfer(address(0), address(this), mintedAmount); // emit Transfer(address(this), target, mintedAmount); // } /// @notice `freeze? Prevent | Allow` `target` from sending & receiving tokens /// @param target Address to be frozen /// @param freeze either to freeze it or not function freezeAccount(address target, bool freeze) onlyOwner public { frozenAccount[target] = freeze; emit FrozenFunds(target, freeze); } }
pragma solidity >=0.4.0 <0.7.0; // time_zone is PRC contract YearsDataSetOptimized { // gap of UTC and PRC time uint16 constant time_zone_seconds = 3600*8; // PRC的时区秒数 uint16 constant start_year = 2020; // 开始年份 uint16 constant end_year = 2076; // 结束年份 // uint16[14] LeapYears = [2023,2027,2031,2035,2039,2043,2047,2051,2055,2059,2063,2067,2071,2075]; uint16[14] LeapYears = [2024,2028,2032,2036,2040,2044,2048,2052,2056,2060,2064,2068,2072,2076]; // 闰年年份 uint256 constant secondsInDay = 86400; // 一天的秒数 uint256 constant maxTimestamp = 3383222400; // 最大的时间戳,用来限制输入数据 uint256 initialDateTimestamp; // 开始发行的时间戳,PRC time zone uint256 firstYearSupply; // 限制年份 modifier checkYear(uint256 _year) { require(_year >= 2020 && _year <= 2076, 'Year number must be between 2020 and 2076'); _; } // 限制时间戳 modifier checkTimestamp(uint256 _time) { require(_time > 0 && _time <= maxTimestamp, 'Timestamp must not be be between 0 and 3383222400'); _; } constructor(uint256 _initialDateTimestamp, uint256 _firstYearSupply) public { initialDateTimestamp = _initialDateTimestamp; firstYearSupply = _firstYearSupply; // for test /* if (initialDateTimestamp == 0) { initialDateTimestamp = 1584460800; } if (firstYearSupply == 0) { firstYearSupply = 50000000000000000; } */ require(initialDateTimestamp > 0, 'initial DateTime can not be 0.'); require(firstYearSupply > 0, 'First Year Supply can not be 0.'); // 设定年度的开始和结束时间戳、一年里面的天数,总发行量,作为数据验证 //yearsData[2020] = dayInYear(2020,1584460800,1615996800,365,50000000000000000); //yearsData[2021] = dayInYear(2021,1615996800,1647532800,365,25000000000000000); //yearsData[2022] = dayInYear(2022,1647532800,1679068800,365,12500000000000000); //yearsData[2023] = dayInYear(2023,1679068800,1710691200,366,6250000000000000); //yearsData[2024] = dayInYear(2024,1710691200,1742227200,365,3125000000000000); //yearsData[2025] = dayInYear(2025,1742227200,1773763200,365,1562500000000000); //yearsData[2026] = dayInYear(2026,1773763200,1805299200,365,781250000000000); //yearsData[2027] = dayInYear(2027,1805299200,1836921600,366,390625000000000); //yearsData[2028] = dayInYear(2028,1836921600,1868457600,365,195312500000000); //yearsData[2029] = dayInYear(2029,1868457600,1899993600,365,97656250000000); //yearsData[2030] = dayInYear(2030,1899993600,1931529600,365,48828125000000); //yearsData[2031] = dayInYear(2031,1931529600,1963152000,366,24414062500000); //yearsData[2032] = dayInYear(2032,1963152000,1994688000,365,12207031250000); //yearsData[2033] = dayInYear(2033,1994688000,2026224000,365,6103515625000); //yearsData[2034] = dayInYear(2034,2026224000,2057760000,365,3051757812500); //yearsData[2035] = dayInYear(2035,2057760000,2089382400,366,1525878906250); //yearsData[2036] = dayInYear(2036,2089382400,2120918400,365,762939453125); //yearsData[2037] = dayInYear(2037,2120918400,2152454400,365,381469726562); //yearsData[2038] = dayInYear(2038,2152454400,2183990400,365,190734863281); //yearsData[2039] = dayInYear(2039,2183990400,2215612800,366,95367431640); //yearsData[2040] = dayInYear(2040,2215612800,2247148800,365,47683715820); //yearsData[2041] = dayInYear(2041,2247148800,2278684800,365,23841857910); //yearsData[2042] = dayInYear(2042,2278684800,2310220800,365,11920928955); //yearsData[2043] = dayInYear(2043,2310220800,2341843200,366,5960464477); //yearsData[2044] = dayInYear(2044,2341843200,2373379200,365,2980232238); //yearsData[2045] = dayInYear(2045,2373379200,2404915200,365,1490116119); //yearsData[2046] = dayInYear(2046,2404915200,2436451200,365,745058059); //yearsData[2047] = dayInYear(2047,2436451200,2468073600,366,372529029); //yearsData[2048] = dayInYear(2048,2468073600,2499609600,365,186264514); //yearsData[2049] = dayInYear(2049,2499609600,2531145600,365,93132257); //yearsData[2050] = dayInYear(2050,2531145600,2562681600,365,46566128); //yearsData[2051] = dayInYear(2051,2562681600,2594304000,366,23283064); //yearsData[2052] = dayInYear(2052,2594304000,2625840000,365,11641532); //yearsData[2053] = dayInYear(2053,2625840000,2657376000,365,5820766); //yearsData[2054] = dayInYear(2054,2657376000,2688912000,365,2910383); //yearsData[2055] = dayInYear(2055,2688912000,2720534400,366,1455191); //yearsData[2056] = dayInYear(2056,2720534400,2752070400,365,727595); //yearsData[2057] = dayInYear(2057,2752070400,2783606400,365,363797); //yearsData[2058] = dayInYear(2058,2783606400,2815142400,365,181898); //yearsData[2059] = dayInYear(2059,2815142400,2846764800,366,90949); //yearsData[2060] = dayInYear(2060,2846764800,2878300800,365,45474); //yearsData[2061] = dayInYear(2061,2878300800,2909836800,365,22737); //yearsData[2062] = dayInYear(2062,2909836800,2941372800,365,11368); //yearsData[2063] = dayInYear(2063,2941372800,2972995200,366,5684); //yearsData[2064] = dayInYear(2064,2972995200,3004531200,365,2842); //yearsData[2065] = dayInYear(2065,3004531200,3036067200,365,1421); //yearsData[2066] = dayInYear(2066,3036067200,3067603200,365,710); //yearsData[2067] = dayInYear(2067,3067603200,3099225600,366,355); //yearsData[2068] = dayInYear(2068,3099225600,3130761600,365,177); //yearsData[2069] = dayInYear(2069,3130761600,3162297600,365,88); //yearsData[2070] = dayInYear(2070,3162297600,3193833600,365,44); //yearsData[2071] = dayInYear(2071,3193833600,3225456000,366,22); //yearsData[2072] = dayInYear(2072,3225456000,3256992000,365,11); //yearsData[2073] = dayInYear(2073,3256992000,3288528000,365,5); //yearsData[2074] = dayInYear(2074,3288528000,3320064000,365,2); //yearsData[2075] = dayInYear(2075,3320064000,3351686400,366,1); //yearsData[2076] = dayInYear(2076,3351686400,3383222400,365,0); } // 获取该年度的数据 // return (年度, 开始时间戳,结束时间戳,该年度的天数,该年度的总发行量) function getYearDataFromYear(uint16 _year) checkYear(_year) public view returns(uint16 , uint256 , uint256 , uint16, uint256) { uint256 issueVolumeOfYear = firstYearSupply; // 首年发行量 uint256 start_gep_days = 0; uint256 last_year; uint16[14] memory _leap_years = LeapYears; // 算出开始时间距离发行日的天数 for (uint16 i=start_year; i<=_year; i++) { last_year = i; if (i > start_year) { issueVolumeOfYear = issueVolumeOfYear / 2; start_gep_days += 365; } for (uint256 ii=0; ii<_leap_years.length; ii++) { if (last_year == _leap_years[ii]) { // 闰年加一天 start_gep_days++; break; } } } uint16 _daysInYear = 365; last_year++; for (uint256 ii=0; ii<_leap_years.length; ii++) { if (last_year == _leap_years[ii]) { // 闰年加一天 _daysInYear++; break; } } uint256 start_time = initialDateTimestamp + start_gep_days*1 days; // 开始时间 uint256 end_time = initialDateTimestamp + (start_gep_days + _daysInYear)*1 days; // 结束时间 return (_year, start_time, end_time ,_daysInYear, issueVolumeOfYear); } // 根据时间戳来获取当年度的数据 // return (年度, 开始时间戳,结束时间戳,该年度的天数,该年度的总发行量) function getYearDataFromTimestamp(uint256 _time) checkTimestamp(_time) public view returns(uint16, uint256 , uint256 , uint16 , uint256 ) { uint16 year; uint256 start_time; uint256 end_time; uint16 daysInYear; uint256 issueVolumeOfYear; // 计算_time时间戳落在那个年份内 for (uint16 i=start_year; i<=end_year; i++) { (year, start_time, end_time ,daysInYear,issueVolumeOfYear) = getYearDataFromYear(i); if (_time >= start_time && _time < end_time) { break; } } return (year, start_time, end_time ,daysInYear, issueVolumeOfYear); } // 从时间戳获取日期的时间戳 function getDayTimestamp(uint256 _time) checkTimestamp(_time) public pure returns (uint256) { uint256 mod = (_time + time_zone_seconds) % secondsInDay; uint256 dayTimestamp = _time - mod; return dayTimestamp; } // 获取时间区间内的所有日期时间戳 function getHistoryDaysTimestamp(uint256 _dayTimestamp) checkTimestamp(_dayTimestamp) public view returns(uint256[] memory) { uint256 dayTimestamp = getDayTimestamp(_dayTimestamp); uint256 dayTimestamp2 = dayTimestamp; uint256 _initialDateTimestamp = initialDateTimestamp; uint16 count = 0; // 因为不支持动态数组,只能先计算数组的大小,然后再赋值过去,我日~~~~ for (uint16 i=0; i<365; i++) { if (dayTimestamp <= _initialDateTimestamp) { break; } count++; dayTimestamp -= secondsInDay; } uint256[] memory daysTimestamp = new uint256[](count); dayTimestamp = dayTimestamp2; // 赋值给数组 daysTimestamp[0] = dayTimestamp; for (uint16 i=1; i<count; i++) { dayTimestamp -= secondsInDay; daysTimestamp[i] = dayTimestamp; } return daysTimestamp; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"date","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"volume","type":"uint256"}],"name":"DailyMined","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"bool","name":"frozen","type":"bool"}],"name":"FrozenFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"ledger_name","type":"string"},{"indexed":false,"internalType":"address","name":"new_address","type":"address"}],"name":"LedgerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"burnFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_ledger_name","type":"string"},{"internalType":"address","name":"_new_address","type":"address"}],"name":"changeLedgerAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_date","type":"uint256"}],"name":"dateOfSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bool","name":"freeze","type":"bool"}],"name":"freezeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"frozenAccount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_time","type":"uint256"}],"name":"getDayTimestampFromTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getHistoryDaysTimestamp","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_name","type":"string"}],"name":"getLedgerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_name","type":"string"}],"name":"getLedgerRadio","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"_year","type":"uint16"}],"name":"getYearData","outputs":[{"internalType":"uint16","name":"year","type":"uint16"},{"internalType":"uint256","name":"start_time","type":"uint256"},{"internalType":"uint256","name":"end_time","type":"uint256"},{"internalType":"uint16","name":"daysInYear","type":"uint16"},{"internalType":"uint256","name":"issueVolume","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_time","type":"uint256"}],"name":"getYearDataFromTimestamp","outputs":[{"internalType":"uint16","name":"year","type":"uint16"},{"internalType":"uint256","name":"start_time","type":"uint256"},{"internalType":"uint256","name":"end_time","type":"uint256"},{"internalType":"uint16","name":"daysInYear","type":"uint16"},{"internalType":"uint256","name":"issueVolume","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_dayTimestamp","type":"uint256"}],"name":"isAllocated","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mine","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"prevMine","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"todayOfSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040523480156200001157600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550635e70f400600860ff16600a0a631dcd650002604051620000b39062000c3b565b8083815260200182815260200192505050604051809103906000f080158015620000e1573d6000803e3d6000fd5b50600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001326200013860201b60201c565b62000c49565b73775a40c61f2af5ae9e7dc6a1f5e022ed9e58455d60056040518060400160405280600d81526020017f50524f4649545f4c4544474552000000000000000000000000000000000000008152506040518082805190602001908083835b60208310620001ba578051825260208201915060208101905060208303925062000195565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073677d514fb8d6fcdc2f741575aa8fe506210b578160056040518060400160405280600e81526020017f484f4c44494e475f4c45444745520000000000000000000000000000000000008152506040518082805190602001908083835b60208310620002ad578051825260208201915060208101905060208303925062000288565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073948e284e0222b35ca6e5404b0766f933e077b11860056040518060400160405280600e81526020017f50524f4752414d5f4c45444745520000000000000000000000000000000000008152506040518082805190602001908083835b60208310620003a057805182526020820191506020810190506020830392506200037b565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550736f7b95c8ced86d091002a3546f5154256d6c0aa160056040518060400160405280600f81526020017f50524f504f53414c5f4c454447455200000000000000000000000000000000008152506040518082805190602001908083835b602083106200049357805182526020820191506020810190506020830392506200046e565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c46e4b28703c1ddfa77507b8c6bc7dc495a3b1de60056040518060400160405280600b81526020017f4e4f44455f4c45444745520000000000000000000000000000000000000000008152506040518082805190602001908083835b6020831062000586578051825260208201915060208101905060208303925062000561565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507318731261a0ca711e67877389fba962021cdfe1bd60056040518060400160405280600b81526020017f46554e445f4c45444745520000000000000000000000000000000000000000008152506040518082805190602001908083835b6020831062000679578051825260208201915060208101905060208303925062000654565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073cea7b41f90069cf88f004ee806f88d4840efc53060056040518060400160405280600e81526020017f44455354524f595f4c45444745520000000000000000000000000000000000008152506040518082805190602001908083835b602083106200076c578051825260208201915060208101905060208303925062000747565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550603260066040518060400160405280600d81526020017f50524f4649545f4c4544474552000000000000000000000000000000000000008152506040518082805190602001908083835b602083106200084c578051825260208201915060208101905060208303925062000827565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908360ff160217905550601460066040518060400160405280600e81526020017f484f4c44494e475f4c45444745520000000000000000000000000000000000008152506040518082805190602001908083835b60208310620009065780518252602082019150602081019050602083039250620008e1565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908360ff160217905550600a60066040518060400160405280600e81526020017f50524f4752414d5f4c45444745520000000000000000000000000000000000008152506040518082805190602001908083835b60208310620009c057805182526020820191506020810190506020830392506200099b565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908360ff160217905550600a60066040518060400160405280600f81526020017f50524f504f53414c5f4c454447455200000000000000000000000000000000008152506040518082805190602001908083835b6020831062000a7a578051825260208201915060208101905060208303925062000a55565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908360ff160217905550600560066040518060400160405280600b81526020017f4e4f44455f4c45444745520000000000000000000000000000000000000000008152506040518082805190602001908083835b6020831062000b34578051825260208201915060208101905060208303925062000b0f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908360ff160217905550600560066040518060400160405280600b81526020017f46554e445f4c45444745520000000000000000000000000000000000000000008152506040518082805190602001908083835b6020831062000bee578051825260208201915060208101905060208303925062000bc9565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908360ff160217905550565b610ac0806200390b83390190565b612cb28062000c596000396000f3fe608060405234801561001057600080fd5b50600436106101a85760003560e01c806370a08231116100f9578063a9059cbb11610097578063db7df71411610071578063db7df71414610a7d578063dd62ed3e14610abf578063e724529c14610b37578063f2fde38b14610b87576101a8565b8063a9059cbb14610961578063a9bab2eb146109af578063b414d4b614610a21576101a8565b8063917edf9b116100d3578063917edf9b146107bd57806395d89b411461089257806399f4b251146109155780639cf3103d1461091f576101a8565b806370a08231146106b557806379cc67901461070d5780638da5cb5b14610773576101a8565b806323b872dd11610166578063313ce56711610140578063313ce567146104e257806340d8fe6d1461050657806341bfc95e1461060157806342966c681461066f576101a8565b806323b872dd146103635780632af3a09a146103e9578063302afd9e14610407576101a8565b8062d1e3e1146101ad57806306fdde031461020c578063092412e31461028f578063095ea7b3146102995780630a1bb1b1146102ff57806318160ddd14610345575b600080fd5b6101b5610bcb565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156101f85780820151818401526020810190506101dd565b505050509050019250505060405180910390f35b610214610d25565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610254578082015181840152602081019050610239565b50505050905090810190601f1680156102815780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610297610d5e565b005b6102e5600480360360408110156102af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e2d565b604051808215151515815260200191505060405180910390f35b61032b6004803603602081101561031557600080fd5b8101908080359060200190929190505050610eba565b604051808215151515815260200191505060405180910390f35b61034d610f1a565b6040518082815260200191505060405180910390f35b6103cf6004803603606081101561037957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f20565b604051808215151515815260200191505060405180910390f35b6103f1611097565b6040518082815260200191505060405180910390f35b6104e06004803603604081101561041d57600080fd5b810190808035906020019064010000000081111561043a57600080fd5b82018360208201111561044c57600080fd5b8035906020019184600183028401116401000000008311171561046e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110a7565b005b6104ea61139c565b604051808260ff1660ff16815260200191505060405180910390f35b6105bf6004803603602081101561051c57600080fd5b810190808035906020019064010000000081111561053957600080fd5b82018360208201111561054b57600080fd5b8035906020019184600183028401116401000000008311171561056d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506113a1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61062d6004803603602081101561061757600080fd5b8101908080359060200190929190505050611434565b604051808661ffff1661ffff1681526020018581526020018481526020018361ffff1661ffff1681526020018281526020019550505050505060405180910390f35b61069b6004803603602081101561068557600080fd5b8101908080359060200190929190505050611525565b604051808215151515815260200191505060405180910390f35b6106f7600480360360208110156106cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611673565b6040518082815260200191505060405180910390f35b6107596004803603604081101561072357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061168b565b604051808215151515815260200191505060405180910390f35b61077b611939565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610876600480360360208110156107d357600080fd5b81019080803590602001906401000000008111156107f057600080fd5b82018360208201111561080257600080fd5b8035906020019184600183028401116401000000008311171561082457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061195e565b604051808260ff1660ff16815260200191505060405180910390f35b61089a6119de565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108da5780820151818401526020810190506108bf565b50505050905090810190601f1680156109075780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61091d611a17565b005b61094b6004803603602081101561093557600080fd5b8101908080359060200190929190505050611b83565b6040518082815260200191505060405180910390f35b6109ad6004803603604081101561097757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611baf565b005b6109df600480360360208110156109c557600080fd5b81019080803561ffff169060200190929190505050611bbe565b604051808661ffff1661ffff1681526020018581526020018481526020018361ffff1661ffff1681526020018281526020019550505050505060405180910390f35b610a6360048036036020811015610a3757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cb7565b604051808215151515815260200191505060405180910390f35b610aa960048036036020811015610a9357600080fd5b8101908080359060200190929190505050611cd7565b6040518082815260200191505060405180910390f35b610b2160048036036040811015610ad557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d8e565b6040518082815260200191505060405180910390f35b610b8560048036036040811015610b4d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611db3565b005b610bc960048036036020811015610b9d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611eb9565b005b606060006201518042039050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ec494c0c826040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015610c4a57600080fd5b505afa158015610c5e573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015610c8857600080fd5b8101908080516040519392919084640100000000821115610ca857600080fd5b83820191506020820185811115610cbe57600080fd5b8251866020820283011164010000000082111715610cdb57600080fd5b8083526020830192505050908051906020019060200280838360005b83811015610d12578082015181840152602081019050610cf7565b5050505090500160405250505091505090565b6040518060400160405280600781526020017f456e63726f70790000000000000000000000000000000000000000000000000081525081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610db757600080fd5b6060610dc1610bcb565b905060006005905060008090505b8251811015610e2857610df4838281518110610de757fe5b6020026020010151610eba565b610e1b57610e14838281518110610e0757fe5b6020026020010151611f55565b6001820391505b8080600101915050610dcf565b505050565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b60008060076000848152602001908152602001600020541115610ee05760019050610f15565b610ee982611cd7565b9150600060076000848152602001908152602001600020541115610f105760019050610f15565b600090505b919050565b60015481565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610ff7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612c296026913960400191505060405180910390fd5b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555061108c848484612121565b600190509392505050565b60006110a242611b83565b905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461110057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166005836040518082805190602001908083835b6020831061114e578051825260208201915060208101905060208303925061112b565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561122c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f6c6564676572206973206e6f74206578697374732e000000000000000000000081525060200191505060405180910390fd5b806005836040518082805190602001908083835b602083106112635780518252602082019150602081019050602083039250611240565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816040518082805190602001908083835b6020831061130857805182526020820191506020810190506020830392506112e5565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390207f470b59888a87b13d6b202bc8f79ef2161dd87eab4079dd22c2c095f252b1433882604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a25050565b600881565b60006005826040518082805190602001908083835b602083106113d957805182526020820191506020810190506020830392506113b6565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000806000806000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166341bfc95e876040518263ffffffff1660e01b81526004018082815260200191505060a06040518083038186803b1580156114af57600080fd5b505afa1580156114c3573d6000803e3d6000fd5b505050506040513d60a08110156114d957600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509450945094509450945091939590929450565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156115bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612c4f602e913960400191505060405180910390fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816001600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a260019050919050565b60026020528060005260406000206000915090505481565b600081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611725576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180612bfe602b913960400191505060405180910390fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156117fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180612b47602b913960400191505060405180910390fd5b81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816001600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a26001905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006006826040518082805190602001908083835b602083106119965780518252602082019150602081019050602083039250611973565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff169050919050565b6040518060400160405280600381526020017f454350000000000000000000000000000000000000000000000000000000000081525081565b600042905063c9a7e080811115611a96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f74696d652069732065786365656420746865206c696d6974000000000000000081525060200191505060405180910390fd5b60001515611aa382610eba565b151514611b18576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f746f6461792068617665206265656e206d696e6564210000000000000000000081525060200191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b7157600080fd5b6000429050611b7f81611f55565b5050565b6000806000611b9184611434565b945061ffff169450505050818181611ba557fe5b0492505050919050565b611bba338383612121565b5050565b6000806000806000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663326d9d08876040518263ffffffff1660e01b8152600401808261ffff1661ffff16815260200191505060a06040518083038186803b158015611c4157600080fd5b505afa158015611c55573d6000803e3d6000fd5b505050506040513d60a0811015611c6b57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509450945094509450945091939590929450565b60046020528060005260406000206000915054906101000a900460ff1681565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636718c434836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611d4c57600080fd5b505afa158015611d60573d6000803e3d6000fd5b505050506040513d6020811015611d7657600080fd5b81019080805190602001909291905050509050919050565b6003602052816000526040600020602052806000526040600020600091509150505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e0c57600080fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a582604051808215151515815260200191505060405180910390a25050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611f1257600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b8060001515611f6382610eba565b151514611fd8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f746f6461792068617665206265656e206d696e6564210000000000000000000081525060200191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461203157600080fd5b600061203c83611cd7565b905060008061204a83611434565b9450945050505060008261ffff16828161206057fe5b0490508060016000828254019250508190555080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550837f4dfea624b12f8dcc5978a5a66f7ade3a139a638a96d69eb77be1c85d6deb4667826040518082815260200191505060405180910390a28060076000868152602001908152602001600020819055506121198161257e565b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156121a7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b236024913960400191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561223f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180612bcf602f913960400191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540111612317576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526036815260200180612b996036913960400191505060405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156123d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f5468697320616464726573732068617665206265656e2066726f7a656e2e000081525060200191505060405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561247a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180612b726027913960400191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125d757600080fd5b6000809050606460328302816125e957fe5b0490506126b460056040518060400160405280600d81526020017f50524f4649545f4c4544474552000000000000000000000000000000000000008152506040518082805190602001908083835b6020831061265a5780518252602082019150602081019050602083039250612637565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611baf565b606460148302816126c157fe5b04905061278c60056040518060400160405280600e81526020017f484f4c44494e475f4c45444745520000000000000000000000000000000000008152506040518082805190602001908083835b60208310612732578051825260208201915060208101905060208303925061270f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611baf565b6064600a83028161279957fe5b04905061286460056040518060400160405280600e81526020017f50524f4752414d5f4c45444745520000000000000000000000000000000000008152506040518082805190602001908083835b6020831061280a57805182526020820191506020810190506020830392506127e7565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611baf565b6064600a83028161287157fe5b04905061293c60056040518060400160405280600f81526020017f50524f504f53414c5f4c454447455200000000000000000000000000000000008152506040518082805190602001908083835b602083106128e257805182526020820191506020810190506020830392506128bf565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611baf565b6064600583028161294957fe5b049050612a1460056040518060400160405280600b81526020017f4e4f44455f4c45444745520000000000000000000000000000000000000000008152506040518082805190602001908083835b602083106129ba5780518252602082019150602081019050602083039250612997565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611baf565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050612b1e60056040518060400160405280600b81526020017f46554e445f4c45444745520000000000000000000000000000000000000000008152506040518082805190602001908083835b60208310612ac45780518252602082019150602081019050602083039250612aa1565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611baf565b505056fe43616e206e6f74207472616e7366657220746f206120656d70747920616464726573732e5468697320616464726573732068617665206e6f74206265656e20616c6c6f77656420746f206275726e2e54686520726563656976696e6720616464726573732068617665206265656e2066726f7a656e2e54686520726563656976696e672061646472657373206861766520746f6f206d616e7920746f6b656e20746f207472616e736665722e5468697320616464726573732068617665206e6f7420656e6f7567682076616c756520746f207472616e736665722e5468697320616464726573732068617665206e6f7420656e6f7567682076616c756520746f206275726e2e596f752068617665206e6f74206265656e20616c6c6f77656420746f207472616e736665722e54686973206d73672e73656e6465722068617665206e6f7420656e6f7567682076616c756520746f206275726e2ea2646970667358221220f3544c291a26c9fc7045cba57b38f9780a88781e463a0322f08c305f6bd84a9c64736f6c634300060100336080604052604051806101c001604052806107e861ffff1681526020016107ec61ffff1681526020016107f061ffff1681526020016107f461ffff1681526020016107f861ffff1681526020016107fc61ffff16815260200161080061ffff16815260200161080461ffff16815260200161080861ffff16815260200161080c61ffff16815260200161081061ffff16815260200161081461ffff16815260200161081861ffff16815260200161081c61ffff16815250600090600e6100c6929190610216565b503480156100d357600080fd5b50604051610ac0380380610ac0833981810160405260408110156100f657600080fd5b8101908080519060200190929190805190602001909291905050508160018190555080600281905550600060015411610197576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f696e697469616c204461746554696d652063616e206e6f7420626520302e000081525060200191505060405180910390fd5b60006002541161020f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4669727374205965617220537570706c792063616e206e6f7420626520302e0081525060200191505060405180910390fd5b50506102e4565b82600e600f016010900481019282156102a25791602002820160005b8382111561027257835183826101000a81548161ffff021916908361ffff1602179055509260200192600201602081600101049283019260010302610232565b80156102a05782816101000a81549061ffff0219169055600201602081600101049283019260010302610272565b505b5090506102af91906102b3565b5090565b6102e191905b808211156102dd57600081816101000a81549061ffff0219169055506001016102b9565b5090565b90565b6107cd806102f36000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063326d9d081461005157806341bfc95e146100c35780636718c43414610131578063ec494c0c14610173575b600080fd5b6100816004803603602081101561006757600080fd5b81019080803561ffff1690602001909291905050506101f6565b604051808661ffff1661ffff1681526020018581526020018481526020018361ffff1661ffff1681526020018281526020019550505050505060405180910390f35b6100ef600480360360208110156100d957600080fd5b810190808035906020019092919050505061041a565b604051808661ffff1661ffff1681526020018581526020018481526020018361ffff1661ffff1681526020018281526020019550505050505060405180910390f35b61015d6004803603602081101561014757600080fd5b810190808035906020019092919050505061050e565b6040518082815260200191505060405180910390f35b61019f6004803603602081101561018957600080fd5b81019080803590602001909291905050506105a5565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156101e25780820151818401526020810190506101c7565b505050509050019250505060405180910390f35b60008060008060008561ffff166107e48110158015610217575061081c8111155b61026c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602981526020018061076f6029913960400191505060405180910390fd5b600060025490506000809050600061028261071a565b6000600e806020026040519081016040528092919082600e80156102e3576020028201916000905b82829054906101000a900461ffff1661ffff16815260200190600201906020826001010492830192600103820291508084116102aa5790505b5050505050905060006107e490505b8b61ffff168161ffff1611610382578061ffff1692506107e461ffff168161ffff16111561032f576002858161032457fe5b04945061016d840193505b60008090505b600e811015610374578281600e811061034a57fe5b602002015161ffff16841415610367578480600101955050610374565b8080600101915050610335565b5080806001019150506102f2565b50600061016d9050828060010193505060008090505b600e8110156103d7578281600e81106103ad57fe5b602002015161ffff168414156103ca5781806001019250506103d7565b8080600101915050610398565b5060006201518085026001540190506000620151808361ffff168701026001540190508d8282858a9c509c509c509c509c50505050505050505091939590929450565b600080600080600085600081118015610437575063c9a7e0808111155b61048c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603181526020018061073e6031913960400191505060405180910390fd5b6000806000806000806107e490505b61081c61ffff168161ffff16116104ef576104b5816101f6565b809650819750829850839950849a505050505050848d101580156104d85750838d105b156104e2576104ef565b808060010191505061049b565b5084848484849a509a509a509a509a5050505050505091939590929450565b600081600081118015610525575063c9a7e0808111155b61057a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603181526020018061073e6031913960400191505060405180910390fd5b60006201518061708061ffff1685018161059057fe5b06905060008185039050809350505050919050565b6060816000811180156105bc575063c9a7e0808111155b610611576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603181526020018061073e6031913960400191505060405180910390fd5b600061061c8461050e565b9050600081905060006001549050600080905060008090505b61016d8161ffff16101561066c5782851161064f5761066c565b818060010192505062015180850394508080600101915050610635565b5060608161ffff166040519080825280602002602001820160405280156106a25781602001602082028038833980820191505090505b50905083945084816000815181106106b657fe5b6020026020010181815250506000600190505b8261ffff168161ffff16101561070b57620151808603955085828261ffff16815181106106f257fe5b60200260200101818152505080806001019150506106c9565b50809650505050505050919050565b604051806101c00160405280600e9060208202803883398082019150509050509056fe54696d657374616d70206d757374206e6f74206265206265206265747765656e203020616e64203333383332323234303059656172206e756d626572206d757374206265206265747765656e203230323020616e642032303736a26469706673582212205f0202ff20cb777fbe02a0ef3f75517cb30bd9466ad312da4d4a8c0a7f468df464736f6c63430006010033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101a85760003560e01c806370a08231116100f9578063a9059cbb11610097578063db7df71411610071578063db7df71414610a7d578063dd62ed3e14610abf578063e724529c14610b37578063f2fde38b14610b87576101a8565b8063a9059cbb14610961578063a9bab2eb146109af578063b414d4b614610a21576101a8565b8063917edf9b116100d3578063917edf9b146107bd57806395d89b411461089257806399f4b251146109155780639cf3103d1461091f576101a8565b806370a08231146106b557806379cc67901461070d5780638da5cb5b14610773576101a8565b806323b872dd11610166578063313ce56711610140578063313ce567146104e257806340d8fe6d1461050657806341bfc95e1461060157806342966c681461066f576101a8565b806323b872dd146103635780632af3a09a146103e9578063302afd9e14610407576101a8565b8062d1e3e1146101ad57806306fdde031461020c578063092412e31461028f578063095ea7b3146102995780630a1bb1b1146102ff57806318160ddd14610345575b600080fd5b6101b5610bcb565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156101f85780820151818401526020810190506101dd565b505050509050019250505060405180910390f35b610214610d25565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610254578082015181840152602081019050610239565b50505050905090810190601f1680156102815780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610297610d5e565b005b6102e5600480360360408110156102af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e2d565b604051808215151515815260200191505060405180910390f35b61032b6004803603602081101561031557600080fd5b8101908080359060200190929190505050610eba565b604051808215151515815260200191505060405180910390f35b61034d610f1a565b6040518082815260200191505060405180910390f35b6103cf6004803603606081101561037957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f20565b604051808215151515815260200191505060405180910390f35b6103f1611097565b6040518082815260200191505060405180910390f35b6104e06004803603604081101561041d57600080fd5b810190808035906020019064010000000081111561043a57600080fd5b82018360208201111561044c57600080fd5b8035906020019184600183028401116401000000008311171561046e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110a7565b005b6104ea61139c565b604051808260ff1660ff16815260200191505060405180910390f35b6105bf6004803603602081101561051c57600080fd5b810190808035906020019064010000000081111561053957600080fd5b82018360208201111561054b57600080fd5b8035906020019184600183028401116401000000008311171561056d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506113a1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61062d6004803603602081101561061757600080fd5b8101908080359060200190929190505050611434565b604051808661ffff1661ffff1681526020018581526020018481526020018361ffff1661ffff1681526020018281526020019550505050505060405180910390f35b61069b6004803603602081101561068557600080fd5b8101908080359060200190929190505050611525565b604051808215151515815260200191505060405180910390f35b6106f7600480360360208110156106cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611673565b6040518082815260200191505060405180910390f35b6107596004803603604081101561072357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061168b565b604051808215151515815260200191505060405180910390f35b61077b611939565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610876600480360360208110156107d357600080fd5b81019080803590602001906401000000008111156107f057600080fd5b82018360208201111561080257600080fd5b8035906020019184600183028401116401000000008311171561082457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061195e565b604051808260ff1660ff16815260200191505060405180910390f35b61089a6119de565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108da5780820151818401526020810190506108bf565b50505050905090810190601f1680156109075780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61091d611a17565b005b61094b6004803603602081101561093557600080fd5b8101908080359060200190929190505050611b83565b6040518082815260200191505060405180910390f35b6109ad6004803603604081101561097757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611baf565b005b6109df600480360360208110156109c557600080fd5b81019080803561ffff169060200190929190505050611bbe565b604051808661ffff1661ffff1681526020018581526020018481526020018361ffff1661ffff1681526020018281526020019550505050505060405180910390f35b610a6360048036036020811015610a3757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cb7565b604051808215151515815260200191505060405180910390f35b610aa960048036036020811015610a9357600080fd5b8101908080359060200190929190505050611cd7565b6040518082815260200191505060405180910390f35b610b2160048036036040811015610ad557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d8e565b6040518082815260200191505060405180910390f35b610b8560048036036040811015610b4d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611db3565b005b610bc960048036036020811015610b9d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611eb9565b005b606060006201518042039050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ec494c0c826040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015610c4a57600080fd5b505afa158015610c5e573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015610c8857600080fd5b8101908080516040519392919084640100000000821115610ca857600080fd5b83820191506020820185811115610cbe57600080fd5b8251866020820283011164010000000082111715610cdb57600080fd5b8083526020830192505050908051906020019060200280838360005b83811015610d12578082015181840152602081019050610cf7565b5050505090500160405250505091505090565b6040518060400160405280600781526020017f456e63726f70790000000000000000000000000000000000000000000000000081525081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610db757600080fd5b6060610dc1610bcb565b905060006005905060008090505b8251811015610e2857610df4838281518110610de757fe5b6020026020010151610eba565b610e1b57610e14838281518110610e0757fe5b6020026020010151611f55565b6001820391505b8080600101915050610dcf565b505050565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b60008060076000848152602001908152602001600020541115610ee05760019050610f15565b610ee982611cd7565b9150600060076000848152602001908152602001600020541115610f105760019050610f15565b600090505b919050565b60015481565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610ff7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612c296026913960400191505060405180910390fd5b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555061108c848484612121565b600190509392505050565b60006110a242611b83565b905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461110057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff166005836040518082805190602001908083835b6020831061114e578051825260208201915060208101905060208303925061112b565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561122c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f6c6564676572206973206e6f74206578697374732e000000000000000000000081525060200191505060405180910390fd5b806005836040518082805190602001908083835b602083106112635780518252602082019150602081019050602083039250611240565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816040518082805190602001908083835b6020831061130857805182526020820191506020810190506020830392506112e5565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390207f470b59888a87b13d6b202bc8f79ef2161dd87eab4079dd22c2c095f252b1433882604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a25050565b600881565b60006005826040518082805190602001908083835b602083106113d957805182526020820191506020810190506020830392506113b6565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000806000806000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166341bfc95e876040518263ffffffff1660e01b81526004018082815260200191505060a06040518083038186803b1580156114af57600080fd5b505afa1580156114c3573d6000803e3d6000fd5b505050506040513d60a08110156114d957600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509450945094509450945091939590929450565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156115bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180612c4f602e913960400191505060405180910390fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816001600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a260019050919050565b60026020528060005260406000206000915090505481565b600081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611725576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180612bfe602b913960400191505060405180910390fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156117fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180612b47602b913960400191505060405180910390fd5b81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550816001600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a26001905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006006826040518082805190602001908083835b602083106119965780518252602082019150602081019050602083039250611973565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff169050919050565b6040518060400160405280600381526020017f454350000000000000000000000000000000000000000000000000000000000081525081565b600042905063c9a7e080811115611a96576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f74696d652069732065786365656420746865206c696d6974000000000000000081525060200191505060405180910390fd5b60001515611aa382610eba565b151514611b18576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f746f6461792068617665206265656e206d696e6564210000000000000000000081525060200191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b7157600080fd5b6000429050611b7f81611f55565b5050565b6000806000611b9184611434565b945061ffff169450505050818181611ba557fe5b0492505050919050565b611bba338383612121565b5050565b6000806000806000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663326d9d08876040518263ffffffff1660e01b8152600401808261ffff1661ffff16815260200191505060a06040518083038186803b158015611c4157600080fd5b505afa158015611c55573d6000803e3d6000fd5b505050506040513d60a0811015611c6b57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509450945094509450945091939590929450565b60046020528060005260406000206000915054906101000a900460ff1681565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636718c434836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611d4c57600080fd5b505afa158015611d60573d6000803e3d6000fd5b505050506040513d6020811015611d7657600080fd5b81019080805190602001909291905050509050919050565b6003602052816000526040600020602052806000526040600020600091509150505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e0c57600080fd5b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a582604051808215151515815260200191505060405180910390a25050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611f1257600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b8060001515611f6382610eba565b151514611fd8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f746f6461792068617665206265656e206d696e6564210000000000000000000081525060200191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461203157600080fd5b600061203c83611cd7565b905060008061204a83611434565b9450945050505060008261ffff16828161206057fe5b0490508060016000828254019250508190555080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550837f4dfea624b12f8dcc5978a5a66f7ade3a139a638a96d69eb77be1c85d6deb4667826040518082815260200191505060405180910390a28060076000868152602001908152602001600020819055506121198161257e565b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156121a7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b236024913960400191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561223f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180612bcf602f913960400191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540111612317576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526036815260200180612b996036913960400191505060405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156123d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f5468697320616464726573732068617665206265656e2066726f7a656e2e000081525060200191505060405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561247a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180612b726027913960400191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125d757600080fd5b6000809050606460328302816125e957fe5b0490506126b460056040518060400160405280600d81526020017f50524f4649545f4c4544474552000000000000000000000000000000000000008152506040518082805190602001908083835b6020831061265a5780518252602082019150602081019050602083039250612637565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611baf565b606460148302816126c157fe5b04905061278c60056040518060400160405280600e81526020017f484f4c44494e475f4c45444745520000000000000000000000000000000000008152506040518082805190602001908083835b60208310612732578051825260208201915060208101905060208303925061270f565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611baf565b6064600a83028161279957fe5b04905061286460056040518060400160405280600e81526020017f50524f4752414d5f4c45444745520000000000000000000000000000000000008152506040518082805190602001908083835b6020831061280a57805182526020820191506020810190506020830392506127e7565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611baf565b6064600a83028161287157fe5b04905061293c60056040518060400160405280600f81526020017f50524f504f53414c5f4c454447455200000000000000000000000000000000008152506040518082805190602001908083835b602083106128e257805182526020820191506020810190506020830392506128bf565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611baf565b6064600583028161294957fe5b049050612a1460056040518060400160405280600b81526020017f4e4f44455f4c45444745520000000000000000000000000000000000000000008152506040518082805190602001908083835b602083106129ba5780518252602082019150602081019050602083039250612997565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611baf565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050612b1e60056040518060400160405280600b81526020017f46554e445f4c45444745520000000000000000000000000000000000000000008152506040518082805190602001908083835b60208310612ac45780518252602082019150602081019050602083039250612aa1565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611baf565b505056fe43616e206e6f74207472616e7366657220746f206120656d70747920616464726573732e5468697320616464726573732068617665206e6f74206265656e20616c6c6f77656420746f206275726e2e54686520726563656976696e6720616464726573732068617665206265656e2066726f7a656e2e54686520726563656976696e672061646472657373206861766520746f6f206d616e7920746f6b656e20746f207472616e736665722e5468697320616464726573732068617665206e6f7420656e6f7567682076616c756520746f207472616e736665722e5468697320616464726573732068617665206e6f7420656e6f7567682076616c756520746f206275726e2e596f752068617665206e6f74206265656e20616c6c6f77656420746f207472616e736665722e54686973206d73672e73656e6465722068617665206e6f7420656e6f7567682076616c756520746f206275726e2ea2646970667358221220f3544c291a26c9fc7045cba57b38f9780a88781e463a0322f08c305f6bd84a9c64736f6c63430006010033
Deployed Bytecode Sourcemap
132:7708:0:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;132:7708:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4475:173;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;4475:173:0;;;;;;;;;;;;;;;;;959:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;959:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6706:474;;;:::i;:::-;;3522:167:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3522:167:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4692:355:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4692:355:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;316:26:1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2899:333;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2899:333:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7450:95:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7551:286;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7551:286:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7551:286:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7551:286:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;7551:286:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;7551:286:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;184:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3410:115;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3410:115:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;3410:115:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3410:115:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;3410:115:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;3410:115:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3982:225;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3982:225:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4417:418:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4417:418:1;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;400:45;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;400:45:1;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5091:697;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5091:697:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;55:20:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3563:119:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3563:119:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;3563:119:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3563:119:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;3563:119:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;3563:119:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1004:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1004:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5775:103;;;:::i;:::-;;7212:206;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7212:206:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2630:105:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2630:105:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3720:206:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3720:206:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;556:46:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;556:46:1;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4263:138:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4263:138:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;483:66:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;483:66:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7547:158;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7547:158:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;225:95:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;225:95:3;;;;;;;;;;;;;;;;;;;:::i;:::-;;4475:173:0;4530:16;4557:12;4578:7;4572:3;:13;4557:28;;4602:9;;;;;;;;;;;:33;;;4636:4;4602:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4602:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4602:39:0;;;;;;39:16:-1;36:1;17:17;2:54;4602:39:0;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4602:39:0;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;71:11;66:3;62:21;55:28;;123:4;118:3;114:14;159:9;141:16;138:31;135:2;;;182:1;179;172:12;135:2;219:3;213:10;331:9;325:2;311:12;307:21;289:16;285:44;282:59;261:11;247:12;244:29;233:116;230:2;;;362:1;359;352:12;230:2;385:12;380:3;373:25;421:4;416:3;412:14;405:21;;0:433;;4602:39:0;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;4602:39:0;;;;;;;;;;;4595:46;;;4475:173;:::o;959:39::-;;;;;;;;;;;;;;;;;;;:::o;6706:474::-;195:5:3;;;;;;;;;;;181:19;;:10;:19;;;173:28;;;;;;6752:37:0::1;6792:25;:23;:25::i;:::-;6752:65;;6828:11;6842:1;6828:15;;6858:9;6868:1:::0;6858:11:::1;;6853:321;6873:20;:27;6871:1;:29;6853:321;;;7023:36;7035:20;7056:1;7035:23;;;;;;;;;;;;;;7023:11;:36::i;:::-;7018:146;;7091:29;7096:20;7117:1;7096:23;;;;;;;;;;;;;;7091:4;:29::i;:::-;7148:1;7144:3;:5;7138:11;;7018:146;6902:3;;;;;;;6853:321;;;;211:1:3;;6706:474:0:o:0;3522:167:1:-;3597:12;3655:6;3621:9;:21;3631:10;3621:21;;;;;;;;;;;;;;;:31;3643:8;3621:31;;;;;;;;;;;;;;;:40;;;;3678:4;3671:11;;3522:167;;;;:::o;4692:355:0:-;4756:4;4808:1;4776:14;:29;4791:13;4776:29;;;;;;;;;;;;:33;4772:83;;;4840:4;4833:11;;;;4772:83;4881:43;4910:13;4881:28;:43::i;:::-;4865:59;;4971:1;4939:14;:29;4954:13;4939:29;;;;;;;;;;;;:33;4935:83;;;5003:4;4996:11;;;;4935:83;5035:5;5028:12;;4692:355;;;;:::o;316:26:1:-;;;;:::o;2899:333::-;2981:12;3023:9;:16;3033:5;3023:16;;;;;;;;;;;;;;;:28;3040:10;3023:28;;;;;;;;;;;;;;;;3013:6;:38;;3005:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3159:6;3127:9;:16;3137:5;3127:16;;;;;;;;;;;;;;;:28;3144:10;3127:28;;;;;;;;;;;;;;;;:38;;;;;;;;;;;3175:29;3185:5;3192:3;3197:6;3175:9;:29::i;:::-;3221:4;3214:11;;2899:333;;;;;:::o;7450:95:0:-;7495:7;7521:17;7534:3;7521:12;:17::i;:::-;7514:24;;7450:95;:::o;7551:286::-;195:5:3;;;;;;;;;;;181:19;;:10;:19;;;173:28;;;;;;7698:1:0::1;7665:35;;:7;7673:12;7665:21;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;7665:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:35;;;;7657:69;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;7761:12;7737:7;7745:12;7737:21;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;7737:21:0;;;;;;;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;7803:12;7789:41;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;7789:41:0;;;;;;;;;;;;;;;;;7817:12;7789:41;;;;;;;;;;;;;;;;;;;;;;7551:286:::0;;:::o;184:34::-;217:1;184:34;:::o;3410:115::-;3478:7;3504;3512:5;3504:14;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3504:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3497:21;;3410:115;;;:::o;3982:225::-;4051:11;4064:18;4084:16;4102:17;4121:19;4159:9;;;;;;;;;;;:34;;;4194:5;4159:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4159:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4159:41:0;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;4159:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4152:48;;;;;;;;;;3982:225;;;;;;;:::o;4417:418:1:-;4463:12;4520:6;4495:9;:21;4505:10;4495:21;;;;;;;;;;;;;;;;:31;;4487:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4648:6;4623:9;:21;4633:10;4623:21;;;;;;;;;;;;;;;;:31;;;;;;;;;;;4718:6;4703:11;;:21;;;;;;;;;;;4788:10;4783:24;;;4800:6;4783:24;;;;;;;;;;;;;;;;;;4824:4;4817:11;;4417:418;;;:::o;400:45::-;;;;;;;;;;;;;;;;;:::o;5091:697::-;5156:12;5208:6;5188:9;:16;5198:5;5188:16;;;;;;;;;;;;;;;;:26;;5180:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5348:9;:16;5358:5;5348:16;;;;;;;;;;;;;;;:28;5365:10;5348:28;;;;;;;;;;;;;;;;5338:6;:38;;5330:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5476:6;5456:9;:16;5466:5;5456:16;;;;;;;;;;;;;;;;:26;;;;;;;;;;;5586:6;5554:9;:16;5564:5;5554:16;;;;;;;;;;;;;;;:28;5571:10;5554:28;;;;;;;;;;;;;;;;:38;;;;;;;;;;;5669:6;5654:11;;:21;;;;;;;;;;;5746:5;5741:19;;;5753:6;5741:19;;;;;;;;;;;;;;;;;;5777:4;5770:11;;5091:697;;;;:::o;55:20:3:-;;;;;;;;;;;;;:::o;3563:119:0:-;3629:5;3653:15;3669:5;3653:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;3653:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3646:29;;3563:119;;;:::o;1004:37::-;;;;;;;;;;;;;;;;;;;:::o;5775:103::-;1653:13;1669:3;1653:19;;1699:10;1690:5;:19;;1682:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1778:5;1756:27;;:18;1768:5;1756:11;:18::i;:::-;:27;;;1748:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;195:5:3::1;::::0;::::1;;;;;;;;;181:19;;:10;:19;;;173:28;;;::::0;::::1;;5832:12:0::2;5847:3;5832:18;;5861:10;5866:4;5861;:10::i;:::-;211:1:3;5775:103:0::0;:::o;7212:206::-;7270:7;7293:18;7313:20;7337:31;7362:5;7337:24;:31::i;:::-;7289:79;;;;;;;;;7401:10;7386:12;:25;;;;;;7379:32;;;;7212:206;;;:::o;2630:105:1:-;2694:34;2704:10;2716:3;2721:6;2694:9;:34::i;:::-;2630:105;;:::o;3720:206:0:-;3775:11;3788:18;3808:16;3826:17;3845:19;3883:9;;;;;;;;;;;:29;;;3913:5;3883:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3883:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3883:36:0;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;3883:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3876:43;;;;;;;;;;3720:206;;;;;;;:::o;556:46:1:-;;;;;;;;;;;;;;;;;;;;;;:::o;4263:138:0:-;4336:7;4362:9;;;;;;;;;;;:25;;;4388:5;4362:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4362:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4362:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4362:32:0;;;;;;;;;;;;;;;;4355:39;;4263:138;;;:::o;483:66:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7547:158::-;195:5:3;;;;;;;;;;;181:19;;:10;:19;;;173:28;;;;;;7650:6:1::1;7626:13;:21;7640:6;7626:21;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;7683:6;7671:27;;;7691:6;7671:27;;;;;;;;;;;;;;;;;;;;;;7547:158:::0;;:::o;225:95:3:-;195:5;;;;;;;;;;;181:19;;:10;:19;;;173:28;;;;;;305:8:::1;297:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;225:95:::0;:::o;5087:659:0:-;5135:13;1563:5;1541:27;;:18;1553:5;1541:11;:18::i;:::-;:27;;;1533:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;195:5:3::1;::::0;::::1;;;;;;;;;181:19;;:10;:19;;;173:28;;;::::0;::::1;;5177:22:0::2;5202:43;5231:13;5202:28;:43::i;:::-;5177:68;;5263:17;5282:19:::0;5305:40:::2;5330:14;5305:24;:40::i;:::-;5256:89;;;;;;;5356:17;5390:10;5376:24;;:11;:24;;;;;;5356:44;;5448:9;5433:11;;:24;;;;;;;;;;;5509:9;5484;:21;5494:10;5484:21;;;;;;;;;;;;;;;;:34;;;;;;;;;;;5573:14;5562:37;5589:9;5562:37;;;;;;;;;;;;;;;;;;5643:9;5610:14;:30;5625:14;5610:30;;;;;;;;;;;:42;;;;5688:25;5703:9;5688:14;:25::i;:::-;211:1:3;;;;5087:659:0::0;;:::o;5863:1008:1:-;5966:3;5951:19;;:3;:19;;;;5942:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6135:6;6115:9;:16;6125:5;6115:16;;;;;;;;;;;;;;;;:26;;6106:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6286:9;:14;6296:3;6286:14;;;;;;;;;;;;;;;;6277:6;6260:9;:14;6270:3;6260:14;;;;;;;;;;;;;;;;:23;:40;6251:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6401:13;:20;6415:5;6401:20;;;;;;;;;;;;;;;;;;;;;;;;;6400:21;6392:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6524:13;:18;6538:3;6524:18;;;;;;;;;;;;;;;;;;;;;;;;;6523:19;6515:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6670:6;6650:9;:16;6660:5;6650:16;;;;;;;;;;;;;;;;:26;;;;;;;;;;;6756:6;6738:9;:14;6748:3;6738:14;;;;;;;;;;;;;;;;:24;;;;;;;;;;;6852:3;6836:28;;6845:5;6836:28;;;6857:6;6836:28;;;;;;;;;;;;;;;;;;5863:1008;;;:::o;5913:756:0:-;195:5:3;;;;;;;;;;;181:19;;:10;:19;;;173:28;;;;;;5985:13:0::1;6001:1:::0;5985:17:::1;;6041:3;6035:2;6022:10;:15;6021:23;;;;;;6013:31;;6054:39;6063:7;6071:13;;;;;;;;;;;;;;;;::::0;6063:22:::1;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;6063:22:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6087:5;6054:8;:39::i;:::-;6132:3;6126:2;6113:10;:15;6112:23;;;;;;6104:31;;6145:40;6154:7;6162:14;;;;;;;;;;;;;;;;::::0;6154:23:::1;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;6154:23:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6179:5;6145:8;:40::i;:::-;6224:3;6218:2;6205:10;:15;6204:23;;;;;;6196:31;;6237:40;6246:7;6254:14;;;;;;;;;;;;;;;;::::0;6246:23:::1;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;6246:23:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6271:5;6237:8;:40::i;:::-;6316:3;6310:2;6297:10;:15;6296:23;;;;;;6288:31;;6329:41;6338:7;6346:15;;;;;;;;;;;;;;;;::::0;6338:24:::1;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;6338:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6364:5;6329:8;:41::i;:::-;6408:3;6403:1;6390:10;:14;6389:22;;;;;;6381:30;;6421:37;6430:7;6438:11;;;;;;;;;;;;;;;;::::0;6430:20:::1;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;6430:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6452:5;6421:8;:37::i;:::-;6548:9;:21;6558:10;6548:21;;;;;;;;;;;;;;;;6540:29;;6625:37;6634:7;6642:11;;;;;;;;;;;;;;;;::::0;6634:20:::1;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;6634:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6656:5;6625:8;:37::i;:::-;211:1:3;5913:756:0::0;:::o
Swarm Source
ipfs://5f0202ff20cb777fbe02a0ef3f75517cb30bd9466ad312da4d4a8c0a7f468df4
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.