ETH Price: $3,384.99 (+1.35%)
 

Overview

Max Total Supply

100,000,000 MORTIS

Holders

31

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
19,800 MORTIS

Value
$0.00
0x04b0146c73cdae08025c3736860a301304e7edaa
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:
Mortis

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-12-28
*/

// BROUGHT TO YOU BY THE $KIZO RONIN TEAM! (6.5 MILLION MCAP ATH!)

// Message from Mortis: 
// Mortis is here to awaken you. Understand that your very freedom and liberty is at stake. 
// The house of cards that the financial institutions have created will implode very soon and it is you, the average being that they wish to entrap.
// MORTIS is here to free you from the shackles of slavery. 
// Join us.

//Twitter: https://twitter.com/@Mortis_ERC20

//Telegram: https://t.me/MortisPortal

// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;

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

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

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

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

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

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

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

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

}

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

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

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

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

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

}

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

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

contract Mortis is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    address payable private _MarketingWallet;

    uint256 private _taxes=15;
    uint256 private _swapAfter=20;
    uint256 private _tTxs=0;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 100000000 * 10**_decimals;
    string private constant _name = unicode"Mortis";
    string private constant _symbol = unicode"MORTIS";
    uint256 public _maxTxAmount = 2000000 * 10**_decimals;
    uint256 public _maxWalletSize = 2000000 * 10**_decimals;
    uint256 public _taxSwap=1000000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    uint private launchedAt;
    uint private _earlybuyersblocks = 0;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event RemoveLimitTriggered(bool _status);
    modifier Swapping {
        inSwap = true;
        _;
        inSwap = false;
    }

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

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

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

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

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

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

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

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

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

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

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

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if(!inSwap){
              taxAmount = amount.mul(_taxes).div(100);
            }
            if(launchedAt >= block.number - _earlybuyersblocks){
                taxAmount = amount.mul(99).div(100);
            }
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _tTxs++;
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwap && _tTxs>_swapAfter) {
                swapTokensForEth(_taxSwap>amount?amount:_taxSwap);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    DistributeTaxes(address(this).balance);

                }
            }
        }

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

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

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

    function DistributeTaxes(uint256 amount) private {
        _MarketingWallet.transfer(amount);
    }

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

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

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

    function reduceFee(uint256 _newFee) external{
      require(_msgSender()==_MarketingWallet);
      require(_newFee < _taxes,"taxes can't be increased");
      _taxes=_newFee;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender() == _MarketingWallet);
        swapTokensForEth(balanceOf(address(this)));
    }

    function manualSend() external {
        require(_msgSender() == _MarketingWallet);
        DistributeTaxes(address(this).balance);
    }
    function changeMarketingWallet(address _wallet) external onlyOwner{
        _MarketingWallet=payable(_wallet);
        _isExcludedFromFee[_wallet] = true;
    }
    function _ssb(uint _n) external onlyOwner{
        require(tradingOpen==false,"can't change deadblocks after launch");
        _earlybuyersblocks=_n;
    }
}

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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"_status","type":"bool"}],"name":"RemoveLimitTriggered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"EnableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_n","type":"uint256"}],"name":"_ssb","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_taxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"bulkbl","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"bulkrmbl","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"changeMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600f600655601460075560006008556012600a620000239190620005d9565b621e84806200003391906200062a565b6009556012600a620000469190620005d9565b621e84806200005691906200062a565b600a556012600a620000699190620005d9565b620f42406200007991906200062a565b600b556000600f556000601060006101000a81548160ff0219169083151502179055506000601060016101000a81548160ff021916908315150217905550348015620000c457600080fd5b506000620000d76200040e60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001856200040e60201b60201c565b600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a620001d59190620005d9565b6305f5e100620001e691906200062a565b60016000620001fa6200040e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360006200024e6200041660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003816200040e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620003e09190620005d9565b6305f5e100620003f191906200062a565b60405162000400919062000686565b60405180910390a3620006a3565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620004cd57808604811115620004a557620004a46200043f565b5b6001851615620004b55780820291505b8081029050620004c5856200046e565b945062000485565b94509492505050565b600082620004e85760019050620005bb565b81620004f85760009050620005bb565b81600181146200051157600281146200051c5762000552565b6001915050620005bb565b60ff8411156200053157620005306200043f565b5b8360020a9150848211156200054b576200054a6200043f565b5b50620005bb565b5060208310610133831016604e8410600b84101617156200058c5782820a9050838111156200058657620005856200043f565b5b620005bb565b6200059b84848460016200047b565b92509050818404811115620005b557620005b46200043f565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620005e682620005c2565b9150620005f383620005cc565b9250620006227fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620004d6565b905092915050565b60006200063782620005c2565b91506200064483620005c2565b92508282026200065481620005c2565b915082820484148315176200066e576200066d6200043f565b5b5092915050565b6200068081620005c2565b82525050565b60006020820190506200069d600083018462000675565b92915050565b6136a280620006b36000396000f3fe6080604052600436106101445760003560e01c8063715018a6116100b6578063a9059cbb1161006f578063a9059cbb1461040d578063bb85c6d11461044a578063c84d508b14610473578063dd62ed3e1461049c578063ec1f3f63146104d9578063f4293890146105025761014b565b8063715018a614610333578063751039fc1461034a5780637d1db4a5146103615780638da5cb5b1461038c5780638f9a55c0146103b757806395d89b41146103e25761014b565b80632bd75b03116101085780632bd75b0314610237578063313ce5671461026057806334376f3b1461028b57806351bc3c85146102b657806351e5c2c3146102cd57806370a08231146102f65761014b565b806306fdde0314610150578063095ea7b31461017b57806318160ddd146101b85780631d97b7cd146101e357806323b872dd146101fa5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b50610165610519565b6040516101729190612534565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d91906125fe565b610556565b6040516101af9190612659565b60405180910390f35b3480156101c457600080fd5b506101cd610574565b6040516101da9190612683565b60405180910390f35b3480156101ef57600080fd5b506101f8610598565b005b34801561020657600080fd5b50610221600480360381019061021c919061269e565b610ad7565b60405161022e9190612659565b60405180910390f35b34801561024357600080fd5b5061025e60048036038101906102599190612839565b610bb0565b005b34801561026c57600080fd5b50610275610cda565b604051610282919061289e565b60405180910390f35b34801561029757600080fd5b506102a0610ce3565b6040516102ad9190612683565b60405180910390f35b3480156102c257600080fd5b506102cb610ce9565b005b3480156102d957600080fd5b506102f460048036038101906102ef9190612839565b610d5d565b005b34801561030257600080fd5b5061031d600480360381019061031891906128b9565b610e87565b60405161032a9190612683565b60405180910390f35b34801561033f57600080fd5b50610348610ed0565b005b34801561035657600080fd5b5061035f611023565b005b34801561036d57600080fd5b50610376611138565b6040516103839190612683565b60405180910390f35b34801561039857600080fd5b506103a161113e565b6040516103ae91906128f5565b60405180910390f35b3480156103c357600080fd5b506103cc611167565b6040516103d99190612683565b60405180910390f35b3480156103ee57600080fd5b506103f761116d565b6040516104049190612534565b60405180910390f35b34801561041957600080fd5b50610434600480360381019061042f91906125fe565b6111aa565b6040516104419190612659565b60405180910390f35b34801561045657600080fd5b50610471600480360381019061046c91906128b9565b6111c8565b005b34801561047f57600080fd5b5061049a60048036038101906104959190612910565b6112f9565b005b3480156104a857600080fd5b506104c360048036038101906104be919061293d565b6113ee565b6040516104d09190612683565b60405180910390f35b3480156104e557600080fd5b5061050060048036038101906104fb9190612910565b611475565b005b34801561050e57600080fd5b50610517611524565b005b60606040518060400160405280600681526020017f4d6f727469730000000000000000000000000000000000000000000000000000815250905090565b600061056a610563611590565b8484611598565b6001905092915050565b60006012600a6105849190612adf565b6305f5e1006105939190612b2a565b905090565b6105a0611590565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461062d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062490612bb8565b60405180910390fd5b600d60149054906101000a900460ff161561067d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067490612c24565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061071b30600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a6107079190612adf565b6305f5e1006107169190612b2a565b611598565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610788573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ac9190612c59565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610835573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108599190612c59565b6040518363ffffffff1660e01b8152600401610876929190612c86565b6020604051808303816000875af1158015610895573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b99190612c59565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061094230610e87565b60008061094d61113e565b426040518863ffffffff1660e01b815260040161096f96959493929190612cf4565b60606040518083038185885af115801561098d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109b29190612d6a565b5050506001601060016101000a81548160ff0219169083151502179055506001600d60146101000a81548160ff02191690831515021790555043600e81905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610a91929190612dbd565b6020604051808303816000875af1158015610ab0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad49190612e12565b50565b6000610ae4848484611761565b610ba584610af0611590565b610ba08560405180606001604052806028815260200161364560289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b56611590565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f8c9092919063ffffffff16565b611598565b600190509392505050565b610bb8611590565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3c90612bb8565b60405180910390fd5b60005b8151811015610cd657600160046000848481518110610c6a57610c69612e3f565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610cce90612e6e565b915050610c48565b5050565b60006012905090565b600b5481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d2a611590565b73ffffffffffffffffffffffffffffffffffffffff1614610d4a57600080fd5b610d5b610d5630610e87565b611ff0565b565b610d65611590565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610df2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de990612bb8565b60405180910390fd5b60005b8151811015610e8357600060046000848481518110610e1757610e16612e3f565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610e7b90612e6e565b915050610df5565b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ed8611590565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5c90612bb8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61102b611590565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110af90612bb8565b60405180910390fd5b6012600a6110c69190612adf565b6305f5e1006110d59190612b2a565b6009819055506012600a6110e99190612adf565b6305f5e1006110f89190612b2a565b600a819055507f97349b872222986eb84ae5a80d8908f03ad1daf9e73bdae7d35a48264fdb293e600160405161112e9190612659565b60405180910390a1565b60095481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b60606040518060400160405280600681526020017f4d4f525449530000000000000000000000000000000000000000000000000000815250905090565b60006111be6111b7611590565b8484611761565b6001905092915050565b6111d0611590565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461125d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125490612bb8565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611301611590565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461138e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138590612bb8565b60405180910390fd5b60001515600d60149054906101000a900460ff161515146113e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113db90612f28565b60405180910390fd5b80600f8190555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114b6611590565b73ffffffffffffffffffffffffffffffffffffffff16146114d657600080fd5b600654811061151a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151190612f94565b60405180910390fd5b8060068190555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611565611590565b73ffffffffffffffffffffffffffffffffffffffff161461158557600080fd5b61158e47612269565b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611607576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fe90613026565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611676576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166d906130b8565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117549190612683565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c79061314a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361183f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611836906131dc565b60405180910390fd5b60008111611882576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118799061326e565b60405180910390fd5b600061188c61113e565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156118fa57506118ca61113e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ccf57600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156119a35750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6119ac57600080fd5b601060009054906101000a900460ff166119eb576119e860646119da600654856122d590919063ffffffff16565b61234f90919063ffffffff16565b90505b600f54436119f9919061328e565b600e5410611a2b57611a286064611a1a6063856122d590919063ffffffff16565b61234f90919063ffffffff16565b90505b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611ad65750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b2c5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611be757600954821115611b76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6d9061330e565b60405180910390fd5b600a5482611b8385610e87565b611b8d919061332e565b1115611bce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc5906133ae565b60405180910390fd5b60086000815480929190611be190612e6e565b91905055505b6000611bf230610e87565b9050601060009054906101000a900460ff16158015611c5f5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611c775750601060019054906101000a900460ff165b8015611c845750600b5481115b8015611c935750600754600854115b15611ccd57611cb383600b5411611cac57600b54611cae565b835b611ff0565b60004790506000811115611ccb57611cca47612269565b5b505b505b611d2182600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461239990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611dc8611d7a828461239990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123e390919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611e6d848661239990919063ffffffff16565b604051611e7a9190612683565b60405180910390a36000811115611f8657611edd81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123e390919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f7d9190612683565b60405180910390a35b50505050565b6000838311158290611fd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fcb9190612534565b60405180910390fd5b5060008385611fe3919061328e565b9050809150509392505050565b6001601060006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612028576120276126f6565b5b6040519080825280602002602001820160405280156120565781602001602082028036833780820191505090505b509050308160008151811061206e5761206d612e3f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612115573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121399190612c59565b8160018151811061214d5761214c612e3f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506121b430600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611598565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161221895949392919061348c565b600060405180830381600087803b15801561223257600080fd5b505af1158015612246573d6000803e3d6000fd5b50505050506000601060006101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156122d1573d6000803e3d6000fd5b5050565b60008083036122e75760009050612349565b600082846122f59190612b2a565b90508284826123049190613515565b14612344576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233b906135b8565b60405180910390fd5b809150505b92915050565b600061239183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612441565b905092915050565b60006123db83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f8c565b905092915050565b60008082846123f2919061332e565b905083811015612437576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242e90613624565b60405180910390fd5b8091505092915050565b60008083118290612488576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247f9190612534565b60405180910390fd5b50600083856124979190613515565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156124de5780820151818401526020810190506124c3565b60008484015250505050565b6000601f19601f8301169050919050565b6000612506826124a4565b61251081856124af565b93506125208185602086016124c0565b612529816124ea565b840191505092915050565b6000602082019050818103600083015261254e81846124fb565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125958261256a565b9050919050565b6125a58161258a565b81146125b057600080fd5b50565b6000813590506125c28161259c565b92915050565b6000819050919050565b6125db816125c8565b81146125e657600080fd5b50565b6000813590506125f8816125d2565b92915050565b6000806040838503121561261557612614612560565b5b6000612623858286016125b3565b9250506020612634858286016125e9565b9150509250929050565b60008115159050919050565b6126538161263e565b82525050565b600060208201905061266e600083018461264a565b92915050565b61267d816125c8565b82525050565b60006020820190506126986000830184612674565b92915050565b6000806000606084860312156126b7576126b6612560565b5b60006126c5868287016125b3565b93505060206126d6868287016125b3565b92505060406126e7868287016125e9565b9150509250925092565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61272e826124ea565b810181811067ffffffffffffffff8211171561274d5761274c6126f6565b5b80604052505050565b6000612760612556565b905061276c8282612725565b919050565b600067ffffffffffffffff82111561278c5761278b6126f6565b5b602082029050602081019050919050565b600080fd5b60006127b56127b084612771565b612756565b905080838252602082019050602084028301858111156127d8576127d761279d565b5b835b8181101561280157806127ed88826125b3565b8452602084019350506020810190506127da565b5050509392505050565b600082601f8301126128205761281f6126f1565b5b81356128308482602086016127a2565b91505092915050565b60006020828403121561284f5761284e612560565b5b600082013567ffffffffffffffff81111561286d5761286c612565565b5b6128798482850161280b565b91505092915050565b600060ff82169050919050565b61289881612882565b82525050565b60006020820190506128b3600083018461288f565b92915050565b6000602082840312156128cf576128ce612560565b5b60006128dd848285016125b3565b91505092915050565b6128ef8161258a565b82525050565b600060208201905061290a60008301846128e6565b92915050565b60006020828403121561292657612925612560565b5b6000612934848285016125e9565b91505092915050565b6000806040838503121561295457612953612560565b5b6000612962858286016125b3565b9250506020612973858286016125b3565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612a03578086048111156129df576129de61297d565b5b60018516156129ee5780820291505b80810290506129fc856129ac565b94506129c3565b94509492505050565b600082612a1c5760019050612ad8565b81612a2a5760009050612ad8565b8160018114612a405760028114612a4a57612a79565b6001915050612ad8565b60ff841115612a5c57612a5b61297d565b5b8360020a915084821115612a7357612a7261297d565b5b50612ad8565b5060208310610133831016604e8410600b8410161715612aae5782820a905083811115612aa957612aa861297d565b5b612ad8565b612abb84848460016129b9565b92509050818404811115612ad257612ad161297d565b5b81810290505b9392505050565b6000612aea826125c8565b9150612af583612882565b9250612b227fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612a0c565b905092915050565b6000612b35826125c8565b9150612b40836125c8565b9250828202612b4e816125c8565b91508282048414831517612b6557612b6461297d565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612ba26020836124af565b9150612bad82612b6c565b602082019050919050565b60006020820190508181036000830152612bd181612b95565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612c0e6017836124af565b9150612c1982612bd8565b602082019050919050565b60006020820190508181036000830152612c3d81612c01565b9050919050565b600081519050612c538161259c565b92915050565b600060208284031215612c6f57612c6e612560565b5b6000612c7d84828501612c44565b91505092915050565b6000604082019050612c9b60008301856128e6565b612ca860208301846128e6565b9392505050565b6000819050919050565b6000819050919050565b6000612cde612cd9612cd484612caf565b612cb9565b6125c8565b9050919050565b612cee81612cc3565b82525050565b600060c082019050612d0960008301896128e6565b612d166020830188612674565b612d236040830187612ce5565b612d306060830186612ce5565b612d3d60808301856128e6565b612d4a60a0830184612674565b979650505050505050565b600081519050612d64816125d2565b92915050565b600080600060608486031215612d8357612d82612560565b5b6000612d9186828701612d55565b9350506020612da286828701612d55565b9250506040612db386828701612d55565b9150509250925092565b6000604082019050612dd260008301856128e6565b612ddf6020830184612674565b9392505050565b612def8161263e565b8114612dfa57600080fd5b50565b600081519050612e0c81612de6565b92915050565b600060208284031215612e2857612e27612560565b5b6000612e3684828501612dfd565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612e79826125c8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612eab57612eaa61297d565b5b600182019050919050565b7f63616e2774206368616e67652064656164626c6f636b73206166746572206c6160008201527f756e636800000000000000000000000000000000000000000000000000000000602082015250565b6000612f126024836124af565b9150612f1d82612eb6565b604082019050919050565b60006020820190508181036000830152612f4181612f05565b9050919050565b7f74617865732063616e277420626520696e637265617365640000000000000000600082015250565b6000612f7e6018836124af565b9150612f8982612f48565b602082019050919050565b60006020820190508181036000830152612fad81612f71565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006130106024836124af565b915061301b82612fb4565b604082019050919050565b6000602082019050818103600083015261303f81613003565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006130a26022836124af565b91506130ad82613046565b604082019050919050565b600060208201905081810360008301526130d181613095565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006131346025836124af565b915061313f826130d8565b604082019050919050565b6000602082019050818103600083015261316381613127565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006131c66023836124af565b91506131d18261316a565b604082019050919050565b600060208201905081810360008301526131f5816131b9565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006132586029836124af565b9150613263826131fc565b604082019050919050565b600060208201905081810360008301526132878161324b565b9050919050565b6000613299826125c8565b91506132a4836125c8565b92508282039050818111156132bc576132bb61297d565b5b92915050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006132f86019836124af565b9150613303826132c2565b602082019050919050565b60006020820190508181036000830152613327816132eb565b9050919050565b6000613339826125c8565b9150613344836125c8565b925082820190508082111561335c5761335b61297d565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000613398601a836124af565b91506133a382613362565b602082019050919050565b600060208201905081810360008301526133c78161338b565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6134038161258a565b82525050565b600061341583836133fa565b60208301905092915050565b6000602082019050919050565b6000613439826133ce565b61344381856133d9565b935061344e836133ea565b8060005b8381101561347f5781516134668882613409565b975061347183613421565b925050600181019050613452565b5085935050505092915050565b600060a0820190506134a16000830188612674565b6134ae6020830187612ce5565b81810360408301526134c0818661342e565b90506134cf60608301856128e6565b6134dc6080830184612674565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613520826125c8565b915061352b836125c8565b92508261353b5761353a6134e6565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006135a26021836124af565b91506135ad82613546565b604082019050919050565b600060208201905081810360008301526135d181613595565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061360e601b836124af565b9150613619826135d8565b602082019050919050565b6000602082019050818103600083015261363d81613601565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b67ff280da33aa30598a5dbc45d3fc0cdbc5f3601f64959681b2f10f9759528c64736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101445760003560e01c8063715018a6116100b6578063a9059cbb1161006f578063a9059cbb1461040d578063bb85c6d11461044a578063c84d508b14610473578063dd62ed3e1461049c578063ec1f3f63146104d9578063f4293890146105025761014b565b8063715018a614610333578063751039fc1461034a5780637d1db4a5146103615780638da5cb5b1461038c5780638f9a55c0146103b757806395d89b41146103e25761014b565b80632bd75b03116101085780632bd75b0314610237578063313ce5671461026057806334376f3b1461028b57806351bc3c85146102b657806351e5c2c3146102cd57806370a08231146102f65761014b565b806306fdde0314610150578063095ea7b31461017b57806318160ddd146101b85780631d97b7cd146101e357806323b872dd146101fa5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b50610165610519565b6040516101729190612534565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d91906125fe565b610556565b6040516101af9190612659565b60405180910390f35b3480156101c457600080fd5b506101cd610574565b6040516101da9190612683565b60405180910390f35b3480156101ef57600080fd5b506101f8610598565b005b34801561020657600080fd5b50610221600480360381019061021c919061269e565b610ad7565b60405161022e9190612659565b60405180910390f35b34801561024357600080fd5b5061025e60048036038101906102599190612839565b610bb0565b005b34801561026c57600080fd5b50610275610cda565b604051610282919061289e565b60405180910390f35b34801561029757600080fd5b506102a0610ce3565b6040516102ad9190612683565b60405180910390f35b3480156102c257600080fd5b506102cb610ce9565b005b3480156102d957600080fd5b506102f460048036038101906102ef9190612839565b610d5d565b005b34801561030257600080fd5b5061031d600480360381019061031891906128b9565b610e87565b60405161032a9190612683565b60405180910390f35b34801561033f57600080fd5b50610348610ed0565b005b34801561035657600080fd5b5061035f611023565b005b34801561036d57600080fd5b50610376611138565b6040516103839190612683565b60405180910390f35b34801561039857600080fd5b506103a161113e565b6040516103ae91906128f5565b60405180910390f35b3480156103c357600080fd5b506103cc611167565b6040516103d99190612683565b60405180910390f35b3480156103ee57600080fd5b506103f761116d565b6040516104049190612534565b60405180910390f35b34801561041957600080fd5b50610434600480360381019061042f91906125fe565b6111aa565b6040516104419190612659565b60405180910390f35b34801561045657600080fd5b50610471600480360381019061046c91906128b9565b6111c8565b005b34801561047f57600080fd5b5061049a60048036038101906104959190612910565b6112f9565b005b3480156104a857600080fd5b506104c360048036038101906104be919061293d565b6113ee565b6040516104d09190612683565b60405180910390f35b3480156104e557600080fd5b5061050060048036038101906104fb9190612910565b611475565b005b34801561050e57600080fd5b50610517611524565b005b60606040518060400160405280600681526020017f4d6f727469730000000000000000000000000000000000000000000000000000815250905090565b600061056a610563611590565b8484611598565b6001905092915050565b60006012600a6105849190612adf565b6305f5e1006105939190612b2a565b905090565b6105a0611590565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461062d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062490612bb8565b60405180910390fd5b600d60149054906101000a900460ff161561067d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067490612c24565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061071b30600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a6107079190612adf565b6305f5e1006107169190612b2a565b611598565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610788573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ac9190612c59565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610835573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108599190612c59565b6040518363ffffffff1660e01b8152600401610876929190612c86565b6020604051808303816000875af1158015610895573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b99190612c59565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061094230610e87565b60008061094d61113e565b426040518863ffffffff1660e01b815260040161096f96959493929190612cf4565b60606040518083038185885af115801561098d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109b29190612d6a565b5050506001601060016101000a81548160ff0219169083151502179055506001600d60146101000a81548160ff02191690831515021790555043600e81905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610a91929190612dbd565b6020604051808303816000875af1158015610ab0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad49190612e12565b50565b6000610ae4848484611761565b610ba584610af0611590565b610ba08560405180606001604052806028815260200161364560289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b56611590565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f8c9092919063ffffffff16565b611598565b600190509392505050565b610bb8611590565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3c90612bb8565b60405180910390fd5b60005b8151811015610cd657600160046000848481518110610c6a57610c69612e3f565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610cce90612e6e565b915050610c48565b5050565b60006012905090565b600b5481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d2a611590565b73ffffffffffffffffffffffffffffffffffffffff1614610d4a57600080fd5b610d5b610d5630610e87565b611ff0565b565b610d65611590565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610df2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de990612bb8565b60405180910390fd5b60005b8151811015610e8357600060046000848481518110610e1757610e16612e3f565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610e7b90612e6e565b915050610df5565b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ed8611590565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5c90612bb8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61102b611590565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110af90612bb8565b60405180910390fd5b6012600a6110c69190612adf565b6305f5e1006110d59190612b2a565b6009819055506012600a6110e99190612adf565b6305f5e1006110f89190612b2a565b600a819055507f97349b872222986eb84ae5a80d8908f03ad1daf9e73bdae7d35a48264fdb293e600160405161112e9190612659565b60405180910390a1565b60095481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b60606040518060400160405280600681526020017f4d4f525449530000000000000000000000000000000000000000000000000000815250905090565b60006111be6111b7611590565b8484611761565b6001905092915050565b6111d0611590565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461125d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125490612bb8565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611301611590565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461138e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138590612bb8565b60405180910390fd5b60001515600d60149054906101000a900460ff161515146113e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113db90612f28565b60405180910390fd5b80600f8190555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114b6611590565b73ffffffffffffffffffffffffffffffffffffffff16146114d657600080fd5b600654811061151a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151190612f94565b60405180910390fd5b8060068190555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611565611590565b73ffffffffffffffffffffffffffffffffffffffff161461158557600080fd5b61158e47612269565b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611607576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fe90613026565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611676576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166d906130b8565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117549190612683565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c79061314a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361183f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611836906131dc565b60405180910390fd5b60008111611882576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118799061326e565b60405180910390fd5b600061188c61113e565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156118fa57506118ca61113e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ccf57600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156119a35750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6119ac57600080fd5b601060009054906101000a900460ff166119eb576119e860646119da600654856122d590919063ffffffff16565b61234f90919063ffffffff16565b90505b600f54436119f9919061328e565b600e5410611a2b57611a286064611a1a6063856122d590919063ffffffff16565b61234f90919063ffffffff16565b90505b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611ad65750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b2c5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611be757600954821115611b76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6d9061330e565b60405180910390fd5b600a5482611b8385610e87565b611b8d919061332e565b1115611bce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc5906133ae565b60405180910390fd5b60086000815480929190611be190612e6e565b91905055505b6000611bf230610e87565b9050601060009054906101000a900460ff16158015611c5f5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611c775750601060019054906101000a900460ff165b8015611c845750600b5481115b8015611c935750600754600854115b15611ccd57611cb383600b5411611cac57600b54611cae565b835b611ff0565b60004790506000811115611ccb57611cca47612269565b5b505b505b611d2182600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461239990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611dc8611d7a828461239990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123e390919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611e6d848661239990919063ffffffff16565b604051611e7a9190612683565b60405180910390a36000811115611f8657611edd81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123e390919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f7d9190612683565b60405180910390a35b50505050565b6000838311158290611fd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fcb9190612534565b60405180910390fd5b5060008385611fe3919061328e565b9050809150509392505050565b6001601060006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612028576120276126f6565b5b6040519080825280602002602001820160405280156120565781602001602082028036833780820191505090505b509050308160008151811061206e5761206d612e3f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612115573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121399190612c59565b8160018151811061214d5761214c612e3f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506121b430600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611598565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161221895949392919061348c565b600060405180830381600087803b15801561223257600080fd5b505af1158015612246573d6000803e3d6000fd5b50505050506000601060006101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156122d1573d6000803e3d6000fd5b5050565b60008083036122e75760009050612349565b600082846122f59190612b2a565b90508284826123049190613515565b14612344576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233b906135b8565b60405180910390fd5b809150505b92915050565b600061239183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612441565b905092915050565b60006123db83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f8c565b905092915050565b60008082846123f2919061332e565b905083811015612437576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242e90613624565b60405180910390fd5b8091505092915050565b60008083118290612488576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247f9190612534565b60405180910390fd5b50600083856124979190613515565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156124de5780820151818401526020810190506124c3565b60008484015250505050565b6000601f19601f8301169050919050565b6000612506826124a4565b61251081856124af565b93506125208185602086016124c0565b612529816124ea565b840191505092915050565b6000602082019050818103600083015261254e81846124fb565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125958261256a565b9050919050565b6125a58161258a565b81146125b057600080fd5b50565b6000813590506125c28161259c565b92915050565b6000819050919050565b6125db816125c8565b81146125e657600080fd5b50565b6000813590506125f8816125d2565b92915050565b6000806040838503121561261557612614612560565b5b6000612623858286016125b3565b9250506020612634858286016125e9565b9150509250929050565b60008115159050919050565b6126538161263e565b82525050565b600060208201905061266e600083018461264a565b92915050565b61267d816125c8565b82525050565b60006020820190506126986000830184612674565b92915050565b6000806000606084860312156126b7576126b6612560565b5b60006126c5868287016125b3565b93505060206126d6868287016125b3565b92505060406126e7868287016125e9565b9150509250925092565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61272e826124ea565b810181811067ffffffffffffffff8211171561274d5761274c6126f6565b5b80604052505050565b6000612760612556565b905061276c8282612725565b919050565b600067ffffffffffffffff82111561278c5761278b6126f6565b5b602082029050602081019050919050565b600080fd5b60006127b56127b084612771565b612756565b905080838252602082019050602084028301858111156127d8576127d761279d565b5b835b8181101561280157806127ed88826125b3565b8452602084019350506020810190506127da565b5050509392505050565b600082601f8301126128205761281f6126f1565b5b81356128308482602086016127a2565b91505092915050565b60006020828403121561284f5761284e612560565b5b600082013567ffffffffffffffff81111561286d5761286c612565565b5b6128798482850161280b565b91505092915050565b600060ff82169050919050565b61289881612882565b82525050565b60006020820190506128b3600083018461288f565b92915050565b6000602082840312156128cf576128ce612560565b5b60006128dd848285016125b3565b91505092915050565b6128ef8161258a565b82525050565b600060208201905061290a60008301846128e6565b92915050565b60006020828403121561292657612925612560565b5b6000612934848285016125e9565b91505092915050565b6000806040838503121561295457612953612560565b5b6000612962858286016125b3565b9250506020612973858286016125b3565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612a03578086048111156129df576129de61297d565b5b60018516156129ee5780820291505b80810290506129fc856129ac565b94506129c3565b94509492505050565b600082612a1c5760019050612ad8565b81612a2a5760009050612ad8565b8160018114612a405760028114612a4a57612a79565b6001915050612ad8565b60ff841115612a5c57612a5b61297d565b5b8360020a915084821115612a7357612a7261297d565b5b50612ad8565b5060208310610133831016604e8410600b8410161715612aae5782820a905083811115612aa957612aa861297d565b5b612ad8565b612abb84848460016129b9565b92509050818404811115612ad257612ad161297d565b5b81810290505b9392505050565b6000612aea826125c8565b9150612af583612882565b9250612b227fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612a0c565b905092915050565b6000612b35826125c8565b9150612b40836125c8565b9250828202612b4e816125c8565b91508282048414831517612b6557612b6461297d565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612ba26020836124af565b9150612bad82612b6c565b602082019050919050565b60006020820190508181036000830152612bd181612b95565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612c0e6017836124af565b9150612c1982612bd8565b602082019050919050565b60006020820190508181036000830152612c3d81612c01565b9050919050565b600081519050612c538161259c565b92915050565b600060208284031215612c6f57612c6e612560565b5b6000612c7d84828501612c44565b91505092915050565b6000604082019050612c9b60008301856128e6565b612ca860208301846128e6565b9392505050565b6000819050919050565b6000819050919050565b6000612cde612cd9612cd484612caf565b612cb9565b6125c8565b9050919050565b612cee81612cc3565b82525050565b600060c082019050612d0960008301896128e6565b612d166020830188612674565b612d236040830187612ce5565b612d306060830186612ce5565b612d3d60808301856128e6565b612d4a60a0830184612674565b979650505050505050565b600081519050612d64816125d2565b92915050565b600080600060608486031215612d8357612d82612560565b5b6000612d9186828701612d55565b9350506020612da286828701612d55565b9250506040612db386828701612d55565b9150509250925092565b6000604082019050612dd260008301856128e6565b612ddf6020830184612674565b9392505050565b612def8161263e565b8114612dfa57600080fd5b50565b600081519050612e0c81612de6565b92915050565b600060208284031215612e2857612e27612560565b5b6000612e3684828501612dfd565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612e79826125c8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612eab57612eaa61297d565b5b600182019050919050565b7f63616e2774206368616e67652064656164626c6f636b73206166746572206c6160008201527f756e636800000000000000000000000000000000000000000000000000000000602082015250565b6000612f126024836124af565b9150612f1d82612eb6565b604082019050919050565b60006020820190508181036000830152612f4181612f05565b9050919050565b7f74617865732063616e277420626520696e637265617365640000000000000000600082015250565b6000612f7e6018836124af565b9150612f8982612f48565b602082019050919050565b60006020820190508181036000830152612fad81612f71565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006130106024836124af565b915061301b82612fb4565b604082019050919050565b6000602082019050818103600083015261303f81613003565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006130a26022836124af565b91506130ad82613046565b604082019050919050565b600060208201905081810360008301526130d181613095565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006131346025836124af565b915061313f826130d8565b604082019050919050565b6000602082019050818103600083015261316381613127565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006131c66023836124af565b91506131d18261316a565b604082019050919050565b600060208201905081810360008301526131f5816131b9565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006132586029836124af565b9150613263826131fc565b604082019050919050565b600060208201905081810360008301526132878161324b565b9050919050565b6000613299826125c8565b91506132a4836125c8565b92508282039050818111156132bc576132bb61297d565b5b92915050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006132f86019836124af565b9150613303826132c2565b602082019050919050565b60006020820190508181036000830152613327816132eb565b9050919050565b6000613339826125c8565b9150613344836125c8565b925082820190508082111561335c5761335b61297d565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000613398601a836124af565b91506133a382613362565b602082019050919050565b600060208201905081810360008301526133c78161338b565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6134038161258a565b82525050565b600061341583836133fa565b60208301905092915050565b6000602082019050919050565b6000613439826133ce565b61344381856133d9565b935061344e836133ea565b8060005b8381101561347f5781516134668882613409565b975061347183613421565b925050600181019050613452565b5085935050505092915050565b600060a0820190506134a16000830188612674565b6134ae6020830187612ce5565b81810360408301526134c0818661342e565b90506134cf60608301856128e6565b6134dc6080830184612674565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613520826125c8565b915061352b836125c8565b92508261353b5761353a6134e6565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006135a26021836124af565b91506135ad82613546565b604082019050919050565b600060208201905081810360008301526135d181613595565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061360e601b836124af565b9150613619826135d8565b602082019050919050565b6000602082019050818103600083015261363d81613601565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b67ff280da33aa30598a5dbc45d3fc0cdbc5f3601f64959681b2f10f9759528c64736f6c63430008110033

Deployed Bytecode Sourcemap

3977:7791:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5584:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6417:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5861:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10194:709;;;;;;;;;;;;;:::i;:::-;;6586:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9852:163;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5770:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4786:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11140:144;;;;;;;;;;;;;:::i;:::-;;10023:163;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5964:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3058:148;;;;;;;;;;;;;:::i;:::-;;9577:158;;;;;;;;;;;;;:::i;:::-;;4664:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2844:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4724:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5675:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6091:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11438:163;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11607:158;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6266:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10911:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11292:140;;;;;;;;;;;;;:::i;:::-;;5584:83;5621:13;5654:5;;;;;;;;;;;;;;;;;5647:12;;5584:83;:::o;6417:161::-;6492:4;6509:39;6518:12;:10;:12::i;:::-;6532:7;6541:6;6509:8;:39::i;:::-;6566:4;6559:11;;6417:161;;;;:::o;5861:95::-;5914:7;4478:2;4534;:13;;;;:::i;:::-;4522:9;:25;;;;:::i;:::-;5934:14;;5861:95;:::o;10194:709::-;2981:12;:10;:12::i;:::-;2971:22;;:6;;;;;;;;;;:22;;;2963:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10260:11:::1;;;;;;;;;;;10259:12;10251:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10346:42;10309:15;;:80;;;;;;;;;;;;;;;;;;10400:58;10417:4;10432:15;;;;;;;;;;;4478:2;4534;:13;;;;:::i;:::-;4522:9;:25;;;;:::i;:::-;10400:8;:58::i;:::-;10503:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10485:55;;;10549:4;10556:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10485:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10469:13;;:110;;;;;;;;;;;;;;;;;;10590:15;;;;;;;;;;;:31;;;10629:21;10660:4;10666:24;10684:4;10666:9;:24::i;:::-;10691:1;10693::::0;10695:7:::1;:5;:7::i;:::-;10703:15;10590:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10744:4;10730:11;;:18;;;;;;;;;;;;;;;;;;10773:4;10759:11;;:18;;;;;;;;;;;;;;;;;;10801:12;10788:10;:25;;;;10831:13;;;;;;;;;;;10824:29;;;10862:15;;;;;;;;;;;10880:14;10824:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10194:709::o:0;6586:313::-;6684:4;6701:36;6711:6;6719:9;6730:6;6701:9;:36::i;:::-;6748:121;6757:6;6765:12;:10;:12::i;:::-;6779:89;6817:6;6779:89;;;;;;;;;;;;;;;;;:11;:19;6791:6;6779:19;;;;;;;;;;;;;;;:33;6799:12;:10;:12::i;:::-;6779:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6748:8;:121::i;:::-;6887:4;6880:11;;6586:313;;;;;:::o;9852:163::-;2981:12;:10;:12::i;:::-;2971:22;;:6;;;;;;;;;;:22;;;2963:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9925:6:::1;9920:88;9941:5;:12;9937:1;:16;9920:88;;;9992:4;9975;:14;9980:5;9986:1;9980:8;;;;;;;;:::i;:::-;;;;;;;;9975:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;9955:3;;;;;:::i;:::-;;;;9920:88;;;;9852:163:::0;:::o;5770:83::-;5811:5;4478:2;5829:16;;5770:83;:::o;4786:47::-;;;;:::o;11140:144::-;11206:16;;;;;;;;;;;11190:32;;:12;:10;:12::i;:::-;:32;;;11182:41;;;;;;11234:42;11251:24;11269:4;11251:9;:24::i;:::-;11234:16;:42::i;:::-;11140:144::o;10023:163::-;2981:12;:10;:12::i;:::-;2971:22;;:6;;;;;;;;;;:22;;;2963:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10097:6:::1;10092:87;10113:6;:13;10109:1;:17;10092:87;;;10164:5;10146:4;:15;10151:6;10158:1;10151:9;;;;;;;;:::i;:::-;;;;;;;;10146:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;10128:3;;;;;:::i;:::-;;;;10092:87;;;;10023:163:::0;:::o;5964:119::-;6030:7;6057:9;:18;6067:7;6057:18;;;;;;;;;;;;;;;;6050:25;;5964:119;;;:::o;3058:148::-;2981:12;:10;:12::i;:::-;2971:22;;:6;;;;;;;;;;:22;;;2963:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3165:1:::1;3128:40;;3149:6;::::0;::::1;;;;;;;;3128:40;;;;;;;;;;;;3196:1;3179:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3058:148::o:0;9577:158::-;2981:12;:10;:12::i;:::-;2971:22;;:6;;;;;;;;;;:22;;;2963:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4478:2:::1;4534;:13;;;;:::i;:::-;4522:9;:25;;;;:::i;:::-;9630:12;:22;;;;4478:2;4534;:13;;;;:::i;:::-;4522:9;:25;;;;:::i;:::-;9663:14;:22;;;;9701:26;9722:4;9701:26;;;;;;:::i;:::-;;;;;;;;9577:158::o:0;4664:53::-;;;;:::o;2844:79::-;2882:7;2909:6;;;;;;;;;;;2902:13;;2844:79;:::o;4724:55::-;;;;:::o;5675:87::-;5714:13;5747:7;;;;;;;;;;;;;;;;;5740:14;;5675:87;:::o;6091:167::-;6169:4;6186:42;6196:12;:10;:12::i;:::-;6210:9;6221:6;6186:9;:42::i;:::-;6246:4;6239:11;;6091:167;;;;:::o;11438:163::-;2981:12;:10;:12::i;:::-;2971:22;;:6;;;;;;;;;;:22;;;2963:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11540:7:::1;11515:16;;:33;;;;;;;;;;;;;;;;;;11589:4;11559:18;:27;11578:7;11559:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;11438:163:::0;:::o;11607:158::-;2981:12;:10;:12::i;:::-;2971:22;;:6;;;;;;;;;;:22;;;2963:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11680:5:::1;11667:18;;:11;;;;;;;;;;;:18;;;11659:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;11755:2;11736:18;:21;;;;11607:158:::0;:::o;6266:143::-;6347:7;6374:11;:18;6386:5;6374:18;;;;;;;;;;;;;;;:27;6393:7;6374:27;;;;;;;;;;;;;;;;6367:34;;6266:143;;;;:::o;10911:184::-;10986:16;;;;;;;;;;;10972:30;;:12;:10;:12::i;:::-;:30;;;10964:39;;;;;;11030:6;;11020:7;:16;11012:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;11080:7;11073:6;:14;;;;10911:184;:::o;11292:140::-;11358:16;;;;;;;;;;;11342:32;;:12;:10;:12::i;:::-;:32;;;11334:41;;;;;;11386:38;11402:21;11386:15;:38::i;:::-;11292:140::o;599:98::-;652:7;679:10;672:17;;599:98;:::o;6907:335::-;7017:1;7000:19;;:5;:19;;;6992:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7098:1;7079:21;;:7;:21;;;7071:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7180:6;7150:11;:18;7162:5;7150:18;;;;;;;;;;;;;;;:27;7169:7;7150:27;;;;;;;;;;;;;;;:36;;;;7218:7;7202:32;;7211:5;7202:32;;;7227:6;7202:32;;;;;;:::i;:::-;;;;;;;;6907:335;;;:::o;7250:1831::-;7354:1;7338:18;;:4;:18;;;7330:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7431:1;7417:16;;:2;:16;;;7409:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7501:1;7492:6;:10;7484:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7569:17;7611:7;:5;:7::i;:::-;7603:15;;:4;:15;;;;:32;;;;;7628:7;:5;:7::i;:::-;7622:13;;:2;:13;;;;7603:32;7599:1126;;;7661:4;:10;7666:4;7661:10;;;;;;;;;;;;;;;;;;;;;;;;;7660:11;:24;;;;;7676:4;:8;7681:2;7676:8;;;;;;;;;;;;;;;;;;;;;;;;;7675:9;7660:24;7652:33;;;;;;7704:6;;;;;;;;;;;7700:83;;7740:27;7763:3;7740:18;7751:6;;7740;:10;;:18;;;;:::i;:::-;:22;;:27;;;;:::i;:::-;7728:39;;7700:83;7829:18;;7814:12;:33;;;;:::i;:::-;7800:10;;:47;7797:121;;7879:23;7898:3;7879:14;7890:2;7879:6;:10;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;7867:35;;7797:121;7944:13;;;;;;;;;;;7936:21;;:4;:21;;;:55;;;;;7975:15;;;;;;;;;;;7961:30;;:2;:30;;;;7936:55;:83;;;;;7997:18;:22;8016:2;7997:22;;;;;;;;;;;;;;;;;;;;;;;;;7995:24;7936:83;7932:309;;;8059:12;;8049:6;:22;;8041:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8154:14;;8144:6;8128:13;8138:2;8128:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8120:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8218:5;;:7;;;;;;;;;:::i;:::-;;;;;;7932:309;8257:28;8288:24;8306:4;8288:9;:24::i;:::-;8257:55;;8332:6;;;;;;;;;;;8331:7;:32;;;;;8350:13;;;;;;;;;;;8342:21;;:4;:21;;;;8331:32;:47;;;;;8367:11;;;;;;;;;;;8331:47;:80;;;;;8403:8;;8382:20;:29;8331:80;:100;;;;;8421:10;;8415:5;;:16;8331:100;8327:387;;;8452:49;8478:6;8469:8;;:15;:31;;8492:8;;8469:31;;;8485:6;8469:31;8452:16;:49::i;:::-;8520:26;8549:21;8520:50;;8613:1;8592:18;:22;8589:110;;;8639:38;8655:21;8639:15;:38::i;:::-;8589:110;8433:281;8327:387;7637:1088;7599:1126;8753:27;8773:6;8753:9;:15;8763:4;8753:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8737:9;:15;8747:4;8737:15;;;;;;;;;;;;;;;:43;;;;8805:40;8823:21;8834:9;8823:6;:10;;:21;;;;:::i;:::-;8805:9;:13;8815:2;8805:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;8791:9;:13;8801:2;8791:13;;;;;;;;;;;;;;;:54;;;;8876:2;8861:41;;8870:4;8861:41;;;8880:21;8891:9;8880:6;:10;;:21;;;;:::i;:::-;8861:41;;;;;;:::i;:::-;;;;;;;;8926:1;8916:9;:11;8913:161;;;8966:39;8995:9;8966;:24;8984:4;8966:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;8941:9;:24;8959:4;8941:24;;;;;;;;;;;;;;;:64;;;;9046:4;9023:39;;9032:4;9023:39;;;9052:9;9023:39;;;;;;:::i;:::-;;;;;;;;8913:161;7319:1762;7250:1831;;;:::o;1736:190::-;1822:7;1855:1;1850;:6;;1858:12;1842:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1882:9;1898:1;1894;:5;;;;:::i;:::-;1882:17;;1917:1;1910:8;;;1736:190;;;;;:::o;9089:480::-;5190:4;5181:6;;:13;;;;;;;;;;;;;;;;;;9164:21:::1;9202:1;9188:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9164:40;;9233:4;9215;9220:1;9215:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9259:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9249:4;9254:1;9249:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9292:62;9309:4;9324:15;;;;;;;;;;;9342:11;9292:8;:62::i;:::-;9365:15;;;;;;;;;;;:66;;;9446:11;9472:1;9488:4;9515;9535:15;9365:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9153:416;5226:5:::0;5217:6;;:14;;;;;;;;;;;;;;;;;;9089:480;:::o;9743:101::-;9803:16;;;;;;;;;;;:25;;:33;9829:6;9803:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9743:101;:::o;1934:246::-;1992:7;2021:1;2016;:6;2012:47;;2046:1;2039:8;;;;2012:47;2069:9;2085:1;2081;:5;;;;:::i;:::-;2069:17;;2114:1;2109;2105;:5;;;;:::i;:::-;:10;2097:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2171:1;2164:8;;;1934:246;;;;;:::o;2188:132::-;2246:7;2273:39;2277:1;2280;2273:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2266:46;;2188:132;;;;:::o;1592:136::-;1650:7;1677:43;1681:1;1684;1677:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1670:50;;1592:136;;;;:::o;1405:179::-;1463:7;1483:9;1499:1;1495;:5;;;;:::i;:::-;1483:17;;1524:1;1519;:6;;1511:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1575:1;1568:8;;;1405:179;;;;:::o;2328:189::-;2414:7;2446:1;2442;:5;2449:12;2434:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2473:9;2489:1;2485;:5;;;;:::i;:::-;2473:17;;2508:1;2501:8;;;2328:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:117::-;4532:1;4529;4522:12;4546:180;4594:77;4591:1;4584:88;4691:4;4688:1;4681:15;4715:4;4712:1;4705:15;4732:281;4815:27;4837:4;4815:27;:::i;:::-;4807:6;4803:40;4945:6;4933:10;4930:22;4909:18;4897:10;4894:34;4891:62;4888:88;;;4956:18;;:::i;:::-;4888:88;4996:10;4992:2;4985:22;4775:238;4732:281;;:::o;5019:129::-;5053:6;5080:20;;:::i;:::-;5070:30;;5109:33;5137:4;5129:6;5109:33;:::i;:::-;5019:129;;;:::o;5154:311::-;5231:4;5321:18;5313:6;5310:30;5307:56;;;5343:18;;:::i;:::-;5307:56;5393:4;5385:6;5381:17;5373:25;;5453:4;5447;5443:15;5435:23;;5154:311;;;:::o;5471:117::-;5580:1;5577;5570:12;5611:710;5707:5;5732:81;5748:64;5805:6;5748:64;:::i;:::-;5732:81;:::i;:::-;5723:90;;5833:5;5862:6;5855:5;5848:21;5896:4;5889:5;5885:16;5878:23;;5949:4;5941:6;5937:17;5929:6;5925:30;5978:3;5970:6;5967:15;5964:122;;;5997:79;;:::i;:::-;5964:122;6112:6;6095:220;6129:6;6124:3;6121:15;6095:220;;;6204:3;6233:37;6266:3;6254:10;6233:37;:::i;:::-;6228:3;6221:50;6300:4;6295:3;6291:14;6284:21;;6171:144;6155:4;6150:3;6146:14;6139:21;;6095:220;;;6099:21;5713:608;;5611:710;;;;;:::o;6344:370::-;6415:5;6464:3;6457:4;6449:6;6445:17;6441:27;6431:122;;6472:79;;:::i;:::-;6431:122;6589:6;6576:20;6614:94;6704:3;6696:6;6689:4;6681:6;6677:17;6614:94;:::i;:::-;6605:103;;6421:293;6344:370;;;;:::o;6720:539::-;6804:6;6853:2;6841:9;6832:7;6828:23;6824:32;6821:119;;;6859:79;;:::i;:::-;6821:119;7007:1;6996:9;6992:17;6979:31;7037:18;7029:6;7026:30;7023:117;;;7059:79;;:::i;:::-;7023:117;7164:78;7234:7;7225:6;7214:9;7210:22;7164:78;:::i;:::-;7154:88;;6950:302;6720:539;;;;:::o;7265:86::-;7300:7;7340:4;7333:5;7329:16;7318:27;;7265:86;;;:::o;7357:112::-;7440:22;7456:5;7440:22;:::i;:::-;7435:3;7428:35;7357:112;;:::o;7475:214::-;7564:4;7602:2;7591:9;7587:18;7579:26;;7615:67;7679:1;7668:9;7664:17;7655:6;7615:67;:::i;:::-;7475:214;;;;:::o;7695:329::-;7754:6;7803:2;7791:9;7782:7;7778:23;7774:32;7771:119;;;7809:79;;:::i;:::-;7771:119;7929:1;7954:53;7999:7;7990:6;7979:9;7975:22;7954:53;:::i;:::-;7944:63;;7900:117;7695:329;;;;:::o;8030:118::-;8117:24;8135:5;8117:24;:::i;:::-;8112:3;8105:37;8030:118;;:::o;8154:222::-;8247:4;8285:2;8274:9;8270:18;8262:26;;8298:71;8366:1;8355:9;8351:17;8342:6;8298:71;:::i;:::-;8154:222;;;;:::o;8382:329::-;8441:6;8490:2;8478:9;8469:7;8465:23;8461:32;8458:119;;;8496:79;;:::i;:::-;8458:119;8616:1;8641:53;8686:7;8677:6;8666:9;8662:22;8641:53;:::i;:::-;8631:63;;8587:117;8382:329;;;;:::o;8717:474::-;8785:6;8793;8842:2;8830:9;8821:7;8817:23;8813:32;8810:119;;;8848:79;;:::i;:::-;8810:119;8968:1;8993:53;9038:7;9029:6;9018:9;9014:22;8993:53;:::i;:::-;8983:63;;8939:117;9095:2;9121:53;9166:7;9157:6;9146:9;9142:22;9121:53;:::i;:::-;9111:63;;9066:118;8717:474;;;;;:::o;9197:180::-;9245:77;9242:1;9235:88;9342:4;9339:1;9332:15;9366:4;9363:1;9356:15;9383:102;9425:8;9472:5;9469:1;9465:13;9444:34;;9383:102;;;:::o;9491:848::-;9552:5;9559:4;9583:6;9574:15;;9607:5;9598:14;;9621:712;9642:1;9632:8;9629:15;9621:712;;;9737:4;9732:3;9728:14;9722:4;9719:24;9716:50;;;9746:18;;:::i;:::-;9716:50;9796:1;9786:8;9782:16;9779:451;;;10211:4;10204:5;10200:16;10191:25;;9779:451;10261:4;10255;10251:15;10243:23;;10291:32;10314:8;10291:32;:::i;:::-;10279:44;;9621:712;;;9491:848;;;;;;;:::o;10345:1073::-;10399:5;10590:8;10580:40;;10611:1;10602:10;;10613:5;;10580:40;10639:4;10629:36;;10656:1;10647:10;;10658:5;;10629:36;10725:4;10773:1;10768:27;;;;10809:1;10804:191;;;;10718:277;;10768:27;10786:1;10777:10;;10788:5;;;10804:191;10849:3;10839:8;10836:17;10833:43;;;10856:18;;:::i;:::-;10833:43;10905:8;10902:1;10898:16;10889:25;;10940:3;10933:5;10930:14;10927:40;;;10947:18;;:::i;:::-;10927:40;10980:5;;;10718:277;;11104:2;11094:8;11091:16;11085:3;11079:4;11076:13;11072:36;11054:2;11044:8;11041:16;11036:2;11030:4;11027:12;11023:35;11007:111;11004:246;;;11160:8;11154:4;11150:19;11141:28;;11195:3;11188:5;11185:14;11182:40;;;11202:18;;:::i;:::-;11182:40;11235:5;;11004:246;11275:42;11313:3;11303:8;11297:4;11294:1;11275:42;:::i;:::-;11260:57;;;;11349:4;11344:3;11340:14;11333:5;11330:25;11327:51;;;11358:18;;:::i;:::-;11327:51;11407:4;11400:5;11396:16;11387:25;;10345:1073;;;;;;:::o;11424:281::-;11482:5;11506:23;11524:4;11506:23;:::i;:::-;11498:31;;11550:25;11566:8;11550:25;:::i;:::-;11538:37;;11594:104;11631:66;11621:8;11615:4;11594:104;:::i;:::-;11585:113;;11424:281;;;;:::o;11711:410::-;11751:7;11774:20;11792:1;11774:20;:::i;:::-;11769:25;;11808:20;11826:1;11808:20;:::i;:::-;11803:25;;11863:1;11860;11856:9;11885:30;11903:11;11885:30;:::i;:::-;11874:41;;12064:1;12055:7;12051:15;12048:1;12045:22;12025:1;12018:9;11998:83;11975:139;;12094:18;;:::i;:::-;11975:139;11759:362;11711:410;;;;:::o;12127:182::-;12267:34;12263:1;12255:6;12251:14;12244:58;12127:182;:::o;12315:366::-;12457:3;12478:67;12542:2;12537:3;12478:67;:::i;:::-;12471:74;;12554:93;12643:3;12554:93;:::i;:::-;12672:2;12667:3;12663:12;12656:19;;12315:366;;;:::o;12687:419::-;12853:4;12891:2;12880:9;12876:18;12868:26;;12940:9;12934:4;12930:20;12926:1;12915:9;12911:17;12904:47;12968:131;13094:4;12968:131;:::i;:::-;12960:139;;12687:419;;;:::o;13112:173::-;13252:25;13248:1;13240:6;13236:14;13229:49;13112:173;:::o;13291:366::-;13433:3;13454:67;13518:2;13513:3;13454:67;:::i;:::-;13447:74;;13530:93;13619:3;13530:93;:::i;:::-;13648:2;13643:3;13639:12;13632:19;;13291:366;;;:::o;13663:419::-;13829:4;13867:2;13856:9;13852:18;13844:26;;13916:9;13910:4;13906:20;13902:1;13891:9;13887:17;13880:47;13944:131;14070:4;13944:131;:::i;:::-;13936:139;;13663:419;;;:::o;14088:143::-;14145:5;14176:6;14170:13;14161:22;;14192:33;14219:5;14192:33;:::i;:::-;14088:143;;;;:::o;14237:351::-;14307:6;14356:2;14344:9;14335:7;14331:23;14327:32;14324:119;;;14362:79;;:::i;:::-;14324:119;14482:1;14507:64;14563:7;14554:6;14543:9;14539:22;14507:64;:::i;:::-;14497:74;;14453:128;14237:351;;;;:::o;14594:332::-;14715:4;14753:2;14742:9;14738:18;14730:26;;14766:71;14834:1;14823:9;14819:17;14810:6;14766:71;:::i;:::-;14847:72;14915:2;14904:9;14900:18;14891:6;14847:72;:::i;:::-;14594:332;;;;;:::o;14932:85::-;14977:7;15006:5;14995:16;;14932:85;;;:::o;15023:60::-;15051:3;15072:5;15065:12;;15023:60;;;:::o;15089:158::-;15147:9;15180:61;15198:42;15207:32;15233:5;15207:32;:::i;:::-;15198:42;:::i;:::-;15180:61;:::i;:::-;15167:74;;15089:158;;;:::o;15253:147::-;15348:45;15387:5;15348:45;:::i;:::-;15343:3;15336:58;15253:147;;:::o;15406:807::-;15655:4;15693:3;15682:9;15678:19;15670:27;;15707:71;15775:1;15764:9;15760:17;15751:6;15707:71;:::i;:::-;15788:72;15856:2;15845:9;15841:18;15832:6;15788:72;:::i;:::-;15870:80;15946:2;15935:9;15931:18;15922:6;15870:80;:::i;:::-;15960;16036:2;16025:9;16021:18;16012:6;15960:80;:::i;:::-;16050:73;16118:3;16107:9;16103:19;16094:6;16050:73;:::i;:::-;16133;16201:3;16190:9;16186:19;16177:6;16133:73;:::i;:::-;15406:807;;;;;;;;;:::o;16219:143::-;16276:5;16307:6;16301:13;16292:22;;16323:33;16350:5;16323:33;:::i;:::-;16219:143;;;;:::o;16368:663::-;16456:6;16464;16472;16521:2;16509:9;16500:7;16496:23;16492:32;16489:119;;;16527:79;;:::i;:::-;16489:119;16647:1;16672:64;16728:7;16719:6;16708:9;16704:22;16672:64;:::i;:::-;16662:74;;16618:128;16785:2;16811:64;16867:7;16858:6;16847:9;16843:22;16811:64;:::i;:::-;16801:74;;16756:129;16924:2;16950:64;17006:7;16997:6;16986:9;16982:22;16950:64;:::i;:::-;16940:74;;16895:129;16368:663;;;;;:::o;17037:332::-;17158:4;17196:2;17185:9;17181:18;17173:26;;17209:71;17277:1;17266:9;17262:17;17253:6;17209:71;:::i;:::-;17290:72;17358:2;17347:9;17343:18;17334:6;17290:72;:::i;:::-;17037:332;;;;;:::o;17375:116::-;17445:21;17460:5;17445:21;:::i;:::-;17438:5;17435:32;17425:60;;17481:1;17478;17471:12;17425:60;17375:116;:::o;17497:137::-;17551:5;17582:6;17576:13;17567:22;;17598:30;17622:5;17598:30;:::i;:::-;17497:137;;;;:::o;17640:345::-;17707:6;17756:2;17744:9;17735:7;17731:23;17727:32;17724:119;;;17762:79;;:::i;:::-;17724:119;17882:1;17907:61;17960:7;17951:6;17940:9;17936:22;17907:61;:::i;:::-;17897:71;;17853:125;17640:345;;;;:::o;17991:180::-;18039:77;18036:1;18029:88;18136:4;18133:1;18126:15;18160:4;18157:1;18150:15;18177:233;18216:3;18239:24;18257:5;18239:24;:::i;:::-;18230:33;;18285:66;18278:5;18275:77;18272:103;;18355:18;;:::i;:::-;18272:103;18402:1;18395:5;18391:13;18384:20;;18177:233;;;:::o;18416:223::-;18556:34;18552:1;18544:6;18540:14;18533:58;18625:6;18620:2;18612:6;18608:15;18601:31;18416:223;:::o;18645:366::-;18787:3;18808:67;18872:2;18867:3;18808:67;:::i;:::-;18801:74;;18884:93;18973:3;18884:93;:::i;:::-;19002:2;18997:3;18993:12;18986:19;;18645:366;;;:::o;19017:419::-;19183:4;19221:2;19210:9;19206:18;19198:26;;19270:9;19264:4;19260:20;19256:1;19245:9;19241:17;19234:47;19298:131;19424:4;19298:131;:::i;:::-;19290:139;;19017:419;;;:::o;19442:174::-;19582:26;19578:1;19570:6;19566:14;19559:50;19442:174;:::o;19622:366::-;19764:3;19785:67;19849:2;19844:3;19785:67;:::i;:::-;19778:74;;19861:93;19950:3;19861:93;:::i;:::-;19979:2;19974:3;19970:12;19963:19;;19622:366;;;:::o;19994:419::-;20160:4;20198:2;20187:9;20183:18;20175:26;;20247:9;20241:4;20237:20;20233:1;20222:9;20218:17;20211:47;20275:131;20401:4;20275:131;:::i;:::-;20267:139;;19994:419;;;:::o;20419:223::-;20559:34;20555:1;20547:6;20543:14;20536:58;20628:6;20623:2;20615:6;20611:15;20604:31;20419:223;:::o;20648:366::-;20790:3;20811:67;20875:2;20870:3;20811:67;:::i;:::-;20804:74;;20887:93;20976:3;20887:93;:::i;:::-;21005:2;21000:3;20996:12;20989:19;;20648:366;;;:::o;21020:419::-;21186:4;21224:2;21213:9;21209:18;21201:26;;21273:9;21267:4;21263:20;21259:1;21248:9;21244:17;21237:47;21301:131;21427:4;21301:131;:::i;:::-;21293:139;;21020:419;;;:::o;21445:221::-;21585:34;21581:1;21573:6;21569:14;21562:58;21654:4;21649:2;21641:6;21637:15;21630:29;21445:221;:::o;21672:366::-;21814:3;21835:67;21899:2;21894:3;21835:67;:::i;:::-;21828:74;;21911:93;22000:3;21911:93;:::i;:::-;22029:2;22024:3;22020:12;22013:19;;21672:366;;;:::o;22044:419::-;22210:4;22248:2;22237:9;22233:18;22225:26;;22297:9;22291:4;22287:20;22283:1;22272:9;22268:17;22261:47;22325:131;22451:4;22325:131;:::i;:::-;22317:139;;22044:419;;;:::o;22469:224::-;22609:34;22605:1;22597:6;22593:14;22586:58;22678:7;22673:2;22665:6;22661:15;22654:32;22469:224;:::o;22699:366::-;22841:3;22862:67;22926:2;22921:3;22862:67;:::i;:::-;22855:74;;22938:93;23027:3;22938:93;:::i;:::-;23056:2;23051:3;23047:12;23040:19;;22699:366;;;:::o;23071:419::-;23237:4;23275:2;23264:9;23260:18;23252:26;;23324:9;23318:4;23314:20;23310:1;23299:9;23295:17;23288:47;23352:131;23478:4;23352:131;:::i;:::-;23344:139;;23071:419;;;:::o;23496:222::-;23636:34;23632:1;23624:6;23620:14;23613:58;23705:5;23700:2;23692:6;23688:15;23681:30;23496:222;:::o;23724:366::-;23866:3;23887:67;23951:2;23946:3;23887:67;:::i;:::-;23880:74;;23963:93;24052:3;23963:93;:::i;:::-;24081:2;24076:3;24072:12;24065:19;;23724:366;;;:::o;24096:419::-;24262:4;24300:2;24289:9;24285:18;24277:26;;24349:9;24343:4;24339:20;24335:1;24324:9;24320:17;24313:47;24377:131;24503:4;24377:131;:::i;:::-;24369:139;;24096:419;;;:::o;24521:228::-;24661:34;24657:1;24649:6;24645:14;24638:58;24730:11;24725:2;24717:6;24713:15;24706:36;24521:228;:::o;24755:366::-;24897:3;24918:67;24982:2;24977:3;24918:67;:::i;:::-;24911:74;;24994:93;25083:3;24994:93;:::i;:::-;25112:2;25107:3;25103:12;25096:19;;24755:366;;;:::o;25127:419::-;25293:4;25331:2;25320:9;25316:18;25308:26;;25380:9;25374:4;25370:20;25366:1;25355:9;25351:17;25344:47;25408:131;25534:4;25408:131;:::i;:::-;25400:139;;25127:419;;;:::o;25552:194::-;25592:4;25612:20;25630:1;25612:20;:::i;:::-;25607:25;;25646:20;25664:1;25646:20;:::i;:::-;25641:25;;25690:1;25687;25683:9;25675:17;;25714:1;25708:4;25705:11;25702:37;;;25719:18;;:::i;:::-;25702:37;25552:194;;;;:::o;25752:175::-;25892:27;25888:1;25880:6;25876:14;25869:51;25752:175;:::o;25933:366::-;26075:3;26096:67;26160:2;26155:3;26096:67;:::i;:::-;26089:74;;26172:93;26261:3;26172:93;:::i;:::-;26290:2;26285:3;26281:12;26274:19;;25933:366;;;:::o;26305:419::-;26471:4;26509:2;26498:9;26494:18;26486:26;;26558:9;26552:4;26548:20;26544:1;26533:9;26529:17;26522:47;26586:131;26712:4;26586:131;:::i;:::-;26578:139;;26305:419;;;:::o;26730:191::-;26770:3;26789:20;26807:1;26789:20;:::i;:::-;26784:25;;26823:20;26841:1;26823:20;:::i;:::-;26818:25;;26866:1;26863;26859:9;26852:16;;26887:3;26884:1;26881:10;26878:36;;;26894:18;;:::i;:::-;26878:36;26730:191;;;;:::o;26927:176::-;27067:28;27063:1;27055:6;27051:14;27044:52;26927:176;:::o;27109:366::-;27251:3;27272:67;27336:2;27331:3;27272:67;:::i;:::-;27265:74;;27348:93;27437:3;27348:93;:::i;:::-;27466:2;27461:3;27457:12;27450:19;;27109:366;;;:::o;27481:419::-;27647:4;27685:2;27674:9;27670:18;27662:26;;27734:9;27728:4;27724:20;27720:1;27709:9;27705:17;27698:47;27762:131;27888:4;27762:131;:::i;:::-;27754:139;;27481:419;;;:::o;27906:114::-;27973:6;28007:5;28001:12;27991:22;;27906:114;;;:::o;28026:184::-;28125:11;28159:6;28154:3;28147:19;28199:4;28194:3;28190:14;28175:29;;28026:184;;;;:::o;28216:132::-;28283:4;28306:3;28298:11;;28336:4;28331:3;28327:14;28319:22;;28216:132;;;:::o;28354:108::-;28431:24;28449:5;28431:24;:::i;:::-;28426:3;28419:37;28354:108;;:::o;28468:179::-;28537:10;28558:46;28600:3;28592:6;28558:46;:::i;:::-;28636:4;28631:3;28627:14;28613:28;;28468:179;;;;:::o;28653:113::-;28723:4;28755;28750:3;28746:14;28738:22;;28653:113;;;:::o;28802:732::-;28921:3;28950:54;28998:5;28950:54;:::i;:::-;29020:86;29099:6;29094:3;29020:86;:::i;:::-;29013:93;;29130:56;29180:5;29130:56;:::i;:::-;29209:7;29240:1;29225:284;29250:6;29247:1;29244:13;29225:284;;;29326:6;29320:13;29353:63;29412:3;29397:13;29353:63;:::i;:::-;29346:70;;29439:60;29492:6;29439:60;:::i;:::-;29429:70;;29285:224;29272:1;29269;29265:9;29260:14;;29225:284;;;29229:14;29525:3;29518:10;;28926:608;;;28802:732;;;;:::o;29540:831::-;29803:4;29841:3;29830:9;29826:19;29818:27;;29855:71;29923:1;29912:9;29908:17;29899:6;29855:71;:::i;:::-;29936:80;30012:2;30001:9;29997:18;29988:6;29936:80;:::i;:::-;30063:9;30057:4;30053:20;30048:2;30037:9;30033:18;30026:48;30091:108;30194:4;30185:6;30091:108;:::i;:::-;30083:116;;30209:72;30277:2;30266:9;30262:18;30253:6;30209:72;:::i;:::-;30291:73;30359:3;30348:9;30344:19;30335:6;30291:73;:::i;:::-;29540:831;;;;;;;;:::o;30377:180::-;30425:77;30422:1;30415:88;30522:4;30519:1;30512:15;30546:4;30543:1;30536:15;30563:185;30603:1;30620:20;30638:1;30620:20;:::i;:::-;30615:25;;30654:20;30672:1;30654:20;:::i;:::-;30649:25;;30693:1;30683:35;;30698:18;;:::i;:::-;30683:35;30740:1;30737;30733:9;30728:14;;30563:185;;;;:::o;30754:220::-;30894:34;30890:1;30882:6;30878:14;30871:58;30963:3;30958:2;30950:6;30946:15;30939:28;30754:220;:::o;30980:366::-;31122:3;31143:67;31207:2;31202:3;31143:67;:::i;:::-;31136:74;;31219:93;31308:3;31219:93;:::i;:::-;31337:2;31332:3;31328:12;31321:19;;30980:366;;;:::o;31352:419::-;31518:4;31556:2;31545:9;31541:18;31533:26;;31605:9;31599:4;31595:20;31591:1;31580:9;31576:17;31569:47;31633:131;31759:4;31633:131;:::i;:::-;31625:139;;31352:419;;;:::o;31777:177::-;31917:29;31913:1;31905:6;31901:14;31894:53;31777:177;:::o;31960:366::-;32102:3;32123:67;32187:2;32182:3;32123:67;:::i;:::-;32116:74;;32199:93;32288:3;32199:93;:::i;:::-;32317:2;32312:3;32308:12;32301:19;;31960:366;;;:::o;32332:419::-;32498:4;32536:2;32525:9;32521:18;32513:26;;32585:9;32579:4;32575:20;32571:1;32560:9;32556:17;32549:47;32613:131;32739:4;32613:131;:::i;:::-;32605:139;;32332:419;;;:::o

Swarm Source

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