Sponsored Link:   Ducatur - EOS Hackathon Won! MVP Ready! Softcap reached! - Buy 1st Multichain Token - 3in1 (ETH,NEO,EOS)
Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 12211 txns
Token Contract: Skorch Token (SKO)
 Latest 25 txns from a total Of 12211 transactions
View All

TxHash Age From To Value [TxFee]
0x33d9d1e56a695af36b8ddc494630f6dca7736271d086efb09f3e41b7f294d670 31 secs ago0x85d66f3a8da35f47e03d6bb51f51c2d70a61e12e  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000339684
0xe3a2bfa22e1d892d99d523d81d3432ea02e0ed14ec8b192dff5a199a6c2981a81 min ago0x85d66f3a8da35f47e03d6bb51f51c2d70a61e12e  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000339684
0x40cd05658ce86158b5132a0af30eea1547531846453570e28e6cd66ad7b10eff2 mins ago0xc5556ce5c51d2f6a8d7a54bec2a9961dfada84db  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000051748
0xcda3be882031676bb418e3d46a9bf31f7fd1413dc1138032701cacb49d6f60082 mins ago0x85d66f3a8da35f47e03d6bb51f51c2d70a61e12e  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000453168
0x232886d3a8f132717e7e094770b5fc8fa73871b9ed88d52c75afddc82f7b31672 mins ago0xc5556ce5c51d2f6a8d7a54bec2a9961dfada84db  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.00005162
0x224568099c084c50d60e9c7b4a70b0877d2c204392351fd8106ad8cf7dca4f152 mins ago0x85d66f3a8da35f47e03d6bb51f51c2d70a61e12e  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000453168
0x23531b85b72268a49268e1a19ac04cf049fabe010df0385d396b8f500901bc3e3 mins ago0x85d66f3a8da35f47e03d6bb51f51c2d70a61e12e  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.00005162
0xab262a4c4e8e96c333ec0a69af143713b37de68aca3014c185b8fac1ea2d2e273 mins ago0x30385a99e66469a8c0bf172896758dd4595704a9  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000339876
0x44cb54fb0f5eaf9ffdd639f76133fe906bbfbefc682fb6996b8133a206585f6f4 mins ago0xc5556ce5c51d2f6a8d7a54bec2a9961dfada84db  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000226712
0x84a9726210a868318433389d5e790b514288af65438a5e94e59e8823ce5547af5 mins ago0xc5556ce5c51d2f6a8d7a54bec2a9961dfada84db  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000226456
0x9474b9f03f39de56cf2bf64c66c9a595192d3bb683758a7ad01036dc47debbe56 mins ago0xc5556ce5c51d2f6a8d7a54bec2a9961dfada84db  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000051492
0x6ad14e8ac12289ac2aa0c78a7f1a5a5b0b32f6c9d74b8d664566dc1e6db9279c6 mins ago0x30385a99e66469a8c0bf172896758dd4595704a9  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000339876
0x4effd664fdbc28ae7d9826b0205f0a53194d34ad40baf7469374640402ad1ba56 mins ago0x30385a99e66469a8c0bf172896758dd4595704a9  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000339876
0xdd7c556ba752f89058705d2e59a35c53b7a1db08888b80663b357b9d2e1b845a8 mins ago0xc5556ce5c51d2f6a8d7a54bec2a9961dfada84db  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000226584
0xe6b2619596acc0ad56538b126c139851993b9c9ecdc9ccf8f0e94eb2bba2bfeb8 mins ago0xc5556ce5c51d2f6a8d7a54bec2a9961dfada84db  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000226584
0xc214e0f1fc3bde379157003184321c8f1303ac2f5bda8c0ba607a00abd6146099 mins ago0xc5556ce5c51d2f6a8d7a54bec2a9961dfada84db  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000226584
0x908bb37bee18ffb77c733e888ee480169468d37452dd115a3bc57a30f84d2f1211 mins ago0xc5556ce5c51d2f6a8d7a54bec2a9961dfada84db  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000226584
0xd6c442ddec7e2b95da7d6e7845050b89eda3ae86f69e139d7e663d256c62d66f14 mins ago0xc5556ce5c51d2f6a8d7a54bec2a9961dfada84db  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000226584
0xcac893778fa1dc3624c3bd94b85f0eeda48404c50e91fe8416ad3b6b02bf9c5815 mins ago0xc5556ce5c51d2f6a8d7a54bec2a9961dfada84db  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000226712
0x68ab7f9f70b6db5d2e32bb9e525b766e1f46003f1d27fc553c7bbb1ea344cead15 mins ago0xc5556ce5c51d2f6a8d7a54bec2a9961dfada84db  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000226584
0x6993c0ed890b3c9fea2d26193c485ff0f7d9ac4b11ff3dca5fd76253a40c8baf16 mins ago0xc5556ce5c51d2f6a8d7a54bec2a9961dfada84db  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000226712
0x1415168d09e261e69c9868628922de817c84f1a7e2f13b3c6820b24f845b72c717 mins ago0xc5556ce5c51d2f6a8d7a54bec2a9961dfada84db  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000226584
0xd12cd135c247eb4571098f145ce9275443b676c1c9a0833cb5ffd2d93278ef1618 mins ago0xc5556ce5c51d2f6a8d7a54bec2a9961dfada84db  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000226712
0xd8b4154a2d7fc44bdc4d45b638670d19706d2e6b9f95d8340c284e7ba6fc336c20 mins ago0xc5556ce5c51d2f6a8d7a54bec2a9961dfada84db  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000226584
0x73d4d14aa06dcd8d3fe965641ff8b8b5b4c6dbb5e9b13f4f880e876f4193397521 mins ago0x30385a99e66469a8c0bf172896758dd4595704a9  IN   0x4aff03b46792ba7f65403a0d96b2fb8ca8d543670 Ether0.000339876
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Contract Source Code Verified (Exact match)
Contract Name: AABitcoinToken
Compiler Version: v0.4.24+commit.e67f0147
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.18;

// To fix the original Skorch token contract a snapshot was taken at block 5772500. Snapshot is applied here 

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;
    }
}

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 AABitcoinToken is ERC20Interface, Owned {

    using SafeMath for uint;
    using ExtendedMath for uint;

    string public symbol;

    string public  name;

    uint8 public decimals;

    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 doubleUnit = (31536000) * 3.811;

    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 Token";
        decimals = 8;
        // uncomment this to test 
        //balances[msg.sender] = (20000) * (10 ** uint(decimals)); // change 20000 to some lower number than 20000 
        //to see you will not get PoS tokens if you have less than 20000 tokens 
        //timer[msg.sender] = now - (1 years);
        _totalSupply = 21000000 * 10**uint(decimals);
        if(locked) revert();
        locked = true;
        tokensMinted = 0;
        rewardEra = 0;
        maxSupplyForEra = _totalSupply.div(2);
        miningTarget = _MAXIMUM_TARGET;
        latestDifficultyPeriodStarted = block.number;
        //_startNewMiningEpoch(); all relevant vars are set below
        GLOBAL_START_TIMER = now;
        challengeNumber = 0x85d676fa25011d060e3c7405f6e55de1921372c788bfaaed75c00b63a63c510d;
        epochCount = 6231;
        rewardEra = 0;
        maxSupplyForEra = _totalSupply - _totalSupply.div( 2**(rewardEra + 1));
        miningTarget = 431359146674410236714672241392314090778194310760649159697657763988184;
        
        // token balances as of block 5772500
balances[0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b7] = 2000 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xbf45f4280cfbe7c2d2515a7d984b8c71c15e82b7, 2000 * 10 ** uint(decimals));
balances[0xb38094d492af4fffff760707f36869713bfb2250] = 20050 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xb38094d492af4fffff760707f36869713bfb2250, 20050 * 10 ** uint(decimals));
balances[0x8f3dd21c9334980030ba95c37565ba25df9574cd] = 200 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x8f3dd21c9334980030ba95c37565ba25df9574cd, 200 * 10 ** uint(decimals));
balances[0xaa7a7c2decb180f68f11e975e6d92b5dc06083a6] = 1150 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xaa7a7c2decb180f68f11e975e6d92b5dc06083a6, 1150 * 10 ** uint(decimals));
balances[0x07a68bd44a526e09b8dbfc7085b265450362b61a] = 1000 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x07a68bd44a526e09b8dbfc7085b265450362b61a, 1000 * 10 ** uint(decimals));
balances[0x4e27a678c8dc883035c542c83124e7e3f39842b0] = 350 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x4e27a678c8dc883035c542c83124e7e3f39842b0, 350 * 10 ** uint(decimals));
balances[0x0102f6ca7278e7d96a6d649da30bfe07e87155a3] = 2800 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x0102f6ca7278e7d96a6d649da30bfe07e87155a3, 2800 * 10 ** uint(decimals));
balances[0xfc313f77c2cbc6cd0dd82b9a0ed1620ba906e46d] = 1900 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xfc313f77c2cbc6cd0dd82b9a0ed1620ba906e46d, 1900 * 10 ** uint(decimals));
balances[0xfec55e783595682141c4b5e6ad9ea605f1683844] = 100 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xfec55e783595682141c4b5e6ad9ea605f1683844, 100 * 10 ** uint(decimals));
balances[0x167e733de0861f0d61b179d3d1891e6b90587732] = 20200 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x167e733de0861f0d61b179d3d1891e6b90587732, 20200 * 10 ** uint(decimals));
balances[0x22dd964193df4de2e6954a2a9d9cbbd6f44f0b28] = 7650 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x22dd964193df4de2e6954a2a9d9cbbd6f44f0b28, 7650 * 10 ** uint(decimals));
balances[0xd2b752bec2fe5c7e5cc600eb5ce465a210cb857a] = 3750 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xd2b752bec2fe5c7e5cc600eb5ce465a210cb857a, 3750 * 10 ** uint(decimals));
balances[0xe14cffadb6bbad8de69bd5ba214441a9582ec548] = 700 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xe14cffadb6bbad8de69bd5ba214441a9582ec548, 700 * 10 ** uint(decimals));
balances[0xfe5a94e5bab010f52ae8fd8589b7d0a7b0b433ae] = 20000 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xfe5a94e5bab010f52ae8fd8589b7d0a7b0b433ae, 20000 * 10 ** uint(decimals));
balances[0xae7c95f2192c739edfb16412a6112a54f8965305] = 550 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xae7c95f2192c739edfb16412a6112a54f8965305, 550 * 10 ** uint(decimals));
balances[0x30385a99e66469a8c0bf172896758dd4595704a9] = 50 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x30385a99e66469a8c0bf172896758dd4595704a9, 50 * 10 ** uint(decimals));
balances[0x219fdb55ea364fcaf29aaa87fb1c45ba7db8128e] = 200 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x219fdb55ea364fcaf29aaa87fb1c45ba7db8128e, 200 * 10 ** uint(decimals));
balances[0xab4485ca338b91087a09ae8bc141648bb1c6e967] = 1100 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xab4485ca338b91087a09ae8bc141648bb1c6e967, 1100 * 10 ** uint(decimals));
balances[0xafaf9a165408737e11191393fe695c1ebc7a5429] = 35500 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xafaf9a165408737e11191393fe695c1ebc7a5429, 35500 * 10 ** uint(decimals));
balances[0xebd76aa221968b8ba9cdd6e6b4dbb889140088a3] = 3050 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xebd76aa221968b8ba9cdd6e6b4dbb889140088a3, 3050 * 10 ** uint(decimals));
balances[0x26b8c7606e828a509bbb208a0322cf960c17b225] = 4300 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x26b8c7606e828a509bbb208a0322cf960c17b225, 4300 * 10 ** uint(decimals));
balances[0x9b8957d1ac592bd388dcde346933ac1269b7c314] = 1050 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x9b8957d1ac592bd388dcde346933ac1269b7c314, 1050 * 10 ** uint(decimals));
balances[0xad9f11d1dd6d202243473a0cdae606308ab243b4] = 1000 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xad9f11d1dd6d202243473a0cdae606308ab243b4, 1000 * 10 ** uint(decimals));
balances[0x2f0d5a1d6bb5d7eaa0eaad39518621911a4a1d9f] = 200 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x2f0d5a1d6bb5d7eaa0eaad39518621911a4a1d9f, 200 * 10 ** uint(decimals));
balances[0xfbc2b315ac1fba765597a92ff100222425ce66fd] = 6000 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xfbc2b315ac1fba765597a92ff100222425ce66fd, 6000 * 10 ** uint(decimals));
balances[0x0a26d9674c2a1581ada4316e3f5960bb70fb0fb2] = 5100 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x0a26d9674c2a1581ada4316e3f5960bb70fb0fb2, 5100 * 10 ** uint(decimals));
balances[0xdc680cc11a535e45329f49566850668fef34054f] = 9750 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xdc680cc11a535e45329f49566850668fef34054f, 9750 * 10 ** uint(decimals));
balances[0x9fc5b0edc0309745c6974f1a6718029ea41a4d6e] = 400 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x9fc5b0edc0309745c6974f1a6718029ea41a4d6e, 400 * 10 ** uint(decimals));
balances[0xe0c059faabce16dd5ddb4817f427f5cf3b40f4c4] = 1800 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xe0c059faabce16dd5ddb4817f427f5cf3b40f4c4, 1800 * 10 ** uint(decimals));
balances[0x85d66f3a8da35f47e03d6bb51f51c2d70a61e12e] = 13200 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x85d66f3a8da35f47e03d6bb51f51c2d70a61e12e, 13200 * 10 ** uint(decimals));
balances[0xa5b3725e37431dc6a103961749cb9c98954202cd] = 4400 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xa5b3725e37431dc6a103961749cb9c98954202cd, 4400 * 10 ** uint(decimals));
balances[0xf3552d4018fad9fcc390f5684a243f7318d8b570] = 2500 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xf3552d4018fad9fcc390f5684a243f7318d8b570, 2500 * 10 ** uint(decimals));
balances[0x1fca39ed4f19edd12eb274dc467c099eb5106a13] = 2750 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x1fca39ed4f19edd12eb274dc467c099eb5106a13, 2750 * 10 ** uint(decimals));
balances[0xf95f528d7c25904f15d4154e45eab8e5d4b6c160] = 350 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xf95f528d7c25904f15d4154e45eab8e5d4b6c160, 350 * 10 ** uint(decimals));
balances[0xa62178f120cccba370d2d2d12ec6fb1ff276d706] = 20250 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xa62178f120cccba370d2d2d12ec6fb1ff276d706, 20250 * 10 ** uint(decimals));
balances[0xc446073e0c00a1138812b3a99a19df3cb8ace70d] = 20050 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xc446073e0c00a1138812b3a99a19df3cb8ace70d, 20050 * 10 ** uint(decimals));
balances[0xfcc6bf3369077e22a90e05ad567744bf5109e4d4] = 300 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xfcc6bf3369077e22a90e05ad567744bf5109e4d4, 300 * 10 ** uint(decimals));
balances[0x25e5c43d5f53ee1a7dd5ad7560348e29baea3048] = 50 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x25e5c43d5f53ee1a7dd5ad7560348e29baea3048, 50 * 10 ** uint(decimals));
balances[0x4d01d11697f00097064d7e05114ecd3843e82867] = 6050 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x4d01d11697f00097064d7e05114ecd3843e82867, 6050 * 10 ** uint(decimals));
balances[0xe585ba86b84283f0f1118041837b06d03b96885e] = 1350 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xe585ba86b84283f0f1118041837b06d03b96885e, 1350 * 10 ** uint(decimals));
balances[0x21a6043877a0ac376b7ca91195521de88d440eba] = 1600 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x21a6043877a0ac376b7ca91195521de88d440eba, 1600 * 10 ** uint(decimals));
balances[0xe8a01b61f80130aefda985ee2e9c6899a57a17c8] = 1750 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xe8a01b61f80130aefda985ee2e9c6899a57a17c8, 1750 * 10 ** uint(decimals));
balances[0x8d12a197cb00d4747a1fe03395095ce2a5cc6819] = 46800 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x8d12a197cb00d4747a1fe03395095ce2a5cc6819, 46800 * 10 ** uint(decimals));
balances[0xa1a3e2fcc1e7c805994ca7309f9a829908a18b4c] = 4100 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xa1a3e2fcc1e7c805994ca7309f9a829908a18b4c, 4100 * 10 ** uint(decimals));
balances[0x51138ab5497b2c3d85be94d23905f5ead9e533a7] = 50 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x51138ab5497b2c3d85be94d23905f5ead9e533a7, 50 * 10 ** uint(decimals));
balances[0x559a922941f84ebe6b9f0ed58e3b96530614237e] = 650 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x559a922941f84ebe6b9f0ed58e3b96530614237e, 650 * 10 ** uint(decimals));
balances[0xe539a7645d2f33103c89b5b03abb422a163b7c73] = 600 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xe539a7645d2f33103c89b5b03abb422a163b7c73, 600 * 10 ** uint(decimals));
balances[0x4ffe17a2a72bc7422cb176bc71c04ee6d87ce329] = 4300 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x4ffe17a2a72bc7422cb176bc71c04ee6d87ce329, 4300 * 10 ** uint(decimals));
balances[0x88058d4d90cc9d9471509e5be819b2be361b51c6] = 9450 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x88058d4d90cc9d9471509e5be819b2be361b51c6, 9450 * 10 ** uint(decimals));
balances[0x0000bb50ee5f5df06be902d1f9cb774949c337ed] = 1150 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0x0000bb50ee5f5df06be902d1f9cb774949c337ed, 1150 * 10 ** uint(decimals));
balances[0xd7dd80404d3d923c8a40c47c1f61aacbccb4191e] = 6450 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xd7dd80404d3d923c8a40c47c1f61aacbccb4191e, 6450 * 10 ** uint(decimals));
balances[0xf2119e50578b3dfa248652c4fbec76b9e415acb2] = 100 * 10 ** uint(decimals);
emit Transfer(address(0x0), 0xf2119e50578b3dfa248652c4fbec76b9e415acb2, 100 * 10 ** uint(decimals));
balances[0xd2470aacd96242207f06111819111d17ca055dfb] = 9450 * 10 ** uint(decimals); 
emit Transfer(address(0x0), 0xd2470aacd96242207f06111819111d17ca055dfb, 9450 * 10 ** uint(decimals));

// test lines 
//balances[msg.sender] = 1000 * 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 - _totalSupply.div( 2**(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);
            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 _getPoS(address target) internal view returns (uint256){
        int ONE_SECOND = 0x10000000000000000;
        uint TIME = timer[target];
        if (TIME == 0){
            TIME = GLOBAL_START_TIMER;
        }
        int PORTION_SCALED = (int(now - TIME) * ONE_SECOND) / int(doubleUnit); 
        uint256 exp = fixedExp(PORTION_SCALED);
        
        return ((balances[target].mul(exp)) / uint(one)).sub(balances[target]); 
    }
    
    
    
    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;
    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;
    }

}

    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":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":"_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"},{"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
6080604052610400600855620100006009557d040000000000000000000000000000000000000000000000000000000000600a556000601260006101000a81548160ff021916908315150217905550630729db906019553480156200006357600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156200010057600080fd5b6040805190810160405280600381526020017f534b4f0000000000000000000000000000000000000000000000000000000000815250600290805190602001906200014d92919062002fcd565b506040805190810160405280600c81526020017f536b6f72636820546f6b656e0000000000000000000000000000000000000000815250600390805190602001906200019b92919062002fcd565b506008600460006101000a81548160ff021916908360ff160217905550600460009054906101000a900460ff1660ff16600a0a6301406f4002600581905550601260009054906101000a900460ff1615620001f557600080fd5b6001601260006101000a81548160ff02191690831515021790555060006014819055506000600d8190555062000246600260055462002fa76401000000000262002205179091906401000000009004565b600e81905550600a54600b8190555043600681905550426015819055507f85d676fa25011d060e3c7405f6e55de1921372c788bfaaed75c00b63a63c510d600102600c81600019169055506118576007819055506000600d81905550620002cf6001600d540160020a60055462002fa76401000000000262002205179091906401000000009004565b60055403600e819055507c10000000000000000000000000000000000000000000000000000002d8600b81905550600460009054906101000a900460ff1660ff16600a0a6107d0026016600073bf45f4280cfbe7c2d2515a7d984b8c71c15e82b773ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073bf45f4280cfbe7c2d2515a7d984b8c71c15e82b7600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6107d0026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a614e52026016600073b38094d492af4fffff760707f36869713bfb225073ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073b38094d492af4fffff760707f36869713bfb2250600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a614e52026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a60c80260166000738f3dd21c9334980030ba95c37565ba25df9574cd73ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550738f3dd21c9334980030ba95c37565ba25df9574cd600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a60c8026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a61047e026016600073aa7a7c2decb180f68f11e975e6d92b5dc06083a673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073aa7a7c2decb180f68f11e975e6d92b5dc06083a6600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a61047e026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a6103e802601660007307a68bd44a526e09b8dbfc7085b265450362b61a73ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507307a68bd44a526e09b8dbfc7085b265450362b61a600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6103e8026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a61015e0260166000734e27a678c8dc883035c542c83124e7e3f39842b073ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550734e27a678c8dc883035c542c83124e7e3f39842b0600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a61015e026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a610af00260166000730102f6ca7278e7d96a6d649da30bfe07e87155a373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550730102f6ca7278e7d96a6d649da30bfe07e87155a3600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a610af0026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a61076c026016600073fc313f77c2cbc6cd0dd82b9a0ed1620ba906e46d73ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073fc313f77c2cbc6cd0dd82b9a0ed1620ba906e46d600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a61076c026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a6064026016600073fec55e783595682141c4b5e6ad9ea605f168384473ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073fec55e783595682141c4b5e6ad9ea605f1683844600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6064026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a614ee8026016600073167e733de0861f0d61b179d3d1891e6b9058773273ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073167e733de0861f0d61b179d3d1891e6b90587732600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a614ee8026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a611de202601660007322dd964193df4de2e6954a2a9d9cbbd6f44f0b2873ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507322dd964193df4de2e6954a2a9d9cbbd6f44f0b28600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a611de2026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a610ea6026016600073d2b752bec2fe5c7e5cc600eb5ce465a210cb857a73ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073d2b752bec2fe5c7e5cc600eb5ce465a210cb857a600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a610ea6026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a6102bc026016600073e14cffadb6bbad8de69bd5ba214441a9582ec54873ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073e14cffadb6bbad8de69bd5ba214441a9582ec548600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6102bc026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a614e20026016600073fe5a94e5bab010f52ae8fd8589b7d0a7b0b433ae73ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073fe5a94e5bab010f52ae8fd8589b7d0a7b0b433ae600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a614e20026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a610226026016600073ae7c95f2192c739edfb16412a6112a54f896530573ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073ae7c95f2192c739edfb16412a6112a54f8965305600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a610226026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a603202601660007330385a99e66469a8c0bf172896758dd4595704a973ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507330385a99e66469a8c0bf172896758dd4595704a9600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6032026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a60c8026016600073219fdb55ea364fcaf29aaa87fb1c45ba7db8128e73ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073219fdb55ea364fcaf29aaa87fb1c45ba7db8128e600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a60c8026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a61044c026016600073ab4485ca338b91087a09ae8bc141648bb1c6e96773ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073ab4485ca338b91087a09ae8bc141648bb1c6e967600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a61044c026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a618aac026016600073afaf9a165408737e11191393fe695c1ebc7a542973ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073afaf9a165408737e11191393fe695c1ebc7a5429600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a618aac026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a610bea026016600073ebd76aa221968b8ba9cdd6e6b4dbb889140088a373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073ebd76aa221968b8ba9cdd6e6b4dbb889140088a3600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a610bea026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a6110cc02601660007326b8c7606e828a509bbb208a0322cf960c17b22573ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507326b8c7606e828a509bbb208a0322cf960c17b225600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6110cc026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a61041a0260166000739b8957d1ac592bd388dcde346933ac1269b7c31473ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550739b8957d1ac592bd388dcde346933ac1269b7c314600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a61041a026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a6103e8026016600073ad9f11d1dd6d202243473a0cdae606308ab243b473ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073ad9f11d1dd6d202243473a0cdae606308ab243b4600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6103e8026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a60c80260166000732f0d5a1d6bb5d7eaa0eaad39518621911a4a1d9f73ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550732f0d5a1d6bb5d7eaa0eaad39518621911a4a1d9f600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a60c8026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a611770026016600073fbc2b315ac1fba765597a92ff100222425ce66fd73ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073fbc2b315ac1fba765597a92ff100222425ce66fd600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a611770026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a6113ec0260166000730a26d9674c2a1581ada4316e3f5960bb70fb0fb273ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550730a26d9674c2a1581ada4316e3f5960bb70fb0fb2600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6113ec026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a612616026016600073dc680cc11a535e45329f49566850668fef34054f73ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073dc680cc11a535e45329f49566850668fef34054f600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a612616026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a6101900260166000739fc5b0edc0309745c6974f1a6718029ea41a4d6e73ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550739fc5b0edc0309745c6974f1a6718029ea41a4d6e600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a610190026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a610708026016600073e0c059faabce16dd5ddb4817f427f5cf3b40f4c473ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073e0c059faabce16dd5ddb4817f427f5cf3b40f4c4600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a610708026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a61339002601660007385d66f3a8da35f47e03d6bb51f51c2d70a61e12e73ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507385d66f3a8da35f47e03d6bb51f51c2d70a61e12e600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a613390026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a611130026016600073a5b3725e37431dc6a103961749cb9c98954202cd73ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073a5b3725e37431dc6a103961749cb9c98954202cd600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a611130026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a6109c4026016600073f3552d4018fad9fcc390f5684a243f7318d8b57073ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073f3552d4018fad9fcc390f5684a243f7318d8b570600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6109c4026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a610abe0260166000731fca39ed4f19edd12eb274dc467c099eb5106a1373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550731fca39ed4f19edd12eb274dc467c099eb5106a13600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a610abe026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a61015e026016600073f95f528d7c25904f15d4154e45eab8e5d4b6c16073ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073f95f528d7c25904f15d4154e45eab8e5d4b6c160600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a61015e026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a614f1a026016600073a62178f120cccba370d2d2d12ec6fb1ff276d70673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073a62178f120cccba370d2d2d12ec6fb1ff276d706600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a614f1a026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a614e52026016600073c446073e0c00a1138812b3a99a19df3cb8ace70d73ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073c446073e0c00a1138812b3a99a19df3cb8ace70d600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a614e52026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a61012c026016600073fcc6bf3369077e22a90e05ad567744bf5109e4d473ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073fcc6bf3369077e22a90e05ad567744bf5109e4d4600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a61012c026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a603202601660007325e5c43d5f53ee1a7dd5ad7560348e29baea304873ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507325e5c43d5f53ee1a7dd5ad7560348e29baea3048600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6032026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a6117a20260166000734d01d11697f00097064d7e05114ecd3843e8286773ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550734d01d11697f00097064d7e05114ecd3843e82867600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6117a2026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a610546026016600073e585ba86b84283f0f1118041837b06d03b96885e73ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073e585ba86b84283f0f1118041837b06d03b96885e600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a610546026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a61064002601660007321a6043877a0ac376b7ca91195521de88d440eba73ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507321a6043877a0ac376b7ca91195521de88d440eba600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a610640026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a6106d6026016600073e8a01b61f80130aefda985ee2e9c6899a57a17c873ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073e8a01b61f80130aefda985ee2e9c6899a57a17c8600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6106d6026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a61b6d00260166000738d12a197cb00d4747a1fe03395095ce2a5cc681973ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550738d12a197cb00d4747a1fe03395095ce2a5cc6819600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a61b6d0026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a611004026016600073a1a3e2fcc1e7c805994ca7309f9a829908a18b4c73ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073a1a3e2fcc1e7c805994ca7309f9a829908a18b4c600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a611004026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a603202601660007351138ab5497b2c3d85be94d23905f5ead9e533a773ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507351138ab5497b2c3d85be94d23905f5ead9e533a7600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6032026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a61028a026016600073559a922941f84ebe6b9f0ed58e3b96530614237e73ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073559a922941f84ebe6b9f0ed58e3b96530614237e600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a61028a026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a610258026016600073e539a7645d2f33103c89b5b03abb422a163b7c7373ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073e539a7645d2f33103c89b5b03abb422a163b7c73600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a610258026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a6110cc0260166000734ffe17a2a72bc7422cb176bc71c04ee6d87ce32973ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550734ffe17a2a72bc7422cb176bc71c04ee6d87ce329600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6110cc026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a6124ea02601660007388058d4d90cc9d9471509e5be819b2be361b51c673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507388058d4d90cc9d9471509e5be819b2be361b51c6600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6124ea026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a61047e026016600071bb50ee5f5df06be902d1f9cb774949c337ed73ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555071bb50ee5f5df06be902d1f9cb774949c337ed600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a61047e026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a611932026016600073d7dd80404d3d923c8a40c47c1f61aacbccb4191e73ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073d7dd80404d3d923c8a40c47c1f61aacbccb4191e600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a611932026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a6064026016600073f2119e50578b3dfa248652c4fbec76b9e415acb273ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073f2119e50578b3dfa248652c4fbec76b9e415acb2600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6064026040518082815260200191505060405180910390a3600460009054906101000a900460ff1660ff16600a0a6124ea026016600073d2470aacd96242207f06111819111d17ca055dfb73ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555073d2470aacd96242207f06111819111d17ca055dfb600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600460009054906101000a900460ff1660ff16600a0a6124ea026040518082815260200191505060405180910390a36200307c565b6000808211151562002fb857600080fd5b818381151562002fc457fe5b04905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200301057805160ff191683800117855562003041565b8280016001018555821562003041579182015b828111156200304057825182559160200191906001019062003023565b5b50905062003050919062003054565b5090565b6200307991905b80821115620030755760008160009055506001016200305b565b5090565b90565b6128c7806200308c6000396000f3006080604052600436106101d8576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146101dd578063095ea7b31461026d578063163aa00d146102d257806317da485f146102fd5780631801fbe51461032857806318160ddd1461037b57806323b872dd146103a65780632d38bf7a1461042b578063313ce5671461045657806332e99708146104875780633eaaf86b146104b257806348c54b9d146104dd578063490203a7146104f45780634ef376281461051f5780634fa972e1146105525780636de9f32b1461057d5780636fd396d6146105a857806370a08231146105ff57806379ba50971461065657806381269a561461066d578063829965cc146106d857806387a2a9d6146107035780638a769d351461072e5780638ae0368b146107595780638da5cb5b1461078c57806395d89b41146107e357806397566aa014610873578063a9059cbb146108d8578063b5ade81b1461093d578063bafedcaa14610968578063cae9ca5114610993578063cb9ae70714610a3e578063d4ee1d9014610a69578063dc39d06d14610ac0578063dc6e9cf914610b25578063dd62ed3e14610b50578063de43844b14610bc7578063f2fde38b14610c08575b600080fd5b3480156101e957600080fd5b506101f2610c4b565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610232578082015181840152602081019050610217565b50505050905090810190601f16801561025f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561027957600080fd5b506102b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ce9565b604051808215151515815260200191505060405180910390f35b3480156102de57600080fd5b506102e7610ddb565b6040518082815260200191505060405180910390f35b34801561030957600080fd5b50610312610de1565b6040518082815260200191505060405180910390f35b34801561033457600080fd5b50610361600480360381019080803590602001909291908035600019169060200190929190505050610dff565b604051808215151515815260200191505060405180910390f35b34801561038757600080fd5b50610390611142565b6040518082815260200191505060405180910390f35b3480156103b257600080fd5b50610411600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061114c565b604051808215151515815260200191505060405180910390f35b34801561043757600080fd5b50610440611491565b6040518082815260200191505060405180910390f35b34801561046257600080fd5b5061046b611497565b604051808260ff1660ff16815260200191505060405180910390f35b34801561049357600080fd5b5061049c6114aa565b6040518082815260200191505060405180910390f35b3480156104be57600080fd5b506104c76114b4565b6040518082815260200191505060405180910390f35b3480156104e957600080fd5b506104f26114ba565b005b34801561050057600080fd5b50610509611509565b6040518082815260200191505060405180910390f35b34801561052b57600080fd5b50610534611540565b60405180826000191660001916815260200191505060405180910390f35b34801561055e57600080fd5b5061056761154a565b6040518082815260200191505060405180910390f35b34801561058957600080fd5b50610592611550565b6040518082815260200191505060405180910390f35b3480156105b457600080fd5b506105bd611556565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561060b57600080fd5b50610640600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061157c565b6040518082815260200191505060405180910390f35b34801561066257600080fd5b5061066b6115cf565b005b34801561067957600080fd5b506106be60048036038101908080359060200190929190803560001916906020019092919080356000191690602001909291908035906020019092919050505061176e565b604051808215151515815260200191505060405180910390f35b3480156106e457600080fd5b506106ed611803565b6040518082815260200191505060405180910390f35b34801561070f57600080fd5b50610718611809565b6040518082815260200191505060405180910390f35b34801561073a57600080fd5b5061074361180f565b6040518082815260200191505060405180910390f35b34801561076557600080fd5b5061076e611815565b60405180826000191660001916815260200191505060405180910390f35b34801561079857600080fd5b506107a161181b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107ef57600080fd5b506107f8611840565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561083857808201518184015260208101905061081d565b50505050905090810190601f1680156108655780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561087f57600080fd5b506108ba60048036038101908080359060200190929190803560001916906020019092919080356000191690602001909291905050506118de565b60405180826000191660001916815260200191505060405180910390f35b3480156108e457600080fd5b50610923600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611957565b604051808215151515815260200191505060405180910390f35b34801561094957600080fd5b50610952611b8c565b6040518082815260200191505060405180910390f35b34801561097457600080fd5b5061097d611b92565b6040518082815260200191505060405180910390f35b34801561099f57600080fd5b50610a24600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611b98565b604051808215151515815260200191505060405180910390f35b348015610a4a57600080fd5b50610a53611de7565b6040518082815260200191505060405180910390f35b348015610a7557600080fd5b50610a7e611ded565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610acc57600080fd5b50610b0b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e13565b604051808215151515815260200191505060405180910390f35b348015610b3157600080fd5b50610b3a611f77565b6040518082815260200191505060405180910390f35b348015610b5c57600080fd5b50610bb1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f7d565b6040518082815260200191505060405180910390f35b348015610bd357600080fd5b50610bf260048036038101908080359060200190929190505050612004565b6040518082815260200191505060405180910390f35b348015610c1457600080fd5b50610c49600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612166565b005b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ce15780601f10610cb657610100808354040283529160200191610ce1565b820191906000526020600020905b815481529060010190602001808311610cc457829003601f168201915b505050505081565b600081601760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60115481565b6000610dfa600b54600a5461220590919063ffffffff16565b905090565b600080600080600c5433876040518084600019166000191681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140182815260200193505050506040518091039020925084600019168360001916141515610e8857600080fd5b600b5483600190041115610e9b57600080fd5b60136000600c54600019166000191681526020019081526020016000205491508260136000600c5460001916600019168152602001908152602001600020816000191690555060006001028260001916141515610ef757600080fd5b610f0033612229565b42601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f4c611509565b9050610fa081601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461248a90919063ffffffff16565b601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ff88160145461248a90919063ffffffff16565b601481905550600e546014541115151561100e57fe5b33600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601081905550436011819055506110656124a6565b3373ffffffffffffffffffffffffffffffffffffffff167fcf6fbb9dcea7d07263ab4f5c3a92f53af33dffc421d9d121e1c74b307e68189d82600754600c54604051808481526020018381526020018260001916600019168152602001935050505060405180910390a23373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36001935050505092915050565b6000600554905090565b600061115784612229565b61116083612229565b42601860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042601860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061123a82601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461255b90919063ffffffff16565b601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061130c82601760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461255b90919063ffffffff16565b601760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113de82601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461248a90919063ffffffff16565b601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600d5481565b600460009054906101000a900460ff1681565b6000600b54905090565b60055481565b6114c333612229565b42601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550565b600061153b600d5460020a600460009054906101000a900460ff1660ff16600a0a60320261220590919063ffffffff16565b905090565b6000600c54905090565b600e5481565b60145481565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061158782612577565b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054019050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561162b57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000808333876040518084600019166000191681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140182815260200193505050506040518091039020905082816001900411156117ed57600080fd5b8460001916816000191614915050949350505050565b60075481565b600a5481565b600b5481565b600c5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118d65780601f106118ab576101008083540402835291602001916118d6565b820191906000526020600020905b8154815290600101906020018083116118b957829003601f168201915b505050505081565b6000808233866040518084600019166000191681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401828152602001935050505060405180910390209050809150509392505050565b600061196233612229565b61196b83612229565b42601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042601860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a4582601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461255b90919063ffffffff16565b601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ada82601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461248a90919063ffffffff16565b601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60085481565b60105481565b600082601760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611d75578082015181840152602081019050611d5a565b50505050905090810190601f168015611da25780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015611dc457600080fd5b505af1158015611dd8573d6000803e3d6000fd5b50505050600190509392505050565b60065481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e7057600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611f3457600080fd5b505af1158015611f48573d6000803e3d6000fd5b505050506040513d6020811015611f5e57600080fd5b8101908080519060200190929190505050905092915050565b60095481565b6000601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080600080604067b17217f7d1cf79ac682cb53f09f05cc627c8870181151561202a57fe5b0503925067b17217f7d1cf79ac8302850394506801000000000000000085860281151561205357fe5b059150680100000000000000008068010000000000000000807fffffffffffffffffffffffffffffffffffffffffffffffffffffe476c52fb4c6860281151561209857fe5b05660455956bccdd060185028115156120ad57fe5b057fffffffffffffffffffffffffffffffffffffffffffffffffff49f49f7f7c662f0184028115156120db57fe5b05672aaaaaaaaa015db00183028115156120f157fe5b0568010000000000000000600202019050848103680100000000000000008683010281151561211c57fe5b059350600083121515612142578284600082121561213657fe5b9060020a02935061215b565b8260000384600082121561215257fe5b9060020a900493505b839350505050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156121c157600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000808211151561221557600080fd5b818381151561222057fe5b04905092915050565b600080601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156122c5576000601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156122bf576122c4565b612486565b5b42601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141561231157612486565b61231a82612577565b9050600081111561241f5761237781601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461248a90919063ffffffff16565b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123cf8160055461248a90919063ffffffff16565b508173ffffffffffffffffffffffffffffffffffffffff167fb6ca79c9847e64c21032ebeea3266417e6a012de32b21df76a8ab204edcb9533826040518082815260200191505060405180910390a25b8173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b5050565b600081830190508281101515156124a057600080fd5b92915050565b600e546124c56124b4611509565b60145461248a90919063ffffffff16565b1180156124d457506027600d54105b156124e6576001600d5401600d819055505b6125036001600d540160020a60055461220590919063ffffffff16565b60055403600e81905550612523600160075461248a90919063ffffffff16565b600781905550600060085460075481151561253a57fe5b06141561254a576125496126bd565b5b6001430340600c8160001916905550565b600082821115151561256c57600080fd5b818303905092915050565b6000806000806000680100000000000000009350601860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054925060008314156125dc5760155492505b60195484844203028115156125ed57fe5b0591506125f982612004565b90506126b2601660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546801000000000000000061269a84601660008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461284e90919063ffffffff16565b8115156126a357fe5b0461255b90919063ffffffff16565b945050505050919050565b6000806000806000806000600654430396506008549550603c860294508487101561277c57612708876126fa60648861284e90919063ffffffff16565b61220590919063ffffffff16565b93506127326103e861272460648761255b90919063ffffffff16565b61287f90919063ffffffff16565b9250612771612760846127526107d0600b5461220590919063ffffffff16565b61284e90919063ffffffff16565b600b5461255b90919063ffffffff16565b600b81905550612812565b6127a28561279460648a61284e90919063ffffffff16565b61220590919063ffffffff16565b91506127cc6103e86127be60648561255b90919063ffffffff16565b61287f90919063ffffffff16565b905061280b6127fa826127ec6107d0600b5461220590919063ffffffff16565b61284e90919063ffffffff16565b600b5461248a90919063ffffffff16565b600b819055505b43600681905550600954600b54101561282f57600954600b819055505b600a54600b54111561284557600a54600b819055505b50505050505050565b60008183029050600083148061286e575081838281151561286b57fe5b04145b151561287957600080fd5b92915050565b60008183111561289157819050612895565b8290505b929150505600a165627a7a7230582004052a799504bd38a742bd399e5180a1fdfbe62e01b6c5dbc40464d7c1a2198d0029

   Swarm Source:
bzzr://04052a799504bd38a742bd399e5180a1fdfbe62e01b6c5dbc40464d7c1a2198d

 

View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.