Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 4152 txns
Token Tracker: Skorch (SKO)
 Latest 25 txns From a total of 4152 Transactions

TxHash Age From To Value [TxFee]
0xae317fae00b1d94e473895633e630a463022c3546a0ae0f7c064aa47c4d337bc14 hrs 7 mins ago0x1486431f77728c1478043490fafb963df5d0470f  IN   0xb3dc3c839a02134f9932cbd60f3566c231cc90cc0 Ether0.000212739
0x44b9fa6fda140c9c5c668f051ffbb9bec9a1700d4a858b8053c984bd9492cf7a12 days 3 hrs ago0xc5556ce5c51d2f6a8d7a54bec2a9961dfada84db  IN   0xb3dc3c839a02134f9932cbd60f3566c231cc90cc0 Ether0.0001867427
0x71294d2dc55b11862455a79b84d03b72fbfe563f32ac3db4d00203751f963b3c46 days 2 hrs ago0x9f5f1dfdcfcf2a372ed8b3cda388d27c664454c1  IN   0xb3dc3c839a02134f9932cbd60f3566c231cc90cc0 Ether0.000347349
0x544ede2bef0f4fc2f836a1b31427b654dd508256860c51db937f3c87fc5628a746 days 2 hrs ago0x9f5f1dfdcfcf2a372ed8b3cda388d27c664454c1  IN   0xb3dc3c839a02134f9932cbd60f3566c231cc90cc0 Ether0.000347157
0xc1763aa3d3f9e0a1b3456b7c86402737571159ab1ed094f0b6cf95890767ec1946 days 2 hrs ago0x9f5f1dfdcfcf2a372ed8b3cda388d27c664454c1  IN   0xb3dc3c839a02134f9932cbd60f3566c231cc90cc0 Ether0.000347157
0xbde9583f8fdebc45d28b97c06fcb7393d1f842599bb252a34b1988b765b018be46 days 2 hrs ago0x9f5f1dfdcfcf2a372ed8b3cda388d27c664454c1  IN   0xb3dc3c839a02134f9932cbd60f3566c231cc90cc0 Ether0.000347349
0x64db94c4f446ff279f97d4df9a1e3d3b84fa092183c539150321b7a049e2c64c46 days 2 hrs ago0x9f5f1dfdcfcf2a372ed8b3cda388d27c664454c1  IN   0xb3dc3c839a02134f9932cbd60f3566c231cc90cc0 Ether0.000347157
0xdc6133a4bc1fb7044fe9a608d389656ed57a548ac7e8c71f325aa5e58081c65e46 days 2 hrs ago0x9f5f1dfdcfcf2a372ed8b3cda388d27c664454c1  IN   0xb3dc3c839a02134f9932cbd60f3566c231cc90cc0 Ether0.000346965
0x1d96b329f7b4f8edb504739b2870e785cab1aca7b7590b91e4c94c5afdba3a1a46 days 2 hrs ago0x9f5f1dfdcfcf2a372ed8b3cda388d27c664454c1  IN   0xb3dc3c839a02134f9932cbd60f3566c231cc90cc0 Ether0.000347349
0x57a630087e824636e7ef3dd64577415adb6bacab38858f4796937c1b498127f846 days 2 hrs ago0x9f5f1dfdcfcf2a372ed8b3cda388d27c664454c1  IN   0xb3dc3c839a02134f9932cbd60f3566c231cc90cc0 Ether0.000346965
0xf484e41a40c85d7e0fc7ab52e59ec0bcce098abf00111c59b9260f126dfb55cc46 days 2 hrs ago0x9f5f1dfdcfcf2a372ed8b3cda388d27c664454c1  IN   0xb3dc3c839a02134f9932cbd60f3566c231cc90cc0 Ether0.000347349
0x444bfe831ecdfd4221874d9cc7ef32df9aeed4186b0949b4bb4e5c799195c2fc46 days 2 hrs ago0x9f5f1dfdcfcf2a372ed8b3cda388d27c664454c1  IN   0xb3dc3c839a02134f9932cbd60f3566c231cc90cc0 Ether0.000346965
0x12cdcf746794db64dc422d7459419fc7a8e6b37f7d4c40da899960a4a120073a46 days 2 hrs ago0x9f5f1dfdcfcf2a372ed8b3cda388d27c664454c1  IN   0xb3dc3c839a02134f9932cbd60f3566c231cc90cc0 Ether0.000346965
0x9ee5001a0d01b7ac44ea13070026017dbbd17ffeae049da00c93b3cc5f4326d546 days 2 hrs ago0x9f5f1dfdcfcf2a372ed8b3cda388d27c664454c1  IN   0xb3dc3c839a02134f9932cbd60f3566c231cc90cc0 Ether0.000347349
0x40c330a02f63c5c56b8c766d879b71e3819b369fba30168e779b7edf377df6b546 days 2 hrs ago0x9f5f1dfdcfcf2a372ed8b3cda388d27c664454c1  IN   0xb3dc3c839a02134f9932cbd60f3566c231cc90cc0 Ether0.000347349
0x11611b6a50f190d27236f8853e44f9af43a4e4845dbcc0c96ee1291cebcf59d146 days 2 hrs ago0x9f5f1dfdcfcf2a372ed8b3cda388d27c664454c1  IN   0xb3dc3c839a02134f9932cbd60f3566c231cc90cc0 Ether0.000347349
0x1edb38749d7cc6bdad260740a05a7c7efffede93f3b567d628cab8043a3fa1dd46 days 2 hrs ago0x9f5f1dfdcfcf2a372ed8b3cda388d27c664454c1  IN   0xb3dc3c839a02134f9932cbd60f3566c231cc90cc0 Ether0.000347157
0xb5e5c2bd48f31d78d46edae695c2bfe7887b3fb35044f5042fa6f61a199a366e46 days 2 hrs ago0x9f5f1dfdcfcf2a372ed8b3cda388d27c664454c1  IN   0xb3dc3c839a02134f9932cbd60f3566c231cc90cc0 Ether0.000347349
0x5622d2af9ba770bc264d82cdaaaad86222e654e76ac4ffcfcf998be1b733a2b046 days 2 hrs ago0x9f5f1dfdcfcf2a372ed8b3cda388d27c664454c1  IN   0xb3dc3c839a02134f9932cbd60f3566c231cc90cc0 Ether0.000347349
0x1294c49ca16c6322ca01000f5d434354e3461c87ff78e273455284d058d810f646 days 2 hrs ago0x9f5f1dfdcfcf2a372ed8b3cda388d27c664454c1  IN   0xb3dc3c839a02134f9932cbd60f3566c231cc90cc0 Ether0.000347157
0xc9776e2b9ba24fe856b441d743ce3a8f9e789910b7ea6a6902b3c36b3398137746 days 2 hrs ago0x9f5f1dfdcfcf2a372ed8b3cda388d27c664454c1  IN   0xb3dc3c839a02134f9932cbd60f3566c231cc90cc0 Ether0.000347349
0xd5747ecda3ff9c7785f45b6cc34cb8afb264ebbeb6b829334cee8262de97e8f346 days 2 hrs ago0x9f5f1dfdcfcf2a372ed8b3cda388d27c664454c1  IN   0xb3dc3c839a02134f9932cbd60f3566c231cc90cc0 Ether0.000346965
0xc9485a55c56694eb1cbe265fa3f1f6ab8a86cf7607fc60188664b0cb3812907046 days 2 hrs ago0x9f5f1dfdcfcf2a372ed8b3cda388d27c664454c1  IN   0xb3dc3c839a02134f9932cbd60f3566c231cc90cc0 Ether0.000347157
0x30891b04f651c630d45b9a3fe833d053ee8e361ca51086a6870d25d367b7e33046 days 2 hrs ago0x9f5f1dfdcfcf2a372ed8b3cda388d27c664454c1  IN   0xb3dc3c839a02134f9932cbd60f3566c231cc90cc0 Ether0.000347157
0x5c8383c6f0248bf2ece55605b9f6609711d452d0ee2d806d9e18174d2bff644c46 days 2 hrs ago0x9f5f1dfdcfcf2a372ed8b3cda388d27c664454c1  IN   0xb3dc3c839a02134f9932cbd60f3566c231cc90cc0 Ether0.000347349
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: Skorch
Compiler Text: v0.4.24+commit.e67f0147
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.18;

 

//-------------------------------
// (        )   )  (            )  
// )\ )  ( /(( /(  )\ )  (   ( /(  
//(()/(  )\())\())(()/(  )\  )\()) 
// /(_))((_)((_)\  /(_)|((_)((_)\  
//(_)) |_ ((_)((_)(_)) )\___ _((_) 
/// __|| |/ // _ \| _ ((/ __| || | 
//\__ \  ' <| (_) |   /| (__| __ | 
//|___/ _|\_\\___/|_|_\ \___|_||_| 
//--------------------------------

//------------------------------------------
// Official Website: https://skorch.io
// Github: https://github.com/skorchtoken
// Twitter: https://twitter.com/SkorchToken
// Reddit: https://reddit.com/r/SkorchToken
// Medium: https://medium.com/@skorchtoken
// Discord: https://discord.gg/yxZAnfe
// Telegram: https://t.me/skorchtoken

// ALWAYS refer to our official social media channels and website for project announcements.
//------------------------------------------

// Skorch is the first PoW+PoS mineable ERC20 token using Keccak256 (Sha3) algorithm
// 210 Million Total Supply 
// 21 Million available for Proof of Work mining based on Bitcoin's SHA256 Algorithm
// 21k (21,000) SKO Required to be held in your wallet to gain Proof of Stake Rewards
// 189 Million of 210 Million total supply will be minted by the smart contract for PoS rewards 
// 30% PoS rewards for the first year but decreases each year after until 0 
// PoS requirement decreases after first year and each year after until 0

// Difficulty target auto-adjusts with PoW hashrate
// Mining rewards decrease as more tokens are minted

// To fix and improve the original Skorch token contract a snapshot was taken at block 5882054.


library SafeMath {

    function add(uint a, uint b) internal pure returns (uint c) {
        c = a + b;
        require(c >= a);
    }

    function sub(uint a, uint b) internal pure returns (uint c) {
        require(b <= a);
        c = a - b;
    }

    function mul(uint a, uint b) internal pure returns (uint c) {
        c = a * b;
        require(a == 0 || c / a == b);
    }

    function div(uint a, uint b) internal pure returns (uint c) {
        require(b > 0);
        c = a / b;
    }
}

//209899900000000

library ExtendedMath {
    //return the smaller of the two inputs (a or b)
    function limitLessThan(uint a, uint b) internal pure returns (uint c) {
        if(a > b) return b;
        return a;
    }
}

contract ERC20Interface {
    function totalSupply() public constant returns (uint);
    function balanceOf(address tokenOwner) public constant returns (uint balance);
    function allowance(address tokenOwner, address spender) public constant returns (uint remaining);
    function transfer(address to, uint tokens) public returns (bool success);
    function approve(address spender, uint tokens) public returns (bool success);
    function transferFrom(address from, address to, uint tokens) public returns (bool success);
    event Transfer(address indexed from, address indexed to, uint tokens);
    event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}

contract ApproveAndCallFallBack {
    function receiveApproval(address from, uint256 tokens, address token, bytes data) public;
}

contract Owned {

    address public owner;

    address public newOwner;

    event OwnershipTransferred(address indexed _from, address indexed _to);

    constructor() public {
        owner = msg.sender;
    }


    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }


    function transferOwnership(address _newOwner) public onlyOwner {
        newOwner = _newOwner;
    }

    function acceptOwnership() public {
        require(msg.sender == newOwner);
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
        newOwner = address(0);
    }
}

contract Skorch is ERC20Interface, Owned {

    using SafeMath for uint;
    using ExtendedMath for uint;

    string public symbol;

    string public  name;

    uint8 public decimals = 8;

    uint public _totalSupply;
    uint public latestDifficultyPeriodStarted;
    uint public epochCount;
    uint public _BLOCKS_PER_READJUSTMENT = 1024;

    uint public  _MINIMUM_TARGET = 2**16;

    uint public  _MAXIMUM_TARGET = 2**234;

    uint public miningTarget;

    bytes32 public challengeNumber;   //generate a new one when a new reward is minted

    uint public rewardEra;
    uint public maxSupplyForEra;

    address public lastRewardTo;
    uint public lastRewardAmount;
    uint public lastRewardEthBlockNumber;

    bool locked = false;

    mapping(bytes32 => bytes32) solutionForChallenge;

    uint public tokensMinted;
    
    uint internal GLOBAL_START_TIMER;

    mapping(address => uint) balances;

    mapping(address => mapping(address => uint)) allowed;
    
    mapping(address => uint256) timer; // timer to check PoS 
    
    // how to calculate doubleUnit: 
    // specify how much percent increase you want per year 
    // e.g. 130% -> 2.3 multiplier every year 
    // now divide (1 years) by LOG(2.3) where LOG is the natural logarithm (not LOG10)
    // in this case LOG(2.3) is 0.83290912293
    // hence multiplying by 1/0.83290912293 is the same 
    // 31536000 = 1 years (to prevent deprecated warning in solc)
   
    
  //  uint256 timerUnit = 2.2075199 * (10**8);
    uint256 timerUnit = 88416639; // unit for staking req
    uint256 stakingRequirement = (21000 * (10**uint(decimals)));
    
    
    uint stakeUnit = 930222908; // unit  for staking 
    
    //uint256 stakingCap = (210000000 * (10**uint(decimals)));

    event Mint(address indexed from, uint reward_amount, uint epochCount, bytes32 newChallengeNumber);
    event PoS(address indexed from, uint reward_amount);

    constructor()
        public 
        onlyOwner()
    {
        symbol = "SKO";
        name = "Skorch";
        decimals = 8;
        // uncomment this to test 
        //balances[msg.sender] = (21000) * (10 ** uint(decimals)); // change 21000 to some lower number than 21000 
        //to see you will not get PoS tokens if you have less than 21000 tokens 
        //timer[msg.sender] = now - (1 years);
        _totalSupply = 210000000 * 10**uint(decimals);
        if(locked) revert();
        locked = true;
        tokensMinted = 69750000000000;
        rewardEra = 0;
        maxSupplyForEra = 1050000000000000;
        //miningTarget = _MAXIMUM_TARGET;
        latestDifficultyPeriodStarted = block.number;
        //_startNewMiningEpoch(); all relevant vars are set below
        GLOBAL_START_TIMER = now;
        challengeNumber = 0x48f499eca7dc41858c2a53fded09096d138b8b88a9da8f488dccd5118bb1bbe2;
        epochCount = 20181;
        rewardEra = 0;
        maxSupplyForEra = (_totalSupply/10) - _totalSupply.div( 20**(rewardEra + 1)); // multiplied by 10 since totalsupply is 210 million here 
        miningTarget = 462884030900683306229868328231836786922375156766639975465481078398;
        
        
        
        // SNAPSHOT DATA 
// NEW FILE
balances[0xab4485ca338b91087a09ae8bc141648bb1c6e967]=111501588282;
emit Transfer(address(0x0), 0xab4485ca338b91087a09ae8bc141648bb1c6e967, 111501588282);
balances[0xf2119e50578b3dfa248652c4fbec76b9e415acb2]=10136508025;
emit Transfer(address(0x0), 0xf2119e50578b3dfa248652c4fbec76b9e415acb2, 10136508025);
balances[0xb12b538cb67fceb50bbc1a31d2011eb92e6f7188]=1583682;
emit Transfer(address(0x0), 0xb12b538cb67fceb50bbc1a31d2011eb92e6f7188, 1583682);
balances[0x21b7e18dacde5c004a0a56e74f071ac3fb2e98ff]=10790714329;
emit Transfer(address(0x0), 0x21b7e18dacde5c004a0a56e74f071ac3fb2e98ff, 10790714329);
balances[0xe539a7645d2f33103c89b5b03abb422a163b7c73]=60819048154;
emit Transfer(address(0x0), 0xe539a7645d2f33103c89b5b03abb422a163b7c73, 60819048154);
balances[0x4ffe17a2a72bc7422cb176bc71c04ee6d87ce329]=451048209723;
emit Transfer(address(0x0), 0x4ffe17a2a72bc7422cb176bc71c04ee6d87ce329, 451048209723);
balances[0xc0a2002e74b3b22e77098cb87232f446d813ce31]=33885;
emit Transfer(address(0x0), 0xc0a2002e74b3b22e77098cb87232f446d813ce31, 33885);
balances[0xfc313f77c2cbc6cd0dd82b9a0ed1620ba906e46d]=192593652488;
emit Transfer(address(0x0), 0xfc313f77c2cbc6cd0dd82b9a0ed1620ba906e46d, 192593652488);
balances[0x219fdb55ea364fcaf29aaa87fb1c45ba7db8128e]=20273016051;
emit Transfer(address(0x0), 0x219fdb55ea364fcaf29aaa87fb1c45ba7db8128e, 20273016051);
balances[0xfbc2b315ac1fba765597a92ff100222425ce66fd]=608190481542;
emit Transfer(address(0x0), 0xfbc2b315ac1fba765597a92ff100222425ce66fd, 608190481542);
balances[0x852563d88480decbc9bfb4428bb689af48dd92a9]=1008618359915;
emit Transfer(address(0x0), 0x852563d88480decbc9bfb4428bb689af48dd92a9, 1008618359915);
balances[0x4d01d11697f00097064d7e05114ecd3843e82867]=789840293838;
emit Transfer(address(0x0), 0x4d01d11697f00097064d7e05114ecd3843e82867, 789840293838);
balances[0xe75ea07e4b90e46e13c37644138aa99ec69020ae]=526108154879;
emit Transfer(address(0x0), 0xe75ea07e4b90e46e13c37644138aa99ec69020ae, 526108154879);
balances[0x51138ab5497b2c3d85be94d23905f5ead9e533a7]=5068254012;
emit Transfer(address(0x0), 0x51138ab5497b2c3d85be94d23905f5ead9e533a7, 5068254012);
balances[0xae7c95f2192c739edfb16412a6112a54f8965305]=55750794141;
emit Transfer(address(0x0), 0xae7c95f2192c739edfb16412a6112a54f8965305, 55750794141);
balances[0xe0261acfdd10508c75b6a60b1534c8386c4daa52]=5047016671743;
emit Transfer(address(0x0), 0xe0261acfdd10508c75b6a60b1534c8386c4daa52, 5047016671743);
balances[0x0a26d9674c2a1581ada4316e3f5960bb70fb0fb2]=516961909310;
emit Transfer(address(0x0), 0x0a26d9674c2a1581ada4316e3f5960bb70fb0fb2, 516961909310);
balances[0xa62178f120cccba370d2d2d12ec6fb1ff276d706]=2052642875205;
emit Transfer(address(0x0), 0xa62178f120cccba370d2d2d12ec6fb1ff276d706, 2052642875205);
balances[0xe57a18783640c9fa3c5e8e4d4b4443e2024a7ff9]=2494738345632;
emit Transfer(address(0x0), 0xe57a18783640c9fa3c5e8e4d4b4443e2024a7ff9, 2494738345632);
balances[0x9b8957d1ac592bd388dcde346933ac1269b7c314]=106433334269;
emit Transfer(address(0x0), 0x9b8957d1ac592bd388dcde346933ac1269b7c314, 106433334269);
balances[0xf27bb893a4d9574378c4b1d089bdb6b9fce5099e]=380845;
emit Transfer(address(0x0), 0xf27bb893a4d9574378c4b1d089bdb6b9fce5099e, 380845);
balances[0x54a8f792298af9489de7a1245169a943fb69f5a6]=707886981662;
emit Transfer(address(0x0), 0x54a8f792298af9489de7a1245169a943fb69f5a6, 707886981662);
balances[0x004ba728a652bded4d4b79fb04b5a92ad8ce15e7]=21250198;
emit Transfer(address(0x0), 0x004ba728a652bded4d4b79fb04b5a92ad8ce15e7, 21250198);
balances[0xd05803aee240195460f8589a6d6487fcea0097c1]=85731;
emit Transfer(address(0x0), 0xd05803aee240195460f8589a6d6487fcea0097c1, 85731);
balances[0xad9f11d1dd6d202243473a0cdae606308ab243b4]=101365080257;
emit Transfer(address(0x0), 0xad9f11d1dd6d202243473a0cdae606308ab243b4, 101365080257);
balances[0xfec55e783595682141c4b5e6ad9ea605f1683844]=60657099080;
emit Transfer(address(0x0), 0xfec55e783595682141c4b5e6ad9ea605f1683844, 60657099080);
balances[0x99a7e5777b711ff23e2b6961232a4009f7cec1b0]=456860909542;
emit Transfer(address(0x0), 0x99a7e5777b711ff23e2b6961232a4009f7cec1b0, 456860909542);
balances[0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b7]=1366848029003;
emit Transfer(address(0x0), 0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b7, 1366848029003);
balances[0xb38094d492af4fffff760707f36869713bfb2250]=2032369859152;
emit Transfer(address(0x0), 0xb38094d492af4fffff760707f36869713bfb2250, 2032369859152);
balances[0x900953b10460908ec636b46307dca13a759275cb]=1856435;
emit Transfer(address(0x0), 0x900953b10460908ec636b46307dca13a759275cb, 1856435);
balances[0x167e733de0861f0d61b179d3d1891e6b90587732]=2047574621189;
emit Transfer(address(0x0), 0x167e733de0861f0d61b179d3d1891e6b90587732, 2047574621189);
balances[0xdb3cbb8aa4dec854e6e60982dd9d4e85a8b422bc]=2;
emit Transfer(address(0x0), 0xdb3cbb8aa4dec854e6e60982dd9d4e85a8b422bc, 2);
balances[0x072e8711704654019c3d9bc242b3f9a4ee1963ce]=10136236279;
emit Transfer(address(0x0), 0x072e8711704654019c3d9bc242b3f9a4ee1963ce, 10136236279);
balances[0x04f72aa695b65a54d79db635005077293d111635]=167020515303;
emit Transfer(address(0x0), 0x04f72aa695b65a54d79db635005077293d111635, 167020515303);
balances[0x30385a99e66469a8c0bf172896758dd4595704a9]=614699515479;
emit Transfer(address(0x0), 0x30385a99e66469a8c0bf172896758dd4595704a9, 614699515479);
balances[0xfe5a94e5bab010f52ae8fd8589b7d0a7b0b433ae]=2067847571118;
emit Transfer(address(0x0), 0xfe5a94e5bab010f52ae8fd8589b7d0a7b0b433ae, 2067847571118);
balances[0x88058d4d90cc9d9471509e5be819b2be361b51c6]=957900008429;
emit Transfer(address(0x0), 0x88058d4d90cc9d9471509e5be819b2be361b51c6, 957900008429);
balances[0xfcc6bf3369077e22a90e05ad567744bf5109e4d4]=1635580659302;
emit Transfer(address(0x0), 0xfcc6bf3369077e22a90e05ad567744bf5109e4d4, 1635580659302);
balances[0x21a6043877a0ac376b7ca91195521de88d440eba]=162184128411;
emit Transfer(address(0x0), 0x21a6043877a0ac376b7ca91195521de88d440eba, 162184128411);
balances[0xd7dd80404d3d923c8a40c47c1f61aacbccb4191e]=3569292763171;
emit Transfer(address(0x0), 0xd7dd80404d3d923c8a40c47c1f61aacbccb4191e, 3569292763171);
balances[0xa1a3e2fcc1e7c805994ca7309f9a829908a18b4c]=633301706054;
emit Transfer(address(0x0), 0xa1a3e2fcc1e7c805994ca7309f9a829908a18b4c, 633301706054);
balances[0xc5556ce5c51d2f6a8d7a54bec2a9961dfada84db]=2471775966918;
emit Transfer(address(0x0), 0xc5556ce5c51d2f6a8d7a54bec2a9961dfada84db, 2471775966918);
balances[0xb4894098be4dbfdc0024dfb9d2e9f6654e0e3786]=10053178133;
emit Transfer(address(0x0), 0xb4894098be4dbfdc0024dfb9d2e9f6654e0e3786, 10053178133);
balances[0xe8a01b61f80130aefda985ee2e9c6899a57a17c8]=177388890449;
emit Transfer(address(0x0), 0xe8a01b61f80130aefda985ee2e9c6899a57a17c8, 177388890449);
balances[0x559a922941f84ebe6b9f0ed58e3b96530614237e]=65887302167;
emit Transfer(address(0x0), 0x559a922941f84ebe6b9f0ed58e3b96530614237e, 65887302167);
balances[0xf95f528d7c25904f15d4154e45eab8e5d4b6c160]=425572373267;
emit Transfer(address(0x0), 0xf95f528d7c25904f15d4154e45eab8e5d4b6c160, 425572373267);
balances[0x0045b9707913eae3889283ed4d72077a904b9848]=1507541146428;
emit Transfer(address(0x0), 0x0045b9707913eae3889283ed4d72077a904b9848, 1507541146428);
balances[0x586389feed58c2c6a0ce6258cb1c58833abdb093]=2603426;
emit Transfer(address(0x0), 0x586389feed58c2c6a0ce6258cb1c58833abdb093, 2603426);
balances[0xd2b752bec2fe5c7e5cc600eb5ce465a210cb857a]=380119050963;
emit Transfer(address(0x0), 0xd2b752bec2fe5c7e5cc600eb5ce465a210cb857a, 380119050963);
balances[0x518bbb5e4a1e8f8f21a09436c35b9cb5c20c7b43]=5037433249;
emit Transfer(address(0x0), 0x518bbb5e4a1e8f8f21a09436c35b9cb5c20c7b43, 5037433249);
balances[0x25e5c43d5f53ee1a7dd5ad7560348e29baea3048]=5068254012;
emit Transfer(address(0x0), 0x25e5c43d5f53ee1a7dd5ad7560348e29baea3048, 5068254012);
balances[0x22dd964193df4de2e6954a2a9d9cbbd6f44f0b28]=2754253183453;
emit Transfer(address(0x0), 0x22dd964193df4de2e6954a2a9d9cbbd6f44f0b28, 2754253183453);
balances[0xaa7a7c2decb180f68f11e975e6d92b5dc06083a6]=116569842295;
emit Transfer(address(0x0), 0xaa7a7c2decb180f68f11e975e6d92b5dc06083a6, 116569842295);
balances[0x4e27a678c8dc883035c542c83124e7e3f39842b0]=35477778089;
emit Transfer(address(0x0), 0x4e27a678c8dc883035c542c83124e7e3f39842b0, 35477778089);
balances[0x3bd56f97876d3af248b1fe92e361c05038c74c27]=15181683975;
emit Transfer(address(0x0), 0x3bd56f97876d3af248b1fe92e361c05038c74c27, 15181683975);
balances[0x674194d05bfc9a176a5b84711c8687609ff3d17b]=4287056630970;
emit Transfer(address(0x0), 0x674194d05bfc9a176a5b84711c8687609ff3d17b, 4287056630970);
balances[0x0102f6ca7278e7d96a6d649da30bfe07e87155a3]=1233053375653;
emit Transfer(address(0x0), 0x0102f6ca7278e7d96a6d649da30bfe07e87155a3, 1233053375653);
balances[0x3750ecf5e0536d04dd3858173ab571a0dcbdf7e0]=50270330036;
emit Transfer(address(0x0), 0x3750ecf5e0536d04dd3858173ab571a0dcbdf7e0, 50270330036);
balances[0x07a68bd44a526e09b8dbfc7085b265450362b61a]=101365080257;
emit Transfer(address(0x0), 0x07a68bd44a526e09b8dbfc7085b265450362b61a, 101365080257);
balances[0xebd76aa221968b8ba9cdd6e6b4dbb889140088a3]=309163494783;
emit Transfer(address(0x0), 0xebd76aa221968b8ba9cdd6e6b4dbb889140088a3, 309163494783);
balances[0xc7ee330d69cdddc1b9955618ff0df27bb8de3143]=10098567209;
emit Transfer(address(0x0), 0xc7ee330d69cdddc1b9955618ff0df27bb8de3143, 10098567209);
balances[0xe0c059faabce16dd5ddb4817f427f5cf3b40f4c4]=656449480989;
emit Transfer(address(0x0), 0xe0c059faabce16dd5ddb4817f427f5cf3b40f4c4, 656449480989);
balances[0xdc680cc11a535e45329f49566850668fef34054f]=1629652247199;
emit Transfer(address(0x0), 0xdc680cc11a535e45329f49566850668fef34054f, 1629652247199);
balances[0x22ef324a534ba9aa0d060c92294fdd0fc4aca065]=105388398778;
emit Transfer(address(0x0), 0x22ef324a534ba9aa0d060c92294fdd0fc4aca065, 105388398778);
balances[0xe14cffadb6bbad8de69bd5ba214441a9582ec548]=70955556179;
emit Transfer(address(0x0), 0xe14cffadb6bbad8de69bd5ba214441a9582ec548, 70955556179);
balances[0xdfb895c870c4956261f4839dd12786ef612d7314]=307632851383;
emit Transfer(address(0x0), 0xdfb895c870c4956261f4839dd12786ef612d7314, 307632851383);
balances[0x620103bb2b263ab0a50a47f73140d218401541c0]=10780637244561;
emit Transfer(address(0x0), 0x620103bb2b263ab0a50a47f73140d218401541c0, 10780637244561);
balances[0x9fc5b0edc0309745c6974f1a6718029ea41a4d6e]=65859631176;
emit Transfer(address(0x0), 0x9fc5b0edc0309745c6974f1a6718029ea41a4d6e, 65859631176);
balances[0xd6ceae2756f2af0a2f825b6e3ca8a9cfb4d082e2]=1122517124649;
emit Transfer(address(0x0), 0xd6ceae2756f2af0a2f825b6e3ca8a9cfb4d082e2, 1122517124649);
balances[0x25437b6a20021ea94d549ddd50403994e532e9d7]=1711954946632;
emit Transfer(address(0x0), 0x25437b6a20021ea94d549ddd50403994e532e9d7, 1711954946632);
balances[0xeb4f4c886b402c65ff6f619716efe9319ce40fcf]=526035186557;
emit Transfer(address(0x0), 0xeb4f4c886b402c65ff6f619716efe9319ce40fcf, 526035186557);
balances[0xf3552d4018fad9fcc390f5684a243f7318d8b570]=253412700642;
emit Transfer(address(0x0), 0xf3552d4018fad9fcc390f5684a243f7318d8b570, 253412700642);
balances[0x85abe8e3bed0d4891ba201af1e212fe50bb65a26]=1060373239943;
emit Transfer(address(0x0), 0x85abe8e3bed0d4891ba201af1e212fe50bb65a26, 1060373239943);
balances[0xc446073e0c00a1138812b3a99a19df3cb8ace70d]=2032369859153;
emit Transfer(address(0x0), 0xc446073e0c00a1138812b3a99a19df3cb8ace70d, 2032369859153);
balances[0x195d65187a4aeb24b563dd2d52709a6b67064ad3]=235803680643;
emit Transfer(address(0x0), 0x195d65187a4aeb24b563dd2d52709a6b67064ad3, 235803680643);
balances[0x588611841bd8b134f3d6ca3ff2796b483dfca4c6]=27875;
emit Transfer(address(0x0), 0x588611841bd8b134f3d6ca3ff2796b483dfca4c6, 27875);
balances[0x43237ce180fc47cb4e3d32eb23e420f5ecf7a95e]=5087020825285;
emit Transfer(address(0x0), 0x43237ce180fc47cb4e3d32eb23e420f5ecf7a95e, 5087020825285);
balances[0x394299ef1650ac563a9adbec4061b25e50570f49]=65523270720;
emit Transfer(address(0x0), 0x394299ef1650ac563a9adbec4061b25e50570f49, 65523270720);
balances[0x0000bb50ee5f5df06be902d1f9cb774949c337ed]=728415;
emit Transfer(address(0x0), 0x0000bb50ee5f5df06be902d1f9cb774949c337ed, 728415);
balances[0x4927fb34fff626adb7b07305c447ac89ded8bea2]=15181318646;
emit Transfer(address(0x0), 0x4927fb34fff626adb7b07305c447ac89ded8bea2, 15181318646);
balances[0x93da7b2830e3932d906749e67a7ce1fbf3a5366d]=2768553093810;
emit Transfer(address(0x0), 0x93da7b2830e3932d906749e67a7ce1fbf3a5366d, 2768553093810);
balances[0x7f4924f55e215e1fe44e3b5bb7fdfced2154b30f]=506445600761;
emit Transfer(address(0x0), 0x7f4924f55e215e1fe44e3b5bb7fdfced2154b30f, 506445600761);
balances[0x9834977aa420b078b8fd47c73a9520f968d66a3a]=1035039327674;
emit Transfer(address(0x0), 0x9834977aa420b078b8fd47c73a9520f968d66a3a, 1035039327674);
balances[0x26b8c7606e828a509bbb208a0322cf960c17b225]=1314664139193;
emit Transfer(address(0x0), 0x26b8c7606e828a509bbb208a0322cf960c17b225, 1314664139193);
balances[0x8f3dd21c9334980030ba95c37565ba25df9574cd]=20273016051;
emit Transfer(address(0x0), 0x8f3dd21c9334980030ba95c37565ba25df9574cd, 20273016051);
balances[0x85d66f3a8da35f47e03d6bb51f51c2d70a61e12e]=10419370357974;
emit Transfer(address(0x0), 0x85d66f3a8da35f47e03d6bb51f51c2d70a61e12e, 10419370357974);
balances[0xbafc492638a2ec4f89aff258c8f18f806a844d72]=396663813367;
emit Transfer(address(0x0), 0xbafc492638a2ec4f89aff258c8f18f806a844d72, 396663813367);
balances[0x2f0d5a1d6bb5d7eaa0eaad39518621911a4a1d9f]=45613275677;
emit Transfer(address(0x0), 0x2f0d5a1d6bb5d7eaa0eaad39518621911a4a1d9f, 45613275677);
balances[0xae5910c6f3cd709bf497bae2b8eae8cf983aca1b]=561729123519;
emit Transfer(address(0x0), 0xae5910c6f3cd709bf497bae2b8eae8cf983aca1b, 561729123519);
balances[0xb963db36d28468ce64bce65e560e5f27e75f2f50]=50497795029;
emit Transfer(address(0x0), 0xb963db36d28468ce64bce65e560e5f27e75f2f50, 50497795029);
balances[0x7134161b9e6fa84d62f156037870ee77fa50f607]=806825;
emit Transfer(address(0x0), 0x7134161b9e6fa84d62f156037870ee77fa50f607, 806825);
balances[0x111fd8a12981d1174cfa8eef3b0141b3d5d4e5b3]=5023380788;
emit Transfer(address(0x0), 0x111fd8a12981d1174cfa8eef3b0141b3d5d4e5b3, 5023380788);
balances[0xafaf9a165408737e11191393fe695c1ebc7a5429]=3750469994332;
emit Transfer(address(0x0), 0xafaf9a165408737e11191393fe695c1ebc7a5429, 3750469994332);
balances[0x5329fcc196c445009aac138b22d25543ed195888]=126671028590;
emit Transfer(address(0x0), 0x5329fcc196c445009aac138b22d25543ed195888, 126671028590);
balances[0xa5b3725e37431dc6a103961749cb9c98954202cd]=446006353130;
emit Transfer(address(0x0), 0xa5b3725e37431dc6a103961749cb9c98954202cd, 446006353130);
balances[0xb8ab7387076f022c28481fafb28911ce4377e0ea]=3045242779146;
emit Transfer(address(0x0), 0xb8ab7387076f022c28481fafb28911ce4377e0ea, 3045242779146);
balances[0xd2470aacd96242207f06111819111d17ca055dfb]=957900008429;
emit Transfer(address(0x0), 0xd2470aacd96242207f06111819111d17ca055dfb, 957900008429);
balances[0x1fca39ed4f19edd12eb274dc467c099eb5106a13]=278753970706;
emit Transfer(address(0x0), 0x1fca39ed4f19edd12eb274dc467c099eb5106a13, 278753970706);
balances[0x8d12a197cb00d4747a1fe03395095ce2a5cc6819]=4743885756029;
emit Transfer(address(0x0), 0x8d12a197cb00d4747a1fe03395095ce2a5cc6819, 4743885756029);
balances[0x2a23527a6dbafae390514686d50f47747d01e44d]=652376852116;
emit Transfer(address(0x0), 0x2a23527a6dbafae390514686d50f47747d01e44d, 652376852116);
balances[0x371e31169df00563eafab334c738e66dd0476a8f]=226377928506;
emit Transfer(address(0x0), 0x371e31169df00563eafab334c738e66dd0476a8f, 226377928506);
balances[0x40ea0a2abc9479e51e411870cafd759cb110c258]=30282012248;
emit Transfer(address(0x0), 0x40ea0a2abc9479e51e411870cafd759cb110c258, 30282012248);
balances[0xe585ba86b84283f0f1118041837b06d03b96885e]=170791;
emit Transfer(address(0x0), 0xe585ba86b84283f0f1118041837b06d03b96885e, 170791);
balances[0xbede88c495132efb90b5039bc2942042e07814df]=40513641855;
emit Transfer(address(0x0), 0xbede88c495132efb90b5039bc2942042e07814df, 40513641855);
        


// test lines 
//balances[msg.sender] = 21000 * (10 ** uint(decimals));
//timer[msg.sender ] = ( now - ( 1 years));

    }


        function mint(uint256 nonce, bytes32 challenge_digest) public returns (bool success) {
            bytes32 digest =  keccak256(challengeNumber, msg.sender, nonce );
            if (digest != challenge_digest) revert();
            if(uint256(digest) > miningTarget) revert();
             bytes32 solution = solutionForChallenge[challengeNumber];
             solutionForChallenge[challengeNumber] = digest;
             if(solution != 0x0) revert();  //prevent the same answer from awarding twice
             _claimTokens(msg.sender);
             timer[msg.sender]=now;
            uint reward_amount = getMiningReward();
            balances[msg.sender] = balances[msg.sender].add(reward_amount);
            tokensMinted = tokensMinted.add(reward_amount);
            assert(tokensMinted <= maxSupplyForEra);
            lastRewardTo = msg.sender;
            lastRewardAmount = reward_amount;
            lastRewardEthBlockNumber = block.number;
             _startNewMiningEpoch();
              emit Mint(msg.sender, reward_amount, epochCount, challengeNumber );
              emit Transfer(address(0x0), msg.sender, reward_amount);
           return true;
        }

    function _startNewMiningEpoch() internal {
      if( tokensMinted.add(getMiningReward()) > maxSupplyForEra && rewardEra < 39)
      {
        rewardEra = rewardEra + 1;
      }
      maxSupplyForEra = _totalSupply/10 - _totalSupply.div( 20**(rewardEra + 1));
      epochCount = epochCount.add(1);
      if(epochCount % _BLOCKS_PER_READJUSTMENT == 0)
      {
        _reAdjustDifficulty();
      }
      challengeNumber = block.blockhash(block.number - 1);
    }

    function _reAdjustDifficulty() internal {
        uint ethBlocksSinceLastDifficultyPeriod = block.number - latestDifficultyPeriodStarted;
        uint epochsMined = _BLOCKS_PER_READJUSTMENT; 
        uint targetEthBlocksPerDiffPeriod = epochsMined * 60; //should be 60 times slower than ethereum
        if( ethBlocksSinceLastDifficultyPeriod < targetEthBlocksPerDiffPeriod )
        {
          uint excess_block_pct = (targetEthBlocksPerDiffPeriod.mul(100)).div( ethBlocksSinceLastDifficultyPeriod );
          uint excess_block_pct_extra = excess_block_pct.sub(100).limitLessThan(1000);
          miningTarget = miningTarget.sub(miningTarget.div(2000).mul(excess_block_pct_extra));   //by up to 50 %
        }else{
          uint shortage_block_pct = (ethBlocksSinceLastDifficultyPeriod.mul(100)).div( targetEthBlocksPerDiffPeriod );
          uint shortage_block_pct_extra = shortage_block_pct.sub(100).limitLessThan(1000); //always between 0 and 1000
          miningTarget = miningTarget.add(miningTarget.div(2000).mul(shortage_block_pct_extra));   //by up to 50 %
        }
        latestDifficultyPeriodStarted = block.number;
        if(miningTarget < _MINIMUM_TARGET) //very difficult
        {
          miningTarget = _MINIMUM_TARGET;
        }
        if(miningTarget > _MAXIMUM_TARGET) //very easy
        {
          miningTarget = _MAXIMUM_TARGET;
        }
    }

    function getChallengeNumber() public constant returns (bytes32) {
        return challengeNumber;
    }

    function getMiningDifficulty() public constant returns (uint) {
        return _MAXIMUM_TARGET.div(miningTarget);
    }

    function getMiningTarget() public constant returns (uint) {
       return miningTarget;
   }

    function getMiningReward() public constant returns (uint) {
         return (50 * 10**uint(decimals) ).div( 2**rewardEra ) ;
    }

    function getMintDigest(uint256 nonce, bytes32 challenge_digest, bytes32 challenge_number) public view returns (bytes32 digesttest) {
        bytes32 digest = keccak256(challenge_number,msg.sender,nonce);
        return digest;
      }
      
      function checkMintSolution(uint256 nonce, bytes32 challenge_digest, bytes32 challenge_number, uint testTarget) public view returns (bool success) {
          bytes32 digest = keccak256(challenge_number,msg.sender,nonce);
          if(uint256(digest) > testTarget) revert();
          return (digest == challenge_digest);
        }

    function totalSupply() public constant returns (uint) {
        return _totalSupply;
    }

    function balanceOf(address tokenOwner) public constant returns (uint balance) {
        return balances[tokenOwner] + _getPoS(tokenOwner); // add unclaimed pos tokens 
    }

    function transfer(address to, uint tokens) public returns (bool success) {
        _claimTokens(msg.sender);
        _claimTokens(to);
        timer[msg.sender] = now;
        timer[to] = now;
        balances[msg.sender] = balances[msg.sender].sub(tokens);
        balances[to] = balances[to].add(tokens);
        emit Transfer(msg.sender, to, tokens);
        return true;
    }

    function approve(address spender, uint tokens) public returns (bool success) {
        allowed[msg.sender][spender] = tokens;
        emit Approval(msg.sender, spender, tokens);
        return true;
    }

    function transferFrom(address from, address to, uint tokens) public returns (bool success) {
        _claimTokens(from);
        _claimTokens(to);
        timer[from] = now;
        timer[to] = now;
        balances[from] = balances[from].sub(tokens);
        allowed[from][msg.sender] = allowed[from][msg.sender].sub(tokens);
        balances[to] = balances[to].add(tokens);
        emit Transfer(from, to, tokens);
        return true;
    }

    function approveAndCall(address spender, uint tokens, bytes data) public returns (bool success) {
        allowed[msg.sender][spender] = tokens;
        emit Approval(msg.sender, spender, tokens);
        ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, this, data);
        return true;
    }

    function allowance(address tokenOwner, address spender) public constant returns (uint remaining) {
        return allowed[tokenOwner][spender];
    }

    function () public payable {
        revert();
    } 
    function transferAnyERC20Token(address tokenAddress, uint tokens) public onlyOwner returns (bool success) {
        return ERC20Interface(tokenAddress).transfer(owner, tokens);
    }
    
    function claimTokens() public {
        _claimTokens(msg.sender);        
        timer[msg.sender] = now;
    }
    
    function _claimTokens(address target) internal{
        if (timer[target] == 0){
            // russian hackers BTFO

            if (balances[target] > 0){
                // timer is handled in _getPoS 
            }
            else{
                return;
            }
        }
        if (timer[target] == now){
            // 0 seconds passed, 0 tokens gotten via PoS 
            // return so no gas waste 
            return;
        }
        
        uint256 totalTkn = _getPoS(target);
        if (totalTkn > 0){
            balances[target] = balances[target].add(totalTkn);
            //_totalSupply.add(totalTkn); total supply is fixed 
            emit PoS(target, totalTkn);
        }

        //timer[target] = now; every time you claim tokens this timer is set. this is to prevent people claiming 0 tokens and then setting their timer
        emit Transfer(address(0x0), target, totalTkn);
    }
    
    function getStakingRequirementTime(address target, uint256 TIME) view returns (uint256){



            return (stakingRequirement * fixedExp(((int(GLOBAL_START_TIMER) - int(TIME)) * one) / int(timerUnit)))/uint(one) ; 

    }
    
    function getRequirementTime(address target) view returns (uint256) {
        uint256 balance = balances[target];
        int ONE = 0x10000000000000000;
        if (balance == 0){
            return (uint256(0) - 1); // inf 
        }
        uint TIME = timer[target];
        if (TIME == 0){
            TIME = GLOBAL_START_TIMER;
        }
        
        int ln = fixedLog((balance * uint(one)) / stakingRequirement);
        int mul = (int(timerUnit) * ln) / (int(one));
        uint pos = uint( -mul);
        
        
        return (pos + GLOBAL_START_TIMER);
    }
    
    function GetStakingNow() view returns (uint256){
        return (stakingRequirement * fixedExp(((int(GLOBAL_START_TIMER) - int(now)) * one) / int(timerUnit)))/uint(one) ; 
    }
    

    
    
    function _getPoS(address target) internal view returns (uint256){
        if (balances[target] == 0){
            return 0;
        }
        int ONE_SECOND = 0x10000000000000000;
        uint TIME = timer[target];
        if (TIME == 0){
            TIME = GLOBAL_START_TIMER;
        }
        if (balances[target] < getStakingRequirementTime(target, TIME)){
            // staking requirement was too low at update 
            // maybe it has since surpassed the requirement? 
            uint flipTime = getRequirementTime(target);
            if ( now > flipTime ){
                TIME = flipTime;
            }
            else{
                return 0;
            }
        }
        int PORTION_SCALED = ( (int(GLOBAL_START_TIMER) - int(TIME)) * ONE_SECOND) / int(stakeUnit); 
        uint256 exp = fixedExp(PORTION_SCALED);
        
        PORTION_SCALED = ( (int(GLOBAL_START_TIMER) - int(now)) * ONE_SECOND) / int(stakeUnit); 
        uint256 exp2 = fixedExp(PORTION_SCALED);
        
        uint256 MULT = (9 * (exp.sub(exp2)) * (balances[target])) / (uint(one)); 
        

        
        return (MULT);
    }
    
    
    
    int256 constant ln2       = 0x0b17217f7d1cf79ac;
    int256 constant ln2_64dot5= 0x2cb53f09f05cc627c8;
    int256 constant one       = 0x10000000000000000;
    int256 constant c2 =  0x02aaaaaaaaa015db0;
    int256 constant c4 = -0x000b60b60808399d1;
    int256 constant c6 =  0x0000455956bccdd06;
    int256 constant c8 = -0x000001b893ad04b3a;
    uint256 constant sqrt2    = 0x16a09e667f3bcc908;
    uint256 constant sqrtdot5 = 0x0b504f333f9de6484;
    int256 constant c1        = 0x1ffffffffff9dac9b;
    int256 constant c3        = 0x0aaaaaaac16877908;
    int256 constant c5        = 0x0666664e5e9fa0c99;
    int256 constant c7        = 0x049254026a7630acf;
    int256 constant c9        = 0x038bd75ed37753d68;
    int256 constant c11       = 0x03284a0c14610924f;
    function fixedExp(int256 a) public pure returns (uint256 exp) {
        int256 scale = (a + (ln2_64dot5)) / ln2 - 64;
        a -= scale*ln2;
        // The polynomial R = 2 + c2*x^2 + c4*x^4 + ...
        // approximates the function x*(exp(x)+1)/(exp(x)-1)
        // Hence exp(x) = (R(x)+x)/(R(x)-x)
        int256 z = (a*a) / one;
        int256 R = ((int256)(2) * one) +
            (z*(c2 + (z*(c4 + (z*(c6 + (z*c8/one))/one))/one))/one);
        exp = (uint256) (((R + a) * one) / (R - a));
        if (scale >= 0)
            exp <<= scale;
        else
            exp >>= -scale;
        return exp;
    }

    function fixedLog(uint256 a) internal pure returns (int256 log) {
        int32 scale = 0;
        while (a > sqrt2) {
            a /= 2;
            scale++;
        }
        while (a <= sqrtdot5) {
            a *= 2;
            scale--;
        }
        int256 s = (((int256)(a) - one) * one) / ((int256)(a) + one);
        // The polynomial R = c1*x + c3*x^3 + ... + c11 * x^11
        // approximates the function log(1+x)-log(1-x)
        // Hence R(s) = log((1+s)/(1-s)) = log(a)
        var z = (s*s) / one;
        return scale * ln2 +
            (s*(c1 + (z*(c3 + (z*(c5 + (z*(c7 + (z*(c9 + (z*c11/one))
                /one))/one))/one))/one))/one);
    }

}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"tokens","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lastRewardEthBlockNumber","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getMiningDifficulty","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"nonce","type":"uint256"},{"name":"challenge_digest","type":"bytes32"}],"name":"mint","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rewardEra","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getMiningTarget","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getMiningReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getChallengeNumber","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxSupplyForEra","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensMinted","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastRewardTo","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"GetStakingNow","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"nonce","type":"uint256"},{"name":"challenge_digest","type":"bytes32"},{"name":"challenge_number","type":"bytes32"},{"name":"testTarget","type":"uint256"}],"name":"checkMintSolution","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"epochCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_MAXIMUM_TARGET","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"miningTarget","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"challengeNumber","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"nonce","type":"uint256"},{"name":"challenge_digest","type":"bytes32"},{"name":"challenge_number","type":"bytes32"}],"name":"getMintDigest","outputs":[{"name":"digesttest","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"target","type":"address"},{"name":"TIME","type":"uint256"}],"name":"getStakingRequirementTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_BLOCKS_PER_READJUSTMENT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastRewardAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"tokens","type":"uint256"},{"name":"data","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"latestDifficultyPeriodStarted","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transferAnyERC20Token","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"_MINIMUM_TARGET","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"a","type":"int256"}],"name":"fixedExp","outputs":[{"name":"exp","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"target","type":"address"}],"name":"getRequirementTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"reward_amount","type":"uint256"},{"indexed":false,"name":"epochCount","type":"uint256"},{"indexed":false,"name":"newChallengeNumber","type":"bytes32"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"reward_amount","type":"uint256"}],"name":"PoS","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tokenOwner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Approval","type":"event"}]

  Contract Creation Code Switch To Opcodes View
608060405260048054600860ff199182168117928390556104009055620100006009557d040000000000000000000000000000000000000000000000000000000000600a90815560128054909216909155630545217f60195560ff909116900a61520802601a55633772133c601b553480156200007b57600080fd5b5060008054600160a060020a0319163390811791829055600160a060020a039190911614620000a957600080fd5b6040805180820190915260038082527f534b4f00000000000000000000000000000000000000000000000000000000006020909201918252620000ef9160029162002e74565b506040805180820190915260068082527f536b6f72636800000000000000000000000000000000000000000000000000006020909201918252620001369160039162002e74565b506004805460ff191660081790819055630c84588060ff918216600a0a0260055560125416156200016657600080fd5b6012805460ff19166001179055653f6feff91c0060149081556000600d556603baf82d03a000600e5543600655426015557f48f499eca7dc41858c2a53fded09096d138b8b88a9da8f488dccd5118bb1bbe2600c55614ed5600755600554620001dd91640100000000620012aa62002e5182021704565b600554600a900403600e557b046535708ac23bbf831c5398f7a5a62bf1db79ad7bf59530faaf067e600b5573ab4485ca338b91087a09ae8bc141648bb1c6e9676000818152601660209081526419f603373a7fc0c23cf1013bb8bb05b21da3740533a054fcd4e45b1c436adceeba2a8934f8a48190556040805191825251600080516020620047dc833981519152929181900390910190a373f2119e50578b3dfa248652c4fbec76b9e415acb260008181526016602090815264025c2ed6797f7c5b7c2bdbd7d81fb76fa4771cc11ae9157b4da604bc0929fbc0af446861b5508190556040805191825251600080516020620047dc833981519152929181900390910190a373b12b538cb67fceb50bbc1a31d2011eb92e6f718860008181526016602090815262182a427f4dcacd0b22d57fd0e123ddf590a560428655aa2e6e18429782a1998fde81d8dd8190556040805191825251600080516020620047dc833981519152929181900390910190a37321b7e18dacde5c004a0a56e74f071ac3fb2e98ff6000818152601660209081526402832d3bd97f597dcbdfd4b33bf94c2d42f74077cee03a71b7fc2b14bb21c3366b5da4d70eb38190556040805191825251600080516020620047dc833981519152929181900390910190a373e539a7645d2f33103c89b5b03abb422a163b7c73600081815260166020908152640e291906da7fe90867f0ab853d9a011a3d391458a06dffbff068cdff395c8acaa169d9ce32488190556040805191825251600080516020620047dc833981519152929181900390910190a3734ffe17a2a72bc7422cb176bc71c04ee6d87ce329600081815260166020908152646904917d3b7f0763abcb717d1194c820cf3eeb0683e857f26dbb8d6feb31992fdd7d60b2d0868190556040805191825251600080516020620047dc833981519152929181900390910190a373c0a2002e74b3b22e77098cb87232f446d813ce3160008181526016602090815261845d7f497052c62c376d801f6aa712f63ec3d00e59991fb1f9ac41f9ffd7cd95e791ce8190556040805191825251600080516020620047dc833981519152929181900390910190a373fc313f77c2cbc6cd0dd82b9a0ed1620ba906e46d600081815260166020908152642cd779eb087ffacfb4067d16f27c010ac464a6d723a2f6848f1619d1e1ab602f3c9ec184961c8190556040805191825251600080516020620047dc833981519152929181900390910190a373219fdb55ea364fcaf29aaa87fb1c45ba7db8128e6000818152601660209081526404b85dacf37f0b47a498c14dadb92b9c6c0e5911466e1007904c4b2c555a46ee9583f162c52d8190556040805191825251600080516020620047dc833981519152929181900390910190a373fbc2b315ac1fba765597a92ff100222425ce66fd600081815260166020908152648d9afa44867f3d05645cccde8b28c58e16270baa9b83e012331698df6df87940c23528d90a428190556040805191825251600080516020620047dc833981519152929181900390910190a373852563d88480decbc9bfb4428bb689af48dd92a960008181526016602090815264ead656cc6b7f934ba94bea7b65c21e6e6b4d520e5e8d8eb000f4a973d36bbf80a483d2dbe3c28190556040805191825251600080516020620047dc833981519152929181900390910190a3734d01d11697f00097064d7e05114ecd3843e8286760008181526016602090815264b7e6266fce7f28a52e1fbb1a182cb9f7508dee7ab25aecd55e239ac0770a25cf8883cabb2d548190556040805191825251600080516020620047dc833981519152929181900390910190a373e75ea07e4b90e46e13c37644138aa99ec69020ae600081815260166020908152647a7e7d5bff7ffe627fcfe99184079b04fb0cfe5c875f3473603354c6d5826b9eaa75bf4ea9228190556040805191825251600080516020620047dc833981519152929181900390910190a37351138ab5497b2c3d85be94d23905f5ead9e533a760008181526016602090815264012e176b3c7f2c58aa4e7497c842dc9ce1f7bf41570d7e373341abea4f450f2376f47734a1b98190556040805191825251600080516020620047dc833981519152929181900390910190a373ae7c95f2192c739edfb16412a6112a54f8965305600081815260166020908152640cfb019b9d7f55347597902e69ccde1f178fd38c2f369fe9eb5e4eecd383283bf2b1db89e97c8190556040805191825251600080516020620047dc833981519152929181900390910190a373e0261acfdd10508c75b6a60b1534c8386c4daa5260008181526016602090815265049719a2c9ff7faba0f22f9d03332d9598c2a9af6da108229374edc472f7c08c4c60d83eb230898190556040805191825251600080516020620047dc833981519152929181900390910190a3730a26d9674c2a1581ada4316e3f5960bb70fb0fb260008181526016602090815264785d54ba3e7f7eec9ef2c79c5152db940b5fd0a421a2022aa3a0cd93f9edfd5add2602e9227a8190556040805191825251600080516020620047dc833981519152929181900390910190a373a62178f120cccba370d2d2d12ec6fb1ff276d7066000818152601660209081526501ddeb0ca7457f640c5b46264908df741ecec5ac8e6058d4ca0d10e7160bc0dfd020daaccc98dc8190556040805191825251600080516020620047dc833981519152929181900390910190a373e57a18783640c9fa3c5e8e4d4b4443e2024a7ff9600081815260166020908152650244d9fe2ea07f930d08df740b0d68943f67af6cf755c1e0ebeb6079f4c263b01ef96d76cbef178190556040805191825251600080516020620047dc833981519152929181900390910190a3739b8957d1ac592bd388dcde346933ac1269b7c3146000818152601660209081526418c7ebcbfd7f396b0ce6421ffde24865b9bdaac3c700015c0ba6524cfba16f0cb417ccace94c8190556040805191825251600080516020620047dc833981519152929181900390910190a373f27bb893a4d9574378c4b1d089bdb6b9fce5099e6000818152601660209081526205cfad7f386f2db23de87b6f5a8895cf4192ba0ba7fe23410a4c25fc4f87ba6b928c97018190556040805191825251600080516020620047dc833981519152929181900390910190a37354a8f792298af9489de7a1245169a943fb69f5a660008181526016602090815264a4d15a221e7fdc6f385054b9933540720e80d9582d1be260d727a5780ca639bdda8c26aea48b8190556040805191825251600080516020620047dc833981519152929181900390910190a3724ba728a652bded4d4b79fb04b5a92ad8ce15e760008181526016602090815263014440967f6a3d3a65d6bb97c827a6b951680b0b34f8028cc0df9ffb882c29a5330e6faf6f8190556040805191825251600080516020620047dc833981519152929181900390910190a373d05803aee240195460f8589a6d6487fcea0097c160008181526016602090815262014ee37f1f0f23d231fa195b224a3d4e37551e361404b68bf9e00ea26ca13031d8963cb68190556040805191825251600080516020620047dc833981519152929181900390910190a373ad9f11d1dd6d202243473a0cdae606308ab243b4600081815260166020908152641799d460c17fc298f9cbb1f82e38ea87a6b2b14754c5e5cdeab0a8099f530d2f5e82c79507ed8190556040805191825251600080516020620047dc833981519152929181900390910190a373fec55e783595682141c4b5e6ad9ea605f1683844600081815260166020908152640e1f71e1487fb80e2e7f14473f3678f7f4845e13990f90d523ac8c196e6358a069983f76ed868190556040805191825251600080516020620047dc833981519152929181900390910190a37399a7e5777b711ff23e2b6961232a4009f7cec1b0600081815260166020908152646a5f083fe67f8224b470fd54cc3843b7968180a10cdc9d686938f414a002872453b826b2eeee8190556040805191825251600080516020620047dc833981519152929181900390910190a373bf45f4280cfbe7c2d2515a7d984b8c71c15e82b760008181526016602090815265013e3e7dc14b7f11cdb501a02b153c9bc3e5f265ecfba21240d3ec7a86a3cd568b5566c7cc84448190556040805191825251600080516020620047dc833981519152929181900390910190a373b38094d492af4fffff760707f36869713bfb22506000818152601660209081526501d932aefa507fcaeb02534233f7b6825fc81f34d78c58b7a41a72bd7186f734a06941d953e7fa8190556040805191825251600080516020620047dc833981519152929181900390910190a373900953b10460908ec636b46307dca13a759275cb600081815260166020908152621c53b37f1b68ac2c8753a3afdef872d573f987c1e6b58e916512f7ae8898274d4c8df5bd8190556040805191825251600080516020620047dc833981519152929181900390910190a373167e733de0861f0d61b179d3d1891e6b905877326000818152601660209081526501dcbcf53c057fe5ab0c354e2dc5f96bc4f3ebba2b13e8c681d4df7d5d8893edb8b44874a9a1c58190556040805191825251600080516020620047dc833981519152929181900390910190a373db3cbb8aa4dec854e6e60982dd9d4e85a8b422bc60008181526016602090815260027fa6c0644695b56e400a4eca9d2e52e027c2567e76d2c35891f100fd5568b91dd58190556040805191825251600080516020620047dc833981519152929181900390910190a373072e8711704654019c3d9bc242b3f9a4ee1963ce60008181526016602090815264025c2ab0f77f016c8f082b010c620b336981bc02b188cb254589b599eff7b992e369ed2822d18190556040805191825251600080516020620047dc833981519152929181900390910190a37304f72aa695b65a54d79db635005077293d1116356000818152601660209081526426e332cfe77fbaf731b111464b38ceee5e6826e98b190c0b4ac8198bfb58eace49e6810f832d8190556040805191825251600080516020620047dc833981519152929181900390910190a37330385a99e66469a8c0bf172896758dd4595704a9600081815260166020908152648f1ef23e577fe12fa6dd2481ef0720598ebeaf913183ddb63174d5d314bc0c27d01309f9c13e8190556040805191825251600080516020620047dc833981519152929181900390910190a373fe5a94e5bab010f52ae8fd8589b7d0a7b0b433ae6000818152601660209081526501e17551e6ae7f53aa5faac46d723bc46343c65f5e7dd0e2af7a3c739e8fedf05b8a4bd3790ca48190556040805191825251600080516020620047dc833981519152929181900390910190a37388058d4d90cc9d9471509e5be819b2be361b51c660008181526016602090815264df074a2bed7ff737f1091a1e8d363cd7d5924bc138ec0036096c01f675d72ccfe63c7e24b4158190556040805191825251600080516020620047dc833981519152929181900390910190a373fcc6bf3369077e22a90e05ad567744bf5109e4d460008181526016602090815265017cd03446667fd93a3ca2238d7eb596bbfe454b328f83564e38a298165c6db48b02237ad7f8318190556040805191825251600080516020620047dc833981519152929181900390910190a37321a6043877a0ac376b7ca91195521de88d440eba6000818152601660209081526425c2ed679b7fede9747f5790e00a4765a2f545744d93d3fcfa74f3148f0958d28cf177b609af8190556040805191825251600080516020620047dc833981519152929181900390910190a373d7dd80404d3d923c8a40c47c1f61aacbccb4191e60008181526016602090815265033f0a6d60237ff0b04e04f2dfbfcbf5d00269b043fc03629ab9f91e4f3a37a7b263a063ab31658190556040805191825251600080516020620047dc833981519152929181900390910190a373a1a3e2fcc1e7c805994ca7309f9a829908a18b4c600081815260166020908152649373b925467f7d8dba173a4c4638e8047b9d1e226432733bcbee63855ae9f0d01c52a25107dc8190556040805191825251600080516020620047dc833981519152929181900390910190a373c5556ce5c51d2f6a8d7a54bec2a9961dfada84db60008181526016602090815265023f815416c67f1acf008a2ad3323a53f5f636464004d7f832b2fb326eb7144c917864828e7c0e8190556040805191825251600080516020620047dc833981519152929181900390910190a373b4894098be4dbfdc0024dfb9d2e9f6654e0e37866000818152601660209081526402573753157fbd35163db8070d2c86ed968d1483ac04fc2174ec8cbc58866429d0fc88966a0c8190556040805191825251600080516020620047dc833981519152929181900390910190a373e8a01b61f80130aefda985ee2e9c6899a57a17c860008181526016602090815264294d33a9517f25765c8d0eb8a786dd59833ebeff7d9e38300440a99004f7b6a6a8255573daad8190556040805191825251600080516020620047dc833981519152929181900390910190a373559a922941f84ebe6b9f0ed58e3b96530614237e600081815260166020908152640f573072177f513c0a2f358316295b5c5298d0539093d8e35c0b2e78e56197568f7f75e5385f8190556040805191825251600080516020620047dc833981519152929181900390910190a373f95f528d7c25904f15d4154e45eab8e5d4b6c1606000818152601660209081526463161713137f1e71756126dcb0c2d0ec3c98b674f4f485e334262a124554c09b89e7f26a3d848190556040805191825251600080516020620047dc833981519152929181900390910190a37245b9707913eae3889283ed4d72077a904b984860008181526016602090815265015f00745b3c7f731c84d3c2257ca3a667c41aad28b3092082d3555b1a868461e6fbb728c339188190556040805191825251600080516020620047dc833981519152929181900390910190a373586389feed58c2c6a0ce6258cb1c58833abdb0936000818152601660209081526227b9a27fc19d9769addab0d8d59aea4cff23030e699b8942bcdd65b0a513d3f377b070b28190556040805191825251600080516020620047dc833981519152929181900390910190a373d2b752bec2fe5c7e5cc600eb5ce465a210cb857a600081815260166020908152645880dc6ad37f13d1ba82fec0e4a6a76cecd7aa38cb930f522e868345b616afe81237e2cf22758190556040805191825251600080516020620047dc833981519152929181900390910190a373518bbb5e4a1e8f8f21a09436c35b9cb5c20c7b4360008181526016602090815264012c4121a17f9a3c8aa34a17b723a1460e108d02adb8a9208a6bc910dee1180db458e9357d898190556040805191825251600080516020620047dc833981519152929181900390910190a37325e5c43d5f53ee1a7dd5ad7560348e29baea304860008181526016602090815264012e176b3c7f15bd9a7af98b9aaf5d72dcf527d5fd5557cc56fa42165e7504372728c72e8ef28190556040805191825251600080516020620047dc833981519152929181900390910190a37322dd964193df4de2e6954a2a9d9cbbd6f44f0b28600081815260166020908152650281464859dd7f735f15e08029df6723628f779100676effb4beed6a2fa09bd85b5b3e8f9df5c28190556040805191825251600080516020620047dc833981519152929181900390910190a373aa7a7c2decb180f68f11e975e6d92b5dc06083a6600081815260166020908152641b241aa2777fcd8d67a4b09eb95e344ecb91b7330f42c386b0e5049b74f20192c12a7fa3ecef8190556040805191825251600080516020620047dc833981519152929181900390910190a3734e27a678c8dc883035c542c83124e7e3f39842b0600081815260166020908152640842a3eea97fd5b42408fece2f6474e12ea3fbae0ad04668f898e73358120a56888e5b5347cb8190556040805191825251600080516020620047dc833981519152929181900390910190a3733bd56f97876d3af248b1fe92e361c05038c74c27600081815260166020908152640388e61d077f5d86c6edc0263dbe0705c5363db344b08f85e1cb64f89b1f8d9ff1bd7e1e22c38190556040805191825251600080516020620047dc833981519152929181900390910190a373674194d05bfc9a176a5b84711c8687609ff3d17b6000818152601660209081526503e6287cd4ba7f673c610a50d34090f48834d885e0866355179c08aca2c472f901e37533fbe70b8190556040805191825251600080516020620047dc833981519152929181900390910190a3730102f6ca7278e7d96a6d649da30bfe07e87155a360008181526016602090815265011f17b55ca57fed949d3f2f58461b1ee6694feeba381e58ab4fae0ac0f6d6cee60e10c067e0a48190556040805191825251600080516020620047dc833981519152929181900390910190a3733750ecf5e0536d04dd3858173ab571a0dcbdf7e0600081815260166020908152640bb4585cb47ffc9ab9a60f972aff26ac16e2d064bd611a82ecf2b1ae2b009a0ec8f87923a7e88190556040805191825251600080516020620047dc833981519152929181900390910190a37307a68bd44a526e09b8dbfc7085b265450362b61a600081815260166020908152641799d460c17fda22c0de966777e11aa46f205b5ab76f64342d4db4ff26be79542ce956bddae08190556040805191825251600080516020620047dc833981519152929181900390910190a373ebd76aa221968b8ba9cdd6e6b4dbb889140088a36000818152601660209081526447fb948d7f7f3efb8ec705194e63ae1849f19ba1a0d97d7b8f2f6a74193d6ca290a7cb9039d58190556040805191825251600080516020620047dc833981519152929181900390910190a373c7ee330d69cdddc1b9955618ff0df27bb8de3143600081815260166020908152640259ebe8297f018a5d1c05b343f1e1b3e8cac946949ba1011aa11a5f158f0fb63cf079a16a578190556040805191825251600080516020620047dc833981519152929181900390910190a373e0c059faabce16dd5ddb4817f427f5cf3b40f4c46000818152601660209081526498d770291d7f6ad71e1f486a8b5d8b5cbb04c1d281810c890101da96e5a804287a650306c06e8190556040805191825251600080516020620047dc833981519152929181900390910190a373dc680cc11a535e45329f49566850668fef34054f60008181526016602090815265017b6ed7e29f7f1ea4d278a417985a97ef1498085aed88d64c465301548df70c96c17a4342278a8190556040805191825251600080516020620047dc833981519152929181900390910190a37322ef324a534ba9aa0d060c92294fdd0fc4aca065600081815260166020908152641889a358ba7f9815a5b5490a1b472cded866e0103812ea6a8dcea2051603d8c895d07db8ffd98190556040805191825251600080516020620047dc833981519152929181900390910190a373e14cffadb6bbad8de69bd5ba214441a9582ec54860008181526016602090815264108547dd537f16ca2d877a63c530fef5a339a566872abfd73aba3628ffed145769fba907f7c88190556040805191825251600080516020620047dc833981519152929181900390910190a373dfb895c870c4956261f4839dd12786ef612d73146000818152601660209081526447a058c9b77fdfd8e9bb3002ca7b50301bfcd50896280e825a9bb4059aa3c153965a95bb65088190556040805191825251600080516020620047dc833981519152929181900390910190a373620103bb2b263ab0a50a47f73140d218401541c06000818152601660209081526509ce100dac917f3797173b06b283cfca7e4d90d9da4d29b3bad7bb5256030b25db070dac7ce8278190556040805191825251600080516020620047dc833981519152929181900390910190a3739fc5b0edc0309745c6974f1a6718029ea41a4d6e600081815260166020908152640f558a38487fc6e56a538e0e0da21d83b499fc1abc33c7724b250db0cc7b7437fe3ffea2af4a8190556040805191825251600080516020620047dc833981519152929181900390910190a373d6ceae2756f2af0a2f825b6e3ca8a9cfb4d082e26000818152601660209081526501055b3c06297f2b70ad326c8d2b5421f60a350a530d18f4459afd6a39a005894089acbf33486d8190556040805191825251600080516020620047dc833981519152929181900390910190a37325437b6a20021ea94d549ddd50403994e532e9d760008181526016602090815265018e98776a487f0a587252fed9fa64f7a689a6ddf27bbb4c3a3a9731131b35008c8c8e57750f368190556040805191825251600080516020620047dc833981519152929181900390910190a373eb4f4c886b402c65ff6f619716efe9319ce40fcf600081815260166020908152647a7a23f37d7f486f11590b6c80d126ef82783d4dd8cab2ac941c20f033728180b501bf44a1f18190556040805191825251600080516020620047dc833981519152929181900390910190a373f3552d4018fad9fcc390f5684a243f7318d8b570600081815260166020908152643b0092f1e27fe268c410a1aba3aa721793aeae81515b964db96bac86d3175838e04b3873070a8190556040805191825251600080516020620047dc833981519152929181900390910190a37385abe8e3bed0d4891ba201af1e212fe50bb65a2660008181526016602090815264f6e32b98877f2cf6774bfed13160e2944f68a8dd7cc55e701162cd8d14655b7831eded246e8b8190556040805191825251600080516020620047dc833981519152929181900390910190a373c446073e0c00a1138812b3a99a19df3cb8ace70d6000818152601660209081526501d932aefa517fd6dad18bfddada3bdaf04e218b0b0565772ce8b7491e6b350dc13f0eb3f60f568190556040805191825251600080516020620047dc833981519152929181900390910190a373195d65187a4aeb24b563dd2d52709a6b67064ad36000818152601660209081526436e6fe9f837fff6413b0a9c94db81db1b8a1920fcfe7ba514461b7e18afac5262b82698771508190556040805191825251600080516020620047dc833981519152929181900390910190a373588611841bd8b134f3d6ca3ff2796b483dfca4c6600081815260166020908152616ce37f6bbdb83dd20bbdf24f638fa099105e6b4e09a68789ff6bc36a7a127c4a755e0e8190556040805191825251600080516020620047dc833981519152929181900390910190a37343237ce180fc47cb4e3d32eb23e420f5ecf7a95e6000818152601660209081526504a06a11bac57f319cde4db329bd1d90a03da4261f42ea4e60f4e5a14bea77760eb10017431eca8190556040805191825251600080516020620047dc833981519152929181900390910190a373394299ef1650ac563a9adbec4061b25e50570f49600081815260166020908152640f417dc4407f6788304b196ac642dd4a5257ab62bdfce657c5d61a473f0d4c45d7e5999f3df78190556040805191825251600080516020620047dc833981519152929181900390910190a371bb50ee5f5df06be902d1f9cb774949c337ed600081815260166020908152620b1d5f7f3da1d730a92ce177b3c177e681c2fbd2d06e573e0c10ae78417f37e4ea3d1d628190556040805191825251600080516020620047dc833981519152929181900390910190a3734927fb34fff626adb7b07305c447ac89ded8bea2600081815260166020908152640388e089f67f1e1056da55af4356b99473481adc7a123b0e49bceeade25a2b5935d86ba2d1d08190556040805191825251600080516020620047dc833981519152929181900390910190a37393da7b2830e3932d906749e67a7ce1fbf3a5366d6000818152601660209081526502849a9faab27f345b07c9e8aad63227c48da15b8ab4adc5adf4504f41e8aaae8ca216c014cda38190556040805191825251600080516020620047dc833981519152929181900390910190a3737f4924f55e215e1fe44e3b5bb7fdfced2154b30f6000818152601660209081526475ea8297f97fbad151298be0c3611b081396df4c4c0ce4801fce4e6afce5e04d96428f83ba768190556040805191825251600080516020620047dc833981519152929181900390910190a3739834977aa420b078b8fd47c73a9520f968d66a3a60008181526016602090815264f0fd26c5ba7f7294abe9ded1e97f376093e5614ea6127386eaa65eb0ee4758f43203bd7f11098190556040805191825251600080516020620047dc833981519152929181900390910190a37326b8c7606e828a509bbb208a0322cf960c17b2256000818152601660209081526501321816c9b97f615a9b8b383ee4a78930947ee9e0bf5f80fefcf6897dafc1d2cf59392cd95d358190556040805191825251600080516020620047dc833981519152929181900390910190a3738f3dd21c9334980030ba95c37565ba25df9574cd6000818152601660209081526404b85dacf37ffe14f9eb6bc82c2b87be8535bea0ee2d3e899dc51282d4023de8fa9168aba4018190556040805191825251600080516020620047dc833981519152929181900390910190a37385d66f3a8da35f47e03d6bb51f51c2d70a61e12e600081815260166020908152650979f2de74d67ff71d9c9d382ad2b08ec796f6e41f043b715472ea4ff44c87d1d333e3cdf8995b8190556040805191825251600080516020620047dc833981519152929181900390910190a373bafc492638a2ec4f89aff258c8f18f806a844d72600081815260166020908152645c5b0174f77fae9f2e23915fde656653d26d24756d84acc7910b4c160171968db7bd239f19558190556040805191825251600080516020620047dc833981519152929181900390910190a3732f0d5a1d6bb5d7eaa0eaad39518621911a4a1d9f600081815260166020908152640a9ec35a1d7f5d3627e1eb343a3bd2711d27d157d4bd133fa66e23c5d07b4f6492482297822d8190556040805191825251600080516020620047dc833981519152929181900390910190a373ae5910c6f3cd709bf497bae2b8eae8cf983aca1b6000818152601660209081526482c9aa34bf7f2d361b23d4c4c3a6d7642ed6abdca5523336cb913f937d0f62c6dc982a26062b8190556040805191825251600080516020620047dc833981519152929181900390910190a373b963db36d28468ce64bce65e560e5f27e75f2f50600081815260166020908152640bc1e733d57f0a44a4fcba93ed76c2e9808cef14ba0836afef991e2880b81059c7ce32a501938190556040805191825251600080516020620047dc833981519152929181900390910190a3737134161b9e6fa84d62f156037870ee77fa50f607600081815260166020908152620c4fa97fa50090065bf08d32796a6ca2e3e4dee5cebf932bf76872851df1a3e66b6f3ba68190556040805191825251600080516020620047dc833981519152929181900390910190a373111fd8a12981d1174cfa8eef3b0141b3d5d4e5b360008181526016602090815264012b6ab5347f6a2637cb0e7f43e7f1c2224525a7f77491b8fe9bb5de62ce5d2cad237ec2b9e68190556040805191825251600080516020620047dc833981519152929181900390910190a373afaf9a165408737e11191393fe695c1ebc7a5429600081815260166020908152650369396e875c7f9c293625c9a264c7a7bde0656297a932a1bba612b3d1898545f0375d6538afec8190556040805191825251600080516020620047dc833981519152929181900390910190a3735329fcc196c445009aac138b22d25543ed195888600081815260166020908152641d7e2e816e7f7486701bb617dcbebc5398b258970325c24bb8348ac0c2b4f22e53c4e887a1c88190556040805191825251600080516020620047dc833981519152929181900390910190a373a5b3725e37431dc6a103961749cb9c98954202cd6000818152601660209081526467d80cdcea7fbd7b6f88f15404447504781526929a850abafdef66be1cafb2f5cc577d0844bd8190556040805191825251600080516020620047dc833981519152929181900390910190a373b8ab7387076f022c28481fafb28911ce4377e0ea6000818152601660209081526502c5069d360a7f020c5376b9692d68ed780c2e640fdb026b71afc5ba3bdb76b197c0c3a3eda9998190556040805191825251600080516020620047dc833981519152929181900390910190a373d2470aacd96242207f06111819111d17ca055dfb60008181526016602090815264df074a2bed7f54d34bd6dd3ba53d590263c6ab4a030c399285904fa184a474bf39c2d4f9c5be8190556040805191825251600080516020620047dc833981519152929181900390910190a3731fca39ed4f19edd12eb274dc467c099eb5106a136000818152601660209081526440e7080a127f5e6e50db336bfee985e9c6d6cc6f51d8c00b1b668f854c701ed6ede3bff754f48190556040805191825251600080516020620047dc833981519152929181900390910190a3738d12a197cb00d4747a1fe03395095ce2a5cc681960008181526016602090815265045085a0167d7faa57e725b03ee30bd9929e7c5cb07b5157f1efcc3e0c0598d541306199a154398190556040805191825251600080516020620047dc833981519152929181900390910190a3732a23527a6dbafae390514686d50f47747d01e44d6000818152601660209081526497e4b0c6947f4312d4748f84997c86cea6215432593ad3f65c2f38eddf8e03af55f3ba5be02a8190556040805191825251600080516020620047dc833981519152929181900390910190a373371e31169df00563eafab334c738e66dd0476a8f6000818152601660209081526434b52d0f3a7f801992107ef0810cf3a21c489af176e32aecfdbaa6ca4cda0f7bfba2f5bc08e68190556040805191825251600080516020620047dc833981519152929181900390910190a37340ea0a2abc9479e51e411870cafd759cb110c25860008181526016602090815264070cf2d6587f64085a4f5abd0846318b6b6702351536ff596d1583263d93226b5895b8e66e188190556040805191825251600080516020620047dc833981519152929181900390910190a373e585ba86b84283f0f1118041837b06d03b96885e60008181526016602090815262029b277f1a796c7d3cf9a2c52c2b21f7bb9019b7903afab31874e66d6db3e0fe0fde221f8190556040805191825251600080516020620047dc833981519152929181900390910190a373bede88c495132efb90b5039bc2942042e07814df60008181526016602090815264096ecd1d7f7f6ad7ed9241d5020af61eaa11fb69745b4f7b4ae226fdc31d6bc552304fb0ffdc8190556040805191825251600080516020620047dc833981519152929181900390910190a362002f19565b600080821162002e6057600080fd5b818381151562002e6c57fe5b049392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1062002eb757805160ff191683800117855562002ee7565b8280016001018555821562002ee7579182015b8281111562002ee757825182559160200191906001019062002eca565b5062002ef592915062002ef9565b5090565b62002f1691905b8082111562002ef5576000815560010162002f00565b90565b6118b38062002f296000396000f3006080604052600436106101f85763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101fd578063095ea7b314610287578063163aa00d146102bf57806317da485f146102e65780631801fbe5146102fb57806318160ddd1461031657806323b872dd1461032b5780632d38bf7a14610355578063313ce5671461036a57806332e99708146103955780633eaaf86b146103aa57806348c54b9d146103bf578063490203a7146103d65780634ef37628146103eb5780634fa972e1146104005780636de9f32b146104155780636fd396d61461042a57806370a082311461045b57806378dbce5f1461047c57806379ba50971461049157806381269a56146104a6578063829965cc146104c757806387a2a9d6146104dc5780638a769d35146104f15780638ae0368b146105065780638da5cb5b1461051b57806395d89b411461053057806397566aa014610545578063a9059cbb14610563578063a9d04bd814610587578063b5ade81b146105ab578063bafedcaa146105c0578063cae9ca51146105d5578063cb9ae7071461063e578063d4ee1d9014610653578063dc39d06d14610668578063dc6e9cf91461068c578063dd62ed3e146106a1578063de43844b146106c8578063f2fde38b146106e0578063ff67c9f514610701575b600080fd5b34801561020957600080fd5b50610212610722565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561024c578181015183820152602001610234565b50505050905090810190601f1680156102795780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561029357600080fd5b506102ab600160a060020a03600435166024356107b0565b604080519115158252519081900360200190f35b3480156102cb57600080fd5b506102d4610817565b60408051918252519081900360200190f35b3480156102f257600080fd5b506102d461081d565b34801561030757600080fd5b506102ab60043560243561083b565b34801561032257600080fd5b506102d46109d4565b34801561033757600080fd5b506102ab600160a060020a03600435811690602435166044356109da565b34801561036157600080fd5b506102d4610b05565b34801561037657600080fd5b5061037f610b0b565b6040805160ff9092168252519081900360200190f35b3480156103a157600080fd5b506102d4610b14565b3480156103b657600080fd5b506102d4610b1a565b3480156103cb57600080fd5b506103d4610b20565b005b3480156103e257600080fd5b506102d4610b3d565b3480156103f757600080fd5b506102d4610b5c565b34801561040c57600080fd5b506102d4610b62565b34801561042157600080fd5b506102d4610b68565b34801561043657600080fd5b5061043f610b6e565b60408051600160a060020a039092168252519081900360200190f35b34801561046757600080fd5b506102d4600160a060020a0360043516610b7d565b34801561048857600080fd5b506102d4610ba9565b34801561049d57600080fd5b506103d4610be3565b3480156104b257600080fd5b506102ab600435602435604435606435610c6b565b3480156104d357600080fd5b506102d4610cb5565b3480156104e857600080fd5b506102d4610cbb565b3480156104fd57600080fd5b506102d4610cc1565b34801561051257600080fd5b506102d4610cc7565b34801561052757600080fd5b5061043f610ccd565b34801561053c57600080fd5b50610212610cdc565b34801561055157600080fd5b506102d4600435602435604435610d34565b34801561056f57600080fd5b506102ab600160a060020a0360043516602435610d69565b34801561059357600080fd5b506102d4600160a060020a0360043516602435610e3b565b3480156105b757600080fd5b506102d4610e71565b3480156105cc57600080fd5b506102d4610e77565b3480156105e157600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526102ab948235600160a060020a0316946024803595369594606494920191908190840183828082843750949750610e7d9650505050505050565b34801561064a57600080fd5b506102d4610fde565b34801561065f57600080fd5b5061043f610fe4565b34801561067457600080fd5b506102ab600160a060020a0360043516602435610ff3565b34801561069857600080fd5b506102d46110ae565b3480156106ad57600080fd5b506102d4600160a060020a03600435811690602435166110b4565b3480156106d457600080fd5b506102d46004356110df565b3480156106ec57600080fd5b506103d4600160a060020a03600435166111c3565b34801561070d57600080fd5b506102d4600160a060020a0360043516611209565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107a85780601f1061077d576101008083540402835291602001916107a8565b820191906000526020600020905b81548152906001019060200180831161078b57829003601f168201915b505050505081565b336000818152601760209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60115481565b6000610836600b54600a546112aa90919063ffffffff16565b905090565b600c54604080519182526c01000000000000000000000000330260208301526034820184905251908190036054019020600090818084831461087c57600080fd5b600b5483111561088b57600080fd5b600c546000908152601360205260409020805490849055915081156108af57600080fd5b6108b8336112c3565b3360009081526018602052604090204290556108d2610b3d565b336000908152601660205260409020549091506108f5908263ffffffff6113f416565b33600090815260166020526040902055601454610918908263ffffffff6113f416565b6014819055600e54101561092857fe5b600f805473ffffffffffffffffffffffffffffffffffffffff191633179055601081905543601155610958611404565b600754600c54604080518481526020810193909352828101919091525133917fcf6fbb9dcea7d07263ab4f5c3a92f53af33dffc421d9d121e1c74b307e68189d919081900360600190a260408051828152905133916000916000805160206118688339815191529181900360200190a350600195945050505050565b60055490565b60006109e5846112c3565b6109ee836112c3565b600160a060020a038085166000818152601860209081526040808320429081905594881683528083209490945591815260169091522054610a35908363ffffffff6114a516565b600160a060020a0385166000908152601660209081526040808320939093556017815282822033835290522054610a72908363ffffffff6114a516565b600160a060020a038086166000908152601760209081526040808320338452825280832094909455918616815260169091522054610ab6908363ffffffff6113f416565b600160a060020a03808516600081815260166020908152604091829020949094558051868152905191939288169260008051602061186883398151915292918290030190a35060019392505050565b600d5481565b60045460ff1681565b600b5490565b60055481565b610b29336112c3565b336000908152601860205260409020429055565b600d546004546000916108369160ff16600a0a6032029060020a6112aa565b600c5490565b600e5481565b60145481565b600f54600160a060020a031681565b6000610b88826114ba565b600160a060020a038316600090815260166020526040902054019050919050565b6000604060020a610bd0601954604060020a426015540302811515610bca57fe5b056110df565b601a5402811515610bdd57fe5b04905090565b600154600160a060020a03163314610bfa57600080fd5b60015460008054604051600160a060020a0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b604080518381526c010000000000000000000000003302602082015260348101869052905190819003605401902060009082811115610ca957600080fd5b93909314949350505050565b60075481565b600a5481565b600b5481565b600c5481565b600054600160a060020a031681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156107a85780601f1061077d576101008083540402835291602001916107a8565b604080518281526c01000000000000000000000000330260208201526034810185905290519081900360540190209392505050565b6000610d74336112c3565b610d7d836112c3565b3360008181526018602090815260408083204290819055600160a060020a038816845281842055928252601690522054610dbd908363ffffffff6114a516565b3360009081526016602052604080822092909255600160a060020a03851681522054610def908363ffffffff6113f416565b600160a060020a0384166000818152601660209081526040918290209390935580518581529051919233926000805160206118688339815191529281900390910190a350600192915050565b6000604060020a610e5c601954604060020a856015540302811515610bca57fe5b601a5402811515610e6957fe5b049392505050565b60085481565b60105481565b336000818152601760209081526040808320600160a060020a038816808552908352818420879055815187815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a36040517f8f4ffcb10000000000000000000000000000000000000000000000000000000081523360048201818152602483018690523060448401819052608060648501908152865160848601528651600160a060020a038a1695638f4ffcb195948a94938a939192909160a490910190602085019080838360005b83811015610f6d578181015183820152602001610f55565b50505050905090810190601f168015610f9a5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610fbc57600080fd5b505af1158015610fd0573d6000803e3d6000fd5b506001979650505050505050565b60065481565b600154600160a060020a031681565b60008054600160a060020a0316331461100b57600080fd5b60008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810186905290519186169263a9059cbb926044808401936020939083900390910190829087803b15801561107b57600080fd5b505af115801561108f573d6000803e3d6000fd5b505050506040513d60208110156110a557600080fd5b50519392505050565b60095481565b600160a060020a03918216600090815260176020908152604080832093909416825291909152205490565b6000808080604067b17217f7d1cf79ac682cb53f09f05cc627c887010503925067b17217f7d1cf79ac830285039450604060020a85860281151561111f57fe5b059150604060020a672aaaaaaaaa015db0660455956bccdd06651b893ad04b3919850283900501840282900566b60b60808399d01901840282900501830205604060020a600202019050848103604060020a8683010281151561117e57fe5b059350600083126111a2578284600082121561119657fe5b9060020a0293506111bb565b826000038460008212156111b257fe5b9060020a900493505b505050919050565b600054600160a060020a031633146111da57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a038116600090815260166020526040812054604060020a8280808085151561123c57600019965061129f565b600160a060020a03881660009081526018602052604090205493508315156112645760155493505b611280601a54604060020a880281151561127a57fe5b0461160b565b601954909350604060020a908402059150816000039050601554810196505b505050505050919050565b60008082116112b857600080fd5b8183811515610e6957fe5b600160a060020a038116600090815260186020526040812054151561130b57600160a060020a03821660009081526016602052604081205411156113065761130b565b6113f0565b600160a060020a038216600090815260186020526040902054421415611330576113f0565b611339826114ba565b905060008111156113c057600160a060020a03821660009081526016602052604090205461136d908263ffffffff6113f416565b600160a060020a038316600081815260166020908152604091829020939093558051848152905191927fb6ca79c9847e64c21032ebeea3266417e6a012de32b21df76a8ab204edcb953392918290030190a25b604080518281529051600160a060020a038416916000916000805160206118688339815191529181900360200190a35b5050565b8181018281101561081157600080fd5b600e54611421611412610b3d565b6014549063ffffffff6113f416565b11801561143057506027600d54105b1561143f57600d805460010190555b600d5460055461145a9160010160140a63ffffffff6112aa16565b600554600a900403600e5560075461147990600163ffffffff6113f416565b60078190556008549081151561148b57fe5b06151561149a5761149a6116f0565b600019430140600c55565b6000828211156114b457600080fd5b50900390565b600080600080600080600080601660008a600160a060020a0316600160a060020a0316815260200190815260200160002054600014156114fd57600097506115ff565b600160a060020a038916600090815260186020526040902054604060020a9750955085151561152c5760155495505b6115368987610e3b565b600160a060020a038a1660009081526016602052604090205410156115795761155e89611209565b94508442111561157057849550611579565b600097506115ff565b601b548787601554030281151561158c57fe5b059350611598846110df565b9250601b54874260155403028115156115ad57fe5b0593506115b9846110df565b600160a060020a038a16600090815260166020526040902054909250604060020a906115eb858563ffffffff6114a516565b600902028115156115f857fe5b0490508097505b50505050505050919050565b60008080805b68016a09e667f3bcc90885111561163357600285049450600190920191611611565b5b67b504f333f9de64848511611656576002949094029360001990920191611634565b604060020a8501604060020a8087030281151561166f57fe5b05915050604060020a818002819005906801ffffffffff9dac9b67666664e5e9fa0c996738bd75ed37753d68673284a0c14610924f85028490050184028390056749254026a7630acf01840283900501830282900567aaaaaaac168779080183028290050183020567b17217f7d1cf79ac8460030b02019350505050919050565b600654600854439190910390603c81026000808080848710156117965761172e8761172287606463ffffffff61182a16565b9063ffffffff6112aa16565b93506117536103e861174786606463ffffffff6114a516565b9063ffffffff61184f16565b925061178e61177f846117736107d0600b546112aa90919063ffffffff16565b9063ffffffff61182a16565b600b549063ffffffff6114a516565b600b556117f7565b6117ab8561172289606463ffffffff61182a16565b91506117c46103e861174784606463ffffffff6114a516565b90506117f36117e4826117736107d0600b546112aa90919063ffffffff16565b600b549063ffffffff6113f416565b600b555b43600655600954600b54101561180e57600954600b555b600a54600b54111561182157600a54600b555b50505050505050565b818102821580611844575081838281151561184157fe5b04145b151561081157600080fd5b600081831115611860575080610811565b50909190505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820d0ba7f7ed2eadd4840dbb112646dfd1d303c6a346decb8cea12c3dd076c576890029ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

   Swarm Source:
bzzr://d0ba7f7ed2eadd4840dbb112646dfd1d303c6a346decb8cea12c3dd076c57689

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.