ETH Price: $2,310.29 (-4.66%)

Token

ElonMuskPutinPepe69Inu (𝕏)
 

Overview

Max Total Supply

100,000,000,000 𝕏

Holders

47

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
218,623,794.707330466 𝕏

Value
$0.00
0xf46d3facc8b09e8a333b2e58038213067ecbcfa2
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:
X

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-07-27
*/

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

/**

// +─────────+──────────────────────────────────────────────────────────+
// | NAME    | ElonMuskPutinPepe69Inu                                   |
// +─────────+──────────────────────────────────────────────────────────+
// | TOKEN   | 𝕏                                                        |
// +─────────+──────────────────────────────────────────────────────────+
// | WEBSITE | http://empp69inu.com/                                    |
// +─────────+──────────────────────────────────────────────────────────+
// |   TG    | https://t.me/EMPP69INU                                   |                     
// +─────────+──────────────────────────────────────────────────────────+
// | TOKEN   | TOTAL SUPPLY | 100,000,000,000                           |
// |         | Tax          | 1%                                        |
// |         | MINTABLE     | NO                                        |
// |         | BURNABLE     | YES                                       |
// +─────────+──────────────────────────────────────────────────────────+

*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;


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

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

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

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

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

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

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

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

}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _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 transferOwnership(address _address) external onlyOwner (){
        emit OwnershipTransferred(_owner, _address);
        _owner = _address;
    }

}  

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 X is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private balance;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;
    address payable public deployerWallet;


    
    uint256 private constant _tTotal = 100_000_000_000_000000000;
    uint256 private  maxWallet = _tTotal/100; 
    uint256 private taxSellPerc = 0;
    uint256 private taxBuyPerc = 0;
    string private constant _name = unicode"ElonMuskPutinPepe69Inu";
    string private constant _symbol = unicode"𝕏";
    uint8 private constant _decimals = 9;
    bool private inSwap = false;

    
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private paused;
    uint256 private _maxTxAmount = _tTotal;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event MaxWalletPercUpdated(uint _maxWalletPerc);
    
    constructor () { 
        deployerWallet = payable(_msgSender());
        balance[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[0xb6c1aD0F59551A1536266EdefDccc9C016fEA7E5] = true;
        emit Transfer(address(0),owner(), _tTotal);
    }

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

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

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

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

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

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

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

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

    function isWhitelisted(address _addr) external view returns(bool){
        return _isExcludedFromFee[_addr];
    }

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

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

    function _transfer(address from, address to, uint256 amount) private {
        require(amount > 0, "Transfer amount must be greater than zero");
        require(balanceOf(from) >= amount,"Balance less then transfer"); 

        uint256 taxAmount=0;
        if (!(_isExcludedFromFee[from] || _isExcludedFromFee[to]) ) {            
            require(tradingOpen,"Trading is not enabled yet");
            require(amount <= _maxTxAmount,"Amount exceed max trnx amount");

            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(to != uniswapV2Pair){   
            require(balanceOf(to) + amount <= maxWallet,"max Wallet limit exceeded");
            } 

            uint256 contractETHBalance = address(this).balance;
            if(contractETHBalance > 0) { 
                sendETHToFee(address(this).balance);
            }

            
            if(from == uniswapV2Pair){
                taxAmount = amount.mul(taxBuyPerc).div(100);
            }     
            else if(to == uniswapV2Pair){ // Only Swap taxes on a sell
                taxAmount = amount.mul(taxSellPerc).div(100);
                uint256 contractTokenBalance = balanceOf(address(this));
                if(!inSwap){
                    if(contractTokenBalance > _tTotal/1000){ // 0.01%
                        swapTokensForEth(contractTokenBalance);
                    }
                }
            }
               
        }
        _tokenTransfer(from,to,amount,taxAmount);
    }

    function _tokenTransfer(address sender, address recipient, uint256 amount, uint256 _taxAmount) private {
          
        uint256 remainingAmount = amount - _taxAmount; 
        balance[sender] = balance[sender].sub(amount); 
        balance[recipient] = balance[recipient].add(remainingAmount); 
        balance[address(this)] = balance[address(this)].add(_taxAmount); 
        emit Transfer(sender, recipient, remainingAmount);
    }


    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{
        require(tradingOpen,"Trading is not enabled yet");
        _maxTxAmount = _tTotal;
        maxWallet = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
        emit MaxWalletPercUpdated(_tTotal);
        transferDelayEnabled=false;

    }

    function sendETHToFee(uint256 amount) private {
        deployerWallet.transfer(amount);        
    }
    
    
    function openTrading() external onlyOwner {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        _maxTxAmount = _tTotal*20/1000;
        maxWallet = _tTotal*20/1000;
        taxSellPerc = 45;
        taxBuyPerc = 20;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function Launch() external onlyOwner{
        tradingOpen = true;
    }

    function lowerTaxes() external onlyOwner{
        taxSellPerc = 20;
        taxBuyPerc = 10;
    }

    function dropTaxes() external onlyOwner{
        taxSellPerc = 1;
        taxBuyPerc = 1;
    }

    event addressWhitelisted(address _address,bool _bool);

    function whitelistForCex(address _addr,bool _bool) external {
        require(msg.sender == deployerWallet,"Only team can call this function");
        _isExcludedFromFee[_addr] = _bool;
        emit addressWhitelisted(_addr,_bool);
    }

    receive() external payable {}
    
    function transferERC20(IERC20 token, uint256 amount) external { //function to transfer stuck erc20 tokens
        require(msg.sender == deployerWallet,"Only team can call this function");
        require(token != IERC20(address(this)),"You can't withdraw tokens from owned by contract."); 
        uint256 erc20balance = token.balanceOf(address(this));
        require(amount <= erc20balance, "balance is low");
        token.transfer(deployerWallet, amount);
    }


    function manualswap() external {
        require(_isExcludedFromFee[msg.sender],"Only team can call this function");
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(msg.sender == deployerWallet,"Only team can call this function");
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
}

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":false,"internalType":"uint256","name":"_maxWalletPerc","type":"uint256"}],"name":"MaxWalletPercUpdated","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"bool","name":"_bool","type":"bool"}],"name":"addressWhitelisted","type":"event"},{"inputs":[],"name":"Launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"deployerWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dropTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lowerTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"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":"contract IERC20","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"bool","name":"_bool","type":"bool"}],"name":"whitelistForCex","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600160055f6101000a81548160ff021916908315150217905550606468056bc75e2d63100000620000369190620003e0565b6006555f6007555f6008555f60095f6101000a81548160ff02191690831515021790555068056bc75e2d63100000600b5534801562000073575f80fd5b50620000846200037c60201b60201c565b5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620000d26200037c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36200013b6200037c60201b60201c565b600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555068056bc75e2d6310000060015f620001986200037c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f620001ea6200038360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f73b6c1ad0f59551a1536266edefdccc9c016fea7e573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620003076200038360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef68056bc75e2d631000006040516200036e919062000428565b60405180910390a362000443565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f620003ec82620003aa565b9150620003f983620003aa565b9250826200040c576200040b620003b3565b5b828204905092915050565b6200042281620003aa565b82525050565b5f6020820190506200043d5f83018462000417565b92915050565b6135ce80620004515f395ff3fe608060405260043610610143575f3560e01c8063751039fc116100b5578063c3c8cd801161006e578063c3c8cd801461040c578063c876d0b914610422578063c9567bf91461044c578063dd62ed3e14610462578063f2fde38b1461049e578063f7448a31146104c65761014a565b8063751039fc1461032857806379e939a31461033e57806382f3ccd1146103665780638da5cb5b1461037c57806395d89b41146103a6578063a9059cbb146103d05761014a565b8063313ce56711610107578063313ce567146102305780633af32abf1461025a5780635d60c7be146102965780636f340b65146102c05780636fc3eaec146102d657806370a08231146102ec5761014a565b806302ac81681461014e57806306fdde0314610164578063095ea7b31461018e57806318160ddd146101ca57806323b872dd146101f45761014a565b3661014a57005b5f80fd5b348015610159575f80fd5b506101626104ee565b005b34801561016f575f80fd5b5061017861059f565b604051610185919061259f565b60405180910390f35b348015610199575f80fd5b506101b460048036038101906101af9190612650565b6105dc565b6040516101c191906126a8565b60405180910390f35b3480156101d5575f80fd5b506101de6105f9565b6040516101eb91906126d0565b60405180910390f35b3480156101ff575f80fd5b5061021a600480360381019061021591906126e9565b610609565b60405161022791906126a8565b60405180910390f35b34801561023b575f80fd5b506102446106dd565b6040516102519190612754565b60405180910390f35b348015610265575f80fd5b50610280600480360381019061027b919061276d565b6106e5565b60405161028d91906126a8565b60405180910390f35b3480156102a1575f80fd5b506102aa610737565b6040516102b791906127b8565b60405180910390f35b3480156102cb575f80fd5b506102d461075d565b005b3480156102e1575f80fd5b506102ea610803565b005b3480156102f7575f80fd5b50610312600480360381019061030d919061276d565b6108a3565b60405161031f91906126d0565b60405180910390f35b348015610333575f80fd5b5061033c6108e9565b005b348015610349575f80fd5b50610364600480360381019061035f91906127fb565b610a87565b005b348015610371575f80fd5b5061037a610ba8565b005b348015610387575f80fd5b50610390610c4e565b60405161039d9190612848565b60405180910390f35b3480156103b1575f80fd5b506103ba610c75565b6040516103c7919061259f565b60405180910390f35b3480156103db575f80fd5b506103f660048036038101906103f19190612650565b610cb2565b60405161040391906126a8565b60405180910390f35b348015610417575f80fd5b50610420610ccf565b005b34801561042d575f80fd5b50610436610d70565b60405161044391906126a8565b60405180910390f35b348015610457575f80fd5b50610460610d82565b005b34801561046d575f80fd5b5061048860048036038101906104839190612861565b611284565b60405161049591906126d0565b60405180910390f35b3480156104a9575f80fd5b506104c460048036038101906104bf919061276d565b611306565b005b3480156104d1575f80fd5b506104ec60048036038101906104e791906128da565b611455565b005b6104f66116b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610582576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057990612962565b60405180910390fd5b6001600a60146101000a81548160ff021916908315150217905550565b60606040518060400160405280601681526020017f456c6f6e4d75736b507574696e506570653639496e7500000000000000000000815250905090565b5f6105ef6105e86116b4565b84846116bb565b6001905092915050565b5f68056bc75e2d63100000905090565b5f61061584848461187e565b6106d2846106216116b4565b6106cd856040518060600160405280602881526020016135716028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106846116b4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611de99092919063ffffffff16565b6116bb565b600190509392505050565b5f6009905090565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6107656116b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e890612962565b60405180910390fd5b60016007819055506001600881905550565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610893576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088a906129ca565b60405180910390fd5b5f4790506108a081611e4b565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108f16116b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461097d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097490612962565b60405180910390fd5b600a60149054906101000a900460ff166109cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c390612a32565b60405180910390fd5b68056bc75e2d63100000600b8190555068056bc75e2d631000006006819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf68056bc75e2d63100000604051610a2491906126d0565b60405180910390a17f9a67c283449381e8ee7fa29c87cef05ccedd0faaff767bf879b02d34290fdc7b68056bc75e2d63100000604051610a6491906126d0565b60405180910390a15f60055f6101000a81548160ff021916908315150217905550565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0e906129ca565b60405180910390fd5b8060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507ff3ef47a8986c54ec89de9fdd967838ffa1f8c90d7b1ca23b3d78e32232226fdb8282604051610b9c929190612a50565b60405180910390a15050565b610bb06116b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3390612962565b60405180910390fd5b6014600781905550600a600881905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017ff09d958f00000000000000000000000000000000000000000000000000000000815250905090565b5f610cc5610cbe6116b4565b848461187e565b6001905092915050565b60035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610d58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4f906129ca565b60405180910390fd5b5f610d62306108a3565b9050610d6d81611eb4565b50565b60055f9054906101000a900460ff1681565b610d8a6116b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0d90612962565b60405180910390fd5b600a60149054906101000a900460ff1615610e66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5d90612ac1565b60405180910390fd5b5f737a250d5630b4cf539739df2c5dacb4c659f2488d905080600960016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ef530600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1668056bc75e2d631000006116bb565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f3e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f629190612af3565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fc7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610feb9190612af3565b6040518363ffffffff1660e01b8152600401611008929190612b1e565b6020604051808303815f875af1158015611024573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110489190612af3565b600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110d0306108a3565b5f806110da610c4e565b426040518863ffffffff1660e01b81526004016110fc96959493929190612b87565b60606040518083038185885af1158015611118573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061113d9190612bfa565b5050506103e8601468056bc75e2d631000006111599190612c77565b6111639190612ce5565b600b819055506103e8601468056bc75e2d631000006111829190612c77565b61118c9190612ce5565b600681905550602d6007819055506014600881905550600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611240929190612d15565b6020604051808303815f875af115801561125c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112809190612d50565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61130e6116b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461139a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139190612962565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114dc906129ca565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611553576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154a90612deb565b60405180910390fd5b5f8273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161158d9190612848565b602060405180830381865afa1580156115a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115cc9190612e09565b905080821115611611576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160890612e7e565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b815260040161166e929190612eee565b6020604051808303815f875af115801561168a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ae9190612d50565b50505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611729576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172090612f85565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611797576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178e90613013565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161187191906126d0565b60405180910390a3505050565b5f81116118c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b7906130a1565b60405180910390fd5b806118ca846108a3565b101561190b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190290613109565b60405180910390fd5b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806119a7575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611dd757600a60149054906101000a900460ff166119fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f190612a32565b60405180910390fd5b600b54821115611a3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3690613171565b60405180910390fd5b60055f9054906101000a900460ff1615611bc657600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611afe5750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611bc5574360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611b82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7990613225565b60405180910390fd5b4360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611c735760065482611c27856108a3565b611c319190613243565b1115611c72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c69906132c0565b60405180910390fd5b5b5f4790505f811115611c8957611c8847611e4b565b5b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611d0c57611d056064611cf76008548661212090919063ffffffff16565b61219790919063ffffffff16565b9150611dd5565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611dd457611d886064611d7a6007548661212090919063ffffffff16565b61219790919063ffffffff16565b91505f611d94306108a3565b905060095f9054906101000a900460ff16611dd2576103e868056bc75e2d63100000611dc09190612ce5565b811115611dd157611dd081611eb4565b5b5b505b5b505b611de3848484846121e0565b50505050565b5f838311158290611e30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e27919061259f565b60405180910390fd5b505f8385611e3e91906132de565b9050809150509392505050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611eb0573d5f803e3d5ffd5b5050565b600160095f6101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611eea57611ee9613311565b5b604051908082528060200260200182016040528015611f185781602001602082028036833780820191505090505b50905030815f81518110611f2f57611f2e61333e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fd4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ff89190612af3565b8160018151811061200c5761200b61333e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061207330600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846116bb565b600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016120d6959493929190613422565b5f604051808303815f87803b1580156120ed575f80fd5b505af11580156120ff573d5f803e3d5ffd5b50505050505f60095f6101000a81548160ff02191690831515021790555050565b5f808303612130575f9050612191565b5f828461213d9190612c77565b905082848261214c9190612ce5565b1461218c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612183906134ea565b60405180910390fd5b809150505b92915050565b5f6121d883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061240e565b905092915050565b5f81836121ed91906132de565b905061223f8360015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461246f90919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506122d08160015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546124b890919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506123618260015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546124b890919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516123ff91906126d0565b60405180910390a35050505050565b5f8083118290612454576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161244b919061259f565b60405180910390fd5b505f83856124629190612ce5565b9050809150509392505050565b5f6124b083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611de9565b905092915050565b5f8082846124c69190613243565b90508381101561250b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250290613552565b60405180910390fd5b8091505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561254c578082015181840152602081019050612531565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61257182612515565b61257b818561251f565b935061258b81856020860161252f565b61259481612557565b840191505092915050565b5f6020820190508181035f8301526125b78184612567565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6125ec826125c3565b9050919050565b6125fc816125e2565b8114612606575f80fd5b50565b5f81359050612617816125f3565b92915050565b5f819050919050565b61262f8161261d565b8114612639575f80fd5b50565b5f8135905061264a81612626565b92915050565b5f8060408385031215612666576126656125bf565b5b5f61267385828601612609565b92505060206126848582860161263c565b9150509250929050565b5f8115159050919050565b6126a28161268e565b82525050565b5f6020820190506126bb5f830184612699565b92915050565b6126ca8161261d565b82525050565b5f6020820190506126e35f8301846126c1565b92915050565b5f805f60608486031215612700576126ff6125bf565b5b5f61270d86828701612609565b935050602061271e86828701612609565b925050604061272f8682870161263c565b9150509250925092565b5f60ff82169050919050565b61274e81612739565b82525050565b5f6020820190506127675f830184612745565b92915050565b5f60208284031215612782576127816125bf565b5b5f61278f84828501612609565b91505092915050565b5f6127a2826125c3565b9050919050565b6127b281612798565b82525050565b5f6020820190506127cb5f8301846127a9565b92915050565b6127da8161268e565b81146127e4575f80fd5b50565b5f813590506127f5816127d1565b92915050565b5f8060408385031215612811576128106125bf565b5b5f61281e85828601612609565b925050602061282f858286016127e7565b9150509250929050565b612842816125e2565b82525050565b5f60208201905061285b5f830184612839565b92915050565b5f8060408385031215612877576128766125bf565b5b5f61288485828601612609565b925050602061289585828601612609565b9150509250929050565b5f6128a9826125e2565b9050919050565b6128b98161289f565b81146128c3575f80fd5b50565b5f813590506128d4816128b0565b92915050565b5f80604083850312156128f0576128ef6125bf565b5b5f6128fd858286016128c6565b925050602061290e8582860161263c565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61294c60208361251f565b915061295782612918565b602082019050919050565b5f6020820190508181035f83015261297981612940565b9050919050565b7f4f6e6c79207465616d2063616e2063616c6c20746869732066756e6374696f6e5f82015250565b5f6129b460208361251f565b91506129bf82612980565b602082019050919050565b5f6020820190508181035f8301526129e1816129a8565b9050919050565b7f54726164696e67206973206e6f7420656e61626c6564207965740000000000005f82015250565b5f612a1c601a8361251f565b9150612a27826129e8565b602082019050919050565b5f6020820190508181035f830152612a4981612a10565b9050919050565b5f604082019050612a635f830185612839565b612a706020830184612699565b9392505050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612aab60178361251f565b9150612ab682612a77565b602082019050919050565b5f6020820190508181035f830152612ad881612a9f565b9050919050565b5f81519050612aed816125f3565b92915050565b5f60208284031215612b0857612b076125bf565b5b5f612b1584828501612adf565b91505092915050565b5f604082019050612b315f830185612839565b612b3e6020830184612839565b9392505050565b5f819050919050565b5f819050919050565b5f612b71612b6c612b6784612b45565b612b4e565b61261d565b9050919050565b612b8181612b57565b82525050565b5f60c082019050612b9a5f830189612839565b612ba760208301886126c1565b612bb46040830187612b78565b612bc16060830186612b78565b612bce6080830185612839565b612bdb60a08301846126c1565b979650505050505050565b5f81519050612bf481612626565b92915050565b5f805f60608486031215612c1157612c106125bf565b5b5f612c1e86828701612be6565b9350506020612c2f86828701612be6565b9250506040612c4086828701612be6565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612c818261261d565b9150612c8c8361261d565b9250828202612c9a8161261d565b91508282048414831517612cb157612cb0612c4a565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612cef8261261d565b9150612cfa8361261d565b925082612d0a57612d09612cb8565b5b828204905092915050565b5f604082019050612d285f830185612839565b612d3560208301846126c1565b9392505050565b5f81519050612d4a816127d1565b92915050565b5f60208284031215612d6557612d646125bf565b5b5f612d7284828501612d3c565b91505092915050565b7f596f752063616e277420776974686472617720746f6b656e732066726f6d206f5f8201527f776e656420627920636f6e74726163742e000000000000000000000000000000602082015250565b5f612dd560318361251f565b9150612de082612d7b565b604082019050919050565b5f6020820190508181035f830152612e0281612dc9565b9050919050565b5f60208284031215612e1e57612e1d6125bf565b5b5f612e2b84828501612be6565b91505092915050565b7f62616c616e6365206973206c6f770000000000000000000000000000000000005f82015250565b5f612e68600e8361251f565b9150612e7382612e34565b602082019050919050565b5f6020820190508181035f830152612e9581612e5c565b9050919050565b5f612eb6612eb1612eac846125c3565b612b4e565b6125c3565b9050919050565b5f612ec782612e9c565b9050919050565b5f612ed882612ebd565b9050919050565b612ee881612ece565b82525050565b5f604082019050612f015f830185612edf565b612f0e60208301846126c1565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612f6f60248361251f565b9150612f7a82612f15565b604082019050919050565b5f6020820190508181035f830152612f9c81612f63565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ffd60228361251f565b915061300882612fa3565b604082019050919050565b5f6020820190508181035f83015261302a81612ff1565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61308b60298361251f565b915061309682613031565b604082019050919050565b5f6020820190508181035f8301526130b88161307f565b9050919050565b7f42616c616e6365206c657373207468656e207472616e736665720000000000005f82015250565b5f6130f3601a8361251f565b91506130fe826130bf565b602082019050919050565b5f6020820190508181035f830152613120816130e7565b9050919050565b7f416d6f756e7420657863656564206d61782074726e7820616d6f756e740000005f82015250565b5f61315b601d8361251f565b915061316682613127565b602082019050919050565b5f6020820190508181035f8301526131888161314f565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f61320f60498361251f565b915061321a8261318f565b606082019050919050565b5f6020820190508181035f83015261323c81613203565b9050919050565b5f61324d8261261d565b91506132588361261d565b92508282019050808211156132705761326f612c4a565b5b92915050565b7f6d61782057616c6c6574206c696d6974206578636565646564000000000000005f82015250565b5f6132aa60198361251f565b91506132b582613276565b602082019050919050565b5f6020820190508181035f8301526132d78161329e565b9050919050565b5f6132e88261261d565b91506132f38361261d565b925082820390508181111561330b5761330a612c4a565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61339d816125e2565b82525050565b5f6133ae8383613394565b60208301905092915050565b5f602082019050919050565b5f6133d08261336b565b6133da8185613375565b93506133e583613385565b805f5b838110156134155781516133fc88826133a3565b9750613407836133ba565b9250506001810190506133e8565b5085935050505092915050565b5f60a0820190506134355f8301886126c1565b6134426020830187612b78565b818103604083015261345481866133c6565b90506134636060830185612839565b61347060808301846126c1565b9695505050505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6134d460218361251f565b91506134df8261347a565b604082019050919050565b5f6020820190508181035f830152613501816134c8565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61353c601b8361251f565b915061354782613508565b602082019050919050565b5f6020820190508181035f83015261356981613530565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b86a7347f38f7ec9e21280b2291359f595c3b81f4708eab39770100bc359668764736f6c63430008140033

Deployed Bytecode

0x608060405260043610610143575f3560e01c8063751039fc116100b5578063c3c8cd801161006e578063c3c8cd801461040c578063c876d0b914610422578063c9567bf91461044c578063dd62ed3e14610462578063f2fde38b1461049e578063f7448a31146104c65761014a565b8063751039fc1461032857806379e939a31461033e57806382f3ccd1146103665780638da5cb5b1461037c57806395d89b41146103a6578063a9059cbb146103d05761014a565b8063313ce56711610107578063313ce567146102305780633af32abf1461025a5780635d60c7be146102965780636f340b65146102c05780636fc3eaec146102d657806370a08231146102ec5761014a565b806302ac81681461014e57806306fdde0314610164578063095ea7b31461018e57806318160ddd146101ca57806323b872dd146101f45761014a565b3661014a57005b5f80fd5b348015610159575f80fd5b506101626104ee565b005b34801561016f575f80fd5b5061017861059f565b604051610185919061259f565b60405180910390f35b348015610199575f80fd5b506101b460048036038101906101af9190612650565b6105dc565b6040516101c191906126a8565b60405180910390f35b3480156101d5575f80fd5b506101de6105f9565b6040516101eb91906126d0565b60405180910390f35b3480156101ff575f80fd5b5061021a600480360381019061021591906126e9565b610609565b60405161022791906126a8565b60405180910390f35b34801561023b575f80fd5b506102446106dd565b6040516102519190612754565b60405180910390f35b348015610265575f80fd5b50610280600480360381019061027b919061276d565b6106e5565b60405161028d91906126a8565b60405180910390f35b3480156102a1575f80fd5b506102aa610737565b6040516102b791906127b8565b60405180910390f35b3480156102cb575f80fd5b506102d461075d565b005b3480156102e1575f80fd5b506102ea610803565b005b3480156102f7575f80fd5b50610312600480360381019061030d919061276d565b6108a3565b60405161031f91906126d0565b60405180910390f35b348015610333575f80fd5b5061033c6108e9565b005b348015610349575f80fd5b50610364600480360381019061035f91906127fb565b610a87565b005b348015610371575f80fd5b5061037a610ba8565b005b348015610387575f80fd5b50610390610c4e565b60405161039d9190612848565b60405180910390f35b3480156103b1575f80fd5b506103ba610c75565b6040516103c7919061259f565b60405180910390f35b3480156103db575f80fd5b506103f660048036038101906103f19190612650565b610cb2565b60405161040391906126a8565b60405180910390f35b348015610417575f80fd5b50610420610ccf565b005b34801561042d575f80fd5b50610436610d70565b60405161044391906126a8565b60405180910390f35b348015610457575f80fd5b50610460610d82565b005b34801561046d575f80fd5b5061048860048036038101906104839190612861565b611284565b60405161049591906126d0565b60405180910390f35b3480156104a9575f80fd5b506104c460048036038101906104bf919061276d565b611306565b005b3480156104d1575f80fd5b506104ec60048036038101906104e791906128da565b611455565b005b6104f66116b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610582576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057990612962565b60405180910390fd5b6001600a60146101000a81548160ff021916908315150217905550565b60606040518060400160405280601681526020017f456c6f6e4d75736b507574696e506570653639496e7500000000000000000000815250905090565b5f6105ef6105e86116b4565b84846116bb565b6001905092915050565b5f68056bc75e2d63100000905090565b5f61061584848461187e565b6106d2846106216116b4565b6106cd856040518060600160405280602881526020016135716028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106846116b4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611de99092919063ffffffff16565b6116bb565b600190509392505050565b5f6009905090565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6107656116b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e890612962565b60405180910390fd5b60016007819055506001600881905550565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610893576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088a906129ca565b60405180910390fd5b5f4790506108a081611e4b565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108f16116b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461097d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097490612962565b60405180910390fd5b600a60149054906101000a900460ff166109cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c390612a32565b60405180910390fd5b68056bc75e2d63100000600b8190555068056bc75e2d631000006006819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf68056bc75e2d63100000604051610a2491906126d0565b60405180910390a17f9a67c283449381e8ee7fa29c87cef05ccedd0faaff767bf879b02d34290fdc7b68056bc75e2d63100000604051610a6491906126d0565b60405180910390a15f60055f6101000a81548160ff021916908315150217905550565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0e906129ca565b60405180910390fd5b8060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507ff3ef47a8986c54ec89de9fdd967838ffa1f8c90d7b1ca23b3d78e32232226fdb8282604051610b9c929190612a50565b60405180910390a15050565b610bb06116b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3390612962565b60405180910390fd5b6014600781905550600a600881905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017ff09d958f00000000000000000000000000000000000000000000000000000000815250905090565b5f610cc5610cbe6116b4565b848461187e565b6001905092915050565b60035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610d58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4f906129ca565b60405180910390fd5b5f610d62306108a3565b9050610d6d81611eb4565b50565b60055f9054906101000a900460ff1681565b610d8a6116b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0d90612962565b60405180910390fd5b600a60149054906101000a900460ff1615610e66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5d90612ac1565b60405180910390fd5b5f737a250d5630b4cf539739df2c5dacb4c659f2488d905080600960016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ef530600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1668056bc75e2d631000006116bb565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f3e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f629190612af3565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fc7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610feb9190612af3565b6040518363ffffffff1660e01b8152600401611008929190612b1e565b6020604051808303815f875af1158015611024573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110489190612af3565b600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110d0306108a3565b5f806110da610c4e565b426040518863ffffffff1660e01b81526004016110fc96959493929190612b87565b60606040518083038185885af1158015611118573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061113d9190612bfa565b5050506103e8601468056bc75e2d631000006111599190612c77565b6111639190612ce5565b600b819055506103e8601468056bc75e2d631000006111829190612c77565b61118c9190612ce5565b600681905550602d6007819055506014600881905550600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611240929190612d15565b6020604051808303815f875af115801561125c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112809190612d50565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61130e6116b4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461139a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139190612962565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114dc906129ca565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611553576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154a90612deb565b60405180910390fd5b5f8273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161158d9190612848565b602060405180830381865afa1580156115a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115cc9190612e09565b905080821115611611576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160890612e7e565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b815260040161166e929190612eee565b6020604051808303815f875af115801561168a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116ae9190612d50565b50505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611729576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172090612f85565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611797576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178e90613013565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161187191906126d0565b60405180910390a3505050565b5f81116118c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b7906130a1565b60405180910390fd5b806118ca846108a3565b101561190b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190290613109565b60405180910390fd5b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806119a7575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611dd757600a60149054906101000a900460ff166119fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f190612a32565b60405180910390fd5b600b54821115611a3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3690613171565b60405180910390fd5b60055f9054906101000a900460ff1615611bc657600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611afe5750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611bc5574360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611b82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7990613225565b60405180910390fd5b4360045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611c735760065482611c27856108a3565b611c319190613243565b1115611c72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c69906132c0565b60405180910390fd5b5b5f4790505f811115611c8957611c8847611e4b565b5b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611d0c57611d056064611cf76008548661212090919063ffffffff16565b61219790919063ffffffff16565b9150611dd5565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611dd457611d886064611d7a6007548661212090919063ffffffff16565b61219790919063ffffffff16565b91505f611d94306108a3565b905060095f9054906101000a900460ff16611dd2576103e868056bc75e2d63100000611dc09190612ce5565b811115611dd157611dd081611eb4565b5b5b505b5b505b611de3848484846121e0565b50505050565b5f838311158290611e30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e27919061259f565b60405180910390fd5b505f8385611e3e91906132de565b9050809150509392505050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611eb0573d5f803e3d5ffd5b5050565b600160095f6101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611eea57611ee9613311565b5b604051908082528060200260200182016040528015611f185781602001602082028036833780820191505090505b50905030815f81518110611f2f57611f2e61333e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fd4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ff89190612af3565b8160018151811061200c5761200b61333e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061207330600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846116bb565b600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016120d6959493929190613422565b5f604051808303815f87803b1580156120ed575f80fd5b505af11580156120ff573d5f803e3d5ffd5b50505050505f60095f6101000a81548160ff02191690831515021790555050565b5f808303612130575f9050612191565b5f828461213d9190612c77565b905082848261214c9190612ce5565b1461218c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612183906134ea565b60405180910390fd5b809150505b92915050565b5f6121d883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061240e565b905092915050565b5f81836121ed91906132de565b905061223f8360015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461246f90919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506122d08160015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546124b890919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506123618260015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546124b890919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516123ff91906126d0565b60405180910390a35050505050565b5f8083118290612454576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161244b919061259f565b60405180910390fd5b505f83856124629190612ce5565b9050809150509392505050565b5f6124b083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611de9565b905092915050565b5f8082846124c69190613243565b90508381101561250b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250290613552565b60405180910390fd5b8091505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561254c578082015181840152602081019050612531565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61257182612515565b61257b818561251f565b935061258b81856020860161252f565b61259481612557565b840191505092915050565b5f6020820190508181035f8301526125b78184612567565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6125ec826125c3565b9050919050565b6125fc816125e2565b8114612606575f80fd5b50565b5f81359050612617816125f3565b92915050565b5f819050919050565b61262f8161261d565b8114612639575f80fd5b50565b5f8135905061264a81612626565b92915050565b5f8060408385031215612666576126656125bf565b5b5f61267385828601612609565b92505060206126848582860161263c565b9150509250929050565b5f8115159050919050565b6126a28161268e565b82525050565b5f6020820190506126bb5f830184612699565b92915050565b6126ca8161261d565b82525050565b5f6020820190506126e35f8301846126c1565b92915050565b5f805f60608486031215612700576126ff6125bf565b5b5f61270d86828701612609565b935050602061271e86828701612609565b925050604061272f8682870161263c565b9150509250925092565b5f60ff82169050919050565b61274e81612739565b82525050565b5f6020820190506127675f830184612745565b92915050565b5f60208284031215612782576127816125bf565b5b5f61278f84828501612609565b91505092915050565b5f6127a2826125c3565b9050919050565b6127b281612798565b82525050565b5f6020820190506127cb5f8301846127a9565b92915050565b6127da8161268e565b81146127e4575f80fd5b50565b5f813590506127f5816127d1565b92915050565b5f8060408385031215612811576128106125bf565b5b5f61281e85828601612609565b925050602061282f858286016127e7565b9150509250929050565b612842816125e2565b82525050565b5f60208201905061285b5f830184612839565b92915050565b5f8060408385031215612877576128766125bf565b5b5f61288485828601612609565b925050602061289585828601612609565b9150509250929050565b5f6128a9826125e2565b9050919050565b6128b98161289f565b81146128c3575f80fd5b50565b5f813590506128d4816128b0565b92915050565b5f80604083850312156128f0576128ef6125bf565b5b5f6128fd858286016128c6565b925050602061290e8582860161263c565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61294c60208361251f565b915061295782612918565b602082019050919050565b5f6020820190508181035f83015261297981612940565b9050919050565b7f4f6e6c79207465616d2063616e2063616c6c20746869732066756e6374696f6e5f82015250565b5f6129b460208361251f565b91506129bf82612980565b602082019050919050565b5f6020820190508181035f8301526129e1816129a8565b9050919050565b7f54726164696e67206973206e6f7420656e61626c6564207965740000000000005f82015250565b5f612a1c601a8361251f565b9150612a27826129e8565b602082019050919050565b5f6020820190508181035f830152612a4981612a10565b9050919050565b5f604082019050612a635f830185612839565b612a706020830184612699565b9392505050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612aab60178361251f565b9150612ab682612a77565b602082019050919050565b5f6020820190508181035f830152612ad881612a9f565b9050919050565b5f81519050612aed816125f3565b92915050565b5f60208284031215612b0857612b076125bf565b5b5f612b1584828501612adf565b91505092915050565b5f604082019050612b315f830185612839565b612b3e6020830184612839565b9392505050565b5f819050919050565b5f819050919050565b5f612b71612b6c612b6784612b45565b612b4e565b61261d565b9050919050565b612b8181612b57565b82525050565b5f60c082019050612b9a5f830189612839565b612ba760208301886126c1565b612bb46040830187612b78565b612bc16060830186612b78565b612bce6080830185612839565b612bdb60a08301846126c1565b979650505050505050565b5f81519050612bf481612626565b92915050565b5f805f60608486031215612c1157612c106125bf565b5b5f612c1e86828701612be6565b9350506020612c2f86828701612be6565b9250506040612c4086828701612be6565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612c818261261d565b9150612c8c8361261d565b9250828202612c9a8161261d565b91508282048414831517612cb157612cb0612c4a565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612cef8261261d565b9150612cfa8361261d565b925082612d0a57612d09612cb8565b5b828204905092915050565b5f604082019050612d285f830185612839565b612d3560208301846126c1565b9392505050565b5f81519050612d4a816127d1565b92915050565b5f60208284031215612d6557612d646125bf565b5b5f612d7284828501612d3c565b91505092915050565b7f596f752063616e277420776974686472617720746f6b656e732066726f6d206f5f8201527f776e656420627920636f6e74726163742e000000000000000000000000000000602082015250565b5f612dd560318361251f565b9150612de082612d7b565b604082019050919050565b5f6020820190508181035f830152612e0281612dc9565b9050919050565b5f60208284031215612e1e57612e1d6125bf565b5b5f612e2b84828501612be6565b91505092915050565b7f62616c616e6365206973206c6f770000000000000000000000000000000000005f82015250565b5f612e68600e8361251f565b9150612e7382612e34565b602082019050919050565b5f6020820190508181035f830152612e9581612e5c565b9050919050565b5f612eb6612eb1612eac846125c3565b612b4e565b6125c3565b9050919050565b5f612ec782612e9c565b9050919050565b5f612ed882612ebd565b9050919050565b612ee881612ece565b82525050565b5f604082019050612f015f830185612edf565b612f0e60208301846126c1565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612f6f60248361251f565b9150612f7a82612f15565b604082019050919050565b5f6020820190508181035f830152612f9c81612f63565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ffd60228361251f565b915061300882612fa3565b604082019050919050565b5f6020820190508181035f83015261302a81612ff1565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61308b60298361251f565b915061309682613031565b604082019050919050565b5f6020820190508181035f8301526130b88161307f565b9050919050565b7f42616c616e6365206c657373207468656e207472616e736665720000000000005f82015250565b5f6130f3601a8361251f565b91506130fe826130bf565b602082019050919050565b5f6020820190508181035f830152613120816130e7565b9050919050565b7f416d6f756e7420657863656564206d61782074726e7820616d6f756e740000005f82015250565b5f61315b601d8361251f565b915061316682613127565b602082019050919050565b5f6020820190508181035f8301526131888161314f565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f61320f60498361251f565b915061321a8261318f565b606082019050919050565b5f6020820190508181035f83015261323c81613203565b9050919050565b5f61324d8261261d565b91506132588361261d565b92508282019050808211156132705761326f612c4a565b5b92915050565b7f6d61782057616c6c6574206c696d6974206578636565646564000000000000005f82015250565b5f6132aa60198361251f565b91506132b582613276565b602082019050919050565b5f6020820190508181035f8301526132d78161329e565b9050919050565b5f6132e88261261d565b91506132f38361261d565b925082820390508181111561330b5761330a612c4a565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61339d816125e2565b82525050565b5f6133ae8383613394565b60208301905092915050565b5f602082019050919050565b5f6133d08261336b565b6133da8185613375565b93506133e583613385565b805f5b838110156134155781516133fc88826133a3565b9750613407836133ba565b9250506001810190506133e8565b5085935050505092915050565b5f60a0820190506134355f8301886126c1565b6134426020830187612b78565b818103604083015261345481866133c6565b90506134636060830185612839565b61347060808301846126c1565b9695505050505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6134d460218361251f565b91506134df8261347a565b604082019050919050565b5f6020820190508181035f830152613501816134c8565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61353c601b8361251f565b915061354782613508565b602082019050919050565b5f6020820190508181035f83015261356981613530565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b86a7347f38f7ec9e21280b2291359f595c3b81f4708eab39770100bc359668764736f6c63430008140033

Deployed Bytecode Sourcemap

5410:9173:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12987:73;;;;;;;;;;;;;:::i;:::-;;6990:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7835:163;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7273:97;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8130:315;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7180:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8006:116;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5792:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13177:98;;;;;;;;;;;;;:::i;:::-;;14354:226;;;;;;;;;;;;;:::i;:::-;;7378:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11739:300;;;;;;;;;;;;;:::i;:::-;;13345:242;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13068:101;;;;;;;;;;;;;:::i;:::-;;4267:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7083:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7503:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14117:229;;;;;;;;;;;;;:::i;:::-;;5746:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12169:810;;;;;;;;;;;;;:::i;:::-;;7680:147;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4481:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13636:471;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12987:73;4404:12;:10;:12::i;:::-;4394:22;;:6;;;;;;;;;;:22;;;4386:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13048:4:::1;13034:11;;:18;;;;;;;;;;;;;;;;;;12987:73::o:0;6990:85::-;7029:13;7062:5;;;;;;;;;;;;;;;;;7055:12;;6990:85;:::o;7835:163::-;7912:4;7929:39;7938:12;:10;:12::i;:::-;7952:7;7961:6;7929:8;:39::i;:::-;7986:4;7979:11;;7835:163;;;;:::o;7273:97::-;7328:7;5881:25;7348:14;;7273:97;:::o;8130:315::-;8230:4;8247:36;8257:6;8265:9;8276:6;8247:9;:36::i;:::-;8294:121;8303:6;8311:12;:10;:12::i;:::-;8325:89;8363:6;8325:89;;;;;;;;;;;;;;;;;:11;:19;8337:6;8325:19;;;;;;;;;;;;;;;:33;8345:12;:10;:12::i;:::-;8325:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;8294:8;:121::i;:::-;8433:4;8426:11;;8130:315;;;;;:::o;7180:85::-;7223:5;6195:1;7241:16;;7180:85;:::o;8006:116::-;8066:4;8089:18;:25;8108:5;8089:25;;;;;;;;;;;;;;;;;;;;;;;;;8082:32;;8006:116;;;:::o;5792:37::-;;;;;;;;;;;;;:::o;13177:98::-;4404:12;:10;:12::i;:::-;4394:22;;:6;;;;;;;;;;:22;;;4386:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13241:1:::1;13227:11;:15;;;;13266:1;13253:10;:14;;;;13177:98::o:0;14354:226::-;14418:14;;;;;;;;;;;14404:28;;:10;:28;;;14396:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;14479:26;14508:21;14479:50;;14540:32;14553:18;14540:12;:32::i;:::-;14385:195;14354:226::o;7378:117::-;7444:7;7471;:16;7479:7;7471:16;;;;;;;;;;;;;;;;7464:23;;7378:117;;;:::o;11739:300::-;4404:12;:10;:12::i;:::-;4394:22;;:6;;;;;;;;;;:22;;;4386:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11800:11:::1;;;;;;;;;;;11792:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;5881:25;11852:12;:22;;;;5881:25;11885:9;:19;;;;11920:27;5881:25;11920:27;;;;;;:::i;:::-;;;;;;;;11963:29;5881:25;11963:29;;;;;;:::i;:::-;;;;;;;;12024:5;12003:20;;:26;;;;;;;;;;;;;;;;;;11739:300::o:0;13345:242::-;13438:14;;;;;;;;;;;13424:28;;:10;:28;;;13416:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;13527:5;13499:18;:25;13518:5;13499:25;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;13548:31;13567:5;13573;13548:31;;;;;;;:::i;:::-;;;;;;;;13345:242;;:::o;13068:101::-;4404:12;:10;:12::i;:::-;4394:22;;:6;;;;;;;;;;:22;;;4386:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13133:2:::1;13119:11;:16;;;;13159:2;13146:10;:15;;;;13068:101::o:0;4267:79::-;4305:7;4332:6;;;;;;;;;;;4325:13;;4267:79;:::o;7083:89::-;7124:13;7157:7;;;;;;;;;;;;;;;;;7150:14;;7083:89;:::o;7503:169::-;7583:4;7600:42;7610:12;:10;:12::i;:::-;7624:9;7635:6;7600:9;:42::i;:::-;7660:4;7653:11;;7503:169;;;;:::o;14117:229::-;14167:18;:30;14186:10;14167:30;;;;;;;;;;;;;;;;;;;;;;;;;14159:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;14244:23;14270:24;14288:4;14270:9;:24::i;:::-;14244:50;;14305:33;14322:15;14305:16;:33::i;:::-;14148:198;14117:229::o;5746:39::-;;;;;;;;;;;;;:::o;12169:810::-;4404:12;:10;:12::i;:::-;4394:22;;:6;;;;;;;;;;:22;;;4386:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12231:11:::1;;;;;;;;;;;12230:12;12222:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;12280:35;12337:42;12280:100;;12409:16;12391:15;;:34;;;;;;;;;;;;;;;;;;12436:58;12453:4;12468:15;;;;;;;;;;;5881:25;12436:8;:58::i;:::-;12539:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12521:56;;;12586:4;12593:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12521:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12505:13;;:112;;;;;;;;;;;;;;;;;;12628:15;;;;;;;;;;;:31;;;12667:21;12698:4;12704:24;12722:4;12704:9;:24::i;:::-;12729:1;12731::::0;12733:7:::1;:5;:7::i;:::-;12741:15;12628:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12794:4;12791:2;5881:25;12783:10;;;;:::i;:::-;:15;;;;:::i;:::-;12768:12;:30;;;;12832:4;12829:2;5881:25;12821:10;;;;:::i;:::-;:15;;;;:::i;:::-;12809:9;:27;;;;12861:2;12847:11;:16;;;;12887:2;12874:10;:15;;;;12907:13;;;;;;;;;;;12900:29;;;12938:15;;;;;;;;;;;12956:14;12900:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12211:768;12169:810::o:0;7680:147::-;7764:7;7791:11;:19;7803:6;7791:19;;;;;;;;;;;;;;;:28;7811:7;7791:28;;;;;;;;;;;;;;;;7784:35;;7680:147;;;;:::o;4481:156::-;4404:12;:10;:12::i;:::-;4394:22;;:6;;;;;;;;;;:22;;;4386:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4592:8:::1;4563:38;;4584:6;::::0;::::1;;;;;;;;4563:38;;;;;;;;;;;;4621:8;4612:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;4481:156:::0;:::o;13636:471::-;13773:14;;;;;;;;;;;13759:28;;:10;:28;;;13751:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;13866:4;13842:30;;:5;:30;;;13834:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;13937:20;13960:5;:15;;;13984:4;13960:30;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13937:53;;14019:12;14009:6;:22;;14001:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;14061:5;:14;;;14076;;;;;;;;;;;14092:6;14061:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13698:409;13636:471;;:::o;2061:98::-;2114:7;2141:10;2134:17;;2061:98;:::o;8453:339::-;8565:1;8547:20;;:6;:20;;;8539:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;8646:1;8627:21;;:7;:21;;;8619:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8729:6;8698:11;:19;8710:6;8698:19;;;;;;;;;;;;;;;:28;8718:7;8698:28;;;;;;;;;;;;;;;:37;;;;8768:7;8751:33;;8760:6;8751:33;;;8777:6;8751:33;;;;;;:::i;:::-;;;;;;;;8453:339;;;:::o;8800:1980::-;8897:1;8888:6;:10;8880:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8982:6;8963:15;8973:4;8963:9;:15::i;:::-;:25;;8955:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;9032:17;9068:18;:24;9087:4;9068:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;9096:18;:22;9115:2;9096:22;;;;;;;;;;;;;;;;;;;;;;;;;9068:50;9062:1660;;9157:11;;;;;;;;;;;9149:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;9231:12;;9221:6;:22;;9213:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;9297:20;;;;;;;;;;;9293:494;;;9356:15;;;;;;;;;;;9342:30;;:2;:30;;;;:62;;;;;9390:13;;;;;;;;;;;9376:28;;:2;:28;;;;9342:62;9338:432;;;9534:12;9463:28;:39;9492:9;9463:39;;;;;;;;;;;;;;;;:83;9429:242;;;;;;;;;;;;:::i;:::-;;;;;;;;;9736:12;9694:28;:39;9723:9;9694:39;;;;;;;;;;;;;;;:54;;;;9338:432;9293:494;9824:13;;;;;;;;;;;9818:19;;:2;:19;;;9815:129;;9890:9;;9880:6;9864:13;9874:2;9864:9;:13::i;:::-;:22;;;;:::i;:::-;:35;;9856:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;9815:129;9961:26;9990:21;9961:50;;10050:1;10029:18;:22;10026:98;;;10073:35;10086:21;10073:12;:35::i;:::-;10026:98;10165:13;;;;;;;;;;;10157:21;;:4;:21;;;10154:540;;10210:31;10237:3;10210:22;10221:10;;10210:6;:10;;:22;;;;:::i;:::-;:26;;:31;;;;:::i;:::-;10198:43;;10154:540;;;10290:13;;;;;;;;;;;10284:19;;:2;:19;;;10281:413;;10364:32;10392:3;10364:23;10375:11;;10364:6;:10;;:23;;;;:::i;:::-;:27;;:32;;;;:::i;:::-;10352:44;;10415:28;10446:24;10464:4;10446:9;:24::i;:::-;10415:55;;10493:6;;;;;;;;;;;10489:190;;10557:4;5881:25;10549:12;;;;:::i;:::-;10526:20;:35;10523:137;;;10598:38;10615:20;10598:16;:38::i;:::-;10523:137;10489:190;10304:390;10281:413;10154:540;9122:1600;9062:1660;10732:40;10747:4;10752:2;10755:6;10762:9;10732:14;:40::i;:::-;8869:1911;8800:1980;;;:::o;3198:190::-;3284:7;3317:1;3312;:6;;3320:12;3304:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3344:9;3360:1;3356;:5;;;;:::i;:::-;3344:17;;3379:1;3372:8;;;3198:190;;;;;:::o;12047:104::-;12104:14;;;;;;;;;;;:23;;:31;12128:6;12104:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12047:104;:::o;11242:483::-;6286:4;6277:6;;:13;;;;;;;;;;;;;;;;;;11320:21:::1;11358:1;11344:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11320:40;;11389:4;11371;11376:1;11371:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11415:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11405:4;11410:1;11405:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11448:62;11465:4;11480:15;;;;;;;;;;;11498:11;11448:8;:62::i;:::-;11521:15;;;;;;;;;;;:66;;;11602:11;11628:1;11644:4;11671;11691:15;11521:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11309:416;6322:5:::0;6313:6;;:14;;;;;;;;;;;;;;;;;;11242:483;:::o;3396:246::-;3454:7;3483:1;3478;:6;3474:47;;3508:1;3501:8;;;;3474:47;3531:9;3547:1;3543;:5;;;;:::i;:::-;3531:17;;3576:1;3571;3567;:5;;;;:::i;:::-;:10;3559:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;3633:1;3626:8;;;3396:246;;;;;:::o;3650:132::-;3708:7;3735:39;3739:1;3742;3735:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3728:46;;3650:132;;;;:::o;10788:444::-;10914:23;10949:10;10940:6;:19;;;;:::i;:::-;10914:45;;10989:27;11009:6;10989:7;:15;10997:6;10989:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10971:7;:15;10979:6;10971:15;;;;;;;;;;;;;;;:45;;;;11049:39;11072:15;11049:7;:18;11057:9;11049:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;11028:7;:18;11036:9;11028:18;;;;;;;;;;;;;;;:60;;;;11125:38;11152:10;11125:7;:22;11141:4;11125:22;;;;;;;;;;;;;;;;:26;;:38;;;;:::i;:::-;11100:7;:22;11116:4;11100:22;;;;;;;;;;;;;;;:63;;;;11197:9;11180:44;;11189:6;11180:44;;;11208:15;11180:44;;;;;;:::i;:::-;;;;;;;;10891:341;10788:444;;;;:::o;3790:189::-;3876:7;3908:1;3904;:5;3911:12;3896:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3935:9;3951:1;3947;:5;;;;:::i;:::-;3935:17;;3970:1;3963:8;;;3790:189;;;;;:::o;3054:136::-;3112:7;3139:43;3143:1;3146;3139:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;3132:50;;3054:136;;;;:::o;2867:179::-;2925:7;2945:9;2961:1;2957;:5;;;;:::i;:::-;2945:17;;2986:1;2981;:6;;2973:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;3037:1;3030:8;;;2867:179;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;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:104::-;5233:7;5262:24;5280:5;5262:24;:::i;:::-;5251:35;;5188:104;;;:::o;5298:142::-;5401:32;5427:5;5401:32;:::i;:::-;5396:3;5389:45;5298:142;;:::o;5446:254::-;5555:4;5593:2;5582:9;5578:18;5570:26;;5606:87;5690:1;5679:9;5675:17;5666:6;5606:87;:::i;:::-;5446:254;;;;:::o;5706:116::-;5776:21;5791:5;5776:21;:::i;:::-;5769:5;5766:32;5756:60;;5812:1;5809;5802:12;5756:60;5706:116;:::o;5828:133::-;5871:5;5909:6;5896:20;5887:29;;5925:30;5949:5;5925:30;:::i;:::-;5828:133;;;;:::o;5967:468::-;6032:6;6040;6089:2;6077:9;6068:7;6064:23;6060:32;6057:119;;;6095:79;;:::i;:::-;6057:119;6215:1;6240:53;6285:7;6276:6;6265:9;6261:22;6240:53;:::i;:::-;6230:63;;6186:117;6342:2;6368:50;6410:7;6401:6;6390:9;6386:22;6368:50;:::i;:::-;6358:60;;6313:115;5967:468;;;;;:::o;6441:118::-;6528:24;6546:5;6528:24;:::i;:::-;6523:3;6516:37;6441:118;;:::o;6565:222::-;6658:4;6696:2;6685:9;6681:18;6673:26;;6709:71;6777:1;6766:9;6762:17;6753:6;6709:71;:::i;:::-;6565:222;;;;:::o;6793:474::-;6861:6;6869;6918:2;6906:9;6897:7;6893:23;6889:32;6886:119;;;6924:79;;:::i;:::-;6886:119;7044:1;7069:53;7114:7;7105:6;7094:9;7090:22;7069:53;:::i;:::-;7059:63;;7015:117;7171:2;7197:53;7242:7;7233:6;7222:9;7218:22;7197:53;:::i;:::-;7187:63;;7142:118;6793:474;;;;;:::o;7273:109::-;7323:7;7352:24;7370:5;7352:24;:::i;:::-;7341:35;;7273:109;;;:::o;7388:148::-;7474:37;7505:5;7474:37;:::i;:::-;7467:5;7464:48;7454:76;;7526:1;7523;7516:12;7454:76;7388:148;:::o;7542:165::-;7601:5;7639:6;7626:20;7617:29;;7655:46;7695:5;7655:46;:::i;:::-;7542:165;;;;:::o;7713:500::-;7794:6;7802;7851:2;7839:9;7830:7;7826:23;7822:32;7819:119;;;7857:79;;:::i;:::-;7819:119;7977:1;8002:66;8060:7;8051:6;8040:9;8036:22;8002:66;:::i;:::-;7992:76;;7948:130;8117:2;8143:53;8188:7;8179:6;8168:9;8164:22;8143:53;:::i;:::-;8133:63;;8088:118;7713:500;;;;;:::o;8219:182::-;8359:34;8355:1;8347:6;8343:14;8336:58;8219:182;:::o;8407:366::-;8549:3;8570:67;8634:2;8629:3;8570:67;:::i;:::-;8563:74;;8646:93;8735:3;8646:93;:::i;:::-;8764:2;8759:3;8755:12;8748:19;;8407:366;;;:::o;8779:419::-;8945:4;8983:2;8972:9;8968:18;8960:26;;9032:9;9026:4;9022:20;9018:1;9007:9;9003:17;8996:47;9060:131;9186:4;9060:131;:::i;:::-;9052:139;;8779:419;;;:::o;9204:182::-;9344:34;9340:1;9332:6;9328:14;9321:58;9204:182;:::o;9392:366::-;9534:3;9555:67;9619:2;9614:3;9555:67;:::i;:::-;9548:74;;9631:93;9720:3;9631:93;:::i;:::-;9749:2;9744:3;9740:12;9733:19;;9392:366;;;:::o;9764:419::-;9930:4;9968:2;9957:9;9953:18;9945:26;;10017:9;10011:4;10007:20;10003:1;9992:9;9988:17;9981:47;10045:131;10171:4;10045:131;:::i;:::-;10037:139;;9764:419;;;:::o;10189:176::-;10329:28;10325:1;10317:6;10313:14;10306:52;10189:176;:::o;10371:366::-;10513:3;10534:67;10598:2;10593:3;10534:67;:::i;:::-;10527:74;;10610:93;10699:3;10610:93;:::i;:::-;10728:2;10723:3;10719:12;10712:19;;10371:366;;;:::o;10743:419::-;10909:4;10947:2;10936:9;10932:18;10924:26;;10996:9;10990:4;10986:20;10982:1;10971:9;10967:17;10960:47;11024:131;11150:4;11024:131;:::i;:::-;11016:139;;10743:419;;;:::o;11168:320::-;11283:4;11321:2;11310:9;11306:18;11298:26;;11334:71;11402:1;11391:9;11387:17;11378:6;11334:71;:::i;:::-;11415:66;11477:2;11466:9;11462:18;11453:6;11415:66;:::i;:::-;11168:320;;;;;:::o;11494:173::-;11634:25;11630:1;11622:6;11618:14;11611:49;11494:173;:::o;11673:366::-;11815:3;11836:67;11900:2;11895:3;11836:67;:::i;:::-;11829:74;;11912:93;12001:3;11912:93;:::i;:::-;12030:2;12025:3;12021:12;12014:19;;11673:366;;;:::o;12045:419::-;12211:4;12249:2;12238:9;12234:18;12226:26;;12298:9;12292:4;12288:20;12284:1;12273:9;12269:17;12262:47;12326:131;12452:4;12326:131;:::i;:::-;12318:139;;12045:419;;;:::o;12470:143::-;12527:5;12558:6;12552:13;12543:22;;12574:33;12601:5;12574:33;:::i;:::-;12470:143;;;;:::o;12619:351::-;12689:6;12738:2;12726:9;12717:7;12713:23;12709:32;12706:119;;;12744:79;;:::i;:::-;12706:119;12864:1;12889:64;12945:7;12936:6;12925:9;12921:22;12889:64;:::i;:::-;12879:74;;12835:128;12619:351;;;;:::o;12976:332::-;13097:4;13135:2;13124:9;13120:18;13112:26;;13148:71;13216:1;13205:9;13201:17;13192:6;13148:71;:::i;:::-;13229:72;13297:2;13286:9;13282:18;13273:6;13229:72;:::i;:::-;12976:332;;;;;:::o;13314:85::-;13359:7;13388:5;13377:16;;13314:85;;;:::o;13405:60::-;13433:3;13454:5;13447:12;;13405:60;;;:::o;13471:158::-;13529:9;13562:61;13580:42;13589:32;13615:5;13589:32;:::i;:::-;13580:42;:::i;:::-;13562:61;:::i;:::-;13549:74;;13471:158;;;:::o;13635:147::-;13730:45;13769:5;13730:45;:::i;:::-;13725:3;13718:58;13635:147;;:::o;13788:807::-;14037:4;14075:3;14064:9;14060:19;14052:27;;14089:71;14157:1;14146:9;14142:17;14133:6;14089:71;:::i;:::-;14170:72;14238:2;14227:9;14223:18;14214:6;14170:72;:::i;:::-;14252:80;14328:2;14317:9;14313:18;14304:6;14252:80;:::i;:::-;14342;14418:2;14407:9;14403:18;14394:6;14342:80;:::i;:::-;14432:73;14500:3;14489:9;14485:19;14476:6;14432:73;:::i;:::-;14515;14583:3;14572:9;14568:19;14559:6;14515:73;:::i;:::-;13788:807;;;;;;;;;:::o;14601:143::-;14658:5;14689:6;14683:13;14674:22;;14705:33;14732:5;14705:33;:::i;:::-;14601:143;;;;:::o;14750:663::-;14838:6;14846;14854;14903:2;14891:9;14882:7;14878:23;14874:32;14871:119;;;14909:79;;:::i;:::-;14871:119;15029:1;15054:64;15110:7;15101:6;15090:9;15086:22;15054:64;:::i;:::-;15044:74;;15000:128;15167:2;15193:64;15249:7;15240:6;15229:9;15225:22;15193:64;:::i;:::-;15183:74;;15138:129;15306:2;15332:64;15388:7;15379:6;15368:9;15364:22;15332:64;:::i;:::-;15322:74;;15277:129;14750:663;;;;;:::o;15419:180::-;15467:77;15464:1;15457:88;15564:4;15561:1;15554:15;15588:4;15585:1;15578:15;15605:410;15645:7;15668:20;15686:1;15668:20;:::i;:::-;15663:25;;15702:20;15720:1;15702:20;:::i;:::-;15697:25;;15757:1;15754;15750:9;15779:30;15797:11;15779:30;:::i;:::-;15768:41;;15958:1;15949:7;15945:15;15942:1;15939:22;15919:1;15912:9;15892:83;15869:139;;15988:18;;:::i;:::-;15869:139;15653:362;15605:410;;;;:::o;16021:180::-;16069:77;16066:1;16059:88;16166:4;16163:1;16156:15;16190:4;16187:1;16180:15;16207:185;16247:1;16264:20;16282:1;16264:20;:::i;:::-;16259:25;;16298:20;16316:1;16298:20;:::i;:::-;16293:25;;16337:1;16327:35;;16342:18;;:::i;:::-;16327:35;16384:1;16381;16377:9;16372:14;;16207:185;;;;:::o;16398:332::-;16519:4;16557:2;16546:9;16542:18;16534:26;;16570:71;16638:1;16627:9;16623:17;16614:6;16570:71;:::i;:::-;16651:72;16719:2;16708:9;16704:18;16695:6;16651:72;:::i;:::-;16398:332;;;;;:::o;16736:137::-;16790:5;16821:6;16815:13;16806:22;;16837:30;16861:5;16837:30;:::i;:::-;16736:137;;;;:::o;16879:345::-;16946:6;16995:2;16983:9;16974:7;16970:23;16966:32;16963:119;;;17001:79;;:::i;:::-;16963:119;17121:1;17146:61;17199:7;17190:6;17179:9;17175:22;17146:61;:::i;:::-;17136:71;;17092:125;16879:345;;;;:::o;17230:236::-;17370:34;17366:1;17358:6;17354:14;17347:58;17439:19;17434:2;17426:6;17422:15;17415:44;17230:236;:::o;17472:366::-;17614:3;17635:67;17699:2;17694:3;17635:67;:::i;:::-;17628:74;;17711:93;17800:3;17711:93;:::i;:::-;17829:2;17824:3;17820:12;17813:19;;17472:366;;;:::o;17844:419::-;18010:4;18048:2;18037:9;18033:18;18025:26;;18097:9;18091:4;18087:20;18083:1;18072:9;18068:17;18061:47;18125:131;18251:4;18125:131;:::i;:::-;18117:139;;17844:419;;;:::o;18269:351::-;18339:6;18388:2;18376:9;18367:7;18363:23;18359:32;18356:119;;;18394:79;;:::i;:::-;18356:119;18514:1;18539:64;18595:7;18586:6;18575:9;18571:22;18539:64;:::i;:::-;18529:74;;18485:128;18269:351;;;;:::o;18626:164::-;18766:16;18762:1;18754:6;18750:14;18743:40;18626:164;:::o;18796:366::-;18938:3;18959:67;19023:2;19018:3;18959:67;:::i;:::-;18952:74;;19035:93;19124:3;19035:93;:::i;:::-;19153:2;19148:3;19144:12;19137:19;;18796:366;;;:::o;19168:419::-;19334:4;19372:2;19361:9;19357:18;19349:26;;19421:9;19415:4;19411:20;19407:1;19396:9;19392:17;19385:47;19449:131;19575:4;19449:131;:::i;:::-;19441:139;;19168:419;;;:::o;19593:142::-;19643:9;19676:53;19694:34;19703:24;19721:5;19703:24;:::i;:::-;19694:34;:::i;:::-;19676:53;:::i;:::-;19663:66;;19593:142;;;:::o;19741:126::-;19791:9;19824:37;19855:5;19824:37;:::i;:::-;19811:50;;19741:126;;;:::o;19873:134::-;19931:9;19964:37;19995:5;19964:37;:::i;:::-;19951:50;;19873:134;;;:::o;20013:147::-;20108:45;20147:5;20108:45;:::i;:::-;20103:3;20096:58;20013:147;;:::o;20166:348::-;20295:4;20333:2;20322:9;20318:18;20310:26;;20346:79;20422:1;20411:9;20407:17;20398:6;20346:79;:::i;:::-;20435:72;20503:2;20492:9;20488:18;20479:6;20435:72;:::i;:::-;20166:348;;;;;:::o;20520:223::-;20660:34;20656:1;20648:6;20644:14;20637:58;20729:6;20724:2;20716:6;20712:15;20705:31;20520:223;:::o;20749:366::-;20891:3;20912:67;20976:2;20971:3;20912:67;:::i;:::-;20905:74;;20988:93;21077:3;20988:93;:::i;:::-;21106:2;21101:3;21097:12;21090:19;;20749:366;;;:::o;21121:419::-;21287:4;21325:2;21314:9;21310:18;21302:26;;21374:9;21368:4;21364:20;21360:1;21349:9;21345:17;21338:47;21402:131;21528:4;21402:131;:::i;:::-;21394:139;;21121:419;;;:::o;21546:221::-;21686:34;21682:1;21674:6;21670:14;21663:58;21755:4;21750:2;21742:6;21738:15;21731:29;21546:221;:::o;21773:366::-;21915:3;21936:67;22000:2;21995:3;21936:67;:::i;:::-;21929:74;;22012:93;22101:3;22012:93;:::i;:::-;22130:2;22125:3;22121:12;22114:19;;21773:366;;;:::o;22145:419::-;22311:4;22349:2;22338:9;22334:18;22326:26;;22398:9;22392:4;22388:20;22384:1;22373:9;22369:17;22362:47;22426:131;22552:4;22426:131;:::i;:::-;22418:139;;22145:419;;;:::o;22570:228::-;22710:34;22706:1;22698:6;22694:14;22687:58;22779:11;22774:2;22766:6;22762:15;22755:36;22570:228;:::o;22804:366::-;22946:3;22967:67;23031:2;23026:3;22967:67;:::i;:::-;22960:74;;23043:93;23132:3;23043:93;:::i;:::-;23161:2;23156:3;23152:12;23145:19;;22804:366;;;:::o;23176:419::-;23342:4;23380:2;23369:9;23365:18;23357:26;;23429:9;23423:4;23419:20;23415:1;23404:9;23400:17;23393:47;23457:131;23583:4;23457:131;:::i;:::-;23449:139;;23176:419;;;:::o;23601:176::-;23741:28;23737:1;23729:6;23725:14;23718:52;23601:176;:::o;23783:366::-;23925:3;23946:67;24010:2;24005:3;23946:67;:::i;:::-;23939:74;;24022:93;24111:3;24022:93;:::i;:::-;24140:2;24135:3;24131:12;24124:19;;23783:366;;;:::o;24155:419::-;24321:4;24359:2;24348:9;24344:18;24336:26;;24408:9;24402:4;24398:20;24394:1;24383:9;24379:17;24372:47;24436:131;24562:4;24436:131;:::i;:::-;24428:139;;24155:419;;;:::o;24580:179::-;24720:31;24716:1;24708:6;24704:14;24697:55;24580:179;:::o;24765:366::-;24907:3;24928:67;24992:2;24987:3;24928:67;:::i;:::-;24921:74;;25004:93;25093:3;25004:93;:::i;:::-;25122:2;25117:3;25113:12;25106:19;;24765:366;;;:::o;25137:419::-;25303:4;25341:2;25330:9;25326:18;25318:26;;25390:9;25384:4;25380:20;25376:1;25365:9;25361:17;25354:47;25418:131;25544:4;25418:131;:::i;:::-;25410:139;;25137:419;;;:::o;25562:297::-;25702:34;25698:1;25690:6;25686:14;25679:58;25771:34;25766:2;25758:6;25754:15;25747:59;25840:11;25835:2;25827:6;25823:15;25816:36;25562:297;:::o;25865:366::-;26007:3;26028:67;26092:2;26087:3;26028:67;:::i;:::-;26021:74;;26104:93;26193:3;26104:93;:::i;:::-;26222:2;26217:3;26213:12;26206:19;;25865:366;;;:::o;26237:419::-;26403:4;26441:2;26430:9;26426:18;26418:26;;26490:9;26484:4;26480:20;26476:1;26465:9;26461:17;26454:47;26518:131;26644:4;26518:131;:::i;:::-;26510:139;;26237:419;;;:::o;26662:191::-;26702:3;26721:20;26739:1;26721:20;:::i;:::-;26716:25;;26755:20;26773:1;26755:20;:::i;:::-;26750:25;;26798:1;26795;26791:9;26784:16;;26819:3;26816:1;26813:10;26810:36;;;26826:18;;:::i;:::-;26810:36;26662:191;;;;:::o;26859:175::-;26999:27;26995:1;26987:6;26983:14;26976:51;26859:175;:::o;27040:366::-;27182:3;27203:67;27267:2;27262:3;27203:67;:::i;:::-;27196:74;;27279:93;27368:3;27279:93;:::i;:::-;27397:2;27392:3;27388:12;27381:19;;27040:366;;;:::o;27412:419::-;27578:4;27616:2;27605:9;27601:18;27593:26;;27665:9;27659:4;27655:20;27651:1;27640:9;27636:17;27629:47;27693:131;27819:4;27693:131;:::i;:::-;27685:139;;27412:419;;;:::o;27837:194::-;27877:4;27897:20;27915:1;27897:20;:::i;:::-;27892:25;;27931:20;27949:1;27931:20;:::i;:::-;27926:25;;27975:1;27972;27968:9;27960:17;;27999:1;27993:4;27990:11;27987:37;;;28004:18;;:::i;:::-;27987:37;27837:194;;;;:::o;28037:180::-;28085:77;28082:1;28075:88;28182:4;28179:1;28172:15;28206:4;28203:1;28196:15;28223:180;28271:77;28268:1;28261:88;28368:4;28365:1;28358:15;28392:4;28389:1;28382:15;28409:114;28476:6;28510:5;28504:12;28494:22;;28409:114;;;:::o;28529:184::-;28628:11;28662:6;28657:3;28650:19;28702:4;28697:3;28693:14;28678:29;;28529:184;;;;:::o;28719:132::-;28786:4;28809:3;28801:11;;28839:4;28834:3;28830:14;28822:22;;28719:132;;;:::o;28857:108::-;28934:24;28952:5;28934:24;:::i;:::-;28929:3;28922:37;28857:108;;:::o;28971:179::-;29040:10;29061:46;29103:3;29095:6;29061:46;:::i;:::-;29139:4;29134:3;29130:14;29116:28;;28971:179;;;;:::o;29156:113::-;29226:4;29258;29253:3;29249:14;29241:22;;29156:113;;;:::o;29305:732::-;29424:3;29453:54;29501:5;29453:54;:::i;:::-;29523:86;29602:6;29597:3;29523:86;:::i;:::-;29516:93;;29633:56;29683:5;29633:56;:::i;:::-;29712:7;29743:1;29728:284;29753:6;29750:1;29747:13;29728:284;;;29829:6;29823:13;29856:63;29915:3;29900:13;29856:63;:::i;:::-;29849:70;;29942:60;29995:6;29942:60;:::i;:::-;29932:70;;29788:224;29775:1;29772;29768:9;29763:14;;29728:284;;;29732:14;30028:3;30021:10;;29429:608;;;29305:732;;;;:::o;30043:831::-;30306:4;30344:3;30333:9;30329:19;30321:27;;30358:71;30426:1;30415:9;30411:17;30402:6;30358:71;:::i;:::-;30439:80;30515:2;30504:9;30500:18;30491:6;30439:80;:::i;:::-;30566:9;30560:4;30556:20;30551:2;30540:9;30536:18;30529:48;30594:108;30697:4;30688:6;30594:108;:::i;:::-;30586:116;;30712:72;30780:2;30769:9;30765:18;30756:6;30712:72;:::i;:::-;30794:73;30862:3;30851:9;30847:19;30838:6;30794:73;:::i;:::-;30043:831;;;;;;;;:::o;30880:220::-;31020:34;31016:1;31008:6;31004:14;30997:58;31089:3;31084:2;31076:6;31072:15;31065:28;30880:220;:::o;31106:366::-;31248:3;31269:67;31333:2;31328:3;31269:67;:::i;:::-;31262:74;;31345:93;31434:3;31345:93;:::i;:::-;31463:2;31458:3;31454:12;31447:19;;31106:366;;;:::o;31478:419::-;31644:4;31682:2;31671:9;31667:18;31659:26;;31731:9;31725:4;31721:20;31717:1;31706:9;31702:17;31695:47;31759:131;31885:4;31759:131;:::i;:::-;31751:139;;31478:419;;;:::o;31903:177::-;32043:29;32039:1;32031:6;32027:14;32020:53;31903:177;:::o;32086:366::-;32228:3;32249:67;32313:2;32308:3;32249:67;:::i;:::-;32242:74;;32325:93;32414:3;32325:93;:::i;:::-;32443:2;32438:3;32434:12;32427:19;;32086:366;;;:::o;32458:419::-;32624:4;32662:2;32651:9;32647:18;32639:26;;32711:9;32705:4;32701:20;32697:1;32686:9;32682:17;32675:47;32739:131;32865:4;32739:131;:::i;:::-;32731:139;;32458:419;;;:::o

Swarm Source

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