ETH Price: $2,462.32 (-4.22%)

Token

Kill Shiba (KSH)
 

Overview

Max Total Supply

100,000,000,000,000 KSH

Holders

45

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
761,477,530,268.452164889 KSH

Value
$0.00
0xf8db2e1Db83ae41a93b6405D3B7BEFb09cb4E858
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:
KillShiba

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-10-03
*/

// SPDX-License-Identifier: UNLICENSED 

pragma solidity ^0.8.4;

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

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    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(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract KillShiba is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1e14 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    string private constant _name = unicode"Kill Shiba";
    string private constant _symbol = unicode"KSH";
    uint8 private constant _decimals = 9;
    uint256 private _taxFee = 1;
    uint256 private _teamFee = 9;
    uint256 private _feeRate = 10;
    uint256 private _feeMultiplier = 1000;
    uint256 private _launchTime;
    uint256 private _previousTaxFee = _taxFee;
    uint256 private _previousteamFee = _teamFee;
    address payable private _FeeAddress;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;

    event FeeMultiplierUpdated(uint _multiplier);
    event FeeRateUpdated(uint _rate);

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor (address payable FeeAddress) {
        _FeeAddress = FeeAddress;
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[FeeAddress] = 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 tokenFromReflection(_rOwned[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 tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if(_taxFee == 0 && _teamFee == 0) return;
        _previousTaxFee = _taxFee;
        _previousteamFee = _teamFee;
        _taxFee = 0;
        _teamFee = 0;
    }
    
    function restoreAllFee() private {
        _taxFee = _previousTaxFee;
        _teamFee = _previousteamFee;
    }

    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 from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

            // buy
            if(from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
                require(tradingOpen, "Trading not yet enabled.");
                _teamFee = 9;
            }
            
            uint256 contractTokenBalance = balanceOf(address(this));

            // sell
            if(!inSwap && from != uniswapV2Pair && tradingOpen) {
                _teamFee = 9;
                if(contractTokenBalance > 0) {
                    if(contractTokenBalance > balanceOf(uniswapV2Pair).mul(_feeRate).div(100)) {
                        contractTokenBalance = balanceOf(uniswapV2Pair).mul(_feeRate).div(100);
                    }
                    swapTokensForEth(contractTokenBalance);
                }
                
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        bool takeFee = true;

        if (_isExcludedFromFee[from] || _isExcludedFromFee[to]){
            takeFee = false;
        }
        
        _tokenTransfer(from,to,amount,takeFee);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        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
        );
    }
        
    function sendETHToFee(uint256 amount) private {
        _FeeAddress.transfer(amount);
    }
    
    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private {
        if(!takeFee)
            removeAllFee();
        _transferStandard(sender, recipient, amount);
        if(!takeFee)
            restoreAllFee();
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 

        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _taxFee, _teamFee);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if(rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);

        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}
    
    function addLiquidity() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x03f7724180AA6b939894B5Ca4314783B0b36b329);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function killSTART() public onlyOwner {
        tradingOpen = true;
    }

    function manualswap() external {
        require(_msgSender() == _FeeAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function setFeeAddres(address payable addr) external onlyOwner {
        _FeeAddress = addr;
    }
    
    function manualsend() external {
        require(_msgSender() == _FeeAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    // fallback in case contract is not releasing tokens fast enough
    function setFeeRate(uint256 rate) external {
        require(_msgSender() == _FeeAddress);
        require(rate < 51, "Rate can't exceed 50%");
        _feeRate = rate;
        emit FeeRateUpdated(_feeRate);
    }


    function thisBalance() public view returns (uint) {
        return balanceOf(address(this));
    }


    function amountInPool() public view returns (uint) {
        return balanceOf(uniswapV2Pair);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"FeeAddress","type":"address"}],"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":"_multiplier","type":"uint256"}],"name":"FeeMultiplierUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_rate","type":"uint256"}],"name":"FeeRateUpdated","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":"addLiquidity","outputs":[],"stateMutability":"nonpayable","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":[],"name":"amountInPool","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"killSTART","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"addr","type":"address"}],"name":"setFeeAddres","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setFeeRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"thisBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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"}]

608060405269152d02c7e14af68000006000196200001e91906200049d565b6000196200002d919062000424565b600655600160085560098055600a80556103e8600b55600854600d55600954600e556000601160156101000a81548160ff0219169083151502179055503480156200007757600080fd5b50604051620036903803806200369083398181016040528101906200009d9190620003ca565b6000620000af6200038260201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060065460026000620001a56200038260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160056000620001f96200038a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200030a6200038260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef69152d02c7e14af680000060405162000373919062000407565b60405180910390a3506200054d565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050620003c48162000533565b92915050565b600060208284031215620003dd57600080fd5b6000620003ed84828501620003b3565b91505092915050565b620004018162000493565b82525050565b60006020820190506200041e6000830184620003f6565b92915050565b6000620004318262000493565b91506200043e8362000493565b925082821015620004545762000453620004d5565b5b828203905092915050565b60006200046c8262000473565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000620004aa8262000493565b9150620004b78362000493565b925082620004ca57620004c962000504565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6200053e816200045f565b81146200054a57600080fd5b50565b613133806200055d6000396000f3fe6080604052600436106101185760003560e01c8063715018a6116100a0578063c3c8cd8011610064578063c3c8cd801461039a578063db92dbb6146103b1578063dd62ed3e146103dc578063e4d8e21114610419578063e8078d94146104305761011f565b8063715018a6146102c75780638da5cb5b146102de57806395d89b4114610309578063a9059cbb14610334578063b7318155146103715761011f565b806327f3a72a116100e757806327f3a72a146101f4578063313ce5671461021f57806345596e2e1461024a5780636fc3eaec1461027357806370a082311461028a5761011f565b806306fdde0314610124578063095ea7b31461014f57806318160ddd1461018c57806323b872dd146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610447565b60405161014691906128cc565b60405180910390f35b34801561015b57600080fd5b5061017660048036038101906101719190612459565b610484565b60405161018391906128b1565b60405180910390f35b34801561019857600080fd5b506101a16104a2565b6040516101ae9190612a6e565b60405180910390f35b3480156101c357600080fd5b506101de60048036038101906101d9919061240a565b6104b4565b6040516101eb91906128b1565b60405180910390f35b34801561020057600080fd5b5061020961058d565b6040516102169190612a6e565b60405180910390f35b34801561022b57600080fd5b5061023461059d565b6040516102419190612ae3565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c91906124be565b6105a6565b005b34801561027f57600080fd5b5061028861068d565b005b34801561029657600080fd5b506102b160048036038101906102ac9190612353565b6106ff565b6040516102be9190612a6e565b60405180910390f35b3480156102d357600080fd5b506102dc610750565b005b3480156102ea57600080fd5b506102f36108a3565b60405161030091906127e3565b60405180910390f35b34801561031557600080fd5b5061031e6108cc565b60405161032b91906128cc565b60405180910390f35b34801561034057600080fd5b5061035b60048036038101906103569190612459565b610909565b60405161036891906128b1565b60405180910390f35b34801561037d57600080fd5b50610398600480360381019061039391906123a5565b610927565b005b3480156103a657600080fd5b506103af610a00565b005b3480156103bd57600080fd5b506103c6610a7a565b6040516103d39190612a6e565b60405180910390f35b3480156103e857600080fd5b5061040360048036038101906103fe91906123ce565b610aac565b6040516104109190612a6e565b60405180910390f35b34801561042557600080fd5b5061042e610b33565b005b34801561043c57600080fd5b50610445610be5565b005b60606040518060400160405280600a81526020017f4b696c6c20536869626100000000000000000000000000000000000000000000815250905090565b60006104986104916110e2565b84846110ea565b6001905092915050565b600069152d02c7e14af6800000905090565b60006104c18484846112b5565b610582846104cd6110e2565b61057d856040518060600160405280602881526020016130d660289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105336110e2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117709092919063ffffffff16565b6110ea565b600190509392505050565b6000610598306106ff565b905090565b60006009905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105e76110e2565b73ffffffffffffffffffffffffffffffffffffffff161461060757600080fd5b6033811061064a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106419061296e565b60405180910390fd5b80600a819055507f208f1b468d3d61f0f085e975bd9d04367c930d599642faad06695229f3eadcd8600a546040516106829190612a6e565b60405180910390a150565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106ce6110e2565b73ffffffffffffffffffffffffffffffffffffffff16146106ee57600080fd5b60004790506106fc816117d4565b50565b6000610749600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611840565b9050919050565b6107586110e2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107dc906129ae565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4b53480000000000000000000000000000000000000000000000000000000000815250905090565b600061091d6109166110e2565b84846112b5565b6001905092915050565b61092f6110e2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b3906129ae565b60405180910390fd5b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a416110e2565b73ffffffffffffffffffffffffffffffffffffffff1614610a6157600080fd5b6000610a6c306106ff565b9050610a77816118ae565b50565b6000610aa7601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166106ff565b905090565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610b3b6110e2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbf906129ae565b60405180910390fd5b6001601160146101000a81548160ff021916908315150217905550565b610bed6110e2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c71906129ae565b60405180910390fd5b601160149054906101000a900460ff1615610cca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc190612a2e565b60405180910390fd5b60007303f7724180aa6b939894b5ca4314783b0b36b329905080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d5b30601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1669152d02c7e14af68000006110ea565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610da157600080fd5b505afa158015610db5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd9919061237c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610e3b57600080fd5b505afa158015610e4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e73919061237c565b6040518363ffffffff1660e01b8152600401610e909291906127fe565b602060405180830381600087803b158015610eaa57600080fd5b505af1158015610ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee2919061237c565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f6b306106ff565b600080610f766108a3565b426040518863ffffffff1660e01b8152600401610f9896959493929190612850565b6060604051808303818588803b158015610fb157600080fd5b505af1158015610fc5573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610fea91906124e7565b505050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161108c929190612827565b602060405180830381600087803b1580156110a657600080fd5b505af11580156110ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110de9190612495565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561115a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115190612a0e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c19061292e565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112a89190612a6e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611325576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131c906129ee565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138c906128ee565b60405180910390fd5b600081116113d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cf906129ce565b60405180910390fd5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156114835750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156114d95750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561153557601160149054906101000a900460ff1661152d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152490612a4e565b60405180910390fd5b600980819055505b6000611540306106ff565b9050601160159054906101000a900460ff161580156115ad5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156115c55750601160149054906101000a900460ff165b156116ac576009808190555060008111156116925761162c606461161e600a54611610601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166106ff565b611ba890919063ffffffff16565b611c2390919063ffffffff16565b811115611688576116856064611677600a54611669601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166106ff565b611ba890919063ffffffff16565b611c2390919063ffffffff16565b90505b611691816118ae565b5b600047905060008111156116aa576116a9476117d4565b5b505b600060019050600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806117535750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561175d57600090505b61176985858584611c6d565b5050505050565b60008383111582906117b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117af91906128cc565b60405180910390fd5b50600083856117c79190612c34565b9050809150509392505050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561183c573d6000803e3d6000fd5b5050565b6000600654821115611887576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187e9061290e565b60405180910390fd5b6000611891611c9a565b90506118a68184611c2390919063ffffffff16565b915050919050565b6001601160156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561190c577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405190808252806020026020018201604052801561193a5781602001602082028036833780820191505090505b5090503081600081518110611978577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611a1a57600080fd5b505afa158015611a2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a52919061237c565b81600181518110611a8c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611af330601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110ea565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611b57959493929190612a89565b600060405180830381600087803b158015611b7157600080fd5b505af1158015611b85573d6000803e3d6000fd5b50505050506000601160156101000a81548160ff02191690831515021790555050565b600080831415611bbb5760009050611c1d565b60008284611bc99190612bda565b9050828482611bd89190612ba9565b14611c18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0f9061298e565b60405180910390fd5b809150505b92915050565b6000611c6583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611cc5565b905092915050565b80611c7b57611c7a611d28565b5b611c86848484611d6b565b80611c9457611c93611f36565b5b50505050565b6000806000611ca7611f4a565b91509150611cbe8183611c2390919063ffffffff16565b9250505090565b60008083118290611d0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0391906128cc565b60405180910390fd5b5060008385611d1b9190612ba9565b9050809150509392505050565b6000600854148015611d3c57506000600954145b15611d4657611d69565b600854600d81905550600954600e81905550600060088190555060006009819055505b565b600080600080600080611d7d87611faf565b955095509550955095509550611ddb86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461201790919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e7085600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461206190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ebc816120bf565b611ec6848361217c565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611f239190612a6e565b60405180910390a3505050505050505050565b600d54600881905550600e54600981905550565b60008060006006549050600069152d02c7e14af68000009050611f8269152d02c7e14af6800000600654611c2390919063ffffffff16565b821015611fa25760065469152d02c7e14af6800000935093505050611fab565b81819350935050505b9091565b6000806000806000806000806000611fcc8a6008546009546121b6565b9250925092506000611fdc611c9a565b90506000806000611fef8e87878761224c565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061205983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611770565b905092915050565b60008082846120709190612b53565b9050838110156120b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ac9061294e565b60405180910390fd5b8091505092915050565b60006120c9611c9a565b905060006120e08284611ba890919063ffffffff16565b905061213481600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461206190919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6121918260065461201790919063ffffffff16565b6006819055506121ac8160075461206190919063ffffffff16565b6007819055505050565b6000806000806121e260646121d4888a611ba890919063ffffffff16565b611c2390919063ffffffff16565b9050600061220c60646121fe888b611ba890919063ffffffff16565b611c2390919063ffffffff16565b9050600061223582612227858c61201790919063ffffffff16565b61201790919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806122658589611ba890919063ffffffff16565b9050600061227c8689611ba890919063ffffffff16565b905060006122938789611ba890919063ffffffff16565b905060006122bc826122ae858761201790919063ffffffff16565b61201790919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000813590506122e481613079565b92915050565b6000815190506122f981613079565b92915050565b60008135905061230e81613090565b92915050565b600081519050612323816130a7565b92915050565b600081359050612338816130be565b92915050565b60008151905061234d816130be565b92915050565b60006020828403121561236557600080fd5b6000612373848285016122d5565b91505092915050565b60006020828403121561238e57600080fd5b600061239c848285016122ea565b91505092915050565b6000602082840312156123b757600080fd5b60006123c5848285016122ff565b91505092915050565b600080604083850312156123e157600080fd5b60006123ef858286016122d5565b9250506020612400858286016122d5565b9150509250929050565b60008060006060848603121561241f57600080fd5b600061242d868287016122d5565b935050602061243e868287016122d5565b925050604061244f86828701612329565b9150509250925092565b6000806040838503121561246c57600080fd5b600061247a858286016122d5565b925050602061248b85828601612329565b9150509250929050565b6000602082840312156124a757600080fd5b60006124b584828501612314565b91505092915050565b6000602082840312156124d057600080fd5b60006124de84828501612329565b91505092915050565b6000806000606084860312156124fc57600080fd5b600061250a8682870161233e565b935050602061251b8682870161233e565b925050604061252c8682870161233e565b9150509250925092565b6000612542838361254e565b60208301905092915050565b61255781612c68565b82525050565b61256681612c68565b82525050565b600061257782612b0e565b6125818185612b31565b935061258c83612afe565b8060005b838110156125bd5781516125a48882612536565b97506125af83612b24565b925050600181019050612590565b5085935050505092915050565b6125d381612c8c565b82525050565b6125e281612ccf565b82525050565b60006125f382612b19565b6125fd8185612b42565b935061260d818560208601612ce1565b61261681612d72565b840191505092915050565b600061262e602383612b42565b915061263982612d83565b604082019050919050565b6000612651602a83612b42565b915061265c82612dd2565b604082019050919050565b6000612674602283612b42565b915061267f82612e21565b604082019050919050565b6000612697601b83612b42565b91506126a282612e70565b602082019050919050565b60006126ba601583612b42565b91506126c582612e99565b602082019050919050565b60006126dd602183612b42565b91506126e882612ec2565b604082019050919050565b6000612700602083612b42565b915061270b82612f11565b602082019050919050565b6000612723602983612b42565b915061272e82612f3a565b604082019050919050565b6000612746602583612b42565b915061275182612f89565b604082019050919050565b6000612769602483612b42565b915061277482612fd8565b604082019050919050565b600061278c601783612b42565b915061279782613027565b602082019050919050565b60006127af601883612b42565b91506127ba82613050565b602082019050919050565b6127ce81612cb8565b82525050565b6127dd81612cc2565b82525050565b60006020820190506127f8600083018461255d565b92915050565b6000604082019050612813600083018561255d565b612820602083018461255d565b9392505050565b600060408201905061283c600083018561255d565b61284960208301846127c5565b9392505050565b600060c082019050612865600083018961255d565b61287260208301886127c5565b61287f60408301876125d9565b61288c60608301866125d9565b612899608083018561255d565b6128a660a08301846127c5565b979650505050505050565b60006020820190506128c660008301846125ca565b92915050565b600060208201905081810360008301526128e681846125e8565b905092915050565b6000602082019050818103600083015261290781612621565b9050919050565b6000602082019050818103600083015261292781612644565b9050919050565b6000602082019050818103600083015261294781612667565b9050919050565b600060208201905081810360008301526129678161268a565b9050919050565b60006020820190508181036000830152612987816126ad565b9050919050565b600060208201905081810360008301526129a7816126d0565b9050919050565b600060208201905081810360008301526129c7816126f3565b9050919050565b600060208201905081810360008301526129e781612716565b9050919050565b60006020820190508181036000830152612a0781612739565b9050919050565b60006020820190508181036000830152612a278161275c565b9050919050565b60006020820190508181036000830152612a478161277f565b9050919050565b60006020820190508181036000830152612a67816127a2565b9050919050565b6000602082019050612a8360008301846127c5565b92915050565b600060a082019050612a9e60008301886127c5565b612aab60208301876125d9565b8181036040830152612abd818661256c565b9050612acc606083018561255d565b612ad960808301846127c5565b9695505050505050565b6000602082019050612af860008301846127d4565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612b5e82612cb8565b9150612b6983612cb8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612b9e57612b9d612d14565b5b828201905092915050565b6000612bb482612cb8565b9150612bbf83612cb8565b925082612bcf57612bce612d43565b5b828204905092915050565b6000612be582612cb8565b9150612bf083612cb8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612c2957612c28612d14565b5b828202905092915050565b6000612c3f82612cb8565b9150612c4a83612cb8565b925082821015612c5d57612c5c612d14565b5b828203905092915050565b6000612c7382612c98565b9050919050565b6000612c8582612c98565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612cda82612cb8565b9050919050565b60005b83811015612cff578082015181840152602081019050612ce4565b83811115612d0e576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f526174652063616e277420657863656564203530250000000000000000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b61308281612c68565b811461308d57600080fd5b50565b61309981612c7a565b81146130a457600080fd5b50565b6130b081612c8c565b81146130bb57600080fd5b50565b6130c781612cb8565b81146130d257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c2853d9f54f0fed9ed6c6061d4d6cd6cef361c9c61d71815fbabde7e58f4bb6764736f6c6343000804003300000000000000000000000055d49a008476dcac5526392ec09c624034dfda7a

Deployed Bytecode

0x6080604052600436106101185760003560e01c8063715018a6116100a0578063c3c8cd8011610064578063c3c8cd801461039a578063db92dbb6146103b1578063dd62ed3e146103dc578063e4d8e21114610419578063e8078d94146104305761011f565b8063715018a6146102c75780638da5cb5b146102de57806395d89b4114610309578063a9059cbb14610334578063b7318155146103715761011f565b806327f3a72a116100e757806327f3a72a146101f4578063313ce5671461021f57806345596e2e1461024a5780636fc3eaec1461027357806370a082311461028a5761011f565b806306fdde0314610124578063095ea7b31461014f57806318160ddd1461018c57806323b872dd146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610447565b60405161014691906128cc565b60405180910390f35b34801561015b57600080fd5b5061017660048036038101906101719190612459565b610484565b60405161018391906128b1565b60405180910390f35b34801561019857600080fd5b506101a16104a2565b6040516101ae9190612a6e565b60405180910390f35b3480156101c357600080fd5b506101de60048036038101906101d9919061240a565b6104b4565b6040516101eb91906128b1565b60405180910390f35b34801561020057600080fd5b5061020961058d565b6040516102169190612a6e565b60405180910390f35b34801561022b57600080fd5b5061023461059d565b6040516102419190612ae3565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c91906124be565b6105a6565b005b34801561027f57600080fd5b5061028861068d565b005b34801561029657600080fd5b506102b160048036038101906102ac9190612353565b6106ff565b6040516102be9190612a6e565b60405180910390f35b3480156102d357600080fd5b506102dc610750565b005b3480156102ea57600080fd5b506102f36108a3565b60405161030091906127e3565b60405180910390f35b34801561031557600080fd5b5061031e6108cc565b60405161032b91906128cc565b60405180910390f35b34801561034057600080fd5b5061035b60048036038101906103569190612459565b610909565b60405161036891906128b1565b60405180910390f35b34801561037d57600080fd5b50610398600480360381019061039391906123a5565b610927565b005b3480156103a657600080fd5b506103af610a00565b005b3480156103bd57600080fd5b506103c6610a7a565b6040516103d39190612a6e565b60405180910390f35b3480156103e857600080fd5b5061040360048036038101906103fe91906123ce565b610aac565b6040516104109190612a6e565b60405180910390f35b34801561042557600080fd5b5061042e610b33565b005b34801561043c57600080fd5b50610445610be5565b005b60606040518060400160405280600a81526020017f4b696c6c20536869626100000000000000000000000000000000000000000000815250905090565b60006104986104916110e2565b84846110ea565b6001905092915050565b600069152d02c7e14af6800000905090565b60006104c18484846112b5565b610582846104cd6110e2565b61057d856040518060600160405280602881526020016130d660289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105336110e2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117709092919063ffffffff16565b6110ea565b600190509392505050565b6000610598306106ff565b905090565b60006009905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105e76110e2565b73ffffffffffffffffffffffffffffffffffffffff161461060757600080fd5b6033811061064a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106419061296e565b60405180910390fd5b80600a819055507f208f1b468d3d61f0f085e975bd9d04367c930d599642faad06695229f3eadcd8600a546040516106829190612a6e565b60405180910390a150565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106ce6110e2565b73ffffffffffffffffffffffffffffffffffffffff16146106ee57600080fd5b60004790506106fc816117d4565b50565b6000610749600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611840565b9050919050565b6107586110e2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107dc906129ae565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4b53480000000000000000000000000000000000000000000000000000000000815250905090565b600061091d6109166110e2565b84846112b5565b6001905092915050565b61092f6110e2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b3906129ae565b60405180910390fd5b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a416110e2565b73ffffffffffffffffffffffffffffffffffffffff1614610a6157600080fd5b6000610a6c306106ff565b9050610a77816118ae565b50565b6000610aa7601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166106ff565b905090565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610b3b6110e2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbf906129ae565b60405180910390fd5b6001601160146101000a81548160ff021916908315150217905550565b610bed6110e2565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c71906129ae565b60405180910390fd5b601160149054906101000a900460ff1615610cca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc190612a2e565b60405180910390fd5b60007303f7724180aa6b939894b5ca4314783b0b36b329905080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d5b30601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1669152d02c7e14af68000006110ea565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610da157600080fd5b505afa158015610db5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd9919061237c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610e3b57600080fd5b505afa158015610e4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e73919061237c565b6040518363ffffffff1660e01b8152600401610e909291906127fe565b602060405180830381600087803b158015610eaa57600080fd5b505af1158015610ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee2919061237c565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f6b306106ff565b600080610f766108a3565b426040518863ffffffff1660e01b8152600401610f9896959493929190612850565b6060604051808303818588803b158015610fb157600080fd5b505af1158015610fc5573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610fea91906124e7565b505050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161108c929190612827565b602060405180830381600087803b1580156110a657600080fd5b505af11580156110ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110de9190612495565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561115a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115190612a0e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c19061292e565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112a89190612a6e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611325576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131c906129ee565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138c906128ee565b60405180910390fd5b600081116113d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cf906129ce565b60405180910390fd5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156114835750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156114d95750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561153557601160149054906101000a900460ff1661152d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152490612a4e565b60405180910390fd5b600980819055505b6000611540306106ff565b9050601160159054906101000a900460ff161580156115ad5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156115c55750601160149054906101000a900460ff165b156116ac576009808190555060008111156116925761162c606461161e600a54611610601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166106ff565b611ba890919063ffffffff16565b611c2390919063ffffffff16565b811115611688576116856064611677600a54611669601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166106ff565b611ba890919063ffffffff16565b611c2390919063ffffffff16565b90505b611691816118ae565b5b600047905060008111156116aa576116a9476117d4565b5b505b600060019050600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806117535750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561175d57600090505b61176985858584611c6d565b5050505050565b60008383111582906117b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117af91906128cc565b60405180910390fd5b50600083856117c79190612c34565b9050809150509392505050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561183c573d6000803e3d6000fd5b5050565b6000600654821115611887576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187e9061290e565b60405180910390fd5b6000611891611c9a565b90506118a68184611c2390919063ffffffff16565b915050919050565b6001601160156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561190c577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405190808252806020026020018201604052801561193a5781602001602082028036833780820191505090505b5090503081600081518110611978577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611a1a57600080fd5b505afa158015611a2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a52919061237c565b81600181518110611a8c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611af330601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110ea565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611b57959493929190612a89565b600060405180830381600087803b158015611b7157600080fd5b505af1158015611b85573d6000803e3d6000fd5b50505050506000601160156101000a81548160ff02191690831515021790555050565b600080831415611bbb5760009050611c1d565b60008284611bc99190612bda565b9050828482611bd89190612ba9565b14611c18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0f9061298e565b60405180910390fd5b809150505b92915050565b6000611c6583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611cc5565b905092915050565b80611c7b57611c7a611d28565b5b611c86848484611d6b565b80611c9457611c93611f36565b5b50505050565b6000806000611ca7611f4a565b91509150611cbe8183611c2390919063ffffffff16565b9250505090565b60008083118290611d0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0391906128cc565b60405180910390fd5b5060008385611d1b9190612ba9565b9050809150509392505050565b6000600854148015611d3c57506000600954145b15611d4657611d69565b600854600d81905550600954600e81905550600060088190555060006009819055505b565b600080600080600080611d7d87611faf565b955095509550955095509550611ddb86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461201790919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e7085600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461206190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ebc816120bf565b611ec6848361217c565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611f239190612a6e565b60405180910390a3505050505050505050565b600d54600881905550600e54600981905550565b60008060006006549050600069152d02c7e14af68000009050611f8269152d02c7e14af6800000600654611c2390919063ffffffff16565b821015611fa25760065469152d02c7e14af6800000935093505050611fab565b81819350935050505b9091565b6000806000806000806000806000611fcc8a6008546009546121b6565b9250925092506000611fdc611c9a565b90506000806000611fef8e87878761224c565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061205983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611770565b905092915050565b60008082846120709190612b53565b9050838110156120b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ac9061294e565b60405180910390fd5b8091505092915050565b60006120c9611c9a565b905060006120e08284611ba890919063ffffffff16565b905061213481600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461206190919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6121918260065461201790919063ffffffff16565b6006819055506121ac8160075461206190919063ffffffff16565b6007819055505050565b6000806000806121e260646121d4888a611ba890919063ffffffff16565b611c2390919063ffffffff16565b9050600061220c60646121fe888b611ba890919063ffffffff16565b611c2390919063ffffffff16565b9050600061223582612227858c61201790919063ffffffff16565b61201790919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806122658589611ba890919063ffffffff16565b9050600061227c8689611ba890919063ffffffff16565b905060006122938789611ba890919063ffffffff16565b905060006122bc826122ae858761201790919063ffffffff16565b61201790919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000813590506122e481613079565b92915050565b6000815190506122f981613079565b92915050565b60008135905061230e81613090565b92915050565b600081519050612323816130a7565b92915050565b600081359050612338816130be565b92915050565b60008151905061234d816130be565b92915050565b60006020828403121561236557600080fd5b6000612373848285016122d5565b91505092915050565b60006020828403121561238e57600080fd5b600061239c848285016122ea565b91505092915050565b6000602082840312156123b757600080fd5b60006123c5848285016122ff565b91505092915050565b600080604083850312156123e157600080fd5b60006123ef858286016122d5565b9250506020612400858286016122d5565b9150509250929050565b60008060006060848603121561241f57600080fd5b600061242d868287016122d5565b935050602061243e868287016122d5565b925050604061244f86828701612329565b9150509250925092565b6000806040838503121561246c57600080fd5b600061247a858286016122d5565b925050602061248b85828601612329565b9150509250929050565b6000602082840312156124a757600080fd5b60006124b584828501612314565b91505092915050565b6000602082840312156124d057600080fd5b60006124de84828501612329565b91505092915050565b6000806000606084860312156124fc57600080fd5b600061250a8682870161233e565b935050602061251b8682870161233e565b925050604061252c8682870161233e565b9150509250925092565b6000612542838361254e565b60208301905092915050565b61255781612c68565b82525050565b61256681612c68565b82525050565b600061257782612b0e565b6125818185612b31565b935061258c83612afe565b8060005b838110156125bd5781516125a48882612536565b97506125af83612b24565b925050600181019050612590565b5085935050505092915050565b6125d381612c8c565b82525050565b6125e281612ccf565b82525050565b60006125f382612b19565b6125fd8185612b42565b935061260d818560208601612ce1565b61261681612d72565b840191505092915050565b600061262e602383612b42565b915061263982612d83565b604082019050919050565b6000612651602a83612b42565b915061265c82612dd2565b604082019050919050565b6000612674602283612b42565b915061267f82612e21565b604082019050919050565b6000612697601b83612b42565b91506126a282612e70565b602082019050919050565b60006126ba601583612b42565b91506126c582612e99565b602082019050919050565b60006126dd602183612b42565b91506126e882612ec2565b604082019050919050565b6000612700602083612b42565b915061270b82612f11565b602082019050919050565b6000612723602983612b42565b915061272e82612f3a565b604082019050919050565b6000612746602583612b42565b915061275182612f89565b604082019050919050565b6000612769602483612b42565b915061277482612fd8565b604082019050919050565b600061278c601783612b42565b915061279782613027565b602082019050919050565b60006127af601883612b42565b91506127ba82613050565b602082019050919050565b6127ce81612cb8565b82525050565b6127dd81612cc2565b82525050565b60006020820190506127f8600083018461255d565b92915050565b6000604082019050612813600083018561255d565b612820602083018461255d565b9392505050565b600060408201905061283c600083018561255d565b61284960208301846127c5565b9392505050565b600060c082019050612865600083018961255d565b61287260208301886127c5565b61287f60408301876125d9565b61288c60608301866125d9565b612899608083018561255d565b6128a660a08301846127c5565b979650505050505050565b60006020820190506128c660008301846125ca565b92915050565b600060208201905081810360008301526128e681846125e8565b905092915050565b6000602082019050818103600083015261290781612621565b9050919050565b6000602082019050818103600083015261292781612644565b9050919050565b6000602082019050818103600083015261294781612667565b9050919050565b600060208201905081810360008301526129678161268a565b9050919050565b60006020820190508181036000830152612987816126ad565b9050919050565b600060208201905081810360008301526129a7816126d0565b9050919050565b600060208201905081810360008301526129c7816126f3565b9050919050565b600060208201905081810360008301526129e781612716565b9050919050565b60006020820190508181036000830152612a0781612739565b9050919050565b60006020820190508181036000830152612a278161275c565b9050919050565b60006020820190508181036000830152612a478161277f565b9050919050565b60006020820190508181036000830152612a67816127a2565b9050919050565b6000602082019050612a8360008301846127c5565b92915050565b600060a082019050612a9e60008301886127c5565b612aab60208301876125d9565b8181036040830152612abd818661256c565b9050612acc606083018561255d565b612ad960808301846127c5565b9695505050505050565b6000602082019050612af860008301846127d4565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612b5e82612cb8565b9150612b6983612cb8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612b9e57612b9d612d14565b5b828201905092915050565b6000612bb482612cb8565b9150612bbf83612cb8565b925082612bcf57612bce612d43565b5b828204905092915050565b6000612be582612cb8565b9150612bf083612cb8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612c2957612c28612d14565b5b828202905092915050565b6000612c3f82612cb8565b9150612c4a83612cb8565b925082821015612c5d57612c5c612d14565b5b828203905092915050565b6000612c7382612c98565b9050919050565b6000612c8582612c98565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612cda82612cb8565b9050919050565b60005b83811015612cff578082015181840152602081019050612ce4565b83811115612d0e576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f526174652063616e277420657863656564203530250000000000000000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b61308281612c68565b811461308d57600080fd5b50565b61309981612c7a565b81146130a457600080fd5b50565b6130b081612c8c565b81146130bb57600080fd5b50565b6130c781612cb8565b81146130d257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c2853d9f54f0fed9ed6c6061d4d6cd6cef361c9c61d71815fbabde7e58f4bb6764736f6c63430008040033

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

00000000000000000000000055d49a008476dcac5526392ec09c624034dfda7a

-----Decoded View---------------
Arg [0] : FeeAddress (address): 0x55d49a008476DcAc5526392ec09c624034dfDA7a

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000055d49a008476dcac5526392ec09c624034dfda7a


Deployed Bytecode Sourcemap

3829:10761:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5499:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6351:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5776:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6520:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14376:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5685:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14148:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13880:190;;;;;;;;;;;;;:::i;:::-;;5879:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2908:148;;;;;;;;;;;;;:::i;:::-;;2694:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5590:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6025:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13768:100;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13565:191;;;;;;;;;;;;;:::i;:::-;;14486:101;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6200:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13482:75;;;;;;;;;;;;;:::i;:::-;;12793:681;;;;;;;;;;;;;:::i;:::-;;5499:83;5536:13;5569:5;;;;;;;;;;;;;;;;;5562:12;;5499:83;:::o;6351:161::-;6426:4;6443:39;6452:12;:10;:12::i;:::-;6466:7;6475:6;6443:8;:39::i;:::-;6500:4;6493:11;;6351:161;;;;:::o;5776:95::-;5829:7;4237:12;5849:14;;5776:95;:::o;6520:313::-;6618:4;6635:36;6645:6;6653:9;6664:6;6635:9;:36::i;:::-;6682:121;6691:6;6699:12;:10;:12::i;:::-;6713:89;6751:6;6713:89;;;;;;;;;;;;;;;;;:11;:19;6725:6;6713:19;;;;;;;;;;;;;;;:33;6733:12;:10;:12::i;:::-;6713:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6682:8;:121::i;:::-;6821:4;6814:11;;6520:313;;;;;:::o;14376:100::-;14420:4;14444:24;14462:4;14444:9;:24::i;:::-;14437:31;;14376:100;:::o;5685:83::-;5726:5;4491:1;5744:16;;5685:83;:::o;14148:218::-;14226:11;;;;;;;;;;;14210:27;;:12;:10;:12::i;:::-;:27;;;14202:36;;;;;;14264:2;14257:4;:9;14249:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;14314:4;14303:8;:15;;;;14334:24;14349:8;;14334:24;;;;;;:::i;:::-;;;;;;;;14148:218;:::o;13880:190::-;13946:11;;;;;;;;;;;13930:27;;:12;:10;:12::i;:::-;:27;;;13922:36;;;;;;13969:26;13998:21;13969:50;;14030:32;14043:18;14030:12;:32::i;:::-;13880:190;:::o;5879:138::-;5945:7;5972:37;5992:7;:16;6000:7;5992:16;;;;;;;;;;;;;;;;5972:19;:37::i;:::-;5965:44;;5879:138;;;:::o;2908:148::-;2831:12;:10;:12::i;:::-;2821:22;;:6;;;;;;;;;;:22;;;2813:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3015:1:::1;2978:40;;2999:6;::::0;::::1;;;;;;;;2978:40;;;;;;;;;;;;3046:1;3029:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2908:148::o:0;2694:79::-;2732:7;2759:6;;;;;;;;;;;2752:13;;2694:79;:::o;5590:87::-;5629:13;5662:7;;;;;;;;;;;;;;;;;5655:14;;5590:87;:::o;6025:167::-;6103:4;6120:42;6130:12;:10;:12::i;:::-;6144:9;6155:6;6120:9;:42::i;:::-;6180:4;6173:11;;6025:167;;;;:::o;13768:100::-;2831:12;:10;:12::i;:::-;2821:22;;:6;;;;;;;;;;:22;;;2813:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13856:4:::1;13842:11;;:18;;;;;;;;;;;;;;;;;;13768:100:::0;:::o;13565:191::-;13631:11;;;;;;;;;;;13615:27;;:12;:10;:12::i;:::-;:27;;;13607:36;;;;;;13654:23;13680:24;13698:4;13680:9;:24::i;:::-;13654:50;;13715:33;13732:15;13715:16;:33::i;:::-;13565:191;:::o;14486:101::-;14531:4;14555:24;14565:13;;;;;;;;;;;14555:9;:24::i;:::-;14548:31;;14486:101;:::o;6200:143::-;6281:7;6308:11;:18;6320:5;6308:18;;;;;;;;;;;;;;;:27;6327:7;6308:27;;;;;;;;;;;;;;;;6301:34;;6200:143;;;;:::o;13482:75::-;2831:12;:10;:12::i;:::-;2821:22;;:6;;;;;;;;;;:22;;;2813:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13545:4:::1;13531:11;;:18;;;;;;;;;;;;;;;;;;13482:75::o:0;12793:681::-;2831:12;:10;:12::i;:::-;2821:22;;:6;;;;;;;;;;:22;;;2813:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12858:11:::1;;;;;;;;;;;12857:12;12849:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;12907:35;12964:42;12907:100;;13036:16;13018:15;;:34;;;;;;;;;;;;;;;;;;13063:58;13080:4;13095:15;;;;;;;;;;;4237:12;13063:8;:58::i;:::-;13166:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13148:56;;;13213:4;13220:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13148:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13132:13;;:112;;;;;;;;;;;;;;;;;;13255:15;;;;;;;;;;;:31;;;13294:21;13325:4;13331:24;13349:4;13331:9;:24::i;:::-;13356:1;13358::::0;13360:7:::1;:5;:7::i;:::-;13368:15;13255:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13402:13;;;;;;;;;;;13395:29;;;13433:15;;;;;;;;;;;13451:14;13395:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2891:1;12793:681::o:0;103:98::-;156:7;183:10;176:17;;103:98;:::o;7448:335::-;7558:1;7541:19;;:5;:19;;;;7533:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7639:1;7620:21;;:7;:21;;;;7612:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7721:6;7691:11;:18;7703:5;7691:18;;;;;;;;;;;;;;;:27;7710:7;7691:27;;;;;;;;;;;;;;;:36;;;;7759:7;7743:32;;7752:5;7743:32;;;7768:6;7743:32;;;;;;:::i;:::-;;;;;;;;7448:335;;;:::o;7791:1517::-;7895:1;7879:18;;:4;:18;;;;7871:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7972:1;7958:16;;:2;:16;;;;7950:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8042:1;8033:6;:10;8025:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8137:13;;;;;;;;;;;8129:21;;:4;:21;;;:55;;;;;8168:15;;;;;;;;;;;8154:30;;:2;:30;;;;8129:55;:82;;;;;8189:18;:22;8208:2;8189:22;;;;;;;;;;;;;;;;;;;;;;;;;8188:23;8129:82;8126:201;;;8240:11;;;;;;;;;;;8232:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;8310:1;8299:8;:12;;;;8126:201;8355:28;8386:24;8404:4;8386:9;:24::i;:::-;8355:55;;8452:6;;;;;;;;;;;8451:7;:32;;;;;8470:13;;;;;;;;;;;8462:21;;:4;:21;;;;8451:32;:47;;;;;8487:11;;;;;;;;;;;8451:47;8448:655;;;8530:1;8519:8;:12;;;;8576:1;8553:20;:24;8550:328;;;8628:47;8671:3;8628:38;8657:8;;8628:24;8638:13;;;;;;;;;;;8628:9;:24::i;:::-;:28;;:38;;;;:::i;:::-;:42;;:47;;;;:::i;:::-;8605:20;:70;8602:196;;;8727:47;8770:3;8727:38;8756:8;;8727:24;8737:13;;;;;;;;;;;8727:9;:24::i;:::-;:28;;:38;;;;:::i;:::-;:42;;:47;;;;:::i;:::-;8704:70;;8602:196;8820:38;8837:20;8820:16;:38::i;:::-;8550:328;8914:26;8943:21;8914:50;;9007:1;8986:18;:22;8983:105;;;9033:35;9046:21;9033:12;:35::i;:::-;8983:105;8448:655;;9113:12;9128:4;9113:19;;9149:18;:24;9168:4;9149:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;9177:18;:22;9196:2;9177:22;;;;;;;;;;;;;;;;;;;;;;;;;9149:50;9145:97;;;9225:5;9215:15;;9145:97;9262:38;9277:4;9282:2;9285:6;9292:7;9262:14;:38::i;:::-;7791:1517;;;;;:::o;1240:190::-;1326:7;1359:1;1354;:6;;1362:12;1346:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1386:9;1402:1;1398;:5;;;;:::i;:::-;1386:17;;1421:1;1414:8;;;1240:190;;;;;:::o;9815:93::-;9872:11;;;;;;;;;;;:20;;:28;9893:6;9872:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9815:93;:::o;6841:254::-;6908:7;6947;;6936;:18;;6928:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7012:19;7035:10;:8;:10::i;:::-;7012:33;;7063:24;7075:11;7063:7;:11;;:24;;;;:::i;:::-;7056:31;;;6841:254;;;:::o;9316:483::-;5107:4;5098:6;;:13;;;;;;;;;;;;;;;;;;9394:21:::1;9432:1;9418:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9394:40;;9463:4;9445;9450:1;9445:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;9489:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9479:4;9484:1;9479:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;9522:62;9539:4;9554:15;;;;;;;;;;;9572:11;9522:8;:62::i;:::-;9595:15;;;;;;;;;;;:66;;;9676:11;9702:1;9718:4;9745;9765:15;9595:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5122:1;5143:5:::0;5134:6;;:14;;;;;;;;;;;;;;;;;;9316:483;:::o;1438:245::-;1496:7;1524:1;1519;:6;1516:46;;;1549:1;1542:8;;;;1516:46;1572:9;1588:1;1584;:5;;;;:::i;:::-;1572:17;;1617:1;1612;1608;:5;;;;:::i;:::-;:10;1600:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1674:1;1667:8;;;1438:245;;;;;:::o;1691:132::-;1749:7;1776:39;1780:1;1783;1776:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1769:46;;1691:132;;;;:::o;9920:263::-;10032:7;10028:40;;10054:14;:12;:14::i;:::-;10028:40;10079:44;10097:6;10105:9;10116:6;10079:17;:44::i;:::-;10138:7;10134:41;;10160:15;:13;:15::i;:::-;10134:41;9920:263;;;;:::o;11524:163::-;11565:7;11586:15;11603;11622:19;:17;:19::i;:::-;11585:56;;;;11659:20;11671:7;11659;:11;;:20;;;;:::i;:::-;11652:27;;;;11524:163;:::o;1831:189::-;1917:7;1949:1;1945;:5;1952:12;1937:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1976:9;1992:1;1988;:5;;;;:::i;:::-;1976:17;;2011:1;2004:8;;;1831:189;;;;;:::o;7103:210::-;7160:1;7149:7;;:12;:29;;;;;7177:1;7165:8;;:13;7149:29;7146:41;;;7180:7;;7146:41;7215:7;;7197:15;:25;;;;7252:8;;7233:16;:27;;;;7281:1;7271:7;:11;;;;7304:1;7293:8;:12;;;;7103:210;:::o;10191:490::-;10290:15;10307:23;10332:12;10346:23;10371:12;10385:13;10402:19;10413:7;10402:10;:19::i;:::-;10289:132;;;;;;;;;;;;10450:28;10470:7;10450;:15;10458:6;10450:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;10432:7;:15;10440:6;10432:15;;;;;;;;;;;;;;;:46;;;;10510:39;10533:15;10510:7;:18;10518:9;10510:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;10489:7;:18;10497:9;10489:18;;;;;;;;;;;;;;;:60;;;;10563:16;10573:5;10563:9;:16::i;:::-;10590:23;10602:4;10608;10590:11;:23::i;:::-;10646:9;10629:44;;10638:6;10629:44;;;10657:15;10629:44;;;;;;:::i;:::-;;;;;;;;10191:490;;;;;;;;;:::o;7325:115::-;7379:15;;7369:7;:25;;;;7416:16;;7405:8;:27;;;;7325:115::o;11695:255::-;11745:7;11754;11774:15;11792:7;;11774:25;;11810:15;4237:12;11810:25;;11859:20;4237:12;11859:7;;:11;;:20;;;;:::i;:::-;11849:7;:30;11846:60;;;11889:7;;4237:12;11881:25;;;;;;;;11846:60;11925:7;11934;11917:25;;;;;;11695:255;;;:::o;10689:468::-;10748:7;10757;10766;10775;10784;10793;10814:23;10839:12;10853:13;10870:39;10882:7;10891;;10900:8;;10870:11;:39::i;:::-;10813:96;;;;;;10920:19;10943:10;:8;:10::i;:::-;10920:33;;10965:15;10982:23;11007:12;11023:46;11035:7;11044:4;11050:5;11057:11;11023;:46::i;:::-;10964:105;;;;;;11088:7;11097:15;11114:4;11120:15;11137:4;11143:5;11080:69;;;;;;;;;;;;;;;;;;;10689:468;;;;;;;:::o;1096:136::-;1154:7;1181:43;1185:1;1188;1181:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1174:50;;1096:136;;;;:::o;909:179::-;967:7;987:9;1003:1;999;:5;;;;:::i;:::-;987:17;;1028:1;1023;:6;;1015:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1079:1;1072:8;;;909:179;;;;:::o;12375:214::-;12428:19;12451:10;:8;:10::i;:::-;12428:33;;12472:13;12488:22;12498:11;12488:5;:9;;:22;;;;:::i;:::-;12472:38;;12548:33;12575:5;12548:7;:22;12564:4;12548:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;12523:7;:22;12539:4;12523:22;;;;;;;;;;;;;;;:58;;;;12375:214;;;:::o;12597:147::-;12675:17;12687:4;12675:7;;:11;;:17;;;;:::i;:::-;12665:7;:27;;;;12716:20;12731:4;12716:10;;:14;;:20;;;;:::i;:::-;12703:10;:33;;;;12597:147;;:::o;11165:351::-;11258:7;11267;11276;11296:12;11311:28;11335:3;11311:19;11323:6;11311:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;11296:43;;11350:13;11366:29;11391:3;11366:20;11378:7;11366;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;11350:45;;11406:23;11432:28;11454:5;11432:17;11444:4;11432:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;11406:54;;11479:15;11496:4;11502:5;11471:37;;;;;;;;;11165:351;;;;;;;:::o;11958:409::-;12068:7;12077;12086;12106:15;12124:24;12136:11;12124:7;:11;;:24;;;;:::i;:::-;12106:42;;12159:12;12174:21;12183:11;12174:4;:8;;:21;;;;:::i;:::-;12159:36;;12206:13;12222:22;12232:11;12222:5;:9;;:22;;;;:::i;:::-;12206:38;;12255:23;12281:28;12303:5;12281:17;12293:4;12281:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;12255:54;;12328:7;12337:15;12354:4;12320:39;;;;;;;;;;11958:409;;;;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:155::-;355:5;393:6;380:20;371:29;;409:41;444:5;409:41;:::i;:::-;361:95;;;;:::o;462:137::-;516:5;547:6;541:13;532:22;;563:30;587:5;563:30;:::i;:::-;522:77;;;;:::o;605:139::-;651:5;689:6;676:20;667:29;;705:33;732:5;705:33;:::i;:::-;657:87;;;;:::o;750:143::-;807:5;838:6;832:13;823:22;;854:33;881:5;854:33;:::i;:::-;813:80;;;;:::o;899:262::-;958:6;1007:2;995:9;986:7;982:23;978:32;975:2;;;1023:1;1020;1013:12;975:2;1066:1;1091:53;1136:7;1127:6;1116:9;1112:22;1091:53;:::i;:::-;1081:63;;1037:117;965:196;;;;:::o;1167:284::-;1237:6;1286:2;1274:9;1265:7;1261:23;1257:32;1254:2;;;1302:1;1299;1292:12;1254:2;1345:1;1370:64;1426:7;1417:6;1406:9;1402:22;1370:64;:::i;:::-;1360:74;;1316:128;1244:207;;;;:::o;1457:278::-;1524:6;1573:2;1561:9;1552:7;1548:23;1544:32;1541:2;;;1589:1;1586;1579:12;1541:2;1632:1;1657:61;1710:7;1701:6;1690:9;1686:22;1657:61;:::i;:::-;1647:71;;1603:125;1531:204;;;;:::o;1741:407::-;1809:6;1817;1866:2;1854:9;1845:7;1841:23;1837:32;1834:2;;;1882:1;1879;1872:12;1834:2;1925:1;1950:53;1995:7;1986:6;1975:9;1971:22;1950:53;:::i;:::-;1940:63;;1896:117;2052:2;2078:53;2123:7;2114:6;2103:9;2099:22;2078:53;:::i;:::-;2068:63;;2023:118;1824:324;;;;;:::o;2154:552::-;2231:6;2239;2247;2296:2;2284:9;2275:7;2271:23;2267:32;2264:2;;;2312:1;2309;2302:12;2264:2;2355:1;2380:53;2425:7;2416:6;2405:9;2401:22;2380:53;:::i;:::-;2370:63;;2326:117;2482:2;2508:53;2553:7;2544:6;2533:9;2529:22;2508:53;:::i;:::-;2498:63;;2453:118;2610:2;2636:53;2681:7;2672:6;2661:9;2657:22;2636:53;:::i;:::-;2626:63;;2581:118;2254:452;;;;;:::o;2712:407::-;2780:6;2788;2837:2;2825:9;2816:7;2812:23;2808:32;2805:2;;;2853:1;2850;2843:12;2805:2;2896:1;2921:53;2966:7;2957:6;2946:9;2942:22;2921:53;:::i;:::-;2911:63;;2867:117;3023:2;3049:53;3094:7;3085:6;3074:9;3070:22;3049:53;:::i;:::-;3039:63;;2994:118;2795:324;;;;;:::o;3125:278::-;3192:6;3241:2;3229:9;3220:7;3216:23;3212:32;3209:2;;;3257:1;3254;3247:12;3209:2;3300:1;3325:61;3378:7;3369:6;3358:9;3354:22;3325:61;:::i;:::-;3315:71;;3271:125;3199:204;;;;:::o;3409:262::-;3468:6;3517:2;3505:9;3496:7;3492:23;3488:32;3485:2;;;3533:1;3530;3523:12;3485:2;3576:1;3601:53;3646:7;3637:6;3626:9;3622:22;3601:53;:::i;:::-;3591:63;;3547:117;3475:196;;;;:::o;3677:596::-;3765:6;3773;3781;3830:2;3818:9;3809:7;3805:23;3801:32;3798:2;;;3846:1;3843;3836:12;3798:2;3889:1;3914:64;3970:7;3961:6;3950:9;3946:22;3914:64;:::i;:::-;3904:74;;3860:128;4027:2;4053:64;4109:7;4100:6;4089:9;4085:22;4053:64;:::i;:::-;4043:74;;3998:129;4166:2;4192:64;4248:7;4239:6;4228:9;4224:22;4192:64;:::i;:::-;4182:74;;4137:129;3788:485;;;;;:::o;4279:179::-;4348:10;4369:46;4411:3;4403:6;4369:46;:::i;:::-;4447:4;4442:3;4438:14;4424:28;;4359:99;;;;:::o;4464:108::-;4541:24;4559:5;4541:24;:::i;:::-;4536:3;4529:37;4519:53;;:::o;4578:118::-;4665:24;4683:5;4665:24;:::i;:::-;4660:3;4653:37;4643:53;;:::o;4732:732::-;4851:3;4880:54;4928:5;4880:54;:::i;:::-;4950:86;5029:6;5024:3;4950:86;:::i;:::-;4943:93;;5060:56;5110:5;5060:56;:::i;:::-;5139:7;5170:1;5155:284;5180:6;5177:1;5174:13;5155:284;;;5256:6;5250:13;5283:63;5342:3;5327:13;5283:63;:::i;:::-;5276:70;;5369:60;5422:6;5369:60;:::i;:::-;5359:70;;5215:224;5202:1;5199;5195:9;5190:14;;5155:284;;;5159:14;5455:3;5448:10;;4856:608;;;;;;;:::o;5470:109::-;5551:21;5566:5;5551:21;:::i;:::-;5546:3;5539:34;5529:50;;:::o;5585:147::-;5680:45;5719:5;5680:45;:::i;:::-;5675:3;5668:58;5658:74;;:::o;5738:364::-;5826:3;5854:39;5887:5;5854:39;:::i;:::-;5909:71;5973:6;5968:3;5909:71;:::i;:::-;5902:78;;5989:52;6034:6;6029:3;6022:4;6015:5;6011:16;5989:52;:::i;:::-;6066:29;6088:6;6066:29;:::i;:::-;6061:3;6057:39;6050:46;;5830:272;;;;;:::o;6108:366::-;6250:3;6271:67;6335:2;6330:3;6271:67;:::i;:::-;6264:74;;6347:93;6436:3;6347:93;:::i;:::-;6465:2;6460:3;6456:12;6449:19;;6254:220;;;:::o;6480:366::-;6622:3;6643:67;6707:2;6702:3;6643:67;:::i;:::-;6636:74;;6719:93;6808:3;6719:93;:::i;:::-;6837:2;6832:3;6828:12;6821:19;;6626:220;;;:::o;6852:366::-;6994:3;7015:67;7079:2;7074:3;7015:67;:::i;:::-;7008:74;;7091:93;7180:3;7091:93;:::i;:::-;7209:2;7204:3;7200:12;7193:19;;6998:220;;;:::o;7224:366::-;7366:3;7387:67;7451:2;7446:3;7387:67;:::i;:::-;7380:74;;7463:93;7552:3;7463:93;:::i;:::-;7581:2;7576:3;7572:12;7565:19;;7370:220;;;:::o;7596:366::-;7738:3;7759:67;7823:2;7818:3;7759:67;:::i;:::-;7752:74;;7835:93;7924:3;7835:93;:::i;:::-;7953:2;7948:3;7944:12;7937:19;;7742:220;;;:::o;7968:366::-;8110:3;8131:67;8195:2;8190:3;8131:67;:::i;:::-;8124:74;;8207:93;8296:3;8207:93;:::i;:::-;8325:2;8320:3;8316:12;8309:19;;8114:220;;;:::o;8340:366::-;8482:3;8503:67;8567:2;8562:3;8503:67;:::i;:::-;8496:74;;8579:93;8668:3;8579:93;:::i;:::-;8697:2;8692:3;8688:12;8681:19;;8486:220;;;:::o;8712:366::-;8854:3;8875:67;8939:2;8934:3;8875:67;:::i;:::-;8868:74;;8951:93;9040:3;8951:93;:::i;:::-;9069:2;9064:3;9060:12;9053:19;;8858:220;;;:::o;9084:366::-;9226:3;9247:67;9311:2;9306:3;9247:67;:::i;:::-;9240:74;;9323:93;9412:3;9323:93;:::i;:::-;9441:2;9436:3;9432:12;9425:19;;9230:220;;;:::o;9456:366::-;9598:3;9619:67;9683:2;9678:3;9619:67;:::i;:::-;9612:74;;9695:93;9784:3;9695:93;:::i;:::-;9813:2;9808:3;9804:12;9797:19;;9602:220;;;:::o;9828:366::-;9970:3;9991:67;10055:2;10050:3;9991:67;:::i;:::-;9984:74;;10067:93;10156:3;10067:93;:::i;:::-;10185:2;10180:3;10176:12;10169:19;;9974:220;;;:::o;10200:366::-;10342:3;10363:67;10427:2;10422:3;10363:67;:::i;:::-;10356:74;;10439:93;10528:3;10439:93;:::i;:::-;10557:2;10552:3;10548:12;10541:19;;10346:220;;;:::o;10572:118::-;10659:24;10677:5;10659:24;:::i;:::-;10654:3;10647:37;10637:53;;:::o;10696:112::-;10779:22;10795:5;10779:22;:::i;:::-;10774:3;10767:35;10757:51;;:::o;10814:222::-;10907:4;10945:2;10934:9;10930:18;10922:26;;10958:71;11026:1;11015:9;11011:17;11002:6;10958:71;:::i;:::-;10912:124;;;;:::o;11042:332::-;11163:4;11201:2;11190:9;11186:18;11178:26;;11214:71;11282:1;11271:9;11267:17;11258:6;11214:71;:::i;:::-;11295:72;11363:2;11352:9;11348:18;11339:6;11295:72;:::i;:::-;11168:206;;;;;:::o;11380:332::-;11501:4;11539:2;11528:9;11524:18;11516:26;;11552:71;11620:1;11609:9;11605:17;11596:6;11552:71;:::i;:::-;11633:72;11701:2;11690:9;11686:18;11677:6;11633:72;:::i;:::-;11506:206;;;;;:::o;11718:807::-;11967:4;12005:3;11994:9;11990:19;11982:27;;12019:71;12087:1;12076:9;12072:17;12063:6;12019:71;:::i;:::-;12100:72;12168:2;12157:9;12153:18;12144:6;12100:72;:::i;:::-;12182:80;12258:2;12247:9;12243:18;12234:6;12182:80;:::i;:::-;12272;12348:2;12337:9;12333:18;12324:6;12272:80;:::i;:::-;12362:73;12430:3;12419:9;12415:19;12406:6;12362:73;:::i;:::-;12445;12513:3;12502:9;12498:19;12489:6;12445:73;:::i;:::-;11972:553;;;;;;;;;:::o;12531:210::-;12618:4;12656:2;12645:9;12641:18;12633:26;;12669:65;12731:1;12720:9;12716:17;12707:6;12669:65;:::i;:::-;12623:118;;;;:::o;12747:313::-;12860:4;12898:2;12887:9;12883:18;12875:26;;12947:9;12941:4;12937:20;12933:1;12922:9;12918:17;12911:47;12975:78;13048:4;13039:6;12975:78;:::i;:::-;12967:86;;12865:195;;;;:::o;13066:419::-;13232:4;13270:2;13259:9;13255:18;13247:26;;13319:9;13313:4;13309:20;13305:1;13294:9;13290:17;13283:47;13347:131;13473:4;13347:131;:::i;:::-;13339:139;;13237:248;;;:::o;13491:419::-;13657:4;13695:2;13684:9;13680:18;13672:26;;13744:9;13738:4;13734:20;13730:1;13719:9;13715:17;13708:47;13772:131;13898:4;13772:131;:::i;:::-;13764:139;;13662:248;;;:::o;13916:419::-;14082:4;14120:2;14109:9;14105:18;14097:26;;14169:9;14163:4;14159:20;14155:1;14144:9;14140:17;14133:47;14197:131;14323:4;14197:131;:::i;:::-;14189:139;;14087:248;;;:::o;14341:419::-;14507:4;14545:2;14534:9;14530:18;14522:26;;14594:9;14588:4;14584:20;14580:1;14569:9;14565:17;14558:47;14622:131;14748:4;14622:131;:::i;:::-;14614:139;;14512:248;;;:::o;14766:419::-;14932:4;14970:2;14959:9;14955:18;14947:26;;15019:9;15013:4;15009:20;15005:1;14994:9;14990:17;14983:47;15047:131;15173:4;15047:131;:::i;:::-;15039:139;;14937:248;;;:::o;15191:419::-;15357:4;15395:2;15384:9;15380:18;15372:26;;15444:9;15438:4;15434:20;15430:1;15419:9;15415:17;15408:47;15472:131;15598:4;15472:131;:::i;:::-;15464:139;;15362:248;;;:::o;15616:419::-;15782:4;15820:2;15809:9;15805:18;15797:26;;15869:9;15863:4;15859:20;15855:1;15844:9;15840:17;15833:47;15897:131;16023:4;15897:131;:::i;:::-;15889:139;;15787:248;;;:::o;16041:419::-;16207:4;16245:2;16234:9;16230:18;16222:26;;16294:9;16288:4;16284:20;16280:1;16269:9;16265:17;16258:47;16322:131;16448:4;16322:131;:::i;:::-;16314:139;;16212:248;;;:::o;16466:419::-;16632:4;16670:2;16659:9;16655:18;16647:26;;16719:9;16713:4;16709:20;16705:1;16694:9;16690:17;16683:47;16747:131;16873:4;16747:131;:::i;:::-;16739:139;;16637:248;;;:::o;16891:419::-;17057:4;17095:2;17084:9;17080:18;17072:26;;17144:9;17138:4;17134:20;17130:1;17119:9;17115:17;17108:47;17172:131;17298:4;17172:131;:::i;:::-;17164:139;;17062:248;;;:::o;17316:419::-;17482:4;17520:2;17509:9;17505:18;17497:26;;17569:9;17563:4;17559:20;17555:1;17544:9;17540:17;17533:47;17597:131;17723:4;17597:131;:::i;:::-;17589:139;;17487:248;;;:::o;17741:419::-;17907:4;17945:2;17934:9;17930:18;17922:26;;17994:9;17988:4;17984:20;17980:1;17969:9;17965:17;17958:47;18022:131;18148:4;18022:131;:::i;:::-;18014:139;;17912:248;;;:::o;18166:222::-;18259:4;18297:2;18286:9;18282:18;18274:26;;18310:71;18378:1;18367:9;18363:17;18354:6;18310:71;:::i;:::-;18264:124;;;;:::o;18394:831::-;18657:4;18695:3;18684:9;18680:19;18672:27;;18709:71;18777:1;18766:9;18762:17;18753:6;18709:71;:::i;:::-;18790:80;18866:2;18855:9;18851:18;18842:6;18790:80;:::i;:::-;18917:9;18911:4;18907:20;18902:2;18891:9;18887:18;18880:48;18945:108;19048:4;19039:6;18945:108;:::i;:::-;18937:116;;19063:72;19131:2;19120:9;19116:18;19107:6;19063:72;:::i;:::-;19145:73;19213:3;19202:9;19198:19;19189:6;19145:73;:::i;:::-;18662:563;;;;;;;;:::o;19231:214::-;19320:4;19358:2;19347:9;19343:18;19335:26;;19371:67;19435:1;19424:9;19420:17;19411:6;19371:67;:::i;:::-;19325:120;;;;:::o;19451:132::-;19518:4;19541:3;19533:11;;19571:4;19566:3;19562:14;19554:22;;19523:60;;;:::o;19589:114::-;19656:6;19690:5;19684:12;19674:22;;19663:40;;;:::o;19709:99::-;19761:6;19795:5;19789:12;19779:22;;19768:40;;;:::o;19814:113::-;19884:4;19916;19911:3;19907:14;19899:22;;19889:38;;;:::o;19933:184::-;20032:11;20066:6;20061:3;20054:19;20106:4;20101:3;20097:14;20082:29;;20044:73;;;;:::o;20123:169::-;20207:11;20241:6;20236:3;20229:19;20281:4;20276:3;20272:14;20257:29;;20219:73;;;;:::o;20298:305::-;20338:3;20357:20;20375:1;20357:20;:::i;:::-;20352:25;;20391:20;20409:1;20391:20;:::i;:::-;20386:25;;20545:1;20477:66;20473:74;20470:1;20467:81;20464:2;;;20551:18;;:::i;:::-;20464:2;20595:1;20592;20588:9;20581:16;;20342:261;;;;:::o;20609:185::-;20649:1;20666:20;20684:1;20666:20;:::i;:::-;20661:25;;20700:20;20718:1;20700:20;:::i;:::-;20695:25;;20739:1;20729:2;;20744:18;;:::i;:::-;20729:2;20786:1;20783;20779:9;20774:14;;20651:143;;;;:::o;20800:348::-;20840:7;20863:20;20881:1;20863:20;:::i;:::-;20858:25;;20897:20;20915:1;20897:20;:::i;:::-;20892:25;;21085:1;21017:66;21013:74;21010:1;21007:81;21002:1;20995:9;20988:17;20984:105;20981:2;;;21092:18;;:::i;:::-;20981:2;21140:1;21137;21133:9;21122:20;;20848:300;;;;:::o;21154:191::-;21194:4;21214:20;21232:1;21214:20;:::i;:::-;21209:25;;21248:20;21266:1;21248:20;:::i;:::-;21243:25;;21287:1;21284;21281:8;21278:2;;;21292:18;;:::i;:::-;21278:2;21337:1;21334;21330:9;21322:17;;21199:146;;;;:::o;21351:96::-;21388:7;21417:24;21435:5;21417:24;:::i;:::-;21406:35;;21396:51;;;:::o;21453:104::-;21498:7;21527:24;21545:5;21527:24;:::i;:::-;21516:35;;21506:51;;;:::o;21563:90::-;21597:7;21640:5;21633:13;21626:21;21615:32;;21605:48;;;:::o;21659:126::-;21696:7;21736:42;21729:5;21725:54;21714:65;;21704:81;;;:::o;21791:77::-;21828:7;21857:5;21846:16;;21836:32;;;:::o;21874:86::-;21909:7;21949:4;21942:5;21938:16;21927:27;;21917:43;;;:::o;21966:121::-;22024:9;22057:24;22075:5;22057:24;:::i;:::-;22044:37;;22034:53;;;:::o;22093:307::-;22161:1;22171:113;22185:6;22182:1;22179:13;22171:113;;;22270:1;22265:3;22261:11;22255:18;22251:1;22246:3;22242:11;22235:39;22207:2;22204:1;22200:10;22195:15;;22171:113;;;22302:6;22299:1;22296:13;22293:2;;;22382:1;22373:6;22368:3;22364:16;22357:27;22293:2;22142:258;;;;:::o;22406:180::-;22454:77;22451:1;22444:88;22551:4;22548:1;22541:15;22575:4;22572:1;22565:15;22592:180;22640:77;22637:1;22630:88;22737:4;22734:1;22727:15;22761:4;22758:1;22751:15;22778:102;22819:6;22870:2;22866:7;22861:2;22854:5;22850:14;22846:28;22836:38;;22826:54;;;:::o;22886:222::-;23026:34;23022:1;23014:6;23010:14;23003:58;23095:5;23090:2;23082:6;23078:15;23071:30;22992:116;:::o;23114:229::-;23254:34;23250:1;23242:6;23238:14;23231:58;23323:12;23318:2;23310:6;23306:15;23299:37;23220:123;:::o;23349:221::-;23489:34;23485:1;23477:6;23473:14;23466:58;23558:4;23553:2;23545:6;23541:15;23534:29;23455:115;:::o;23576:177::-;23716:29;23712:1;23704:6;23700:14;23693:53;23682:71;:::o;23759:171::-;23899:23;23895:1;23887:6;23883:14;23876:47;23865:65;:::o;23936:220::-;24076:34;24072:1;24064:6;24060:14;24053:58;24145:3;24140:2;24132:6;24128:15;24121:28;24042:114;:::o;24162:182::-;24302:34;24298:1;24290:6;24286:14;24279:58;24268:76;:::o;24350:228::-;24490:34;24486:1;24478:6;24474:14;24467:58;24559:11;24554:2;24546:6;24542:15;24535:36;24456:122;:::o;24584:224::-;24724:34;24720:1;24712:6;24708:14;24701:58;24793:7;24788:2;24780:6;24776:15;24769:32;24690:118;:::o;24814:223::-;24954:34;24950:1;24942:6;24938:14;24931:58;25023:6;25018:2;25010:6;25006:15;24999:31;24920:117;:::o;25043:173::-;25183:25;25179:1;25171:6;25167:14;25160:49;25149:67;:::o;25222:174::-;25362:26;25358:1;25350:6;25346:14;25339:50;25328:68;:::o;25402:122::-;25475:24;25493:5;25475:24;:::i;:::-;25468:5;25465:35;25455:2;;25514:1;25511;25504:12;25455:2;25445:79;:::o;25530:138::-;25611:32;25637:5;25611:32;:::i;:::-;25604:5;25601:43;25591:2;;25658:1;25655;25648:12;25591:2;25581:87;:::o;25674:116::-;25744:21;25759:5;25744:21;:::i;:::-;25737:5;25734:32;25724:2;;25780:1;25777;25770:12;25724:2;25714:76;:::o;25796:122::-;25869:24;25887:5;25869:24;:::i;:::-;25862:5;25859:35;25849:2;;25908:1;25905;25898:12;25849:2;25839:79;:::o

Swarm Source

ipfs://c2853d9f54f0fed9ed6c6061d4d6cd6cef361c9c61d71815fbabde7e58f4bb67
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.