ETH Price: $2,620.05 (+1.50%)

Token

World Cup Ape (WCA)
 

Overview

Max Total Supply

1,000,000,000,000 WCA

Holders

25

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
8,025,117,948.469988873 WCA

Value
$0.00
0x84b030d96f9464055a3eec6041acf678056ee9c0
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:
WCA

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-10-25
*/

// SPDX-License-Identifier: UNLICENSED
/*
    Website: https://worldcupape.us.com/

    Telegram: https://t.me/WorldcupApeErc

    Twitter: https://twitter.com/WCAPE2022
*/
pragma solidity 0.8.17;
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;
    address private _previousOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

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

}

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract WCA is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => uint) private cooldown;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;

    uint256 private _feeAddr1;
    uint256 private _feeAddr2;
    uint256 private _standardTax;
    address payable private _feeAddrWallet;

    string private constant _name = "World Cup Ape";
    string private constant _symbol = "WCA";
    uint8 private constant _decimals = 9;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = _tTotal.mul(2).div(100);
    uint256 private _maxWalletSize = _tTotal.mul(2).div(100);
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _feeAddrWallet = payable(_msgSender());
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet] = true;
        _standardTax=5;

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

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

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

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

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

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

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

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

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

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

    function setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }

    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    function _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");


        if (from != owner() && to != owner()) {
            _feeAddr1 = 0;
            _feeAddr2 = _standardTax;
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
                // Cooldown
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");

            }


            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>0) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }else{
          _feeAddr1 = 0;
          _feeAddr2 = 0;
        }

        _tokenTransfer(from,to,amount);
    }

    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 setStandardTax(uint256 newTax) external onlyOwner{
      require(newTax<_standardTax);
      _standardTax=newTax;
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
    }

    function sendETHToFee(uint256 amount) private {
        _feeAddrWallet.transfer(amount);
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        cooldownEnabled = true;

        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

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

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

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

    receive() external payable {}

    function manualswap() external {
        require(_msgSender() == _feeAddrWallet);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == _feeAddrWallet);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }


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

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

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

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

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

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":[{"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":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTax","type":"uint256"}],"name":"setStandardTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052683635c9adc5dea000006000196200001d9190620005d3565b6000196200002c91906200063a565b6007556000600e60156101000a81548160ff0219169083151502179055506000600e60166101000a81548160ff0219169083151502179055506000600e60176101000a81548160ff021916908315150217905550620000be6064620000aa6002683635c9adc5dea000006200042c60201b62000fdc1790919060201c565b620004af60201b620010561790919060201c565b600f55620000ff6064620000eb6002683635c9adc5dea000006200042c60201b62000fdc1790919060201c565b620004af60201b620010561790919060201c565b6010553480156200010f57600080fd5b506000620001226200050160201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001d06200050160201b60201c565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060075460026000620002276200050160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560006200027b6200050960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005600b81905550620003b66200050160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040516200041e919062000686565b60405180910390a36200087c565b6000808303620004405760009050620004a9565b60008284620004509190620006a3565b9050828482620004619190620006ee565b14620004a4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200049b90620007ad565b60405180910390fd5b809150505b92915050565b6000620004f983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200053260201b60201c565b905092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080831182906200057c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000573919062000858565b60405180910390fd5b50600083856200058d9190620006ee565b9050809150509392505050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620005e0826200059a565b9150620005ed836200059a565b9250826200060057620005ff620005a4565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000647826200059a565b915062000654836200059a565b92508282039050818111156200066f576200066e6200060b565b5b92915050565b62000680816200059a565b82525050565b60006020820190506200069d600083018462000675565b92915050565b6000620006b0826200059a565b9150620006bd836200059a565b9250828202620006cd816200059a565b91508282048414831517620006e757620006e66200060b565b5b5092915050565b6000620006fb826200059a565b915062000708836200059a565b9250826200071b576200071a620005a4565b5b828204905092915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006200079560218362000726565b9150620007a28262000737565b604082019050919050565b60006020820190508181036000830152620007c88162000786565b9050919050565b600081519050919050565b60005b83811015620007fa578082015181840152602081019050620007dd565b60008484015250505050565b6000601f19601f8301169050919050565b60006200082482620007cf565b62000830818562000726565b935062000842818560208601620007da565b6200084d8162000806565b840191505092915050565b6000602082019050818103600083015262000874818462000817565b905092915050565b612f0a806200088c6000396000f3fe6080604052600436106101025760003560e01c8063715018a61161009557806395d89b411161006457806395d89b4114610308578063a9059cbb14610333578063c3c8cd8014610370578063c9567bf914610387578063dd62ed3e1461039e57610109565b8063715018a614610286578063751039fc1461029d578063843f7be2146102b45780638da5cb5b146102dd57610109565b8063313ce567116100d1578063313ce567146101de5780635932ead1146102095780636fc3eaec1461023257806370a082311461024957610109565b806306fdde031461010e578063095ea7b31461013957806318160ddd1461017657806323b872dd146101a157610109565b3661010957005b600080fd5b34801561011a57600080fd5b506101236103db565b60405161013091906120fd565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b91906121b8565b610418565b60405161016d9190612213565b60405180910390f35b34801561018257600080fd5b5061018b610436565b604051610198919061223d565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c39190612258565b610447565b6040516101d59190612213565b60405180910390f35b3480156101ea57600080fd5b506101f3610520565b60405161020091906122c7565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b919061230e565b610529565b005b34801561023e57600080fd5b506102476105db565b005b34801561025557600080fd5b50610270600480360381019061026b919061233b565b61064d565b60405161027d919061223d565b60405180910390f35b34801561029257600080fd5b5061029b61069e565b005b3480156102a957600080fd5b506102b26107f1565b005b3480156102c057600080fd5b506102db60048036038101906102d69190612368565b6108a8565b005b3480156102e957600080fd5b506102f2610955565b6040516102ff91906123a4565b60405180910390f35b34801561031457600080fd5b5061031d61097e565b60405161032a91906120fd565b60405180910390f35b34801561033f57600080fd5b5061035a600480360381019061035591906121b8565b6109bb565b6040516103679190612213565b60405180910390f35b34801561037c57600080fd5b506103856109d9565b005b34801561039357600080fd5b5061039c610a53565b005b3480156103aa57600080fd5b506103c560048036038101906103c091906123bf565b610f55565b6040516103d2919061223d565b60405180910390f35b60606040518060400160405280600d81526020017f576f726c64204375702041706500000000000000000000000000000000000000815250905090565b600061042c6104256110a0565b84846110a8565b6001905092915050565b6000683635c9adc5dea00000905090565b6000610454848484611271565b610515846104606110a0565b61051085604051806060016040528060288152602001612ead60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104c66110a0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116c59092919063ffffffff16565b6110a8565b600190509392505050565b60006009905090565b6105316110a0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b59061244b565b60405180910390fd5b80600e60176101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661061c6110a0565b73ffffffffffffffffffffffffffffffffffffffff161461063c57600080fd5b600047905061064a81611729565b50565b6000610697600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611795565b9050919050565b6106a66110a0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610733576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072a9061244b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107f96110a0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610886576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087d9061244b565b60405180910390fd5b683635c9adc5dea00000600f81905550683635c9adc5dea00000601081905550565b6108b06110a0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461093d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109349061244b565b60405180910390fd5b600b54811061094b57600080fd5b80600b8190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f5743410000000000000000000000000000000000000000000000000000000000815250905090565b60006109cf6109c86110a0565b8484611271565b6001905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a1a6110a0565b73ffffffffffffffffffffffffffffffffffffffff1614610a3a57600080fd5b6000610a453061064d565b9050610a5081611803565b50565b610a5b6110a0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610adf9061244b565b60405180910390fd5b600e60149054906101000a900460ff1615610b38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2f906124b7565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bc830600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea000006110a8565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3791906124ec565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc291906124ec565b6040518363ffffffff1660e01b8152600401610cdf929190612519565b6020604051808303816000875af1158015610cfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2291906124ec565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610dab3061064d565b600080610db6610955565b426040518863ffffffff1660e01b8152600401610dd896959493929190612587565b60606040518083038185885af1158015610df6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e1b91906125fd565b5050506001600e60166101000a81548160ff0219169083151502179055506001600e60176101000a81548160ff0219169083151502179055506001600e60146101000a81548160ff021916908315150217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f0e929190612650565b6020604051808303816000875af1158015610f2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f51919061268e565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000808303610fee5760009050611050565b60008284610ffc91906126ea565b905082848261100b919061275b565b1461104b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611042906127fe565b60405180910390fd5b809150505b92915050565b600061109883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a7c565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611117576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110e90612890565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611186576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117d90612922565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611264919061223d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d7906129b4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361134f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134690612a46565b60405180910390fd5b60008111611392576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138990612ad8565b60405180910390fd5b61139a610955565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561140857506113d8610955565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156116a4576000600981905550600b54600a81905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156114c95750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561151f5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156115375750600e60179054906101000a900460ff165b156115da57600f54811115611581576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157890612b44565b60405180910390fd5b6010548161158e8461064d565b6115989190612b64565b11156115d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d090612be4565b60405180910390fd5b5b60006115e53061064d565b9050600e60159054906101000a900460ff161580156116525750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561166a5750600e60169054906101000a900460ff165b80156116765750600081115b1561169e5761168481611803565b6000479050600081111561169c5761169b47611729565b5b505b506116b5565b60006009819055506000600a819055505b6116c0838383611adf565b505050565b600083831115829061170d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170491906120fd565b60405180910390fd5b506000838561171c9190612c04565b9050809150509392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611791573d6000803e3d6000fd5b5050565b60006007548211156117dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d390612caa565b60405180910390fd5b60006117e6611aef565b90506117fb818461105690919063ffffffff16565b915050919050565b6001600e60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561183b5761183a612cca565b5b6040519080825280602002602001820160405280156118695781602001602082028036833780820191505090505b509050308160008151811061188157611880612cf9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611928573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061194c91906124ec565b816001815181106119605761195f612cf9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506119c730600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110a8565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611a2b959493929190612de6565b600060405180830381600087803b158015611a4557600080fd5b505af1158015611a59573d6000803e3d6000fd5b50505050506000600e60156101000a81548160ff02191690831515021790555050565b60008083118290611ac3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aba91906120fd565b60405180910390fd5b5060008385611ad2919061275b565b9050809150509392505050565b611aea838383611b1a565b505050565b6000806000611afc611ce5565b91509150611b13818361105690919063ffffffff16565b9250505090565b600080600080600080611b2c87611d47565b955095509550955095509550611b8a86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611daf90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c1f85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611df990919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c6b81611e57565b611c758483611f14565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611cd2919061223d565b60405180910390a3505050505050505050565b600080600060075490506000683635c9adc5dea000009050611d1b683635c9adc5dea0000060075461105690919063ffffffff16565b821015611d3a57600754683635c9adc5dea00000935093505050611d43565b81819350935050505b9091565b6000806000806000806000806000611d648a600954600a54611f4e565b9250925092506000611d74611aef565b90506000806000611d878e878787611fe4565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611df183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116c5565b905092915050565b6000808284611e089190612b64565b905083811015611e4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4490612e8c565b60405180910390fd5b8091505092915050565b6000611e61611aef565b90506000611e788284610fdc90919063ffffffff16565b9050611ecc81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611df990919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611f2982600754611daf90919063ffffffff16565b600781905550611f4481600854611df990919063ffffffff16565b6008819055505050565b600080600080611f7a6064611f6c888a610fdc90919063ffffffff16565b61105690919063ffffffff16565b90506000611fa46064611f96888b610fdc90919063ffffffff16565b61105690919063ffffffff16565b90506000611fcd82611fbf858c611daf90919063ffffffff16565b611daf90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611ffd8589610fdc90919063ffffffff16565b905060006120148689610fdc90919063ffffffff16565b9050600061202b8789610fdc90919063ffffffff16565b90506000612054826120468587611daf90919063ffffffff16565b611daf90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156120a757808201518184015260208101905061208c565b60008484015250505050565b6000601f19601f8301169050919050565b60006120cf8261206d565b6120d98185612078565b93506120e9818560208601612089565b6120f2816120b3565b840191505092915050565b6000602082019050818103600083015261211781846120c4565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061214f82612124565b9050919050565b61215f81612144565b811461216a57600080fd5b50565b60008135905061217c81612156565b92915050565b6000819050919050565b61219581612182565b81146121a057600080fd5b50565b6000813590506121b28161218c565b92915050565b600080604083850312156121cf576121ce61211f565b5b60006121dd8582860161216d565b92505060206121ee858286016121a3565b9150509250929050565b60008115159050919050565b61220d816121f8565b82525050565b60006020820190506122286000830184612204565b92915050565b61223781612182565b82525050565b6000602082019050612252600083018461222e565b92915050565b6000806000606084860312156122715761227061211f565b5b600061227f8682870161216d565b93505060206122908682870161216d565b92505060406122a1868287016121a3565b9150509250925092565b600060ff82169050919050565b6122c1816122ab565b82525050565b60006020820190506122dc60008301846122b8565b92915050565b6122eb816121f8565b81146122f657600080fd5b50565b600081359050612308816122e2565b92915050565b6000602082840312156123245761232361211f565b5b6000612332848285016122f9565b91505092915050565b6000602082840312156123515761235061211f565b5b600061235f8482850161216d565b91505092915050565b60006020828403121561237e5761237d61211f565b5b600061238c848285016121a3565b91505092915050565b61239e81612144565b82525050565b60006020820190506123b96000830184612395565b92915050565b600080604083850312156123d6576123d561211f565b5b60006123e48582860161216d565b92505060206123f58582860161216d565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612435602083612078565b9150612440826123ff565b602082019050919050565b6000602082019050818103600083015261246481612428565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006124a1601783612078565b91506124ac8261246b565b602082019050919050565b600060208201905081810360008301526124d081612494565b9050919050565b6000815190506124e681612156565b92915050565b6000602082840312156125025761250161211f565b5b6000612510848285016124d7565b91505092915050565b600060408201905061252e6000830185612395565b61253b6020830184612395565b9392505050565b6000819050919050565b6000819050919050565b600061257161256c61256784612542565b61254c565b612182565b9050919050565b61258181612556565b82525050565b600060c08201905061259c6000830189612395565b6125a9602083018861222e565b6125b66040830187612578565b6125c36060830186612578565b6125d06080830185612395565b6125dd60a083018461222e565b979650505050505050565b6000815190506125f78161218c565b92915050565b6000806000606084860312156126165761261561211f565b5b6000612624868287016125e8565b9350506020612635868287016125e8565b9250506040612646868287016125e8565b9150509250925092565b60006040820190506126656000830185612395565b612672602083018461222e565b9392505050565b600081519050612688816122e2565b92915050565b6000602082840312156126a4576126a361211f565b5b60006126b284828501612679565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006126f582612182565b915061270083612182565b925082820261270e81612182565b91508282048414831517612725576127246126bb565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061276682612182565b915061277183612182565b9250826127815761278061272c565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006127e8602183612078565b91506127f38261278c565b604082019050919050565b60006020820190508181036000830152612817816127db565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061287a602483612078565b91506128858261281e565b604082019050919050565b600060208201905081810360008301526128a98161286d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061290c602283612078565b9150612917826128b0565b604082019050919050565b6000602082019050818103600083015261293b816128ff565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061299e602583612078565b91506129a982612942565b604082019050919050565b600060208201905081810360008301526129cd81612991565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612a30602383612078565b9150612a3b826129d4565b604082019050919050565b60006020820190508181036000830152612a5f81612a23565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612ac2602983612078565b9150612acd82612a66565b604082019050919050565b60006020820190508181036000830152612af181612ab5565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612b2e601983612078565b9150612b3982612af8565b602082019050919050565b60006020820190508181036000830152612b5d81612b21565b9050919050565b6000612b6f82612182565b9150612b7a83612182565b9250828201905080821115612b9257612b916126bb565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612bce601a83612078565b9150612bd982612b98565b602082019050919050565b60006020820190508181036000830152612bfd81612bc1565b9050919050565b6000612c0f82612182565b9150612c1a83612182565b9250828203905081811115612c3257612c316126bb565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000612c94602a83612078565b9150612c9f82612c38565b604082019050919050565b60006020820190508181036000830152612cc381612c87565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612d5d81612144565b82525050565b6000612d6f8383612d54565b60208301905092915050565b6000602082019050919050565b6000612d9382612d28565b612d9d8185612d33565b9350612da883612d44565b8060005b83811015612dd9578151612dc08882612d63565b9750612dcb83612d7b565b925050600181019050612dac565b5085935050505092915050565b600060a082019050612dfb600083018861222e565b612e086020830187612578565b8181036040830152612e1a8186612d88565b9050612e296060830185612395565b612e36608083018461222e565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612e76601b83612078565b9150612e8182612e40565b602082019050919050565b60006020820190508181036000830152612ea581612e69565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d19aed462f91ef22e5c24a5268576aa5b5f83d88ec67bc24539d52f0b17159c064736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101025760003560e01c8063715018a61161009557806395d89b411161006457806395d89b4114610308578063a9059cbb14610333578063c3c8cd8014610370578063c9567bf914610387578063dd62ed3e1461039e57610109565b8063715018a614610286578063751039fc1461029d578063843f7be2146102b45780638da5cb5b146102dd57610109565b8063313ce567116100d1578063313ce567146101de5780635932ead1146102095780636fc3eaec1461023257806370a082311461024957610109565b806306fdde031461010e578063095ea7b31461013957806318160ddd1461017657806323b872dd146101a157610109565b3661010957005b600080fd5b34801561011a57600080fd5b506101236103db565b60405161013091906120fd565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b91906121b8565b610418565b60405161016d9190612213565b60405180910390f35b34801561018257600080fd5b5061018b610436565b604051610198919061223d565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c39190612258565b610447565b6040516101d59190612213565b60405180910390f35b3480156101ea57600080fd5b506101f3610520565b60405161020091906122c7565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b919061230e565b610529565b005b34801561023e57600080fd5b506102476105db565b005b34801561025557600080fd5b50610270600480360381019061026b919061233b565b61064d565b60405161027d919061223d565b60405180910390f35b34801561029257600080fd5b5061029b61069e565b005b3480156102a957600080fd5b506102b26107f1565b005b3480156102c057600080fd5b506102db60048036038101906102d69190612368565b6108a8565b005b3480156102e957600080fd5b506102f2610955565b6040516102ff91906123a4565b60405180910390f35b34801561031457600080fd5b5061031d61097e565b60405161032a91906120fd565b60405180910390f35b34801561033f57600080fd5b5061035a600480360381019061035591906121b8565b6109bb565b6040516103679190612213565b60405180910390f35b34801561037c57600080fd5b506103856109d9565b005b34801561039357600080fd5b5061039c610a53565b005b3480156103aa57600080fd5b506103c560048036038101906103c091906123bf565b610f55565b6040516103d2919061223d565b60405180910390f35b60606040518060400160405280600d81526020017f576f726c64204375702041706500000000000000000000000000000000000000815250905090565b600061042c6104256110a0565b84846110a8565b6001905092915050565b6000683635c9adc5dea00000905090565b6000610454848484611271565b610515846104606110a0565b61051085604051806060016040528060288152602001612ead60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104c66110a0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116c59092919063ffffffff16565b6110a8565b600190509392505050565b60006009905090565b6105316110a0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b59061244b565b60405180910390fd5b80600e60176101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661061c6110a0565b73ffffffffffffffffffffffffffffffffffffffff161461063c57600080fd5b600047905061064a81611729565b50565b6000610697600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611795565b9050919050565b6106a66110a0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610733576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072a9061244b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107f96110a0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610886576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087d9061244b565b60405180910390fd5b683635c9adc5dea00000600f81905550683635c9adc5dea00000601081905550565b6108b06110a0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461093d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109349061244b565b60405180910390fd5b600b54811061094b57600080fd5b80600b8190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f5743410000000000000000000000000000000000000000000000000000000000815250905090565b60006109cf6109c86110a0565b8484611271565b6001905092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a1a6110a0565b73ffffffffffffffffffffffffffffffffffffffff1614610a3a57600080fd5b6000610a453061064d565b9050610a5081611803565b50565b610a5b6110a0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610adf9061244b565b60405180910390fd5b600e60149054906101000a900460ff1615610b38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2f906124b7565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bc830600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea000006110a8565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3791906124ec565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc291906124ec565b6040518363ffffffff1660e01b8152600401610cdf929190612519565b6020604051808303816000875af1158015610cfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2291906124ec565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610dab3061064d565b600080610db6610955565b426040518863ffffffff1660e01b8152600401610dd896959493929190612587565b60606040518083038185885af1158015610df6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e1b91906125fd565b5050506001600e60166101000a81548160ff0219169083151502179055506001600e60176101000a81548160ff0219169083151502179055506001600e60146101000a81548160ff021916908315150217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f0e929190612650565b6020604051808303816000875af1158015610f2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f51919061268e565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000808303610fee5760009050611050565b60008284610ffc91906126ea565b905082848261100b919061275b565b1461104b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611042906127fe565b60405180910390fd5b809150505b92915050565b600061109883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a7c565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611117576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110e90612890565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611186576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117d90612922565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611264919061223d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d7906129b4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361134f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134690612a46565b60405180910390fd5b60008111611392576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138990612ad8565b60405180910390fd5b61139a610955565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561140857506113d8610955565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156116a4576000600981905550600b54600a81905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156114c95750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561151f5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156115375750600e60179054906101000a900460ff165b156115da57600f54811115611581576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157890612b44565b60405180910390fd5b6010548161158e8461064d565b6115989190612b64565b11156115d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d090612be4565b60405180910390fd5b5b60006115e53061064d565b9050600e60159054906101000a900460ff161580156116525750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561166a5750600e60169054906101000a900460ff165b80156116765750600081115b1561169e5761168481611803565b6000479050600081111561169c5761169b47611729565b5b505b506116b5565b60006009819055506000600a819055505b6116c0838383611adf565b505050565b600083831115829061170d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170491906120fd565b60405180910390fd5b506000838561171c9190612c04565b9050809150509392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611791573d6000803e3d6000fd5b5050565b60006007548211156117dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d390612caa565b60405180910390fd5b60006117e6611aef565b90506117fb818461105690919063ffffffff16565b915050919050565b6001600e60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561183b5761183a612cca565b5b6040519080825280602002602001820160405280156118695781602001602082028036833780820191505090505b509050308160008151811061188157611880612cf9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611928573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061194c91906124ec565b816001815181106119605761195f612cf9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506119c730600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110a8565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611a2b959493929190612de6565b600060405180830381600087803b158015611a4557600080fd5b505af1158015611a59573d6000803e3d6000fd5b50505050506000600e60156101000a81548160ff02191690831515021790555050565b60008083118290611ac3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aba91906120fd565b60405180910390fd5b5060008385611ad2919061275b565b9050809150509392505050565b611aea838383611b1a565b505050565b6000806000611afc611ce5565b91509150611b13818361105690919063ffffffff16565b9250505090565b600080600080600080611b2c87611d47565b955095509550955095509550611b8a86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611daf90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c1f85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611df990919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c6b81611e57565b611c758483611f14565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611cd2919061223d565b60405180910390a3505050505050505050565b600080600060075490506000683635c9adc5dea000009050611d1b683635c9adc5dea0000060075461105690919063ffffffff16565b821015611d3a57600754683635c9adc5dea00000935093505050611d43565b81819350935050505b9091565b6000806000806000806000806000611d648a600954600a54611f4e565b9250925092506000611d74611aef565b90506000806000611d878e878787611fe4565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611df183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116c5565b905092915050565b6000808284611e089190612b64565b905083811015611e4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4490612e8c565b60405180910390fd5b8091505092915050565b6000611e61611aef565b90506000611e788284610fdc90919063ffffffff16565b9050611ecc81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611df990919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611f2982600754611daf90919063ffffffff16565b600781905550611f4481600854611df990919063ffffffff16565b6008819055505050565b600080600080611f7a6064611f6c888a610fdc90919063ffffffff16565b61105690919063ffffffff16565b90506000611fa46064611f96888b610fdc90919063ffffffff16565b61105690919063ffffffff16565b90506000611fcd82611fbf858c611daf90919063ffffffff16565b611daf90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611ffd8589610fdc90919063ffffffff16565b905060006120148689610fdc90919063ffffffff16565b9050600061202b8789610fdc90919063ffffffff16565b90506000612054826120468587611daf90919063ffffffff16565b611daf90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156120a757808201518184015260208101905061208c565b60008484015250505050565b6000601f19601f8301169050919050565b60006120cf8261206d565b6120d98185612078565b93506120e9818560208601612089565b6120f2816120b3565b840191505092915050565b6000602082019050818103600083015261211781846120c4565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061214f82612124565b9050919050565b61215f81612144565b811461216a57600080fd5b50565b60008135905061217c81612156565b92915050565b6000819050919050565b61219581612182565b81146121a057600080fd5b50565b6000813590506121b28161218c565b92915050565b600080604083850312156121cf576121ce61211f565b5b60006121dd8582860161216d565b92505060206121ee858286016121a3565b9150509250929050565b60008115159050919050565b61220d816121f8565b82525050565b60006020820190506122286000830184612204565b92915050565b61223781612182565b82525050565b6000602082019050612252600083018461222e565b92915050565b6000806000606084860312156122715761227061211f565b5b600061227f8682870161216d565b93505060206122908682870161216d565b92505060406122a1868287016121a3565b9150509250925092565b600060ff82169050919050565b6122c1816122ab565b82525050565b60006020820190506122dc60008301846122b8565b92915050565b6122eb816121f8565b81146122f657600080fd5b50565b600081359050612308816122e2565b92915050565b6000602082840312156123245761232361211f565b5b6000612332848285016122f9565b91505092915050565b6000602082840312156123515761235061211f565b5b600061235f8482850161216d565b91505092915050565b60006020828403121561237e5761237d61211f565b5b600061238c848285016121a3565b91505092915050565b61239e81612144565b82525050565b60006020820190506123b96000830184612395565b92915050565b600080604083850312156123d6576123d561211f565b5b60006123e48582860161216d565b92505060206123f58582860161216d565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612435602083612078565b9150612440826123ff565b602082019050919050565b6000602082019050818103600083015261246481612428565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006124a1601783612078565b91506124ac8261246b565b602082019050919050565b600060208201905081810360008301526124d081612494565b9050919050565b6000815190506124e681612156565b92915050565b6000602082840312156125025761250161211f565b5b6000612510848285016124d7565b91505092915050565b600060408201905061252e6000830185612395565b61253b6020830184612395565b9392505050565b6000819050919050565b6000819050919050565b600061257161256c61256784612542565b61254c565b612182565b9050919050565b61258181612556565b82525050565b600060c08201905061259c6000830189612395565b6125a9602083018861222e565b6125b66040830187612578565b6125c36060830186612578565b6125d06080830185612395565b6125dd60a083018461222e565b979650505050505050565b6000815190506125f78161218c565b92915050565b6000806000606084860312156126165761261561211f565b5b6000612624868287016125e8565b9350506020612635868287016125e8565b9250506040612646868287016125e8565b9150509250925092565b60006040820190506126656000830185612395565b612672602083018461222e565b9392505050565b600081519050612688816122e2565b92915050565b6000602082840312156126a4576126a361211f565b5b60006126b284828501612679565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006126f582612182565b915061270083612182565b925082820261270e81612182565b91508282048414831517612725576127246126bb565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061276682612182565b915061277183612182565b9250826127815761278061272c565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006127e8602183612078565b91506127f38261278c565b604082019050919050565b60006020820190508181036000830152612817816127db565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061287a602483612078565b91506128858261281e565b604082019050919050565b600060208201905081810360008301526128a98161286d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061290c602283612078565b9150612917826128b0565b604082019050919050565b6000602082019050818103600083015261293b816128ff565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061299e602583612078565b91506129a982612942565b604082019050919050565b600060208201905081810360008301526129cd81612991565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612a30602383612078565b9150612a3b826129d4565b604082019050919050565b60006020820190508181036000830152612a5f81612a23565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612ac2602983612078565b9150612acd82612a66565b604082019050919050565b60006020820190508181036000830152612af181612ab5565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612b2e601983612078565b9150612b3982612af8565b602082019050919050565b60006020820190508181036000830152612b5d81612b21565b9050919050565b6000612b6f82612182565b9150612b7a83612182565b9250828201905080821115612b9257612b916126bb565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612bce601a83612078565b9150612bd982612b98565b602082019050919050565b60006020820190508181036000830152612bfd81612bc1565b9050919050565b6000612c0f82612182565b9150612c1a83612182565b9250828203905081811115612c3257612c316126bb565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000612c94602a83612078565b9150612c9f82612c38565b604082019050919050565b60006020820190508181036000830152612cc381612c87565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612d5d81612144565b82525050565b6000612d6f8383612d54565b60208301905092915050565b6000602082019050919050565b6000612d9382612d28565b612d9d8185612d33565b9350612da883612d44565b8060005b83811015612dd9578151612dc08882612d63565b9750612dcb83612d7b565b925050600181019050612dac565b5085935050505092915050565b600060a082019050612dfb600083018861222e565b612e086020830187612578565b8181036040830152612e1a8186612d88565b9050612e296060830185612395565b612e36608083018461222e565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612e76601b83612078565b9150612e8182612e40565b602082019050919050565b60006020820190508181036000830152612ea581612e69565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d19aed462f91ef22e5c24a5268576aa5b5f83d88ec67bc24539d52f0b17159c064736f6c63430008110033

Deployed Bytecode Sourcemap

3654:9902:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5375:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6227:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5652:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6396:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5561:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6717:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11671:193;;;;;;;;;;;;;:::i;:::-;;5755:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2735:148;;;;;;;;;;;;;:::i;:::-;;9397:118;;;;;;;;;;;;;:::i;:::-;;9258:131;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2521:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5466:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5901:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11469:194;;;;;;;;;;;;;:::i;:::-;;9627:773;;;;;;;;;;;;;:::i;:::-;;6076:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5375:83;5412:13;5445:5;;;;;;;;;;;;;;;;;5438:12;;5375:83;:::o;6227:161::-;6302:4;6319:39;6328:12;:10;:12::i;:::-;6342:7;6351:6;6319:8;:39::i;:::-;6376:4;6369:11;;6227:161;;;;:::o;5652:95::-;5705:7;4105:21;5725:14;;5652:95;:::o;6396:313::-;6494:4;6511:36;6521:6;6529:9;6540:6;6511:9;:36::i;:::-;6558:121;6567:6;6575:12;:10;:12::i;:::-;6589:89;6627:6;6589:89;;;;;;;;;;;;;;;;;:11;:19;6601:6;6589:19;;;;;;;;;;;;;;;:33;6609:12;:10;:12::i;:::-;6589:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6558:8;:121::i;:::-;6697:4;6690:11;;6396:313;;;;;:::o;5561:83::-;5602:5;4505:1;5620:16;;5561:83;:::o;6717:103::-;2658:12;:10;:12::i;:::-;2648:22;;:6;;;;;;;;;;:22;;;2640:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6807:5:::1;6789:15;;:23;;;;;;;;;;;;;;;;;;6717:103:::0;:::o;11671:193::-;11737:14;;;;;;;;;;;11721:30;;:12;:10;:12::i;:::-;:30;;;11713:39;;;;;;11763:26;11792:21;11763:50;;11824:32;11837:18;11824:12;:32::i;:::-;11702:162;11671:193::o;5755:138::-;5821:7;5848:37;5868:7;:16;5876:7;5868:16;;;;;;;;;;;;;;;;5848:19;:37::i;:::-;5841:44;;5755:138;;;:::o;2735:148::-;2658:12;:10;:12::i;:::-;2648:22;;:6;;;;;;;;;;:22;;;2640:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2842:1:::1;2805:40;;2826:6;::::0;::::1;;;;;;;;2805:40;;;;;;;;;;;;2873:1;2856:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2735:148::o:0;9397:118::-;2658:12;:10;:12::i;:::-;2648:22;;:6;;;;;;;;;;:22;;;2640:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4105:21:::1;9450:12;:22;;;;4105:21;9483:14;:24;;;;9397:118::o:0;9258:131::-;2658:12;:10;:12::i;:::-;2648:22;;:6;;;;;;;;;;:22;;;2640:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9340:12:::1;;9333:6;:19;9325:28;;;::::0;::::1;;9375:6;9362:12;:19;;;;9258:131:::0;:::o;2521:79::-;2559:7;2586:6;;;;;;;;;;;2579:13;;2521:79;:::o;5466:87::-;5505:13;5538:7;;;;;;;;;;;;;;;;;5531:14;;5466:87;:::o;5901:167::-;5979:4;5996:42;6006:12;:10;:12::i;:::-;6020:9;6031:6;5996:9;:42::i;:::-;6056:4;6049:11;;5901:167;;;;:::o;11469:194::-;11535:14;;;;;;;;;;;11519:30;;:12;:10;:12::i;:::-;:30;;;11511:39;;;;;;11561:23;11587:24;11605:4;11587:9;:24::i;:::-;11561:50;;11622:33;11639:15;11622:16;:33::i;:::-;11500:163;11469:194::o;9627:773::-;2658:12;:10;:12::i;:::-;2648:22;;:6;;;;;;;;;;:22;;;2640:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9691:11:::1;;;;;;;;;;;9690:12;9682:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;9740:35;9797:42;9740:100;;9869:16;9851:15;;:34;;;;;;;;;;;;;;;;;;9896:58;9913:4;9928:15;;;;;;;;;;;4105:21;9896:8;:58::i;:::-;9999:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9981:56;;;10046:4;10053:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9981:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9965:13;;:112;;;;;;;;;;;;;;;;;;10088:15;;;;;;;;;;;:31;;;10127:21;10158:4;10164:24;10182:4;10164:9;:24::i;:::-;10189:1;10191::::0;10193:7:::1;:5;:7::i;:::-;10201:15;10088:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10242:4;10228:11;;:18;;;;;;;;;;;;;;;;;;10275:4;10257:15;;:22;;;;;;;;;;;;;;;;;;10306:4;10292:11;;:18;;;;;;;;;;;;;;;;;;10328:13;;;;;;;;;;;10321:29;;;10359:15;;;;;;;;;;;10377:14;10321:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9671:729;9627:773::o:0;6076:143::-;6157:7;6184:11;:18;6196:5;6184:18;;;;;;;;;;;;;;;:27;6203:7;6184:27;;;;;;;;;;;;;;;;6177:34;;6076:143;;;;:::o;1574:246::-;1632:7;1661:1;1656;:6;1652:47;;1686:1;1679:8;;;;1652:47;1709:9;1725:1;1721;:5;;;;:::i;:::-;1709:17;;1754:1;1749;1745;:5;;;;:::i;:::-;:10;1737:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1811:1;1804:8;;;1574:246;;;;;:::o;1828:132::-;1886:7;1913:39;1917:1;1920;1913:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1906:46;;1828:132;;;;:::o;239:98::-;292:7;319:10;312:17;;239:98;:::o;7090:335::-;7200:1;7183:19;;:5;:19;;;7175:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7281:1;7262:21;;:7;:21;;;7254:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7363:6;7333:11;:18;7345:5;7333:18;;;;;;;;;;;;;;;:27;7352:7;7333:27;;;;;;;;;;;;;;;:36;;;;7401:7;7385:32;;7394:5;7385:32;;;7410:6;7385:32;;;;;;:::i;:::-;;;;;;;;7090:335;;;:::o;7433:1326::-;7537:1;7521:18;;:4;:18;;;7513:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7614:1;7600:16;;:2;:16;;;7592:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7684:1;7675:6;:10;7667:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7758:7;:5;:7::i;:::-;7750:15;;:4;:15;;;;:32;;;;;7775:7;:5;:7::i;:::-;7769:13;;:2;:13;;;;7750:32;7746:963;;;7811:1;7799:9;:13;;;;7839:12;;7827:9;:24;;;;7878:13;;;;;;;;;;;7870:21;;:4;:21;;;:55;;;;;7909:15;;;;;;;;;;;7895:30;;:2;:30;;;;7870:55;:83;;;;;7931:18;:22;7950:2;7931:22;;;;;;;;;;;;;;;;;;;;;;;;;7929:24;7870:83;:102;;;;;7957:15;;;;;;;;;;;7870:102;7866:332;;;8040:12;;8030:6;:22;;8022:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8135:14;;8125:6;8109:13;8119:2;8109:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8101:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7866:332;8216:28;8247:24;8265:4;8247:9;:24::i;:::-;8216:55;;8291:6;;;;;;;;;;;8290:7;:32;;;;;8309:13;;;;;;;;;;;8301:21;;:4;:21;;;;8290:32;:47;;;;;8326:11;;;;;;;;;;;8290:47;:73;;;;;8362:1;8341:20;:22;8290:73;8286:344;;;8384:38;8401:20;8384:16;:38::i;:::-;8441:26;8470:21;8441:50;;8534:1;8513:18;:22;8510:105;;;8560:35;8573:21;8560:12;:35::i;:::-;8510:105;8365:265;8286:344;7784:857;7746:963;;;8670:1;8658:9;:13;;;;8696:1;8684:9;:13;;;;7746:963;8721:30;8736:4;8741:2;8744:6;8721:14;:30::i;:::-;7433:1326;;;:::o;1376:190::-;1462:7;1495:1;1490;:6;;1498:12;1482:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1522:9;1538:1;1534;:5;;;;:::i;:::-;1522:17;;1557:1;1550:8;;;1376:190;;;;;:::o;9523:96::-;9580:14;;;;;;;;;;;:23;;:31;9604:6;9580:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9523:96;:::o;6828:254::-;6895:7;6934;;6923;:18;;6915:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6999:19;7022:10;:8;:10::i;:::-;6999:33;;7050:24;7062:11;7050:7;:11;;:24;;;;:::i;:::-;7043:31;;;6828:254;;;:::o;8767:483::-;4962:4;4953:6;;:13;;;;;;;;;;;;;;;;;;8845:21:::1;8883:1;8869:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8845:40;;8914:4;8896;8901:1;8896:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8940:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8930:4;8935:1;8930:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;8973:62;8990:4;9005:15;;;;;;;;;;;9023:11;8973:8;:62::i;:::-;9046:15;;;;;;;;;;;:66;;;9127:11;9153:1;9169:4;9196;9216:15;9046:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8834:416;4998:5:::0;4989:6;;:14;;;;;;;;;;;;;;;;;;8767:483;:::o;1968:189::-;2054:7;2086:1;2082;:5;2089:12;2074:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2113:9;2129:1;2125;:5;;;;:::i;:::-;2113:17;;2148:1;2141:8;;;1968:189;;;;;:::o;10408:146::-;10502:44;10520:6;10528:9;10539:6;10502:17;:44::i;:::-;10408:146;;;:::o;13126:163::-;13167:7;13188:15;13205;13224:19;:17;:19::i;:::-;13187:56;;;;13261:20;13273:7;13261;:11;;:20;;;;:::i;:::-;13254:27;;;;13126:163;:::o;10562:487::-;10661:15;10678:23;10703:12;10717:23;10742:12;10756:13;10773:19;10784:7;10773:10;:19::i;:::-;10660:132;;;;;;;;;;;;10821:28;10841:7;10821;:15;10829:6;10821:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;10803:7;:15;10811:6;10803:15;;;;;;;;;;;;;;;:46;;;;10881:39;10904:15;10881:7;:18;10889:9;10881:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;10860:7;:18;10868:9;10860:18;;;;;;;;;;;;;;;:60;;;;10931:16;10941:5;10931:9;:16::i;:::-;10958:23;10970:4;10976;10958:11;:23::i;:::-;11014:9;10997:44;;11006:6;10997:44;;;11025:15;10997:44;;;;;;:::i;:::-;;;;;;;;10649:400;;;;;;10562:487;;;:::o;13297:256::-;13347:7;13356;13376:15;13394:7;;13376:25;;13412:15;4105:21;13412:25;;13462:20;4105:21;13462:7;;:11;;:20;;;;:::i;:::-;13452:7;:30;13448:61;;;13492:7;;4105:21;13484:25;;;;;;;;13448:61;13528:7;13537;13520:25;;;;;;13297:256;;;:::o;11874:471::-;11933:7;11942;11951;11960;11969;11978;11999:23;12024:12;12038:13;12055:42;12067:7;12076:9;;12087;;12055:11;:42::i;:::-;11998:99;;;;;;12108:19;12131:10;:8;:10::i;:::-;12108:33;;12153:15;12170:23;12195:12;12211:46;12223:7;12232:4;12238:5;12245:11;12211;:46::i;:::-;12152:105;;;;;;12276:7;12285:15;12302:4;12308:15;12325:4;12331:5;12268:69;;;;;;;;;;;;;;;;;;;11874:471;;;;;;;:::o;1232:136::-;1290:7;1317:43;1321:1;1324;1317:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1310:50;;1232:136;;;;:::o;1045:179::-;1103:7;1123:9;1139:1;1135;:5;;;;:::i;:::-;1123:17;;1164:1;1159;:6;;1151:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1215:1;1208:8;;;1045:179;;;;:::o;11057:212::-;11110:19;11133:10;:8;:10::i;:::-;11110:33;;11154:13;11170:22;11180:11;11170:5;:9;;:22;;;;:::i;:::-;11154:38;;11228:33;11255:5;11228:7;:22;11244:4;11228:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;11203:7;:22;11219:4;11203:22;;;;;;;;;;;;;;;:58;;;;11099:170;;11057:212;:::o;11277:147::-;11355:17;11367:4;11355:7;;:11;;:17;;;;:::i;:::-;11345:7;:27;;;;11396:20;11411:4;11396:10;;:14;;:20;;;;:::i;:::-;11383:10;:33;;;;11277:147;;:::o;12353:351::-;12446:7;12455;12464;12484:12;12499:28;12523:3;12499:19;12511:6;12499:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;12484:43;;12538:13;12554:29;12579:3;12554:20;12566:7;12554;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;12538:45;;12594:23;12620:28;12642:5;12620:17;12632:4;12620:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;12594:54;;12667:15;12684:4;12690:5;12659:37;;;;;;;;;12353:351;;;;;;;:::o;12712:409::-;12822:7;12831;12840;12860:15;12878:24;12890:11;12878:7;:11;;:24;;;;:::i;:::-;12860:42;;12913:12;12928:21;12937:11;12928:4;:8;;:21;;;;:::i;:::-;12913:36;;12960:13;12976:22;12986:11;12976:5;:9;;:22;;;;:::i;:::-;12960:38;;13009:23;13035:28;13057:5;13035:17;13047:4;13035:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;13009:54;;13082:7;13091:15;13108:4;13074:39;;;;;;;;;;12712:409;;;;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:116::-;4923:21;4938:5;4923:21;:::i;:::-;4916:5;4913:32;4903:60;;4959:1;4956;4949:12;4903:60;4853:116;:::o;4975:133::-;5018:5;5056:6;5043:20;5034:29;;5072:30;5096:5;5072:30;:::i;:::-;4975:133;;;;:::o;5114:323::-;5170:6;5219:2;5207:9;5198:7;5194:23;5190:32;5187:119;;;5225:79;;:::i;:::-;5187:119;5345:1;5370:50;5412:7;5403:6;5392:9;5388:22;5370:50;:::i;:::-;5360:60;;5316:114;5114:323;;;;:::o;5443:329::-;5502:6;5551:2;5539:9;5530:7;5526:23;5522:32;5519:119;;;5557:79;;:::i;:::-;5519:119;5677:1;5702:53;5747:7;5738:6;5727:9;5723:22;5702:53;:::i;:::-;5692:63;;5648:117;5443:329;;;;:::o;5778:::-;5837:6;5886:2;5874:9;5865:7;5861:23;5857:32;5854:119;;;5892:79;;:::i;:::-;5854:119;6012:1;6037:53;6082:7;6073:6;6062:9;6058:22;6037:53;:::i;:::-;6027:63;;5983:117;5778:329;;;;:::o;6113:118::-;6200:24;6218:5;6200:24;:::i;:::-;6195:3;6188:37;6113:118;;:::o;6237:222::-;6330:4;6368:2;6357:9;6353:18;6345:26;;6381:71;6449:1;6438:9;6434:17;6425:6;6381:71;:::i;:::-;6237:222;;;;:::o;6465:474::-;6533:6;6541;6590:2;6578:9;6569:7;6565:23;6561:32;6558:119;;;6596:79;;:::i;:::-;6558:119;6716:1;6741:53;6786:7;6777:6;6766:9;6762:22;6741:53;:::i;:::-;6731:63;;6687:117;6843:2;6869:53;6914:7;6905:6;6894:9;6890:22;6869:53;:::i;:::-;6859:63;;6814:118;6465:474;;;;;:::o;6945:182::-;7085:34;7081:1;7073:6;7069:14;7062:58;6945:182;:::o;7133:366::-;7275:3;7296:67;7360:2;7355:3;7296:67;:::i;:::-;7289:74;;7372:93;7461:3;7372:93;:::i;:::-;7490:2;7485:3;7481:12;7474:19;;7133:366;;;:::o;7505:419::-;7671:4;7709:2;7698:9;7694:18;7686:26;;7758:9;7752:4;7748:20;7744:1;7733:9;7729:17;7722:47;7786:131;7912:4;7786:131;:::i;:::-;7778:139;;7505:419;;;:::o;7930:173::-;8070:25;8066:1;8058:6;8054:14;8047:49;7930:173;:::o;8109:366::-;8251:3;8272:67;8336:2;8331:3;8272:67;:::i;:::-;8265:74;;8348:93;8437:3;8348:93;:::i;:::-;8466:2;8461:3;8457:12;8450:19;;8109:366;;;:::o;8481:419::-;8647:4;8685:2;8674:9;8670:18;8662:26;;8734:9;8728:4;8724:20;8720:1;8709:9;8705:17;8698:47;8762:131;8888:4;8762:131;:::i;:::-;8754:139;;8481:419;;;:::o;8906:143::-;8963:5;8994:6;8988:13;8979:22;;9010:33;9037:5;9010:33;:::i;:::-;8906:143;;;;:::o;9055:351::-;9125:6;9174:2;9162:9;9153:7;9149:23;9145:32;9142:119;;;9180:79;;:::i;:::-;9142:119;9300:1;9325:64;9381:7;9372:6;9361:9;9357:22;9325:64;:::i;:::-;9315:74;;9271:128;9055:351;;;;:::o;9412:332::-;9533:4;9571:2;9560:9;9556:18;9548:26;;9584:71;9652:1;9641:9;9637:17;9628:6;9584:71;:::i;:::-;9665:72;9733:2;9722:9;9718:18;9709:6;9665:72;:::i;:::-;9412:332;;;;;:::o;9750:85::-;9795:7;9824:5;9813:16;;9750:85;;;:::o;9841:60::-;9869:3;9890:5;9883:12;;9841:60;;;:::o;9907:158::-;9965:9;9998:61;10016:42;10025:32;10051:5;10025:32;:::i;:::-;10016:42;:::i;:::-;9998:61;:::i;:::-;9985:74;;9907:158;;;:::o;10071:147::-;10166:45;10205:5;10166:45;:::i;:::-;10161:3;10154:58;10071:147;;:::o;10224:807::-;10473:4;10511:3;10500:9;10496:19;10488:27;;10525:71;10593:1;10582:9;10578:17;10569:6;10525:71;:::i;:::-;10606:72;10674:2;10663:9;10659:18;10650:6;10606:72;:::i;:::-;10688:80;10764:2;10753:9;10749:18;10740:6;10688:80;:::i;:::-;10778;10854:2;10843:9;10839:18;10830:6;10778:80;:::i;:::-;10868:73;10936:3;10925:9;10921:19;10912:6;10868:73;:::i;:::-;10951;11019:3;11008:9;11004:19;10995:6;10951:73;:::i;:::-;10224:807;;;;;;;;;:::o;11037:143::-;11094:5;11125:6;11119:13;11110:22;;11141:33;11168:5;11141:33;:::i;:::-;11037:143;;;;:::o;11186:663::-;11274:6;11282;11290;11339:2;11327:9;11318:7;11314:23;11310:32;11307:119;;;11345:79;;:::i;:::-;11307:119;11465:1;11490:64;11546:7;11537:6;11526:9;11522:22;11490:64;:::i;:::-;11480:74;;11436:128;11603:2;11629:64;11685:7;11676:6;11665:9;11661:22;11629:64;:::i;:::-;11619:74;;11574:129;11742:2;11768:64;11824:7;11815:6;11804:9;11800:22;11768:64;:::i;:::-;11758:74;;11713:129;11186:663;;;;;:::o;11855:332::-;11976:4;12014:2;12003:9;11999:18;11991:26;;12027:71;12095:1;12084:9;12080:17;12071:6;12027:71;:::i;:::-;12108:72;12176:2;12165:9;12161:18;12152:6;12108:72;:::i;:::-;11855:332;;;;;:::o;12193:137::-;12247:5;12278:6;12272:13;12263:22;;12294:30;12318:5;12294:30;:::i;:::-;12193:137;;;;:::o;12336:345::-;12403:6;12452:2;12440:9;12431:7;12427:23;12423:32;12420:119;;;12458:79;;:::i;:::-;12420:119;12578:1;12603:61;12656:7;12647:6;12636:9;12632:22;12603:61;:::i;:::-;12593:71;;12549:125;12336:345;;;;:::o;12687:180::-;12735:77;12732:1;12725:88;12832:4;12829:1;12822:15;12856:4;12853:1;12846:15;12873:410;12913:7;12936:20;12954:1;12936:20;:::i;:::-;12931:25;;12970:20;12988:1;12970:20;:::i;:::-;12965:25;;13025:1;13022;13018:9;13047:30;13065:11;13047:30;:::i;:::-;13036:41;;13226:1;13217:7;13213:15;13210:1;13207:22;13187:1;13180:9;13160:83;13137:139;;13256:18;;:::i;:::-;13137:139;12921:362;12873:410;;;;:::o;13289:180::-;13337:77;13334:1;13327:88;13434:4;13431:1;13424:15;13458:4;13455:1;13448:15;13475:185;13515:1;13532:20;13550:1;13532:20;:::i;:::-;13527:25;;13566:20;13584:1;13566:20;:::i;:::-;13561:25;;13605:1;13595:35;;13610:18;;:::i;:::-;13595:35;13652:1;13649;13645:9;13640:14;;13475:185;;;;:::o;13666:220::-;13806:34;13802:1;13794:6;13790:14;13783:58;13875:3;13870:2;13862:6;13858:15;13851:28;13666:220;:::o;13892:366::-;14034:3;14055:67;14119:2;14114:3;14055:67;:::i;:::-;14048:74;;14131:93;14220:3;14131:93;:::i;:::-;14249:2;14244:3;14240:12;14233:19;;13892:366;;;:::o;14264:419::-;14430:4;14468:2;14457:9;14453:18;14445:26;;14517:9;14511:4;14507:20;14503:1;14492:9;14488:17;14481:47;14545:131;14671:4;14545:131;:::i;:::-;14537:139;;14264:419;;;:::o;14689:223::-;14829:34;14825:1;14817:6;14813:14;14806:58;14898:6;14893:2;14885:6;14881:15;14874:31;14689:223;:::o;14918:366::-;15060:3;15081:67;15145:2;15140:3;15081:67;:::i;:::-;15074:74;;15157:93;15246:3;15157:93;:::i;:::-;15275:2;15270:3;15266:12;15259:19;;14918:366;;;:::o;15290:419::-;15456:4;15494:2;15483:9;15479:18;15471:26;;15543:9;15537:4;15533:20;15529:1;15518:9;15514:17;15507:47;15571:131;15697:4;15571:131;:::i;:::-;15563:139;;15290:419;;;:::o;15715:221::-;15855:34;15851:1;15843:6;15839:14;15832:58;15924:4;15919:2;15911:6;15907:15;15900:29;15715:221;:::o;15942:366::-;16084:3;16105:67;16169:2;16164:3;16105:67;:::i;:::-;16098:74;;16181:93;16270:3;16181:93;:::i;:::-;16299:2;16294:3;16290:12;16283:19;;15942:366;;;:::o;16314:419::-;16480:4;16518:2;16507:9;16503:18;16495:26;;16567:9;16561:4;16557:20;16553:1;16542:9;16538:17;16531:47;16595:131;16721:4;16595:131;:::i;:::-;16587:139;;16314:419;;;:::o;16739:224::-;16879:34;16875:1;16867:6;16863:14;16856:58;16948:7;16943:2;16935:6;16931:15;16924:32;16739:224;:::o;16969:366::-;17111:3;17132:67;17196:2;17191:3;17132:67;:::i;:::-;17125:74;;17208:93;17297:3;17208:93;:::i;:::-;17326:2;17321:3;17317:12;17310:19;;16969:366;;;:::o;17341:419::-;17507:4;17545:2;17534:9;17530:18;17522:26;;17594:9;17588:4;17584:20;17580:1;17569:9;17565:17;17558:47;17622:131;17748:4;17622:131;:::i;:::-;17614:139;;17341:419;;;:::o;17766:222::-;17906:34;17902:1;17894:6;17890:14;17883:58;17975:5;17970:2;17962:6;17958:15;17951:30;17766:222;:::o;17994:366::-;18136:3;18157:67;18221:2;18216:3;18157:67;:::i;:::-;18150:74;;18233:93;18322:3;18233:93;:::i;:::-;18351:2;18346:3;18342:12;18335:19;;17994:366;;;:::o;18366:419::-;18532:4;18570:2;18559:9;18555:18;18547:26;;18619:9;18613:4;18609:20;18605:1;18594:9;18590:17;18583:47;18647:131;18773:4;18647:131;:::i;:::-;18639:139;;18366:419;;;:::o;18791:228::-;18931:34;18927:1;18919:6;18915:14;18908:58;19000:11;18995:2;18987:6;18983:15;18976:36;18791:228;:::o;19025:366::-;19167:3;19188:67;19252:2;19247:3;19188:67;:::i;:::-;19181:74;;19264:93;19353:3;19264:93;:::i;:::-;19382:2;19377:3;19373:12;19366:19;;19025:366;;;:::o;19397:419::-;19563:4;19601:2;19590:9;19586:18;19578:26;;19650:9;19644:4;19640:20;19636:1;19625:9;19621:17;19614:47;19678:131;19804:4;19678:131;:::i;:::-;19670:139;;19397:419;;;:::o;19822:175::-;19962:27;19958:1;19950:6;19946:14;19939:51;19822:175;:::o;20003:366::-;20145:3;20166:67;20230:2;20225:3;20166:67;:::i;:::-;20159:74;;20242:93;20331:3;20242:93;:::i;:::-;20360:2;20355:3;20351:12;20344:19;;20003:366;;;:::o;20375:419::-;20541:4;20579:2;20568:9;20564:18;20556:26;;20628:9;20622:4;20618:20;20614:1;20603:9;20599:17;20592:47;20656:131;20782:4;20656:131;:::i;:::-;20648:139;;20375:419;;;:::o;20800:191::-;20840:3;20859:20;20877:1;20859:20;:::i;:::-;20854:25;;20893:20;20911:1;20893:20;:::i;:::-;20888:25;;20936:1;20933;20929:9;20922:16;;20957:3;20954:1;20951:10;20948:36;;;20964:18;;:::i;:::-;20948:36;20800:191;;;;:::o;20997:176::-;21137:28;21133:1;21125:6;21121:14;21114:52;20997:176;:::o;21179:366::-;21321:3;21342:67;21406:2;21401:3;21342:67;:::i;:::-;21335:74;;21418:93;21507:3;21418:93;:::i;:::-;21536:2;21531:3;21527:12;21520:19;;21179:366;;;:::o;21551:419::-;21717:4;21755:2;21744:9;21740:18;21732:26;;21804:9;21798:4;21794:20;21790:1;21779:9;21775:17;21768:47;21832:131;21958:4;21832:131;:::i;:::-;21824:139;;21551:419;;;:::o;21976:194::-;22016:4;22036:20;22054:1;22036:20;:::i;:::-;22031:25;;22070:20;22088:1;22070:20;:::i;:::-;22065:25;;22114:1;22111;22107:9;22099:17;;22138:1;22132:4;22129:11;22126:37;;;22143:18;;:::i;:::-;22126:37;21976:194;;;;:::o;22176:229::-;22316:34;22312:1;22304:6;22300:14;22293:58;22385:12;22380:2;22372:6;22368:15;22361:37;22176:229;:::o;22411:366::-;22553:3;22574:67;22638:2;22633:3;22574:67;:::i;:::-;22567:74;;22650:93;22739:3;22650:93;:::i;:::-;22768:2;22763:3;22759:12;22752:19;;22411:366;;;:::o;22783:419::-;22949:4;22987:2;22976:9;22972:18;22964:26;;23036:9;23030:4;23026:20;23022:1;23011:9;23007:17;23000:47;23064:131;23190:4;23064:131;:::i;:::-;23056:139;;22783:419;;;:::o;23208:180::-;23256:77;23253:1;23246:88;23353:4;23350:1;23343:15;23377:4;23374:1;23367:15;23394:180;23442:77;23439:1;23432:88;23539:4;23536:1;23529:15;23563:4;23560:1;23553:15;23580:114;23647:6;23681:5;23675:12;23665:22;;23580:114;;;:::o;23700:184::-;23799:11;23833:6;23828:3;23821:19;23873:4;23868:3;23864:14;23849:29;;23700:184;;;;:::o;23890:132::-;23957:4;23980:3;23972:11;;24010:4;24005:3;24001:14;23993:22;;23890:132;;;:::o;24028:108::-;24105:24;24123:5;24105:24;:::i;:::-;24100:3;24093:37;24028:108;;:::o;24142:179::-;24211:10;24232:46;24274:3;24266:6;24232:46;:::i;:::-;24310:4;24305:3;24301:14;24287:28;;24142:179;;;;:::o;24327:113::-;24397:4;24429;24424:3;24420:14;24412:22;;24327:113;;;:::o;24476:732::-;24595:3;24624:54;24672:5;24624:54;:::i;:::-;24694:86;24773:6;24768:3;24694:86;:::i;:::-;24687:93;;24804:56;24854:5;24804:56;:::i;:::-;24883:7;24914:1;24899:284;24924:6;24921:1;24918:13;24899:284;;;25000:6;24994:13;25027:63;25086:3;25071:13;25027:63;:::i;:::-;25020:70;;25113:60;25166:6;25113:60;:::i;:::-;25103:70;;24959:224;24946:1;24943;24939:9;24934:14;;24899:284;;;24903:14;25199:3;25192:10;;24600:608;;;24476:732;;;;:::o;25214:831::-;25477:4;25515:3;25504:9;25500:19;25492:27;;25529:71;25597:1;25586:9;25582:17;25573:6;25529:71;:::i;:::-;25610:80;25686:2;25675:9;25671:18;25662:6;25610:80;:::i;:::-;25737:9;25731:4;25727:20;25722:2;25711:9;25707:18;25700:48;25765:108;25868:4;25859:6;25765:108;:::i;:::-;25757:116;;25883:72;25951:2;25940:9;25936:18;25927:6;25883:72;:::i;:::-;25965:73;26033:3;26022:9;26018:19;26009:6;25965:73;:::i;:::-;25214:831;;;;;;;;:::o;26051:177::-;26191:29;26187:1;26179:6;26175:14;26168:53;26051:177;:::o;26234:366::-;26376:3;26397:67;26461:2;26456:3;26397:67;:::i;:::-;26390:74;;26473:93;26562:3;26473:93;:::i;:::-;26591:2;26586:3;26582:12;26575:19;;26234:366;;;:::o;26606:419::-;26772:4;26810:2;26799:9;26795:18;26787:26;;26859:9;26853:4;26849:20;26845:1;26834:9;26830:17;26823:47;26887:131;27013:4;26887:131;:::i;:::-;26879:139;;26606:419;;;:::o

Swarm Source

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