ETH Price: $3,355.96 (-2.82%)
Gas: 4 Gwei

Token

Planet Of The Vapes (vape)
 

Overview

Max Total Supply

77,777,777,777 vape

Holders

203

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
50,746,788.707988257 vape

Value
$0.00
0x5363F953B91dE4Db819B022eE61c2c48B4fb3b54
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:
vape

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/*

Planet Of The Vapes

Planet Of The Vapes ($vape)

PORTAL:  https://t.me/PlanetoftheVapePortal
WEBSITE: https://planetofthevapes.xyz/
TWITTER: https://twitter.com/Planet_of_Vapes

Planet Of The Vapes

*/

// SPDX-License-Identifier: NONE

pragma solidity 0.8.18;

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

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

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

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

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

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

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

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

}

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

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

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

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

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

}

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

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

contract vape is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = false;
    address payable private _taxWallet;
    address payable private _marketingCEXWallet;  
    uint256 private _initialBuyTax=25;
    uint256 private _initialSellTax=25;
    uint256 private _finalBuyTax=1;
    uint256 private _finalSellTax=1;
    uint256 public _reduceBuyTaxAt=69;
    uint256 public _reduceSellTaxAt=69;
    uint256 private _preventSwapBefore=20;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 77777777777 * 10**_decimals; 
    string private constant _name = unicode"Planet Of The Vapes";
    string private constant _symbol = unicode"vape";

    uint256 public _maxTxAmount =  _tTotal; 
    uint256 public _maxWalletSize =  _tTotal;
    uint256 public _taxSwapThreshold = (_tTotal * 8) / 1000;  // 0.8% of total supply
    uint256 public _maxTaxSwap = (_tTotal * 8) / 1000;  // 0.8% of total supply

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

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

   constructor(address payable marketingCEXWallet_) {
        require(marketingCEXWallet_ != address(0), "Invalid address for marketing wallet");

        _taxWallet = payable(_msgSender());
        _marketingCEXWallet = marketingCEXWallet_;  // Initialize marketing CEX wallet address from constructor argument

        uint256 liquiditySupply = _tTotal.mul(950).div(1000); // 95% for liquidity
        uint256 marketingSupply = _tTotal.mul(50).div(1000); // 5% for marketing

        _balances[_msgSender()] = _tTotal.sub(liquiditySupply).sub(marketingSupply);
        _balances[address(this)] = liquiditySupply; // Tokens in contract for liquidity
        _balances[_marketingCEXWallet] = marketingSupply; // Tokens for marketing CEX wallet

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;
        _isExcludedFromFee[_marketingCEXWallet] = true;  // Exclude marketing CEX wallet from fee

        emit Transfer(address(0), _msgSender(), _balances[_msgSender()]);
        emit Transfer(address(0), address(this), liquiditySupply);
        emit Transfer(address(0), _marketingCEXWallet, marketingSupply);
    }


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

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

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

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

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

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

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

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

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

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);

            if (transferDelayEnabled) {
                if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                  require(_holderLastTransferTimestamp[tx.origin] < block.number,"Only one transfer per block allowed.");
                  _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }

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


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

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

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


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

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        if(tokenAmount==0){return;}
        if(!tradingOpen){return;}
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
        _reduceSellTaxAt=10;
        _reduceBuyTaxAt=10;
        emit MaxTxAmountUpdated(_tTotal);
    }

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

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

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

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }
    function setBuySellTax(uint256 newBuyTax, uint256 newSellTax) external onlyOwner() {
        _initialBuyTax = newBuyTax;
        _initialSellTax = newSellTax;
    }

    function setMaxWalletSize(uint256 newMaxWalletSize) external onlyOwner() {
        _maxWalletSize = newMaxWalletSize;
    }

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

    function delBots(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }
    
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"marketingCEXWallet_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_reduceBuyTaxAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_reduceSellTaxAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"setBuySellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"vapeIt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526000600660006101000a81548160ff021916908315150217905550601960085560196009556001600a556001600b556045600c556045600d556014600e556000600f556009600a62000057919062000c6d565b64121beab47162000069919062000cbe565b6010556009600a6200007c919062000c6d565b64121beab4716200008e919062000cbe565b6011556103e860086009600a620000a6919062000c6d565b64121beab471620000b8919062000cbe565b620000c4919062000cbe565b620000d0919062000d38565b6012556103e860086009600a620000e8919062000c6d565b64121beab471620000fa919062000cbe565b62000106919062000cbe565b62000112919062000d38565b60135560006015806101000a81548160ff0219169083151502179055506000601560166101000a81548160ff0219169083151502179055503480156200015757600080fd5b506040516200490e3803806200490e83398181016040528101906200017d919062000dda565b60006200018f620008aa60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200029f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002969062000e93565b60405180910390fd5b620002af620008aa60201b60201c565b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006200038a6103e8620003766103b66009600a62000350919062000c6d565b64121beab47162000362919062000cbe565b620008b260201b620015671790919060201c565b6200093560201b620015e11790919060201c565b90506000620003e56103e8620003d160326009600a620003ab919062000c6d565b64121beab471620003bd919062000cbe565b620008b260201b620015671790919060201c565b6200093560201b620015e11790919060201c565b90506200043b8162000427846009600a62000401919062000c6d565b64121beab47162000413919062000cbe565b6200098760201b6200162b1790919060201c565b6200098760201b6200162b1790919060201c565b600160006200044f620008aa60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508060016000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360006200054d620009d960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620006fa620008aa60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600160006200075d620008aa60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051620007a7919062000ec6565b60405180910390a33073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516200080f919062000ec6565b60405180910390a3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000899919062000ec6565b60405180910390a350505062001063565b600033905090565b6000808303620008c657600090506200092f565b60008284620008d6919062000cbe565b9050828482620008e7919062000d38565b146200092a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009219062000f59565b60405180910390fd5b809150505b92915050565b60006200097f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000a0260201b60201c565b905092915050565b6000620009d183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525062000a6a60201b60201c565b905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000808311829062000a4c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a43919062001004565b60405180910390fd5b506000838562000a5d919062000d38565b9050809150509392505050565b600083831115829062000ab5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000aac919062001004565b60405180910390fd5b506000838562000ac6919062001028565b9050809150509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000b615780860481111562000b395762000b3862000ad3565b5b600185161562000b495780820291505b808102905062000b598562000b02565b945062000b19565b94509492505050565b60008262000b7c576001905062000c4f565b8162000b8c576000905062000c4f565b816001811462000ba5576002811462000bb05762000be6565b600191505062000c4f565b60ff84111562000bc55762000bc462000ad3565b5b8360020a91508482111562000bdf5762000bde62000ad3565b5b5062000c4f565b5060208310610133831016604e8410600b841016171562000c205782820a90508381111562000c1a5762000c1962000ad3565b5b62000c4f565b62000c2f848484600162000b0f565b9250905081840481111562000c495762000c4862000ad3565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000c7a8262000c56565b915062000c878362000c60565b925062000cb67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000b6a565b905092915050565b600062000ccb8262000c56565b915062000cd88362000c56565b925082820262000ce88162000c56565b9150828204841483151762000d025762000d0162000ad3565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000d458262000c56565b915062000d528362000c56565b92508262000d655762000d6462000d09565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000da28262000d75565b9050919050565b62000db48162000d95565b811462000dc057600080fd5b50565b60008151905062000dd48162000da9565b92915050565b60006020828403121562000df35762000df262000d70565b5b600062000e038482850162000dc3565b91505092915050565b600082825260208201905092915050565b7f496e76616c6964206164647265737320666f72206d61726b6574696e6720776160008201527f6c6c657400000000000000000000000000000000000000000000000000000000602082015250565b600062000e7b60248362000e0c565b915062000e888262000e1d565b604082019050919050565b6000602082019050818103600083015262000eae8162000e6c565b9050919050565b62000ec08162000c56565b82525050565b600060208201905062000edd600083018462000eb5565b92915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600062000f4160218362000e0c565b915062000f4e8262000ee3565b604082019050919050565b6000602082019050818103600083015262000f748162000f32565b9050919050565b600081519050919050565b60005b8381101562000fa657808201518184015260208101905062000f89565b60008484015250505050565b6000601f19601f8301169050919050565b600062000fd08262000f7b565b62000fdc818562000e0c565b935062000fee81856020860162000f86565b62000ff98162000fb2565b840191505092915050565b6000602082019050818103600083015262001020818462000fc3565b905092915050565b6000620010358262000c56565b9150620010428362000c56565b92508282039050818111156200105d576200105c62000ad3565b5b92915050565b61389b80620010736000396000f3fe6080604052600436106101855760003560e01c80637d1db4a5116100d1578063c36956a01161008a578063d34628cc11610064578063d34628cc1461054b578063dc40c6c614610574578063dd62ed3e1461059d578063ea1644d5146105da5761018c565b8063c36956a0146104de578063c876d0b914610509578063cae6a3e0146105345761018c565b80637d1db4a5146103ca5780638da5cb5b146103f55780638f9a55c01461042057806395d89b411461044b578063a9059cbb14610476578063bf474bed146104b35761018c565b8063313ce5671161013e57806351bc3c851161011857806351bc3c851461034857806370a082311461035f578063715018a61461039c578063751039fc146103b35761018c565b8063313ce567146102b757806331c2d847146102e25780633bbac5791461030b5761018c565b806306fdde0314610191578063095ea7b3146101bc5780630c193045146101f95780630faee56f1461022457806318160ddd1461024f57806323b872dd1461027a5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a6610603565b6040516101b39190612759565b60405180910390f35b3480156101c857600080fd5b506101e360048036038101906101de9190612823565b610640565b6040516101f0919061287e565b60405180910390f35b34801561020557600080fd5b5061020e61065e565b60405161021b91906128a8565b60405180910390f35b34801561023057600080fd5b50610239610664565b60405161024691906128a8565b60405180910390f35b34801561025b57600080fd5b5061026461066a565b60405161027191906128a8565b60405180910390f35b34801561028657600080fd5b506102a1600480360381019061029c91906128c3565b61068f565b6040516102ae919061287e565b60405180910390f35b3480156102c357600080fd5b506102cc610768565b6040516102d99190612932565b60405180910390f35b3480156102ee57600080fd5b5061030960048036038101906103049190612a95565b610771565b005b34801561031757600080fd5b50610332600480360381019061032d9190612ade565b61089b565b60405161033f919061287e565b60405180910390f35b34801561035457600080fd5b5061035d6108f1565b005b34801561036b57600080fd5b5061038660048036038101906103819190612ade565b61098e565b60405161039391906128a8565b60405180910390f35b3480156103a857600080fd5b506103b16109d7565b005b3480156103bf57600080fd5b506103c8610b2a565b005b3480156103d657600080fd5b506103df610c88565b6040516103ec91906128a8565b60405180910390f35b34801561040157600080fd5b5061040a610c8e565b6040516104179190612b1a565b60405180910390f35b34801561042c57600080fd5b50610435610cb7565b60405161044291906128a8565b60405180910390f35b34801561045757600080fd5b50610460610cbd565b60405161046d9190612759565b60405180910390f35b34801561048257600080fd5b5061049d60048036038101906104989190612823565b610cfa565b6040516104aa919061287e565b60405180910390f35b3480156104bf57600080fd5b506104c8610d18565b6040516104d591906128a8565b60405180910390f35b3480156104ea57600080fd5b506104f3610d1e565b60405161050091906128a8565b60405180910390f35b34801561051557600080fd5b5061051e610d24565b60405161052b919061287e565b60405180910390f35b34801561054057600080fd5b50610549610d37565b005b34801561055757600080fd5b50610572600480360381019061056d9190612a95565b611270565b005b34801561058057600080fd5b5061059b60048036038101906105969190612b35565b61139a565b005b3480156105a957600080fd5b506105c460048036038101906105bf9190612b75565b611441565b6040516105d191906128a8565b60405180910390f35b3480156105e657600080fd5b5061060160048036038101906105fc9190612bb5565b6114c8565b005b60606040518060400160405280601381526020017f506c616e6574204f662054686520566170657300000000000000000000000000815250905090565b600061065461064d611675565b848461167d565b6001905092915050565b600c5481565b60135481565b60006009600a61067a9190612d44565b64121beab47161068a9190612d8f565b905090565b600061069c848484611846565b61075d846106a8611675565b6107588560405180606001604052806028815260200161383e60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061070e611675565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122899092919063ffffffff16565b61167d565b600190509392505050565b60006009905090565b610779611675565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610806576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107fd90612e1d565b60405180910390fd5b60005b81518110156108975760006004600084848151811061082b5761082a612e3d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061088f90612e6c565b915050610809565b5050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610932611675565b73ffffffffffffffffffffffffffffffffffffffff161461095257600080fd5b600061095d3061098e565b9050600081111561097257610971816122ed565b5b6000479050600081111561098a5761098981612583565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109df611675565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6390612e1d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610b32611675565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb690612e1d565b60405180910390fd5b6009600a610bcd9190612d44565b64121beab471610bdd9190612d8f565b6010819055506009600a610bf19190612d44565b64121beab471610c019190612d8f565b6011819055506000600660006101000a81548160ff021916908315150217905550600a600d81905550600a600c819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610c619190612d44565b64121beab471610c719190612d8f565b604051610c7e91906128a8565b60405180910390a1565b60105481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600481526020017f7661706500000000000000000000000000000000000000000000000000000000815250905090565b6000610d0e610d07611675565b8484611846565b6001905092915050565b60125481565b600d5481565b600660009054906101000a900460ff1681565b610d3f611675565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc390612e1d565b60405180910390fd5b601560149054906101000a900460ff1615610e1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1390612f00565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ebb30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610ea69190612d44565b64121beab471610eb69190612d8f565b61167d565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4c9190612f35565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff99190612f35565b6040518363ffffffff1660e01b8152600401611016929190612f62565b6020604051808303816000875af1158015611035573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110599190612f35565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110e23061098e565b6000806110ed610c8e565b426040518863ffffffff1660e01b815260040161110f96959493929190612fd0565b60606040518083038185885af115801561112d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111529190613046565b505050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016111f4929190613099565b6020604051808303816000875af1158015611213573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123791906130ee565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff021916908315150217905550565b611278611675565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611305576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fc90612e1d565b60405180910390fd5b60005b81518110156113965760016004600084848151811061132a57611329612e3d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061138e90612e6c565b915050611308565b5050565b6113a2611675565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461142f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142690612e1d565b60405180910390fd5b81600881905550806009819055505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6114d0611675565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461155d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155490612e1d565b60405180910390fd5b8060118190555050565b600080830361157957600090506115db565b600082846115879190612d8f565b9050828482611596919061314a565b146115d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115cd906131ed565b60405180910390fd5b809150505b92915050565b600061162383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506125ef565b905092915050565b600061166d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612289565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e39061327f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361175b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175290613311565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161183991906128a8565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ac906133a3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191b90613435565b60405180910390fd5b60008111611967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195e906134c7565b60405180910390fd5b6000611971610c8e565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156119df57506119af610c8e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611fcc57600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a885750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611a9157600080fd5b600660009054906101000a900460ff1615611c1e57601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611b525750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611c1d5743600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611bd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bcf90613559565b60405180910390fd5b43600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611cc95750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611d1f5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611dda57601054821115611d69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d60906135c5565b60405180910390fd5b60115482611d768561098e565b611d8091906135e5565b1115611dc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db890613665565b60405180910390fd5b600f6000815480929190611dd490612e6c565b91905055505b611e166064611e08600c54600f5411611df557600854611df9565b600a545b8561156790919063ffffffff16565b6115e190919063ffffffff16565b9050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611ea157503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611ee557611ee26064611ed4600d54600f5411611ec157600954611ec5565b600b545b8561156790919063ffffffff16565b6115e190919063ffffffff16565b90505b6000611ef03061098e565b905060158054906101000a900460ff16158015611f5a5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611f725750601560169054906101000a900460ff165b8015611f7f575060125481115b8015611f8e5750600e54600f54115b15611fca57611fb0611fab84611fa684601354612652565b612652565b6122ed565b60004790506000811115611fc857611fc747612583565b5b505b505b60008111156120d05761202781600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266b90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516120c791906128a8565b60405180910390a35b61212282600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461162b90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506121c961217b828461162b90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266b90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61226e848661162b90919063ffffffff16565b60405161227b91906128a8565b60405180910390a350505050565b60008383111582906122d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122c89190612759565b60405180910390fd5b50600083856122e09190613685565b9050809150509392505050565b60016015806101000a81548160ff021916908315150217905550600081031561256657601560149054906101000a900460ff1615612566576000600267ffffffffffffffff81111561234257612341612952565b5b6040519080825280602002602001820160405280156123705781602001602082028036833780820191505090505b509050308160008151811061238857612387612e3d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561242f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124539190612f35565b8160018151811061246757612466612e3d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506124ce30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461167d565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612532959493929190613777565b600060405180830381600087803b15801561254c57600080fd5b505af1158015612560573d6000803e3d6000fd5b50505050505b60006015806101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156125eb573d6000803e3d6000fd5b5050565b60008083118290612636576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161262d9190612759565b60405180910390fd5b5060008385612645919061314a565b9050809150509392505050565b60008183116126615782612663565b815b905092915050565b600080828461267a91906135e5565b9050838110156126bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126b69061381d565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156127035780820151818401526020810190506126e8565b60008484015250505050565b6000601f19601f8301169050919050565b600061272b826126c9565b61273581856126d4565b93506127458185602086016126e5565b61274e8161270f565b840191505092915050565b600060208201905081810360008301526127738184612720565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006127ba8261278f565b9050919050565b6127ca816127af565b81146127d557600080fd5b50565b6000813590506127e7816127c1565b92915050565b6000819050919050565b612800816127ed565b811461280b57600080fd5b50565b60008135905061281d816127f7565b92915050565b6000806040838503121561283a57612839612785565b5b6000612848858286016127d8565b92505060206128598582860161280e565b9150509250929050565b60008115159050919050565b61287881612863565b82525050565b6000602082019050612893600083018461286f565b92915050565b6128a2816127ed565b82525050565b60006020820190506128bd6000830184612899565b92915050565b6000806000606084860312156128dc576128db612785565b5b60006128ea868287016127d8565b93505060206128fb868287016127d8565b925050604061290c8682870161280e565b9150509250925092565b600060ff82169050919050565b61292c81612916565b82525050565b60006020820190506129476000830184612923565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61298a8261270f565b810181811067ffffffffffffffff821117156129a9576129a8612952565b5b80604052505050565b60006129bc61277b565b90506129c88282612981565b919050565b600067ffffffffffffffff8211156129e8576129e7612952565b5b602082029050602081019050919050565b600080fd5b6000612a11612a0c846129cd565b6129b2565b90508083825260208201905060208402830185811115612a3457612a336129f9565b5b835b81811015612a5d5780612a4988826127d8565b845260208401935050602081019050612a36565b5050509392505050565b600082601f830112612a7c57612a7b61294d565b5b8135612a8c8482602086016129fe565b91505092915050565b600060208284031215612aab57612aaa612785565b5b600082013567ffffffffffffffff811115612ac957612ac861278a565b5b612ad584828501612a67565b91505092915050565b600060208284031215612af457612af3612785565b5b6000612b02848285016127d8565b91505092915050565b612b14816127af565b82525050565b6000602082019050612b2f6000830184612b0b565b92915050565b60008060408385031215612b4c57612b4b612785565b5b6000612b5a8582860161280e565b9250506020612b6b8582860161280e565b9150509250929050565b60008060408385031215612b8c57612b8b612785565b5b6000612b9a858286016127d8565b9250506020612bab858286016127d8565b9150509250929050565b600060208284031215612bcb57612bca612785565b5b6000612bd98482850161280e565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612c6857808604811115612c4457612c43612be2565b5b6001851615612c535780820291505b8081029050612c6185612c11565b9450612c28565b94509492505050565b600082612c815760019050612d3d565b81612c8f5760009050612d3d565b8160018114612ca55760028114612caf57612cde565b6001915050612d3d565b60ff841115612cc157612cc0612be2565b5b8360020a915084821115612cd857612cd7612be2565b5b50612d3d565b5060208310610133831016604e8410600b8410161715612d135782820a905083811115612d0e57612d0d612be2565b5b612d3d565b612d208484846001612c1e565b92509050818404811115612d3757612d36612be2565b5b81810290505b9392505050565b6000612d4f826127ed565b9150612d5a83612916565b9250612d877fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612c71565b905092915050565b6000612d9a826127ed565b9150612da5836127ed565b9250828202612db3816127ed565b91508282048414831517612dca57612dc9612be2565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612e076020836126d4565b9150612e1282612dd1565b602082019050919050565b60006020820190508181036000830152612e3681612dfa565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612e77826127ed565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ea957612ea8612be2565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612eea6017836126d4565b9150612ef582612eb4565b602082019050919050565b60006020820190508181036000830152612f1981612edd565b9050919050565b600081519050612f2f816127c1565b92915050565b600060208284031215612f4b57612f4a612785565b5b6000612f5984828501612f20565b91505092915050565b6000604082019050612f776000830185612b0b565b612f846020830184612b0b565b9392505050565b6000819050919050565b6000819050919050565b6000612fba612fb5612fb084612f8b565b612f95565b6127ed565b9050919050565b612fca81612f9f565b82525050565b600060c082019050612fe56000830189612b0b565b612ff26020830188612899565b612fff6040830187612fc1565b61300c6060830186612fc1565b6130196080830185612b0b565b61302660a0830184612899565b979650505050505050565b600081519050613040816127f7565b92915050565b60008060006060848603121561305f5761305e612785565b5b600061306d86828701613031565b935050602061307e86828701613031565b925050604061308f86828701613031565b9150509250925092565b60006040820190506130ae6000830185612b0b565b6130bb6020830184612899565b9392505050565b6130cb81612863565b81146130d657600080fd5b50565b6000815190506130e8816130c2565b92915050565b60006020828403121561310457613103612785565b5b6000613112848285016130d9565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613155826127ed565b9150613160836127ed565b9250826131705761316f61311b565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006131d76021836126d4565b91506131e28261317b565b604082019050919050565b60006020820190508181036000830152613206816131ca565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006132696024836126d4565b91506132748261320d565b604082019050919050565b600060208201905081810360008301526132988161325c565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006132fb6022836126d4565b91506133068261329f565b604082019050919050565b6000602082019050818103600083015261332a816132ee565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061338d6025836126d4565b915061339882613331565b604082019050919050565b600060208201905081810360008301526133bc81613380565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061341f6023836126d4565b915061342a826133c3565b604082019050919050565b6000602082019050818103600083015261344e81613412565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006134b16029836126d4565b91506134bc82613455565b604082019050919050565b600060208201905081810360008301526134e0816134a4565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f60008201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b60006135436024836126d4565b915061354e826134e7565b604082019050919050565b6000602082019050818103600083015261357281613536565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006135af6019836126d4565b91506135ba82613579565b602082019050919050565b600060208201905081810360008301526135de816135a2565b9050919050565b60006135f0826127ed565b91506135fb836127ed565b925082820190508082111561361357613612612be2565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b600061364f601a836126d4565b915061365a82613619565b602082019050919050565b6000602082019050818103600083015261367e81613642565b9050919050565b6000613690826127ed565b915061369b836127ed565b92508282039050818111156136b3576136b2612be2565b5b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6136ee816127af565b82525050565b600061370083836136e5565b60208301905092915050565b6000602082019050919050565b6000613724826136b9565b61372e81856136c4565b9350613739836136d5565b8060005b8381101561376a57815161375188826136f4565b975061375c8361370c565b92505060018101905061373d565b5085935050505092915050565b600060a08201905061378c6000830188612899565b6137996020830187612fc1565b81810360408301526137ab8186613719565b90506137ba6060830185612b0b565b6137c76080830184612899565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613807601b836126d4565b9150613812826137d1565b602082019050919050565b60006020820190508181036000830152613836816137fa565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207339bf52ea291e94b4463cf44084c8b81c7cda659652c3b6a578a364de084cfa64736f6c63430008120033000000000000000000000000b97af93402b6251b47446b5712a10f16d92c817f

Deployed Bytecode

0x6080604052600436106101855760003560e01c80637d1db4a5116100d1578063c36956a01161008a578063d34628cc11610064578063d34628cc1461054b578063dc40c6c614610574578063dd62ed3e1461059d578063ea1644d5146105da5761018c565b8063c36956a0146104de578063c876d0b914610509578063cae6a3e0146105345761018c565b80637d1db4a5146103ca5780638da5cb5b146103f55780638f9a55c01461042057806395d89b411461044b578063a9059cbb14610476578063bf474bed146104b35761018c565b8063313ce5671161013e57806351bc3c851161011857806351bc3c851461034857806370a082311461035f578063715018a61461039c578063751039fc146103b35761018c565b8063313ce567146102b757806331c2d847146102e25780633bbac5791461030b5761018c565b806306fdde0314610191578063095ea7b3146101bc5780630c193045146101f95780630faee56f1461022457806318160ddd1461024f57806323b872dd1461027a5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a6610603565b6040516101b39190612759565b60405180910390f35b3480156101c857600080fd5b506101e360048036038101906101de9190612823565b610640565b6040516101f0919061287e565b60405180910390f35b34801561020557600080fd5b5061020e61065e565b60405161021b91906128a8565b60405180910390f35b34801561023057600080fd5b50610239610664565b60405161024691906128a8565b60405180910390f35b34801561025b57600080fd5b5061026461066a565b60405161027191906128a8565b60405180910390f35b34801561028657600080fd5b506102a1600480360381019061029c91906128c3565b61068f565b6040516102ae919061287e565b60405180910390f35b3480156102c357600080fd5b506102cc610768565b6040516102d99190612932565b60405180910390f35b3480156102ee57600080fd5b5061030960048036038101906103049190612a95565b610771565b005b34801561031757600080fd5b50610332600480360381019061032d9190612ade565b61089b565b60405161033f919061287e565b60405180910390f35b34801561035457600080fd5b5061035d6108f1565b005b34801561036b57600080fd5b5061038660048036038101906103819190612ade565b61098e565b60405161039391906128a8565b60405180910390f35b3480156103a857600080fd5b506103b16109d7565b005b3480156103bf57600080fd5b506103c8610b2a565b005b3480156103d657600080fd5b506103df610c88565b6040516103ec91906128a8565b60405180910390f35b34801561040157600080fd5b5061040a610c8e565b6040516104179190612b1a565b60405180910390f35b34801561042c57600080fd5b50610435610cb7565b60405161044291906128a8565b60405180910390f35b34801561045757600080fd5b50610460610cbd565b60405161046d9190612759565b60405180910390f35b34801561048257600080fd5b5061049d60048036038101906104989190612823565b610cfa565b6040516104aa919061287e565b60405180910390f35b3480156104bf57600080fd5b506104c8610d18565b6040516104d591906128a8565b60405180910390f35b3480156104ea57600080fd5b506104f3610d1e565b60405161050091906128a8565b60405180910390f35b34801561051557600080fd5b5061051e610d24565b60405161052b919061287e565b60405180910390f35b34801561054057600080fd5b50610549610d37565b005b34801561055757600080fd5b50610572600480360381019061056d9190612a95565b611270565b005b34801561058057600080fd5b5061059b60048036038101906105969190612b35565b61139a565b005b3480156105a957600080fd5b506105c460048036038101906105bf9190612b75565b611441565b6040516105d191906128a8565b60405180910390f35b3480156105e657600080fd5b5061060160048036038101906105fc9190612bb5565b6114c8565b005b60606040518060400160405280601381526020017f506c616e6574204f662054686520566170657300000000000000000000000000815250905090565b600061065461064d611675565b848461167d565b6001905092915050565b600c5481565b60135481565b60006009600a61067a9190612d44565b64121beab47161068a9190612d8f565b905090565b600061069c848484611846565b61075d846106a8611675565b6107588560405180606001604052806028815260200161383e60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061070e611675565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122899092919063ffffffff16565b61167d565b600190509392505050565b60006009905090565b610779611675565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610806576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107fd90612e1d565b60405180910390fd5b60005b81518110156108975760006004600084848151811061082b5761082a612e3d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061088f90612e6c565b915050610809565b5050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610932611675565b73ffffffffffffffffffffffffffffffffffffffff161461095257600080fd5b600061095d3061098e565b9050600081111561097257610971816122ed565b5b6000479050600081111561098a5761098981612583565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109df611675565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6390612e1d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610b32611675565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb690612e1d565b60405180910390fd5b6009600a610bcd9190612d44565b64121beab471610bdd9190612d8f565b6010819055506009600a610bf19190612d44565b64121beab471610c019190612d8f565b6011819055506000600660006101000a81548160ff021916908315150217905550600a600d81905550600a600c819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610c619190612d44565b64121beab471610c719190612d8f565b604051610c7e91906128a8565b60405180910390a1565b60105481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600481526020017f7661706500000000000000000000000000000000000000000000000000000000815250905090565b6000610d0e610d07611675565b8484611846565b6001905092915050565b60125481565b600d5481565b600660009054906101000a900460ff1681565b610d3f611675565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc390612e1d565b60405180910390fd5b601560149054906101000a900460ff1615610e1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1390612f00565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ebb30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610ea69190612d44565b64121beab471610eb69190612d8f565b61167d565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4c9190612f35565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff99190612f35565b6040518363ffffffff1660e01b8152600401611016929190612f62565b6020604051808303816000875af1158015611035573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110599190612f35565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110e23061098e565b6000806110ed610c8e565b426040518863ffffffff1660e01b815260040161110f96959493929190612fd0565b60606040518083038185885af115801561112d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111529190613046565b505050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016111f4929190613099565b6020604051808303816000875af1158015611213573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123791906130ee565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff021916908315150217905550565b611278611675565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611305576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fc90612e1d565b60405180910390fd5b60005b81518110156113965760016004600084848151811061132a57611329612e3d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061138e90612e6c565b915050611308565b5050565b6113a2611675565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461142f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142690612e1d565b60405180910390fd5b81600881905550806009819055505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6114d0611675565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461155d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155490612e1d565b60405180910390fd5b8060118190555050565b600080830361157957600090506115db565b600082846115879190612d8f565b9050828482611596919061314a565b146115d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115cd906131ed565b60405180910390fd5b809150505b92915050565b600061162383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506125ef565b905092915050565b600061166d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612289565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e39061327f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361175b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175290613311565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161183991906128a8565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ac906133a3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191b90613435565b60405180910390fd5b60008111611967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195e906134c7565b60405180910390fd5b6000611971610c8e565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156119df57506119af610c8e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611fcc57600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a885750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611a9157600080fd5b600660009054906101000a900460ff1615611c1e57601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611b525750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611c1d5743600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611bd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bcf90613559565b60405180910390fd5b43600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611cc95750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611d1f5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611dda57601054821115611d69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d60906135c5565b60405180910390fd5b60115482611d768561098e565b611d8091906135e5565b1115611dc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db890613665565b60405180910390fd5b600f6000815480929190611dd490612e6c565b91905055505b611e166064611e08600c54600f5411611df557600854611df9565b600a545b8561156790919063ffffffff16565b6115e190919063ffffffff16565b9050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611ea157503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611ee557611ee26064611ed4600d54600f5411611ec157600954611ec5565b600b545b8561156790919063ffffffff16565b6115e190919063ffffffff16565b90505b6000611ef03061098e565b905060158054906101000a900460ff16158015611f5a5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611f725750601560169054906101000a900460ff165b8015611f7f575060125481115b8015611f8e5750600e54600f54115b15611fca57611fb0611fab84611fa684601354612652565b612652565b6122ed565b60004790506000811115611fc857611fc747612583565b5b505b505b60008111156120d05761202781600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266b90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516120c791906128a8565b60405180910390a35b61212282600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461162b90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506121c961217b828461162b90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461266b90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61226e848661162b90919063ffffffff16565b60405161227b91906128a8565b60405180910390a350505050565b60008383111582906122d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122c89190612759565b60405180910390fd5b50600083856122e09190613685565b9050809150509392505050565b60016015806101000a81548160ff021916908315150217905550600081031561256657601560149054906101000a900460ff1615612566576000600267ffffffffffffffff81111561234257612341612952565b5b6040519080825280602002602001820160405280156123705781602001602082028036833780820191505090505b509050308160008151811061238857612387612e3d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561242f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124539190612f35565b8160018151811061246757612466612e3d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506124ce30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461167d565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612532959493929190613777565b600060405180830381600087803b15801561254c57600080fd5b505af1158015612560573d6000803e3d6000fd5b50505050505b60006015806101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156125eb573d6000803e3d6000fd5b5050565b60008083118290612636576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161262d9190612759565b60405180910390fd5b5060008385612645919061314a565b9050809150509392505050565b60008183116126615782612663565b815b905092915050565b600080828461267a91906135e5565b9050838110156126bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126b69061381d565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156127035780820151818401526020810190506126e8565b60008484015250505050565b6000601f19601f8301169050919050565b600061272b826126c9565b61273581856126d4565b93506127458185602086016126e5565b61274e8161270f565b840191505092915050565b600060208201905081810360008301526127738184612720565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006127ba8261278f565b9050919050565b6127ca816127af565b81146127d557600080fd5b50565b6000813590506127e7816127c1565b92915050565b6000819050919050565b612800816127ed565b811461280b57600080fd5b50565b60008135905061281d816127f7565b92915050565b6000806040838503121561283a57612839612785565b5b6000612848858286016127d8565b92505060206128598582860161280e565b9150509250929050565b60008115159050919050565b61287881612863565b82525050565b6000602082019050612893600083018461286f565b92915050565b6128a2816127ed565b82525050565b60006020820190506128bd6000830184612899565b92915050565b6000806000606084860312156128dc576128db612785565b5b60006128ea868287016127d8565b93505060206128fb868287016127d8565b925050604061290c8682870161280e565b9150509250925092565b600060ff82169050919050565b61292c81612916565b82525050565b60006020820190506129476000830184612923565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61298a8261270f565b810181811067ffffffffffffffff821117156129a9576129a8612952565b5b80604052505050565b60006129bc61277b565b90506129c88282612981565b919050565b600067ffffffffffffffff8211156129e8576129e7612952565b5b602082029050602081019050919050565b600080fd5b6000612a11612a0c846129cd565b6129b2565b90508083825260208201905060208402830185811115612a3457612a336129f9565b5b835b81811015612a5d5780612a4988826127d8565b845260208401935050602081019050612a36565b5050509392505050565b600082601f830112612a7c57612a7b61294d565b5b8135612a8c8482602086016129fe565b91505092915050565b600060208284031215612aab57612aaa612785565b5b600082013567ffffffffffffffff811115612ac957612ac861278a565b5b612ad584828501612a67565b91505092915050565b600060208284031215612af457612af3612785565b5b6000612b02848285016127d8565b91505092915050565b612b14816127af565b82525050565b6000602082019050612b2f6000830184612b0b565b92915050565b60008060408385031215612b4c57612b4b612785565b5b6000612b5a8582860161280e565b9250506020612b6b8582860161280e565b9150509250929050565b60008060408385031215612b8c57612b8b612785565b5b6000612b9a858286016127d8565b9250506020612bab858286016127d8565b9150509250929050565b600060208284031215612bcb57612bca612785565b5b6000612bd98482850161280e565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612c6857808604811115612c4457612c43612be2565b5b6001851615612c535780820291505b8081029050612c6185612c11565b9450612c28565b94509492505050565b600082612c815760019050612d3d565b81612c8f5760009050612d3d565b8160018114612ca55760028114612caf57612cde565b6001915050612d3d565b60ff841115612cc157612cc0612be2565b5b8360020a915084821115612cd857612cd7612be2565b5b50612d3d565b5060208310610133831016604e8410600b8410161715612d135782820a905083811115612d0e57612d0d612be2565b5b612d3d565b612d208484846001612c1e565b92509050818404811115612d3757612d36612be2565b5b81810290505b9392505050565b6000612d4f826127ed565b9150612d5a83612916565b9250612d877fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612c71565b905092915050565b6000612d9a826127ed565b9150612da5836127ed565b9250828202612db3816127ed565b91508282048414831517612dca57612dc9612be2565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612e076020836126d4565b9150612e1282612dd1565b602082019050919050565b60006020820190508181036000830152612e3681612dfa565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612e77826127ed565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ea957612ea8612be2565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612eea6017836126d4565b9150612ef582612eb4565b602082019050919050565b60006020820190508181036000830152612f1981612edd565b9050919050565b600081519050612f2f816127c1565b92915050565b600060208284031215612f4b57612f4a612785565b5b6000612f5984828501612f20565b91505092915050565b6000604082019050612f776000830185612b0b565b612f846020830184612b0b565b9392505050565b6000819050919050565b6000819050919050565b6000612fba612fb5612fb084612f8b565b612f95565b6127ed565b9050919050565b612fca81612f9f565b82525050565b600060c082019050612fe56000830189612b0b565b612ff26020830188612899565b612fff6040830187612fc1565b61300c6060830186612fc1565b6130196080830185612b0b565b61302660a0830184612899565b979650505050505050565b600081519050613040816127f7565b92915050565b60008060006060848603121561305f5761305e612785565b5b600061306d86828701613031565b935050602061307e86828701613031565b925050604061308f86828701613031565b9150509250925092565b60006040820190506130ae6000830185612b0b565b6130bb6020830184612899565b9392505050565b6130cb81612863565b81146130d657600080fd5b50565b6000815190506130e8816130c2565b92915050565b60006020828403121561310457613103612785565b5b6000613112848285016130d9565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613155826127ed565b9150613160836127ed565b9250826131705761316f61311b565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006131d76021836126d4565b91506131e28261317b565b604082019050919050565b60006020820190508181036000830152613206816131ca565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006132696024836126d4565b91506132748261320d565b604082019050919050565b600060208201905081810360008301526132988161325c565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006132fb6022836126d4565b91506133068261329f565b604082019050919050565b6000602082019050818103600083015261332a816132ee565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061338d6025836126d4565b915061339882613331565b604082019050919050565b600060208201905081810360008301526133bc81613380565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061341f6023836126d4565b915061342a826133c3565b604082019050919050565b6000602082019050818103600083015261344e81613412565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006134b16029836126d4565b91506134bc82613455565b604082019050919050565b600060208201905081810360008301526134e0816134a4565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f60008201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b60006135436024836126d4565b915061354e826134e7565b604082019050919050565b6000602082019050818103600083015261357281613536565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006135af6019836126d4565b91506135ba82613579565b602082019050919050565b600060208201905081810360008301526135de816135a2565b9050919050565b60006135f0826127ed565b91506135fb836127ed565b925082820190508082111561361357613612612be2565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b600061364f601a836126d4565b915061365a82613619565b602082019050919050565b6000602082019050818103600083015261367e81613642565b9050919050565b6000613690826127ed565b915061369b836127ed565b92508282039050818111156136b3576136b2612be2565b5b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6136ee816127af565b82525050565b600061370083836136e5565b60208301905092915050565b6000602082019050919050565b6000613724826136b9565b61372e81856136c4565b9350613739836136d5565b8060005b8381101561376a57815161375188826136f4565b975061375c8361370c565b92505060018101905061373d565b5085935050505092915050565b600060a08201905061378c6000830188612899565b6137996020830187612fc1565b81810360408301526137ab8186613719565b90506137ba6060830185612b0b565b6137c76080830184612899565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613807601b836126d4565b9150613812826137d1565b602082019050919050565b60006020820190508181036000830152613836816137fa565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207339bf52ea291e94b4463cf44084c8b81c7cda659652c3b6a578a364de084cfa64736f6c63430008120033

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

000000000000000000000000b97af93402b6251b47446b5712a10f16d92c817f

-----Decoded View---------------
Arg [0] : marketingCEXWallet_ (address): 0xb97AF93402B6251b47446b5712A10F16D92c817F

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000b97af93402b6251b47446b5712a10f16d92c817f


Deployed Bytecode Sourcemap

3696:9711:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6608:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7441:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4378:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4955:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6885:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7610:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6794:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13236:162;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11600:83;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12402:348;;;;;;;;;;;;;:::i;:::-;;6988:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2777:148;;;;;;;;;;;;;:::i;:::-;;11237:255;;;;;;;;;;;;;:::i;:::-;;4775:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2563:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4821:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6699:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7115:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4868:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4418:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4082:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11691:666;;;;;;;;;;;;;:::i;:::-;;13064:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12756:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7290:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12931:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6608:83;6645:13;6678:5;;;;;;;;;;;;;;;;;6671:12;;6608:83;:::o;7441:161::-;7516:4;7533:39;7542:12;:10;:12::i;:::-;7556:7;7565:6;7533:8;:39::i;:::-;7590:4;7583:11;;7441:161;;;;:::o;4378:33::-;;;;:::o;4955:49::-;;;;:::o;6885:95::-;6938:7;4574:1;4631:2;:13;;;;:::i;:::-;4617:11;:27;;;;:::i;:::-;6958:14;;6885:95;:::o;7610:313::-;7708:4;7725:36;7735:6;7743:9;7754:6;7725:9;:36::i;:::-;7772:121;7781:6;7789:12;:10;:12::i;:::-;7803:89;7841:6;7803:89;;;;;;;;;;;;;;;;;:11;:19;7815:6;7803:19;;;;;;;;;;;;;;;:33;7823:12;:10;:12::i;:::-;7803:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7772:8;:121::i;:::-;7911:4;7904:11;;7610:313;;;;;:::o;6794:83::-;6835:5;4574:1;6853:16;;6794:83;:::o;13236:162::-;2700:12;:10;:12::i;:::-;2690:22;;:6;;;;;;;;;;:22;;;2682:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13309:6:::1;13304:87;13325:6;:13;13321:1;:17;13304:87;;;13376:5;13358:4;:15;13363:6;13370:1;13363:9;;;;;;;;:::i;:::-;;;;;;;;13358:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;13340:3;;;;;:::i;:::-;;;;13304:87;;;;13236:162:::0;:::o;11600:83::-;11647:4;11668;:7;11673:1;11668:7;;;;;;;;;;;;;;;;;;;;;;;;;11661:14;;11600:83;;;:::o;12402:348::-;12466:10;;;;;;;;;;;12452:24;;:12;:10;:12::i;:::-;:24;;;12444:33;;;;;;12488:20;12509:24;12527:4;12509:9;:24::i;:::-;12488:45;;12560:1;12547:12;:14;12544:73;;;12575:30;12592:12;12575:16;:30::i;:::-;12544:73;12627:18;12646:21;12627:40;;12692:1;12681:10;:12;12678:65;;;12707:24;12720:10;12707:12;:24::i;:::-;12678:65;12433:317;;12402:348::o;6988:119::-;7054:7;7081:9;:18;7091:7;7081:18;;;;;;;;;;;;;;;;7074:25;;6988:119;;;:::o;2777:148::-;2700:12;:10;:12::i;:::-;2690:22;;:6;;;;;;;;;;:22;;;2682:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2884:1:::1;2847:40;;2868:6;::::0;::::1;;;;;;;;2847:40;;;;;;;;;;;;2915:1;2898:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2777:148::o:0;11237:255::-;2700:12;:10;:12::i;:::-;2690:22;;:6;;;;;;;;;;:22;;;2682:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4574:1:::1;4631:2;:13;;;;:::i;:::-;4617:11;:27;;;;:::i;:::-;11290:12;:22;;;;4574:1;4631:2;:13;;;;:::i;:::-;4617:11;:27;;;;:::i;:::-;11323:14;:22;;;;11377:5;11356:20;;:26;;;;;;;;;;;;;;;;;;11410:2;11393:16;:19;;;;11439:2;11423:15;:18;;;;11457:27;4574:1;4631:2;:13;;;;:::i;:::-;4617:11;:27;;;;:::i;:::-;11457;;;;;;:::i;:::-;;;;;;;;11237:255::o:0;4775:38::-;;;;:::o;2563:79::-;2601:7;2628:6;;;;;;;;;;;2621:13;;2563:79;:::o;4821:40::-;;;;:::o;6699:87::-;6738:13;6771:7;;;;;;;;;;;;;;;;;6764:14;;6699:87;:::o;7115:167::-;7193:4;7210:42;7220:12;:10;:12::i;:::-;7234:9;7245:6;7210:9;:42::i;:::-;7270:4;7263:11;;7115:167;;;;:::o;4868:55::-;;;;:::o;4418:34::-;;;;:::o;4082:40::-;;;;;;;;;;;;;:::o;11691:666::-;2700:12;:10;:12::i;:::-;2690:22;;:6;;;;;;;;;;:22;;;2682:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11750:11:::1;;;;;;;;;;;11749:12;11741:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11836:42;11799:15;;:80;;;;;;;;;;;;;;;;;;11890:58;11907:4;11922:15;;;;;;;;;;;4574:1;4631:2;:13;;;;:::i;:::-;4617:11;:27;;;;:::i;:::-;11890:8;:58::i;:::-;11993:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11975:55;;;12039:4;12046:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11975:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11959:13;;:110;;;;;;;;;;;;;;;;;;12080:15;;;;;;;;;;;:31;;;12119:21;12150:4;12156:24;12174:4;12156:9;:24::i;:::-;12181:1;12183::::0;12185:7:::1;:5;:7::i;:::-;12193:15;12080:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12227:13;;;;;;;;;;;12220:29;;;12258:15;;;;;;;;;;;12276:14;12220:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12316:4;12302:11;;:18;;;;;;;;;;;;;;;;;;12345:4;12331:11;;:18;;;;;;;;;;;;;;;;;;11691:666::o:0;13064:164::-;2700:12;:10;:12::i;:::-;2690:22;;:6;;;;;;;;;;:22;;;2682:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13138:6:::1;13133:88;13154:5;:12;13150:1;:16;13133:88;;;13205:4;13188;:14;13193:5;13199:1;13193:8;;;;;;;;:::i;:::-;;;;;;;;13188:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;13168:3;;;;;:::i;:::-;;;;13133:88;;;;13064:164:::0;:::o;12756:167::-;2700:12;:10;:12::i;:::-;2690:22;;:6;;;;;;;;;;:22;;;2682:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12867:9:::1;12850:14;:26;;;;12905:10;12887:15;:28;;;;12756:167:::0;;:::o;7290:143::-;7371:7;7398:11;:18;7410:5;7398:18;;;;;;;;;;;;;;;:27;7417:7;7398:27;;;;;;;;;;;;;;;;7391:34;;7290:143;;;;:::o;12931:125::-;2700:12;:10;:12::i;:::-;2690:22;;:6;;;;;;;;;;:22;;;2682:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13032:16:::1;13015:14;:33;;;;12931:125:::0;:::o;1653:246::-;1711:7;1740:1;1735;:6;1731:47;;1765:1;1758:8;;;;1731:47;1788:9;1804:1;1800;:5;;;;:::i;:::-;1788:17;;1833:1;1828;1824;:5;;;;:::i;:::-;:10;1816:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1890:1;1883:8;;;1653:246;;;;;:::o;1907:132::-;1965:7;1992:39;1996:1;1999;1992:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1985:46;;1907:132;;;;:::o;1311:136::-;1369:7;1396:43;1400:1;1403;1396:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1389:50;;1311:136;;;;:::o;318:98::-;371:7;398:10;391:17;;318:98;:::o;7931:335::-;8041:1;8024:19;;:5;:19;;;8016:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8122:1;8103:21;;:7;:21;;;8095:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8204:6;8174:11;:18;8186:5;8174:18;;;;;;;;;;;;;;;:27;8193:7;8174:27;;;;;;;;;;;;;;;:36;;;;8242:7;8226:32;;8235:5;8226:32;;;8251:6;8226:32;;;;;;:::i;:::-;;;;;;;;7931:335;;;:::o;8274:2284::-;8378:1;8362:18;;:4;:18;;;8354:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8455:1;8441:16;;:2;:16;;;8433:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8525:1;8516:6;:10;8508:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8583:17;8625:7;:5;:7::i;:::-;8617:15;;:4;:15;;;;:32;;;;;8642:7;:5;:7::i;:::-;8636:13;;:2;:13;;;;8617:32;8613:1589;;;8675:4;:10;8680:4;8675:10;;;;;;;;;;;;;;;;;;;;;;;;;8674:11;:24;;;;;8690:4;:8;8695:2;8690:8;;;;;;;;;;;;;;;;;;;;;;;;;8689:9;8674:24;8666:33;;;;;;8720:20;;;;;;;;;;;8716:346;;;8779:15;;;;;;;;;;;8765:30;;:2;:30;;;;:62;;;;;8813:13;;;;;;;;;;;8799:28;;:2;:28;;;;8765:62;8761:286;;;8900:12;8858:28;:39;8887:9;8858:39;;;;;;;;;;;;;;;;:54;8850:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;9015:12;8973:28;:39;9002:9;8973:39;;;;;;;;;;;;;;;:54;;;;8761:286;8716:346;9090:13;;;;;;;;;;;9082:21;;:4;:21;;;:55;;;;;9121:15;;;;;;;;;;;9107:30;;:2;:30;;;;9082:55;:83;;;;;9143:18;:22;9162:2;9143:22;;;;;;;;;;;;;;;;;;;;;;;;;9141:24;9082:83;9078:313;;;9205:12;;9195:6;:22;;9187:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9300:14;;9290:6;9274:13;9284:2;9274:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;9266:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9364:9;;:11;;;;;;;;;:::i;:::-;;;;;;9078:313;9421:76;9493:3;9421:67;9443:15;;9433:9;;:25;9432:55;;9473:14;;9432:55;;;9460:12;;9432:55;9421:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;9409:88;;9521:13;;;;;;;;;;;9515:19;;:2;:19;;;:43;;;;;9553:4;9538:20;;:4;:20;;;;9515:43;9512:174;;;9591:79;9666:3;9591:70;9613:16;;9603:9;;:26;9602:58;;9645:15;;9602:58;;;9631:13;;9602:58;9591:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;9579:91;;9512:174;9702:28;9733:24;9751:4;9733:9;:24::i;:::-;9702:55;;9777:6;;;;;;;;;;9776:7;:30;;;;;9793:13;;;;;;;;;;;9787:19;;:2;:19;;;9776:30;:45;;;;;9810:11;;;;;;;;;;;9776:45;:87;;;;;9846:17;;9825:20;:38;9776:87;:119;;;;;9877:18;;9867:9;;:28;9776:119;9772:419;;;9916:67;9933:49;9937:6;9944:37;9948:20;9969:11;;9944:3;:37::i;:::-;9933:3;:49::i;:::-;9916:16;:67::i;:::-;10002:26;10031:21;10002:50;;10095:1;10074:18;:22;10071:105;;;10121:35;10134:21;10121:12;:35::i;:::-;10071:105;9897:294;9772:419;8651:1551;8613:1589;10227:1;10217:9;:11;10214:161;;;10267:39;10296:9;10267;:24;10285:4;10267:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10242:9;:24;10260:4;10242:24;;;;;;;;;;;;;;;:64;;;;10347:4;10324:39;;10333:4;10324:39;;;10353:9;10324:39;;;;;;:::i;:::-;;;;;;;;10214:161;10401:27;10421:6;10401:9;:15;10411:4;10401:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10385:9;:15;10395:4;10385:15;;;;;;;;;;;;;;;:43;;;;10453:40;10471:21;10482:9;10471:6;:10;;:21;;;;:::i;:::-;10453:9;:13;10463:2;10453:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10439:9;:13;10449:2;10439:13;;;;;;;;;;;;;;;:54;;;;10524:2;10509:41;;10518:4;10509:41;;;10528:21;10539:9;10528:6;:10;;:21;;;;:::i;:::-;10509:41;;;;;;:::i;:::-;;;;;;;;8343:2215;8274:2284;;;:::o;1455:190::-;1541:7;1574:1;1569;:6;;1577:12;1561:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1601:9;1617:1;1613;:5;;;;:::i;:::-;1601:17;;1636:1;1629:8;;;1455:190;;;;;:::o;10674:555::-;5320:4;5311:6;;:13;;;;;;;;;;;;;;;;;;10768:1:::1;10755:11;:14:::0;10752:27;10771:7:::1;10752:27;10793:11;;;;;;;;;;;10789:25:::0;10806:7:::1;10789:25;10824:21;10862:1;10848:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10824:40;;10893:4;10875;10880:1;10875:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10919:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10909:4;10914:1;10909:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10952:62;10969:4;10984:15;;;;;;;;;;;11002:11;10952:8;:62::i;:::-;11025:15;;;;;;;;;;;:66;;;11106:11;11132:1;11148:4;11175;11195:15;11025:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10741:488;5335:1;5356:5:::0;5347:6;;:14;;;;;;;;;;;;;;;;;;10674:555;:::o;11500:92::-;11557:10;;;;;;;;;;;:19;;:27;11577:6;11557:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11500:92;:::o;2047:189::-;2133:7;2165:1;2161;:5;2168:12;2153:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2192:9;2208:1;2204;:5;;;;:::i;:::-;2192:17;;2227:1;2220:8;;;2047:189;;;;;:::o;10568:98::-;10625:7;10652:1;10650;:3;10649:9;;10657:1;10649:9;;;10655:1;10649:9;10642:16;;10568:98;;;;:::o;1124:179::-;1182:7;1202:9;1218:1;1214;:5;;;;:::i;:::-;1202:17;;1243:1;1238;:6;;1230:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1294:1;1287:8;;;1124:179;;;;:::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;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652: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:117::-;4962:1;4959;4952:12;4976:180;5024:77;5021:1;5014:88;5121:4;5118:1;5111:15;5145:4;5142:1;5135:15;5162:281;5245:27;5267:4;5245:27;:::i;:::-;5237:6;5233:40;5375:6;5363:10;5360:22;5339:18;5327:10;5324:34;5321:62;5318:88;;;5386:18;;:::i;:::-;5318:88;5426:10;5422:2;5415:22;5205:238;5162:281;;:::o;5449:129::-;5483:6;5510:20;;:::i;:::-;5500:30;;5539:33;5567:4;5559:6;5539:33;:::i;:::-;5449:129;;;:::o;5584:311::-;5661:4;5751:18;5743:6;5740:30;5737:56;;;5773:18;;:::i;:::-;5737:56;5823:4;5815:6;5811:17;5803:25;;5883:4;5877;5873:15;5865:23;;5584:311;;;:::o;5901:117::-;6010:1;6007;6000:12;6041:710;6137:5;6162:81;6178:64;6235:6;6178:64;:::i;:::-;6162:81;:::i;:::-;6153:90;;6263:5;6292:6;6285:5;6278:21;6326:4;6319:5;6315:16;6308:23;;6379:4;6371:6;6367:17;6359:6;6355:30;6408:3;6400:6;6397:15;6394:122;;;6427:79;;:::i;:::-;6394:122;6542:6;6525:220;6559:6;6554:3;6551:15;6525:220;;;6634:3;6663:37;6696:3;6684:10;6663:37;:::i;:::-;6658:3;6651:50;6730:4;6725:3;6721:14;6714:21;;6601:144;6585:4;6580:3;6576:14;6569:21;;6525:220;;;6529:21;6143:608;;6041:710;;;;;:::o;6774:370::-;6845:5;6894:3;6887:4;6879:6;6875:17;6871:27;6861:122;;6902:79;;:::i;:::-;6861:122;7019:6;7006:20;7044:94;7134:3;7126:6;7119:4;7111:6;7107:17;7044:94;:::i;:::-;7035:103;;6851:293;6774:370;;;;:::o;7150:539::-;7234:6;7283:2;7271:9;7262:7;7258:23;7254:32;7251:119;;;7289:79;;:::i;:::-;7251:119;7437:1;7426:9;7422:17;7409:31;7467:18;7459:6;7456:30;7453:117;;;7489:79;;:::i;:::-;7453:117;7594:78;7664:7;7655:6;7644:9;7640:22;7594:78;:::i;:::-;7584:88;;7380:302;7150:539;;;;:::o;7695:329::-;7754:6;7803:2;7791:9;7782:7;7778:23;7774:32;7771:119;;;7809:79;;:::i;:::-;7771:119;7929:1;7954:53;7999:7;7990:6;7979:9;7975:22;7954:53;:::i;:::-;7944:63;;7900:117;7695:329;;;;:::o;8030:118::-;8117:24;8135:5;8117:24;:::i;:::-;8112:3;8105:37;8030:118;;:::o;8154:222::-;8247:4;8285:2;8274:9;8270:18;8262:26;;8298:71;8366:1;8355:9;8351:17;8342:6;8298:71;:::i;:::-;8154:222;;;;:::o;8382:474::-;8450:6;8458;8507:2;8495:9;8486:7;8482:23;8478:32;8475:119;;;8513:79;;:::i;:::-;8475:119;8633:1;8658:53;8703:7;8694:6;8683:9;8679:22;8658:53;:::i;:::-;8648:63;;8604:117;8760:2;8786:53;8831:7;8822:6;8811:9;8807:22;8786:53;:::i;:::-;8776:63;;8731:118;8382:474;;;;;:::o;8862:::-;8930:6;8938;8987:2;8975:9;8966:7;8962:23;8958:32;8955:119;;;8993:79;;:::i;:::-;8955:119;9113:1;9138:53;9183:7;9174:6;9163:9;9159:22;9138:53;:::i;:::-;9128:63;;9084:117;9240:2;9266:53;9311:7;9302:6;9291:9;9287:22;9266:53;:::i;:::-;9256:63;;9211:118;8862:474;;;;;:::o;9342:329::-;9401:6;9450:2;9438:9;9429:7;9425:23;9421:32;9418:119;;;9456:79;;:::i;:::-;9418:119;9576:1;9601:53;9646:7;9637:6;9626:9;9622:22;9601:53;:::i;:::-;9591:63;;9547:117;9342:329;;;;:::o;9677:180::-;9725:77;9722:1;9715:88;9822:4;9819:1;9812:15;9846:4;9843:1;9836:15;9863:102;9905:8;9952:5;9949:1;9945:13;9924:34;;9863:102;;;:::o;9971:848::-;10032:5;10039:4;10063:6;10054:15;;10087:5;10078:14;;10101:712;10122:1;10112:8;10109:15;10101:712;;;10217:4;10212:3;10208:14;10202:4;10199:24;10196:50;;;10226:18;;:::i;:::-;10196:50;10276:1;10266:8;10262:16;10259:451;;;10691:4;10684:5;10680:16;10671:25;;10259:451;10741:4;10735;10731:15;10723:23;;10771:32;10794:8;10771:32;:::i;:::-;10759:44;;10101:712;;;9971:848;;;;;;;:::o;10825:1073::-;10879:5;11070:8;11060:40;;11091:1;11082:10;;11093:5;;11060:40;11119:4;11109:36;;11136:1;11127:10;;11138:5;;11109:36;11205:4;11253:1;11248:27;;;;11289:1;11284:191;;;;11198:277;;11248:27;11266:1;11257:10;;11268:5;;;11284:191;11329:3;11319:8;11316:17;11313:43;;;11336:18;;:::i;:::-;11313:43;11385:8;11382:1;11378:16;11369:25;;11420:3;11413:5;11410:14;11407:40;;;11427:18;;:::i;:::-;11407:40;11460:5;;;11198:277;;11584:2;11574:8;11571:16;11565:3;11559:4;11556:13;11552:36;11534:2;11524:8;11521:16;11516:2;11510:4;11507:12;11503:35;11487:111;11484:246;;;11640:8;11634:4;11630:19;11621:28;;11675:3;11668:5;11665:14;11662:40;;;11682:18;;:::i;:::-;11662:40;11715:5;;11484:246;11755:42;11793:3;11783:8;11777:4;11774:1;11755:42;:::i;:::-;11740:57;;;;11829:4;11824:3;11820:14;11813:5;11810:25;11807:51;;;11838:18;;:::i;:::-;11807:51;11887:4;11880:5;11876:16;11867:25;;10825:1073;;;;;;:::o;11904:281::-;11962:5;11986:23;12004:4;11986:23;:::i;:::-;11978:31;;12030:25;12046:8;12030:25;:::i;:::-;12018:37;;12074:104;12111:66;12101:8;12095:4;12074:104;:::i;:::-;12065:113;;11904:281;;;;:::o;12191:410::-;12231:7;12254:20;12272:1;12254:20;:::i;:::-;12249:25;;12288:20;12306:1;12288:20;:::i;:::-;12283:25;;12343:1;12340;12336:9;12365:30;12383:11;12365:30;:::i;:::-;12354:41;;12544:1;12535:7;12531:15;12528:1;12525:22;12505:1;12498:9;12478:83;12455:139;;12574:18;;:::i;:::-;12455:139;12239:362;12191:410;;;;:::o;12607:182::-;12747:34;12743:1;12735:6;12731:14;12724:58;12607:182;:::o;12795:366::-;12937:3;12958:67;13022:2;13017:3;12958:67;:::i;:::-;12951:74;;13034:93;13123:3;13034:93;:::i;:::-;13152:2;13147:3;13143:12;13136:19;;12795:366;;;:::o;13167:419::-;13333:4;13371:2;13360:9;13356:18;13348:26;;13420:9;13414:4;13410:20;13406:1;13395:9;13391:17;13384:47;13448:131;13574:4;13448:131;:::i;:::-;13440:139;;13167:419;;;:::o;13592:180::-;13640:77;13637:1;13630:88;13737:4;13734:1;13727:15;13761:4;13758:1;13751:15;13778:233;13817:3;13840:24;13858:5;13840:24;:::i;:::-;13831:33;;13886:66;13879:5;13876:77;13873:103;;13956:18;;:::i;:::-;13873:103;14003:1;13996:5;13992:13;13985:20;;13778:233;;;:::o;14017:173::-;14157:25;14153:1;14145:6;14141:14;14134:49;14017:173;:::o;14196:366::-;14338:3;14359:67;14423:2;14418:3;14359:67;:::i;:::-;14352:74;;14435:93;14524:3;14435:93;:::i;:::-;14553:2;14548:3;14544:12;14537:19;;14196:366;;;:::o;14568:419::-;14734:4;14772:2;14761:9;14757:18;14749:26;;14821:9;14815:4;14811:20;14807:1;14796:9;14792:17;14785:47;14849:131;14975:4;14849:131;:::i;:::-;14841:139;;14568:419;;;:::o;14993:143::-;15050:5;15081:6;15075:13;15066:22;;15097:33;15124:5;15097:33;:::i;:::-;14993:143;;;;:::o;15142:351::-;15212:6;15261:2;15249:9;15240:7;15236:23;15232:32;15229:119;;;15267:79;;:::i;:::-;15229:119;15387:1;15412:64;15468:7;15459:6;15448:9;15444:22;15412:64;:::i;:::-;15402:74;;15358:128;15142:351;;;;:::o;15499:332::-;15620:4;15658:2;15647:9;15643:18;15635:26;;15671:71;15739:1;15728:9;15724:17;15715:6;15671:71;:::i;:::-;15752:72;15820:2;15809:9;15805:18;15796:6;15752:72;:::i;:::-;15499:332;;;;;:::o;15837:85::-;15882:7;15911:5;15900:16;;15837:85;;;:::o;15928:60::-;15956:3;15977:5;15970:12;;15928:60;;;:::o;15994:158::-;16052:9;16085:61;16103:42;16112:32;16138:5;16112:32;:::i;:::-;16103:42;:::i;:::-;16085:61;:::i;:::-;16072:74;;15994:158;;;:::o;16158:147::-;16253:45;16292:5;16253:45;:::i;:::-;16248:3;16241:58;16158:147;;:::o;16311:807::-;16560:4;16598:3;16587:9;16583:19;16575:27;;16612:71;16680:1;16669:9;16665:17;16656:6;16612:71;:::i;:::-;16693:72;16761:2;16750:9;16746:18;16737:6;16693:72;:::i;:::-;16775:80;16851:2;16840:9;16836:18;16827:6;16775:80;:::i;:::-;16865;16941:2;16930:9;16926:18;16917:6;16865:80;:::i;:::-;16955:73;17023:3;17012:9;17008:19;16999:6;16955:73;:::i;:::-;17038;17106:3;17095:9;17091:19;17082:6;17038:73;:::i;:::-;16311:807;;;;;;;;;:::o;17124:143::-;17181:5;17212:6;17206:13;17197:22;;17228:33;17255:5;17228:33;:::i;:::-;17124:143;;;;:::o;17273:663::-;17361:6;17369;17377;17426:2;17414:9;17405:7;17401:23;17397:32;17394:119;;;17432:79;;:::i;:::-;17394:119;17552:1;17577:64;17633:7;17624:6;17613:9;17609:22;17577:64;:::i;:::-;17567:74;;17523:128;17690:2;17716:64;17772:7;17763:6;17752:9;17748:22;17716:64;:::i;:::-;17706:74;;17661:129;17829:2;17855:64;17911:7;17902:6;17891:9;17887:22;17855:64;:::i;:::-;17845:74;;17800:129;17273:663;;;;;:::o;17942:332::-;18063:4;18101:2;18090:9;18086:18;18078:26;;18114:71;18182:1;18171:9;18167:17;18158:6;18114:71;:::i;:::-;18195:72;18263:2;18252:9;18248:18;18239:6;18195:72;:::i;:::-;17942:332;;;;;:::o;18280:116::-;18350:21;18365:5;18350:21;:::i;:::-;18343:5;18340:32;18330:60;;18386:1;18383;18376:12;18330:60;18280:116;:::o;18402:137::-;18456:5;18487:6;18481:13;18472:22;;18503:30;18527:5;18503:30;:::i;:::-;18402:137;;;;:::o;18545:345::-;18612:6;18661:2;18649:9;18640:7;18636:23;18632:32;18629:119;;;18667:79;;:::i;:::-;18629:119;18787:1;18812:61;18865:7;18856:6;18845:9;18841:22;18812:61;:::i;:::-;18802:71;;18758:125;18545:345;;;;:::o;18896:180::-;18944:77;18941:1;18934:88;19041:4;19038:1;19031:15;19065:4;19062:1;19055:15;19082:185;19122:1;19139:20;19157:1;19139:20;:::i;:::-;19134:25;;19173:20;19191:1;19173:20;:::i;:::-;19168:25;;19212:1;19202:35;;19217:18;;:::i;:::-;19202:35;19259:1;19256;19252:9;19247:14;;19082:185;;;;:::o;19273:220::-;19413:34;19409:1;19401:6;19397:14;19390:58;19482:3;19477:2;19469:6;19465:15;19458:28;19273:220;:::o;19499:366::-;19641:3;19662:67;19726:2;19721:3;19662:67;:::i;:::-;19655:74;;19738:93;19827:3;19738:93;:::i;:::-;19856:2;19851:3;19847:12;19840:19;;19499:366;;;:::o;19871:419::-;20037:4;20075:2;20064:9;20060:18;20052:26;;20124:9;20118:4;20114:20;20110:1;20099:9;20095:17;20088:47;20152:131;20278:4;20152:131;:::i;:::-;20144:139;;19871:419;;;:::o;20296:223::-;20436:34;20432:1;20424:6;20420:14;20413:58;20505:6;20500:2;20492:6;20488:15;20481:31;20296:223;:::o;20525:366::-;20667:3;20688:67;20752:2;20747:3;20688:67;:::i;:::-;20681:74;;20764:93;20853:3;20764:93;:::i;:::-;20882:2;20877:3;20873:12;20866:19;;20525:366;;;:::o;20897:419::-;21063:4;21101:2;21090:9;21086:18;21078:26;;21150:9;21144:4;21140:20;21136:1;21125:9;21121:17;21114:47;21178:131;21304:4;21178:131;:::i;:::-;21170:139;;20897:419;;;:::o;21322:221::-;21462:34;21458:1;21450:6;21446:14;21439:58;21531:4;21526:2;21518:6;21514:15;21507:29;21322:221;:::o;21549:366::-;21691:3;21712:67;21776:2;21771:3;21712:67;:::i;:::-;21705:74;;21788:93;21877:3;21788:93;:::i;:::-;21906:2;21901:3;21897:12;21890:19;;21549:366;;;:::o;21921:419::-;22087:4;22125:2;22114:9;22110:18;22102:26;;22174:9;22168:4;22164:20;22160:1;22149:9;22145:17;22138:47;22202:131;22328:4;22202:131;:::i;:::-;22194:139;;21921:419;;;:::o;22346:224::-;22486:34;22482:1;22474:6;22470:14;22463:58;22555:7;22550:2;22542:6;22538:15;22531:32;22346:224;:::o;22576:366::-;22718:3;22739:67;22803:2;22798:3;22739:67;:::i;:::-;22732:74;;22815:93;22904:3;22815:93;:::i;:::-;22933:2;22928:3;22924:12;22917:19;;22576:366;;;:::o;22948:419::-;23114:4;23152:2;23141:9;23137:18;23129:26;;23201:9;23195:4;23191:20;23187:1;23176:9;23172:17;23165:47;23229:131;23355:4;23229:131;:::i;:::-;23221:139;;22948:419;;;:::o;23373:222::-;23513:34;23509:1;23501:6;23497:14;23490:58;23582:5;23577:2;23569:6;23565:15;23558:30;23373:222;:::o;23601:366::-;23743:3;23764:67;23828:2;23823:3;23764:67;:::i;:::-;23757:74;;23840:93;23929:3;23840:93;:::i;:::-;23958:2;23953:3;23949:12;23942:19;;23601:366;;;:::o;23973:419::-;24139:4;24177:2;24166:9;24162:18;24154:26;;24226:9;24220:4;24216:20;24212:1;24201:9;24197:17;24190:47;24254:131;24380:4;24254:131;:::i;:::-;24246:139;;23973:419;;;:::o;24398:228::-;24538:34;24534:1;24526:6;24522:14;24515:58;24607:11;24602:2;24594:6;24590:15;24583:36;24398:228;:::o;24632:366::-;24774:3;24795:67;24859:2;24854:3;24795:67;:::i;:::-;24788:74;;24871:93;24960:3;24871:93;:::i;:::-;24989:2;24984:3;24980:12;24973:19;;24632:366;;;:::o;25004:419::-;25170:4;25208:2;25197:9;25193:18;25185:26;;25257:9;25251:4;25247:20;25243:1;25232:9;25228:17;25221:47;25285:131;25411:4;25285:131;:::i;:::-;25277:139;;25004:419;;;:::o;25429:223::-;25569:34;25565:1;25557:6;25553:14;25546:58;25638:6;25633:2;25625:6;25621:15;25614:31;25429:223;:::o;25658:366::-;25800:3;25821:67;25885:2;25880:3;25821:67;:::i;:::-;25814:74;;25897:93;25986:3;25897:93;:::i;:::-;26015:2;26010:3;26006:12;25999:19;;25658:366;;;:::o;26030:419::-;26196:4;26234:2;26223:9;26219:18;26211:26;;26283:9;26277:4;26273:20;26269:1;26258:9;26254:17;26247:47;26311:131;26437:4;26311:131;:::i;:::-;26303:139;;26030:419;;;:::o;26455:175::-;26595:27;26591:1;26583:6;26579:14;26572:51;26455:175;:::o;26636:366::-;26778:3;26799:67;26863:2;26858:3;26799:67;:::i;:::-;26792:74;;26875:93;26964:3;26875:93;:::i;:::-;26993:2;26988:3;26984:12;26977:19;;26636:366;;;:::o;27008:419::-;27174:4;27212:2;27201:9;27197:18;27189:26;;27261:9;27255:4;27251:20;27247:1;27236:9;27232:17;27225:47;27289:131;27415:4;27289:131;:::i;:::-;27281:139;;27008:419;;;:::o;27433:191::-;27473:3;27492:20;27510:1;27492:20;:::i;:::-;27487:25;;27526:20;27544:1;27526:20;:::i;:::-;27521:25;;27569:1;27566;27562:9;27555:16;;27590:3;27587:1;27584:10;27581:36;;;27597:18;;:::i;:::-;27581:36;27433:191;;;;:::o;27630:176::-;27770:28;27766:1;27758:6;27754:14;27747:52;27630:176;:::o;27812:366::-;27954:3;27975:67;28039:2;28034:3;27975:67;:::i;:::-;27968:74;;28051:93;28140:3;28051:93;:::i;:::-;28169:2;28164:3;28160:12;28153:19;;27812:366;;;:::o;28184:419::-;28350:4;28388:2;28377:9;28373:18;28365:26;;28437:9;28431:4;28427:20;28423:1;28412:9;28408:17;28401:47;28465:131;28591:4;28465:131;:::i;:::-;28457:139;;28184:419;;;:::o;28609:194::-;28649:4;28669:20;28687:1;28669:20;:::i;:::-;28664:25;;28703:20;28721:1;28703:20;:::i;:::-;28698:25;;28747:1;28744;28740:9;28732:17;;28771:1;28765:4;28762:11;28759:37;;;28776:18;;:::i;:::-;28759:37;28609:194;;;;:::o;28809:114::-;28876:6;28910:5;28904:12;28894:22;;28809:114;;;:::o;28929:184::-;29028:11;29062:6;29057:3;29050:19;29102:4;29097:3;29093:14;29078:29;;28929:184;;;;:::o;29119:132::-;29186:4;29209:3;29201:11;;29239:4;29234:3;29230:14;29222:22;;29119:132;;;:::o;29257:108::-;29334:24;29352:5;29334:24;:::i;:::-;29329:3;29322:37;29257:108;;:::o;29371:179::-;29440:10;29461:46;29503:3;29495:6;29461:46;:::i;:::-;29539:4;29534:3;29530:14;29516:28;;29371:179;;;;:::o;29556:113::-;29626:4;29658;29653:3;29649:14;29641:22;;29556:113;;;:::o;29705:732::-;29824:3;29853:54;29901:5;29853:54;:::i;:::-;29923:86;30002:6;29997:3;29923:86;:::i;:::-;29916:93;;30033:56;30083:5;30033:56;:::i;:::-;30112:7;30143:1;30128:284;30153:6;30150:1;30147:13;30128:284;;;30229:6;30223:13;30256:63;30315:3;30300:13;30256:63;:::i;:::-;30249:70;;30342:60;30395:6;30342:60;:::i;:::-;30332:70;;30188:224;30175:1;30172;30168:9;30163:14;;30128:284;;;30132:14;30428:3;30421:10;;29829:608;;;29705:732;;;;:::o;30443:831::-;30706:4;30744:3;30733:9;30729:19;30721:27;;30758:71;30826:1;30815:9;30811:17;30802:6;30758:71;:::i;:::-;30839:80;30915:2;30904:9;30900:18;30891:6;30839:80;:::i;:::-;30966:9;30960:4;30956:20;30951:2;30940:9;30936:18;30929:48;30994:108;31097:4;31088:6;30994:108;:::i;:::-;30986:116;;31112:72;31180:2;31169:9;31165:18;31156:6;31112:72;:::i;:::-;31194:73;31262:3;31251:9;31247:19;31238:6;31194:73;:::i;:::-;30443:831;;;;;;;;:::o;31280:177::-;31420:29;31416:1;31408:6;31404:14;31397:53;31280:177;:::o;31463:366::-;31605:3;31626:67;31690:2;31685:3;31626:67;:::i;:::-;31619:74;;31702:93;31791:3;31702:93;:::i;:::-;31820:2;31815:3;31811:12;31804:19;;31463:366;;;:::o;31835:419::-;32001:4;32039:2;32028:9;32024:18;32016:26;;32088:9;32082:4;32078:20;32074:1;32063:9;32059:17;32052:47;32116:131;32242:4;32116:131;:::i;:::-;32108:139;;31835:419;;;:::o

Swarm Source

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