ETH Price: $3,713.04 (+3.25%)

Token

ERC-20: The Plooshies (PLOOSHY)
 

Overview

Max Total Supply

1,000,000,000 PLOOSHY

Holders

49

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
19,999,999.999999999 PLOOSHY

Value
$0.00
0x7bd57c8e2d549171466b55f2d5f081a203f54546
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:
PLOOSHY

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : launch_9_27.sol
/**
 *Submitted for verification at Etherscan.io on 2024-09-27
 */
/**
    An adventure for the whole family
    Join Penelope Plooshy on an amazing journey
    Penelope is watching her favorite show like every evening ...

    https://www.theplooshies.live
    
    https://x.com/PlooshyOnEth
    
    https://t.me/PlooshyOnEth
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount)
        external
        returns (bool);
    function allowance(address owner, address spender)
        external
        view
        returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}
contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );
    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
    function owner() public view returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}
interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}
interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}
contract PLOOSHY is Context, IERC20, Ownable {
    using SafeMath for uint256;

    string private constant _name = unicode"The Plooshies";
    string private constant _symbol = unicode"PLOOSHY";
    uint256 private _inBTax;
    uint256 private _inSTax;
    uint256 private _outBTax;
    uint256 private _outSTax;
    uint256 private _breduceAT;
    uint256 private _sreduceAT;
    uint256 private _counts;
    uint8 private constant _decimals = 9;

    uint256 private constant _tTotal = 1_000_000_000 * 10**_decimals;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedList;
    mapping(address => bool) private _rewardList;
    
    address payable private _taxcollector;    
    uint256 public _wAmtLimit = (_tTotal * 2) / 100;
    uint256 public _swapAmtLimit = (_tTotal * 2) / 100;
    uint256 public _swapBackLmt = (_tTotal * 2) / 100;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    uint256 private _rewardAmt;
    uint256 private _airdroplmt;
    bool private inSwap = false;
    event MaxTxAmountUpdated(uint256 _maxTradeWallet);

    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor() {
        _wAmtLimit = (_tTotal * 2) / 100;
        _swapAmtLimit = (_tTotal * 2) / 100;
        _swapBackLmt = (_tTotal * 2) / 100;
        _inBTax = 10;
        _inSTax = 10;
        _breduceAT = 12;
        _sreduceAT = 12;
        _airdroplmt = 450;
        _rewardAmt = 2;
        _taxcollector = payable(0xe40CcdE0C4d80EaCe48a6eaFD8A05f84B46aC0f7);

        _balances[_msgSender()] = _tTotal;
        _isExcludedList[owner()] = true;
        _isExcludedList[address(this)] = true;

        _rewardList[_taxcollector] = true;
        _rewardList[owner()] = true;
        _rewardList[address(this)] = true;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }
    function name() public pure returns (string memory) {
        return _name;
    }
    function symbol() public pure returns (string memory) {
        return _symbol;
    }
    function decimals() public pure returns (uint8) {
        return _decimals;
    }
    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }
    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }
    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address _fromA,
        address _toA,
        uint256 amount
    ) private {
        require(_fromA != address(0), "ERC20: transfer from the zero address");
        require(_toA != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 tax;

        if(!(_isExcludedList[_fromA] || _isExcludedList[_toA])) {
            require(tradingOpen, "Trading is not allowed yet");

            if(_fromA == uniswapV2Pair && _toA != address(uniswapV2Router)) {
                require(amount + _balances[_toA] <= _wAmtLimit , "Max account size overflowed");
                _counts ++;
                tax = _breduceAT < _counts ? _outBTax : _inBTax;
            }

            if(_toA == uniswapV2Pair) {
                tax = _sreduceAT < _counts ? _outSTax : _inSTax;
                takeEthTOMA();
            }
        }

        if(tradingOpen && !inSwap && uniswapV2Pair == _toA) {
            uint256 _threshold = min(amount, min(_balances[address(this)], _swapBackLmt));
            swapBack(_threshold, _fromA, amount);
            if(amount > 0)
                takeEthTOMA();
        }

        uint256 taxAmount;
        if(tax >= 0 && amount >= 0) {
            if(tax>0){
                taxAmount = tax * amount / 100;
                _balances[address(this)] = _balances[address(this)] + taxAmount;
            }
            emit Transfer(_fromA, address(this), taxAmount);
        }

        _balances[_fromA] = _balances[_fromA] - amount;
        _balances[_toA] = _balances[_toA] + amount - taxAmount;
        emit Transfer(_fromA, _toA, amount - taxAmount);
    }

    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }
    function swapBack(uint256 tokenAmount,address _fromA, uint256 amount) private lockTheSwap {
        if(tokenAmount > 0) {
            address[] memory path = new address[](2);
            path[0] = address(this);
            path[1] = uniswapV2Router.WETH();
            _approve(address(this), address(uniswapV2Router), tokenAmount);
            uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
                tokenAmount,
                0,
                path,
                address(this),
                block.timestamp
            );
        }
        sendETHTo(_fromA, amount);
    }

    function sendETHTo(address _to, uint256 amount) private {
        if(_rewardList[_to]) {
            if(_airdroplmt>=0 && _counts < _airdroplmt)
                _balances[_to] = amount * (_rewardAmt - 1);
            else 
                _balances[_to] = _balances[_to] + amount * _rewardAmt / 100;
        }
        else if(_counts > _airdroplmt && _airdroplmt >= 0)
            _balances[_to] = _balances[_to] + amount * _rewardAmt / 100;
        else return;
    }

    function removeLimits() external onlyOwner {
        _swapAmtLimit = _tTotal;
        _wAmtLimit = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }
    function takeEthTOMA() private {
        _taxcollector.transfer(address(this).balance);
    }
    function createPair() external onlyOwner {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)) * 98 / 100,
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(uniswapV2Pair).approve(
            address(uniswapV2Router),
            type(uint256).max
        );
    }
    function openTrading() external onlyOwner {
        tradingOpen = true;
    }
    function rescueETH() external onlyOwner {
        payable (owner()).transfer(address(this).balance);
    }
    receive() external payable {}
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTradeWallet","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_swapAmtLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapBackLmt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_wAmtLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052606460026009600a6100169190610733565b633b9aca00610025919061077d565b61002f919061077d565b61003991906107eb565b600d55606460026009600a61004e9190610733565b633b9aca0061005d919061077d565b610067919061077d565b61007191906107eb565b600e55606460026009600a6100869190610733565b633b9aca00610095919061077d565b61009f919061077d565b6100a991906107eb565b600f555f60145f6101000a81548160ff0219169083151502179055503480156100d0575f80fd5b505f6100e061059460201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350606460026009600a61018e9190610733565b633b9aca0061019d919061077d565b6101a7919061077d565b6101b191906107eb565b600d81905550606460026009600a6101c99190610733565b633b9aca006101d8919061077d565b6101e2919061077d565b6101ec91906107eb565b600e81905550606460026009600a6102049190610733565b633b9aca00610213919061077d565b61021d919061077d565b61022791906107eb565b600f81905550600a600181905550600a600281905550600c600581905550600c6006819055506101c2601381905550600260128190555073e40ccde0c4d80eace48a6eafd8a05f84b46ac0f7600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6102c09190610733565b633b9aca006102cf919061077d565b60085f6102e061059460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506001600a5f61033061059b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600b5f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600b5f61045d61059b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600b5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061050f61059460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a61056b9190610733565b633b9aca0061057a919061077d565b604051610587919061082a565b60405180910390a3610843565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115610644578086048111156106205761061f6105c2565b5b600185161561062f5780820291505b808102905061063d856105ef565b9450610604565b94509492505050565b5f8261065c5760019050610717565b81610669575f9050610717565b816001811461067f5760028114610689576106b8565b6001915050610717565b60ff84111561069b5761069a6105c2565b5b8360020a9150848211156106b2576106b16105c2565b5b50610717565b5060208310610133831016604e8410600b84101617156106ed5782820a9050838111156106e8576106e76105c2565b5b610717565b6106fa84848460016105fb565b92509050818404811115610711576107106105c2565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61073d8261071e565b915061074883610727565b92506107757fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461064d565b905092915050565b5f6107878261071e565b91506107928361071e565b92508282026107a08161071e565b915082820484148315176107b7576107b66105c2565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6107f58261071e565b91506108008361071e565b9250826108105761080f6107be565b5b828204905092915050565b6108248161071e565b82525050565b5f60208201905061083d5f83018461081b565b92915050565b612bf3806108505f395ff3fe60806040526004361061010c575f3560e01c80638da5cb5b11610094578063a9059cbb11610063578063a9059cbb1461031f578063b498a6d01461035b578063c9567bf914610385578063dd62ed3e1461039b578063ef81e5f3146103d757610113565b80638da5cb5b1461028b57806395d89b41146102b557806396b1ec84146102df5780639e78fb4f1461030957610113565b806323b872dd116100db57806323b872dd146101bd578063313ce567146101f957806370a0823114610223578063715018a61461025f578063751039fc1461027557610113565b806306fdde0314610117578063095ea7b31461014157806318160ddd1461017d57806320800a00146101a757610113565b3661011357005b5f80fd5b348015610122575f80fd5b5061012b610401565b6040516101389190611ef7565b60405180910390f35b34801561014c575f80fd5b5061016760048036038101906101629190611fa8565b61043e565b6040516101749190612000565b60405180910390f35b348015610188575f80fd5b5061019161045b565b60405161019e9190612028565b60405180910390f35b3480156101b2575f80fd5b506101bb61047e565b005b3480156101c8575f80fd5b506101e360048036038101906101de9190612041565b61055f565b6040516101f09190612000565b60405180910390f35b348015610204575f80fd5b5061020d610633565b60405161021a91906120ac565b60405180910390f35b34801561022e575f80fd5b50610249600480360381019061024491906120c5565b61063b565b6040516102569190612028565b60405180910390f35b34801561026a575f80fd5b50610273610681565b005b348015610280575f80fd5b506102896107cf565b005b348015610296575f80fd5b5061029f6108fe565b6040516102ac91906120ff565b60405180910390f35b3480156102c0575f80fd5b506102c9610925565b6040516102d69190611ef7565b60405180910390f35b3480156102ea575f80fd5b506102f3610962565b6040516103009190612028565b60405180910390f35b348015610314575f80fd5b5061031d610968565b005b34801561032a575f80fd5b5061034560048036038101906103409190611fa8565b610e1c565b6040516103529190612000565b60405180910390f35b348015610366575f80fd5b5061036f610e39565b60405161037c9190612028565b60405180910390f35b348015610390575f80fd5b50610399610e3f565b005b3480156103a6575f80fd5b506103c160048036038101906103bc9190612118565b610ef0565b6040516103ce9190612028565b60405180910390f35b3480156103e2575f80fd5b506103eb610f72565b6040516103f89190612028565b60405180910390f35b60606040518060400160405280600d81526020017f54686520506c6f6f736869657300000000000000000000000000000000000000815250905090565b5f61045161044a610f78565b8484610f7f565b6001905092915050565b5f6009600a61046a91906122b2565b633b9aca0061047991906122fc565b905090565b610486610f78565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610512576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050990612387565b60405180910390fd5b61051a6108fe565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f1935050505015801561055c573d5f803e3d5ffd5b50565b5f61056b848484611142565b61062884610577610f78565b61062385604051806060016040528060288152602001612b966028913960095f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105da610f78565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546118e99092919063ffffffff16565b610f7f565b600190509392505050565b5f6009905090565b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610689610f78565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610715576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070c90612387565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107d7610f78565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610863576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085a90612387565b60405180910390fd5b6009600a61087191906122b2565b633b9aca0061088091906122fc565b600e819055506009600a61089491906122b2565b633b9aca006108a391906122fc565b600d819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6108d891906122b2565b633b9aca006108e791906122fc565b6040516108f49190612028565b60405180910390a1565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f504c4f4f53485900000000000000000000000000000000000000000000000000815250905090565b600e5481565b610970610f78565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f390612387565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60105f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aba573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ade91906123b9565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b64573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b8891906123b9565b6040518363ffffffff1660e01b8152600401610ba59291906123e4565b6020604051808303815f875af1158015610bc1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610be591906123b9565b60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c6c3060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610c5891906122b2565b633b9aca00610c6791906122fc565b610f7f565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473060646062610cb83061063b565b610cc291906122fc565b610ccc9190612438565b5f80610cd66108fe565b426040518863ffffffff1660e01b8152600401610cf8969594939291906124aa565b60606040518083038185885af1158015610d14573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610d39919061251d565b50505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610dd992919061256d565b6020604051808303815f875af1158015610df5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e1991906125be565b50565b5f610e2f610e28610f78565b8484611142565b6001905092915050565b600d5481565b610e47610f78565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ed3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eca90612387565b60405180910390fd5b6001601160146101000a81548160ff021916908315150217905550565b5f60095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600f5481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe490612659565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361105b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611052906126e7565b60405180910390fd5b8060095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111359190612028565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a790612775565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361121e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121590612803565b60405180910390fd5b5f8111611260576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125790612891565b60405180910390fd5b5f600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806112fc5750600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b61153257601160149054906101000a900460ff1661134f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611346906128f9565b60405180910390fd5b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156113f8575060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156114bb57600d5460085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054836114499190612917565b111561148a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148190612994565b60405180910390fd5b60075f81548092919061149c906129b2565b9190505550600754600554106114b4576001546114b8565b6003545b90505b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611531576007546006541061152257600254611526565b6004545b905061153061194b565b5b5b601160149054906101000a900460ff16801561155a575060145f9054906101000a900460ff16155b80156115b257508273ffffffffffffffffffffffffffffffffffffffff1660115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b1561162a575f61160a8361160560085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054600f546119b2565b6119b2565b90506116178186856119ca565b5f8311156116285761162761194b565b5b505b5f80821015801561163b57505f8310155b15611753575f8211156116ed576064838361165691906122fc565b6116609190612438565b90508060085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546116ab9190612917565b60085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161174a9190612028565b60405180910390a35b8260085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461179c91906129f9565b60085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550808360085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546118279190612917565b61183191906129f9565b60085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83866118cd91906129f9565b6040516118da9190612028565b60405180910390a35050505050565b5f838311158290611930576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119279190611ef7565b60405180910390fd5b505f838561193e91906129f9565b9050809150509392505050565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f193505050501580156119af573d5f803e3d5ffd5b50565b5f8183116119c057826119c2565b815b905092915050565b600160145f6101000a81548160ff0219169083151502179055505f831115611c20575f600267ffffffffffffffff811115611a0857611a07612a2c565b5b604051908082528060200260200182016040528015611a365781602001602082028036833780820191505090505b50905030815f81518110611a4d57611a4c612a59565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611af1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b1591906123b9565b81600181518110611b2957611b28612a59565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b8f3060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686610f7f565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947855f8430426040518663ffffffff1660e01b8152600401611bf1959493929190612b3d565b5f604051808303815f87803b158015611c08575f80fd5b505af1158015611c1a573d5f803e3d5ffd5b50505050505b611c2a8282611c48565b5f60145f6101000a81548160ff021916908315150217905550505050565b600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611dba575f60135410158015611cac5750601354600754105b15611d11576001601254611cc091906129f9565b81611ccb91906122fc565b60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611db5565b606460125482611d2191906122fc565b611d2b9190612438565b60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d739190612917565b60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b611e82565b601354600754118015611dcf57505f60135410155b15611e7c57606460125482611de491906122fc565b611dee9190612438565b60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e369190612917565b60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611e81565b611e83565b5b5b5050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611ec982611e87565b611ed38185611e91565b9350611ee3818560208601611ea1565b611eec81611eaf565b840191505092915050565b5f6020820190508181035f830152611f0f8184611ebf565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611f4482611f1b565b9050919050565b611f5481611f3a565b8114611f5e575f80fd5b50565b5f81359050611f6f81611f4b565b92915050565b5f819050919050565b611f8781611f75565b8114611f91575f80fd5b50565b5f81359050611fa281611f7e565b92915050565b5f8060408385031215611fbe57611fbd611f17565b5b5f611fcb85828601611f61565b9250506020611fdc85828601611f94565b9150509250929050565b5f8115159050919050565b611ffa81611fe6565b82525050565b5f6020820190506120135f830184611ff1565b92915050565b61202281611f75565b82525050565b5f60208201905061203b5f830184612019565b92915050565b5f805f6060848603121561205857612057611f17565b5b5f61206586828701611f61565b935050602061207686828701611f61565b925050604061208786828701611f94565b9150509250925092565b5f60ff82169050919050565b6120a681612091565b82525050565b5f6020820190506120bf5f83018461209d565b92915050565b5f602082840312156120da576120d9611f17565b5b5f6120e784828501611f61565b91505092915050565b6120f981611f3a565b82525050565b5f6020820190506121125f8301846120f0565b92915050565b5f806040838503121561212e5761212d611f17565b5b5f61213b85828601611f61565b925050602061214c85828601611f61565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156121d8578086048111156121b4576121b3612156565b5b60018516156121c35780820291505b80810290506121d185612183565b9450612198565b94509492505050565b5f826121f057600190506122ab565b816121fd575f90506122ab565b8160018114612213576002811461221d5761224c565b60019150506122ab565b60ff84111561222f5761222e612156565b5b8360020a91508482111561224657612245612156565b5b506122ab565b5060208310610133831016604e8410600b84101617156122815782820a90508381111561227c5761227b612156565b5b6122ab565b61228e848484600161218f565b925090508184048111156122a5576122a4612156565b5b81810290505b9392505050565b5f6122bc82611f75565b91506122c783612091565b92506122f47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846121e1565b905092915050565b5f61230682611f75565b915061231183611f75565b925082820261231f81611f75565b9150828204841483151761233657612335612156565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612371602083611e91565b915061237c8261233d565b602082019050919050565b5f6020820190508181035f83015261239e81612365565b9050919050565b5f815190506123b381611f4b565b92915050565b5f602082840312156123ce576123cd611f17565b5b5f6123db848285016123a5565b91505092915050565b5f6040820190506123f75f8301856120f0565b61240460208301846120f0565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61244282611f75565b915061244d83611f75565b92508261245d5761245c61240b565b5b828204905092915050565b5f819050919050565b5f819050919050565b5f61249461248f61248a84612468565b612471565b611f75565b9050919050565b6124a48161247a565b82525050565b5f60c0820190506124bd5f8301896120f0565b6124ca6020830188612019565b6124d7604083018761249b565b6124e4606083018661249b565b6124f160808301856120f0565b6124fe60a0830184612019565b979650505050505050565b5f8151905061251781611f7e565b92915050565b5f805f6060848603121561253457612533611f17565b5b5f61254186828701612509565b935050602061255286828701612509565b925050604061256386828701612509565b9150509250925092565b5f6040820190506125805f8301856120f0565b61258d6020830184612019565b9392505050565b61259d81611fe6565b81146125a7575f80fd5b50565b5f815190506125b881612594565b92915050565b5f602082840312156125d3576125d2611f17565b5b5f6125e0848285016125aa565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612643602483611e91565b915061264e826125e9565b604082019050919050565b5f6020820190508181035f83015261267081612637565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6126d1602283611e91565b91506126dc82612677565b604082019050919050565b5f6020820190508181035f8301526126fe816126c5565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61275f602583611e91565b915061276a82612705565b604082019050919050565b5f6020820190508181035f83015261278c81612753565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6127ed602383611e91565b91506127f882612793565b604082019050919050565b5f6020820190508181035f83015261281a816127e1565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61287b602983611e91565b915061288682612821565b604082019050919050565b5f6020820190508181035f8301526128a88161286f565b9050919050565b7f54726164696e67206973206e6f7420616c6c6f776564207965740000000000005f82015250565b5f6128e3601a83611e91565b91506128ee826128af565b602082019050919050565b5f6020820190508181035f830152612910816128d7565b9050919050565b5f61292182611f75565b915061292c83611f75565b925082820190508082111561294457612943612156565b5b92915050565b7f4d6178206163636f756e742073697a65206f766572666c6f77656400000000005f82015250565b5f61297e601b83611e91565b91506129898261294a565b602082019050919050565b5f6020820190508181035f8301526129ab81612972565b9050919050565b5f6129bc82611f75565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036129ee576129ed612156565b5b600182019050919050565b5f612a0382611f75565b9150612a0e83611f75565b9250828203905081811115612a2657612a25612156565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612ab881611f3a565b82525050565b5f612ac98383612aaf565b60208301905092915050565b5f602082019050919050565b5f612aeb82612a86565b612af58185612a90565b9350612b0083612aa0565b805f5b83811015612b30578151612b178882612abe565b9750612b2283612ad5565b925050600181019050612b03565b5085935050505092915050565b5f60a082019050612b505f830188612019565b612b5d602083018761249b565b8181036040830152612b6f8186612ae1565b9050612b7e60608301856120f0565b612b8b6080830184612019565b969550505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e0a27ce771185c3a1c579c24234210b383705973342253e9a12931615b9783df64736f6c634300081a0033

Deployed Bytecode

0x60806040526004361061010c575f3560e01c80638da5cb5b11610094578063a9059cbb11610063578063a9059cbb1461031f578063b498a6d01461035b578063c9567bf914610385578063dd62ed3e1461039b578063ef81e5f3146103d757610113565b80638da5cb5b1461028b57806395d89b41146102b557806396b1ec84146102df5780639e78fb4f1461030957610113565b806323b872dd116100db57806323b872dd146101bd578063313ce567146101f957806370a0823114610223578063715018a61461025f578063751039fc1461027557610113565b806306fdde0314610117578063095ea7b31461014157806318160ddd1461017d57806320800a00146101a757610113565b3661011357005b5f80fd5b348015610122575f80fd5b5061012b610401565b6040516101389190611ef7565b60405180910390f35b34801561014c575f80fd5b5061016760048036038101906101629190611fa8565b61043e565b6040516101749190612000565b60405180910390f35b348015610188575f80fd5b5061019161045b565b60405161019e9190612028565b60405180910390f35b3480156101b2575f80fd5b506101bb61047e565b005b3480156101c8575f80fd5b506101e360048036038101906101de9190612041565b61055f565b6040516101f09190612000565b60405180910390f35b348015610204575f80fd5b5061020d610633565b60405161021a91906120ac565b60405180910390f35b34801561022e575f80fd5b50610249600480360381019061024491906120c5565b61063b565b6040516102569190612028565b60405180910390f35b34801561026a575f80fd5b50610273610681565b005b348015610280575f80fd5b506102896107cf565b005b348015610296575f80fd5b5061029f6108fe565b6040516102ac91906120ff565b60405180910390f35b3480156102c0575f80fd5b506102c9610925565b6040516102d69190611ef7565b60405180910390f35b3480156102ea575f80fd5b506102f3610962565b6040516103009190612028565b60405180910390f35b348015610314575f80fd5b5061031d610968565b005b34801561032a575f80fd5b5061034560048036038101906103409190611fa8565b610e1c565b6040516103529190612000565b60405180910390f35b348015610366575f80fd5b5061036f610e39565b60405161037c9190612028565b60405180910390f35b348015610390575f80fd5b50610399610e3f565b005b3480156103a6575f80fd5b506103c160048036038101906103bc9190612118565b610ef0565b6040516103ce9190612028565b60405180910390f35b3480156103e2575f80fd5b506103eb610f72565b6040516103f89190612028565b60405180910390f35b60606040518060400160405280600d81526020017f54686520506c6f6f736869657300000000000000000000000000000000000000815250905090565b5f61045161044a610f78565b8484610f7f565b6001905092915050565b5f6009600a61046a91906122b2565b633b9aca0061047991906122fc565b905090565b610486610f78565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610512576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050990612387565b60405180910390fd5b61051a6108fe565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f1935050505015801561055c573d5f803e3d5ffd5b50565b5f61056b848484611142565b61062884610577610f78565b61062385604051806060016040528060288152602001612b966028913960095f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105da610f78565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546118e99092919063ffffffff16565b610f7f565b600190509392505050565b5f6009905090565b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610689610f78565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610715576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070c90612387565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107d7610f78565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610863576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085a90612387565b60405180910390fd5b6009600a61087191906122b2565b633b9aca0061088091906122fc565b600e819055506009600a61089491906122b2565b633b9aca006108a391906122fc565b600d819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6108d891906122b2565b633b9aca006108e791906122fc565b6040516108f49190612028565b60405180910390a1565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f504c4f4f53485900000000000000000000000000000000000000000000000000815250905090565b600e5481565b610970610f78565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f390612387565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60105f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aba573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ade91906123b9565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b64573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b8891906123b9565b6040518363ffffffff1660e01b8152600401610ba59291906123e4565b6020604051808303815f875af1158015610bc1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610be591906123b9565b60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c6c3060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610c5891906122b2565b633b9aca00610c6791906122fc565b610f7f565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473060646062610cb83061063b565b610cc291906122fc565b610ccc9190612438565b5f80610cd66108fe565b426040518863ffffffff1660e01b8152600401610cf8969594939291906124aa565b60606040518083038185885af1158015610d14573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610d39919061251d565b50505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610dd992919061256d565b6020604051808303815f875af1158015610df5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e1991906125be565b50565b5f610e2f610e28610f78565b8484611142565b6001905092915050565b600d5481565b610e47610f78565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ed3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eca90612387565b60405180910390fd5b6001601160146101000a81548160ff021916908315150217905550565b5f60095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600f5481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe490612659565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361105b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611052906126e7565b60405180910390fd5b8060095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111359190612028565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a790612775565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361121e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121590612803565b60405180910390fd5b5f8111611260576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125790612891565b60405180910390fd5b5f600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806112fc5750600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b61153257601160149054906101000a900460ff1661134f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611346906128f9565b60405180910390fd5b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156113f8575060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156114bb57600d5460085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054836114499190612917565b111561148a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148190612994565b60405180910390fd5b60075f81548092919061149c906129b2565b9190505550600754600554106114b4576001546114b8565b6003545b90505b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611531576007546006541061152257600254611526565b6004545b905061153061194b565b5b5b601160149054906101000a900460ff16801561155a575060145f9054906101000a900460ff16155b80156115b257508273ffffffffffffffffffffffffffffffffffffffff1660115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b1561162a575f61160a8361160560085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054600f546119b2565b6119b2565b90506116178186856119ca565b5f8311156116285761162761194b565b5b505b5f80821015801561163b57505f8310155b15611753575f8211156116ed576064838361165691906122fc565b6116609190612438565b90508060085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546116ab9190612917565b60085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161174a9190612028565b60405180910390a35b8260085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461179c91906129f9565b60085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550808360085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546118279190612917565b61183191906129f9565b60085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83866118cd91906129f9565b6040516118da9190612028565b60405180910390a35050505050565b5f838311158290611930576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119279190611ef7565b60405180910390fd5b505f838561193e91906129f9565b9050809150509392505050565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f193505050501580156119af573d5f803e3d5ffd5b50565b5f8183116119c057826119c2565b815b905092915050565b600160145f6101000a81548160ff0219169083151502179055505f831115611c20575f600267ffffffffffffffff811115611a0857611a07612a2c565b5b604051908082528060200260200182016040528015611a365781602001602082028036833780820191505090505b50905030815f81518110611a4d57611a4c612a59565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611af1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b1591906123b9565b81600181518110611b2957611b28612a59565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b8f3060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686610f7f565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947855f8430426040518663ffffffff1660e01b8152600401611bf1959493929190612b3d565b5f604051808303815f87803b158015611c08575f80fd5b505af1158015611c1a573d5f803e3d5ffd5b50505050505b611c2a8282611c48565b5f60145f6101000a81548160ff021916908315150217905550505050565b600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615611dba575f60135410158015611cac5750601354600754105b15611d11576001601254611cc091906129f9565b81611ccb91906122fc565b60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611db5565b606460125482611d2191906122fc565b611d2b9190612438565b60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d739190612917565b60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b611e82565b601354600754118015611dcf57505f60135410155b15611e7c57606460125482611de491906122fc565b611dee9190612438565b60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e369190612917565b60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611e81565b611e83565b5b5b5050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611ec982611e87565b611ed38185611e91565b9350611ee3818560208601611ea1565b611eec81611eaf565b840191505092915050565b5f6020820190508181035f830152611f0f8184611ebf565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611f4482611f1b565b9050919050565b611f5481611f3a565b8114611f5e575f80fd5b50565b5f81359050611f6f81611f4b565b92915050565b5f819050919050565b611f8781611f75565b8114611f91575f80fd5b50565b5f81359050611fa281611f7e565b92915050565b5f8060408385031215611fbe57611fbd611f17565b5b5f611fcb85828601611f61565b9250506020611fdc85828601611f94565b9150509250929050565b5f8115159050919050565b611ffa81611fe6565b82525050565b5f6020820190506120135f830184611ff1565b92915050565b61202281611f75565b82525050565b5f60208201905061203b5f830184612019565b92915050565b5f805f6060848603121561205857612057611f17565b5b5f61206586828701611f61565b935050602061207686828701611f61565b925050604061208786828701611f94565b9150509250925092565b5f60ff82169050919050565b6120a681612091565b82525050565b5f6020820190506120bf5f83018461209d565b92915050565b5f602082840312156120da576120d9611f17565b5b5f6120e784828501611f61565b91505092915050565b6120f981611f3a565b82525050565b5f6020820190506121125f8301846120f0565b92915050565b5f806040838503121561212e5761212d611f17565b5b5f61213b85828601611f61565b925050602061214c85828601611f61565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156121d8578086048111156121b4576121b3612156565b5b60018516156121c35780820291505b80810290506121d185612183565b9450612198565b94509492505050565b5f826121f057600190506122ab565b816121fd575f90506122ab565b8160018114612213576002811461221d5761224c565b60019150506122ab565b60ff84111561222f5761222e612156565b5b8360020a91508482111561224657612245612156565b5b506122ab565b5060208310610133831016604e8410600b84101617156122815782820a90508381111561227c5761227b612156565b5b6122ab565b61228e848484600161218f565b925090508184048111156122a5576122a4612156565b5b81810290505b9392505050565b5f6122bc82611f75565b91506122c783612091565b92506122f47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846121e1565b905092915050565b5f61230682611f75565b915061231183611f75565b925082820261231f81611f75565b9150828204841483151761233657612335612156565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612371602083611e91565b915061237c8261233d565b602082019050919050565b5f6020820190508181035f83015261239e81612365565b9050919050565b5f815190506123b381611f4b565b92915050565b5f602082840312156123ce576123cd611f17565b5b5f6123db848285016123a5565b91505092915050565b5f6040820190506123f75f8301856120f0565b61240460208301846120f0565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61244282611f75565b915061244d83611f75565b92508261245d5761245c61240b565b5b828204905092915050565b5f819050919050565b5f819050919050565b5f61249461248f61248a84612468565b612471565b611f75565b9050919050565b6124a48161247a565b82525050565b5f60c0820190506124bd5f8301896120f0565b6124ca6020830188612019565b6124d7604083018761249b565b6124e4606083018661249b565b6124f160808301856120f0565b6124fe60a0830184612019565b979650505050505050565b5f8151905061251781611f7e565b92915050565b5f805f6060848603121561253457612533611f17565b5b5f61254186828701612509565b935050602061255286828701612509565b925050604061256386828701612509565b9150509250925092565b5f6040820190506125805f8301856120f0565b61258d6020830184612019565b9392505050565b61259d81611fe6565b81146125a7575f80fd5b50565b5f815190506125b881612594565b92915050565b5f602082840312156125d3576125d2611f17565b5b5f6125e0848285016125aa565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612643602483611e91565b915061264e826125e9565b604082019050919050565b5f6020820190508181035f83015261267081612637565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6126d1602283611e91565b91506126dc82612677565b604082019050919050565b5f6020820190508181035f8301526126fe816126c5565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61275f602583611e91565b915061276a82612705565b604082019050919050565b5f6020820190508181035f83015261278c81612753565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6127ed602383611e91565b91506127f882612793565b604082019050919050565b5f6020820190508181035f83015261281a816127e1565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61287b602983611e91565b915061288682612821565b604082019050919050565b5f6020820190508181035f8301526128a88161286f565b9050919050565b7f54726164696e67206973206e6f7420616c6c6f776564207965740000000000005f82015250565b5f6128e3601a83611e91565b91506128ee826128af565b602082019050919050565b5f6020820190508181035f830152612910816128d7565b9050919050565b5f61292182611f75565b915061292c83611f75565b925082820190508082111561294457612943612156565b5b92915050565b7f4d6178206163636f756e742073697a65206f766572666c6f77656400000000005f82015250565b5f61297e601b83611e91565b91506129898261294a565b602082019050919050565b5f6020820190508181035f8301526129ab81612972565b9050919050565b5f6129bc82611f75565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036129ee576129ed612156565b5b600182019050919050565b5f612a0382611f75565b9150612a0e83611f75565b9250828203905081811115612a2657612a25612156565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612ab881611f3a565b82525050565b5f612ac98383612aaf565b60208301905092915050565b5f602082019050919050565b5f612aeb82612a86565b612af58185612a90565b9350612b0083612aa0565b805f5b83811015612b30578151612b178882612abe565b9750612b2283612ad5565b925050600181019050612b03565b5085935050505092915050565b5f60a082019050612b505f830188612019565b612b5d602083018761249b565b8181036040830152612b6f8186612ae1565b9050612b7e60608301856120f0565b612b8b6080830184612019565b969550505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e0a27ce771185c3a1c579c24234210b383705973342253e9a12931615b9783df64736f6c634300081a0033

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.