ETH Price: $2,358.29 (+1.36%)

Token

Daddy Tate (DADDY)
 

Overview

Max Total Supply

1,000,000,000 DADDY

Holders

11

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Balance
16,000,000 DADDY

Value
$0.00
0xd87969304b827d6290ceC63356ba95A1557014D8
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:
DADDY

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-06-12
*/

/**

https://x.com/DaddyTateETH

https://t.me/daddytateETH

*/
// SPDX-License-Identifier: NONE

pragma solidity 0.8.26;

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 DADDY is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = false;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=20;
    uint256 private _initialSellTax=20;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 public _reduceBuyTaxAt=25;
    uint256 public _reduceSellTaxAt=25;
    uint256 private _preventSwapBefore=25;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 8;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    string private constant _name = unicode"Daddy Tate";
    string private constant _symbol = unicode"DADDY";
    uint256 public _maxTxAmount =   20000000 * 10**_decimals;
    uint256 public _maxWalletSize = 20000000 * 10**_decimals;
    uint256 public _taxSwapThreshold=20000000 * 10**_decimals;
    uint256 public _maxTaxSwap=20000000 * 10**_decimals;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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


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

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

    function vanishLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
       
        emit MaxTxAmountUpdated(_tTotal);
    }

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

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

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

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }
    
    function addBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

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

Contract Security Audit

Contract ABI

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

60806040525f60065f6101000a81548160ff021916908315150217905550601460075560146008555f6009555f600a556019600b556019600c556019600d555f600e556008600a61005091906105c6565b6301312d0061005f9190610610565b600f556008600a61007091906105c6565b6301312d0061007f9190610610565b6010556008600a61009091906105c6565b6301312d0061009f9190610610565b6011556008600a6100b091906105c6565b6301312d006100bf9190610610565b6012555f601460156101000a81548160ff0219169083151502179055505f601460166101000a81548160ff021916908315150217905550348015610101575f80fd5b505f61011161042760201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506101bb61042760201b60201c565b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506008600a61020991906105c6565b633b9aca006102189190610610565b60015f61022961042760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f61027961042e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506103a261042760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6008600a6103fe91906105c6565b633b9aca0061040d9190610610565b60405161041a9190610660565b60405180910390a3610679565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156104d7578086048111156104b3576104b2610455565b5b60018516156104c25780820291505b80810290506104d085610482565b9450610497565b94509492505050565b5f826104ef57600190506105aa565b816104fc575f90506105aa565b8160018114610512576002811461051c5761054b565b60019150506105aa565b60ff84111561052e5761052d610455565b5b8360020a91508482111561054557610544610455565b5b506105aa565b5060208310610133831016604e8410600b84101617156105805782820a90508381111561057b5761057a610455565b5b6105aa565b61058d848484600161048e565b925090508184048111156105a4576105a3610455565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6105d0826105b1565b91506105db836105ba565b92506106087fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846104e0565b905092915050565b5f61061a826105b1565b9150610625836105b1565b9250828202610633816105b1565b9150828204841483151761064a57610649610455565b5b5092915050565b61065a816105b1565b82525050565b5f6020820190506106735f830184610651565b92915050565b6134ea806106865f395ff3fe60806040526004361061014e575f3560e01c80637d1db4a5116100b5578063bf474bed1161006e578063bf474bed14610469578063c36956a014610493578063c876d0b9146104bd578063d34628cc146104e7578063dd62ed3e1461050f578063e11d22cf1461054b57610155565b80637d1db4a51461036f5780638da5cb5b146103995780638f9a55c0146103c357806395d89b41146103ed578063a3907d7114610417578063a9059cbb1461042d57610155565b8063313ce56711610107578063313ce5671461027957806331c2d847146102a35780633bbac579146102cb57806351bc3c851461030757806370a082311461031d578063715018a61461035957610155565b806306fdde0314610159578063095ea7b3146101835780630c193045146101bf5780630faee56f146101e957806318160ddd1461021357806323b872dd1461023d57610155565b3661015557005b5f80fd5b348015610164575f80fd5b5061016d610561565b60405161017a919061249b565b60405180910390f35b34801561018e575f80fd5b506101a960048036038101906101a49190612559565b61059e565b6040516101b691906125b1565b60405180910390f35b3480156101ca575f80fd5b506101d36105bb565b6040516101e091906125d9565b60405180910390f35b3480156101f4575f80fd5b506101fd6105c1565b60405161020a91906125d9565b60405180910390f35b34801561021e575f80fd5b506102276105c7565b60405161023491906125d9565b60405180910390f35b348015610248575f80fd5b50610263600480360381019061025e91906125f2565b6105ea565b60405161027091906125b1565b60405180910390f35b348015610284575f80fd5b5061028d6106be565b60405161029a919061265d565b60405180910390f35b3480156102ae575f80fd5b506102c960048036038101906102c491906127b6565b6106c6565b005b3480156102d6575f80fd5b506102f160048036038101906102ec91906127fd565b6107e4565b6040516102fe91906125b1565b60405180910390f35b348015610312575f80fd5b5061031b610836565b005b348015610328575f80fd5b50610343600480360381019061033e91906127fd565b6108ce565b60405161035091906125d9565b60405180910390f35b348015610364575f80fd5b5061036d610914565b005b34801561037a575f80fd5b50610383610a62565b60405161039091906125d9565b60405180910390f35b3480156103a4575f80fd5b506103ad610a68565b6040516103ba9190612837565b60405180910390f35b3480156103ce575f80fd5b506103d7610a8f565b6040516103e491906125d9565b60405180910390f35b3480156103f8575f80fd5b50610401610a95565b60405161040e919061249b565b60405180910390f35b348015610422575f80fd5b5061042b610ad2565b005b348015610438575f80fd5b50610453600480360381019061044e9190612559565b610ff1565b60405161046091906125b1565b60405180910390f35b348015610474575f80fd5b5061047d61100e565b60405161048a91906125d9565b60405180910390f35b34801561049e575f80fd5b506104a7611014565b6040516104b491906125d9565b60405180910390f35b3480156104c8575f80fd5b506104d161101a565b6040516104de91906125b1565b60405180910390f35b3480156104f2575f80fd5b5061050d600480360381019061050891906127b6565b61102c565b005b34801561051a575f80fd5b5061053560048036038101906105309190612850565b61114b565b60405161054291906125d9565b60405180910390f35b348015610556575f80fd5b5061055f6111cd565b005b60606040518060400160405280600a81526020017f4461646479205461746500000000000000000000000000000000000000000000815250905090565b5f6105b16105aa611315565b848461131c565b6001905092915050565b600b5481565b60125481565b5f6008600a6105d691906129ea565b633b9aca006105e59190612a34565b905090565b5f6105f68484846114df565b6106b384610602611315565b6106ae8560405180606001604052806028815260200161348d6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610665611315565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611efa9092919063ffffffff16565b61131c565b600190509392505050565b5f6008905090565b6106ce611315565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461075a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075190612abf565b60405180910390fd5b5f5b81518110156107e0575f60045f84848151811061077c5761077b612add565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808060010191505061075c565b5050565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610877611315565b73ffffffffffffffffffffffffffffffffffffffff1614610896575f80fd5b5f6108a0306108ce565b90505f8111156108b4576108b381611f5c565b5b5f4790505f8111156108ca576108c9816121e3565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61091c611315565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099f90612abf565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600581526020017f4441444459000000000000000000000000000000000000000000000000000000815250905090565b610ada611315565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5d90612abf565b60405180910390fd5b60148054906101000a900460ff1615610bb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bab90612b54565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c503060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008600a610c3c91906129ea565b633b9aca00610c4b9190612a34565b61131c565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cba573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cde9190612b86565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d64573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d889190612b86565b6040518363ffffffff1660e01b8152600401610da5929190612bb1565b6020604051808303815f875af1158015610dc1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610de59190612b86565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e6c306108ce565b5f80610e76610a68565b426040518863ffffffff1660e01b8152600401610e9896959493929190612c1a565b60606040518083038185885af1158015610eb4573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ed99190612c8d565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f79929190612cdd565b6020604051808303815f875af1158015610f95573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb99190612d2e565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f611004610ffd611315565b84846114df565b6001905092915050565b60115481565b600c5481565b60065f9054906101000a900460ff1681565b611034611315565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b790612abf565b60405180910390fd5b5f5b815181101561114757600160045f8484815181106110e3576110e2612add565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506110c2565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6111d5611315565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611261576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125890612abf565b60405180910390fd5b6008600a61126f91906129ea565b633b9aca0061127e9190612a34565b600f819055506008600a61129291906129ea565b633b9aca006112a19190612a34565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6008600a6112ef91906129ea565b633b9aca006112fe9190612a34565b60405161130b91906125d9565b60405180910390a1565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361138a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138190612dc9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ef90612e57565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114d291906125d9565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361154d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154490612ee5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b290612f73565b60405180910390fd5b5f81116115fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f490613001565b60405180910390fd5b5f611606610a68565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116745750611644610a68565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611c4a5760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611717575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b61171f575f80fd5b60065f9054906101000a900460ff16156118a55760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117dd575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156118a4574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611861576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118589061308f565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561194e575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119a1575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611a5b57600f548211156119eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e2906130f7565b60405180910390fd5b601054826119f8856108ce565b611a029190613115565b1115611a43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3a90613192565b60405180910390fd5b600e5f815480929190611a55906131b0565b91905055505b611a976064611a89600b54600e5411611a7657600754611a7a565b6009545b8561224c90919063ffffffff16565b6122c390919063ffffffff16565b905060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611b2157503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611b6557611b626064611b54600c54600e5411611b4157600854611b45565b600a545b8561224c90919063ffffffff16565b6122c390919063ffffffff16565b90505b5f611b6f306108ce565b9050601460159054906101000a900460ff16158015611bda575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611bf25750601460169054906101000a900460ff165b8015611bff575060115481115b8015611c0e5750600d54600e54115b15611c4857611c30611c2b84611c268460125461230c565b61230c565b611f5c565b5f4790505f811115611c4657611c45476121e3565b5b505b505b5f811115611d4957611ca28160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461232490919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d4091906125d9565b60405180910390a35b611d998260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461238190919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611e3c611df0828461238190919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461232490919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611edf848661238190919063ffffffff16565b604051611eec91906125d9565b60405180910390a350505050565b5f838311158290611f41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f38919061249b565b60405180910390fd5b505f8385611f4f91906131f7565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f8103156121c65760148054906101000a900460ff16156121c6575f600267ffffffffffffffff811115611fae57611fad61267a565b5b604051908082528060200260200182016040528015611fdc5781602001602082028036833780820191505090505b50905030815f81518110611ff357611ff2612add565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612097573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120bb9190612b86565b816001815181106120cf576120ce612add565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506121353060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461131c565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016121979594939291906132e1565b5f604051808303815f87803b1580156121ae575f80fd5b505af11580156121c0573d5f803e3d5ffd5b50505050505b5f601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612248573d5f803e3d5ffd5b5050565b5f80830361225c575f90506122bd565b5f82846122699190612a34565b90508284826122789190613366565b146122b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122af90613406565b60405180910390fd5b809150505b92915050565b5f61230483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506123ca565b905092915050565b5f81831161231a578261231c565b815b905092915050565b5f8082846123329190613115565b905083811015612377576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236e9061346e565b60405180910390fd5b8091505092915050565b5f6123c283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611efa565b905092915050565b5f8083118290612410576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612407919061249b565b60405180910390fd5b505f838561241e9190613366565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61246d8261242b565b6124778185612435565b9350612487818560208601612445565b61249081612453565b840191505092915050565b5f6020820190508181035f8301526124b38184612463565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6124f5826124cc565b9050919050565b612505816124eb565b811461250f575f80fd5b50565b5f81359050612520816124fc565b92915050565b5f819050919050565b61253881612526565b8114612542575f80fd5b50565b5f813590506125538161252f565b92915050565b5f806040838503121561256f5761256e6124c4565b5b5f61257c85828601612512565b925050602061258d85828601612545565b9150509250929050565b5f8115159050919050565b6125ab81612597565b82525050565b5f6020820190506125c45f8301846125a2565b92915050565b6125d381612526565b82525050565b5f6020820190506125ec5f8301846125ca565b92915050565b5f805f60608486031215612609576126086124c4565b5b5f61261686828701612512565b935050602061262786828701612512565b925050604061263886828701612545565b9150509250925092565b5f60ff82169050919050565b61265781612642565b82525050565b5f6020820190506126705f83018461264e565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6126b082612453565b810181811067ffffffffffffffff821117156126cf576126ce61267a565b5b80604052505050565b5f6126e16124bb565b90506126ed82826126a7565b919050565b5f67ffffffffffffffff82111561270c5761270b61267a565b5b602082029050602081019050919050565b5f80fd5b5f61273361272e846126f2565b6126d8565b905080838252602082019050602084028301858111156127565761275561271d565b5b835b8181101561277f578061276b8882612512565b845260208401935050602081019050612758565b5050509392505050565b5f82601f83011261279d5761279c612676565b5b81356127ad848260208601612721565b91505092915050565b5f602082840312156127cb576127ca6124c4565b5b5f82013567ffffffffffffffff8111156127e8576127e76124c8565b5b6127f484828501612789565b91505092915050565b5f60208284031215612812576128116124c4565b5b5f61281f84828501612512565b91505092915050565b612831816124eb565b82525050565b5f60208201905061284a5f830184612828565b92915050565b5f8060408385031215612866576128656124c4565b5b5f61287385828601612512565b925050602061288485828601612512565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612910578086048111156128ec576128eb61288e565b5b60018516156128fb5780820291505b8081029050612909856128bb565b94506128d0565b94509492505050565b5f8261292857600190506129e3565b81612935575f90506129e3565b816001811461294b576002811461295557612984565b60019150506129e3565b60ff8411156129675761296661288e565b5b8360020a91508482111561297e5761297d61288e565b5b506129e3565b5060208310610133831016604e8410600b84101617156129b95782820a9050838111156129b4576129b361288e565b5b6129e3565b6129c684848460016128c7565b925090508184048111156129dd576129dc61288e565b5b81810290505b9392505050565b5f6129f482612526565b91506129ff83612642565b9250612a2c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612919565b905092915050565b5f612a3e82612526565b9150612a4983612526565b9250828202612a5781612526565b91508282048414831517612a6e57612a6d61288e565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612aa9602083612435565b9150612ab482612a75565b602082019050919050565b5f6020820190508181035f830152612ad681612a9d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612b3e601783612435565b9150612b4982612b0a565b602082019050919050565b5f6020820190508181035f830152612b6b81612b32565b9050919050565b5f81519050612b80816124fc565b92915050565b5f60208284031215612b9b57612b9a6124c4565b5b5f612ba884828501612b72565b91505092915050565b5f604082019050612bc45f830185612828565b612bd16020830184612828565b9392505050565b5f819050919050565b5f819050919050565b5f612c04612bff612bfa84612bd8565b612be1565b612526565b9050919050565b612c1481612bea565b82525050565b5f60c082019050612c2d5f830189612828565b612c3a60208301886125ca565b612c476040830187612c0b565b612c546060830186612c0b565b612c616080830185612828565b612c6e60a08301846125ca565b979650505050505050565b5f81519050612c878161252f565b92915050565b5f805f60608486031215612ca457612ca36124c4565b5b5f612cb186828701612c79565b9350506020612cc286828701612c79565b9250506040612cd386828701612c79565b9150509250925092565b5f604082019050612cf05f830185612828565b612cfd60208301846125ca565b9392505050565b612d0d81612597565b8114612d17575f80fd5b50565b5f81519050612d2881612d04565b92915050565b5f60208284031215612d4357612d426124c4565b5b5f612d5084828501612d1a565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612db3602483612435565b9150612dbe82612d59565b604082019050919050565b5f6020820190508181035f830152612de081612da7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e41602283612435565b9150612e4c82612de7565b604082019050919050565b5f6020820190508181035f830152612e6e81612e35565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612ecf602583612435565b9150612eda82612e75565b604082019050919050565b5f6020820190508181035f830152612efc81612ec3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612f5d602383612435565b9150612f6882612f03565b604082019050919050565b5f6020820190508181035f830152612f8a81612f51565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612feb602983612435565b9150612ff682612f91565b604082019050919050565b5f6020820190508181035f83015261301881612fdf565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f5f8201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b5f613079602483612435565b91506130848261301f565b604082019050919050565b5f6020820190508181035f8301526130a68161306d565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6130e1601983612435565b91506130ec826130ad565b602082019050919050565b5f6020820190508181035f83015261310e816130d5565b9050919050565b5f61311f82612526565b915061312a83612526565b92508282019050808211156131425761314161288e565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f61317c601a83612435565b915061318782613148565b602082019050919050565b5f6020820190508181035f8301526131a981613170565b9050919050565b5f6131ba82612526565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036131ec576131eb61288e565b5b600182019050919050565b5f61320182612526565b915061320c83612526565b92508282039050818111156132245761322361288e565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61325c816124eb565b82525050565b5f61326d8383613253565b60208301905092915050565b5f602082019050919050565b5f61328f8261322a565b6132998185613234565b93506132a483613244565b805f5b838110156132d45781516132bb8882613262565b97506132c683613279565b9250506001810190506132a7565b5085935050505092915050565b5f60a0820190506132f45f8301886125ca565b6133016020830187612c0b565b81810360408301526133138186613285565b90506133226060830185612828565b61332f60808301846125ca565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61337082612526565b915061337b83612526565b92508261338b5761338a613339565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6133f0602183612435565b91506133fb82613396565b604082019050919050565b5f6020820190508181035f83015261341d816133e4565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613458601b83612435565b915061346382613424565b602082019050919050565b5f6020820190508181035f8301526134858161344c565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f594f1c55481370964e6ff553ec94d8f4294cdebdda49078010c1f3745c500c864736f6c634300081a0033

Deployed Bytecode

0x60806040526004361061014e575f3560e01c80637d1db4a5116100b5578063bf474bed1161006e578063bf474bed14610469578063c36956a014610493578063c876d0b9146104bd578063d34628cc146104e7578063dd62ed3e1461050f578063e11d22cf1461054b57610155565b80637d1db4a51461036f5780638da5cb5b146103995780638f9a55c0146103c357806395d89b41146103ed578063a3907d7114610417578063a9059cbb1461042d57610155565b8063313ce56711610107578063313ce5671461027957806331c2d847146102a35780633bbac579146102cb57806351bc3c851461030757806370a082311461031d578063715018a61461035957610155565b806306fdde0314610159578063095ea7b3146101835780630c193045146101bf5780630faee56f146101e957806318160ddd1461021357806323b872dd1461023d57610155565b3661015557005b5f80fd5b348015610164575f80fd5b5061016d610561565b60405161017a919061249b565b60405180910390f35b34801561018e575f80fd5b506101a960048036038101906101a49190612559565b61059e565b6040516101b691906125b1565b60405180910390f35b3480156101ca575f80fd5b506101d36105bb565b6040516101e091906125d9565b60405180910390f35b3480156101f4575f80fd5b506101fd6105c1565b60405161020a91906125d9565b60405180910390f35b34801561021e575f80fd5b506102276105c7565b60405161023491906125d9565b60405180910390f35b348015610248575f80fd5b50610263600480360381019061025e91906125f2565b6105ea565b60405161027091906125b1565b60405180910390f35b348015610284575f80fd5b5061028d6106be565b60405161029a919061265d565b60405180910390f35b3480156102ae575f80fd5b506102c960048036038101906102c491906127b6565b6106c6565b005b3480156102d6575f80fd5b506102f160048036038101906102ec91906127fd565b6107e4565b6040516102fe91906125b1565b60405180910390f35b348015610312575f80fd5b5061031b610836565b005b348015610328575f80fd5b50610343600480360381019061033e91906127fd565b6108ce565b60405161035091906125d9565b60405180910390f35b348015610364575f80fd5b5061036d610914565b005b34801561037a575f80fd5b50610383610a62565b60405161039091906125d9565b60405180910390f35b3480156103a4575f80fd5b506103ad610a68565b6040516103ba9190612837565b60405180910390f35b3480156103ce575f80fd5b506103d7610a8f565b6040516103e491906125d9565b60405180910390f35b3480156103f8575f80fd5b50610401610a95565b60405161040e919061249b565b60405180910390f35b348015610422575f80fd5b5061042b610ad2565b005b348015610438575f80fd5b50610453600480360381019061044e9190612559565b610ff1565b60405161046091906125b1565b60405180910390f35b348015610474575f80fd5b5061047d61100e565b60405161048a91906125d9565b60405180910390f35b34801561049e575f80fd5b506104a7611014565b6040516104b491906125d9565b60405180910390f35b3480156104c8575f80fd5b506104d161101a565b6040516104de91906125b1565b60405180910390f35b3480156104f2575f80fd5b5061050d600480360381019061050891906127b6565b61102c565b005b34801561051a575f80fd5b5061053560048036038101906105309190612850565b61114b565b60405161054291906125d9565b60405180910390f35b348015610556575f80fd5b5061055f6111cd565b005b60606040518060400160405280600a81526020017f4461646479205461746500000000000000000000000000000000000000000000815250905090565b5f6105b16105aa611315565b848461131c565b6001905092915050565b600b5481565b60125481565b5f6008600a6105d691906129ea565b633b9aca006105e59190612a34565b905090565b5f6105f68484846114df565b6106b384610602611315565b6106ae8560405180606001604052806028815260200161348d6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610665611315565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611efa9092919063ffffffff16565b61131c565b600190509392505050565b5f6008905090565b6106ce611315565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461075a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075190612abf565b60405180910390fd5b5f5b81518110156107e0575f60045f84848151811061077c5761077b612add565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808060010191505061075c565b5050565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610877611315565b73ffffffffffffffffffffffffffffffffffffffff1614610896575f80fd5b5f6108a0306108ce565b90505f8111156108b4576108b381611f5c565b5b5f4790505f8111156108ca576108c9816121e3565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61091c611315565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099f90612abf565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600581526020017f4441444459000000000000000000000000000000000000000000000000000000815250905090565b610ada611315565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5d90612abf565b60405180910390fd5b60148054906101000a900460ff1615610bb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bab90612b54565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c503060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008600a610c3c91906129ea565b633b9aca00610c4b9190612a34565b61131c565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cba573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cde9190612b86565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d64573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d889190612b86565b6040518363ffffffff1660e01b8152600401610da5929190612bb1565b6020604051808303815f875af1158015610dc1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610de59190612b86565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e6c306108ce565b5f80610e76610a68565b426040518863ffffffff1660e01b8152600401610e9896959493929190612c1a565b60606040518083038185885af1158015610eb4573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ed99190612c8d565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f79929190612cdd565b6020604051808303815f875af1158015610f95573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb99190612d2e565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f611004610ffd611315565b84846114df565b6001905092915050565b60115481565b600c5481565b60065f9054906101000a900460ff1681565b611034611315565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b790612abf565b60405180910390fd5b5f5b815181101561114757600160045f8484815181106110e3576110e2612add565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506110c2565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6111d5611315565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611261576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125890612abf565b60405180910390fd5b6008600a61126f91906129ea565b633b9aca0061127e9190612a34565b600f819055506008600a61129291906129ea565b633b9aca006112a19190612a34565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6008600a6112ef91906129ea565b633b9aca006112fe9190612a34565b60405161130b91906125d9565b60405180910390a1565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361138a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138190612dc9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ef90612e57565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114d291906125d9565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361154d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154490612ee5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b290612f73565b60405180910390fd5b5f81116115fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f490613001565b60405180910390fd5b5f611606610a68565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116745750611644610a68565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611c4a5760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611717575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b61171f575f80fd5b60065f9054906101000a900460ff16156118a55760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117dd575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156118a4574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611861576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118589061308f565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561194e575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119a1575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611a5b57600f548211156119eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e2906130f7565b60405180910390fd5b601054826119f8856108ce565b611a029190613115565b1115611a43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3a90613192565b60405180910390fd5b600e5f815480929190611a55906131b0565b91905055505b611a976064611a89600b54600e5411611a7657600754611a7a565b6009545b8561224c90919063ffffffff16565b6122c390919063ffffffff16565b905060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611b2157503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611b6557611b626064611b54600c54600e5411611b4157600854611b45565b600a545b8561224c90919063ffffffff16565b6122c390919063ffffffff16565b90505b5f611b6f306108ce565b9050601460159054906101000a900460ff16158015611bda575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611bf25750601460169054906101000a900460ff165b8015611bff575060115481115b8015611c0e5750600d54600e54115b15611c4857611c30611c2b84611c268460125461230c565b61230c565b611f5c565b5f4790505f811115611c4657611c45476121e3565b5b505b505b5f811115611d4957611ca28160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461232490919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d4091906125d9565b60405180910390a35b611d998260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461238190919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611e3c611df0828461238190919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461232490919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611edf848661238190919063ffffffff16565b604051611eec91906125d9565b60405180910390a350505050565b5f838311158290611f41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f38919061249b565b60405180910390fd5b505f8385611f4f91906131f7565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f8103156121c65760148054906101000a900460ff16156121c6575f600267ffffffffffffffff811115611fae57611fad61267a565b5b604051908082528060200260200182016040528015611fdc5781602001602082028036833780820191505090505b50905030815f81518110611ff357611ff2612add565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612097573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120bb9190612b86565b816001815181106120cf576120ce612add565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506121353060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461131c565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016121979594939291906132e1565b5f604051808303815f87803b1580156121ae575f80fd5b505af11580156121c0573d5f803e3d5ffd5b50505050505b5f601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612248573d5f803e3d5ffd5b5050565b5f80830361225c575f90506122bd565b5f82846122699190612a34565b90508284826122789190613366565b146122b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122af90613406565b60405180910390fd5b809150505b92915050565b5f61230483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506123ca565b905092915050565b5f81831161231a578261231c565b815b905092915050565b5f8082846123329190613115565b905083811015612377576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236e9061346e565b60405180910390fd5b8091505092915050565b5f6123c283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611efa565b905092915050565b5f8083118290612410576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612407919061249b565b60405180910390fd5b505f838561241e9190613366565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61246d8261242b565b6124778185612435565b9350612487818560208601612445565b61249081612453565b840191505092915050565b5f6020820190508181035f8301526124b38184612463565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6124f5826124cc565b9050919050565b612505816124eb565b811461250f575f80fd5b50565b5f81359050612520816124fc565b92915050565b5f819050919050565b61253881612526565b8114612542575f80fd5b50565b5f813590506125538161252f565b92915050565b5f806040838503121561256f5761256e6124c4565b5b5f61257c85828601612512565b925050602061258d85828601612545565b9150509250929050565b5f8115159050919050565b6125ab81612597565b82525050565b5f6020820190506125c45f8301846125a2565b92915050565b6125d381612526565b82525050565b5f6020820190506125ec5f8301846125ca565b92915050565b5f805f60608486031215612609576126086124c4565b5b5f61261686828701612512565b935050602061262786828701612512565b925050604061263886828701612545565b9150509250925092565b5f60ff82169050919050565b61265781612642565b82525050565b5f6020820190506126705f83018461264e565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6126b082612453565b810181811067ffffffffffffffff821117156126cf576126ce61267a565b5b80604052505050565b5f6126e16124bb565b90506126ed82826126a7565b919050565b5f67ffffffffffffffff82111561270c5761270b61267a565b5b602082029050602081019050919050565b5f80fd5b5f61273361272e846126f2565b6126d8565b905080838252602082019050602084028301858111156127565761275561271d565b5b835b8181101561277f578061276b8882612512565b845260208401935050602081019050612758565b5050509392505050565b5f82601f83011261279d5761279c612676565b5b81356127ad848260208601612721565b91505092915050565b5f602082840312156127cb576127ca6124c4565b5b5f82013567ffffffffffffffff8111156127e8576127e76124c8565b5b6127f484828501612789565b91505092915050565b5f60208284031215612812576128116124c4565b5b5f61281f84828501612512565b91505092915050565b612831816124eb565b82525050565b5f60208201905061284a5f830184612828565b92915050565b5f8060408385031215612866576128656124c4565b5b5f61287385828601612512565b925050602061288485828601612512565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612910578086048111156128ec576128eb61288e565b5b60018516156128fb5780820291505b8081029050612909856128bb565b94506128d0565b94509492505050565b5f8261292857600190506129e3565b81612935575f90506129e3565b816001811461294b576002811461295557612984565b60019150506129e3565b60ff8411156129675761296661288e565b5b8360020a91508482111561297e5761297d61288e565b5b506129e3565b5060208310610133831016604e8410600b84101617156129b95782820a9050838111156129b4576129b361288e565b5b6129e3565b6129c684848460016128c7565b925090508184048111156129dd576129dc61288e565b5b81810290505b9392505050565b5f6129f482612526565b91506129ff83612642565b9250612a2c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612919565b905092915050565b5f612a3e82612526565b9150612a4983612526565b9250828202612a5781612526565b91508282048414831517612a6e57612a6d61288e565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612aa9602083612435565b9150612ab482612a75565b602082019050919050565b5f6020820190508181035f830152612ad681612a9d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612b3e601783612435565b9150612b4982612b0a565b602082019050919050565b5f6020820190508181035f830152612b6b81612b32565b9050919050565b5f81519050612b80816124fc565b92915050565b5f60208284031215612b9b57612b9a6124c4565b5b5f612ba884828501612b72565b91505092915050565b5f604082019050612bc45f830185612828565b612bd16020830184612828565b9392505050565b5f819050919050565b5f819050919050565b5f612c04612bff612bfa84612bd8565b612be1565b612526565b9050919050565b612c1481612bea565b82525050565b5f60c082019050612c2d5f830189612828565b612c3a60208301886125ca565b612c476040830187612c0b565b612c546060830186612c0b565b612c616080830185612828565b612c6e60a08301846125ca565b979650505050505050565b5f81519050612c878161252f565b92915050565b5f805f60608486031215612ca457612ca36124c4565b5b5f612cb186828701612c79565b9350506020612cc286828701612c79565b9250506040612cd386828701612c79565b9150509250925092565b5f604082019050612cf05f830185612828565b612cfd60208301846125ca565b9392505050565b612d0d81612597565b8114612d17575f80fd5b50565b5f81519050612d2881612d04565b92915050565b5f60208284031215612d4357612d426124c4565b5b5f612d5084828501612d1a565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612db3602483612435565b9150612dbe82612d59565b604082019050919050565b5f6020820190508181035f830152612de081612da7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e41602283612435565b9150612e4c82612de7565b604082019050919050565b5f6020820190508181035f830152612e6e81612e35565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612ecf602583612435565b9150612eda82612e75565b604082019050919050565b5f6020820190508181035f830152612efc81612ec3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612f5d602383612435565b9150612f6882612f03565b604082019050919050565b5f6020820190508181035f830152612f8a81612f51565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612feb602983612435565b9150612ff682612f91565b604082019050919050565b5f6020820190508181035f83015261301881612fdf565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f5f8201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b5f613079602483612435565b91506130848261301f565b604082019050919050565b5f6020820190508181035f8301526130a68161306d565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6130e1601983612435565b91506130ec826130ad565b602082019050919050565b5f6020820190508181035f83015261310e816130d5565b9050919050565b5f61311f82612526565b915061312a83612526565b92508282019050808211156131425761314161288e565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f61317c601a83612435565b915061318782613148565b602082019050919050565b5f6020820190508181035f8301526131a981613170565b9050919050565b5f6131ba82612526565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036131ec576131eb61288e565b5b600182019050919050565b5f61320182612526565b915061320c83612526565b92508282039050818111156132245761322361288e565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61325c816124eb565b82525050565b5f61326d8383613253565b60208301905092915050565b5f602082019050919050565b5f61328f8261322a565b6132998185613234565b93506132a483613244565b805f5b838110156132d45781516132bb8882613262565b97506132c683613279565b9250506001810190506132a7565b5085935050505092915050565b5f60a0820190506132f45f8301886125ca565b6133016020830187612c0b565b81810360408301526133138186613285565b90506133226060830185612828565b61332f60808301846125ca565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61337082612526565b915061337b83612526565b92508261338b5761338a613339565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6133f0602183612435565b91506133fb82613396565b604082019050919050565b5f6020820190508181035f83015261341d816133e4565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613458601b83612435565b915061346382613424565b602082019050919050565b5f6020820190508181035f8301526134858161344c565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f594f1c55481370964e6ff553ec94d8f4294cdebdda49078010c1f3745c500c864736f6c634300081a0033

Deployed Bytecode Sourcemap

3544:8379:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5476:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6309:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4177:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4752:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5753:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6478:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5662:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11752:162;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10418:83;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11220:348;;;;;;;;;;;;;:::i;:::-;;5856:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2625:148;;;;;;;;;;;;;:::i;:::-;;4562:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2411:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4625:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5567:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10509:666;;;;;;;;;;;;;:::i;:::-;;5983:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4688:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4217:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3931:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11580:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6158:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10105:205;;;;;;;;;;;;;:::i;:::-;;5476:83;5513:13;5546:5;;;;;;;;;;;;;;;;;5539:12;;5476:83;:::o;6309:161::-;6384:4;6401:39;6410:12;:10;:12::i;:::-;6424:7;6433:6;6401:8;:39::i;:::-;6458:4;6451:11;;6309:161;;;;:::o;4177:33::-;;;;:::o;4752:51::-;;;;:::o;5753:95::-;5806:7;4373:1;4429:2;:13;;;;:::i;:::-;4416:10;:26;;;;:::i;:::-;5826:14;;5753:95;:::o;6478:313::-;6576:4;6593:36;6603:6;6611:9;6622:6;6593:9;:36::i;:::-;6640:121;6649:6;6657:12;:10;:12::i;:::-;6671:89;6709:6;6671:89;;;;;;;;;;;;;;;;;:11;:19;6683:6;6671:19;;;;;;;;;;;;;;;:33;6691:12;:10;:12::i;:::-;6671:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6640:8;:121::i;:::-;6779:4;6772:11;;6478:313;;;;;:::o;5662:83::-;5703:5;4373:1;5721:16;;5662:83;:::o;11752:162::-;2548:12;:10;:12::i;:::-;2538:22;;:6;;;;;;;;;;:22;;;2530:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11825:6:::1;11820:87;11841:6;:13;11837:1;:17;11820:87;;;11892:5;11874:4;:15;11879:6;11886:1;11879:9;;;;;;;;:::i;:::-;;;;;;;;11874:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;11856:3;;;;;;;11820:87;;;;11752:162:::0;:::o;10418:83::-;10465:4;10486;:7;10491:1;10486:7;;;;;;;;;;;;;;;;;;;;;;;;;10479:14;;10418:83;;;:::o;11220:348::-;11284:10;;;;;;;;;;;11270:24;;:12;:10;:12::i;:::-;:24;;;11262:33;;;;;;11306:20;11327:24;11345:4;11327:9;:24::i;:::-;11306:45;;11378:1;11365:12;:14;11362:73;;;11393:30;11410:12;11393:16;:30::i;:::-;11362:73;11445:18;11464:21;11445:40;;11510:1;11499:10;:12;11496:65;;;11525:24;11538:10;11525:12;:24::i;:::-;11496:65;11251:317;;11220:348::o;5856:119::-;5922:7;5949:9;:18;5959:7;5949:18;;;;;;;;;;;;;;;;5942:25;;5856:119;;;:::o;2625:148::-;2548:12;:10;:12::i;:::-;2538:22;;:6;;;;;;;;;;:22;;;2530:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2732:1:::1;2695:40;;2716:6;::::0;::::1;;;;;;;;2695:40;;;;;;;;;;;;2763:1;2746:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2625:148::o:0;4562:56::-;;;;:::o;2411:79::-;2449:7;2476:6;;;;;;;;;;;2469:13;;2411:79;:::o;4625:56::-;;;;:::o;5567:87::-;5606:13;5639:7;;;;;;;;;;;;;;;;;5632:14;;5567:87;:::o;10509:666::-;2548:12;:10;:12::i;:::-;2538:22;;:6;;;;;;;;;;:22;;;2530:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10568:11:::1;::::0;::::1;;;;;;;;10567:12;10559:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10654:42;10617:15;;:80;;;;;;;;;;;;;;;;;;10708:58;10725:4;10740:15;;;;;;;;;;;4373:1;4429:2;:13;;;;:::i;:::-;4416:10;:26;;;;:::i;:::-;10708:8;:58::i;:::-;10811:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10793:55;;;10857:4;10864:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10793:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10777:13;;:110;;;;;;;;;;;;;;;;;;10898:15;;;;;;;;;;;:31;;;10937:21;10968:4;10974:24;10992:4;10974:9;:24::i;:::-;10999:1;11001::::0;11003:7:::1;:5;:7::i;:::-;11011:15;10898:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11045:13;;;;;;;;;;;11038:29;;;11076:15;;;;;;;;;;;11094:14;11038:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11134:4;11120:11;;:18;;;;;;;;;;;;;;;;;;11163:4;11149:11;::::0;:18:::1;;;;;;;;;;;;;;;;;;10509:666::o:0;5983:167::-;6061:4;6078:42;6088:12;:10;:12::i;:::-;6102:9;6113:6;6078:9;:42::i;:::-;6138:4;6131:11;;5983:167;;;;:::o;4688:57::-;;;;:::o;4217:34::-;;;;:::o;3931:40::-;;;;;;;;;;;;;:::o;11580:164::-;2548:12;:10;:12::i;:::-;2538:22;;:6;;;;;;;;;;:22;;;2530:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11654:6:::1;11649:88;11670:5;:12;11666:1;:16;11649:88;;;11721:4;11704;:14;11709:5;11715:1;11709:8;;;;;;;;:::i;:::-;;;;;;;;11704:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;11684:3;;;;;;;11649:88;;;;11580:164:::0;:::o;6158:143::-;6239:7;6266:11;:18;6278:5;6266:18;;;;;;;;;;;;;;;:27;6285:7;6266:27;;;;;;;;;;;;;;;;6259:34;;6158:143;;;;:::o;10105:205::-;2548:12;:10;:12::i;:::-;2538:22;;:6;;;;;;;;;;:22;;;2530:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4373:1:::1;4429:2;:13;;;;:::i;:::-;4416:10;:26;;;;:::i;:::-;10158:12;:22;;;;4373:1;4429:2;:13;;;;:::i;:::-;4416:10;:26;;;;:::i;:::-;10191:14;:22;;;;10245:5;10224:20;;:26;;;;;;;;;;;;;;;;;;10275:27;4373:1;4429:2;:13;;;;:::i;:::-;4416:10;:26;;;;:::i;:::-;10275:27;;;;;;:::i;:::-;;;;;;;;10105:205::o:0;166:98::-;219:7;246:10;239:17;;166:98;:::o;6799:335::-;6909:1;6892:19;;:5;:19;;;6884:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6990:1;6971:21;;:7;:21;;;6963:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7072:6;7042:11;:18;7054:5;7042:18;;;;;;;;;;;;;;;:27;7061:7;7042:27;;;;;;;;;;;;;;;:36;;;;7110:7;7094:32;;7103:5;7094:32;;;7119:6;7094:32;;;;;;:::i;:::-;;;;;;;;6799:335;;;:::o;7142:2284::-;7246:1;7230:18;;:4;:18;;;7222:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7323:1;7309:16;;:2;:16;;;7301:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7393:1;7384:6;:10;7376:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7451:17;7493:7;:5;:7::i;:::-;7485:15;;:4;:15;;;;:32;;;;;7510:7;:5;:7::i;:::-;7504:13;;:2;:13;;;;7485:32;7481:1589;;;7543:4;:10;7548:4;7543:10;;;;;;;;;;;;;;;;;;;;;;;;;7542:11;:24;;;;;7558:4;:8;7563:2;7558:8;;;;;;;;;;;;;;;;;;;;;;;;;7557:9;7542:24;7534:33;;;;;;7588:20;;;;;;;;;;;7584:346;;;7647:15;;;;;;;;;;;7633:30;;:2;:30;;;;:62;;;;;7681:13;;;;;;;;;;;7667:28;;:2;:28;;;;7633:62;7629:286;;;7768:12;7726:28;:39;7755:9;7726:39;;;;;;;;;;;;;;;;:54;7718:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;7883:12;7841:28;:39;7870:9;7841:39;;;;;;;;;;;;;;;:54;;;;7629:286;7584:346;7958:13;;;;;;;;;;;7950:21;;:4;:21;;;:55;;;;;7989:15;;;;;;;;;;;7975:30;;:2;:30;;;;7950:55;:83;;;;;8011:18;:22;8030:2;8011:22;;;;;;;;;;;;;;;;;;;;;;;;;8009:24;7950:83;7946:313;;;8073:12;;8063:6;:22;;8055:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8168:14;;8158:6;8142:13;8152:2;8142:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8134:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8232:9;;:11;;;;;;;;;:::i;:::-;;;;;;7946:313;8289:76;8361:3;8289:67;8311:15;;8301:9;;:25;8300:55;;8341:14;;8300:55;;;8328:12;;8300:55;8289:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;8277:88;;8389:13;;;;;;;;;;;8383:19;;:2;:19;;;:43;;;;;8421:4;8406:20;;:4;:20;;;;8383:43;8380:174;;;8459:79;8534:3;8459:70;8481:16;;8471:9;;:26;8470:58;;8513:15;;8470:58;;;8499:13;;8470:58;8459:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;8447:91;;8380:174;8570:28;8601:24;8619:4;8601:9;:24::i;:::-;8570:55;;8645:6;;;;;;;;;;;8644:7;:30;;;;;8661:13;;;;;;;;;;;8655:19;;:2;:19;;;8644:30;:45;;;;;8678:11;;;;;;;;;;;8644:45;:87;;;;;8714:17;;8693:20;:38;8644:87;:119;;;;;8745:18;;8735:9;;:28;8644:119;8640:419;;;8784:67;8801:49;8805:6;8812:37;8816:20;8837:11;;8812:3;:37::i;:::-;8801:3;:49::i;:::-;8784:16;:67::i;:::-;8870:26;8899:21;8870:50;;8963:1;8942:18;:22;8939:105;;;8989:35;9002:21;8989:12;:35::i;:::-;8939:105;8765:294;8640:419;7519:1551;7481:1589;9095:1;9085:9;:11;9082:161;;;9135:39;9164:9;9135;:24;9153:4;9135:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9110:9;:24;9128:4;9110:24;;;;;;;;;;;;;;;:64;;;;9215:4;9192:39;;9201:4;9192:39;;;9221:9;9192:39;;;;;;:::i;:::-;;;;;;;;9082:161;9269:27;9289:6;9269:9;:15;9279:4;9269:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9253:9;:15;9263:4;9253:15;;;;;;;;;;;;;;;:43;;;;9321:40;9339:21;9350:9;9339:6;:10;;:21;;;;:::i;:::-;9321:9;:13;9331:2;9321:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9307:9;:13;9317:2;9307:13;;;;;;;;;;;;;;;:54;;;;9392:2;9377:41;;9386:4;9377:41;;;9396:21;9407:9;9396:6;:10;;:21;;;;:::i;:::-;9377:41;;;;;;:::i;:::-;;;;;;;;7211:2215;7142:2284;;;:::o;1303:190::-;1389:7;1422:1;1417;:6;;1425:12;1409:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1449:9;1465:1;1461;:5;;;;:::i;:::-;1449:17;;1484:1;1477:8;;;1303:190;;;;;:::o;9542:555::-;5094:4;5085:6;;:13;;;;;;;;;;;;;;;;;;9636:1:::1;9623:11;:14:::0;9620:27;9639:7:::1;9620:27;9661:11;::::0;::::1;;;;;;;;9657:25:::0;9674:7:::1;9657:25;9692:21;9730:1;9716:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9692:40;;9761:4;9743;9748:1;9743:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9787:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9777:4;9782:1;9777:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9820:62;9837:4;9852:15;;;;;;;;;;;9870:11;9820:8;:62::i;:::-;9893:15;;;;;;;;;;;:66;;;9974:11;10000:1;10016:4;10043;10063:15;9893:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9609:488;5109:1;5130:5:::0;5121:6;;:14;;;;;;;;;;;;;;;;;;9542:555;:::o;10318:92::-;10375:10;;;;;;;;;;;:19;;:27;10395:6;10375:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10318:92;:::o;1501:246::-;1559:7;1588:1;1583;:6;1579:47;;1613:1;1606:8;;;;1579:47;1636:9;1652:1;1648;:5;;;;:::i;:::-;1636:17;;1681:1;1676;1672;:5;;;;:::i;:::-;:10;1664:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1738:1;1731:8;;;1501:246;;;;;:::o;1755:132::-;1813:7;1840:39;1844:1;1847;1840:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1833:46;;1755:132;;;;:::o;9436:98::-;9493:7;9520:1;9518;:3;9517:9;;9525:1;9517:9;;;9523:1;9517:9;9510:16;;9436:98;;;;:::o;972:179::-;1030:7;1050:9;1066:1;1062;:5;;;;:::i;:::-;1050:17;;1091:1;1086;:6;;1078:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1142:1;1135:8;;;972:179;;;;:::o;1159:136::-;1217:7;1244:43;1248:1;1251;1244:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1237:50;;1159:136;;;;:::o;1895:189::-;1981:7;2013:1;2009;:5;2016:12;2001:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2040:9;2056:1;2052;:5;;;;:::i;:::-;2040:17;;2075:1;2068:8;;;1895: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:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1242:75::-;1275:6;1308:2;1302:9;1292:19;;1242:75;:::o;1323:117::-;1432:1;1429;1422:12;1446:117;1555:1;1552;1545:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:619::-;3768:6;3776;3784;3833:2;3821:9;3812:7;3808:23;3804:32;3801:119;;;3839:79;;:::i;:::-;3801:119;3959:1;3984:53;4029:7;4020:6;4009:9;4005:22;3984:53;:::i;:::-;3974:63;;3930:117;4086:2;4112:53;4157:7;4148:6;4137:9;4133:22;4112:53;:::i;:::-;4102:63;;4057:118;4214:2;4240:53;4285:7;4276:6;4265:9;4261:22;4240:53;:::i;:::-;4230:63;;4185:118;3691:619;;;;;:::o;4316:86::-;4351:7;4391:4;4384:5;4380:16;4369:27;;4316:86;;;:::o;4408:112::-;4491:22;4507:5;4491:22;:::i;:::-;4486:3;4479:35;4408:112;;:::o;4526:214::-;4615:4;4653:2;4642:9;4638:18;4630:26;;4666:67;4730:1;4719:9;4715:17;4706:6;4666:67;:::i;:::-;4526:214;;;;:::o;4746:117::-;4855:1;4852;4845:12;4869:180;4917:77;4914:1;4907:88;5014:4;5011:1;5004:15;5038:4;5035:1;5028:15;5055:281;5138:27;5160:4;5138:27;:::i;:::-;5130:6;5126:40;5268:6;5256:10;5253:22;5232:18;5220:10;5217:34;5214:62;5211:88;;;5279:18;;:::i;:::-;5211:88;5319:10;5315:2;5308:22;5098:238;5055:281;;:::o;5342:129::-;5376:6;5403:20;;:::i;:::-;5393:30;;5432:33;5460:4;5452:6;5432:33;:::i;:::-;5342:129;;;:::o;5477:311::-;5554:4;5644:18;5636:6;5633:30;5630:56;;;5666:18;;:::i;:::-;5630:56;5716:4;5708:6;5704:17;5696:25;;5776:4;5770;5766:15;5758:23;;5477:311;;;:::o;5794:117::-;5903:1;5900;5893:12;5934:710;6030:5;6055:81;6071:64;6128:6;6071:64;:::i;:::-;6055:81;:::i;:::-;6046:90;;6156:5;6185:6;6178:5;6171:21;6219:4;6212:5;6208:16;6201:23;;6272:4;6264:6;6260:17;6252:6;6248:30;6301:3;6293:6;6290:15;6287:122;;;6320:79;;:::i;:::-;6287:122;6435:6;6418:220;6452:6;6447:3;6444:15;6418:220;;;6527:3;6556:37;6589:3;6577:10;6556:37;:::i;:::-;6551:3;6544:50;6623:4;6618:3;6614:14;6607:21;;6494:144;6478:4;6473:3;6469:14;6462:21;;6418:220;;;6422:21;6036:608;;5934:710;;;;;:::o;6667:370::-;6738:5;6787:3;6780:4;6772:6;6768:17;6764:27;6754:122;;6795:79;;:::i;:::-;6754:122;6912:6;6899:20;6937:94;7027:3;7019:6;7012:4;7004:6;7000:17;6937:94;:::i;:::-;6928:103;;6744:293;6667:370;;;;:::o;7043:539::-;7127:6;7176:2;7164:9;7155:7;7151:23;7147:32;7144:119;;;7182:79;;:::i;:::-;7144:119;7330:1;7319:9;7315:17;7302:31;7360:18;7352:6;7349:30;7346:117;;;7382:79;;:::i;:::-;7346:117;7487:78;7557:7;7548:6;7537:9;7533:22;7487:78;:::i;:::-;7477:88;;7273:302;7043:539;;;;:::o;7588:329::-;7647:6;7696:2;7684:9;7675:7;7671:23;7667:32;7664:119;;;7702:79;;:::i;:::-;7664:119;7822:1;7847:53;7892:7;7883:6;7872:9;7868:22;7847:53;:::i;:::-;7837:63;;7793:117;7588:329;;;;:::o;7923:118::-;8010:24;8028:5;8010:24;:::i;:::-;8005:3;7998:37;7923:118;;:::o;8047:222::-;8140:4;8178:2;8167:9;8163:18;8155:26;;8191:71;8259:1;8248:9;8244:17;8235:6;8191:71;:::i;:::-;8047:222;;;;:::o;8275:474::-;8343:6;8351;8400:2;8388:9;8379:7;8375:23;8371:32;8368:119;;;8406:79;;:::i;:::-;8368:119;8526:1;8551:53;8596:7;8587:6;8576:9;8572:22;8551:53;:::i;:::-;8541:63;;8497:117;8653:2;8679:53;8724:7;8715:6;8704:9;8700:22;8679:53;:::i;:::-;8669:63;;8624:118;8275:474;;;;;:::o;8755:180::-;8803:77;8800:1;8793:88;8900:4;8897:1;8890:15;8924:4;8921:1;8914:15;8941:102;8983:8;9030:5;9027:1;9023:13;9002:34;;8941:102;;;:::o;9049:848::-;9110:5;9117:4;9141:6;9132:15;;9165:5;9156:14;;9179:712;9200:1;9190:8;9187:15;9179:712;;;9295:4;9290:3;9286:14;9280:4;9277:24;9274:50;;;9304:18;;:::i;:::-;9274:50;9354:1;9344:8;9340:16;9337:451;;;9769:4;9762:5;9758:16;9749:25;;9337:451;9819:4;9813;9809:15;9801:23;;9849:32;9872:8;9849:32;:::i;:::-;9837:44;;9179:712;;;9049:848;;;;;;;:::o;9903:1073::-;9957:5;10148:8;10138:40;;10169:1;10160:10;;10171:5;;10138:40;10197:4;10187:36;;10214:1;10205:10;;10216:5;;10187:36;10283:4;10331:1;10326:27;;;;10367:1;10362:191;;;;10276:277;;10326:27;10344:1;10335:10;;10346:5;;;10362:191;10407:3;10397:8;10394:17;10391:43;;;10414:18;;:::i;:::-;10391:43;10463:8;10460:1;10456:16;10447:25;;10498:3;10491:5;10488:14;10485:40;;;10505:18;;:::i;:::-;10485:40;10538:5;;;10276:277;;10662:2;10652:8;10649:16;10643:3;10637:4;10634:13;10630:36;10612:2;10602:8;10599:16;10594:2;10588:4;10585:12;10581:35;10565:111;10562:246;;;10718:8;10712:4;10708:19;10699:28;;10753:3;10746:5;10743:14;10740:40;;;10760:18;;:::i;:::-;10740:40;10793:5;;10562:246;10833:42;10871:3;10861:8;10855:4;10852:1;10833:42;:::i;:::-;10818:57;;;;10907:4;10902:3;10898:14;10891:5;10888:25;10885:51;;;10916:18;;:::i;:::-;10885:51;10965:4;10958:5;10954:16;10945:25;;9903:1073;;;;;;:::o;10982:281::-;11040:5;11064:23;11082:4;11064:23;:::i;:::-;11056:31;;11108:25;11124:8;11108:25;:::i;:::-;11096:37;;11152:104;11189:66;11179:8;11173:4;11152:104;:::i;:::-;11143:113;;10982:281;;;;:::o;11269:410::-;11309:7;11332:20;11350:1;11332:20;:::i;:::-;11327:25;;11366:20;11384:1;11366:20;:::i;:::-;11361:25;;11421:1;11418;11414:9;11443:30;11461:11;11443:30;:::i;:::-;11432:41;;11622:1;11613:7;11609:15;11606:1;11603:22;11583:1;11576:9;11556:83;11533:139;;11652:18;;:::i;:::-;11533:139;11317:362;11269:410;;;;:::o;11685:182::-;11825:34;11821:1;11813:6;11809:14;11802:58;11685:182;:::o;11873:366::-;12015:3;12036:67;12100:2;12095:3;12036:67;:::i;:::-;12029:74;;12112:93;12201:3;12112:93;:::i;:::-;12230:2;12225:3;12221:12;12214:19;;11873:366;;;:::o;12245:419::-;12411:4;12449:2;12438:9;12434:18;12426:26;;12498:9;12492:4;12488:20;12484:1;12473:9;12469:17;12462:47;12526:131;12652:4;12526:131;:::i;:::-;12518:139;;12245:419;;;:::o;12670:180::-;12718:77;12715:1;12708:88;12815:4;12812:1;12805:15;12839:4;12836:1;12829:15;12856:173;12996:25;12992:1;12984:6;12980:14;12973:49;12856:173;:::o;13035:366::-;13177:3;13198:67;13262:2;13257:3;13198:67;:::i;:::-;13191:74;;13274:93;13363:3;13274:93;:::i;:::-;13392:2;13387:3;13383:12;13376:19;;13035:366;;;:::o;13407:419::-;13573:4;13611:2;13600:9;13596:18;13588:26;;13660:9;13654:4;13650:20;13646:1;13635:9;13631:17;13624:47;13688:131;13814:4;13688:131;:::i;:::-;13680:139;;13407:419;;;:::o;13832:143::-;13889:5;13920:6;13914:13;13905:22;;13936:33;13963:5;13936:33;:::i;:::-;13832:143;;;;:::o;13981:351::-;14051:6;14100:2;14088:9;14079:7;14075:23;14071:32;14068:119;;;14106:79;;:::i;:::-;14068:119;14226:1;14251:64;14307:7;14298:6;14287:9;14283:22;14251:64;:::i;:::-;14241:74;;14197:128;13981:351;;;;:::o;14338:332::-;14459:4;14497:2;14486:9;14482:18;14474:26;;14510:71;14578:1;14567:9;14563:17;14554:6;14510:71;:::i;:::-;14591:72;14659:2;14648:9;14644:18;14635:6;14591:72;:::i;:::-;14338:332;;;;;:::o;14676:85::-;14721:7;14750:5;14739:16;;14676:85;;;:::o;14767:60::-;14795:3;14816:5;14809:12;;14767:60;;;:::o;14833:158::-;14891:9;14924:61;14942:42;14951:32;14977:5;14951:32;:::i;:::-;14942:42;:::i;:::-;14924:61;:::i;:::-;14911:74;;14833:158;;;:::o;14997:147::-;15092:45;15131:5;15092:45;:::i;:::-;15087:3;15080:58;14997:147;;:::o;15150:807::-;15399:4;15437:3;15426:9;15422:19;15414:27;;15451:71;15519:1;15508:9;15504:17;15495:6;15451:71;:::i;:::-;15532:72;15600:2;15589:9;15585:18;15576:6;15532:72;:::i;:::-;15614:80;15690:2;15679:9;15675:18;15666:6;15614:80;:::i;:::-;15704;15780:2;15769:9;15765:18;15756:6;15704:80;:::i;:::-;15794:73;15862:3;15851:9;15847:19;15838:6;15794:73;:::i;:::-;15877;15945:3;15934:9;15930:19;15921:6;15877:73;:::i;:::-;15150:807;;;;;;;;;:::o;15963:143::-;16020:5;16051:6;16045:13;16036:22;;16067:33;16094:5;16067:33;:::i;:::-;15963:143;;;;:::o;16112:663::-;16200:6;16208;16216;16265:2;16253:9;16244:7;16240:23;16236:32;16233:119;;;16271:79;;:::i;:::-;16233:119;16391:1;16416:64;16472:7;16463:6;16452:9;16448:22;16416:64;:::i;:::-;16406:74;;16362:128;16529:2;16555:64;16611:7;16602:6;16591:9;16587:22;16555:64;:::i;:::-;16545:74;;16500:129;16668:2;16694:64;16750:7;16741:6;16730:9;16726:22;16694:64;:::i;:::-;16684:74;;16639:129;16112:663;;;;;:::o;16781:332::-;16902:4;16940:2;16929:9;16925:18;16917:26;;16953:71;17021:1;17010:9;17006:17;16997:6;16953:71;:::i;:::-;17034:72;17102:2;17091:9;17087:18;17078:6;17034:72;:::i;:::-;16781:332;;;;;:::o;17119:116::-;17189:21;17204:5;17189:21;:::i;:::-;17182:5;17179:32;17169:60;;17225:1;17222;17215:12;17169:60;17119:116;:::o;17241:137::-;17295:5;17326:6;17320:13;17311:22;;17342:30;17366:5;17342:30;:::i;:::-;17241:137;;;;:::o;17384:345::-;17451:6;17500:2;17488:9;17479:7;17475:23;17471:32;17468:119;;;17506:79;;:::i;:::-;17468:119;17626:1;17651:61;17704:7;17695:6;17684:9;17680:22;17651:61;:::i;:::-;17641:71;;17597:125;17384:345;;;;:::o;17735:223::-;17875:34;17871:1;17863:6;17859:14;17852:58;17944:6;17939:2;17931:6;17927:15;17920:31;17735:223;:::o;17964:366::-;18106:3;18127:67;18191:2;18186:3;18127:67;:::i;:::-;18120:74;;18203:93;18292:3;18203:93;:::i;:::-;18321:2;18316:3;18312:12;18305:19;;17964:366;;;:::o;18336:419::-;18502:4;18540:2;18529:9;18525:18;18517:26;;18589:9;18583:4;18579:20;18575:1;18564:9;18560:17;18553:47;18617:131;18743:4;18617:131;:::i;:::-;18609:139;;18336:419;;;:::o;18761:221::-;18901:34;18897:1;18889:6;18885:14;18878:58;18970:4;18965:2;18957:6;18953:15;18946:29;18761:221;:::o;18988:366::-;19130:3;19151:67;19215:2;19210:3;19151:67;:::i;:::-;19144:74;;19227:93;19316:3;19227:93;:::i;:::-;19345:2;19340:3;19336:12;19329:19;;18988:366;;;:::o;19360:419::-;19526:4;19564:2;19553:9;19549:18;19541:26;;19613:9;19607:4;19603:20;19599:1;19588:9;19584:17;19577:47;19641:131;19767:4;19641:131;:::i;:::-;19633:139;;19360:419;;;:::o;19785:224::-;19925:34;19921:1;19913:6;19909:14;19902:58;19994:7;19989:2;19981:6;19977:15;19970:32;19785:224;:::o;20015:366::-;20157:3;20178:67;20242:2;20237:3;20178:67;:::i;:::-;20171:74;;20254:93;20343:3;20254:93;:::i;:::-;20372:2;20367:3;20363:12;20356:19;;20015:366;;;:::o;20387:419::-;20553:4;20591:2;20580:9;20576:18;20568:26;;20640:9;20634:4;20630:20;20626:1;20615:9;20611:17;20604:47;20668:131;20794:4;20668:131;:::i;:::-;20660:139;;20387:419;;;:::o;20812:222::-;20952:34;20948:1;20940:6;20936:14;20929:58;21021:5;21016:2;21008:6;21004:15;20997:30;20812:222;:::o;21040:366::-;21182:3;21203:67;21267:2;21262:3;21203:67;:::i;:::-;21196:74;;21279:93;21368:3;21279:93;:::i;:::-;21397:2;21392:3;21388:12;21381:19;;21040:366;;;:::o;21412:419::-;21578:4;21616:2;21605:9;21601:18;21593:26;;21665:9;21659:4;21655:20;21651:1;21640:9;21636:17;21629:47;21693:131;21819:4;21693:131;:::i;:::-;21685:139;;21412:419;;;:::o;21837:228::-;21977:34;21973:1;21965:6;21961:14;21954:58;22046:11;22041:2;22033:6;22029:15;22022:36;21837:228;:::o;22071:366::-;22213:3;22234:67;22298:2;22293:3;22234:67;:::i;:::-;22227:74;;22310:93;22399:3;22310:93;:::i;:::-;22428:2;22423:3;22419:12;22412:19;;22071:366;;;:::o;22443:419::-;22609:4;22647:2;22636:9;22632:18;22624:26;;22696:9;22690:4;22686:20;22682:1;22671:9;22667:17;22660:47;22724:131;22850:4;22724:131;:::i;:::-;22716:139;;22443:419;;;:::o;22868:223::-;23008:34;23004:1;22996:6;22992:14;22985:58;23077:6;23072:2;23064:6;23060:15;23053:31;22868:223;:::o;23097:366::-;23239:3;23260:67;23324:2;23319:3;23260:67;:::i;:::-;23253:74;;23336:93;23425:3;23336:93;:::i;:::-;23454:2;23449:3;23445:12;23438:19;;23097:366;;;:::o;23469:419::-;23635:4;23673:2;23662:9;23658:18;23650:26;;23722:9;23716:4;23712:20;23708:1;23697:9;23693:17;23686:47;23750:131;23876:4;23750:131;:::i;:::-;23742:139;;23469:419;;;:::o;23894:175::-;24034:27;24030:1;24022:6;24018:14;24011:51;23894:175;:::o;24075:366::-;24217:3;24238:67;24302:2;24297:3;24238:67;:::i;:::-;24231:74;;24314:93;24403:3;24314:93;:::i;:::-;24432:2;24427:3;24423:12;24416:19;;24075:366;;;:::o;24447:419::-;24613:4;24651:2;24640:9;24636:18;24628:26;;24700:9;24694:4;24690:20;24686:1;24675:9;24671:17;24664:47;24728:131;24854:4;24728:131;:::i;:::-;24720:139;;24447:419;;;:::o;24872:191::-;24912:3;24931:20;24949:1;24931:20;:::i;:::-;24926:25;;24965:20;24983:1;24965:20;:::i;:::-;24960:25;;25008:1;25005;25001:9;24994:16;;25029:3;25026:1;25023:10;25020:36;;;25036:18;;:::i;:::-;25020:36;24872:191;;;;:::o;25069:176::-;25209:28;25205:1;25197:6;25193:14;25186:52;25069:176;:::o;25251:366::-;25393:3;25414:67;25478:2;25473:3;25414:67;:::i;:::-;25407:74;;25490:93;25579:3;25490:93;:::i;:::-;25608:2;25603:3;25599:12;25592:19;;25251:366;;;:::o;25623:419::-;25789:4;25827:2;25816:9;25812:18;25804:26;;25876:9;25870:4;25866:20;25862:1;25851:9;25847:17;25840:47;25904:131;26030:4;25904:131;:::i;:::-;25896:139;;25623:419;;;:::o;26048:233::-;26087:3;26110:24;26128:5;26110:24;:::i;:::-;26101:33;;26156:66;26149:5;26146:77;26143:103;;26226:18;;:::i;:::-;26143:103;26273:1;26266:5;26262:13;26255:20;;26048:233;;;:::o;26287:194::-;26327:4;26347:20;26365:1;26347:20;:::i;:::-;26342:25;;26381:20;26399:1;26381:20;:::i;:::-;26376:25;;26425:1;26422;26418:9;26410:17;;26449:1;26443:4;26440:11;26437:37;;;26454:18;;:::i;:::-;26437:37;26287:194;;;;:::o;26487:114::-;26554:6;26588:5;26582:12;26572:22;;26487:114;;;:::o;26607:184::-;26706:11;26740:6;26735:3;26728:19;26780:4;26775:3;26771:14;26756:29;;26607:184;;;;:::o;26797:132::-;26864:4;26887:3;26879:11;;26917:4;26912:3;26908:14;26900:22;;26797:132;;;:::o;26935:108::-;27012:24;27030:5;27012:24;:::i;:::-;27007:3;27000:37;26935:108;;:::o;27049:179::-;27118:10;27139:46;27181:3;27173:6;27139:46;:::i;:::-;27217:4;27212:3;27208:14;27194:28;;27049:179;;;;:::o;27234:113::-;27304:4;27336;27331:3;27327:14;27319:22;;27234:113;;;:::o;27383:732::-;27502:3;27531:54;27579:5;27531:54;:::i;:::-;27601:86;27680:6;27675:3;27601:86;:::i;:::-;27594:93;;27711:56;27761:5;27711:56;:::i;:::-;27790:7;27821:1;27806:284;27831:6;27828:1;27825:13;27806:284;;;27907:6;27901:13;27934:63;27993:3;27978:13;27934:63;:::i;:::-;27927:70;;28020:60;28073:6;28020:60;:::i;:::-;28010:70;;27866:224;27853:1;27850;27846:9;27841:14;;27806:284;;;27810:14;28106:3;28099:10;;27507:608;;;27383:732;;;;:::o;28121:831::-;28384:4;28422:3;28411:9;28407:19;28399:27;;28436:71;28504:1;28493:9;28489:17;28480:6;28436:71;:::i;:::-;28517:80;28593:2;28582:9;28578:18;28569:6;28517:80;:::i;:::-;28644:9;28638:4;28634:20;28629:2;28618:9;28614:18;28607:48;28672:108;28775:4;28766:6;28672:108;:::i;:::-;28664:116;;28790:72;28858:2;28847:9;28843:18;28834:6;28790:72;:::i;:::-;28872:73;28940:3;28929:9;28925:19;28916:6;28872:73;:::i;:::-;28121:831;;;;;;;;:::o;28958:180::-;29006:77;29003:1;28996:88;29103:4;29100:1;29093:15;29127:4;29124:1;29117:15;29144:185;29184:1;29201:20;29219:1;29201:20;:::i;:::-;29196:25;;29235:20;29253:1;29235:20;:::i;:::-;29230:25;;29274:1;29264:35;;29279:18;;:::i;:::-;29264:35;29321:1;29318;29314:9;29309:14;;29144:185;;;;:::o;29335:220::-;29475:34;29471:1;29463:6;29459:14;29452:58;29544:3;29539:2;29531:6;29527:15;29520:28;29335:220;:::o;29561:366::-;29703:3;29724:67;29788:2;29783:3;29724:67;:::i;:::-;29717:74;;29800:93;29889:3;29800:93;:::i;:::-;29918:2;29913:3;29909:12;29902:19;;29561:366;;;:::o;29933:419::-;30099:4;30137:2;30126:9;30122:18;30114:26;;30186:9;30180:4;30176:20;30172:1;30161:9;30157:17;30150:47;30214:131;30340:4;30214:131;:::i;:::-;30206:139;;29933:419;;;:::o;30358:177::-;30498:29;30494:1;30486:6;30482:14;30475:53;30358:177;:::o;30541:366::-;30683:3;30704:67;30768:2;30763:3;30704:67;:::i;:::-;30697:74;;30780:93;30869:3;30780:93;:::i;:::-;30898:2;30893:3;30889:12;30882:19;;30541:366;;;:::o;30913:419::-;31079:4;31117:2;31106:9;31102:18;31094:26;;31166:9;31160:4;31156:20;31152:1;31141:9;31137:17;31130:47;31194:131;31320:4;31194:131;:::i;:::-;31186:139;;30913:419;;;:::o

Swarm Source

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