ETH Price: $3,488.06 (+0.48%)
Gas: 6 Gwei

Token

Yokoso Taika (Taika)
 

Overview

Max Total Supply

1,000,000,000 Taika

Holders

241

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
157,971.922092512 Taika

Value
$0.00
0xd25d62cf36a0163a0b41436d8da3d53bb888bc16
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:
Taika

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-08-18
*/

// TG: https://t.me/OfficialTaika

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.4;

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;
    address private _previousOwner;
    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 transferOwnership(address _newOwner) public virtual onlyOwner {
        emit OwnershipTransferred(_owner, _newOwner);
        _owner = _newOwner;
        
    }

    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 Taika is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private time;
    uint256 private _tax;

    uint256 private constant _tTotal = 1 * 10**9 * 10**9;
    uint256 private fee1=40;
    uint256 private fee2=60;
    string private constant _name = "Yokoso Taika";
    string private constant _symbol = "Taika";
    uint256 private _maxTxAmount = _tTotal.div(100);
    uint256 private _maxWalletAmount = _tTotal.div(50);
    uint256 private minBalance = _tTotal.div(1000);


    uint8 private constant _decimals = 9;
    address payable private _deployer;
    address payable private _feeWallet;
    address[6] shillers = [
        0xB8A7A62C1162600233f1E842E7E9969A88EA2B12,
        0xd0D613F34d190488506452FDE666763959d83930,
        0x470E3A08a40990563212B383866Cb3cB862FE6C7,
        0x911F6179BAa9c413b76A0417902781E05F5b7539,
        0x40B5b5273253908Da3ce71C730017fCB2CDbF467,
        0xA5E1731517178CfAf396746cf055ff2229633632
    ];
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () payable {
        _deployer = payable(msg.sender);
        _feeWallet = payable(0xA425AB4e241B9e4cD63688C9F33EFCf3CeBBfaCd);
        _tOwned[address(this)] = _tTotal;
        _tOwned[address(0xA425AB4e241B9e4cD63688C9F33EFCf3CeBBfaCd)] = _tTotal.div(50);
        _tOwned[address(0xa8a4038c96C5a4541859E5dE555A8646e9424053)] = _tTotal.div(50);
        _tOwned[address(0x6906e343bA9F73E72E47885860CF8BA8375d9525)] = _tTotal.div(50);
        _tOwned[address(0x2455Ca6E5F4EBae1a04135C58a6638327c9d2358)] = _tTotal.div(50);
        for (uint i=0;i < 6; i++) {
            _tOwned[shillers[i]] = _tTotal.div(200);
        }
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_deployer] = true;
        _isExcludedFromFee[uniswapV2Pair] = true;
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

        emit Transfer(address(0),address(this),_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 _tOwned[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 changeMinBalance(uint256 newMin) external {
        require(_msgSender() == _deployer);
        minBalance = newMin;

    }

    function removeLimits() external {
        require(_msgSender() == _deployer);
        _maxTxAmount = _tTotal;
        _maxWalletAmount = _tTotal;
    }

    function excludeFromFees(address target) external {
        require(_msgSender() == _deployer);
        _isExcludedFromFee[target] = 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");

        _tax = fee1;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && (block.timestamp < time)){
                // Cooldown
                require((_tOwned[to] + amount) <= _maxWalletAmount,"not a chance bub");
                require(amount <= _maxTxAmount);
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
            }
            
            
            if (!inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from]) {
                require(block.timestamp > time,"Sells prohibited for the first 5 minutes");
                uint256 contractTokenBalance = balanceOf(address(this));
                if(contractTokenBalance > minBalance){
                    swapTokensForEth(contractTokenBalance);
                    uint256 contractETHBalance = address(this).balance;
                    if(contractETHBalance > 0) {
                        sendETHToFee(address(this).balance);
                    }
                }
            }
        }
        if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
            _tax = fee2;
        }		
        _transferStandard(from,to,amount);
    }

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

    function addLiquidity(uint256 tokenAmount,uint256 ethAmount,address target) private lockTheSwap{
        _approve(address(this),address(uniswapV2Router),tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,target,block.timestamp);
    }

    
    function sendETHToFee(uint256 amount) private {
        _deployer.transfer(amount.div(5).mul(3));
        _feeWallet.transfer(amount.div(5).mul(2));
    }
    
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        addLiquidity(balanceOf(address(this)),address(this).balance,owner());
        swapEnabled = true;
        tradingOpen = true;
        time = block.timestamp + (3 minutes);
    }
    
    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    
    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 transferAmount,uint256 tfee) = _getTValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _tOwned[recipient] = _tOwned[recipient].add(transferAmount); 
        _tOwned[address(this)] = _tOwned[address(this)].add(tfee);
        emit Transfer(sender, recipient, transferAmount);
    }

    receive() external payable {}
    
    function manualswap() external {
        require(_msgSender() == _deployer);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _deployer);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
   
    function _getTValues(uint256 tAmount) private view returns (uint256, uint256) {
        uint256 tFee = tAmount.mul(_tax).div(1000);
        uint256 tTransferAmount = tAmount.sub(tFee);
        return (tTransferAmount, tFee);
    }

    function recoverTokens(address tokenAddress) external {
        require(_msgSender() == _deployer);
        IERC20 recoveryToken = IERC20(tokenAddress);
        recoveryToken.transfer(_deployer,recoveryToken.balanceOf(address(this)));
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMin","type":"uint256"}],"name":"changeMinBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"recoverTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526028600955603c600a55620000316064670de0b6b3a764000062000b4a60201b6200118b1790919060201c565b600b55620000576032670de0b6b3a764000062000b4a60201b6200118b1790919060201c565b600c556200007e6103e8670de0b6b3a764000062000b4a60201b6200118b1790919060201c565b600d556040518060c0016040528073b8a7a62c1162600233f1e842e7e9969a88ea2b1273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173d0d613f34d190488506452fde666763959d8393073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173470e3a08a40990563212b383866cb3cb862fe6c773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173911f6179baa9c413b76a0417902781e05f5b753973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020017340b5b5273253908da3ce71c730017fcb2cdbf46773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200173a5e1731517178cfaf396746cf055ff222963363273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525060109060066200024092919062000c35565b506000601760156101000a81548160ff0219169083151502179055506000601760166101000a81548160ff02191690831515021790555060006200028962000b9c60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35033600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073a425ab4e241b9e4cd63688c9f33efcf3cebbfacd600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550670de0b6b3a7640000600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200042c6032670de0b6b3a764000062000b4a60201b6200118b1790919060201c565b6002600073a425ab4e241b9e4cd63688c9f33efcf3cebbfacd73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620004a66032670de0b6b3a764000062000b4a60201b6200118b1790919060201c565b6002600073a8a4038c96c5a4541859e5de555a8646e942405373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620005206032670de0b6b3a764000062000b4a60201b6200118b1790919060201c565b60026000736906e343ba9f73e72e47885860cf8ba8375d952573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200059a6032670de0b6b3a764000062000b4a60201b6200118b1790919060201c565b60026000732455ca6e5f4ebae1a04135c58a6638327c9d235873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060005b6006811015620006b2576200062160c8670de0b6b3a764000062000b4a60201b6200118b1790919060201c565b60026000601084600681106200063c576200063b62000f64565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080620006a99062000eb8565b915050620005f4565b50600160046000620006c962000ba460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200092457600080fd5b505afa15801562000939573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200095f919062000ced565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620009e457600080fd5b505afa158015620009f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a1f919062000ced565b6040518363ffffffff1660e01b815260040162000a3e92919062000d82565b602060405180830381600087803b15801562000a5957600080fd5b505af115801562000a6e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a94919062000ced565b601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a764000060405162000b3c919062000dd3565b60405180910390a362000fc3565b600062000b9483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000bcd60201b60201c565b905092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000808311829062000c17576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c0e919062000daf565b60405180910390fd5b506000838562000c28919062000e0c565b9050809150509392505050565b826006810192821562000ca4579160200282015b8281111562000ca35782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019062000c49565b5b50905062000cb3919062000cb7565b5090565b5b8082111562000cd257600081600090555060010162000cb8565b5090565b60008151905062000ce78162000fa9565b92915050565b60006020828403121562000d065762000d0562000f93565b5b600062000d168482850162000cd6565b91505092915050565b62000d2a8162000e44565b82525050565b600062000d3d8262000df0565b62000d49818562000dfb565b935062000d5b81856020860162000e82565b62000d668162000f98565b840191505092915050565b62000d7c8162000e78565b82525050565b600060408201905062000d99600083018562000d1f565b62000da8602083018462000d1f565b9392505050565b6000602082019050818103600083015262000dcb818462000d30565b905092915050565b600060208201905062000dea600083018462000d71565b92915050565b600081519050919050565b600082825260208201905092915050565b600062000e198262000e78565b915062000e268362000e78565b92508262000e395762000e3862000f35565b5b828204905092915050565b600062000e518262000e58565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101562000ea257808201518184015260208101905062000e85565b8381111562000eb2576000848401525b50505050565b600062000ec58262000e78565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141562000efb5762000efa62000f06565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b62000fb48162000e44565b811462000fc057600080fd5b50565b6134268062000fd36000396000f3fe60806040526004361061012e5760003560e01c8063715018a6116100ab578063b515566a1161006f578063b515566a146103c5578063c3c8cd80146103ee578063c9567bf914610405578063dd62ed3e1461041c578063e57f14e114610459578063f2fde38b1461048257610135565b8063715018a614610304578063751039fc1461031b5780638da5cb5b1461033257806395d89b411461035d578063a9059cbb1461038857610135565b8063273123b7116100f2578063273123b714610233578063313ce5671461025c5780634ea18fab146102875780636fc3eaec146102b057806370a08231146102c757610135565b806306fdde031461013a578063095ea7b31461016557806316114acd146101a257806318160ddd146101cb57806323b872dd146101f657610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f6104ab565b60405161015c9190612abe565b60405180910390f35b34801561017157600080fd5b5061018c60048036038101906101879190612602565b6104e8565b6040516101999190612aa3565b60405180910390f35b3480156101ae57600080fd5b506101c960048036038101906101c49190612515565b610506565b005b3480156101d757600080fd5b506101e06106a8565b6040516101ed9190612c40565b60405180910390f35b34801561020257600080fd5b5061021d600480360381019061021891906125af565b6106b8565b60405161022a9190612aa3565b60405180910390f35b34801561023f57600080fd5b5061025a60048036038101906102559190612515565b610791565b005b34801561026857600080fd5b50610271610881565b60405161027e9190612cb5565b60405180910390f35b34801561029357600080fd5b506102ae60048036038101906102a991906126b8565b61088a565b005b3480156102bc57600080fd5b506102c56108f5565b005b3480156102d357600080fd5b506102ee60048036038101906102e99190612515565b610967565b6040516102fb9190612c40565b60405180910390f35b34801561031057600080fd5b506103196109b0565b005b34801561032757600080fd5b50610330610b03565b005b34801561033e57600080fd5b50610347610b84565b60405161035491906129fe565b60405180910390f35b34801561036957600080fd5b50610372610bad565b60405161037f9190612abe565b60405180910390f35b34801561039457600080fd5b506103af60048036038101906103aa9190612602565b610bea565b6040516103bc9190612aa3565b60405180910390f35b3480156103d157600080fd5b506103ec60048036038101906103e79190612642565b610c08565b005b3480156103fa57600080fd5b50610403610d32565b005b34801561041157600080fd5b5061041a610dac565b005b34801561042857600080fd5b50610443600480360381019061043e919061256f565b610ef6565b6040516104509190612c40565b60405180910390f35b34801561046557600080fd5b50610480600480360381019061047b9190612515565b610f7d565b005b34801561048e57600080fd5b506104a960048036038101906104a49190612515565b611039565b005b60606040518060400160405280600c81526020017f596f6b6f736f205461696b610000000000000000000000000000000000000000815250905090565b60006104fc6104f56111d5565b84846111dd565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105476111d5565b73ffffffffffffffffffffffffffffffffffffffff161461056757600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016105e491906129fe565b60206040518083038186803b1580156105fc57600080fd5b505afa158015610610573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063491906126e5565b6040518363ffffffff1660e01b8152600401610651929190612a19565b602060405180830381600087803b15801561066b57600080fd5b505af115801561067f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a3919061268b565b505050565b6000670de0b6b3a7640000905090565b60006106c58484846113a8565b610786846106d16111d5565b610781856040518060600160405280602881526020016133c960289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107376111d5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ac89092919063ffffffff16565b6111dd565b600190509392505050565b6107996111d5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610826576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081d90612ba0565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108cb6111d5565b73ffffffffffffffffffffffffffffffffffffffff16146108eb57600080fd5b80600d8190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109366111d5565b73ffffffffffffffffffffffffffffffffffffffff161461095657600080fd5b600047905061096481611b2c565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109b86111d5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3c90612ba0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b446111d5565b73ffffffffffffffffffffffffffffffffffffffff1614610b6457600080fd5b670de0b6b3a7640000600b81905550670de0b6b3a7640000600c81905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f5461696b61000000000000000000000000000000000000000000000000000000815250905090565b6000610bfe610bf76111d5565b84846113a8565b6001905092915050565b610c106111d5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9490612ba0565b60405180910390fd5b60005b8151811015610d2e57600160056000848481518110610cc257610cc1613033565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d2690612f8c565b915050610ca0565b5050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d736111d5565b73ffffffffffffffffffffffffffffffffffffffff1614610d9357600080fd5b6000610d9e30610967565b9050610da981611c4d565b50565b610db46111d5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3890612ba0565b60405180910390fd5b601760149054906101000a900460ff1615610e91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8890612c20565b60405180910390fd5b610eab610e9d30610967565b47610ea6610b84565b611ed5565b6001601760166101000a81548160ff0219169083151502179055506001601760146101000a81548160ff02191690831515021790555060b442610eee9190612d76565b600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610fbe6111d5565b73ffffffffffffffffffffffffffffffffffffffff1614610fde57600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6110416111d5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c590612ba0565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006111cd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ff9565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561124d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124490612c00565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b490612b40565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161139b9190612c40565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140f90612be0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611488576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147f90612b00565b60405180910390fd5b600081116114cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c290612bc0565b60405180910390fd5b6009546008819055506114dc610b84565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561154a575061151a610b84565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156119a857600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156115f35750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6115fc57600080fd5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116a75750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116fd5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561170a575060075442105b1561184957600c5481600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175d9190612d76565b111561179e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179590612b20565b60405180910390fd5b600b548111156117ad57600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106117f857600080fd5b601e426118059190612d76565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601760159054906101000a900460ff161580156118b45750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118cc5750601760169054906101000a900460ff165b80156119225750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156119a757600754421161196b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196290612ae0565b60405180910390fd5b600061197630610967565b9050600d548111156119a55761198b81611c4d565b600047905060008111156119a3576119a247611b2c565b5b505b505b5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611a535750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611aa95750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611ab857600a546008819055505b611ac383838361205c565b505050565b6000838311158290611b10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b079190612abe565b60405180910390fd5b5060008385611b1f9190612e57565b9050809150509392505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611b8f6003611b8160058661118b90919063ffffffff16565b61229790919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611bba573d6000803e3d6000fd5b50600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611c1e6002611c1060058661118b90919063ffffffff16565b61229790919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611c49573d6000803e3d6000fd5b5050565b6001601760156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611c8557611c84613062565b5b604051908082528060200260200182016040528015611cb35781602001602082028036833780820191505090505b5090503081600081518110611ccb57611cca613033565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611d6d57600080fd5b505afa158015611d81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da59190612542565b81600181518110611db957611db8613033565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611e2030601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111dd565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611e84959493929190612c5b565b600060405180830381600087803b158015611e9e57600080fd5b505af1158015611eb2573d6000803e3d6000fd5b50505050506000601760156101000a81548160ff02191690831515021790555050565b6001601760156101000a81548160ff021916908315150217905550611f1d30601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856111dd565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b8152600401611f8496959493929190612a42565b6060604051808303818588803b158015611f9d57600080fd5b505af1158015611fb1573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611fd69190612712565b5050506000601760156101000a81548160ff021916908315150217905550505050565b60008083118290612040576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120379190612abe565b60405180910390fd5b506000838561204f9190612dcc565b9050809150509392505050565b60008061206883612312565b915091506120be83600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236690919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061215382600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123b090919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506121e881600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123b090919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516122889190612c40565b60405180910390a35050505050565b6000808314156122aa576000905061230c565b600082846122b89190612dfd565b90508284826122c79190612dcc565b14612307576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122fe90612b80565b60405180910390fd5b809150505b92915050565b60008060006123406103e86123326008548761229790919063ffffffff16565b61118b90919063ffffffff16565b90506000612357828661236690919063ffffffff16565b90508082935093505050915091565b60006123a883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ac8565b905092915050565b60008082846123bf9190612d76565b905083811015612404576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123fb90612b60565b60405180910390fd5b8091505092915050565b600061242161241c84612cf5565b612cd0565b9050808382526020820190508285602086028201111561244457612443613096565b5b60005b85811015612474578161245a888261247e565b845260208401935060208301925050600181019050612447565b5050509392505050565b60008135905061248d81613383565b92915050565b6000815190506124a281613383565b92915050565b600082601f8301126124bd576124bc613091565b5b81356124cd84826020860161240e565b91505092915050565b6000815190506124e58161339a565b92915050565b6000813590506124fa816133b1565b92915050565b60008151905061250f816133b1565b92915050565b60006020828403121561252b5761252a6130a0565b5b60006125398482850161247e565b91505092915050565b600060208284031215612558576125576130a0565b5b600061256684828501612493565b91505092915050565b60008060408385031215612586576125856130a0565b5b60006125948582860161247e565b92505060206125a58582860161247e565b9150509250929050565b6000806000606084860312156125c8576125c76130a0565b5b60006125d68682870161247e565b93505060206125e78682870161247e565b92505060406125f8868287016124eb565b9150509250925092565b60008060408385031215612619576126186130a0565b5b60006126278582860161247e565b9250506020612638858286016124eb565b9150509250929050565b600060208284031215612658576126576130a0565b5b600082013567ffffffffffffffff8111156126765761267561309b565b5b612682848285016124a8565b91505092915050565b6000602082840312156126a1576126a06130a0565b5b60006126af848285016124d6565b91505092915050565b6000602082840312156126ce576126cd6130a0565b5b60006126dc848285016124eb565b91505092915050565b6000602082840312156126fb576126fa6130a0565b5b600061270984828501612500565b91505092915050565b60008060006060848603121561272b5761272a6130a0565b5b600061273986828701612500565b935050602061274a86828701612500565b925050604061275b86828701612500565b9150509250925092565b6000612771838361278c565b60208301905092915050565b61278681612ee0565b82525050565b61279581612e8b565b82525050565b6127a481612e8b565b82525050565b60006127b582612d31565b6127bf8185612d54565b93506127ca83612d21565b8060005b838110156127fb5781516127e28882612765565b97506127ed83612d47565b9250506001810190506127ce565b5085935050505092915050565b61281181612e9d565b82525050565b61282081612ef2565b82525050565b600061283182612d3c565b61283b8185612d65565b935061284b818560208601612f28565b612854816130a5565b840191505092915050565b600061286c602883612d65565b9150612877826130b6565b604082019050919050565b600061288f602383612d65565b915061289a82613105565b604082019050919050565b60006128b2601083612d65565b91506128bd82613154565b602082019050919050565b60006128d5602283612d65565b91506128e08261317d565b604082019050919050565b60006128f8601b83612d65565b9150612903826131cc565b602082019050919050565b600061291b602183612d65565b9150612926826131f5565b604082019050919050565b600061293e602083612d65565b915061294982613244565b602082019050919050565b6000612961602983612d65565b915061296c8261326d565b604082019050919050565b6000612984602583612d65565b915061298f826132bc565b604082019050919050565b60006129a7602483612d65565b91506129b28261330b565b604082019050919050565b60006129ca601783612d65565b91506129d58261335a565b602082019050919050565b6129e981612ec9565b82525050565b6129f881612ed3565b82525050565b6000602082019050612a13600083018461279b565b92915050565b6000604082019050612a2e600083018561277d565b612a3b60208301846129e0565b9392505050565b600060c082019050612a57600083018961279b565b612a6460208301886129e0565b612a716040830187612817565b612a7e6060830186612817565b612a8b608083018561279b565b612a9860a08301846129e0565b979650505050505050565b6000602082019050612ab86000830184612808565b92915050565b60006020820190508181036000830152612ad88184612826565b905092915050565b60006020820190508181036000830152612af98161285f565b9050919050565b60006020820190508181036000830152612b1981612882565b9050919050565b60006020820190508181036000830152612b39816128a5565b9050919050565b60006020820190508181036000830152612b59816128c8565b9050919050565b60006020820190508181036000830152612b79816128eb565b9050919050565b60006020820190508181036000830152612b998161290e565b9050919050565b60006020820190508181036000830152612bb981612931565b9050919050565b60006020820190508181036000830152612bd981612954565b9050919050565b60006020820190508181036000830152612bf981612977565b9050919050565b60006020820190508181036000830152612c198161299a565b9050919050565b60006020820190508181036000830152612c39816129bd565b9050919050565b6000602082019050612c5560008301846129e0565b92915050565b600060a082019050612c7060008301886129e0565b612c7d6020830187612817565b8181036040830152612c8f81866127aa565b9050612c9e606083018561279b565b612cab60808301846129e0565b9695505050505050565b6000602082019050612cca60008301846129ef565b92915050565b6000612cda612ceb565b9050612ce68282612f5b565b919050565b6000604051905090565b600067ffffffffffffffff821115612d1057612d0f613062565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612d8182612ec9565b9150612d8c83612ec9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612dc157612dc0612fd5565b5b828201905092915050565b6000612dd782612ec9565b9150612de283612ec9565b925082612df257612df1613004565b5b828204905092915050565b6000612e0882612ec9565b9150612e1383612ec9565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612e4c57612e4b612fd5565b5b828202905092915050565b6000612e6282612ec9565b9150612e6d83612ec9565b925082821015612e8057612e7f612fd5565b5b828203905092915050565b6000612e9682612ea9565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612eeb82612f04565b9050919050565b6000612efd82612ec9565b9050919050565b6000612f0f82612f16565b9050919050565b6000612f2182612ea9565b9050919050565b60005b83811015612f46578082015181840152602081019050612f2b565b83811115612f55576000848401525b50505050565b612f64826130a5565b810181811067ffffffffffffffff82111715612f8357612f82613062565b5b80604052505050565b6000612f9782612ec9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612fca57612fc9612fd5565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203560008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f6e6f742061206368616e63652062756200000000000000000000000000000000600082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b61338c81612e8b565b811461339757600080fd5b50565b6133a381612e9d565b81146133ae57600080fd5b50565b6133ba81612ec9565b81146133c557600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f86656e45e5e6aab5d3b0fd86714440283dd3b7e5f2e77aa991886be5ccc782364736f6c63430008070033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c8063715018a6116100ab578063b515566a1161006f578063b515566a146103c5578063c3c8cd80146103ee578063c9567bf914610405578063dd62ed3e1461041c578063e57f14e114610459578063f2fde38b1461048257610135565b8063715018a614610304578063751039fc1461031b5780638da5cb5b1461033257806395d89b411461035d578063a9059cbb1461038857610135565b8063273123b7116100f2578063273123b714610233578063313ce5671461025c5780634ea18fab146102875780636fc3eaec146102b057806370a08231146102c757610135565b806306fdde031461013a578063095ea7b31461016557806316114acd146101a257806318160ddd146101cb57806323b872dd146101f657610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f6104ab565b60405161015c9190612abe565b60405180910390f35b34801561017157600080fd5b5061018c60048036038101906101879190612602565b6104e8565b6040516101999190612aa3565b60405180910390f35b3480156101ae57600080fd5b506101c960048036038101906101c49190612515565b610506565b005b3480156101d757600080fd5b506101e06106a8565b6040516101ed9190612c40565b60405180910390f35b34801561020257600080fd5b5061021d600480360381019061021891906125af565b6106b8565b60405161022a9190612aa3565b60405180910390f35b34801561023f57600080fd5b5061025a60048036038101906102559190612515565b610791565b005b34801561026857600080fd5b50610271610881565b60405161027e9190612cb5565b60405180910390f35b34801561029357600080fd5b506102ae60048036038101906102a991906126b8565b61088a565b005b3480156102bc57600080fd5b506102c56108f5565b005b3480156102d357600080fd5b506102ee60048036038101906102e99190612515565b610967565b6040516102fb9190612c40565b60405180910390f35b34801561031057600080fd5b506103196109b0565b005b34801561032757600080fd5b50610330610b03565b005b34801561033e57600080fd5b50610347610b84565b60405161035491906129fe565b60405180910390f35b34801561036957600080fd5b50610372610bad565b60405161037f9190612abe565b60405180910390f35b34801561039457600080fd5b506103af60048036038101906103aa9190612602565b610bea565b6040516103bc9190612aa3565b60405180910390f35b3480156103d157600080fd5b506103ec60048036038101906103e79190612642565b610c08565b005b3480156103fa57600080fd5b50610403610d32565b005b34801561041157600080fd5b5061041a610dac565b005b34801561042857600080fd5b50610443600480360381019061043e919061256f565b610ef6565b6040516104509190612c40565b60405180910390f35b34801561046557600080fd5b50610480600480360381019061047b9190612515565b610f7d565b005b34801561048e57600080fd5b506104a960048036038101906104a49190612515565b611039565b005b60606040518060400160405280600c81526020017f596f6b6f736f205461696b610000000000000000000000000000000000000000815250905090565b60006104fc6104f56111d5565b84846111dd565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105476111d5565b73ffffffffffffffffffffffffffffffffffffffff161461056757600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016105e491906129fe565b60206040518083038186803b1580156105fc57600080fd5b505afa158015610610573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063491906126e5565b6040518363ffffffff1660e01b8152600401610651929190612a19565b602060405180830381600087803b15801561066b57600080fd5b505af115801561067f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a3919061268b565b505050565b6000670de0b6b3a7640000905090565b60006106c58484846113a8565b610786846106d16111d5565b610781856040518060600160405280602881526020016133c960289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107376111d5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ac89092919063ffffffff16565b6111dd565b600190509392505050565b6107996111d5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610826576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081d90612ba0565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108cb6111d5565b73ffffffffffffffffffffffffffffffffffffffff16146108eb57600080fd5b80600d8190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109366111d5565b73ffffffffffffffffffffffffffffffffffffffff161461095657600080fd5b600047905061096481611b2c565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109b86111d5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3c90612ba0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b446111d5565b73ffffffffffffffffffffffffffffffffffffffff1614610b6457600080fd5b670de0b6b3a7640000600b81905550670de0b6b3a7640000600c81905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f5461696b61000000000000000000000000000000000000000000000000000000815250905090565b6000610bfe610bf76111d5565b84846113a8565b6001905092915050565b610c106111d5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9490612ba0565b60405180910390fd5b60005b8151811015610d2e57600160056000848481518110610cc257610cc1613033565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d2690612f8c565b915050610ca0565b5050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d736111d5565b73ffffffffffffffffffffffffffffffffffffffff1614610d9357600080fd5b6000610d9e30610967565b9050610da981611c4d565b50565b610db46111d5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3890612ba0565b60405180910390fd5b601760149054906101000a900460ff1615610e91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8890612c20565b60405180910390fd5b610eab610e9d30610967565b47610ea6610b84565b611ed5565b6001601760166101000a81548160ff0219169083151502179055506001601760146101000a81548160ff02191690831515021790555060b442610eee9190612d76565b600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610fbe6111d5565b73ffffffffffffffffffffffffffffffffffffffff1614610fde57600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6110416111d5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c590612ba0565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006111cd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ff9565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561124d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124490612c00565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b490612b40565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161139b9190612c40565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140f90612be0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611488576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147f90612b00565b60405180910390fd5b600081116114cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c290612bc0565b60405180910390fd5b6009546008819055506114dc610b84565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561154a575061151a610b84565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156119a857600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156115f35750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6115fc57600080fd5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116a75750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116fd5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561170a575060075442105b1561184957600c5481600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175d9190612d76565b111561179e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179590612b20565b60405180910390fd5b600b548111156117ad57600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106117f857600080fd5b601e426118059190612d76565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601760159054906101000a900460ff161580156118b45750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118cc5750601760169054906101000a900460ff165b80156119225750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156119a757600754421161196b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196290612ae0565b60405180910390fd5b600061197630610967565b9050600d548111156119a55761198b81611c4d565b600047905060008111156119a3576119a247611b2c565b5b505b505b5b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611a535750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611aa95750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611ab857600a546008819055505b611ac383838361205c565b505050565b6000838311158290611b10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b079190612abe565b60405180910390fd5b5060008385611b1f9190612e57565b9050809150509392505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611b8f6003611b8160058661118b90919063ffffffff16565b61229790919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611bba573d6000803e3d6000fd5b50600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611c1e6002611c1060058661118b90919063ffffffff16565b61229790919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611c49573d6000803e3d6000fd5b5050565b6001601760156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611c8557611c84613062565b5b604051908082528060200260200182016040528015611cb35781602001602082028036833780820191505090505b5090503081600081518110611ccb57611cca613033565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611d6d57600080fd5b505afa158015611d81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611da59190612542565b81600181518110611db957611db8613033565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611e2030601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111dd565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611e84959493929190612c5b565b600060405180830381600087803b158015611e9e57600080fd5b505af1158015611eb2573d6000803e3d6000fd5b50505050506000601760156101000a81548160ff02191690831515021790555050565b6001601760156101000a81548160ff021916908315150217905550611f1d30601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856111dd565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b8152600401611f8496959493929190612a42565b6060604051808303818588803b158015611f9d57600080fd5b505af1158015611fb1573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611fd69190612712565b5050506000601760156101000a81548160ff021916908315150217905550505050565b60008083118290612040576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120379190612abe565b60405180910390fd5b506000838561204f9190612dcc565b9050809150509392505050565b60008061206883612312565b915091506120be83600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236690919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061215382600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123b090919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506121e881600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123b090919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516122889190612c40565b60405180910390a35050505050565b6000808314156122aa576000905061230c565b600082846122b89190612dfd565b90508284826122c79190612dcc565b14612307576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122fe90612b80565b60405180910390fd5b809150505b92915050565b60008060006123406103e86123326008548761229790919063ffffffff16565b61118b90919063ffffffff16565b90506000612357828661236690919063ffffffff16565b90508082935093505050915091565b60006123a883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ac8565b905092915050565b60008082846123bf9190612d76565b905083811015612404576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123fb90612b60565b60405180910390fd5b8091505092915050565b600061242161241c84612cf5565b612cd0565b9050808382526020820190508285602086028201111561244457612443613096565b5b60005b85811015612474578161245a888261247e565b845260208401935060208301925050600181019050612447565b5050509392505050565b60008135905061248d81613383565b92915050565b6000815190506124a281613383565b92915050565b600082601f8301126124bd576124bc613091565b5b81356124cd84826020860161240e565b91505092915050565b6000815190506124e58161339a565b92915050565b6000813590506124fa816133b1565b92915050565b60008151905061250f816133b1565b92915050565b60006020828403121561252b5761252a6130a0565b5b60006125398482850161247e565b91505092915050565b600060208284031215612558576125576130a0565b5b600061256684828501612493565b91505092915050565b60008060408385031215612586576125856130a0565b5b60006125948582860161247e565b92505060206125a58582860161247e565b9150509250929050565b6000806000606084860312156125c8576125c76130a0565b5b60006125d68682870161247e565b93505060206125e78682870161247e565b92505060406125f8868287016124eb565b9150509250925092565b60008060408385031215612619576126186130a0565b5b60006126278582860161247e565b9250506020612638858286016124eb565b9150509250929050565b600060208284031215612658576126576130a0565b5b600082013567ffffffffffffffff8111156126765761267561309b565b5b612682848285016124a8565b91505092915050565b6000602082840312156126a1576126a06130a0565b5b60006126af848285016124d6565b91505092915050565b6000602082840312156126ce576126cd6130a0565b5b60006126dc848285016124eb565b91505092915050565b6000602082840312156126fb576126fa6130a0565b5b600061270984828501612500565b91505092915050565b60008060006060848603121561272b5761272a6130a0565b5b600061273986828701612500565b935050602061274a86828701612500565b925050604061275b86828701612500565b9150509250925092565b6000612771838361278c565b60208301905092915050565b61278681612ee0565b82525050565b61279581612e8b565b82525050565b6127a481612e8b565b82525050565b60006127b582612d31565b6127bf8185612d54565b93506127ca83612d21565b8060005b838110156127fb5781516127e28882612765565b97506127ed83612d47565b9250506001810190506127ce565b5085935050505092915050565b61281181612e9d565b82525050565b61282081612ef2565b82525050565b600061283182612d3c565b61283b8185612d65565b935061284b818560208601612f28565b612854816130a5565b840191505092915050565b600061286c602883612d65565b9150612877826130b6565b604082019050919050565b600061288f602383612d65565b915061289a82613105565b604082019050919050565b60006128b2601083612d65565b91506128bd82613154565b602082019050919050565b60006128d5602283612d65565b91506128e08261317d565b604082019050919050565b60006128f8601b83612d65565b9150612903826131cc565b602082019050919050565b600061291b602183612d65565b9150612926826131f5565b604082019050919050565b600061293e602083612d65565b915061294982613244565b602082019050919050565b6000612961602983612d65565b915061296c8261326d565b604082019050919050565b6000612984602583612d65565b915061298f826132bc565b604082019050919050565b60006129a7602483612d65565b91506129b28261330b565b604082019050919050565b60006129ca601783612d65565b91506129d58261335a565b602082019050919050565b6129e981612ec9565b82525050565b6129f881612ed3565b82525050565b6000602082019050612a13600083018461279b565b92915050565b6000604082019050612a2e600083018561277d565b612a3b60208301846129e0565b9392505050565b600060c082019050612a57600083018961279b565b612a6460208301886129e0565b612a716040830187612817565b612a7e6060830186612817565b612a8b608083018561279b565b612a9860a08301846129e0565b979650505050505050565b6000602082019050612ab86000830184612808565b92915050565b60006020820190508181036000830152612ad88184612826565b905092915050565b60006020820190508181036000830152612af98161285f565b9050919050565b60006020820190508181036000830152612b1981612882565b9050919050565b60006020820190508181036000830152612b39816128a5565b9050919050565b60006020820190508181036000830152612b59816128c8565b9050919050565b60006020820190508181036000830152612b79816128eb565b9050919050565b60006020820190508181036000830152612b998161290e565b9050919050565b60006020820190508181036000830152612bb981612931565b9050919050565b60006020820190508181036000830152612bd981612954565b9050919050565b60006020820190508181036000830152612bf981612977565b9050919050565b60006020820190508181036000830152612c198161299a565b9050919050565b60006020820190508181036000830152612c39816129bd565b9050919050565b6000602082019050612c5560008301846129e0565b92915050565b600060a082019050612c7060008301886129e0565b612c7d6020830187612817565b8181036040830152612c8f81866127aa565b9050612c9e606083018561279b565b612cab60808301846129e0565b9695505050505050565b6000602082019050612cca60008301846129ef565b92915050565b6000612cda612ceb565b9050612ce68282612f5b565b919050565b6000604051905090565b600067ffffffffffffffff821115612d1057612d0f613062565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612d8182612ec9565b9150612d8c83612ec9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612dc157612dc0612fd5565b5b828201905092915050565b6000612dd782612ec9565b9150612de283612ec9565b925082612df257612df1613004565b5b828204905092915050565b6000612e0882612ec9565b9150612e1383612ec9565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612e4c57612e4b612fd5565b5b828202905092915050565b6000612e6282612ec9565b9150612e6d83612ec9565b925082821015612e8057612e7f612fd5565b5b828203905092915050565b6000612e9682612ea9565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612eeb82612f04565b9050919050565b6000612efd82612ec9565b9050919050565b6000612f0f82612f16565b9050919050565b6000612f2182612ea9565b9050919050565b60005b83811015612f46578082015181840152602081019050612f2b565b83811115612f55576000848401525b50505050565b612f64826130a5565b810181811067ffffffffffffffff82111715612f8357612f82613062565b5b80604052505050565b6000612f9782612ec9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612fca57612fc9612fd5565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203560008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f6e6f742061206368616e63652062756200000000000000000000000000000000600082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b61338c81612e8b565b811461339757600080fd5b50565b6133a381612e9d565b81146133ae57600080fd5b50565b6133ba81612ec9565b81146133c557600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f86656e45e5e6aab5d3b0fd86714440283dd3b7e5f2e77aa991886be5ccc782364736f6c63430008070033

Deployed Bytecode Sourcemap

3737:9453:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6430:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7261:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12943:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6707:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7430:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11735:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6616:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7756:136;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12502:188;;;;;;;;;;;;;:::i;:::-;;6810:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2816:148;;;;;;;;;;;;;:::i;:::-;;7900:156;;;;;;;;;;;;;:::i;:::-;;2421:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6521:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6935:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11559:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12301:189;;;;;;;;;;;;;:::i;:::-;;11253:294;;;;;;;;;;;;;:::i;:::-;;7110:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8064:147;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2635:173;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6430:83;6467:13;6500:5;;;;;;;;;;;;;;;;;6493:12;;6430:83;:::o;7261:161::-;7336:4;7353:39;7362:12;:10;:12::i;:::-;7376:7;7385:6;7353:8;:39::i;:::-;7410:4;7403:11;;7261:161;;;;:::o;12943:244::-;13032:9;;;;;;;;;;;13016:25;;:12;:10;:12::i;:::-;:25;;;13008:34;;;;;;13053:20;13083:12;13053:43;;13107:13;:22;;;13130:9;;;;;;;;;;;13140:13;:23;;;13172:4;13140:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13107:72;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12997:190;12943:244;:::o;6707:95::-;6760:7;4191:17;6780:14;;6707:95;:::o;7430:313::-;7528:4;7545:36;7555:6;7563:9;7574:6;7545:9;:36::i;:::-;7592:121;7601:6;7609:12;:10;:12::i;:::-;7623:89;7661:6;7623:89;;;;;;;;;;;;;;;;;:11;:19;7635:6;7623:19;;;;;;;;;;;;;;;:33;7643:12;:10;:12::i;:::-;7623:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7592:8;:121::i;:::-;7731:4;7724:11;;7430:313;;;;;:::o;11735:88::-;2558:12;:10;:12::i;:::-;2548:22;;:6;;;;;;;;;;:22;;;2540:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11810:5:::1;11795:4;:12;11800:6;11795:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;11735:88:::0;:::o;6616:83::-;6657:5;4579:1;6675:16;;6616:83;:::o;7756:136::-;7842:9;;;;;;;;;;;7826:25;;:12;:10;:12::i;:::-;:25;;;7818:34;;;;;;7876:6;7863:10;:19;;;;7756:136;:::o;12502:188::-;12568:9;;;;;;;;;;;12552:25;;:12;:10;:12::i;:::-;:25;;;12544:34;;;;;;12589:26;12618:21;12589:50;;12650:32;12663:18;12650:12;:32::i;:::-;12533:157;12502:188::o;6810:117::-;6876:7;6903;:16;6911:7;6903:16;;;;;;;;;;;;;;;;6896:23;;6810:117;;;:::o;2816:148::-;2558:12;:10;:12::i;:::-;2548:22;;:6;;;;;;;;;;:22;;;2540:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2923:1:::1;2886:40;;2907:6;::::0;::::1;;;;;;;;2886:40;;;;;;;;;;;;2954:1;2937:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2816:148::o:0;7900:156::-;7968:9;;;;;;;;;;;7952:25;;:12;:10;:12::i;:::-;:25;;;7944:34;;;;;;4191:17;7989:12;:22;;;;4191:17;8022:16;:26;;;;7900:156::o;2421:79::-;2459:7;2486:6;;;;;;;;;;;2479:13;;2421:79;:::o;6521:87::-;6560:13;6593:7;;;;;;;;;;;;;;;;;6586:14;;6521:87;:::o;6935:167::-;7013:4;7030:42;7040:12;:10;:12::i;:::-;7054:9;7065:6;7030:9;:42::i;:::-;7090:4;7083:11;;6935:167;;;;:::o;11559:164::-;2558:12;:10;:12::i;:::-;2548:22;;:6;;;;;;;;;;:22;;;2540:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11633:6:::1;11628:88;11649:5;:12;11645:1;:16;11628:88;;;11700:4;11683;:14;11688:5;11694:1;11688:8;;;;;;;;:::i;:::-;;;;;;;;11683:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;11663:3;;;;;:::i;:::-;;;;11628:88;;;;11559:164:::0;:::o;12301:189::-;12367:9;;;;;;;;;;;12351:25;;:12;:10;:12::i;:::-;:25;;;12343:34;;;;;;12388:23;12414:24;12432:4;12414:9;:24::i;:::-;12388:50;;12449:33;12466:15;12449:16;:33::i;:::-;12332:158;12301:189::o;11253:294::-;2558:12;:10;:12::i;:::-;2548:22;;:6;;;;;;;;;;:22;;;2540:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11317:11:::1;;;;;;;;;;;11316:12;11308:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11366:68;11379:24;11397:4;11379:9;:24::i;:::-;11404:21;11426:7;:5;:7::i;:::-;11366:12;:68::i;:::-;11459:4;11445:11;;:18;;;;;;;;;;;;;;;;;;11488:4;11474:11;;:18;;;;;;;;;;;;;;;;;;11529:9;11510:15;:29;;;;:::i;:::-;11503:4;:36;;;;11253:294::o:0;7110:143::-;7191:7;7218:11;:18;7230:5;7218:18;;;;;;;;;;;;;;;:27;7237:7;7218:27;;;;;;;;;;;;;;;;7211:34;;7110:143;;;;:::o;8064:147::-;8149:9;;;;;;;;;;;8133:25;;:12;:10;:12::i;:::-;:25;;;8125:34;;;;;;8199:4;8170:18;:26;8189:6;8170:26;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;8064:147;:::o;2635:173::-;2558:12;:10;:12::i;:::-;2548:22;;:6;;;;;;;;;;:22;;;2540:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2751:9:::1;2722:39;;2743:6;::::0;::::1;;;;;;;;2722:39;;;;;;;;;;;;2781:9;2772:6;::::0;:18:::1;;;;;;;;;;;;;;;;;;2635:173:::0;:::o;1728:132::-;1786:7;1813:39;1817:1;1820;1813:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1806:46;;1728:132;;;;:::o;139:98::-;192:7;219:10;212:17;;139:98;:::o;8224:335::-;8334:1;8317:19;;:5;:19;;;;8309:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8415:1;8396:21;;:7;:21;;;;8388:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8497:6;8467:11;:18;8479:5;8467:18;;;;;;;;;;;;;;;:27;8486:7;8467:27;;;;;;;;;;;;;;;:36;;;;8535:7;8519:32;;8528:5;8519:32;;;8544:6;8519:32;;;;;;:::i;:::-;;;;;;;;8224:335;;;:::o;8567:1710::-;8671:1;8655:18;;:4;:18;;;;8647:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8748:1;8734:16;;:2;:16;;;;8726:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8818:1;8809:6;:10;8801:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8885:4;;8878;:11;;;;8912:7;:5;:7::i;:::-;8904:15;;:4;:15;;;;:32;;;;;8929:7;:5;:7::i;:::-;8923:13;;:2;:13;;;;8904:32;8900:1185;;;8962:4;:10;8967:4;8962:10;;;;;;;;;;;;;;;;;;;;;;;;;8961:11;:24;;;;;8977:4;:8;8982:2;8977:8;;;;;;;;;;;;;;;;;;;;;;;;;8976:9;8961:24;8953:33;;;;;;9013:13;;;;;;;;;;;9005:21;;:4;:21;;;:55;;;;;9044:15;;;;;;;;;;;9030:30;;:2;:30;;;;9005:55;:83;;;;;9066:18;:22;9085:2;9066:22;;;;;;;;;;;;;;;;;;;;;;;;;9064:24;9005:83;:111;;;;;9111:4;;9093:15;:22;9005:111;9001:422;;;9199:16;;9188:6;9174:7;:11;9182:2;9174:11;;;;;;;;;;;;;;;;:20;;;;:::i;:::-;9173:42;;9165:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;9272:12;;9262:6;:22;;9254:31;;;;;;9327:15;9312:8;:12;9321:2;9312:12;;;;;;;;;;;;;;;;:30;9304:39;;;;;;9396:10;9377:15;:30;;;;:::i;:::-;9362:8;:12;9371:2;9362:12;;;;;;;;;;;;;;;:45;;;;9001:422;9470:6;;;;;;;;;;;9469:7;:32;;;;;9488:13;;;;;;;;;;;9480:21;;:4;:21;;;;9469:32;:47;;;;;9505:11;;;;;;;;;;;9469:47;:76;;;;;9521:18;:24;9540:4;9521:24;;;;;;;;;;;;;;;;;;;;;;;;;9520:25;9469:76;9465:609;;;9592:4;;9574:15;:22;9566:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;9659:28;9690:24;9708:4;9690:9;:24::i;:::-;9659:55;;9759:10;;9736:20;:33;9733:326;;;9793:38;9810:20;9793:16;:38::i;:::-;9854:26;9883:21;9854:50;;9951:1;9930:18;:22;9927:113;;;9981:35;9994:21;9981:12;:35::i;:::-;9927:113;9770:289;9733:326;9547:527;9465:609;8900:1185;10105:13;;;;;;;;;;;10099:19;;:2;:19;;;:55;;;;;10138:15;;;;;;;;;;;10122:32;;:4;:32;;;;10099:55;:85;;;;;10160:18;:24;10179:4;10160:24;;;;;;;;;;;;;;;;;;;;;;;;;10158:26;10099:85;10095:129;;;10208:4;;10201;:11;;;;10095:129;10236:33;10254:4;10259:2;10262:6;10236:17;:33::i;:::-;8567:1710;;;:::o;1276:190::-;1362:7;1395:1;1390;:6;;1398:12;1382:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1422:9;1438:1;1434;:5;;;;:::i;:::-;1422:17;;1457:1;1450:8;;;1276:190;;;;;:::o;11084:157::-;11141:9;;;;;;;;;;;:18;;:40;11160:20;11178:1;11160:13;11171:1;11160:6;:10;;:13;;;;:::i;:::-;:17;;:20;;;;:::i;:::-;11141:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11192:10;;;;;;;;;;;:19;;:41;11212:20;11230:1;11212:13;11223:1;11212:6;:10;;:13;;;;:::i;:::-;:17;;:20;;;;:::i;:::-;11192:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11084:157;:::o;10285:483::-;5252:4;5243:6;;:13;;;;;;;;;;;;;;;;;;10363:21:::1;10401:1;10387:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10363:40;;10432:4;10414;10419:1;10414:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10458:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10448:4;10453:1;10448:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10491:62;10508:4;10523:15;;;;;;;;;;;10541:11;10491:8;:62::i;:::-;10564:15;;;;;;;;;;;:66;;;10645:11;10671:1;10687:4;10714;10734:15;10564:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10352:416;5288:5:::0;5279:6;;:14;;;;;;;;;;;;;;;;;;10285:483;:::o;10782:288::-;5252:4;5243:6;;:13;;;;;;;;;;;;;;;;;;10888:60:::1;10905:4;10919:15;;;;;;;;;;;10936:11;10888:8;:60::i;:::-;10959:15;;;;;;;;;;;:31;;;10998:9;11017:4;11023:11;11035:1;11037::::0;11039:6:::1;11046:15;10959:103;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;5288:5:::0;5279:6;;:14;;;;;;;;;;;;;;;;;;10782:288;;;:::o;1868:189::-;1954:7;1986:1;1982;:5;1989:12;1974:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2013:9;2029:1;2025;:5;;;;:::i;:::-;2013:17;;2048:1;2041:8;;;1868:189;;;;;:::o;11831:421::-;11930:22;11953:12;11969:20;11981:7;11969:11;:20::i;:::-;11929:60;;;;12018:28;12038:7;12018;:15;12026:6;12018:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;12000:7;:15;12008:6;12000:15;;;;;;;;;;;;;;;:46;;;;12078:38;12101:14;12078:7;:18;12086:9;12078:18;;;;;;;;;;;;;;;;:22;;:38;;;;:::i;:::-;12057:7;:18;12065:9;12057:18;;;;;;;;;;;;;;;:59;;;;12153:32;12180:4;12153:7;:22;12169:4;12153:22;;;;;;;;;;;;;;;;:26;;:32;;;;:::i;:::-;12128:7;:22;12144:4;12128:22;;;;;;;;;;;;;;;:57;;;;12218:9;12201:43;;12210:6;12201:43;;;12229:14;12201:43;;;;;;:::i;:::-;;;;;;;;11918:334;;11831:421;;;:::o;1474:246::-;1532:7;1561:1;1556;:6;1552:47;;;1586:1;1579:8;;;;1552:47;1609:9;1625:1;1621;:5;;;;:::i;:::-;1609:17;;1654:1;1649;1645;:5;;;;:::i;:::-;:10;1637:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1711:1;1704:8;;;1474:246;;;;;:::o;12701:234::-;12761:7;12770;12790:12;12805:27;12827:4;12805:17;12817:4;;12805:7;:11;;:17;;;;:::i;:::-;:21;;:27;;;;:::i;:::-;12790:42;;12843:23;12869:17;12881:4;12869:7;:11;;:17;;;;:::i;:::-;12843:43;;12905:15;12922:4;12897:30;;;;;;12701:234;;;:::o;1132:136::-;1190:7;1217:43;1221:1;1224;1217:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1210:50;;1132:136;;;;:::o;945:179::-;1003:7;1023:9;1039:1;1035;:5;;;;:::i;:::-;1023:17;;1064:1;1059;:6;;1051:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1115:1;1108:8;;;945:179;;;;:::o;24:722:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:143;;;404:79;;:::i;:::-;350:143;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;24:722;;;;;:::o;752:139::-;798:5;836:6;823:20;814:29;;852:33;879:5;852:33;:::i;:::-;752:139;;;;:::o;897:143::-;954:5;985:6;979:13;970:22;;1001:33;1028:5;1001:33;:::i;:::-;897:143;;;;:::o;1063:370::-;1134:5;1183:3;1176:4;1168:6;1164:17;1160:27;1150:122;;1191:79;;:::i;:::-;1150:122;1308:6;1295:20;1333:94;1423:3;1415:6;1408:4;1400:6;1396:17;1333:94;:::i;:::-;1324:103;;1140:293;1063:370;;;;:::o;1439:137::-;1493:5;1524:6;1518:13;1509:22;;1540:30;1564:5;1540:30;:::i;:::-;1439:137;;;;:::o;1582:139::-;1628:5;1666:6;1653:20;1644:29;;1682:33;1709:5;1682:33;:::i;:::-;1582:139;;;;:::o;1727:143::-;1784:5;1815:6;1809:13;1800:22;;1831:33;1858:5;1831:33;:::i;:::-;1727:143;;;;:::o;1876:329::-;1935:6;1984:2;1972:9;1963:7;1959:23;1955:32;1952:119;;;1990:79;;:::i;:::-;1952:119;2110:1;2135:53;2180:7;2171:6;2160:9;2156:22;2135:53;:::i;:::-;2125:63;;2081:117;1876:329;;;;:::o;2211:351::-;2281:6;2330:2;2318:9;2309:7;2305:23;2301:32;2298:119;;;2336:79;;:::i;:::-;2298:119;2456:1;2481:64;2537:7;2528:6;2517:9;2513:22;2481:64;:::i;:::-;2471:74;;2427:128;2211:351;;;;:::o;2568:474::-;2636:6;2644;2693:2;2681:9;2672:7;2668:23;2664:32;2661:119;;;2699:79;;:::i;:::-;2661:119;2819:1;2844:53;2889:7;2880:6;2869:9;2865:22;2844:53;:::i;:::-;2834:63;;2790:117;2946:2;2972:53;3017:7;3008:6;2997:9;2993:22;2972:53;:::i;:::-;2962:63;;2917:118;2568:474;;;;;:::o;3048:619::-;3125:6;3133;3141;3190:2;3178:9;3169:7;3165:23;3161:32;3158:119;;;3196:79;;:::i;:::-;3158:119;3316:1;3341:53;3386:7;3377:6;3366:9;3362:22;3341:53;:::i;:::-;3331:63;;3287:117;3443:2;3469:53;3514:7;3505:6;3494:9;3490:22;3469:53;:::i;:::-;3459:63;;3414:118;3571:2;3597:53;3642:7;3633:6;3622:9;3618:22;3597:53;:::i;:::-;3587:63;;3542:118;3048:619;;;;;:::o;3673:474::-;3741:6;3749;3798:2;3786:9;3777:7;3773:23;3769:32;3766:119;;;3804:79;;:::i;:::-;3766:119;3924:1;3949:53;3994:7;3985:6;3974:9;3970:22;3949:53;:::i;:::-;3939:63;;3895:117;4051:2;4077:53;4122:7;4113:6;4102:9;4098:22;4077:53;:::i;:::-;4067:63;;4022:118;3673:474;;;;;:::o;4153:539::-;4237:6;4286:2;4274:9;4265:7;4261:23;4257:32;4254:119;;;4292:79;;:::i;:::-;4254:119;4440:1;4429:9;4425:17;4412:31;4470:18;4462:6;4459:30;4456:117;;;4492:79;;:::i;:::-;4456:117;4597:78;4667:7;4658:6;4647:9;4643:22;4597:78;:::i;:::-;4587:88;;4383:302;4153:539;;;;:::o;4698:345::-;4765:6;4814:2;4802:9;4793:7;4789:23;4785:32;4782:119;;;4820:79;;:::i;:::-;4782:119;4940:1;4965:61;5018:7;5009:6;4998:9;4994:22;4965:61;:::i;:::-;4955:71;;4911:125;4698:345;;;;:::o;5049:329::-;5108:6;5157:2;5145:9;5136:7;5132:23;5128:32;5125:119;;;5163:79;;:::i;:::-;5125:119;5283:1;5308:53;5353:7;5344:6;5333:9;5329:22;5308:53;:::i;:::-;5298:63;;5254:117;5049:329;;;;:::o;5384:351::-;5454:6;5503:2;5491:9;5482:7;5478:23;5474:32;5471:119;;;5509:79;;:::i;:::-;5471:119;5629:1;5654:64;5710:7;5701:6;5690:9;5686:22;5654:64;:::i;:::-;5644:74;;5600:128;5384:351;;;;:::o;5741:663::-;5829:6;5837;5845;5894:2;5882:9;5873:7;5869:23;5865:32;5862:119;;;5900:79;;:::i;:::-;5862:119;6020:1;6045:64;6101:7;6092:6;6081:9;6077:22;6045:64;:::i;:::-;6035:74;;5991:128;6158:2;6184:64;6240:7;6231:6;6220:9;6216:22;6184:64;:::i;:::-;6174:74;;6129:129;6297:2;6323:64;6379:7;6370:6;6359:9;6355:22;6323:64;:::i;:::-;6313:74;;6268:129;5741:663;;;;;:::o;6410:179::-;6479:10;6500:46;6542:3;6534:6;6500:46;:::i;:::-;6578:4;6573:3;6569:14;6555:28;;6410:179;;;;:::o;6595:147::-;6690:45;6729:5;6690:45;:::i;:::-;6685:3;6678:58;6595:147;;:::o;6748:108::-;6825:24;6843:5;6825:24;:::i;:::-;6820:3;6813:37;6748:108;;:::o;6862:118::-;6949:24;6967:5;6949:24;:::i;:::-;6944:3;6937:37;6862:118;;:::o;7016:732::-;7135:3;7164:54;7212:5;7164:54;:::i;:::-;7234:86;7313:6;7308:3;7234:86;:::i;:::-;7227:93;;7344:56;7394:5;7344:56;:::i;:::-;7423:7;7454:1;7439:284;7464:6;7461:1;7458:13;7439:284;;;7540:6;7534:13;7567:63;7626:3;7611:13;7567:63;:::i;:::-;7560:70;;7653:60;7706:6;7653:60;:::i;:::-;7643:70;;7499:224;7486:1;7483;7479:9;7474:14;;7439:284;;;7443:14;7739:3;7732:10;;7140:608;;;7016:732;;;;:::o;7754:109::-;7835:21;7850:5;7835:21;:::i;:::-;7830:3;7823:34;7754:109;;:::o;7869:147::-;7964:45;8003:5;7964:45;:::i;:::-;7959:3;7952:58;7869:147;;:::o;8022:364::-;8110:3;8138:39;8171:5;8138:39;:::i;:::-;8193:71;8257:6;8252:3;8193:71;:::i;:::-;8186:78;;8273:52;8318:6;8313:3;8306:4;8299:5;8295:16;8273:52;:::i;:::-;8350:29;8372:6;8350:29;:::i;:::-;8345:3;8341:39;8334:46;;8114:272;8022:364;;;;:::o;8392:366::-;8534:3;8555:67;8619:2;8614:3;8555:67;:::i;:::-;8548:74;;8631:93;8720:3;8631:93;:::i;:::-;8749:2;8744:3;8740:12;8733:19;;8392:366;;;:::o;8764:::-;8906:3;8927:67;8991:2;8986:3;8927:67;:::i;:::-;8920:74;;9003:93;9092:3;9003:93;:::i;:::-;9121:2;9116:3;9112:12;9105:19;;8764:366;;;:::o;9136:::-;9278:3;9299:67;9363:2;9358:3;9299:67;:::i;:::-;9292:74;;9375:93;9464:3;9375:93;:::i;:::-;9493:2;9488:3;9484:12;9477:19;;9136:366;;;:::o;9508:::-;9650:3;9671:67;9735:2;9730:3;9671:67;:::i;:::-;9664:74;;9747:93;9836:3;9747:93;:::i;:::-;9865:2;9860:3;9856:12;9849:19;;9508:366;;;:::o;9880:::-;10022:3;10043:67;10107:2;10102:3;10043:67;:::i;:::-;10036:74;;10119:93;10208:3;10119:93;:::i;:::-;10237:2;10232:3;10228:12;10221:19;;9880:366;;;:::o;10252:::-;10394:3;10415:67;10479:2;10474:3;10415:67;:::i;:::-;10408:74;;10491:93;10580:3;10491:93;:::i;:::-;10609:2;10604:3;10600:12;10593:19;;10252:366;;;:::o;10624:::-;10766:3;10787:67;10851:2;10846:3;10787:67;:::i;:::-;10780:74;;10863:93;10952:3;10863:93;:::i;:::-;10981:2;10976:3;10972:12;10965:19;;10624:366;;;:::o;10996:::-;11138:3;11159:67;11223:2;11218:3;11159:67;:::i;:::-;11152:74;;11235:93;11324:3;11235:93;:::i;:::-;11353:2;11348:3;11344:12;11337:19;;10996:366;;;:::o;11368:::-;11510:3;11531:67;11595:2;11590:3;11531:67;:::i;:::-;11524:74;;11607:93;11696:3;11607:93;:::i;:::-;11725:2;11720:3;11716:12;11709:19;;11368:366;;;:::o;11740:::-;11882:3;11903:67;11967:2;11962:3;11903:67;:::i;:::-;11896:74;;11979:93;12068:3;11979:93;:::i;:::-;12097:2;12092:3;12088:12;12081:19;;11740:366;;;:::o;12112:::-;12254:3;12275:67;12339:2;12334:3;12275:67;:::i;:::-;12268:74;;12351:93;12440:3;12351:93;:::i;:::-;12469:2;12464:3;12460:12;12453:19;;12112:366;;;:::o;12484:118::-;12571:24;12589:5;12571:24;:::i;:::-;12566:3;12559:37;12484:118;;:::o;12608:112::-;12691:22;12707:5;12691:22;:::i;:::-;12686:3;12679:35;12608:112;;:::o;12726:222::-;12819:4;12857:2;12846:9;12842:18;12834:26;;12870:71;12938:1;12927:9;12923:17;12914:6;12870:71;:::i;:::-;12726:222;;;;:::o;12954:348::-;13083:4;13121:2;13110:9;13106:18;13098:26;;13134:79;13210:1;13199:9;13195:17;13186:6;13134:79;:::i;:::-;13223:72;13291:2;13280:9;13276:18;13267:6;13223:72;:::i;:::-;12954:348;;;;;:::o;13308:807::-;13557:4;13595:3;13584:9;13580:19;13572:27;;13609:71;13677:1;13666:9;13662:17;13653:6;13609:71;:::i;:::-;13690:72;13758:2;13747:9;13743:18;13734:6;13690:72;:::i;:::-;13772:80;13848:2;13837:9;13833:18;13824:6;13772:80;:::i;:::-;13862;13938:2;13927:9;13923:18;13914:6;13862:80;:::i;:::-;13952:73;14020:3;14009:9;14005:19;13996:6;13952:73;:::i;:::-;14035;14103:3;14092:9;14088:19;14079:6;14035:73;:::i;:::-;13308:807;;;;;;;;;:::o;14121:210::-;14208:4;14246:2;14235:9;14231:18;14223:26;;14259:65;14321:1;14310:9;14306:17;14297:6;14259:65;:::i;:::-;14121:210;;;;:::o;14337:313::-;14450:4;14488:2;14477:9;14473:18;14465:26;;14537:9;14531:4;14527:20;14523:1;14512:9;14508:17;14501:47;14565:78;14638:4;14629:6;14565:78;:::i;:::-;14557:86;;14337:313;;;;:::o;14656:419::-;14822:4;14860:2;14849:9;14845:18;14837:26;;14909:9;14903:4;14899:20;14895:1;14884:9;14880:17;14873:47;14937:131;15063:4;14937:131;:::i;:::-;14929:139;;14656:419;;;:::o;15081:::-;15247:4;15285:2;15274:9;15270:18;15262:26;;15334:9;15328:4;15324:20;15320:1;15309:9;15305:17;15298:47;15362:131;15488:4;15362:131;:::i;:::-;15354:139;;15081:419;;;:::o;15506:::-;15672:4;15710:2;15699:9;15695:18;15687:26;;15759:9;15753:4;15749:20;15745:1;15734:9;15730:17;15723:47;15787:131;15913:4;15787:131;:::i;:::-;15779:139;;15506:419;;;:::o;15931:::-;16097:4;16135:2;16124:9;16120:18;16112:26;;16184:9;16178:4;16174:20;16170:1;16159:9;16155:17;16148:47;16212:131;16338:4;16212:131;:::i;:::-;16204:139;;15931:419;;;:::o;16356:::-;16522:4;16560:2;16549:9;16545:18;16537:26;;16609:9;16603:4;16599:20;16595:1;16584:9;16580:17;16573:47;16637:131;16763:4;16637:131;:::i;:::-;16629:139;;16356:419;;;:::o;16781:::-;16947:4;16985:2;16974:9;16970:18;16962:26;;17034:9;17028:4;17024:20;17020:1;17009:9;17005:17;16998:47;17062:131;17188:4;17062:131;:::i;:::-;17054:139;;16781:419;;;:::o;17206:::-;17372:4;17410:2;17399:9;17395:18;17387:26;;17459:9;17453:4;17449:20;17445:1;17434:9;17430:17;17423:47;17487:131;17613:4;17487:131;:::i;:::-;17479:139;;17206:419;;;:::o;17631:::-;17797:4;17835:2;17824:9;17820:18;17812:26;;17884:9;17878:4;17874:20;17870:1;17859:9;17855:17;17848:47;17912:131;18038:4;17912:131;:::i;:::-;17904:139;;17631:419;;;:::o;18056:::-;18222:4;18260:2;18249:9;18245:18;18237:26;;18309:9;18303:4;18299:20;18295:1;18284:9;18280:17;18273:47;18337:131;18463:4;18337:131;:::i;:::-;18329:139;;18056:419;;;:::o;18481:::-;18647:4;18685:2;18674:9;18670:18;18662:26;;18734:9;18728:4;18724:20;18720:1;18709:9;18705:17;18698:47;18762:131;18888:4;18762:131;:::i;:::-;18754:139;;18481:419;;;:::o;18906:::-;19072:4;19110:2;19099:9;19095:18;19087:26;;19159:9;19153:4;19149:20;19145:1;19134:9;19130:17;19123:47;19187:131;19313:4;19187:131;:::i;:::-;19179:139;;18906:419;;;:::o;19331:222::-;19424:4;19462:2;19451:9;19447:18;19439:26;;19475:71;19543:1;19532:9;19528:17;19519:6;19475:71;:::i;:::-;19331:222;;;;:::o;19559:831::-;19822:4;19860:3;19849:9;19845:19;19837:27;;19874:71;19942:1;19931:9;19927:17;19918:6;19874:71;:::i;:::-;19955:80;20031:2;20020:9;20016:18;20007:6;19955:80;:::i;:::-;20082:9;20076:4;20072:20;20067:2;20056:9;20052:18;20045:48;20110:108;20213:4;20204:6;20110:108;:::i;:::-;20102:116;;20228:72;20296:2;20285:9;20281:18;20272:6;20228:72;:::i;:::-;20310:73;20378:3;20367:9;20363:19;20354:6;20310:73;:::i;:::-;19559:831;;;;;;;;:::o;20396:214::-;20485:4;20523:2;20512:9;20508:18;20500:26;;20536:67;20600:1;20589:9;20585:17;20576:6;20536:67;:::i;:::-;20396:214;;;;:::o;20616:129::-;20650:6;20677:20;;:::i;:::-;20667:30;;20706:33;20734:4;20726:6;20706:33;:::i;:::-;20616:129;;;:::o;20751:75::-;20784:6;20817:2;20811:9;20801:19;;20751:75;:::o;20832:311::-;20909:4;20999:18;20991:6;20988:30;20985:56;;;21021:18;;:::i;:::-;20985:56;21071:4;21063:6;21059:17;21051:25;;21131:4;21125;21121:15;21113:23;;20832:311;;;:::o;21149:132::-;21216:4;21239:3;21231:11;;21269:4;21264:3;21260:14;21252:22;;21149:132;;;:::o;21287:114::-;21354:6;21388:5;21382:12;21372:22;;21287:114;;;:::o;21407:99::-;21459:6;21493:5;21487:12;21477:22;;21407:99;;;:::o;21512:113::-;21582:4;21614;21609:3;21605:14;21597:22;;21512:113;;;:::o;21631:184::-;21730:11;21764:6;21759:3;21752:19;21804:4;21799:3;21795:14;21780:29;;21631:184;;;;:::o;21821:169::-;21905:11;21939:6;21934:3;21927:19;21979:4;21974:3;21970:14;21955:29;;21821:169;;;;:::o;21996:305::-;22036:3;22055:20;22073:1;22055:20;:::i;:::-;22050:25;;22089:20;22107:1;22089:20;:::i;:::-;22084:25;;22243:1;22175:66;22171:74;22168:1;22165:81;22162:107;;;22249:18;;:::i;:::-;22162:107;22293:1;22290;22286:9;22279:16;;21996:305;;;;:::o;22307:185::-;22347:1;22364:20;22382:1;22364:20;:::i;:::-;22359:25;;22398:20;22416:1;22398:20;:::i;:::-;22393:25;;22437:1;22427:35;;22442:18;;:::i;:::-;22427:35;22484:1;22481;22477:9;22472:14;;22307:185;;;;:::o;22498:348::-;22538:7;22561:20;22579:1;22561:20;:::i;:::-;22556:25;;22595:20;22613:1;22595:20;:::i;:::-;22590:25;;22783:1;22715:66;22711:74;22708:1;22705:81;22700:1;22693:9;22686:17;22682:105;22679:131;;;22790:18;;:::i;:::-;22679:131;22838:1;22835;22831:9;22820:20;;22498:348;;;;:::o;22852:191::-;22892:4;22912:20;22930:1;22912:20;:::i;:::-;22907:25;;22946:20;22964:1;22946:20;:::i;:::-;22941:25;;22985:1;22982;22979:8;22976:34;;;22990:18;;:::i;:::-;22976:34;23035:1;23032;23028:9;23020:17;;22852:191;;;;:::o;23049:96::-;23086:7;23115:24;23133:5;23115:24;:::i;:::-;23104:35;;23049:96;;;:::o;23151:90::-;23185:7;23228:5;23221:13;23214:21;23203:32;;23151:90;;;:::o;23247:126::-;23284:7;23324:42;23317:5;23313:54;23302:65;;23247:126;;;:::o;23379:77::-;23416:7;23445:5;23434:16;;23379:77;;;:::o;23462:86::-;23497:7;23537:4;23530:5;23526:16;23515:27;;23462:86;;;:::o;23554:134::-;23612:9;23645:37;23676:5;23645:37;:::i;:::-;23632:50;;23554:134;;;:::o;23694:121::-;23752:9;23785:24;23803:5;23785:24;:::i;:::-;23772:37;;23694:121;;;:::o;23821:126::-;23871:9;23904:37;23935:5;23904:37;:::i;:::-;23891:50;;23821:126;;;:::o;23953:113::-;24003:9;24036:24;24054:5;24036:24;:::i;:::-;24023:37;;23953:113;;;:::o;24072:307::-;24140:1;24150:113;24164:6;24161:1;24158:13;24150:113;;;24249:1;24244:3;24240:11;24234:18;24230:1;24225:3;24221:11;24214:39;24186:2;24183:1;24179:10;24174:15;;24150:113;;;24281:6;24278:1;24275:13;24272:101;;;24361:1;24352:6;24347:3;24343:16;24336:27;24272:101;24121:258;24072:307;;;:::o;24385:281::-;24468:27;24490:4;24468:27;:::i;:::-;24460:6;24456:40;24598:6;24586:10;24583:22;24562:18;24550:10;24547:34;24544:62;24541:88;;;24609:18;;:::i;:::-;24541:88;24649:10;24645:2;24638:22;24428:238;24385:281;;:::o;24672:233::-;24711:3;24734:24;24752:5;24734:24;:::i;:::-;24725:33;;24780:66;24773:5;24770:77;24767:103;;;24850:18;;:::i;:::-;24767:103;24897:1;24890:5;24886:13;24879:20;;24672:233;;;:::o;24911:180::-;24959:77;24956:1;24949:88;25056:4;25053:1;25046:15;25080:4;25077:1;25070:15;25097:180;25145:77;25142:1;25135:88;25242:4;25239:1;25232:15;25266:4;25263:1;25256:15;25283:180;25331:77;25328:1;25321:88;25428:4;25425:1;25418:15;25452:4;25449:1;25442:15;25469:180;25517:77;25514:1;25507:88;25614:4;25611:1;25604:15;25638:4;25635:1;25628:15;25655:117;25764:1;25761;25754:12;25778:117;25887:1;25884;25877:12;25901:117;26010:1;26007;26000:12;26024:117;26133:1;26130;26123:12;26147:102;26188:6;26239:2;26235:7;26230:2;26223:5;26219:14;26215:28;26205:38;;26147:102;;;:::o;26255:227::-;26395:34;26391:1;26383:6;26379:14;26372:58;26464:10;26459:2;26451:6;26447:15;26440:35;26255:227;:::o;26488:222::-;26628:34;26624:1;26616:6;26612:14;26605:58;26697:5;26692:2;26684:6;26680:15;26673:30;26488:222;:::o;26716:166::-;26856:18;26852:1;26844:6;26840:14;26833:42;26716:166;:::o;26888:221::-;27028:34;27024:1;27016:6;27012:14;27005:58;27097:4;27092:2;27084:6;27080:15;27073:29;26888:221;:::o;27115:177::-;27255:29;27251:1;27243:6;27239:14;27232:53;27115:177;:::o;27298:220::-;27438:34;27434:1;27426:6;27422:14;27415:58;27507:3;27502:2;27494:6;27490:15;27483:28;27298:220;:::o;27524:182::-;27664:34;27660:1;27652:6;27648:14;27641:58;27524:182;:::o;27712:228::-;27852:34;27848:1;27840:6;27836:14;27829:58;27921:11;27916:2;27908:6;27904:15;27897:36;27712:228;:::o;27946:224::-;28086:34;28082:1;28074:6;28070:14;28063:58;28155:7;28150:2;28142:6;28138:15;28131:32;27946:224;:::o;28176:223::-;28316:34;28312:1;28304:6;28300:14;28293:58;28385:6;28380:2;28372:6;28368:15;28361:31;28176:223;:::o;28405:173::-;28545:25;28541:1;28533:6;28529:14;28522:49;28405:173;:::o;28584:122::-;28657:24;28675:5;28657:24;:::i;:::-;28650:5;28647:35;28637:63;;28696:1;28693;28686:12;28637:63;28584:122;:::o;28712:116::-;28782:21;28797:5;28782:21;:::i;:::-;28775:5;28772:32;28762:60;;28818:1;28815;28808:12;28762:60;28712:116;:::o;28834:122::-;28907:24;28925:5;28907:24;:::i;:::-;28900:5;28897:35;28887:63;;28946:1;28943;28936:12;28887:63;28834:122;:::o

Swarm Source

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