ETH Price: $3,357.11 (-0.83%)

Token

EmontFrenzy (EMONF)
 

Overview

Max Total Supply

32 EMONF

Holders

9

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Balance
1 EMONF

Value
$0.00
0x571f7c00c09d34977b338654c9d1b3c158099b83
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
EmontFrenzy

Compiler Version
v0.4.19+commit.c4cbbb05

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-06-03
*/

pragma solidity ^0.4.19;

contract BasicAccessControl {
    address public owner;
    // address[] public moderators;
    uint16 public totalModerators = 0;
    mapping (address => bool) public moderators;
    bool public isMaintaining = false;

    function BasicAccessControl() public {
        owner = msg.sender;
    }

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

    modifier onlyModerators() {
        require(msg.sender == owner || moderators[msg.sender] == true);
        _;
    }

    modifier isActive {
        require(!isMaintaining);
        _;
    }

    function ChangeOwner(address _newOwner) onlyOwner public {
        if (_newOwner != address(0)) {
            owner = _newOwner;
        }
    }


    function AddModerator(address _newModerator) onlyOwner public {
        if (moderators[_newModerator] == false) {
            moderators[_newModerator] = true;
            totalModerators += 1;
        }
    }
    
    function RemoveModerator(address _oldModerator) onlyOwner public {
        if (moderators[_oldModerator] == true) {
            moderators[_oldModerator] = false;
            totalModerators -= 1;
        }
    }

    function UpdateMaintaining(bool _isMaintaining) onlyOwner public {
        isMaintaining = _isMaintaining;
    }
}

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


contract EmontFrenzy is BasicAccessControl {
    uint constant public HIGH = 20;
    uint constant public BASE_POS = 510;
    uint constant public ONE_EMONT = 10 ** 8;

    struct Fish {
        address player;
        uint weight;
        bool active; // location != 0
    }

    // private
    uint private seed;

     // address
    address public tokenContract;
    
    // variable
    uint public addFee = 0.01 ether;
    uint public addWeight = 5 * 10 ** 8; // emont
    uint public moveCharge = 5; // percentage
    uint public cashOutRate = 100; // to EMONT rate
    uint public cashInRate = 50; // from EMONT to fish weight 
    uint public width = 50;
    uint public minJump = 2 * 2;
    uint public maxPos = HIGH * width; // valid pos (0 -> maxPos - 1)
    
    mapping(uint => Fish) fishMap;
    mapping(uint => uint) ocean; // pos => fish id
    mapping(uint => uint) bonus; // pos => emont amount
    mapping(address => uint) players;
    
    mapping(uint => uint) maxJumps; // weight in EMONT => square length
    
    uint public totalFish = 0;
    
    // event
    event Transfer(address indexed _from, address indexed _to, uint256 _tokenId);

    event EventCashout(address indexed player, uint fishId, uint weight);
    event EventBonus(uint pos, uint value);
    event EventMove(address indexed player, uint fishId, uint fromPos, uint toPos, uint weight);
    event EventEat(address indexed player, address indexed defender, uint playerFishId, uint defenderFishId, uint fromPos, uint toPos, uint playerWeight);
    event EventSuicide(address indexed player, address indexed defender, uint playerFishId, uint defenderFishId, uint fromPos, uint toPos, uint defenderWeight);
    
    
    // modifier
    modifier requireTokenContract {
        require(tokenContract != address(0));
        _;
    }
    
    function EmontFrenzy(address _tokenContract) public {
        tokenContract = _tokenContract;
        seed = getRandom(0);
    }
    
    function setConfig(uint _addFee, uint _addWeight, uint _moveCharge, uint _cashOutRate, uint _cashInRate, uint _width) onlyModerators external {
        addFee = _addFee;
        addWeight = _addWeight;
        moveCharge = _moveCharge;
        cashOutRate = _cashOutRate;
        cashInRate = _cashInRate;
        width = _width;
        maxPos = HIGH * width;
    }
    
    
    // weight in emont, x*x
    function updateMaxJump(uint _weight, uint _squareLength) onlyModerators external {
        maxJumps[_weight] = _squareLength;
    }
    
    function setDefaultMaxJump() onlyModerators external {
        maxJumps[0] = 50 * 50;
        maxJumps[1] = 30 * 30;
        maxJumps[2] = 20 * 20;
        maxJumps[3] = 15 * 15;
        maxJumps[4] = 12 * 12;
        maxJumps[5] = 9 * 9;
        maxJumps[6] = 7 * 7;
        maxJumps[7] = 7 * 7;
        maxJumps[8] = 6 * 6;
        maxJumps[9] = 6 * 6;
        maxJumps[10] = 6 * 6;
        maxJumps[11] = 5 * 5;
        maxJumps[12] = 5 * 5;
        maxJumps[13] = 5 * 5;
        maxJumps[14] = 5 * 5;
        maxJumps[15] = 4 * 4;
        maxJumps[16] = 4 * 4;
        maxJumps[17] = 4 * 4;
        maxJumps[18] = 4 * 4;
        maxJumps[19] = 4 * 4;
        maxJumps[20] = 3 * 3;
        maxJumps[21] = 3 * 3;
        maxJumps[22] = 3 * 3;
        maxJumps[23] = 3 * 3;
        maxJumps[24] = 3 * 3;
        maxJumps[25] = 3 * 3;
    }
    
    function updateMinJump(uint _minJump) onlyModerators external {
        minJump = _minJump;
    }
    
    // moderators
    
    function withdrawEther(address _sendTo, uint _amount) onlyModerators external {
        // no user money is kept in this contract, only trasaction fee
        if (_amount > address(this).balance) {
            revert();
        }
        _sendTo.transfer(_amount);
    }
    
    function withdrawToken(address _sendTo, uint _amount) onlyModerators requireTokenContract external {
        ERC20Interface token = ERC20Interface(tokenContract);
        if (_amount > token.balanceOf(address(this))) {
            revert();
        }
        token.transfer(_sendTo, _amount);
    }
    
    function addBonus(uint _pos, uint _amount) onlyModerators external {
        bonus[_pos] += _amount;
        EventBonus(_pos, _amount);
    }
    
    // for payment contract to call
    function AddFishByToken(address _player, uint tokens) onlyModerators external {
        uint weight = tokens * cashInRate / 100;
        if (weight != addWeight) 
            revert();
        
         // max: one fish per address
        if (fishMap[players[_player]].weight > 0)
            revert();
        
        totalFish += 1;
        Fish storage fish = fishMap[totalFish];
        fish.player = _player;
        fish.weight = addWeight;
        fish.active = false;
        players[_player] = totalFish;
        
        seed = getRandom(seed);
        Transfer(address(0), _player, totalFish);
    }
    
    // public functions
    function getRandom(uint _seed) constant public returns(uint) {
        return uint(keccak256(block.timestamp, block.difficulty)) ^ _seed;
    }
    
    function AddFish() isActive payable external {
        if (msg.value != addFee) revert();
        
        // max: one fish per address
        if (fishMap[players[msg.sender]].weight > 0)
            revert();
        
        totalFish += 1;
        Fish storage fish = fishMap[totalFish];
        fish.player = msg.sender;
        fish.weight = addWeight;
        fish.active = false;
        players[msg.sender] = totalFish;
        
        seed = getRandom(seed);
        Transfer(address(0), msg.sender, totalFish);
    }
    
    function DeductABS(uint _a, uint _b) pure public returns(uint) {
        if (_a > _b) 
            return (_a - _b);
        return (_b - _a);
    }
    
    function MoveFish(uint _fromPos, uint _toPos) isActive external {
        // check valid _x, _y
        if (_toPos >= maxPos && _fromPos != _toPos)
            revert();
        
        uint fishId = players[msg.sender];
        Fish storage fish = fishMap[fishId];
        if (fish.weight == 0)
            revert();
        if (!fish.active && _fromPos != BASE_POS)
            revert();
        if (fish.active && ocean[_fromPos] != fishId)
            revert();
        
        // check valid move
        uint tempX = DeductABS(_fromPos / HIGH, _toPos / HIGH);
        uint tempY = DeductABS(_fromPos % HIGH, _toPos % HIGH);
        uint squareLength = maxJumps[fish.weight / ONE_EMONT];
        if (squareLength == 0) squareLength = minJump;
        
        if (tempX * tempX + tempY * tempY > squareLength)
            revert();
        
        // move 
        ocean[_fromPos] = 0;
        // charge when swiming except from the base
        if (_fromPos != BASE_POS) {
            tempX = (moveCharge * fish.weight) / 100;
            bonus[_fromPos] += tempX;
            fish.weight -= tempX;
        } else {
            fish.active = true;
        }

        // go back to base
        if (_toPos == BASE_POS) {
            fish.active = false;
            EventMove(msg.sender, fishId, _fromPos, _toPos, fish.weight);
            return;
        }

        tempX = ocean[_toPos]; // target fish id
        // no fish at that location
        if (tempX == 0) {
            if (bonus[_toPos] > 0) {
                fish.weight += bonus[_toPos];
                bonus[_toPos] = 0;
            }
            
            // update location
            EventMove(msg.sender, fishId, _fromPos, _toPos, fish.weight);
            ocean[_toPos] = fishId;
        } else {
            // can not attack from the base
            if (_fromPos == BASE_POS) revert();
            
            Fish storage targetFish = fishMap[tempX];
            if (targetFish.weight <= fish.weight) {
                // eat the target fish
                fish.weight += targetFish.weight;
                targetFish.weight = 0;
                
                // update location
                ocean[_toPos] = fishId;
                
                EventEat(msg.sender, targetFish.player, fishId, tempX, _fromPos, _toPos, fish.weight);
                Transfer(targetFish.player, address(0), tempX);
            } else {
                // bonus to others
                seed = getRandom(seed);
                tempY = seed % (maxPos - 1);
                if (tempY == BASE_POS) tempY += 1;
                bonus[tempY] = fish.weight * 2;
                
                EventBonus(tempY, fish.weight * 2);
                
                // suicide
                targetFish.weight -= fish.weight;
                fish.weight = 0;
                
                EventSuicide(msg.sender, targetFish.player, fishId, tempX, _fromPos, _toPos, targetFish.weight);
                Transfer(msg.sender, address(0), fishId);
            }
        }
    }
    
    function CashOut(uint _amount) isActive external {
        uint fishId = players[msg.sender];
        Fish storage fish = fishMap[fishId];
        
        if (fish.weight < _amount + addWeight) 
            revert();
        
        fish.weight -= _amount;
        
        ERC20Interface token = ERC20Interface(tokenContract);
        if (_amount > token.balanceOf(address(this))) {
            revert();
        }
        token.transfer(msg.sender, (_amount * cashOutRate) / 100);
        EventCashout(msg.sender, fishId, fish.weight);
    }
    
    // public get 
    function getFish(uint32 _fishId) constant public returns(address player, uint weight, bool active) {
        Fish storage fish = fishMap[_fishId];
        return (fish.player, fish.weight, fish.active);
    }
    
    function getFishByAddress(address _player) constant public returns(uint fishId, address player, uint weight, bool active) {
        fishId = players[_player];
        Fish storage fish = fishMap[fishId];
        player = fish.player;
        weight =fish.weight;
        active = fish.active;
    }
    
    function getFishIdByAddress(address _player) constant public returns(uint fishId) {
        return players[_player];
    }
    
    function getFishIdByPos(uint _pos) constant public returns(uint fishId) {
        return ocean[_pos];
    }
    
    function getFishByPos(uint _pos) constant public returns(uint fishId, address player, uint weight) {
        fishId = ocean[_pos];
        Fish storage fish = fishMap[fishId];
        return (fishId, fish.player, fish.weight);
    }
    
    // cell has valid fish or bonus
    function findTargetCell(uint _fromPos, uint _toPos) constant public returns(uint pos, uint fishId, address player, uint weight) {
        for (uint index = _fromPos; index <= _toPos; index+=1) {
            if (ocean[index] > 0) {
                fishId = ocean[index];
                Fish storage fish = fishMap[fishId];
                return (index, fishId, fish.player, fish.weight);
            }
            if (bonus[index] > 0) {
                return (index, 0, address(0), bonus[index]);
            }
        }
    }
    
    function getStats() constant public returns(uint countFish, uint countBonus) {
        countFish = 0;
        countBonus = 0;
        for (uint index = 0; index < width * HIGH; index++) {
            if (ocean[index] > 0) {
                countFish += 1; 
            } else if (bonus[index] > 0) {
                countBonus += 1;
            }
        }
    }
    
    function getFishAtBase(uint _fishId) constant public returns(uint fishId, address player, uint weight) {
        for (uint id = _fishId; id <= totalFish; id++) {
            Fish storage fish = fishMap[id];
            if (fish.weight > 0 && !fish.active) {
                return (id, fish.player, fish.weight);
            }
        }
        
        return (0, address(0), 0);
    }
    
    function getMaxJump(uint _weight) constant public returns(uint) {
        return maxJumps[_weight];
    }
    
    // some meta data
    string public constant name = "EmontFrenzy";
    string public constant symbol = "EMONF";

    function totalSupply() public view returns (uint256) {
        return totalFish;
    }
    
    function balanceOf(address _owner) public view returns (uint256 _balance) {
        if (fishMap[players[_owner]].weight > 0)
            return 1;
        return 0;
    }
    
    function ownerOf(uint256 _tokenId) public view returns (address _owner) {
        Fish storage fish = fishMap[_tokenId];
        if (fish.weight > 0)
            return fish.player;
        return address(0);
    }
    
    function transfer(address _to, uint256 _tokenId) public{
        require(_to != address(0));
        
        uint fishId = players[msg.sender];
        Fish storage fish = fishMap[fishId];
        if (fishId == 0 || fish.weight == 0 || fishId != _tokenId)
            revert();
        
        if (balanceOf(_to) > 0)
            revert();
        
        fish.player = _to;
        players[msg.sender] = 0;
        players[_to] = fishId;
        
        Transfer(msg.sender, _to, _tokenId);
    }
    
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"maxPos","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"moderators","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"addFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addFee","type":"uint256"},{"name":"_addWeight","type":"uint256"},{"name":"_moveCharge","type":"uint256"},{"name":"_cashOutRate","type":"uint256"},{"name":"_cashInRate","type":"uint256"},{"name":"_width","type":"uint256"}],"name":"setConfig","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_isMaintaining","type":"bool"}],"name":"UpdateMaintaining","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_weight","type":"uint256"}],"name":"getMaxJump","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalModerators","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_fishId","type":"uint32"}],"name":"getFish","outputs":[{"name":"player","type":"address"},{"name":"weight","type":"uint256"},{"name":"active","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cashOutRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sendTo","type":"address"},{"name":"_amount","type":"uint256"}],"name":"withdrawEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ONE_EMONT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_player","type":"address"},{"name":"tokens","type":"uint256"}],"name":"AddFishByToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"BASE_POS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalFish","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"name":"_owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cashInRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newModerator","type":"address"}],"name":"AddModerator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"_balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_fromPos","type":"uint256"},{"name":"_toPos","type":"uint256"}],"name":"MoveFish","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_fromPos","type":"uint256"},{"name":"_toPos","type":"uint256"}],"name":"findTargetCell","outputs":[{"name":"pos","type":"uint256"},{"name":"fishId","type":"uint256"},{"name":"player","type":"address"},{"name":"weight","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"AddFish","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_weight","type":"uint256"},{"name":"_squareLength","type":"uint256"}],"name":"updateMaxJump","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_player","type":"address"}],"name":"getFishIdByAddress","outputs":[{"name":"fishId","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sendTo","type":"address"},{"name":"_amount","type":"uint256"}],"name":"withdrawToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"width","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"CashOut","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_pos","type":"uint256"},{"name":"_amount","type":"uint256"}],"name":"addBonus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_fishId","type":"uint256"}],"name":"getFishAtBase","outputs":[{"name":"fishId","type":"uint256"},{"name":"player","type":"address"},{"name":"weight","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"HIGH","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_oldModerator","type":"address"}],"name":"RemoveModerator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_pos","type":"uint256"}],"name":"getFishIdByPos","outputs":[{"name":"fishId","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"moveCharge","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getStats","outputs":[{"name":"countFish","type":"uint256"},{"name":"countBonus","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_seed","type":"uint256"}],"name":"getRandom","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minJump","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_minJump","type":"uint256"}],"name":"updateMinJump","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_a","type":"uint256"},{"name":"_b","type":"uint256"}],"name":"DeductABS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"_pos","type":"uint256"}],"name":"getFishByPos","outputs":[{"name":"fishId","type":"uint256"},{"name":"player","type":"address"},{"name":"weight","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isMaintaining","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"ChangeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"setDefaultMaxJump","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_player","type":"address"}],"name":"getFishByAddress","outputs":[{"name":"fishId","type":"uint256"},{"name":"player","type":"address"},{"name":"weight","type":"uint256"},{"name":"active","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"addWeight","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_tokenContract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"player","type":"address"},{"indexed":false,"name":"fishId","type":"uint256"},{"indexed":false,"name":"weight","type":"uint256"}],"name":"EventCashout","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"pos","type":"uint256"},{"indexed":false,"name":"value","type":"uint256"}],"name":"EventBonus","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"player","type":"address"},{"indexed":false,"name":"fishId","type":"uint256"},{"indexed":false,"name":"fromPos","type":"uint256"},{"indexed":false,"name":"toPos","type":"uint256"},{"indexed":false,"name":"weight","type":"uint256"}],"name":"EventMove","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"player","type":"address"},{"indexed":true,"name":"defender","type":"address"},{"indexed":false,"name":"playerFishId","type":"uint256"},{"indexed":false,"name":"defenderFishId","type":"uint256"},{"indexed":false,"name":"fromPos","type":"uint256"},{"indexed":false,"name":"toPos","type":"uint256"},{"indexed":false,"name":"playerWeight","type":"uint256"}],"name":"EventEat","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"player","type":"address"},{"indexed":true,"name":"defender","type":"address"},{"indexed":false,"name":"playerFishId","type":"uint256"},{"indexed":false,"name":"defenderFishId","type":"uint256"},{"indexed":false,"name":"fromPos","type":"uint256"},{"indexed":false,"name":"toPos","type":"uint256"},{"indexed":false,"name":"defenderWeight","type":"uint256"}],"name":"EventSuicide","type":"event"}]

606060405260008060146101000a81548161ffff021916908361ffff1602179055506000600260006101000a81548160ff021916908315150217905550662386f26fc10000600555631dcd65006006556005600755606460085560326009556032600a556004600b55600a54601402600c55600060125534156200008257600080fd5b6040516020806200361283398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200014060006200014d6401000000000262002dea176401000000009004565b600381905550506200017a565b60008142446040518083815260200182815260200192505050604051809103902060019004189050919050565b613488806200018a6000396000f300606060405260043610610251576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301239adf1461025657806306fdde031461027f57806314d0f1ba1461030d57806318160ddd1461035e5780632f48f1511461038757806333835161146103b057806348ef5aa8146104005780634db77d9d146104255780634efb023e1461045c5780634fbf6e9f1461048d578063503c849e14610508578063522f68151461053157806354f60aea1461057357806355a373d61461059c57806359b62658146105f15780635c7b9ccf1461063357806362b26f951461065c5780636352211e14610685578063672324ac146106e85780636c81fd6d1461071157806370a082311461074a578063754ad9811461079757806378761590146107c35780637c17dc02146108445780638da5cb5b1461084e578063905473cf146108a357806395d89b41146108cf5780639b01c7ac1461095d5780639e281a98146109aa5780639ededf77146109ec5780639ffa071114610a15578063a9059cbb14610a38578063b02b69d614610a7a578063b60868be14610aa6578063b73974a114610b17578063b85d627514610b40578063be32eeba14610b79578063c0b332c114610bb0578063c59d484714610bd9578063cd4b691414610c09578063cf2d03ae14610c40578063d398806d14610c69578063d4fa902114610c8c578063ecd747de14610ccc578063ee4e441614610d3d578063f285329214610d6a578063f838ea1a14610da3578063f8ecb55814610db8578063fbe3549c14610e4a575b600080fd5b341561026157600080fd5b610269610e73565b6040518082815260200191505060405180910390f35b341561028a57600080fd5b610292610e79565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102d25780820151818401526020810190506102b7565b50505050905090810190601f1680156102ff5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561031857600080fd5b610344600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610eb2565b604051808215151515815260200191505060405180910390f35b341561036957600080fd5b610371610ed2565b6040518082815260200191505060405180910390f35b341561039257600080fd5b61039a610edc565b6040518082815260200191505060405180910390f35b34156103bb57600080fd5b6103fe6004808035906020019091908035906020019091908035906020019091908035906020019091908035906020019091908035906020019091905050610ee2565b005b341561040b57600080fd5b61042360048080351515906020019091905050610fd6565b005b341561043057600080fd5b610446600480803590602001909190505061104e565b6040518082815260200191505060405180910390f35b341561046757600080fd5b61046f61106b565b604051808261ffff1661ffff16815260200191505060405180910390f35b341561049857600080fd5b6104b4600480803563ffffffff1690602001909190505061107f565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182151515158152602001935050505060405180910390f35b341561051357600080fd5b61051b6110ea565b6040518082815260200191505060405180910390f35b341561053c57600080fd5b610571600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506110f0565b005b341561057e57600080fd5b61058661120e565b6040518082815260200191505060405180910390f35b34156105a757600080fd5b6105af611216565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105fc57600080fd5b610631600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061123c565b005b341561063e57600080fd5b6106466114d3565b6040518082815260200191505060405180910390f35b341561066757600080fd5b61066f6114d9565b6040518082815260200191505060405180910390f35b341561069057600080fd5b6106a660048080359060200190919050506114df565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106f357600080fd5b6106fb61153b565b6040518082815260200191505060405180910390f35b341561071c57600080fd5b610748600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611541565b005b341561075557600080fd5b610781600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611681565b6040518082815260200191505060405180910390f35b34156107a257600080fd5b6107c160048080359060200190919080359060200190919050506116f3565b005b34156107ce57600080fd5b6107ed6004808035906020019091908035906020019091905050611e43565b604051808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390f35b61084c611f34565b005b341561085957600080fd5b61086161211a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156108ae57600080fd5b6108cd600480803590602001909190803590602001909190505061213f565b005b34156108da57600080fd5b6108e2612211565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610922578082015181840152602081019050610907565b50505050905090810190601f16801561094f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561096857600080fd5b610994600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061224a565b6040518082815260200191505060405180910390f35b34156109b557600080fd5b6109ea600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612293565b005b34156109f757600080fd5b6109ff612564565b6040518082815260200191505060405180910390f35b3415610a2057600080fd5b610a36600480803590602001909190505061256a565b005b3415610a4357600080fd5b610a78600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061282f565b005b3415610a8557600080fd5b610aa46004808035906020019091908035906020019091905050612a3a565b005b3415610ab157600080fd5b610ac76004808035906020019091905050612b54565b604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390f35b3415610b2257600080fd5b610b2a612c06565b6040518082815260200191505060405180910390f35b3415610b4b57600080fd5b610b77600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612c0b565b005b3415610b8457600080fd5b610b9a6004808035906020019091905050612d4c565b6040518082815260200191505060405180910390f35b3415610bbb57600080fd5b610bc3612d69565b6040518082815260200191505060405180910390f35b3415610be457600080fd5b610bec612d6f565b604051808381526020018281526020019250505060405180910390f35b3415610c1457600080fd5b610c2a6004808035906020019091905050612dea565b6040518082815260200191505060405180910390f35b3415610c4b57600080fd5b610c53612e17565b6040518082815260200191505060405180910390f35b3415610c7457600080fd5b610c8a6004808035906020019091905050612e1d565b005b3415610c9757600080fd5b610cb66004808035906020019091908035906020019091905050612edd565b6040518082815260200191505060405180910390f35b3415610cd757600080fd5b610ced6004808035906020019091905050612efd565b604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390f35b3415610d4857600080fd5b610d50612f67565b604051808215151515815260200191505060405180910390f35b3415610d7557600080fd5b610da1600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612f7a565b005b3415610dae57600080fd5b610db661304f565b005b3415610dc357600080fd5b610def600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506133ad565b604051808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018215151515815260200194505050505060405180910390f35b3415610e5557600080fd5b610e5d613456565b6040518082815260200191505060405180910390f35b600c5481565b6040805190810160405280600b81526020017f456d6f6e744672656e7a7900000000000000000000000000000000000000000081525081565b60016020528060005260406000206000915054906101000a900460ff1681565b6000601254905090565b60055481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f8d575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b1515610f9857600080fd5b856005819055508460068190555083600781905550826008819055508160098190555080600a81905550600a54601402600c81905550505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561103157600080fd5b80600260006101000a81548160ff02191690831515021790555050565b600060116000838152602001908152602001600020549050919050565b600060149054906101000a900461ffff1681565b600080600080600d60008663ffffffff16815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600101548260020160009054906101000a900460ff16935093509350509193909250565b60085481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061119b575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156111a657600080fd5b3073ffffffffffffffffffffffffffffffffffffffff16318111156111ca57600080fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561120a57600080fd5b5050565b6305f5e10081565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806112ea575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156112f557600080fd5b6064600954840281151561130557fe5b0491506006548214151561131857600080fd5b6000600d6000601060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054815260200190815260200160002060010154111561137b57600080fd5b6001601260008282540192505081905550600d600060125481526020019081526020016000209050838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654816001018190555060008160020160006101000a81548160ff021916908315150217905550601254601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061145f600354612dea565b6003819055508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012546040518082815260200191505060405180910390a350505050565b6101fe81565b60125481565b600080600d60008481526020019081526020016000209050600081600101541115611530578060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150611535565b600091505b50919050565b60095481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561159c57600080fd5b60001515600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141561167e5760018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600060148282829054906101000a900461ffff160192506101000a81548161ffff021916908361ffff1602179055505b50565b600080600d6000601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481526020019081526020016000206001015411156116e957600190506116ee565b600090505b919050565b600080600080600080600260009054906101000a900460ff1615151561171857600080fd5b600c54871015801561172a5750868814155b1561173457600080fd5b601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549550600d6000878152602001908152602001600020945060008560010154141561179d57600080fd5b8460020160009054906101000a900460ff161580156117be57506101fe8814155b156117c857600080fd5b8460020160009054906101000a900460ff1680156117f9575085600e60008a81526020019081526020016000205414155b1561180357600080fd5b61182560148981151561181257fe5b0460148981151561181f57fe5b04612edd565b935061184960148981151561183657fe5b0660148981151561184357fe5b06612edd565b9250601160006305f5e100876001015481151561186257fe5b048152602001908152602001600020549150600082141561188357600b5491505b8183840285860201111561189657600080fd5b6000600e60008a8152602001908152602001600020819055506101fe881415156119095760648560010154600754028115156118ce57fe5b04935083600f60008a815260200190815260200160002060008282540192505081905550838560010160008282540392505081905550611927565b60018560020160006101000a81548160ff0219169083151502179055505b6101fe8714156119bd5760008560020160006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff167f0a4f6de26755798436390daf3719fe42b9f04c44b2fe0625de4342e1e2459a10878a8a89600101546040518085815260200184815260200183815260200182815260200194505050505060405180910390a2611e39565b600e60008881526020019081526020016000205493506000841415611abe576000600f6000898152602001908152602001600020541115611a3757600f60008881526020019081526020016000205485600101600082825401925050819055506000600f6000898152602001908152602001600020819055505b3373ffffffffffffffffffffffffffffffffffffffff167f0a4f6de26755798436390daf3719fe42b9f04c44b2fe0625de4342e1e2459a10878a8a89600101546040518085815260200184815260200183815260200182815260200194505050505060405180910390a285600e600089815260200190815260200160002081905550611e38565b6101fe881415611acd57600080fd5b600d6000858152602001908152602001600020905084600101548160010154111515611c6757806001015485600101600082825401925050819055506000816001018190555085600e6000898152602001908152602001600020819055508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc15f52570a93e125c446dad9d62b70661ca12a0f34b6b4fe6375284706576c4f88878c8c8b60010154604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a3611e37565b611c72600354612dea565b6003819055506001600c5403600354811515611c8a57fe5b0692506101fe831415611c9e576001830192505b6002856001015402600f6000858152602001908152602001600020819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2836002876001015402604051808381526020018281526020019250505060405180910390a184600101548160010160008282540392505081905550600085600101819055508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fca1dfeb0fb285992538d0b85b07f749d9c530b608237c5aca0726b3ee383509f88878c8c8760010154604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040518082815260200191505060405180910390a35b5b5b5050505050505050565b6000806000806000808791505b8682111515611f28576000600e6000848152602001908152602001600020541115611ed957600e6000838152602001908152602001600020549450600d6000868152602001908152602001600020905081858260000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600101549550955095509550611f29565b6000600f6000848152602001908152602001600020541115611f1d5781600080600f6000868152602001908152602001600020548292509550955095509550611f29565b600182019150611e50565b5b505092959194509250565b6000600260009054906101000a900460ff16151515611f5257600080fd5b60055434141515611f6257600080fd5b6000600d6000601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548152602001908152602001600020600101541115611fc557600080fd5b6001601260008282540192505081905550600d600060125481526020019081526020016000209050338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654816001018190555060008160020160006101000a81548160ff021916908315150217905550601254601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120a9600354612dea565b6003819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012546040518082815260200191505060405180910390a350565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806121ea575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156121f557600080fd5b8060116000848152602001908152602001600020819055505050565b6040805190810160405280600581526020017f454d4f4e4600000000000000000000000000000000000000000000000000000081525081565b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612340575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561234b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156123a957600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561247157600080fd5b6102c65a03f1151561248257600080fd5b5050506040518051905082111561249857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561254357600080fd5b6102c65a03f1151561255457600080fd5b5050506040518051905050505050565b600a5481565b6000806000600260009054906101000a900460ff1615151561258b57600080fd5b601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549250600d600084815260200190815260200160002091506006548401826001015410156125f757600080fd5b838260010160008282540392505081905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15156126d157600080fd5b6102c65a03f115156126e257600080fd5b505050604051805190508411156126f857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb336064600854880281151561272557fe5b046000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156127b357600080fd5b6102c65a03f115156127c457600080fd5b50505060405180519050503373ffffffffffffffffffffffffffffffffffffffff167f34f1b4b50ab1fe8066f90e4b650517b54750c5450d115a4ca83183ba27d69b48848460010154604051808381526020018281526020019250505060405180910390a250505050565b600080600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561286e57600080fd5b601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549150600d6000838152602001908152602001600020905060008214806128d8575060008160010154145b806128e35750828214155b156128ed57600080fd5b60006128f885611681565b111561290357600080fd5b838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a350505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612ae5575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b1515612af057600080fd5b80600f6000848152602001908152602001600020600082825401925050819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e28282604051808381526020018281526020019250505060405180910390a15050565b60008060008060008591505b60125482111515612beb57600d6000838152602001908152602001600020905060008160010154118015612ba357508060020160009054906101000a900460ff16155b15612bde57818160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168260010154945094509450612bfd565b8180600101925050612b60565b60008060008292508090509450945094505b50509193909250565b601481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612c6657600080fd5b60011515600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415612d49576000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600060148282829054906101000a900461ffff160392506101000a81548161ffff021916908361ffff1602179055505b50565b6000600e6000838152602001908152602001600020549050919050565b60075481565b600080600080925060009150600090505b6014600a5402811015612de5576000600e6000838152602001908152602001600020541115612db457600183019250612dd8565b6000600f6000838152602001908152602001600020541115612dd7576001820191505b5b8080600101915050612d80565b509091565b60008142446040518083815260200182815260200192505050604051809103902060019004189050919050565b600b5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612ec8575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b1515612ed357600080fd5b80600b8190555050565b600081831115612ef1578183039050612ef7565b82820390505b92915050565b600080600080600e6000868152602001908152602001600020549350600d60008581526020019081526020016000209050838160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168260010154935093509350509193909250565b600260009054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612fd557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151561304c57806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806130fa575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561310557600080fd5b6109c4601160008081526020019081526020016000208190555061038460116000600181526020019081526020016000208190555061019060116000600281526020019081526020016000208190555060e1601160006003815260200190815260200160002081905550609060116000600481526020019081526020016000208190555060516011600060058152602001908152602001600020819055506031601160006006815260200190815260200160002081905550603160116000600781526020019081526020016000208190555060246011600060088152602001908152602001600020819055506024601160006009815260200190815260200160002081905550602460116000600a815260200190815260200160002081905550601960116000600b815260200190815260200160002081905550601960116000600c815260200190815260200160002081905550601960116000600d815260200190815260200160002081905550601960116000600e815260200190815260200160002081905550601060116000600f8152602001908152602001600020819055506010601160006010815260200190815260200160002081905550601060116000601181526020019081526020016000208190555060106011600060128152602001908152602001600020819055506010601160006013815260200190815260200160002081905550600960116000601481526020019081526020016000208190555060096011600060158152602001908152602001600020819055506009601160006016815260200190815260200160002081905550600960116000601781526020019081526020016000208190555060096011600060188152602001908152602001600020819055506009601160006019815260200190815260200160002081905550565b6000806000806000601060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549450600d600086815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169350806001015492508060020160009054906101000a900460ff169150509193509193565b600654815600a165627a7a723058206c406328c6f2d09cef94851ce0a80164f53acbea30373363958c4278ed71fabe002900000000000000000000000095daaab98046846bf4b2853e23cba236fa394a31

Deployed Bytecode

0x606060405260043610610251576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301239adf1461025657806306fdde031461027f57806314d0f1ba1461030d57806318160ddd1461035e5780632f48f1511461038757806333835161146103b057806348ef5aa8146104005780634db77d9d146104255780634efb023e1461045c5780634fbf6e9f1461048d578063503c849e14610508578063522f68151461053157806354f60aea1461057357806355a373d61461059c57806359b62658146105f15780635c7b9ccf1461063357806362b26f951461065c5780636352211e14610685578063672324ac146106e85780636c81fd6d1461071157806370a082311461074a578063754ad9811461079757806378761590146107c35780637c17dc02146108445780638da5cb5b1461084e578063905473cf146108a357806395d89b41146108cf5780639b01c7ac1461095d5780639e281a98146109aa5780639ededf77146109ec5780639ffa071114610a15578063a9059cbb14610a38578063b02b69d614610a7a578063b60868be14610aa6578063b73974a114610b17578063b85d627514610b40578063be32eeba14610b79578063c0b332c114610bb0578063c59d484714610bd9578063cd4b691414610c09578063cf2d03ae14610c40578063d398806d14610c69578063d4fa902114610c8c578063ecd747de14610ccc578063ee4e441614610d3d578063f285329214610d6a578063f838ea1a14610da3578063f8ecb55814610db8578063fbe3549c14610e4a575b600080fd5b341561026157600080fd5b610269610e73565b6040518082815260200191505060405180910390f35b341561028a57600080fd5b610292610e79565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102d25780820151818401526020810190506102b7565b50505050905090810190601f1680156102ff5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561031857600080fd5b610344600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610eb2565b604051808215151515815260200191505060405180910390f35b341561036957600080fd5b610371610ed2565b6040518082815260200191505060405180910390f35b341561039257600080fd5b61039a610edc565b6040518082815260200191505060405180910390f35b34156103bb57600080fd5b6103fe6004808035906020019091908035906020019091908035906020019091908035906020019091908035906020019091908035906020019091905050610ee2565b005b341561040b57600080fd5b61042360048080351515906020019091905050610fd6565b005b341561043057600080fd5b610446600480803590602001909190505061104e565b6040518082815260200191505060405180910390f35b341561046757600080fd5b61046f61106b565b604051808261ffff1661ffff16815260200191505060405180910390f35b341561049857600080fd5b6104b4600480803563ffffffff1690602001909190505061107f565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182151515158152602001935050505060405180910390f35b341561051357600080fd5b61051b6110ea565b6040518082815260200191505060405180910390f35b341561053c57600080fd5b610571600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506110f0565b005b341561057e57600080fd5b61058661120e565b6040518082815260200191505060405180910390f35b34156105a757600080fd5b6105af611216565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105fc57600080fd5b610631600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061123c565b005b341561063e57600080fd5b6106466114d3565b6040518082815260200191505060405180910390f35b341561066757600080fd5b61066f6114d9565b6040518082815260200191505060405180910390f35b341561069057600080fd5b6106a660048080359060200190919050506114df565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106f357600080fd5b6106fb61153b565b6040518082815260200191505060405180910390f35b341561071c57600080fd5b610748600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611541565b005b341561075557600080fd5b610781600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611681565b6040518082815260200191505060405180910390f35b34156107a257600080fd5b6107c160048080359060200190919080359060200190919050506116f3565b005b34156107ce57600080fd5b6107ed6004808035906020019091908035906020019091905050611e43565b604051808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390f35b61084c611f34565b005b341561085957600080fd5b61086161211a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156108ae57600080fd5b6108cd600480803590602001909190803590602001909190505061213f565b005b34156108da57600080fd5b6108e2612211565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610922578082015181840152602081019050610907565b50505050905090810190601f16801561094f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561096857600080fd5b610994600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061224a565b6040518082815260200191505060405180910390f35b34156109b557600080fd5b6109ea600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612293565b005b34156109f757600080fd5b6109ff612564565b6040518082815260200191505060405180910390f35b3415610a2057600080fd5b610a36600480803590602001909190505061256a565b005b3415610a4357600080fd5b610a78600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061282f565b005b3415610a8557600080fd5b610aa46004808035906020019091908035906020019091905050612a3a565b005b3415610ab157600080fd5b610ac76004808035906020019091905050612b54565b604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390f35b3415610b2257600080fd5b610b2a612c06565b6040518082815260200191505060405180910390f35b3415610b4b57600080fd5b610b77600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612c0b565b005b3415610b8457600080fd5b610b9a6004808035906020019091905050612d4c565b6040518082815260200191505060405180910390f35b3415610bbb57600080fd5b610bc3612d69565b6040518082815260200191505060405180910390f35b3415610be457600080fd5b610bec612d6f565b604051808381526020018281526020019250505060405180910390f35b3415610c1457600080fd5b610c2a6004808035906020019091905050612dea565b6040518082815260200191505060405180910390f35b3415610c4b57600080fd5b610c53612e17565b6040518082815260200191505060405180910390f35b3415610c7457600080fd5b610c8a6004808035906020019091905050612e1d565b005b3415610c9757600080fd5b610cb66004808035906020019091908035906020019091905050612edd565b6040518082815260200191505060405180910390f35b3415610cd757600080fd5b610ced6004808035906020019091905050612efd565b604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390f35b3415610d4857600080fd5b610d50612f67565b604051808215151515815260200191505060405180910390f35b3415610d7557600080fd5b610da1600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612f7a565b005b3415610dae57600080fd5b610db661304f565b005b3415610dc357600080fd5b610def600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506133ad565b604051808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018215151515815260200194505050505060405180910390f35b3415610e5557600080fd5b610e5d613456565b6040518082815260200191505060405180910390f35b600c5481565b6040805190810160405280600b81526020017f456d6f6e744672656e7a7900000000000000000000000000000000000000000081525081565b60016020528060005260406000206000915054906101000a900460ff1681565b6000601254905090565b60055481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f8d575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b1515610f9857600080fd5b856005819055508460068190555083600781905550826008819055508160098190555080600a81905550600a54601402600c81905550505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561103157600080fd5b80600260006101000a81548160ff02191690831515021790555050565b600060116000838152602001908152602001600020549050919050565b600060149054906101000a900461ffff1681565b600080600080600d60008663ffffffff16815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600101548260020160009054906101000a900460ff16935093509350509193909250565b60085481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061119b575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156111a657600080fd5b3073ffffffffffffffffffffffffffffffffffffffff16318111156111ca57600080fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561120a57600080fd5b5050565b6305f5e10081565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806112ea575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156112f557600080fd5b6064600954840281151561130557fe5b0491506006548214151561131857600080fd5b6000600d6000601060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054815260200190815260200160002060010154111561137b57600080fd5b6001601260008282540192505081905550600d600060125481526020019081526020016000209050838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654816001018190555060008160020160006101000a81548160ff021916908315150217905550601254601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061145f600354612dea565b6003819055508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012546040518082815260200191505060405180910390a350505050565b6101fe81565b60125481565b600080600d60008481526020019081526020016000209050600081600101541115611530578060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150611535565b600091505b50919050565b60095481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561159c57600080fd5b60001515600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141561167e5760018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600060148282829054906101000a900461ffff160192506101000a81548161ffff021916908361ffff1602179055505b50565b600080600d6000601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481526020019081526020016000206001015411156116e957600190506116ee565b600090505b919050565b600080600080600080600260009054906101000a900460ff1615151561171857600080fd5b600c54871015801561172a5750868814155b1561173457600080fd5b601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549550600d6000878152602001908152602001600020945060008560010154141561179d57600080fd5b8460020160009054906101000a900460ff161580156117be57506101fe8814155b156117c857600080fd5b8460020160009054906101000a900460ff1680156117f9575085600e60008a81526020019081526020016000205414155b1561180357600080fd5b61182560148981151561181257fe5b0460148981151561181f57fe5b04612edd565b935061184960148981151561183657fe5b0660148981151561184357fe5b06612edd565b9250601160006305f5e100876001015481151561186257fe5b048152602001908152602001600020549150600082141561188357600b5491505b8183840285860201111561189657600080fd5b6000600e60008a8152602001908152602001600020819055506101fe881415156119095760648560010154600754028115156118ce57fe5b04935083600f60008a815260200190815260200160002060008282540192505081905550838560010160008282540392505081905550611927565b60018560020160006101000a81548160ff0219169083151502179055505b6101fe8714156119bd5760008560020160006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff167f0a4f6de26755798436390daf3719fe42b9f04c44b2fe0625de4342e1e2459a10878a8a89600101546040518085815260200184815260200183815260200182815260200194505050505060405180910390a2611e39565b600e60008881526020019081526020016000205493506000841415611abe576000600f6000898152602001908152602001600020541115611a3757600f60008881526020019081526020016000205485600101600082825401925050819055506000600f6000898152602001908152602001600020819055505b3373ffffffffffffffffffffffffffffffffffffffff167f0a4f6de26755798436390daf3719fe42b9f04c44b2fe0625de4342e1e2459a10878a8a89600101546040518085815260200184815260200183815260200182815260200194505050505060405180910390a285600e600089815260200190815260200160002081905550611e38565b6101fe881415611acd57600080fd5b600d6000858152602001908152602001600020905084600101548160010154111515611c6757806001015485600101600082825401925050819055506000816001018190555085600e6000898152602001908152602001600020819055508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc15f52570a93e125c446dad9d62b70661ca12a0f34b6b4fe6375284706576c4f88878c8c8b60010154604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a3611e37565b611c72600354612dea565b6003819055506001600c5403600354811515611c8a57fe5b0692506101fe831415611c9e576001830192505b6002856001015402600f6000858152602001908152602001600020819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e2836002876001015402604051808381526020018281526020019250505060405180910390a184600101548160010160008282540392505081905550600085600101819055508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fca1dfeb0fb285992538d0b85b07f749d9c530b608237c5aca0726b3ee383509f88878c8c8760010154604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a3600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040518082815260200191505060405180910390a35b5b5b5050505050505050565b6000806000806000808791505b8682111515611f28576000600e6000848152602001908152602001600020541115611ed957600e6000838152602001908152602001600020549450600d6000868152602001908152602001600020905081858260000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600101549550955095509550611f29565b6000600f6000848152602001908152602001600020541115611f1d5781600080600f6000868152602001908152602001600020548292509550955095509550611f29565b600182019150611e50565b5b505092959194509250565b6000600260009054906101000a900460ff16151515611f5257600080fd5b60055434141515611f6257600080fd5b6000600d6000601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548152602001908152602001600020600101541115611fc557600080fd5b6001601260008282540192505081905550600d600060125481526020019081526020016000209050338160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654816001018190555060008160020160006101000a81548160ff021916908315150217905550601254601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120a9600354612dea565b6003819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012546040518082815260200191505060405180910390a350565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806121ea575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15156121f557600080fd5b8060116000848152602001908152602001600020819055505050565b6040805190810160405280600581526020017f454d4f4e4600000000000000000000000000000000000000000000000000000081525081565b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612340575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561234b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156123a957600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561247157600080fd5b6102c65a03f1151561248257600080fd5b5050506040518051905082111561249857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561254357600080fd5b6102c65a03f1151561255457600080fd5b5050506040518051905050505050565b600a5481565b6000806000600260009054906101000a900460ff1615151561258b57600080fd5b601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549250600d600084815260200190815260200160002091506006548401826001015410156125f757600080fd5b838260010160008282540392505081905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15156126d157600080fd5b6102c65a03f115156126e257600080fd5b505050604051805190508411156126f857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb336064600854880281151561272557fe5b046000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156127b357600080fd5b6102c65a03f115156127c457600080fd5b50505060405180519050503373ffffffffffffffffffffffffffffffffffffffff167f34f1b4b50ab1fe8066f90e4b650517b54750c5450d115a4ca83183ba27d69b48848460010154604051808381526020018281526020019250505060405180910390a250505050565b600080600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561286e57600080fd5b601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549150600d6000838152602001908152602001600020905060008214806128d8575060008160010154145b806128e35750828214155b156128ed57600080fd5b60006128f885611681565b111561290357600080fd5b838160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a350505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612ae5575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b1515612af057600080fd5b80600f6000848152602001908152602001600020600082825401925050819055507f8711a2393e2fe98769f70ccbd7a1a0f7db5582a113e5645a5ef1e637f3eee0e28282604051808381526020018281526020019250505060405180910390a15050565b60008060008060008591505b60125482111515612beb57600d6000838152602001908152602001600020905060008160010154118015612ba357508060020160009054906101000a900460ff16155b15612bde57818160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168260010154945094509450612bfd565b8180600101925050612b60565b60008060008292508090509450945094505b50509193909250565b601481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612c6657600080fd5b60011515600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415612d49576000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600060148282829054906101000a900461ffff160392506101000a81548161ffff021916908361ffff1602179055505b50565b6000600e6000838152602001908152602001600020549050919050565b60075481565b600080600080925060009150600090505b6014600a5402811015612de5576000600e6000838152602001908152602001600020541115612db457600183019250612dd8565b6000600f6000838152602001908152602001600020541115612dd7576001820191505b5b8080600101915050612d80565b509091565b60008142446040518083815260200182815260200192505050604051809103902060019004189050919050565b600b5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612ec8575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b1515612ed357600080fd5b80600b8190555050565b600081831115612ef1578183039050612ef7565b82820390505b92915050565b600080600080600e6000868152602001908152602001600020549350600d60008581526020019081526020016000209050838160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168260010154935093509350509193909250565b600260009054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612fd557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151561304c57806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806130fa575060011515600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561310557600080fd5b6109c4601160008081526020019081526020016000208190555061038460116000600181526020019081526020016000208190555061019060116000600281526020019081526020016000208190555060e1601160006003815260200190815260200160002081905550609060116000600481526020019081526020016000208190555060516011600060058152602001908152602001600020819055506031601160006006815260200190815260200160002081905550603160116000600781526020019081526020016000208190555060246011600060088152602001908152602001600020819055506024601160006009815260200190815260200160002081905550602460116000600a815260200190815260200160002081905550601960116000600b815260200190815260200160002081905550601960116000600c815260200190815260200160002081905550601960116000600d815260200190815260200160002081905550601960116000600e815260200190815260200160002081905550601060116000600f8152602001908152602001600020819055506010601160006010815260200190815260200160002081905550601060116000601181526020019081526020016000208190555060106011600060128152602001908152602001600020819055506010601160006013815260200190815260200160002081905550600960116000601481526020019081526020016000208190555060096011600060158152602001908152602001600020819055506009601160006016815260200190815260200160002081905550600960116000601781526020019081526020016000208190555060096011600060188152602001908152602001600020819055506009601160006019815260200190815260200160002081905550565b6000806000806000601060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549450600d600086815260200190815260200160002090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169350806001015492508060020160009054906101000a900460ff169150509193509193565b600654815600a165627a7a723058206c406328c6f2d09cef94851ce0a80164f53acbea30373363958c4278ed71fabe0029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000095daaab98046846bf4b2853e23cba236fa394a31

-----Decoded View---------------
Arg [0] : _tokenContract (address): 0x95dAaaB98046846bF4B2853e23cba236fa394A31

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000095daaab98046846bf4b2853e23cba236fa394a31


Swarm Source

bzzr://6c406328c6f2d09cef94851ce0a80164f53acbea30373363958c4278ed71fabe
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.