ETH Price: $2,382.57 (-0.86%)

Token

HOG THE RIDER (HOG)
 

Overview

Max Total Supply

100,000,000 HOG

Holders

33

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.000000001 HOG

Value
$0.00
0x898a742e79a8877960dd5e88f71f44192b895c53
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:
HOG

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-04
*/

/**

    TG: https://t.me/HOGtheHogRider
    Twitter: https://twitter.com/HOGtheHogRider

**/

// SPDX-License-Identifier: MIT


pragma solidity 0.8.20;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval (address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        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 HOG is Context, IERC20, Ownable {

    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;

    address payable private _taxWallet;

    uint256 firstBlock;

    uint256 private _initialBuyTax = 10;
    uint256 private _initialSellTax = 20;
    uint256 private _finalBuyTax = 2;
    uint256 private _finalSellTax = 3;
    uint256 private _reduceBuyTaxAt = 40;
    uint256 private _reduceSellTaxAt = 40;
    uint256 private _preventSwapBefore = 25;
    uint256 private _buyCount = 0;

    uint8 private constant _decimals = 9;

    uint256 private constant _tTotal = 100000000 * 10**_decimals;
    string private constant _name = unicode"HOG THE RIDER";
    string private constant _symbol = unicode"HOG";
    uint256 public _maxTxAmount = 2000000 * 10**_decimals;
    uint256 public _maxWalletSize = 2000000 * 10**_decimals;
    uint256 public _taxSwapThreshold = 1000000 * 10**_decimals;
    uint256 public _maxTaxSwap = 1000000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;

    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address 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");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");

                if (firstBlock + 3  > block.number) {
                    require(!isContract(to));
                }
                _buyCount++;
            }

            if (to != uniswapV2Pair && ! _isExcludedFromFee[to]) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

    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 removeLimits() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function unclogContract(uint256 _UtaxSwapThreshold, uint256 _UmaxTaxSwap) external {
        require(msg.sender == _taxWallet, "Unclog Only");
        require(_UtaxSwapThreshold >= 50000 * 10**_decimals, "Unclog Limits");
        require(_UmaxTaxSwap >= 50000 * 10**_decimals, "Unclog Limits");

        _taxSwapThreshold = _UtaxSwapThreshold;
        _maxTaxSwap = _UmaxTaxSwap;
    }

    function recover(address recoverToken) external {
        require(msg.sender == _taxWallet, "Recover Only");
        if (recoverToken == 0x0000000000000000000000000000000000000000) {
            (bool success, ) = payable(msg.sender).call{value: address(this).balance}("");
            require(success, "Error");
        } else {
            IERC20 Recover = IERC20(recoverToken);
            Recover.transfer(msg.sender, Recover.balanceOf(address(this)));
        }
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }
    
    function deleteBots(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }

    function addBot(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function isBot(address a) public view returns (bool){
      return bots[a];
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _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);
        swapEnabled = true;
        tradingOpen = true;
        firstBlock = block.number;
    }

    receive() external payable {}

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBot","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":"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":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"deleteBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recoverToken","type":"address"}],"name":"recover","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_UtaxSwapThreshold","type":"uint256"},{"internalType":"uint256","name":"_UmaxTaxSwap","type":"uint256"}],"name":"unclogContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600a600755601460085560026009556003600a556028600b556028600c556019600d555f600e556009600a6200003b91906200032e565b6200004a90621e848062000345565b600f556200005b6009600a6200032e565b6200006a90621e848062000345565b6010556200007b6009600a6200032e565b6200008a90620f424062000345565b6011556200009b6009600a6200032e565b620000aa90620f424062000345565b6012556014805461ffff60a81b19169055348015620000c7575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b03191633179055620001286009600a6200032e565b62000138906305f5e10062000345565b335f908152600160208190526040822092909255600390620001615f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835291208054909216179055620001bf3390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001f86009600a6200032e565b62000208906305f5e10062000345565b60405190815260200160405180910390a36200035f565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200027357815f19048211156200025757620002576200021f565b808516156200026557918102915b93841c939080029062000238565b509250929050565b5f826200028b5750600162000328565b816200029957505f62000328565b8160018114620002b25760028114620002bd57620002dd565b600191505062000328565b60ff841115620002d157620002d16200021f565b50506001821b62000328565b5060208310610133831016604e8410600b841016171562000302575081810a62000328565b6200030e838362000233565b805f19048211156200032457620003246200021f565b0290505b92915050565b5f6200033e60ff8416836200027b565b9392505050565b80820281158282048414176200032857620003286200021f565b611d67806200036d5f395ff3fe608060405260043610610134575f3560e01c8063715018a6116100a857806395d89b411161006d57806395d89b4114610368578063a9059cbb14610393578063bf474bed146103b2578063c9567bf9146103c7578063dd62ed3e146103db578063e5c81eba1461041f575f80fd5b8063715018a6146102f0578063751039fc146103045780637d1db4a5146103185780638da5cb5b1461032d5780638f9a55c014610353575f80fd5b806321bbcbb1116100f957806321bbcbb11461020d57806323b872dd1461022c5780633136cf1e1461024b578063313ce5671461026a5780633bbac5791461028557806370a08231146102bc575f80fd5b806306fdde031461013f578063095ea7b3146101865780630cd865ec146101b55780630faee56f146101d657806318160ddd146101f9575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b5060408051808201909152600d81526c2427a3902a2422902924a222a960991b60208201525b60405161017d9190611842565b60405180910390f35b348015610191575f80fd5b506101a56101a03660046118b1565b61043e565b604051901515815260200161017d565b3480156101c0575f80fd5b506101d46101cf3660046118db565b610454565b005b3480156101e1575f80fd5b506101eb60125481565b60405190815260200161017d565b348015610204575f80fd5b506101eb610617565b348015610218575f80fd5b506101d461022736600461190a565b610637565b348015610237575f80fd5b506101a56102463660046119ca565b6106c5565b348015610256575f80fd5b506101d461026536600461190a565b61072c565b348015610275575f80fd5b506040516009815260200161017d565b348015610290575f80fd5b506101a561029f3660046118db565b6001600160a01b03165f9081526004602052604090205460ff1690565b3480156102c7575f80fd5b506101eb6102d63660046118db565b6001600160a01b03165f9081526001602052604090205490565b3480156102fb575f80fd5b506101d46107b9565b34801561030f575f80fd5b506101d461082a565b348015610323575f80fd5b506101eb600f5481565b348015610338575f80fd5b505f546040516001600160a01b03909116815260200161017d565b34801561035e575f80fd5b506101eb60105481565b348015610373575f80fd5b50604080518082019091526003815262484f4760e81b6020820152610170565b34801561039e575f80fd5b506101a56103ad3660046118b1565b6108db565b3480156103bd575f80fd5b506101eb60115481565b3480156103d2575f80fd5b506101d46108e7565b3480156103e6575f80fd5b506101eb6103f5366004611a08565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561042a575f80fd5b506101d4610439366004611a3f565b610c94565b5f61044a338484610d95565b5060015b92915050565b6005546001600160a01b031633146104a25760405162461bcd60e51b815260206004820152600c60248201526b5265636f766572204f6e6c7960a01b60448201526064015b60405180910390fd5b6001600160a01b0381165f03610533576040515f90339047908381818185875af1925050503d805f81146104f1576040519150601f19603f3d011682016040523d82523d5f602084013e6104f6565b606091505b505090508061052f5760405162461bcd60e51b815260206004820152600560248201526422b93937b960d91b6044820152606401610499565b5050565b6040516370a0823160e01b815230600482015281906001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610581573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105a59190611a5f565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af11580156105ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106119190611a76565b50505b50565b5f6106246009600a611b89565b610632906305f5e100611b97565b905090565b5f546001600160a01b031633146106605760405162461bcd60e51b815260040161049990611bae565b5f5b815181101561052f57600160045f84848151811061068257610682611be3565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055806106bd81611bf7565b915050610662565b5f6106d1848484610eb8565b610722843361071d85604051806060016040528060288152602001611d0a602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906114be565b610d95565b5060019392505050565b5f546001600160a01b031633146107555760405162461bcd60e51b815260040161049990611bae565b5f5b815181101561052f575f60045f84848151811061077657610776611be3565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055806107b181611bf7565b915050610757565b5f546001600160a01b031633146107e25760405162461bcd60e51b815260040161049990611bae565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146108535760405162461bcd60e51b815260040161049990611bae565b61085f6009600a611b89565b61086d906305f5e100611b97565b600f5561087c6009600a611b89565b61088a906305f5e100611b97565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6108ba6009600a611b89565b6108c8906305f5e100611b97565b60405190815260200160405180910390a1565b5f61044a338484610eb8565b5f546001600160a01b031633146109105760405162461bcd60e51b815260040161049990611bae565b601454600160a01b900460ff161561096a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610499565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556109b39030906109a56009600a611b89565b61071d906305f5e100611b97565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a03573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a279190611c0f565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a86573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aaa9190611c0f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610af4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b189190611c0f565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610b5f816001600160a01b03165f9081526001602052604090205490565b5f80610b725f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610bd8573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610bfd9190611c2a565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610c52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c769190611a76565b506014805462ff00ff60a01b19166201000160a01b17905543600655565b6005546001600160a01b03163314610cdc5760405162461bcd60e51b815260206004820152600b60248201526a556e636c6f67204f6e6c7960a81b6044820152606401610499565b610ce86009600a611b89565b610cf49061c350611b97565b821015610d335760405162461bcd60e51b815260206004820152600d60248201526c556e636c6f67204c696d69747360981b6044820152606401610499565b610d3f6009600a611b89565b610d4b9061c350611b97565b811015610d8a5760405162461bcd60e51b815260206004820152600d60248201526c556e636c6f67204c696d69747360981b6044820152606401610499565b601191909155601255565b6001600160a01b038316610df75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610499565b6001600160a01b038216610e585760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610499565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f1c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610499565b6001600160a01b038216610f7e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610499565b5f8111610fdf5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610499565b5f80546001600160a01b0385811691161480159061100a57505f546001600160a01b03848116911614155b15611381576001600160a01b0384165f9081526004602052604090205460ff1615801561104f57506001600160a01b0383165f9081526004602052604090205460ff16155b611057575f80fd5b611083606461107d600b54600e541161107257600754611076565b6009545b85906114f6565b9061157b565b6014549091506001600160a01b0385811691161480156110b157506013546001600160a01b03848116911614155b80156110d557506001600160a01b0383165f9081526003602052604090205460ff16155b156111dc57600f5482111561112c5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610499565b6010548261114e856001600160a01b03165f9081526001602052604090205490565b6111589190611c55565b11156111a65760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610499565b4360065460036111b69190611c55565b11156111c757823b156111c7575f80fd5b600e8054905f6111d683611bf7565b91905055505b6014546001600160a01b0384811691161480159061121257506001600160a01b0383165f9081526003602052604090205460ff16155b156112915760105482611239856001600160a01b03165f9081526001602052604090205490565b6112439190611c55565b11156112915760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610499565b6014546001600160a01b0384811691161480156112b757506001600160a01b0384163014155b156112e4576112e1606461107d600c54600e54116112d757600854611076565b600a5485906114f6565b90505b305f90815260016020526040902054601454600160a81b900460ff1615801561131a57506014546001600160a01b038581169116145b801561132f5750601454600160b01b900460ff165b801561133c575060115481115b801561134b5750600d54600e54115b1561137f5761136d61136884611363846012546115bc565b6115bc565b6115d0565b47801561137d5761137d47611740565b505b505b80156113f957305f908152600160205260409020546113a09082611777565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113f09085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461141b90836117d5565b6001600160a01b0385165f9081526001602052604090205561145e61144083836117d5565b6001600160a01b0385165f9081526001602052604090205490611777565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114a785856117d5565b60405190815260200160405180910390a350505050565b5f81848411156114e15760405162461bcd60e51b81526004016104999190611842565b505f6114ed8486611c68565b95945050505050565b5f825f0361150557505f61044e565b5f6115108385611b97565b90508261151d8583611c7b565b146115745760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610499565b9392505050565b5f61157483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611816565b5f8183116115ca5782611574565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061161657611616611be3565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561166d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116919190611c0f565b816001815181106116a4576116a4611be3565b6001600160a01b0392831660209182029290920101526013546116ca9130911684610d95565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906117029085905f90869030904290600401611c9a565b5f604051808303815f87803b158015611719575f80fd5b505af115801561172b573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561052f573d5f803e3d5ffd5b5f806117838385611c55565b9050838110156115745760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610499565b5f61157483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114be565b5f81836118365760405162461bcd60e51b81526004016104999190611842565b505f6114ed8486611c7b565b5f6020808352835180828501525f5b8181101561186d57858101830151858201604001528201611851565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610614575f80fd5b80356118ac8161188d565b919050565b5f80604083850312156118c2575f80fd5b82356118cd8161188d565b946020939093013593505050565b5f602082840312156118eb575f80fd5b81356115748161188d565b634e487b7160e01b5f52604160045260245ffd5b5f602080838503121561191b575f80fd5b823567ffffffffffffffff80821115611932575f80fd5b818501915085601f830112611945575f80fd5b813581811115611957576119576118f6565b8060051b604051601f19603f8301168101818110858211171561197c5761197c6118f6565b604052918252848201925083810185019188831115611999575f80fd5b938501935b828510156119be576119af856118a1565b8452938501939285019261199e565b98975050505050505050565b5f805f606084860312156119dc575f80fd5b83356119e78161188d565b925060208401356119f78161188d565b929592945050506040919091013590565b5f8060408385031215611a19575f80fd5b8235611a248161188d565b91506020830135611a348161188d565b809150509250929050565b5f8060408385031215611a50575f80fd5b50508035926020909101359150565b5f60208284031215611a6f575f80fd5b5051919050565b5f60208284031215611a86575f80fd5b81518015158114611574575f80fd5b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611ae357815f1904821115611ac957611ac9611a95565b80851615611ad657918102915b93841c9390800290611aae565b509250929050565b5f82611af95750600161044e565b81611b0557505f61044e565b8160018114611b1b5760028114611b2557611b41565b600191505061044e565b60ff841115611b3657611b36611a95565b50506001821b61044e565b5060208310610133831016604e8410600b8410161715611b64575081810a61044e565b611b6e8383611aa9565b805f1904821115611b8157611b81611a95565b029392505050565b5f61157460ff841683611aeb565b808202811582820484141761044e5761044e611a95565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60018201611c0857611c08611a95565b5060010190565b5f60208284031215611c1f575f80fd5b81516115748161188d565b5f805f60608486031215611c3c575f80fd5b8351925060208401519150604084015190509250925092565b8082018082111561044e5761044e611a95565b8181038181111561044e5761044e611a95565b5f82611c9557634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611ce85784516001600160a01b031683529383019391830191600101611cc3565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a6c3aade9b8a67cb1e4e07eaae38644fd4fb15496cc07bb970d92ed17eb3a57a64736f6c63430008140033

Deployed Bytecode

0x608060405260043610610134575f3560e01c8063715018a6116100a857806395d89b411161006d57806395d89b4114610368578063a9059cbb14610393578063bf474bed146103b2578063c9567bf9146103c7578063dd62ed3e146103db578063e5c81eba1461041f575f80fd5b8063715018a6146102f0578063751039fc146103045780637d1db4a5146103185780638da5cb5b1461032d5780638f9a55c014610353575f80fd5b806321bbcbb1116100f957806321bbcbb11461020d57806323b872dd1461022c5780633136cf1e1461024b578063313ce5671461026a5780633bbac5791461028557806370a08231146102bc575f80fd5b806306fdde031461013f578063095ea7b3146101865780630cd865ec146101b55780630faee56f146101d657806318160ddd146101f9575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b5060408051808201909152600d81526c2427a3902a2422902924a222a960991b60208201525b60405161017d9190611842565b60405180910390f35b348015610191575f80fd5b506101a56101a03660046118b1565b61043e565b604051901515815260200161017d565b3480156101c0575f80fd5b506101d46101cf3660046118db565b610454565b005b3480156101e1575f80fd5b506101eb60125481565b60405190815260200161017d565b348015610204575f80fd5b506101eb610617565b348015610218575f80fd5b506101d461022736600461190a565b610637565b348015610237575f80fd5b506101a56102463660046119ca565b6106c5565b348015610256575f80fd5b506101d461026536600461190a565b61072c565b348015610275575f80fd5b506040516009815260200161017d565b348015610290575f80fd5b506101a561029f3660046118db565b6001600160a01b03165f9081526004602052604090205460ff1690565b3480156102c7575f80fd5b506101eb6102d63660046118db565b6001600160a01b03165f9081526001602052604090205490565b3480156102fb575f80fd5b506101d46107b9565b34801561030f575f80fd5b506101d461082a565b348015610323575f80fd5b506101eb600f5481565b348015610338575f80fd5b505f546040516001600160a01b03909116815260200161017d565b34801561035e575f80fd5b506101eb60105481565b348015610373575f80fd5b50604080518082019091526003815262484f4760e81b6020820152610170565b34801561039e575f80fd5b506101a56103ad3660046118b1565b6108db565b3480156103bd575f80fd5b506101eb60115481565b3480156103d2575f80fd5b506101d46108e7565b3480156103e6575f80fd5b506101eb6103f5366004611a08565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561042a575f80fd5b506101d4610439366004611a3f565b610c94565b5f61044a338484610d95565b5060015b92915050565b6005546001600160a01b031633146104a25760405162461bcd60e51b815260206004820152600c60248201526b5265636f766572204f6e6c7960a01b60448201526064015b60405180910390fd5b6001600160a01b0381165f03610533576040515f90339047908381818185875af1925050503d805f81146104f1576040519150601f19603f3d011682016040523d82523d5f602084013e6104f6565b606091505b505090508061052f5760405162461bcd60e51b815260206004820152600560248201526422b93937b960d91b6044820152606401610499565b5050565b6040516370a0823160e01b815230600482015281906001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610581573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105a59190611a5f565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af11580156105ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106119190611a76565b50505b50565b5f6106246009600a611b89565b610632906305f5e100611b97565b905090565b5f546001600160a01b031633146106605760405162461bcd60e51b815260040161049990611bae565b5f5b815181101561052f57600160045f84848151811061068257610682611be3565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055806106bd81611bf7565b915050610662565b5f6106d1848484610eb8565b610722843361071d85604051806060016040528060288152602001611d0a602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906114be565b610d95565b5060019392505050565b5f546001600160a01b031633146107555760405162461bcd60e51b815260040161049990611bae565b5f5b815181101561052f575f60045f84848151811061077657610776611be3565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055806107b181611bf7565b915050610757565b5f546001600160a01b031633146107e25760405162461bcd60e51b815260040161049990611bae565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146108535760405162461bcd60e51b815260040161049990611bae565b61085f6009600a611b89565b61086d906305f5e100611b97565b600f5561087c6009600a611b89565b61088a906305f5e100611b97565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6108ba6009600a611b89565b6108c8906305f5e100611b97565b60405190815260200160405180910390a1565b5f61044a338484610eb8565b5f546001600160a01b031633146109105760405162461bcd60e51b815260040161049990611bae565b601454600160a01b900460ff161561096a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610499565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556109b39030906109a56009600a611b89565b61071d906305f5e100611b97565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a03573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a279190611c0f565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a86573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aaa9190611c0f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610af4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b189190611c0f565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610b5f816001600160a01b03165f9081526001602052604090205490565b5f80610b725f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610bd8573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610bfd9190611c2a565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610c52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c769190611a76565b506014805462ff00ff60a01b19166201000160a01b17905543600655565b6005546001600160a01b03163314610cdc5760405162461bcd60e51b815260206004820152600b60248201526a556e636c6f67204f6e6c7960a81b6044820152606401610499565b610ce86009600a611b89565b610cf49061c350611b97565b821015610d335760405162461bcd60e51b815260206004820152600d60248201526c556e636c6f67204c696d69747360981b6044820152606401610499565b610d3f6009600a611b89565b610d4b9061c350611b97565b811015610d8a5760405162461bcd60e51b815260206004820152600d60248201526c556e636c6f67204c696d69747360981b6044820152606401610499565b601191909155601255565b6001600160a01b038316610df75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610499565b6001600160a01b038216610e585760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610499565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f1c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610499565b6001600160a01b038216610f7e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610499565b5f8111610fdf5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610499565b5f80546001600160a01b0385811691161480159061100a57505f546001600160a01b03848116911614155b15611381576001600160a01b0384165f9081526004602052604090205460ff1615801561104f57506001600160a01b0383165f9081526004602052604090205460ff16155b611057575f80fd5b611083606461107d600b54600e541161107257600754611076565b6009545b85906114f6565b9061157b565b6014549091506001600160a01b0385811691161480156110b157506013546001600160a01b03848116911614155b80156110d557506001600160a01b0383165f9081526003602052604090205460ff16155b156111dc57600f5482111561112c5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610499565b6010548261114e856001600160a01b03165f9081526001602052604090205490565b6111589190611c55565b11156111a65760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610499565b4360065460036111b69190611c55565b11156111c757823b156111c7575f80fd5b600e8054905f6111d683611bf7565b91905055505b6014546001600160a01b0384811691161480159061121257506001600160a01b0383165f9081526003602052604090205460ff16155b156112915760105482611239856001600160a01b03165f9081526001602052604090205490565b6112439190611c55565b11156112915760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610499565b6014546001600160a01b0384811691161480156112b757506001600160a01b0384163014155b156112e4576112e1606461107d600c54600e54116112d757600854611076565b600a5485906114f6565b90505b305f90815260016020526040902054601454600160a81b900460ff1615801561131a57506014546001600160a01b038581169116145b801561132f5750601454600160b01b900460ff165b801561133c575060115481115b801561134b5750600d54600e54115b1561137f5761136d61136884611363846012546115bc565b6115bc565b6115d0565b47801561137d5761137d47611740565b505b505b80156113f957305f908152600160205260409020546113a09082611777565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113f09085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461141b90836117d5565b6001600160a01b0385165f9081526001602052604090205561145e61144083836117d5565b6001600160a01b0385165f9081526001602052604090205490611777565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6114a785856117d5565b60405190815260200160405180910390a350505050565b5f81848411156114e15760405162461bcd60e51b81526004016104999190611842565b505f6114ed8486611c68565b95945050505050565b5f825f0361150557505f61044e565b5f6115108385611b97565b90508261151d8583611c7b565b146115745760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610499565b9392505050565b5f61157483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611816565b5f8183116115ca5782611574565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061161657611616611be3565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561166d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116919190611c0f565b816001815181106116a4576116a4611be3565b6001600160a01b0392831660209182029290920101526013546116ca9130911684610d95565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906117029085905f90869030904290600401611c9a565b5f604051808303815f87803b158015611719575f80fd5b505af115801561172b573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561052f573d5f803e3d5ffd5b5f806117838385611c55565b9050838110156115745760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610499565b5f61157483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114be565b5f81836118365760405162461bcd60e51b81526004016104999190611842565b505f6114ed8486611c7b565b5f6020808352835180828501525f5b8181101561186d57858101830151858201604001528201611851565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610614575f80fd5b80356118ac8161188d565b919050565b5f80604083850312156118c2575f80fd5b82356118cd8161188d565b946020939093013593505050565b5f602082840312156118eb575f80fd5b81356115748161188d565b634e487b7160e01b5f52604160045260245ffd5b5f602080838503121561191b575f80fd5b823567ffffffffffffffff80821115611932575f80fd5b818501915085601f830112611945575f80fd5b813581811115611957576119576118f6565b8060051b604051601f19603f8301168101818110858211171561197c5761197c6118f6565b604052918252848201925083810185019188831115611999575f80fd5b938501935b828510156119be576119af856118a1565b8452938501939285019261199e565b98975050505050505050565b5f805f606084860312156119dc575f80fd5b83356119e78161188d565b925060208401356119f78161188d565b929592945050506040919091013590565b5f8060408385031215611a19575f80fd5b8235611a248161188d565b91506020830135611a348161188d565b809150509250929050565b5f8060408385031215611a50575f80fd5b50508035926020909101359150565b5f60208284031215611a6f575f80fd5b5051919050565b5f60208284031215611a86575f80fd5b81518015158114611574575f80fd5b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611ae357815f1904821115611ac957611ac9611a95565b80851615611ad657918102915b93841c9390800290611aae565b509250929050565b5f82611af95750600161044e565b81611b0557505f61044e565b8160018114611b1b5760028114611b2557611b41565b600191505061044e565b60ff841115611b3657611b36611a95565b50506001821b61044e565b5060208310610133831016604e8410600b8410161715611b64575081810a61044e565b611b6e8383611aa9565b805f1904821115611b8157611b81611a95565b029392505050565b5f61157460ff841683611aeb565b808202811582820484141761044e5761044e611a95565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60018201611c0857611c08611a95565b5060010190565b5f60208284031215611c1f575f80fd5b81516115748161188d565b5f805f60608486031215611c3c575f80fd5b8351925060208401519150604084015190509250925092565b8082018082111561044e5761044e611a95565b8181038181111561044e5761044e611a95565b5f82611c9557634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611ce85784516001600160a01b031683529383019391830191600101611cc3565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a6c3aade9b8a67cb1e4e07eaae38644fd4fb15496cc07bb970d92ed17eb3a57a64736f6c63430008140033

Deployed Bytecode Sourcemap

3578:8912:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5441:83;;;;;;;;;;-1:-1:-1;5511:5:0;;;;;;;;;;;;-1:-1:-1;;;5511:5:0;;;;5441:83;;;;;;;:::i;:::-;;;;;;;;6274:161;;;;;;;;;;-1:-1:-1;6274:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6274:161:0;1162:187:1;10713:481:0;;;;;;;;;;-1:-1:-1;10713:481:0;;;;;:::i;:::-;;:::i;:::-;;4714:52;;;;;;;;;;;;;;;;;;;1752:25:1;;;1740:2;1725:18;4714:52:0;1606:177:1;5718:95:0;;;;;;;;;;;;;:::i;11479:163::-;;;;;;;;;;-1:-1:-1;11479:163:0;;;;;:::i;:::-;;:::i;6443:313::-;;;;;;;;;;-1:-1:-1;6443:313:0;;;;;:::i;:::-;;:::i;11306:165::-;;;;;;;;;;-1:-1:-1;11306:165:0;;;;;:::i;:::-;;:::i;5627:83::-;;;;;;;;;;-1:-1:-1;5627:83:0;;4336:1;3649:36:1;;3637:2;3622:18;5627:83:0;3507:184:1;11650:83:0;;;;;;;;;;-1:-1:-1;11650:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;11718:7:0;11697:4;11718:7;;;:4;:7;;;;;;;;;11650:83;5821:119;;;;;;;;;;-1:-1:-1;5821:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5914:18:0;5887:7;5914:18;;;:9;:18;;;;;;;5821:119;2659:148;;;;;;;;;;;;;:::i;10143:162::-;;;;;;;;;;;;;:::i;4527:53::-;;;;;;;;;;;;;;;;2445:79;;;;;;;;;;-1:-1:-1;2483:7:0;2510:6;2445:79;;-1:-1:-1;;;;;2510:6:0;;;3842:51:1;;3830:2;3815:18;2445:79:0;3696:203:1;4587:55:0;;;;;;;;;;;;;;;;5532:87;;;;;;;;;;-1:-1:-1;5604:7:0;;;;;;;;;;;;-1:-1:-1;;;5604:7:0;;;;5532:87;;5948:167;;;;;;;;;;-1:-1:-1;5948:167:0;;;;;:::i;:::-;;:::i;4649:58::-;;;;;;;;;;;;;;;;11741:707;;;;;;;;;;;;;:::i;6123:143::-;;;;;;;;;;-1:-1:-1;6123:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6231:18:0;;;6204:7;6231:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6123:143;10313:392;;;;;;;;;;-1:-1:-1;10313:392:0;;;;;:::i;:::-;;:::i;6274:161::-;6349:4;6366:39;279:10;6389:7;6398:6;6366:8;:39::i;:::-;-1:-1:-1;6423:4:0;6274:161;;;;;:::o;10713:481::-;10794:10;;-1:-1:-1;;;;;10794:10:0;10780;:24;10772:49;;;;-1:-1:-1;;;10772:49:0;;4752:2:1;10772:49:0;;;4734:21:1;4791:2;4771:18;;;4764:30;-1:-1:-1;;;4810:18:1;;;4803:42;4862:18;;10772:49:0;;;;;;;;;-1:-1:-1;;;;;10836:58:0;;10852:42;10836:58;10832:355;;10930:58;;10912:12;;10938:10;;10962:21;;10912:12;10930:58;10912:12;10930:58;10962:21;10938:10;10930:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10911:77;;;11011:7;11003:25;;;;-1:-1:-1;;;11003:25:0;;5303:2:1;11003:25:0;;;5285:21:1;5342:1;5322:18;;;5315:29;-1:-1:-1;;;5360:18:1;;;5353:35;5405:18;;11003:25:0;5101:328:1;11003:25:0;10896:144;10713:481;:::o;10832:355::-;11142:32;;-1:-1:-1;;;11142:32:0;;11168:4;11142:32;;;3842:51:1;11085:12:0;;-1:-1:-1;;;;;11113:16:0;;;;;11130:10;;11113:16;;11142:17;;3815:18:1;;11142:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11113:62;;-1:-1:-1;;;;;;11113:62:0;;;;;;;-1:-1:-1;;;;;5815:32:1;;;11113:62:0;;;5797:51:1;5864:18;;;5857:34;5770:18;;11113:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11046:141;10832:355;10713:481;:::o;5718:95::-;5771:7;4393:13;4336:1;4393:2;:13;:::i;:::-;4381:25;;:9;:25;:::i;:::-;5791:14;;5718:95;:::o;11479:163::-;2572:6;;-1:-1:-1;;;;;2572:6:0;279:10;2572:22;2564:67;;;;-1:-1:-1;;;2564:67:0;;;;;;;:::i;:::-;11552:6:::1;11547:88;11568:5;:12;11564:1;:16;11547:88;;;11619:4;11602;:14;11607:5;11613:1;11607:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11602:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11602:14:0;:21;;-1:-1:-1;;11602:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11582:3;::::1;::::0;::::1;:::i;:::-;;;;11547:88;;6443:313:::0;6541:4;6558:36;6568:6;6576:9;6587:6;6558:9;:36::i;:::-;6605:121;6614:6;279:10;6636:89;6674:6;6636:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6636:19:0;;;;;;:11;:19;;;;;;;;279:10;6636:33;;;;;;;;;;:37;:89::i;:::-;6605:8;:121::i;:::-;-1:-1:-1;6744:4:0;6443:313;;;;;:::o;11306:165::-;2572:6;;-1:-1:-1;;;;;2572:6:0;279:10;2572:22;2564:67;;;;-1:-1:-1;;;2564:67:0;;;;;;;:::i;:::-;11382:6:::1;11377:87;11398:6;:13;11394:1;:17;11377:87;;;11449:5;11431:4;:15;11436:6;11443:1;11436:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11431:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11431:15:0;:23;;-1:-1:-1;;11431:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11413:3;::::1;::::0;::::1;:::i;:::-;;;;11377:87;;2659:148:::0;2572:6;;-1:-1:-1;;;;;2572:6:0;279:10;2572:22;2564:67;;;;-1:-1:-1;;;2564:67:0;;;;;;;:::i;:::-;2766:1:::1;2750:6:::0;;2729:40:::1;::::0;-1:-1:-1;;;;;2750:6:0;;::::1;::::0;2729:40:::1;::::0;2766:1;;2729:40:::1;2797:1;2780:19:::0;;-1:-1:-1;;;;;;2780:19:0::1;::::0;;2659:148::o;10143:162::-;2572:6;;-1:-1:-1;;;;;2572:6:0;279:10;2572:22;2564:67;;;;-1:-1:-1;;;2564:67:0;;;;;;;:::i;:::-;4393:13:::1;4336:1;4393:2;:13;:::i;:::-;4381:25;::::0;:9:::1;:25;:::i;:::-;10197:12;:22:::0;4393:13:::1;4336:1;4393:2;:13;:::i;:::-;4381:25;::::0;:9:::1;:25;:::i;:::-;10230:14;:24:::0;10270:27:::1;4393:13;4336:1;4393:2;:13;:::i;:::-;4381:25;::::0;:9:::1;:25;:::i;:::-;10270:27;::::0;1752:25:1;;;1740:2;1725:18;10270:27:0::1;;;;;;;10143:162::o:0;5948:167::-;6026:4;6043:42;279:10;6067:9;6078:6;6043:9;:42::i;11741:707::-;2572:6;;-1:-1:-1;;;;;2572:6:0;279:10;2572:22;2564:67;;;;-1:-1:-1;;;2564:67:0;;;;;;;:::i;:::-;11805:11:::1;::::0;-1:-1:-1;;;11805:11:0;::::1;;;11804:12;11796:47;;;::::0;-1:-1:-1;;;11796:47:0;;8707:2:1;11796:47:0::1;::::0;::::1;8689:21:1::0;8746:2;8726:18;;;8719:30;8785:25;8765:18;;;8758:53;8828:18;;11796:47:0::1;8505:347:1::0;11796:47:0::1;11854:15;:80:::0;;-1:-1:-1;;;;;;11854:80:0::1;11891:42;11854:80:::0;;::::1;::::0;;;11945:58:::1;::::0;11962:4:::1;::::0;4393:13:::1;4336:1;4393:2;:13;:::i;:::-;4381:25;::::0;:9:::1;:25;:::i;11945:58::-;12048:15;;;;;;;;;-1:-1:-1::0;;;;;12048:15:0::1;-1:-1:-1::0;;;;;12048:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12030:55:0::1;;12094:4;12101:15;;;;;;;;;-1:-1:-1::0;;;;;12101:15:0::1;-1:-1:-1::0;;;;;12101:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12030:94;::::0;-1:-1:-1;;;;;;12030:94:0::1;::::0;;;;;;-1:-1:-1;;;;;9343:15:1;;;12030:94:0::1;::::0;::::1;9325:34:1::0;9395:15;;9375:18;;;9368:43;9260:18;;12030:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12014:13;:110:::0;;-1:-1:-1;;;;;12014:110:0;;::::1;-1:-1:-1::0;;;;;;12014:110:0;;::::1;;::::0;;12135:15:::1;::::0;::::1;:31;12174:21;12205:4;12211:24;12205:4:::0;-1:-1:-1;;;;;5914:18:0;5887:7;5914:18;;;:9;:18;;;;;;;5821:119;12211:24:::1;12236:1;12238::::0;12240:7:::1;2483::::0;2510:6;-1:-1:-1;;;;;2510:6:0;;2445:79;12240:7:::1;12135:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12135:129:0;;;-1:-1:-1;;;;;9781:15:1;;;12135:129:0::1;::::0;::::1;9763:34:1::0;9813:18;;;9806:34;;;;9856:18;;;9849:34;;;;9899:18;;;9892:34;9963:15;;;9942:19;;;9935:44;12248:15:0::1;9995:19:1::0;;;9988:35;9697:19;;12135:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12282:13:0::1;::::0;12313:15:::1;::::0;12275:71:::1;::::0;-1:-1:-1;;;12275:71:0;;-1:-1:-1;;;;;12313:15:0;;::::1;12275:71;::::0;::::1;5797:51:1::0;-1:-1:-1;;5864:18:1;;;5857:34;12282:13:0;::::1;::::0;-1:-1:-1;12275:29:0::1;::::0;5770:18:1;;12275:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12357:11:0::1;:18:::0;;-1:-1:-1;;;;12386:18:0;-1:-1:-1;;;12386:18:0;;;12428:12:::1;12415:10;:25:::0;11741:707::o;10313:392::-;10429:10;;-1:-1:-1;;;;;10429:10:0;10415;:24;10407:48;;;;-1:-1:-1;;;10407:48:0;;10547:2:1;10407:48:0;;;10529:21:1;10586:2;10566:18;;;10559:30;-1:-1:-1;;;10605:18:1;;;10598:41;10656:18;;10407:48:0;10345:335:1;10407:48:0;10504:13;4336:1;10504:2;:13;:::i;:::-;10496:21;;:5;:21;:::i;:::-;10474:18;:43;;10466:69;;;;-1:-1:-1;;;10466:69:0;;10887:2:1;10466:69:0;;;10869:21:1;10926:2;10906:18;;;10899:30;-1:-1:-1;;;10945:18:1;;;10938:43;10998:18;;10466:69:0;10685:337:1;10466:69:0;10578:13;4336:1;10578:2;:13;:::i;:::-;10570:21;;:5;:21;:::i;:::-;10554:12;:37;;10546:63;;;;-1:-1:-1;;;10546:63:0;;10887:2:1;10546:63:0;;;10869:21:1;10926:2;10906:18;;;10899:30;-1:-1:-1;;;10945:18:1;;;10938:43;10998:18;;10546:63:0;10685:337:1;10546:63:0;10622:17;:38;;;;10671:11;:26;10313:392::o;6764:335::-;-1:-1:-1;;;;;6857:19:0;;6849:68;;;;-1:-1:-1;;;6849:68:0;;11229:2:1;6849:68:0;;;11211:21:1;11268:2;11248:18;;;11241:30;11307:34;11287:18;;;11280:62;-1:-1:-1;;;11358:18:1;;;11351:34;11402:19;;6849:68:0;11027:400:1;6849:68:0;-1:-1:-1;;;;;6936:21:0;;6928:68;;;;-1:-1:-1;;;6928:68:0;;11634:2:1;6928:68:0;;;11616:21:1;11673:2;11653:18;;;11646:30;11712:34;11692:18;;;11685:62;-1:-1:-1;;;11763:18:1;;;11756:32;11805:19;;6928:68:0;11432:398:1;6928:68:0;-1:-1:-1;;;;;7007:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7059:32;;1752:25:1;;;7059:32:0;;1725:18:1;7059:32:0;;;;;;;6764:335;;;:::o;7107:2228::-;-1:-1:-1;;;;;7195:18:0;;7187:68;;;;-1:-1:-1;;;7187:68:0;;12037:2:1;7187:68:0;;;12019:21:1;12076:2;12056:18;;;12049:30;12115:34;12095:18;;;12088:62;-1:-1:-1;;;12166:18:1;;;12159:35;12211:19;;7187:68:0;11835:401:1;7187:68:0;-1:-1:-1;;;;;7274:16:0;;7266:64;;;;-1:-1:-1;;;7266:64:0;;12443:2:1;7266:64:0;;;12425:21:1;12482:2;12462:18;;;12455:30;12521:34;12501:18;;;12494:62;-1:-1:-1;;;12572:18:1;;;12565:33;12615:19;;7266:64:0;12241:399:1;7266:64:0;7358:1;7349:6;:10;7341:64;;;;-1:-1:-1;;;7341:64:0;;12847:2:1;7341:64:0;;;12829:21:1;12886:2;12866:18;;;12859:30;12925:34;12905:18;;;12898:62;-1:-1:-1;;;12976:18:1;;;12969:39;13025:19;;7341:64:0;12645:405:1;7341:64:0;7416:17;2510:6;;-1:-1:-1;;;;;7450:15:0;;;2510:6;;7450:15;;;;:32;;-1:-1:-1;2483:7:0;2510:6;-1:-1:-1;;;;;7469:13:0;;;2510:6;;7469:13;;7450:32;7446:1533;;;-1:-1:-1;;;;;7508:10:0;;;;;;:4;:10;;;;;;;;7507:11;:24;;;;-1:-1:-1;;;;;;7523:8:0;;;;;;:4;:8;;;;;;;;7522:9;7507:24;7499:33;;;;;;7559:76;7631:3;7559:67;7581:15;;7571:9;;:25;7570:55;;7611:14;;7570:55;;;7598:12;;7570:55;7559:6;;:10;:67::i;:::-;:71;;:76::i;:::-;7664:13;;7547:88;;-1:-1:-1;;;;;;7656:21:0;;;7664:13;;7656:21;:55;;;;-1:-1:-1;7695:15:0;;-1:-1:-1;;;;;7681:30:0;;;7695:15;;7681:30;;7656:55;:83;;;;-1:-1:-1;;;;;;7717:22:0;;;;;;:18;:22;;;;;;;;7715:24;7656:83;7652:436;;;7779:12;;7769:6;:22;;7761:60;;;;-1:-1:-1;;;7761:60:0;;13257:2:1;7761:60:0;;;13239:21:1;13296:2;13276:18;;;13269:30;13335:27;13315:18;;;13308:55;13380:18;;7761:60:0;13055:349:1;7761:60:0;7874:14;;7864:6;7848:13;7858:2;-1:-1:-1;;;;;5914:18:0;5887:7;5914:18;;;:9;:18;;;;;;;5821:119;7848:13;:22;;;;:::i;:::-;:40;;7840:79;;;;-1:-1:-1;;;7840:79:0;;13741:2:1;7840:79:0;;;13723:21:1;13780:2;13760:18;;;13753:30;13819:28;13799:18;;;13792:56;13865:18;;7840:79:0;13539:350:1;7840:79:0;7962:12;7944:10;;7957:1;7944:14;;;;:::i;:::-;:30;7940:103;;;9580:20;;9628:8;7999:24;;;;;;8061:9;:11;;;:9;:11;;;:::i;:::-;;;;;;7652:436;8114:13;;-1:-1:-1;;;;;8108:19:0;;;8114:13;;8108:19;;;;:47;;-1:-1:-1;;;;;;8133:22:0;;;;;;:18;:22;;;;;;;;8131:24;8108:47;8104:167;;;8210:14;;8200:6;8184:13;8194:2;-1:-1:-1;;;;;5914:18:0;5887:7;5914:18;;;:9;:18;;;;;;;5821:119;8184:13;:22;;;;:::i;:::-;:40;;8176:79;;;;-1:-1:-1;;;8176:79:0;;13741:2:1;8176:79:0;;;13723:21:1;13780:2;13760:18;;;13753:30;13819:28;13799:18;;;13792:56;13865:18;;8176:79:0;13539:350:1;8176:79:0;8296:13;;-1:-1:-1;;;;;8290:19:0;;;8296:13;;8290:19;:43;;;;-1:-1:-1;;;;;;8313:20:0;;8328:4;8313:20;;8290:43;8287:174;;;8366:79;8441:3;8366:70;8388:16;;8378:9;;:26;8377:58;;8420:15;;8377:58;;;8406:13;;8366:6;;:10;:70::i;:79::-;8354:91;;8287:174;8526:4;8477:28;5914:18;;;:9;:18;;;;;;8552:6;;-1:-1:-1;;;8552:6:0;;;;8551:7;:32;;;;-1:-1:-1;8570:13:0;;-1:-1:-1;;;;;8562:21:0;;;8570:13;;8562:21;8551:32;:47;;;;-1:-1:-1;8587:11:0;;-1:-1:-1;;;8587:11:0;;;;8551:47;:89;;;;;8623:17;;8602:20;:38;8551:89;:121;;;;;8654:18;;8644:9;;:28;8551:121;8547:421;;;8693:67;8710:49;8714:6;8721:37;8725:20;8746:11;;8721:3;:37::i;:::-;8710:3;:49::i;:::-;8693:16;:67::i;:::-;8808:21;8851:22;;8848:105;;8898:35;8911:21;8898:12;:35::i;:::-;8674:294;8547:421;7484:1495;7446:1533;8994:11;;8991:161;;9062:4;9044:24;;;;:9;:24;;;;;;:39;;9073:9;9044:28;:39::i;:::-;9037:4;9019:24;;;;:9;:24;;;;;;;:64;;;;9101:39;;-1:-1:-1;;;;;9101:39:0;;;;;;;9130:9;1752:25:1;;1740:2;1725:18;;1606:177;9101:39:0;;;;;;;;8991:161;-1:-1:-1;;;;;9178:15:0;;;;;;:9;:15;;;;;;:27;;9198:6;9178:19;:27::i;:::-;-1:-1:-1;;;;;9162:15:0;;;;;;:9;:15;;;;;:43;9230:40;9248:21;:6;9259:9;9248:10;:21::i;:::-;-1:-1:-1;;;;;9230:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9216:13:0;;;;;;;:9;:13;;;;;:54;;;;9286:41;;;9305:21;:6;9316:9;9305:10;:21::i;:::-;9286:41;;1752:25:1;;;1740:2;1725:18;9286:41:0;;;;;;;7176:2159;7107:2228;;;:::o;1337:190::-;1423:7;1459:12;1451:6;;;;1443:29;;;;-1:-1:-1;;;1443:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1483:9:0;1495:5;1499:1;1495;:5;:::i;:::-;1483:17;1337:190;-1:-1:-1;;;;;1337:190:0:o;1535:246::-;1593:7;1617:1;1622;1617:6;1613:47;;-1:-1:-1;1647:1:0;1640:8;;1613:47;1670:9;1682:5;1686:1;1682;:5;:::i;:::-;1670:17;-1:-1:-1;1715:1:0;1706:5;1710:1;1670:17;1706:5;:::i;:::-;:10;1698:56;;;;-1:-1:-1;;;1698:56:0;;14451:2:1;1698:56:0;;;14433:21:1;14490:2;14470:18;;;14463:30;14529:34;14509:18;;;14502:62;-1:-1:-1;;;14580:18:1;;;14573:31;14621:19;;1698:56:0;14249:397:1;1698:56:0;1772:1;1535:246;-1:-1:-1;;;1535:246:0:o;1789:132::-;1847:7;1874:39;1878:1;1881;1874:39;;;;;;;;;;;;;;;;;:3;:39::i;9343:98::-;9400:7;9427:1;9425;:3;9424:9;;9432:1;9424:9;;;-1:-1:-1;9430:1:0;9343:98;-1:-1:-1;9343:98:0:o;9652:483::-;5050:6;:13;;-1:-1:-1;;;;5050:13:0;-1:-1:-1;;;5050:13:0;;;9754:16:::1;::::0;;9768:1:::1;9754:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9754:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9754:16:0::1;9730:40;;9799:4;9781;9786:1;9781:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9781:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9825:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9825:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9781:7;;9825:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9815:4;9820:1;9815:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9815:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9890:15:::1;::::0;9858:62:::1;::::0;9875:4:::1;::::0;9890:15:::1;9908:11:::0;9858:8:::1;:62::i;:::-;9931:15;::::0;:196:::1;::::0;-1:-1:-1;;;9931:196:0;;-1:-1:-1;;;;;9931:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10012:11;;9931:15:::1;::::0;10054:4;;10081::::1;::::0;10101:15:::1;::::0;9931:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5086:6:0;:14;;-1:-1:-1;;;;5086:14:0;;;-1:-1:-1;;;;9652:483:0:o;11202:92::-;11259:10;;:27;;-1:-1:-1;;;;;11259:10:0;;;;:27;;;;;11279:6;;11259:10;:27;:10;:27;11279:6;11259:10;:27;;;;;;;;;;;;;;;;;;;1006:179;1064:7;;1096:5;1100:1;1096;:5;:::i;:::-;1084:17;;1125:1;1120;:6;;1112:46;;;;-1:-1:-1;;;1112:46:0;;15838:2:1;1112:46:0;;;15820:21:1;15877:2;15857:18;;;15850:30;15916:29;15896:18;;;15889:57;15963:18;;1112:46:0;15636:351:1;1193:136:0;1251:7;1278:43;1282:1;1285;1278:43;;;;;;;;;;;;;;;;;:3;:43::i;1929:189::-;2015:7;2050:12;2043:5;2035:28;;;;-1:-1:-1;;;2035:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2074:9:0;2086:5;2090:1;2086;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:134;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1354:247::-;1413:6;1466:2;1454:9;1445:7;1441:23;1437:32;1434:52;;;1482:1;1479;1472:12;1434:52;1521:9;1508:23;1540:31;1565:5;1540:31;:::i;1788:127::-;1849:10;1844:3;1840:20;1837:1;1830:31;1880:4;1877:1;1870:15;1904:4;1901:1;1894:15;1920:1121;2004:6;2035:2;2078;2066:9;2057:7;2053:23;2049:32;2046:52;;;2094:1;2091;2084:12;2046:52;2134:9;2121:23;2163:18;2204:2;2196:6;2193:14;2190:34;;;2220:1;2217;2210:12;2190:34;2258:6;2247:9;2243:22;2233:32;;2303:7;2296:4;2292:2;2288:13;2284:27;2274:55;;2325:1;2322;2315:12;2274:55;2361:2;2348:16;2383:2;2379;2376:10;2373:36;;;2389:18;;:::i;:::-;2435:2;2432:1;2428:10;2467:2;2461:9;2530:2;2526:7;2521:2;2517;2513:11;2509:25;2501:6;2497:38;2585:6;2573:10;2570:22;2565:2;2553:10;2550:18;2547:46;2544:72;;;2596:18;;:::i;:::-;2632:2;2625:22;2682:18;;;2716:15;;;;-1:-1:-1;2758:11:1;;;2754:20;;;2786:19;;;2783:39;;;2818:1;2815;2808:12;2783:39;2842:11;;;;2862:148;2878:6;2873:3;2870:15;2862:148;;;2944:23;2963:3;2944:23;:::i;:::-;2932:36;;2895:12;;;;2988;;;;2862:148;;;3029:6;1920:1121;-1:-1:-1;;;;;;;;1920:1121:1:o;3046:456::-;3123:6;3131;3139;3192:2;3180:9;3171:7;3167:23;3163:32;3160:52;;;3208:1;3205;3198:12;3160:52;3247:9;3234:23;3266:31;3291:5;3266:31;:::i;:::-;3316:5;-1:-1:-1;3373:2:1;3358:18;;3345:32;3386:33;3345:32;3386:33;:::i;:::-;3046:456;;3438:7;;-1:-1:-1;;;3492:2:1;3477:18;;;;3464:32;;3046:456::o;3904:388::-;3972:6;3980;4033:2;4021:9;4012:7;4008:23;4004:32;4001:52;;;4049:1;4046;4039:12;4001:52;4088:9;4075:23;4107:31;4132:5;4107:31;:::i;:::-;4157:5;-1:-1:-1;4214:2:1;4199:18;;4186:32;4227:33;4186:32;4227:33;:::i;:::-;4279:7;4269:17;;;3904:388;;;;;:::o;4297:248::-;4365:6;4373;4426:2;4414:9;4405:7;4401:23;4397:32;4394:52;;;4442:1;4439;4432:12;4394:52;-1:-1:-1;;4465:23:1;;;4535:2;4520:18;;;4507:32;;-1:-1:-1;4297:248:1:o;5434:184::-;5504:6;5557:2;5545:9;5536:7;5532:23;5528:32;5525:52;;;5573:1;5570;5563:12;5525:52;-1:-1:-1;5596:16:1;;5434:184;-1:-1:-1;5434:184:1:o;5902:277::-;5969:6;6022:2;6010:9;6001:7;5997:23;5993:32;5990:52;;;6038:1;6035;6028:12;5990:52;6070:9;6064:16;6123:5;6116:13;6109:21;6102:5;6099:32;6089:60;;6145:1;6142;6135:12;6184:127;6245:10;6240:3;6236:20;6233:1;6226:31;6276:4;6273:1;6266:15;6300:4;6297:1;6290:15;6316:422;6405:1;6448:5;6405:1;6462:270;6483:7;6473:8;6470:21;6462:270;;;6542:4;6538:1;6534:6;6530:17;6524:4;6521:27;6518:53;;;6551:18;;:::i;:::-;6601:7;6591:8;6587:22;6584:55;;;6621:16;;;;6584:55;6700:22;;;;6660:15;;;;6462:270;;;6466:3;6316:422;;;;;:::o;6743:806::-;6792:5;6822:8;6812:80;;-1:-1:-1;6863:1:1;6877:5;;6812:80;6911:4;6901:76;;-1:-1:-1;6948:1:1;6962:5;;6901:76;6993:4;7011:1;7006:59;;;;7079:1;7074:130;;;;6986:218;;7006:59;7036:1;7027:10;;7050:5;;;7074:130;7111:3;7101:8;7098:17;7095:43;;;7118:18;;:::i;:::-;-1:-1:-1;;7174:1:1;7160:16;;7189:5;;6986:218;;7288:2;7278:8;7275:16;7269:3;7263:4;7260:13;7256:36;7250:2;7240:8;7237:16;7232:2;7226:4;7223:12;7219:35;7216:77;7213:159;;;-1:-1:-1;7325:19:1;;;7357:5;;7213:159;7404:34;7429:8;7423:4;7404:34;:::i;:::-;7474:6;7470:1;7466:6;7462:19;7453:7;7450:32;7447:58;;;7485:18;;:::i;:::-;7523:20;;6743:806;-1:-1:-1;;;6743:806:1:o;7554:140::-;7612:5;7641:47;7682:4;7672:8;7668:19;7662:4;7641:47;:::i;7699:168::-;7772:9;;;7803;;7820:15;;;7814:22;;7800:37;7790:71;;7841:18;;:::i;7872:356::-;8074:2;8056:21;;;8093:18;;;8086:30;8152:34;8147:2;8132:18;;8125:62;8219:2;8204:18;;7872:356::o;8233:127::-;8294:10;8289:3;8285:20;8282:1;8275:31;8325:4;8322:1;8315:15;8349:4;8346:1;8339:15;8365:135;8404:3;8425:17;;;8422:43;;8445:18;;:::i;:::-;-1:-1:-1;8492:1:1;8481:13;;8365:135::o;8857:251::-;8927:6;8980:2;8968:9;8959:7;8955:23;8951:32;8948:52;;;8996:1;8993;8986:12;8948:52;9028:9;9022:16;9047:31;9072:5;9047:31;:::i;10034:306::-;10122:6;10130;10138;10191:2;10179:9;10170:7;10166:23;10162:32;10159:52;;;10207:1;10204;10197:12;10159:52;10236:9;10230:16;10220:26;;10286:2;10275:9;10271:18;10265:25;10255:35;;10330:2;10319:9;10315:18;10309:25;10299:35;;10034:306;;;;;:::o;13409:125::-;13474:9;;;13495:10;;;13492:36;;;13508:18;;:::i;13894:128::-;13961:9;;;13982:11;;;13979:37;;;13996:18;;:::i;14027:217::-;14067:1;14093;14083:132;;14137:10;14132:3;14128:20;14125:1;14118:31;14172:4;14169:1;14162:15;14200:4;14197:1;14190:15;14083:132;-1:-1:-1;14229:9:1;;14027:217::o;14651:980::-;14913:4;14961:3;14950:9;14946:19;14992:6;14981:9;14974:25;15018:2;15056:6;15051:2;15040:9;15036:18;15029:34;15099:3;15094:2;15083:9;15079:18;15072:31;15123:6;15158;15152:13;15189:6;15181;15174:22;15227:3;15216:9;15212:19;15205:26;;15266:2;15258:6;15254:15;15240:29;;15287:1;15297:195;15311:6;15308:1;15305:13;15297:195;;;15376:13;;-1:-1:-1;;;;;15372:39:1;15360:52;;15467:15;;;;15432:12;;;;15408:1;15326:9;15297:195;;;-1:-1:-1;;;;;;;15548:32:1;;;;15543:2;15528:18;;15521:60;-1:-1:-1;;;15612:3:1;15597:19;15590:35;15509:3;14651:980;-1:-1:-1;;;14651:980:1:o

Swarm Source

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