ETH Price: $2,355.56 (+1.25%)

Token

RESISTANCE (ZION)
 

Overview

Max Total Supply

1,000,000 ZION

Holders

31

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
18,998.100000000000478909 ZION

Value
$0.00
0xe1943b3611ff46613660bc48d7f2f7c4cfa98903
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:
RESISTANCE

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-09-28
*/

pragma solidity 0.8.13;
// SPDX-License-Identifier: MIT

/*
"You take the blue pill... the story ends, you wake up in your bed and believe whatever you want to believe. 
You take the red pill... you stay in Wonderland, and I show you how deep the rabbit hole goes."

The link to the red pill is well hidden.. You will need 1% of the supply to access it.

01101000 01110100 01110100
01110000 01110011 00111010 
00101111 00101111 01101010 
01110000 01110011 01110100 
00101110 01101001 01110100 
00101111 00110010 01010101 
01001100 01111010 01110010

The 5% tax on buys and sells will go to the chosen one.

"Denial is the most predictable of all human responses"

Max buy: 1%
Max wallet: 2%
*/ 

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

interface IFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
}

interface IRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
 
    function addLiquidityETH(
        address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline
    ) external payable returns (
        uint256 amountToken, uint256 amountETH, uint256 liquidity
    );

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline
    ) external;
}

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, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
}

abstract contract Context {
    function _msgSender() internal view virtual returns (address) { return msg.sender; }
}

contract Ownable is Context {
    address private _owner;
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
    }
    function owner() public view returns (address) { return _owner; }
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner.");
        _;
    }
    function renounceOwnership() external virtual onlyOwner { _owner = address(0); }
    function transferOwnership(address newOwner) external virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address.");
        _owner = newOwner;
    }
}

contract RESISTANCE is IERC20, Ownable {
    using SafeMath for uint256;
    IRouter public uniswapV2Router;
    address public uniswapV2Pair;
    string private constant _name =  "RESISTANCE";
    string private constant _symbol = "ZION";
    uint8 private constant _decimals = 18;
    mapping (address => uint256) private balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    uint256 private constant _totalSupply = 1000000 * 10**18;
    mapping (address => bool) public automatedMarketMakerPairs;
    bool public isLiquidityAdded = false;
    uint256 public maxWalletAmount = _totalSupply;
    uint256 public maxTxAmount = _totalSupply;

    mapping (address => bool) private _isExcludedFromMaxWalletLimit;
    mapping (address => bool) private _isExcludedFromMaxTransactionLimit;
    mapping (address => bool) private _isExcludedFromFee;
    uint8 public taxFee = 5;
    uint8 public burnFee = 0;
    address public constant dead = 0x000000000000000000000000000000000000dEaD;
    address public taxWallet;
    uint256 minimumTokensBeforeSwap = _totalSupply * 250 / 1000000; // .025%

    event ClaimETH(uint256 indexed amount);

    constructor() {
        IRouter _uniswapV2Router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        taxWallet = owner();
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromMaxWalletLimit[address(uniswapV2Router)] = true;
        _isExcludedFromMaxWalletLimit[address(this)] = true;
        _isExcludedFromMaxWalletLimit[owner()] = true;
        _isExcludedFromMaxTransactionLimit[address(uniswapV2Router)] = true;
        _isExcludedFromMaxTransactionLimit[address(this)] = true;
        _isExcludedFromMaxTransactionLimit[owner()] = true;
        balances[address(this)] = _totalSupply;
        emit Transfer(address(0), address(this), _totalSupply);
    }

    receive() external payable {} // so the contract can receive eth

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function approve(address spender, uint256 amount) external override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function transferFrom( address sender,address recipient,uint256 amount) external override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount,"ERC20: transfer amount exceeds allowance."));
        return true;
    }
    function increaseAllowance(address spender, uint256 addedValue) external virtual returns (bool){
        _approve(_msgSender(),spender,_allowances[_msgSender()][spender].add(addedValue));
        return true;
    }
    function decreaseAllowance(address spender, uint256 subtractedValue) external virtual returns (bool) {
        _approve(_msgSender(),spender,_allowances[_msgSender()][spender].sub(subtractedValue,"ERC20: decreased allowance below zero."));
        return true;
    }
    function excludeFromMaxWalletLimit(address account, bool excluded) external onlyOwner {
        require(_isExcludedFromMaxWalletLimit[account] != excluded, string.concat(_name, ": account is already excluded from max wallet limit."));
        _isExcludedFromMaxWalletLimit[account] = excluded;
    }
    function excludeFromMaxTransactionLimit(address account, bool excluded) external onlyOwner {
        require(_isExcludedFromMaxTransactionLimit[account] != excluded, string.concat(_name, ": account is already excluded from max tx limit."));
        _isExcludedFromMaxTransactionLimit[account] = excluded;
    }
    function excludeFromFees(address account, bool excluded) external onlyOwner {
        require(_isExcludedFromFee[account] != excluded, string.concat(_name, ": account is already excluded from fees."));
        _isExcludedFromFee[account] = excluded;
    }
    function setMinimumTokensBeforeSwap(uint256 newValue) external onlyOwner {
        require(newValue != minimumTokensBeforeSwap, string.concat(_name, ": cannot update minimumTokensBeforeSwap to same value."));
        minimumTokensBeforeSwap = newValue;
    }
    function withdrawETH() external onlyOwner {
        require(address(this).balance > 0, string.concat(_name, ": cannot send more than contract balance."));
        uint256 amount = address(this).balance;
        (bool success,) = address(owner()).call{value : amount}("");
        if (success){ emit ClaimETH(amount); }
    }
    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;
    }
    function activateTrading() external onlyOwner {
        require(!isLiquidityAdded, "You can only add liquidity once");
        isLiquidityAdded = true;
        IRouter _uniswapV2Router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _totalSupply);
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this), balanceOf(address(this)), 0, 0, _msgSender(), block.timestamp);
        address _uniswapV2Pair = IFactory(uniswapV2Router.factory()).getPair(address(this), uniswapV2Router.WETH() );
        uniswapV2Pair = _uniswapV2Pair;
        maxWalletAmount = _totalSupply * 2 / 100; //  2%
        maxTxAmount = _totalSupply * 1 / 100;     //  1%
        _isExcludedFromMaxWalletLimit[_uniswapV2Pair] = true;
        _isExcludedFromMaxTransactionLimit[_uniswapV2Pair] = true;
        _setAutomatedMarketMakerPair(_uniswapV2Pair, true);
    }
    function _setAutomatedMarketMakerPair(address pair, bool value) private {
        require(automatedMarketMakerPairs[pair] != value, string.concat(_name, ": automated market maker pair is already set to that value."));
        automatedMarketMakerPairs[pair] = value;
    }

    function name() external pure returns (string memory) { return _name; }
    function symbol() external pure returns (string memory) { return _symbol; }
    function decimals() external view virtual returns (uint8) { return _decimals; }
    function totalSupply() external pure override returns (uint256) { return _totalSupply; }
    function balanceOf(address account) public view override returns (uint256) { return balances[account]; }
    function allowance(address owner, address spender) external view override returns (uint256) { return _allowances[owner][spender]; }

    function _transfer(
            address from,
            address to,
            uint256 amount
            ) internal {
        require(from != address(0), string.concat(_name, ": cannot transfer from the zero address."));
        require(to != address(0), string.concat(_name, ": cannot transfer to the zero address."));
        require(amount > 0, string.concat(_name, ": transfer amount must be greater than zero."));
        require(amount <= balanceOf(from), string.concat(_name, ": cannot transfer more than balance."));
        if ((from == address(uniswapV2Pair) && !_isExcludedFromMaxTransactionLimit[to]) ||
                (to == address(uniswapV2Pair) && !_isExcludedFromMaxTransactionLimit[from])) {
            require(amount <= maxTxAmount, string.concat(_name, ": transfer amount exceeds the maxTxAmount."));
        }
        if (!_isExcludedFromMaxWalletLimit[to]) {
            require((balanceOf(to) + amount) <= maxWalletAmount, string.concat(_name, ": expected wallet amount exceeds the maxWalletAmount."));
        }
        if (_isExcludedFromFee[from] || _isExcludedFromFee[to] || taxFee + burnFee == 0) {
            balances[from] -= amount;
            balances[to] += amount;
            emit Transfer(from, to, amount);
        } else {
            balances[from] -= amount;
            if (burnFee > 0) {
                balances[address(dead)] += amount * burnFee / 100;
                emit Transfer(from, address(dead), amount * burnFee / 100);
            }
            if (taxFee > 0) {
                balances[address(this)] += amount * taxFee / 100;
                emit Transfer(from, address(this), amount * taxFee / 100);
                if (balanceOf(address(this)) > minimumTokensBeforeSwap &&
                        to == address(uniswapV2Pair) &&
                        !_isExcludedFromMaxTransactionLimit[from])
                {
                    _swapTokensForETH(balanceOf(address(this)));
                    payable(taxWallet).transfer(address(this).balance);
                }
            }
            balances[to] += amount - (amount * (taxFee + burnFee) / 100);
            emit Transfer(from, to, amount - (amount * (taxFee + burnFee) / 100));
        }
    }
    function _swapTokensForETH(uint256 tokenAmount) private {
        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);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ClaimETH","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":"activateTrading","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":[{"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":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dead","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromMaxTransactionLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromMaxWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isLiquidityAdded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"uint256","name":"newValue","type":"uint256"}],"name":"setMinimumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxFee","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526006805460ff1916905569d3c21bcecceda100000060078190556008819055600c805461ffff19166005179055620f424090620000439060fa620001a0565b6200004f9190620001ce565b600d553480156200005f57600080fd5b5060008054336001600160a01b03199182168117835560018054737a250d5630b4cf539739df2c5dacb4c659f2488d931683178155600c805462010000600160b01b031916620100008402179055908352600b60209081526040808520805460ff19908116851790915530808752828720805483168617905584546001600160a01b03908116885260098552838820805484168717905581885283882080548416871790558754811688528388208054841687179055855481168852600a8552838820805484168717905581885283882080548416871790558754168752828720805490921690941790558285526003825280852069d3c21bcecceda10000009081905581519081529051939492937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350620001f1565b6000816000190483118215151615620001c957634e487b7160e01b600052601160045260246000fd5b500290565b600082620001ec57634e487b7160e01b600052601260045260246000fd5b500490565b61231880620002016000396000f3fe6080604052600436106101d15760003560e01c8063880bcbc1116100f7578063aa4bde2811610095578063dd62ed3e11610064578063dd62ed3e1461056c578063e086e5ec146105b2578063f2fde38b146105c7578063fce589d8146105e757600080fd5b8063aa4bde28146104e6578063aee50b1e146104fc578063b62496f51461051c578063c02466681461054c57600080fd5b806395d89b41116100d157806395d89b411461045f578063a071dcf41461048c578063a457c2d7146104a6578063a9059cbb146104c657600080fd5b8063880bcbc11461040b5780638c0b5e221461042b5780638da5cb5b1461044157600080fd5b80632dc0562d1161016f57806349bd5a5e1161013e57806349bd5a5e1461038057806370a08231146103a0578063715018a6146103d6578063781edb3c146103eb57600080fd5b80632dc0562d14610302578063313ce5671461032857806336cf7c871461034a578063395093511461036057600080fd5b80631694505e116101ab5780631694505e1461026957806318160ddd146102a15780631e17ba39146102c857806323b872dd146102e257600080fd5b806306fdde03146101dd578063095ea7b3146102225780630bd05b691461025257600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b5060408051808201909152600a815269524553495354414e434560b01b60208201525b6040516102199190611b3e565b60405180910390f35b34801561022e57600080fd5b5061024261023d366004611b89565b610606565b6040519015158152602001610219565b34801561025e57600080fd5b5061026761061c565b005b34801561027557600080fd5b50600154610289906001600160a01b031681565b6040516001600160a01b039091168152602001610219565b3480156102ad57600080fd5b5069d3c21bcecceda10000005b604051908152602001610219565b3480156102d457600080fd5b506006546102429060ff1681565b3480156102ee57600080fd5b506102426102fd366004611bb5565b6109d2565b34801561030e57600080fd5b50600c54610289906201000090046001600160a01b031681565b34801561033457600080fd5b5060125b60405160ff9091168152602001610219565b34801561035657600080fd5b5061028961dead81565b34801561036c57600080fd5b5061024261037b366004611b89565b610a3b565b34801561038c57600080fd5b50600254610289906001600160a01b031681565b3480156103ac57600080fd5b506102ba6103bb366004611bf6565b6001600160a01b031660009081526003602052604090205490565b3480156103e257600080fd5b50610267610a71565b3480156103f757600080fd5b50610267610406366004611c13565b610aad565b34801561041757600080fd5b50610267610426366004611c13565b610b85565b34801561043757600080fd5b506102ba60085481565b34801561044d57600080fd5b506000546001600160a01b0316610289565b34801561046b57600080fd5b506040805180820190915260048152632d24a7a760e11b602082015261020c565b34801561049857600080fd5b50600c546103389060ff1681565b3480156104b257600080fd5b506102426104c1366004611b89565b610c5b565b3480156104d257600080fd5b506102426104e1366004611b89565b610caa565b3480156104f257600080fd5b506102ba60075481565b34801561050857600080fd5b50610267610517366004611c51565b610cb7565b34801561052857600080fd5b50610242610537366004611bf6565b60056020526000908152604090205460ff1681565b34801561055857600080fd5b50610267610567366004611c13565b610d4d565b34801561057857600080fd5b506102ba610587366004611c6a565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105be57600080fd5b50610267610e25565b3480156105d357600080fd5b506102676105e2366004611bf6565b610f51565b3480156105f357600080fd5b50600c5461033890610100900460ff1681565b6000610613338484611003565b50600192915050565b6000546001600160a01b0316331461064f5760405162461bcd60e51b815260040161064690611c98565b60405180910390fd5b60065460ff16156106a25760405162461bcd60e51b815260206004820152601f60248201527f596f752063616e206f6e6c7920616464206c6971756964697479206f6e6365006044820152606401610646565b6006805460ff1916600190811790915580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106ee308269d3c21bcecceda1000000611003565b6001546001600160a01b031663f305d7194730610720816001600160a01b031660009081526003602052604090205490565b6000803360405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561078c573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107b19190611cd9565b5050506000600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610809573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082d9190611d07565b6001600160a01b031663e6a4390530600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561088f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b39190611d07565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa1580156108fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109229190611d07565b600280546001600160a01b0319166001600160a01b0383161781559091506064906109589069d3c21bcecceda100000090611d3a565b6109629190611d59565b600755606461097c69d3c21bcecceda10000006001611d3a565b6109869190611d59565b6008556001600160a01b03811660009081526009602090815260408083208054600160ff199182168117909255600a90935292208054909116821790556109ce9082906110f2565b5050565b60006109df8484846111a0565b610a318433610a2c85604051806060016040528060298152602001612274602991396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611914565b611003565b5060019392505050565b3360008181526004602090815260408083206001600160a01b03871684529091528120549091610613918590610a2c908661194e565b6000546001600160a01b03163314610a9b5760405162461bcd60e51b815260040161064690611c98565b600080546001600160a01b0319169055565b6000546001600160a01b03163314610ad75760405162461bcd60e51b815260040161064690611c98565b6001600160a01b0382166000908152600960209081526040918290205482518084018452600a815269524553495354414e434560b01b81840152925160ff9091161515841515141592610b2c92909101611d7b565b60405160208183030381529060405290610b595760405162461bcd60e51b81526004016106469190611b3e565b506001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610baf5760405162461bcd60e51b815260040161064690611c98565b6001600160a01b0382166000908152600a6020818152604092839020548351808501855292835269524553495354414e434560b01b83830152925160ff9093161515841515141592610c02929101611dd9565b60405160208183030381529060405290610c2f5760405162461bcd60e51b81526004016106469190611b3e565b506001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b60006106133384610a2c856040518060600160405280602681526020016122bd602691393360009081526004602090815260408083206001600160a01b038d1684529091529020549190611914565b60006106133384846111a0565b6000546001600160a01b03163314610ce15760405162461bcd60e51b815260040161064690611c98565b600d548114156040518060400160405280600a815260200169524553495354414e434560b01b815250604051602001610d1a9190611e33565b60405160208183030381529060405290610d475760405162461bcd60e51b81526004016106469190611b3e565b50600d55565b6000546001600160a01b03163314610d775760405162461bcd60e51b815260040161064690611c98565b6001600160a01b0382166000908152600b60209081526040918290205482518084018452600a815269524553495354414e434560b01b81840152925160ff9091161515841515141592610dcc92909101611e93565b60405160208183030381529060405290610df95760405162461bcd60e51b81526004016106469190611b3e565b506001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610e4f5760405162461bcd60e51b815260040161064690611c98565b600047116040518060400160405280600a815260200169524553495354414e434560b01b815250604051602001610e869190611ee5565b60405160208183030381529060405290610eb35760405162461bcd60e51b81526004016106469190611b3e565b50476000610ec96000546001600160a01b031690565b6001600160a01b03168260405160006040518083038185875af1925050503d8060008114610f13576040519150601f19603f3d011682016040523d82523d6000602084013e610f18565b606091505b5050905080156109ce5760405182907fd8c61d370587e52fdbf5b953deefd03b3e3c32279e15018f0cf776427da990c990600090a25050565b6000546001600160a01b03163314610f7b5760405162461bcd60e51b815260040161064690611c98565b6001600160a01b038116610fe15760405162461bcd60e51b815260206004820152602760248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526632323932b9b99760c91b6064820152608401610646565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166110655760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610646565b6001600160a01b0382166110c65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610646565b6001600160a01b0392831660009081526004602090815260408083209490951682529290925291902055565b6001600160a01b0382166000908152600560209081526040918290205482518084018452600a815269524553495354414e434560b01b81840152925160ff909116151584151514159261114792909101611f38565b604051602081830303815290604052906111745760405162461bcd60e51b81526004016106469190611b3e565b506001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b60006001600160a01b0316836001600160a01b031614156040518060400160405280600a815260200169524553495354414e434560b01b8152506040516020016111ea9190611f9f565b604051602081830303815290604052906112175760405162461bcd60e51b81526004016106469190611b3e565b5060006001600160a01b0316826001600160a01b031614156040518060400160405280600a815260200169524553495354414e434560b01b8152506040516020016112629190611ff1565b6040516020818303038152906040529061128f5760405162461bcd60e51b81526004016106469190611b3e565b50600081116040518060400160405280600a815260200169524553495354414e434560b01b8152506040516020016112c79190612041565b604051602081830303815290604052906112f45760405162461bcd60e51b81526004016106469190611b3e565b506001600160a01b0383166000908152600360205260409020548111156040518060400160405280600a815260200169524553495354414e434560b01b8152506040516020016113449190612097565b604051602081830303815290604052906113715760405162461bcd60e51b81526004016106469190611b3e565b506002546001600160a01b0384811691161480156113a857506001600160a01b0382166000908152600a602052604090205460ff16155b806113e457506002546001600160a01b0383811691161480156113e457506001600160a01b0383166000908152600a602052604090205460ff16155b15611451576008548111156040518060400160405280600a815260200169524553495354414e434560b01b81525060405160200161142291906120e5565b6040516020818303038152906040529061144f5760405162461bcd60e51b81526004016106469190611b3e565b505b6001600160a01b03821660009081526009602052604090205460ff166115025760075481611494846001600160a01b031660009081526003602052604090205490565b61149e9190612139565b11156040518060400160405280600a815260200169524553495354414e434560b01b8152506040516020016114d39190612151565b604051602081830303815290604052906115005760405162461bcd60e51b81526004016106469190611b3e565b505b6001600160a01b0383166000908152600b602052604090205460ff168061154157506001600160a01b0382166000908152600b602052604090205460ff165b806115635750600c5461155e9060ff6101008204811691166121b0565b60ff16155b15611604576001600160a01b038316600090815260036020526040812080548392906115909084906121d5565b90915550506001600160a01b038216600090815260036020526040812080548392906115bd908490612139565b92505081905550816001600160a01b0316836001600160a01b031660008051602061229d833981519152836040516115f791815260200190565b60405180910390a3505050565b6001600160a01b0383166000908152600360205260408120805483929061162c9084906121d5565b9091555050600c54610100900460ff16156116f957600c5460649061165990610100900460ff1683611d3a565b6116639190611d59565b61dead600090815260036020527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c80549091906116a1908490612139565b9091555050600c5461dead906001600160a01b0385169060008051602061229d833981519152906064906116dd90610100900460ff1686611d3a565b6116e79190611d59565b60405190815260200160405180910390a35b600c5460ff161561184357600c546064906117179060ff1683611d3a565b6117219190611d59565b3060009081526003602052604081208054909190611740908490612139565b9091555050600c5430906001600160a01b0385169060008051602061229d833981519152906064906117759060ff1686611d3a565b61177f9190611d59565b60405190815260200160405180910390a3600d54306000908152600360205260409020541180156117bd57506002546001600160a01b038381169116145b80156117e257506001600160a01b0383166000908152600a602052604090205460ff16155b156118435730600090815260036020526040902054611800906119b4565b600c546040516001600160a01b036201000090920491909116904780156108fc02916000818181858888f19350505050158015611841573d6000803e3d6000fd5b505b600c5460649061185d9060ff6101008204811691166121b0565b61186a9060ff1683611d3a565b6118749190611d59565b61187e90826121d5565b6001600160a01b038316600090815260036020526040812080549091906118a6908490612139565b9091555050600c546001600160a01b03808416919085169060008051602061229d833981519152906064906118e59060ff6101008204811691166121b0565b6118f29060ff1686611d3a565b6118fc9190611d59565b61190690856121d5565b6040519081526020016115f7565b600081848411156119385760405162461bcd60e51b81526004016106469190611b3e565b50600061194584866121d5565b95945050505050565b60008061195b8385612139565b9050838110156119ad5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610646565b9392505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106119e9576119e96121ec565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611a42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a669190611d07565b81600181518110611a7957611a796121ec565b6001600160a01b039283166020918202929092010152600154611a9f9130911684611003565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac94790611ad8908590600090869030904290600401612202565b600060405180830381600087803b158015611af257600080fd5b505af1158015611b06573d6000803e3d6000fd5b505050505050565b60005b83811015611b29578181015183820152602001611b11565b83811115611b38576000848401525b50505050565b6020815260008251806020840152611b5d816040850160208701611b0e565b601f01601f19169190910160400192915050565b6001600160a01b0381168114611b8657600080fd5b50565b60008060408385031215611b9c57600080fd5b8235611ba781611b71565b946020939093013593505050565b600080600060608486031215611bca57600080fd5b8335611bd581611b71565b92506020840135611be581611b71565b929592945050506040919091013590565b600060208284031215611c0857600080fd5b81356119ad81611b71565b60008060408385031215611c2657600080fd5b8235611c3181611b71565b915060208301358015158114611c4657600080fd5b809150509250929050565b600060208284031215611c6357600080fd5b5035919050565b60008060408385031215611c7d57600080fd5b8235611c8881611b71565b91506020830135611c4681611b71565b60208082526021908201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726040820152601760f91b606082015260800190565b600080600060608486031215611cee57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611d1957600080fd5b81516119ad81611b71565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615611d5457611d54611d24565b500290565b600082611d7657634e487b7160e01b600052601260045260246000fd5b500490565b60008251611d8d818460208701611b0e565b7f3a206163636f756e7420697320616c7265616479206578636c756465642066729201918252507337b69036b0bc103bb0b63632ba103634b6b4ba1760611b6020820152603401919050565b60008251611deb818460208701611b0e565b7f3a206163636f756e7420697320616c7265616479206578636c756465642066729201918252506f37b69036b0bc103a3c103634b6b4ba1760811b6020820152603001919050565b60008251611e45818460208701611b0e565b7f3a2063616e6e6f7420757064617465206d696e696d756d546f6b656e734265669201918252507537b932a9bbb0b8103a379039b0b6b2903b30b63ab29760511b6020820152603601919050565b60008251611ea5818460208701611b0e565b7f3a206163636f756e7420697320616c7265616479206578636c756465642066729201918252506737b6903332b2b99760c11b6020820152602801919050565b60008251611ef7818460208701611b0e565b7f3a2063616e6e6f742073656e64206d6f7265207468616e20636f6e747261637492019182525068103130b630b731b29760b91b6020820152602901919050565b60008251611f4a818460208701611b0e565b7f3a206175746f6d61746564206d61726b6574206d616b657220706169722069739201918252507f20616c72656164792073657420746f20746861742076616c75652e00000000006020820152603b01919050565b60008251611fb1818460208701611b0e565b7f3a2063616e6e6f74207472616e736665722066726f6d20746865207a65726f209201918252506730b2323932b9b99760c11b6020820152602801919050565b60008251612003818460208701611b0e565b7f3a2063616e6e6f74207472616e7366657220746f20746865207a65726f20616492019182525065323932b9b99760d11b6020820152602601919050565b60008251612053818460208701611b0e565b7f3a207472616e7366657220616d6f756e74206d757374206265206772656174659201918252506b39103a3430b7103d32b9379760a11b6020820152602c01919050565b600082516120a9818460208701611b0e565b7f3a2063616e6e6f74207472616e73666572206d6f7265207468616e2062616c61920191825250633731b29760e11b6020820152602401919050565b600082516120f7818460208701611b0e565b7f3a207472616e7366657220616d6f756e74206578636565647320746865206d61920191825250693c2a3c20b6b7bab73a1760b11b6020820152602a01919050565b6000821982111561214c5761214c611d24565b500190565b60008251612163818460208701611b0e565b7f3a2065787065637465642077616c6c657420616d6f756e74206578636565647392019182525074103a34329036b0bc2bb0b63632ba20b6b7bab73a1760591b6020820152603501919050565b600060ff821660ff84168060ff038211156121cd576121cd611d24565b019392505050565b6000828210156121e7576121e7611d24565b500390565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156122525784516001600160a01b03168352938301939183019160010161222d565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63652eddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f2ea2646970667358221220fdc0d8c798c371d956ecc13cee136d97ce88932a8283f3a285285876c6bc95d264736f6c634300080d0033

Deployed Bytecode

0x6080604052600436106101d15760003560e01c8063880bcbc1116100f7578063aa4bde2811610095578063dd62ed3e11610064578063dd62ed3e1461056c578063e086e5ec146105b2578063f2fde38b146105c7578063fce589d8146105e757600080fd5b8063aa4bde28146104e6578063aee50b1e146104fc578063b62496f51461051c578063c02466681461054c57600080fd5b806395d89b41116100d157806395d89b411461045f578063a071dcf41461048c578063a457c2d7146104a6578063a9059cbb146104c657600080fd5b8063880bcbc11461040b5780638c0b5e221461042b5780638da5cb5b1461044157600080fd5b80632dc0562d1161016f57806349bd5a5e1161013e57806349bd5a5e1461038057806370a08231146103a0578063715018a6146103d6578063781edb3c146103eb57600080fd5b80632dc0562d14610302578063313ce5671461032857806336cf7c871461034a578063395093511461036057600080fd5b80631694505e116101ab5780631694505e1461026957806318160ddd146102a15780631e17ba39146102c857806323b872dd146102e257600080fd5b806306fdde03146101dd578063095ea7b3146102225780630bd05b691461025257600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b5060408051808201909152600a815269524553495354414e434560b01b60208201525b6040516102199190611b3e565b60405180910390f35b34801561022e57600080fd5b5061024261023d366004611b89565b610606565b6040519015158152602001610219565b34801561025e57600080fd5b5061026761061c565b005b34801561027557600080fd5b50600154610289906001600160a01b031681565b6040516001600160a01b039091168152602001610219565b3480156102ad57600080fd5b5069d3c21bcecceda10000005b604051908152602001610219565b3480156102d457600080fd5b506006546102429060ff1681565b3480156102ee57600080fd5b506102426102fd366004611bb5565b6109d2565b34801561030e57600080fd5b50600c54610289906201000090046001600160a01b031681565b34801561033457600080fd5b5060125b60405160ff9091168152602001610219565b34801561035657600080fd5b5061028961dead81565b34801561036c57600080fd5b5061024261037b366004611b89565b610a3b565b34801561038c57600080fd5b50600254610289906001600160a01b031681565b3480156103ac57600080fd5b506102ba6103bb366004611bf6565b6001600160a01b031660009081526003602052604090205490565b3480156103e257600080fd5b50610267610a71565b3480156103f757600080fd5b50610267610406366004611c13565b610aad565b34801561041757600080fd5b50610267610426366004611c13565b610b85565b34801561043757600080fd5b506102ba60085481565b34801561044d57600080fd5b506000546001600160a01b0316610289565b34801561046b57600080fd5b506040805180820190915260048152632d24a7a760e11b602082015261020c565b34801561049857600080fd5b50600c546103389060ff1681565b3480156104b257600080fd5b506102426104c1366004611b89565b610c5b565b3480156104d257600080fd5b506102426104e1366004611b89565b610caa565b3480156104f257600080fd5b506102ba60075481565b34801561050857600080fd5b50610267610517366004611c51565b610cb7565b34801561052857600080fd5b50610242610537366004611bf6565b60056020526000908152604090205460ff1681565b34801561055857600080fd5b50610267610567366004611c13565b610d4d565b34801561057857600080fd5b506102ba610587366004611c6a565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105be57600080fd5b50610267610e25565b3480156105d357600080fd5b506102676105e2366004611bf6565b610f51565b3480156105f357600080fd5b50600c5461033890610100900460ff1681565b6000610613338484611003565b50600192915050565b6000546001600160a01b0316331461064f5760405162461bcd60e51b815260040161064690611c98565b60405180910390fd5b60065460ff16156106a25760405162461bcd60e51b815260206004820152601f60248201527f596f752063616e206f6e6c7920616464206c6971756964697479206f6e6365006044820152606401610646565b6006805460ff1916600190811790915580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106ee308269d3c21bcecceda1000000611003565b6001546001600160a01b031663f305d7194730610720816001600160a01b031660009081526003602052604090205490565b6000803360405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561078c573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107b19190611cd9565b5050506000600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610809573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082d9190611d07565b6001600160a01b031663e6a4390530600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561088f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b39190611d07565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa1580156108fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109229190611d07565b600280546001600160a01b0319166001600160a01b0383161781559091506064906109589069d3c21bcecceda100000090611d3a565b6109629190611d59565b600755606461097c69d3c21bcecceda10000006001611d3a565b6109869190611d59565b6008556001600160a01b03811660009081526009602090815260408083208054600160ff199182168117909255600a90935292208054909116821790556109ce9082906110f2565b5050565b60006109df8484846111a0565b610a318433610a2c85604051806060016040528060298152602001612274602991396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611914565b611003565b5060019392505050565b3360008181526004602090815260408083206001600160a01b03871684529091528120549091610613918590610a2c908661194e565b6000546001600160a01b03163314610a9b5760405162461bcd60e51b815260040161064690611c98565b600080546001600160a01b0319169055565b6000546001600160a01b03163314610ad75760405162461bcd60e51b815260040161064690611c98565b6001600160a01b0382166000908152600960209081526040918290205482518084018452600a815269524553495354414e434560b01b81840152925160ff9091161515841515141592610b2c92909101611d7b565b60405160208183030381529060405290610b595760405162461bcd60e51b81526004016106469190611b3e565b506001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610baf5760405162461bcd60e51b815260040161064690611c98565b6001600160a01b0382166000908152600a6020818152604092839020548351808501855292835269524553495354414e434560b01b83830152925160ff9093161515841515141592610c02929101611dd9565b60405160208183030381529060405290610c2f5760405162461bcd60e51b81526004016106469190611b3e565b506001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b60006106133384610a2c856040518060600160405280602681526020016122bd602691393360009081526004602090815260408083206001600160a01b038d1684529091529020549190611914565b60006106133384846111a0565b6000546001600160a01b03163314610ce15760405162461bcd60e51b815260040161064690611c98565b600d548114156040518060400160405280600a815260200169524553495354414e434560b01b815250604051602001610d1a9190611e33565b60405160208183030381529060405290610d475760405162461bcd60e51b81526004016106469190611b3e565b50600d55565b6000546001600160a01b03163314610d775760405162461bcd60e51b815260040161064690611c98565b6001600160a01b0382166000908152600b60209081526040918290205482518084018452600a815269524553495354414e434560b01b81840152925160ff9091161515841515141592610dcc92909101611e93565b60405160208183030381529060405290610df95760405162461bcd60e51b81526004016106469190611b3e565b506001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610e4f5760405162461bcd60e51b815260040161064690611c98565b600047116040518060400160405280600a815260200169524553495354414e434560b01b815250604051602001610e869190611ee5565b60405160208183030381529060405290610eb35760405162461bcd60e51b81526004016106469190611b3e565b50476000610ec96000546001600160a01b031690565b6001600160a01b03168260405160006040518083038185875af1925050503d8060008114610f13576040519150601f19603f3d011682016040523d82523d6000602084013e610f18565b606091505b5050905080156109ce5760405182907fd8c61d370587e52fdbf5b953deefd03b3e3c32279e15018f0cf776427da990c990600090a25050565b6000546001600160a01b03163314610f7b5760405162461bcd60e51b815260040161064690611c98565b6001600160a01b038116610fe15760405162461bcd60e51b815260206004820152602760248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526632323932b9b99760c91b6064820152608401610646565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166110655760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610646565b6001600160a01b0382166110c65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610646565b6001600160a01b0392831660009081526004602090815260408083209490951682529290925291902055565b6001600160a01b0382166000908152600560209081526040918290205482518084018452600a815269524553495354414e434560b01b81840152925160ff909116151584151514159261114792909101611f38565b604051602081830303815290604052906111745760405162461bcd60e51b81526004016106469190611b3e565b506001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b60006001600160a01b0316836001600160a01b031614156040518060400160405280600a815260200169524553495354414e434560b01b8152506040516020016111ea9190611f9f565b604051602081830303815290604052906112175760405162461bcd60e51b81526004016106469190611b3e565b5060006001600160a01b0316826001600160a01b031614156040518060400160405280600a815260200169524553495354414e434560b01b8152506040516020016112629190611ff1565b6040516020818303038152906040529061128f5760405162461bcd60e51b81526004016106469190611b3e565b50600081116040518060400160405280600a815260200169524553495354414e434560b01b8152506040516020016112c79190612041565b604051602081830303815290604052906112f45760405162461bcd60e51b81526004016106469190611b3e565b506001600160a01b0383166000908152600360205260409020548111156040518060400160405280600a815260200169524553495354414e434560b01b8152506040516020016113449190612097565b604051602081830303815290604052906113715760405162461bcd60e51b81526004016106469190611b3e565b506002546001600160a01b0384811691161480156113a857506001600160a01b0382166000908152600a602052604090205460ff16155b806113e457506002546001600160a01b0383811691161480156113e457506001600160a01b0383166000908152600a602052604090205460ff16155b15611451576008548111156040518060400160405280600a815260200169524553495354414e434560b01b81525060405160200161142291906120e5565b6040516020818303038152906040529061144f5760405162461bcd60e51b81526004016106469190611b3e565b505b6001600160a01b03821660009081526009602052604090205460ff166115025760075481611494846001600160a01b031660009081526003602052604090205490565b61149e9190612139565b11156040518060400160405280600a815260200169524553495354414e434560b01b8152506040516020016114d39190612151565b604051602081830303815290604052906115005760405162461bcd60e51b81526004016106469190611b3e565b505b6001600160a01b0383166000908152600b602052604090205460ff168061154157506001600160a01b0382166000908152600b602052604090205460ff165b806115635750600c5461155e9060ff6101008204811691166121b0565b60ff16155b15611604576001600160a01b038316600090815260036020526040812080548392906115909084906121d5565b90915550506001600160a01b038216600090815260036020526040812080548392906115bd908490612139565b92505081905550816001600160a01b0316836001600160a01b031660008051602061229d833981519152836040516115f791815260200190565b60405180910390a3505050565b6001600160a01b0383166000908152600360205260408120805483929061162c9084906121d5565b9091555050600c54610100900460ff16156116f957600c5460649061165990610100900460ff1683611d3a565b6116639190611d59565b61dead600090815260036020527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c80549091906116a1908490612139565b9091555050600c5461dead906001600160a01b0385169060008051602061229d833981519152906064906116dd90610100900460ff1686611d3a565b6116e79190611d59565b60405190815260200160405180910390a35b600c5460ff161561184357600c546064906117179060ff1683611d3a565b6117219190611d59565b3060009081526003602052604081208054909190611740908490612139565b9091555050600c5430906001600160a01b0385169060008051602061229d833981519152906064906117759060ff1686611d3a565b61177f9190611d59565b60405190815260200160405180910390a3600d54306000908152600360205260409020541180156117bd57506002546001600160a01b038381169116145b80156117e257506001600160a01b0383166000908152600a602052604090205460ff16155b156118435730600090815260036020526040902054611800906119b4565b600c546040516001600160a01b036201000090920491909116904780156108fc02916000818181858888f19350505050158015611841573d6000803e3d6000fd5b505b600c5460649061185d9060ff6101008204811691166121b0565b61186a9060ff1683611d3a565b6118749190611d59565b61187e90826121d5565b6001600160a01b038316600090815260036020526040812080549091906118a6908490612139565b9091555050600c546001600160a01b03808416919085169060008051602061229d833981519152906064906118e59060ff6101008204811691166121b0565b6118f29060ff1686611d3a565b6118fc9190611d59565b61190690856121d5565b6040519081526020016115f7565b600081848411156119385760405162461bcd60e51b81526004016106469190611b3e565b50600061194584866121d5565b95945050505050565b60008061195b8385612139565b9050838110156119ad5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610646565b9392505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106119e9576119e96121ec565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611a42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a669190611d07565b81600181518110611a7957611a796121ec565b6001600160a01b039283166020918202929092010152600154611a9f9130911684611003565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac94790611ad8908590600090869030904290600401612202565b600060405180830381600087803b158015611af257600080fd5b505af1158015611b06573d6000803e3d6000fd5b505050505050565b60005b83811015611b29578181015183820152602001611b11565b83811115611b38576000848401525b50505050565b6020815260008251806020840152611b5d816040850160208701611b0e565b601f01601f19169190910160400192915050565b6001600160a01b0381168114611b8657600080fd5b50565b60008060408385031215611b9c57600080fd5b8235611ba781611b71565b946020939093013593505050565b600080600060608486031215611bca57600080fd5b8335611bd581611b71565b92506020840135611be581611b71565b929592945050506040919091013590565b600060208284031215611c0857600080fd5b81356119ad81611b71565b60008060408385031215611c2657600080fd5b8235611c3181611b71565b915060208301358015158114611c4657600080fd5b809150509250929050565b600060208284031215611c6357600080fd5b5035919050565b60008060408385031215611c7d57600080fd5b8235611c8881611b71565b91506020830135611c4681611b71565b60208082526021908201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726040820152601760f91b606082015260800190565b600080600060608486031215611cee57600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611d1957600080fd5b81516119ad81611b71565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615611d5457611d54611d24565b500290565b600082611d7657634e487b7160e01b600052601260045260246000fd5b500490565b60008251611d8d818460208701611b0e565b7f3a206163636f756e7420697320616c7265616479206578636c756465642066729201918252507337b69036b0bc103bb0b63632ba103634b6b4ba1760611b6020820152603401919050565b60008251611deb818460208701611b0e565b7f3a206163636f756e7420697320616c7265616479206578636c756465642066729201918252506f37b69036b0bc103a3c103634b6b4ba1760811b6020820152603001919050565b60008251611e45818460208701611b0e565b7f3a2063616e6e6f7420757064617465206d696e696d756d546f6b656e734265669201918252507537b932a9bbb0b8103a379039b0b6b2903b30b63ab29760511b6020820152603601919050565b60008251611ea5818460208701611b0e565b7f3a206163636f756e7420697320616c7265616479206578636c756465642066729201918252506737b6903332b2b99760c11b6020820152602801919050565b60008251611ef7818460208701611b0e565b7f3a2063616e6e6f742073656e64206d6f7265207468616e20636f6e747261637492019182525068103130b630b731b29760b91b6020820152602901919050565b60008251611f4a818460208701611b0e565b7f3a206175746f6d61746564206d61726b6574206d616b657220706169722069739201918252507f20616c72656164792073657420746f20746861742076616c75652e00000000006020820152603b01919050565b60008251611fb1818460208701611b0e565b7f3a2063616e6e6f74207472616e736665722066726f6d20746865207a65726f209201918252506730b2323932b9b99760c11b6020820152602801919050565b60008251612003818460208701611b0e565b7f3a2063616e6e6f74207472616e7366657220746f20746865207a65726f20616492019182525065323932b9b99760d11b6020820152602601919050565b60008251612053818460208701611b0e565b7f3a207472616e7366657220616d6f756e74206d757374206265206772656174659201918252506b39103a3430b7103d32b9379760a11b6020820152602c01919050565b600082516120a9818460208701611b0e565b7f3a2063616e6e6f74207472616e73666572206d6f7265207468616e2062616c61920191825250633731b29760e11b6020820152602401919050565b600082516120f7818460208701611b0e565b7f3a207472616e7366657220616d6f756e74206578636565647320746865206d61920191825250693c2a3c20b6b7bab73a1760b11b6020820152602a01919050565b6000821982111561214c5761214c611d24565b500190565b60008251612163818460208701611b0e565b7f3a2065787065637465642077616c6c657420616d6f756e74206578636565647392019182525074103a34329036b0bc2bb0b63632ba20b6b7bab73a1760591b6020820152603501919050565b600060ff821660ff84168060ff038211156121cd576121cd611d24565b019392505050565b6000828210156121e7576121e7611d24565b500390565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156122525784516001600160a01b03168352938301939183019160010161222d565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63652eddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f2ea2646970667358221220fdc0d8c798c371d956ecc13cee136d97ce88932a8283f3a285285876c6bc95d264736f6c634300080d0033

Deployed Bytecode Sourcemap

3376:9546:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9669:71;;;;;;;;;;-1:-1:-1;9732:5:0;;;;;;;;;;;;-1:-1:-1;;;9732:5:0;;;;9669:71;;;;;;;:::i;:::-;;;;;;;;5622:163;;;;;;;;;;-1:-1:-1;5622:163:0;;;;;:::i;:::-;;:::i;:::-;;;1286:14:1;;1279:22;1261:41;;1249:2;1234:18;5622:163:0;1121:187:1;8394:986:0;;;;;;;;;;;;;:::i;:::-;;3455:30;;;;;;;;;;-1:-1:-1;3455:30:0;;;;-1:-1:-1;;;;;3455:30:0;;;;;;-1:-1:-1;;;;;1492:32:1;;;1474:51;;1462:2;1447:18;3455:30:0;1313:218:1;9912:88:0;;;;;;;;;;-1:-1:-1;3838:16:0;9912:88;;;1682:25:1;;;1670:2;1655:18;9912:88:0;1536:177:1;3926:36:0;;;;;;;;;;-1:-1:-1;3926:36:0;;;;;;;;5791:314;;;;;;;;;;-1:-1:-1;5791:314:0;;;;;:::i;:::-;;:::i;4416:24::-;;;;;;;;;;-1:-1:-1;4416:24:0;;;;;;;-1:-1:-1;;;;;4416:24:0;;;9827:79;;;;;;;;;;-1:-1:-1;3661:2:0;9827:79;;;2559:4:1;2547:17;;;2529:36;;2517:2;2502:18;9827:79:0;2387:184:1;4336:73:0;;;;;;;;;;;;4367:42;4336:73;;6111:217;;;;;;;;;;-1:-1:-1;6111:217:0;;;;;:::i;:::-;;:::i;3492:28::-;;;;;;;;;;-1:-1:-1;3492:28:0;;;;-1:-1:-1;;;;;3492:28:0;;;10006:104;;;;;;;;;;-1:-1:-1;10006:104:0;;;;;:::i;:::-;-1:-1:-1;;;;;10090:17:0;10072:7;10090:17;;;:8;:17;;;;;;;10006:104;3090:80;;;;;;;;;;;;;:::i;6609:302::-;;;;;;;;;;-1:-1:-1;6609:302:0;;;;;:::i;:::-;;:::i;6917:313::-;;;;;;;;;;-1:-1:-1;6917:313:0;;;;;:::i;:::-;;:::i;4021:41::-;;;;;;;;;;;;;;;;2893:65;;;;;;;;;;-1:-1:-1;2931:7:0;2949:6;-1:-1:-1;;;;;2949:6:0;2893:65;;9746:75;;;;;;;;;;-1:-1:-1;9811:7:0;;;;;;;;;;;;-1:-1:-1;;;9811:7:0;;;;9746:75;;4275:23;;;;;;;;;;-1:-1:-1;4275:23:0;;;;;;;;6334:269;;;;;;;;;;-1:-1:-1;6334:269:0;;;;;:::i;:::-;;:::i;5447:169::-;;;;;;;;;;-1:-1:-1;5447:169:0;;;;;:::i;:::-;;:::i;3969:45::-;;;;;;;;;;;;;;;;7500:261;;;;;;;;;;-1:-1:-1;7500:261:0;;;;;:::i;:::-;;:::i;3861:58::-;;;;;;;;;;-1:-1:-1;3861:58:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7236:258;;;;;;;;;;-1:-1:-1;7236:258:0;;;;;:::i;:::-;;:::i;10116:131::-;;;;;;;;;;-1:-1:-1;10116:131:0;;;;;:::i;:::-;-1:-1:-1;;;;;10217:18:0;;;10199:7;10217:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10116:131;7767:329;;;;;;;;;;;;;:::i;3176:193::-;;;;;;;;;;-1:-1:-1;3176:193:0;;;;;:::i;:::-;;:::i;4305:24::-;;;;;;;;;;-1:-1:-1;4305:24:0;;;;;;;;;;;5622:163;5699:4;5716:39;2708:10;5739:7;5748:6;5716:8;:39::i;:::-;-1:-1:-1;5773:4:0;5622:163;;;;:::o;8394:986::-;3004:6;;-1:-1:-1;;;;;3004:6:0;2708:10;3004:22;2996:68;;;;-1:-1:-1;;;2996:68:0;;;;;;;:::i;:::-;;;;;;;;;8460:16:::1;::::0;::::1;;8459:17;8451:61;;;::::0;-1:-1:-1;;;8451:61:0;;4431:2:1;8451:61:0::1;::::0;::::1;4413:21:1::0;4470:2;4450:18;;;4443:30;4509:33;4489:18;;;4482:61;4560:18;;8451:61:0::1;4229:355:1::0;8451:61:0::1;8523:16;:23:::0;;-1:-1:-1;;8523:23:0::1;8542:4;8523:23:::0;;::::1;::::0;;;8646:34;;-1:-1:-1;;;;;;8646:34:0::1;8592:42;8646:34:::0;;::::1;::::0;;;8691:63:::1;8708:4;8592:42:::0;3838:16:::1;8691:8;:63::i;:::-;8765:15;::::0;-1:-1:-1;;;;;8765:15:0::1;:31;8804:21;8835:4;8842:24;8835:4:::0;-1:-1:-1;;;;;10090:17:0;10072:7;10090:17;;;:8;:17;;;;;;;10006:104;8842:24:::1;8868:1;::::0;2708:10;8765:139:::1;::::0;::::1;::::0;;;-1:-1:-1;;;;;;8765:139:0;;;-1:-1:-1;;;;;4948:15:1;;;8765:139:0::1;::::0;::::1;4930:34:1::0;4980:18;;;4973:34;;;;5023:18;;;5016:34;;;;5066:18;;;5059:34;5130:15;;;5109:19;;;5102:44;8888:15:0::1;5162:19:1::0;;;5155:35;4864:19;;8765:139:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;8915:22;8949:15;;;;;;;;;-1:-1:-1::0;;;;;8949:15:0::1;-1:-1:-1::0;;;;;8949:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8940:43:0::1;;8992:4;8999:15;;;;;;;;;-1:-1:-1::0;;;;;8999:15:0::1;-1:-1:-1::0;;;;;8999:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8940:83;::::0;-1:-1:-1;;;;;;8940:83:0::1;::::0;;;;;;-1:-1:-1;;;;;5998:15:1;;;8940:83:0::1;::::0;::::1;5980:34:1::0;6050:15;;6030:18;;;6023:43;5915:18;;8940:83:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9034:13;:30:::0;;-1:-1:-1;;;;;;9034:30:0::1;-1:-1:-1::0;;;;;9034:30:0;::::1;;::::0;;;;-1:-1:-1;9112:3:0::1;::::0;9093:16:::1;::::0;3838::::1;::::0;9093::::1;:::i;:::-;:22;;;;:::i;:::-;9075:15;:40:::0;9166:3:::1;9147:16;3838;9162:1;9147:16;:::i;:::-;:22;;;;:::i;:::-;9133:11;:36:::0;-1:-1:-1;;;;;9191:45:0;::::1;;::::0;;;:29:::1;:45;::::0;;;;;;;:52;;9239:4:::1;-1:-1:-1::0;;9191:52:0;;::::1;::::0;::::1;::::0;;;9254:34:::1;:50:::0;;;;;:57;;;;::::1;::::0;::::1;::::0;;9322:50:::1;::::0;9191:45;;9322:28:::1;:50::i;:::-;8440:940;;8394:986::o:0;5791:314::-;5890:4;5907:36;5917:6;5925:9;5936:6;5907:9;:36::i;:::-;5954:121;5963:6;2708:10;5985:89;6023:6;5985:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5985:19:0;;;;;;:11;:19;;;;;;;;2708:10;5985:33;;;;;;;;;;:37;:89::i;:::-;5954:8;:121::i;:::-;-1:-1:-1;6093:4:0;5791:314;;;;;:::o;6111:217::-;2708:10;6201:4;6247:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6247:34:0;;;;;;;;;;6201:4;;6217:81;;6239:7;;6247:50;;6286:10;6247:38;:50::i;3090:80::-;3004:6;;-1:-1:-1;;;;;3004:6:0;2708:10;3004:22;2996:68;;;;-1:-1:-1;;;2996:68:0;;;;;;;:::i;:::-;3165:1:::1;3148:19:::0;;-1:-1:-1;;;;;;3148:19:0::1;::::0;;3090:80::o;6609:302::-;3004:6;;-1:-1:-1;;;;;3004:6:0;2708:10;3004:22;2996:68;;;;-1:-1:-1;;;2996:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6714:38:0;::::1;;::::0;;;:29:::1;:38;::::0;;;;;;;;;6780:5;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;6780:5:0;;::::1;::::0;6766:76;;6714:38:::1;::::0;;::::1;:50;;::::0;::::1;;;;::::0;6766:76:::1;::::0;6780:5;;6766:76:::1;;:::i;:::-;;;;;;;;;;;;;6706:137;;;;;-1:-1:-1::0;;;6706:137:0::1;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;;6854:38:0;;;::::1;;::::0;;;:29:::1;:38;::::0;;;;:49;;-1:-1:-1;;6854:49:0::1;::::0;::::1;;::::0;;;::::1;::::0;;6609:302::o;6917:313::-;3004:6;;-1:-1:-1;;;;;3004:6:0;2708:10;3004:22;2996:68;;;;-1:-1:-1;;;2996:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7027:43:0;::::1;;::::0;;;:34:::1;:43;::::0;;;;;;;;;7098:5;;;;::::1;::::0;;;;;-1:-1:-1;;;7098:5:0;;::::1;::::0;7084:72;;7027:43:::1;::::0;;::::1;:55;;::::0;::::1;;;;::::0;7084:72:::1;::::0;7098:5;7084:72:::1;;:::i;:::-;;;;;;;;;;;;;7019:138;;;;;-1:-1:-1::0;;;7019:138:0::1;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;;7168:43:0;;;::::1;;::::0;;;:34:::1;:43;::::0;;;;:54;;-1:-1:-1;;7168:54:0::1;::::0;::::1;;::::0;;;::::1;::::0;;6917:313::o;6334:269::-;6429:4;6446:127;2708:10;6468:7;6476:96;6515:15;6476:96;;;;;;;;;;;;;;;;;2708:10;6476:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6476:34:0;;;;;;;;;;;;:38;:96::i;5447:169::-;5527:4;5544:42;2708:10;5568:9;5579:6;5544:9;:42::i;7500:261::-;3004:6;;-1:-1:-1;;;;;3004:6:0;2708:10;3004:22;2996:68;;;;-1:-1:-1;;;2996:68:0;;;;;;;:::i;:::-;7604:23:::1;;7592:8;:35;;7643:5;;;;;;;;;;;;;-1:-1:-1::0;;;7643:5:0::1;;::::0;7629:78:::1;;;;;;;;:::i;:::-;;;;;;;;;;;;;7584:124;;;;;-1:-1:-1::0;;;7584:124:0::1;;;;;;;;:::i;:::-;-1:-1:-1::0;7719:23:0::1;:34:::0;7500:261::o;7236:258::-;3004:6;;-1:-1:-1;;;;;3004:6:0;2708:10;3004:22;2996:68;;;;-1:-1:-1;;;2996:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7331:27:0;::::1;;::::0;;;:18:::1;:27;::::0;;;;;;;;;7386:5;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;7386:5:0;;::::1;::::0;7372:64;;7331:27:::1;::::0;;::::1;:39;;::::0;::::1;;;;::::0;7372:64:::1;::::0;7386:5;;7372:64:::1;;:::i;:::-;;;;;;;;;;;;;7323:114;;;;;-1:-1:-1::0;;;7323:114:0::1;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;;7448:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:38;;-1:-1:-1;;7448:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7236:258::o;7767:329::-;3004:6;;-1:-1:-1;;;;;3004:6:0;2708:10;3004:22;2996:68;;;;-1:-1:-1;;;2996:68:0;;;;;;;:::i;:::-;7852:1:::1;7828:21;:25;7869:5;;;;;;;;;;;;;-1:-1:-1::0;;;7869:5:0::1;;::::0;7855:65:::1;;;;;;;;:::i;:::-;;;;;;;;;;;;;7820:101;;;;;-1:-1:-1::0;;;7820:101:0::1;;;;;;;;:::i;:::-;-1:-1:-1::0;7949:21:0::1;7932:14;8007:7;2931::::0;2949:6;-1:-1:-1;;;;;2949:6:0;;2893:65;8007:7:::1;-1:-1:-1::0;;;;;7999:21:0::1;8029:6;7999:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7981:59;;;8055:7;8051:38;;;8070:16;::::0;8079:6;;8070:16:::1;::::0;;;::::1;7809:287;;7767:329::o:0;3176:193::-;3004:6;;-1:-1:-1;;;;;3004:6:0;2708:10;3004:22;2996:68;;;;-1:-1:-1;;;2996:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3267:22:0;::::1;3259:74;;;::::0;-1:-1:-1;;;3259:74:0;;9656:2:1;3259:74:0::1;::::0;::::1;9638:21:1::0;9695:2;9675:18;;;9668:30;9734:34;9714:18;;;9707:62;-1:-1:-1;;;9785:18:1;;;9778:37;9832:19;;3259:74:0::1;9454:403:1::0;3259:74:0::1;3344:6;:17:::0;;-1:-1:-1;;;;;;3344:17:0::1;-1:-1:-1::0;;;;;3344:17:0;;;::::1;::::0;;;::::1;::::0;;3176:193::o;8102:286::-;-1:-1:-1;;;;;8194:19:0;;8186:68;;;;-1:-1:-1;;;8186:68:0;;10064:2:1;8186:68:0;;;10046:21:1;10103:2;10083:18;;;10076:30;10142:34;10122:18;;;10115:62;-1:-1:-1;;;10193:18:1;;;10186:34;10237:19;;8186:68:0;9862:400:1;8186:68:0;-1:-1:-1;;;;;8273:21:0;;8265:68;;;;-1:-1:-1;;;8265:68:0;;10469:2:1;8265:68:0;;;10451:21:1;10508:2;10488:18;;;10481:30;10547:34;10527:18;;;10520:62;-1:-1:-1;;;10598:18:1;;;10591:32;10640:19;;8265:68:0;10267:398:1;8265:68:0;-1:-1:-1;;;;;8344:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;8102:286::o;9386:275::-;-1:-1:-1;;;;;9477:31:0;;;;;;:25;:31;;;;;;;;;;9533:5;;;;;;;;;;-1:-1:-1;;;9533:5:0;;;;9519:83;;9477:31;;;;:40;;;;;;;;9519:83;;9533:5;;9519:83;;:::i;:::-;;;;;;;;;;;;;9469:134;;;;;-1:-1:-1;;;9469:134:0;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;9614:31:0;;;;;;;;:25;:31;;;;;:39;;-1:-1:-1;;9614:39:0;;;;;;;;;;9386:275::o;10255:2262::-;10414:1;-1:-1:-1;;;;;10398:18:0;:4;-1:-1:-1;;;;;10398:18:0;;;10432:5;;;;;;;;;;;;;-1:-1:-1;;;10432:5:0;;;10418:64;;;;;;;;:::i;:::-;;;;;;;;;;;;;10390:93;;;;;-1:-1:-1;;;10390:93:0;;;;;;;;:::i;:::-;;10516:1;-1:-1:-1;;;;;10502:16:0;:2;-1:-1:-1;;;;;10502:16:0;;;10534:5;;;;;;;;;;;;;-1:-1:-1;;;10534:5:0;;;10520:62;;;;;;;;:::i;:::-;;;;;;;;;;;;;10494:89;;;;;-1:-1:-1;;;10494:89:0;;;;;;;;:::i;:::-;;10611:1;10602:6;:10;10628:5;;;;;;;;;;;;;-1:-1:-1;;;10628:5:0;;;10614:68;;;;;;;;:::i;:::-;;;;;;;;;;;;;10594:89;;;;;-1:-1:-1;;;10594:89:0;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;10090:17:0;;10072:7;10090:17;;;:8;:17;;;;;;10702:6;:25;;10743:5;;;;;;;;;;;;;-1:-1:-1;;;10743:5:0;;;10729:60;;;;;;;;:::i;:::-;;;;;;;;;;;;;10694:96;;;;;-1:-1:-1;;;10694:96:0;;;;;;;;:::i;:::-;-1:-1:-1;10822:13:0;;-1:-1:-1;;;;;10806:30:0;;;10822:13;;10806:30;:73;;;;-1:-1:-1;;;;;;10841:38:0;;;;;;:34;:38;;;;;;;;10840:39;10806:73;10805:171;;;-1:-1:-1;10916:13:0;;-1:-1:-1;;;;;10902:28:0;;;10916:13;;10902:28;:73;;;;-1:-1:-1;;;;;;10935:40:0;;;;;;:34;:40;;;;;;;;10934:41;10902:73;10801:302;;;11011:11;;11001:6;:21;;11038:5;;;;;;;;;;;;;-1:-1:-1;;;11038:5:0;;;11024:66;;;;;;;;:::i;:::-;;;;;;;;;;;;;10993:98;;;;;-1:-1:-1;;;10993:98:0;;;;;;;;:::i;:::-;;10801:302;-1:-1:-1;;;;;11118:33:0;;;;;;:29;:33;;;;;;;;11113:198;;11204:15;;11193:6;11177:13;11187:2;-1:-1:-1;;;;;10090:17:0;10072:7;10090:17;;;:8;:17;;;;;;;10006:104;11177:13;:22;;;;:::i;:::-;11176:43;;11235:5;;;;;;;;;;;;;-1:-1:-1;;;11235:5:0;;;11221:77;;;;;;;;:::i;:::-;;;;;;;;;;;;;11168:131;;;;;-1:-1:-1;;;11168:131:0;;;;;;;;:::i;:::-;;11113:198;-1:-1:-1;;;;;11325:24:0;;;;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;11353:22:0;;;;;;:18;:22;;;;;;;;11325:50;:75;;;-1:-1:-1;11388:7:0;;11379:16;;11388:7;;;;;;;11379:6;:16;:::i;:::-;:21;;;11325:75;11321:1189;;;-1:-1:-1;;;;;11417:14:0;;;;;;:8;:14;;;;;:24;;11435:6;;11417:14;:24;;11435:6;;11417:24;:::i;:::-;;;;-1:-1:-1;;;;;;;11456:12:0;;;;;;:8;:12;;;;;:22;;11472:6;;11456:12;:22;;11472:6;;11456:22;:::i;:::-;;;;;;;;11513:2;-1:-1:-1;;;;;11498:26:0;11507:4;-1:-1:-1;;;;;11498:26:0;-1:-1:-1;;;;;;;;;;;11517:6:0;11498:26;;;;1682:25:1;;1670:2;1655:18;;1536:177;11498:26:0;;;;;;;;10255:2262;;;:::o;11321:1189::-;-1:-1:-1;;;;;11557:14:0;;;;;;:8;:14;;;;;:24;;11575:6;;11557:14;:24;;11575:6;;11557:24;:::i;:::-;;;;-1:-1:-1;;11600:7:0;;;;;;;:11;11596:178;;11668:7;;11678:3;;11659:16;;11668:7;;;;;11659:6;:16;:::i;:::-;:22;;;;:::i;:::-;4367:42;11632:23;;;;:8;:23;;;:49;;:23;;;:49;;;;;:::i;:::-;;;;-1:-1:-1;;11744:7:0;;4367:42;;-1:-1:-1;;;;;11705:53:0;;;-1:-1:-1;;;;;;;;;;;11705:53:0;11754:3;;11735:16;;11744:7;;;;;11735:6;:16;:::i;:::-;:22;;;;:::i;:::-;11705:53;;1682:25:1;;;1670:2;1655:18;11705:53:0;;;;;;;11596:178;11792:6;;;;:10;11788:552;;11859:6;;11868:3;;11850:15;;11859:6;;11850;:15;:::i;:::-;:21;;;;:::i;:::-;11840:4;11823:23;;;;:8;:23;;;;;:48;;:23;;;:48;;;;;:::i;:::-;;;;-1:-1:-1;;11934:6:0;;11918:4;;-1:-1:-1;;;;;11895:52:0;;;-1:-1:-1;;;;;;;;;;;11895:52:0;11943:3;;11925:15;;11934:6;;11925;:15;:::i;:::-;:21;;;;:::i;:::-;11895:52;;1682:25:1;;;1670:2;1655:18;11895:52:0;;;;;;;11997:23;;11988:4;10072:7;10090:17;;;:8;:17;;;;;;11970:50;:107;;;;-1:-1:-1;12063:13:0;;-1:-1:-1;;;;;12049:28:0;;;12063:13;;12049:28;11970:107;:177;;;;-1:-1:-1;;;;;;12107:40:0;;;;;;:34;:40;;;;;;;;12106:41;11970:177;11966:359;;;12225:4;10072:7;10090:17;;;:8;:17;;;;;;12189:43;;:17;:43::i;:::-;12263:9;;12255:50;;-1:-1:-1;;;;;12263:9:0;;;;;;;;;12283:21;12255:50;;;;;;;;;12283:21;12263:9;12255:50;;;;;;;;;;;;;;;;;;;;;11966:359;12399:7;;12410:3;;12390:16;;12399:7;;;;;;;12390:6;:16;:::i;:::-;12380:27;;;;:6;:27;:::i;:::-;:33;;;;:::i;:::-;12370:44;;:6;:44;:::i;:::-;-1:-1:-1;;;;;12354:12:0;;;;;;:8;:12;;;;;:60;;:12;;;:60;;;;;:::i;:::-;;;;-1:-1:-1;;12482:7:0;;-1:-1:-1;;;;;12434:64:0;;;;;;;;-1:-1:-1;;;;;;;;;;;12434:64:0;12493:3;;12473:16;;12482:7;;;;;;;12473:6;:16;:::i;:::-;12463:27;;;;:6;:27;:::i;:::-;:33;;;;:::i;:::-;12453:44;;:6;:44;:::i;:::-;12434:64;;1682:25:1;;;1670:2;1655:18;12434:64:0;1536:177:1;2407:190:0;2493:7;2529:12;2521:6;;;;2513:29;;;;-1:-1:-1;;;2513:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2553:9:0;2565:5;2569:1;2565;:5;:::i;:::-;2553:17;2407:190;-1:-1:-1;;;;;2407:190:0:o;2222:179::-;2280:7;;2312:5;2316:1;2312;:5;:::i;:::-;2300:17;;2341:1;2336;:6;;2328:46;;;;-1:-1:-1;;;2328:46:0;;15023:2:1;2328:46:0;;;15005:21:1;15062:2;15042:18;;;15035:30;15101:29;15081:18;;;15074:57;15148:18;;2328:46:0;14821:351:1;2328:46:0;2392:1;2222:179;-1:-1:-1;;;2222:179:0:o;12523:396::-;12614:16;;;12628:1;12614:16;;;;;;;;12590:21;;12614:16;;;;;;;;;;-1:-1:-1;12614:16:0;12590:40;;12659:4;12641;12646:1;12641:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12641:23:0;;;:7;;;;;;;;;;:23;;;;12685:15;;:22;;;-1:-1:-1;;;12685:22:0;;;;:15;;;;;:20;;:22;;;;;12641:7;;12685:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12675:4;12680:1;12675:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12675:32:0;;;:7;;;;;;;;;:32;12750:15;;12718:62;;12735:4;;12750:15;12768:11;12718:8;:62::i;:::-;12791:15;;:120;;-1:-1:-1;;;12791:120:0;;-1:-1:-1;;;;;12791:15:0;;;;:66;;:120;;12858:11;;12791:15;;12874:4;;12888;;12895:15;;12791:120;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12579:340;12523:396;:::o;14:258:1:-;86:1;96:113;110:6;107:1;104:13;96:113;;;186:11;;;180:18;167:11;;;160:39;132:2;125:10;96:113;;;227:6;224:1;221:13;218:48;;;262:1;253:6;248:3;244:16;237:27;218:48;;14:258;;;:::o;277:383::-;426:2;415:9;408:21;389:4;458:6;452:13;501:6;496:2;485:9;481:18;474:34;517:66;576:6;571:2;560:9;556:18;551:2;543:6;539:15;517:66;:::i;:::-;644:2;623:15;-1:-1:-1;;619:29:1;604:45;;;;651:2;600:54;;277:383;-1:-1:-1;;277:383:1:o;665:131::-;-1:-1:-1;;;;;740:31:1;;730:42;;720:70;;786:1;783;776:12;720:70;665:131;:::o;801:315::-;869:6;877;930:2;918:9;909:7;905:23;901:32;898:52;;;946:1;943;936:12;898:52;985:9;972:23;1004:31;1029:5;1004:31;:::i;:::-;1054:5;1106:2;1091:18;;;;1078:32;;-1:-1:-1;;;801:315:1:o;1718:456::-;1795:6;1803;1811;1864:2;1852:9;1843:7;1839:23;1835:32;1832:52;;;1880:1;1877;1870:12;1832:52;1919:9;1906:23;1938:31;1963:5;1938:31;:::i;:::-;1988:5;-1:-1:-1;2045:2:1;2030:18;;2017:32;2058:33;2017:32;2058:33;:::i;:::-;1718:456;;2110:7;;-1:-1:-1;;;2164:2:1;2149:18;;;;2136:32;;1718:456::o;2576:247::-;2635:6;2688:2;2676:9;2667:7;2663:23;2659:32;2656:52;;;2704:1;2701;2694:12;2656:52;2743:9;2730:23;2762:31;2787:5;2762:31;:::i;2828:416::-;2893:6;2901;2954:2;2942:9;2933:7;2929:23;2925:32;2922:52;;;2970:1;2967;2960:12;2922:52;3009:9;2996:23;3028:31;3053:5;3028:31;:::i;:::-;3078:5;-1:-1:-1;3135:2:1;3120:18;;3107:32;3177:15;;3170:23;3158:36;;3148:64;;3208:1;3205;3198:12;3148:64;3231:7;3221:17;;;2828:416;;;;;:::o;3249:180::-;3308:6;3361:2;3349:9;3340:7;3336:23;3332:32;3329:52;;;3377:1;3374;3367:12;3329:52;-1:-1:-1;3400:23:1;;3249:180;-1:-1:-1;3249:180:1:o;3434:388::-;3502:6;3510;3563:2;3551:9;3542:7;3538:23;3534:32;3531:52;;;3579:1;3576;3569:12;3531:52;3618:9;3605:23;3637:31;3662:5;3637:31;:::i;:::-;3687:5;-1:-1:-1;3744:2:1;3729:18;;3716:32;3757:33;3716:32;3757:33;:::i;3827:397::-;4029:2;4011:21;;;4068:2;4048:18;;;4041:30;4107:34;4102:2;4087:18;;4080:62;-1:-1:-1;;;4173:2:1;4158:18;;4151:31;4214:3;4199:19;;3827:397::o;5201:306::-;5289:6;5297;5305;5358:2;5346:9;5337:7;5333:23;5329:32;5326:52;;;5374:1;5371;5364:12;5326:52;5403:9;5397:16;5387:26;;5453:2;5442:9;5438:18;5432:25;5422:35;;5497:2;5486:9;5482:18;5476:25;5466:35;;5201:306;;;;;:::o;5512:251::-;5582:6;5635:2;5623:9;5614:7;5610:23;5606:32;5603:52;;;5651:1;5648;5641:12;5603:52;5683:9;5677:16;5702:31;5727:5;5702:31;:::i;6077:127::-;6138:10;6133:3;6129:20;6126:1;6119:31;6169:4;6166:1;6159:15;6193:4;6190:1;6183:15;6209:168;6249:7;6315:1;6311;6307:6;6303:14;6300:1;6297:21;6292:1;6285:9;6278:17;6274:45;6271:71;;;6322:18;;:::i;:::-;-1:-1:-1;6362:9:1;;6209:168::o;6382:217::-;6422:1;6448;6438:132;;6492:10;6487:3;6483:20;6480:1;6473:31;6527:4;6524:1;6517:15;6555:4;6552:1;6545:15;6438:132;-1:-1:-1;6584:9:1;;6382:217::o;6604:528::-;6836:3;6874:6;6868:13;6890:53;6936:6;6931:3;6924:4;6916:6;6912:17;6890:53;:::i;:::-;7004:34;6965:16;;6990:49;;;-1:-1:-1;;;;7066:4:1;7055:16;;7048:48;7123:2;7112:14;;6604:528;-1:-1:-1;6604:528:1:o;7137:524::-;7369:3;7407:6;7401:13;7423:53;7469:6;7464:3;7457:4;7449:6;7445:17;7423:53;:::i;:::-;7537:34;7498:16;;7523:49;;;-1:-1:-1;;;;7599:4:1;7588:16;;7581:44;7652:2;7641:14;;7137:524;-1:-1:-1;7137:524:1:o;7666:530::-;7898:3;7936:6;7930:13;7952:53;7998:6;7993:3;7986:4;7978:6;7974:17;7952:53;:::i;:::-;8066:34;8027:16;;8052:49;;;-1:-1:-1;;;;8128:4:1;8117:16;;8110:50;8187:2;8176:14;;7666:530;-1:-1:-1;7666:530:1:o;8201:516::-;8433:3;8471:6;8465:13;8487:53;8533:6;8528:3;8521:4;8513:6;8509:17;8487:53;:::i;:::-;8601:34;8562:16;;8587:49;;;-1:-1:-1;;;;8663:4:1;8652:16;;8645:36;8708:2;8697:14;;8201:516;-1:-1:-1;8201:516:1:o;8722:517::-;8954:3;8992:6;8986:13;9008:53;9054:6;9049:3;9042:4;9034:6;9030:17;9008:53;:::i;:::-;9122:34;9083:16;;9108:49;;;-1:-1:-1;;;;9184:4:1;9173:16;;9166:37;9230:2;9219:14;;8722:517;-1:-1:-1;8722:517:1:o;10670:535::-;10902:3;10940:6;10934:13;10956:53;11002:6;10997:3;10990:4;10982:6;10978:17;10956:53;:::i;:::-;11070:34;11031:16;;11056:49;;;-1:-1:-1;11139:29:1;11132:4;11121:16;;11114:55;11196:2;11185:14;;10670:535;-1:-1:-1;10670:535:1:o;11210:516::-;11442:3;11480:6;11474:13;11496:53;11542:6;11537:3;11530:4;11522:6;11518:17;11496:53;:::i;:::-;11610:34;11571:16;;11596:49;;;-1:-1:-1;;;;11672:4:1;11661:16;;11654:36;11717:2;11706:14;;11210:516;-1:-1:-1;11210:516:1:o;11731:514::-;11963:3;12001:6;11995:13;12017:53;12063:6;12058:3;12051:4;12043:6;12039:17;12017:53;:::i;:::-;12131:34;12092:16;;12117:49;;;-1:-1:-1;;;;12193:4:1;12182:16;;12175:34;12236:2;12225:14;;11731:514;-1:-1:-1;11731:514:1:o;12250:520::-;12482:3;12520:6;12514:13;12536:53;12582:6;12577:3;12570:4;12562:6;12558:17;12536:53;:::i;:::-;12650:34;12611:16;;12636:49;;;-1:-1:-1;;;;12712:4:1;12701:16;;12694:40;12761:2;12750:14;;12250:520;-1:-1:-1;12250:520:1:o;12775:512::-;13007:3;13045:6;13039:13;13061:53;13107:6;13102:3;13095:4;13087:6;13083:17;13061:53;:::i;:::-;13175:34;13136:16;;13161:49;;;-1:-1:-1;;;;13237:4:1;13226:16;;13219:32;13278:2;13267:14;;12775:512;-1:-1:-1;12775:512:1:o;13292:518::-;13524:3;13562:6;13556:13;13578:53;13624:6;13619:3;13612:4;13604:6;13600:17;13578:53;:::i;:::-;13692:34;13653:16;;13678:49;;;-1:-1:-1;;;;13754:4:1;13743:16;;13736:38;13801:2;13790:14;;13292:518;-1:-1:-1;13292:518:1:o;13815:128::-;13855:3;13886:1;13882:6;13879:1;13876:13;13873:39;;;13892:18;;:::i;:::-;-1:-1:-1;13928:9:1;;13815:128::o;13948:529::-;14180:3;14218:6;14212:13;14234:53;14280:6;14275:3;14268:4;14260:6;14256:17;14234:53;:::i;:::-;14348:34;14309:16;;14334:49;;;-1:-1:-1;;;;14410:4:1;14399:16;;14392:49;14468:2;14457:14;;13948:529;-1:-1:-1;13948:529:1:o;14482:204::-;14520:3;14556:4;14553:1;14549:12;14588:4;14585:1;14581:12;14623:3;14617:4;14613:14;14608:3;14605:23;14602:49;;;14631:18;;:::i;:::-;14667:13;;14482:204;-1:-1:-1;;;14482:204:1:o;14691:125::-;14731:4;14759:1;14756;14753:8;14750:34;;;14764:18;;:::i;:::-;-1:-1:-1;14801:9:1;;14691:125::o;15309:127::-;15370:10;15365:3;15361:20;15358:1;15351:31;15401:4;15398:1;15391:15;15425:4;15422:1;15415:15;15441:980;15703:4;15751:3;15740:9;15736:19;15782:6;15771:9;15764:25;15808:2;15846:6;15841:2;15830:9;15826:18;15819:34;15889:3;15884:2;15873:9;15869:18;15862:31;15913:6;15948;15942:13;15979:6;15971;15964:22;16017:3;16006:9;16002:19;15995:26;;16056:2;16048:6;16044:15;16030:29;;16077:1;16087:195;16101:6;16098:1;16095:13;16087:195;;;16166:13;;-1:-1:-1;;;;;16162:39:1;16150:52;;16257:15;;;;16222:12;;;;16198:1;16116:9;16087:195;;;-1:-1:-1;;;;;;;16338:32:1;;;;16333:2;16318:18;;16311:60;-1:-1:-1;;;16402:3:1;16387:19;16380:35;16299:3;15441:980;-1:-1:-1;;;15441:980:1:o

Swarm Source

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