ETH Price: $2,529.01 (+3.77%)

Token

Cricket WorldCup Inu (CWCI)
 

Overview

Max Total Supply

1,000,000,000 CWCI

Holders

11

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
9,212,000 CWCI

Value
$0.00
0x9a6300293d2a562bc53c1894b66e88ac008ae49e
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:
CricketWorldCupInu

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.5;

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

interface ERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);
}

abstract contract Ownable {
    address internal owner;
    constructor(address _owner) {
        owner = _owner;
    }
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }
    function renounceOwnership() public onlyOwner {
        owner = address(0);
        emit OwnershipTransferred(address(0));
    }  
    event OwnershipTransferred(address owner);
}

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

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract CricketWorldCupInu is ERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "Cricket WorldCup Inu";
    string constant _symbol = "CWCI";
    uint8 constant _decimals = 9;

    uint256 public _totalSupply = 1_000_000_000 * (10 ** _decimals);
    uint256 public _maxWalletAmount = (_totalSupply * 2) / 100;
    uint256 public _maxTxAmount = _totalSupply.mul(2).div(100); //2%

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;

    uint256 liquidityFee = 0; 
    uint256 marketingFee = 6;
    uint256 totalFee = liquidityFee + marketingFee;
    uint256 feeDenominator = 100;

    address public marketingFeeReceiver = 0xAbB2bd56F2A3636fb83f3E3F19100FeEf4960a77;

    IDEXRouter public router;
    address public pair;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 1000 * 5; // 0.5%
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Ownable(msg.sender) {
        router = IDEXRouter(routerAdress);
        pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        address _owner = owner;
        isFeeExempt[0xAbB2bd56F2A3636fb83f3E3F19100FeEf4960a77] = true;
        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[0xAbB2bd56F2A3636fb83f3E3F19100FeEf4960a77] = true;
        isTxLimitExempt[DEAD] = true;

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

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }
        
        if (recipient != pair && recipient != DEAD) {
            require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size.");
        }
        
        if(shouldSwapBack()){ swapBack(); } 

        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        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 shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function takeFee(address sender, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(totalFee).div(feeDenominator);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

    function swapBack() internal swapping {
        uint256 contractTokenBalance = swapThreshold;
        uint256 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );
        uint256 amountETH = address(this).balance.sub(balanceBefore);
        uint256 totalETHFee = totalFee.sub(liquidityFee.div(2));
        uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);


        (bool MarketingSuccess, /* bytes memory data */) = payable(marketingFeeReceiver).call{value: amountETHMarketing, gas: 30000}("");
        require(MarketingSuccess, "receiver rejected ETH transfer");

        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                0xAbB2bd56F2A3636fb83f3E3F19100FeEf4960a77,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }

    function buyTokens(uint256 amount, address to) internal swapping {
        address[] memory path = new address[](2);
        path[0] = router.WETH();
        path[1] = address(this);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(
            0,
            path,
            to,
            block.timestamp
        );
    }

    function clearStuckBalance() external {
        payable(marketingFeeReceiver).transfer(address(this).balance);
    }

    function setWalletLimit(uint256 amountPercent) external onlyOwner {
        _maxWalletAmount = (_totalSupply * amountPercent ) / 1000;
    }

    function setFee(uint256 _liquidityFee, uint256 _marketingFee) external onlyOwner {
         liquidityFee = _liquidityFee; 
         marketingFee = _marketingFee;
         totalFee = liquidityFee + marketingFee;
    }    
    
    event AutoLiquify(uint256 amountETH, uint256 amountBOG);
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"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"},{"stateMutability":"payable","type":"receive"}]

6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000ac919062000a90565b633b9aca00620000bd919062000ae1565b60035560646002600354620000d3919062000ae1565b620000df919062000b5b565b600455620001196064620001056002600354620007b960201b62000d751790919060201c565b6200083c60201b62000def1790919060201c565b6005556000600a556006600b55600b54600a5462000138919062000b93565b600c556064600d5573abb2bd56f2a3636fb83f3e3f19100feef4960a77600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601060146101000a81548160ff02191690831515021790555060056103e8600354620001c4919062000b5b565b620001d0919062000ae1565b601155348015620001e057600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200031a919062000c38565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003a3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003c9919062000c38565b306040518363ffffffff1660e01b8152600401620003e992919062000c7b565b6020604051808303816000875af115801562000409573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200042f919062000c38565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060016008600073abb2bd56f2a3636fb83f3e3f19100feef4960a7773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016009600073abb2bd56f2a3636fb83f3e3f19100feef4960a7773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600354600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600354604051620007aa919062000cb9565b60405180910390a35062000e2c565b6000808303620007cd576000905062000836565b60008284620007dd919062000ae1565b9050828482620007ee919062000b5b565b1462000831576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008289062000d5d565b60405180910390fd5b809150505b92915050565b60006200088683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200088e60201b60201c565b905092915050565b60008083118290620008d8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008cf919062000e08565b60405180910390fd5b5060008385620008e9919062000b5b565b9050809150509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000984578086048111156200095c576200095b620008f6565b5b60018516156200096c5780820291505b80810290506200097c8562000925565b94506200093c565b94509492505050565b6000826200099f576001905062000a72565b81620009af576000905062000a72565b8160018114620009c85760028114620009d35762000a09565b600191505062000a72565b60ff841115620009e857620009e7620008f6565b5b8360020a91508482111562000a025762000a01620008f6565b5b5062000a72565b5060208310610133831016604e8410600b841016171562000a435782820a90508381111562000a3d5762000a3c620008f6565b5b62000a72565b62000a52848484600162000932565b9250905081840481111562000a6c5762000a6b620008f6565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000a9d8262000a79565b915062000aaa8362000a83565b925062000ad97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200098d565b905092915050565b600062000aee8262000a79565b915062000afb8362000a79565b925082820262000b0b8162000a79565b9150828204841483151762000b255762000b24620008f6565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000b688262000a79565b915062000b758362000a79565b92508262000b885762000b8762000b2c565b5b828204905092915050565b600062000ba08262000a79565b915062000bad8362000a79565b925082820190508082111562000bc85762000bc7620008f6565b5b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000c008262000bd3565b9050919050565b62000c128162000bf3565b811462000c1e57600080fd5b50565b60008151905062000c328162000c07565b92915050565b60006020828403121562000c515762000c5062000bce565b5b600062000c618482850162000c21565b91505092915050565b62000c758162000bf3565b82525050565b600060408201905062000c92600083018562000c6a565b62000ca1602083018462000c6a565b9392505050565b62000cb38162000a79565b82525050565b600060208201905062000cd0600083018462000ca8565b92915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600062000d4560218362000cd6565b915062000d528262000ce7565b604082019050919050565b6000602082019050818103600083015262000d788162000d36565b9050919050565b600081519050919050565b60005b8381101562000daa57808201518184015260208101905062000d8d565b60008484015250505050565b6000601f19601f8301169050919050565b600062000dd48262000d7f565b62000de0818562000cd6565b935062000df281856020860162000d8a565b62000dfd8162000db6565b840191505092915050565b6000602082019050818103600083015262000e24818462000dc7565b905092915050565b6127e78062000e3c6000396000f3fe60806040526004361061014f5760003560e01c80636ddd1713116100b6578063a8aa1b311161006f578063a8aa1b3114610491578063a9059cbb146104bc578063dd62ed3e146104f9578063e96fada214610536578063f1d5f51714610561578063f887ea401461058a57610156565b80636ddd17131461039157806370a08231146103bc578063715018a6146103f95780637d1db4a514610410578063893d20e81461043b57806395d89b411461046657610156565b8063313ce56711610108578063313ce56714610293578063364333f4146102be5780633eaaf86b146102d557806352f7c98814610300578063571ac8b0146103295780636c0a24eb1461036657610156565b80630445b6671461015b57806306fdde0314610186578063095ea7b3146101b157806318160ddd146101ee57806323b872dd146102195780632f54bf6e1461025657610156565b3661015657005b600080fd5b34801561016757600080fd5b506101706105b5565b60405161017d9190611d0b565b60405180910390f35b34801561019257600080fd5b5061019b6105bb565b6040516101a89190611db6565b60405180910390f35b3480156101bd57600080fd5b506101d860048036038101906101d39190611e67565b6105f8565b6040516101e59190611ec2565b60405180910390f35b3480156101fa57600080fd5b506102036106ea565b6040516102109190611d0b565b60405180910390f35b34801561022557600080fd5b50610240600480360381019061023b9190611edd565b6106f4565b60405161024d9190611ec2565b60405180910390f35b34801561026257600080fd5b5061027d60048036038101906102789190611f30565b6108f4565b60405161028a9190611ec2565b60405180910390f35b34801561029f57600080fd5b506102a861094d565b6040516102b59190611f79565b60405180910390f35b3480156102ca57600080fd5b506102d3610956565b005b3480156102e157600080fd5b506102ea6109c1565b6040516102f79190611d0b565b60405180910390f35b34801561030c57600080fd5b5061032760048036038101906103229190611f94565b6109c7565b005b34801561033557600080fd5b50610350600480360381019061034b9190611f30565b610a37565b60405161035d9190611ec2565b60405180910390f35b34801561037257600080fd5b5061037b610a6a565b6040516103889190611d0b565b60405180910390f35b34801561039d57600080fd5b506103a6610a70565b6040516103b39190611ec2565b60405180910390f35b3480156103c857600080fd5b506103e360048036038101906103de9190611f30565b610a83565b6040516103f09190611d0b565b60405180910390f35b34801561040557600080fd5b5061040e610acc565b005b34801561041c57600080fd5b50610425610b8f565b6040516104329190611d0b565b60405180910390f35b34801561044757600080fd5b50610450610b95565b60405161045d9190611fe3565b60405180910390f35b34801561047257600080fd5b5061047b610bbe565b6040516104889190611db6565b60405180910390f35b34801561049d57600080fd5b506104a6610bfb565b6040516104b39190611fe3565b60405180910390f35b3480156104c857600080fd5b506104e360048036038101906104de9190611e67565b610c21565b6040516104f09190611ec2565b60405180910390f35b34801561050557600080fd5b50610520600480360381019061051b9190611ffe565b610c36565b60405161052d9190611d0b565b60405180910390f35b34801561054257600080fd5b5061054b610cbd565b6040516105589190611fe3565b60405180910390f35b34801561056d57600080fd5b506105886004803603810190610583919061203e565b610ce3565b005b34801561059657600080fd5b5061059f610d4f565b6040516105ac91906120ca565b60405180910390f35b60115481565b60606040518060400160405280601481526020017f437269636b657420576f726c6443757020496e75000000000000000000000000815250905090565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106d89190611d0b565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146108e05761085f826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e399092919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6108eb848484610e9d565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156109be573d6000803e3d6000fd5b50565b60035481565b6109d0336108f4565b610a0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0690612131565b60405180910390fd5b81600a8190555080600b81905550600b54600a54610a2d9190612180565b600c819055505050565b6000610a63827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6105f8565b9050919050565b60045481565b601060149054906101000a900460ff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ad5336108f4565b610b14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0b90612131565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610b859190611fe3565b60405180910390a1565b60055481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4357434900000000000000000000000000000000000000000000000000000000815250905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610c2e338484610e9d565b905092915050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610cec336108f4565b610d2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2290612131565b60405180910390fd5b6103e881600354610d3c91906121b4565b610d469190612225565b60048190555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000808303610d875760009050610de9565b60008284610d9591906121b4565b9050828482610da49190612225565b14610de4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddb906122c8565b60405180910390fd5b809150505b92915050565b6000610e3183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611266565b905092915050565b6000838311158290610e81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e789190611db6565b60405180910390fd5b5060008385610e9091906122e8565b9050809150509392505050565b6000601260009054906101000a900460ff1615610ec657610ebf8484846112c9565b905061125f565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610f725750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561105b57600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061101b575060045482600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110189190612180565b11155b61105a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110519061238e565b60405180910390fd5b5b61106361149c565b1561107157611070611573565b5b6110fa826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e399092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061114885611aaf565b611152578261115d565b61115c8584611b06565b5b90506111b181600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c4a90919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516112519190611d0b565b60405180910390a360019150505b9392505050565b600080831182906112ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a49190611db6565b60405180910390fd5b50600083856112bc9190612225565b9050809150509392505050565b6000611354826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e399092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113e982600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c4a90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114899190611d0b565b60405180910390a3600190509392505050565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156115095750601260009054906101000a900460ff16155b80156115215750601060149054906101000a900460ff165b801561156e5750601154600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601260006101000a81548160ff0219169083151502179055506000601154905060006115d360026115c5600c546115b7600a5487610d7590919063ffffffff16565b610def90919063ffffffff16565b610def90919063ffffffff16565b905060006115ea8284611ca890919063ffffffff16565b90506000600267ffffffffffffffff811115611609576116086123ae565b5b6040519080825280602002602001820160405280156116375781602001602082028036833780820191505090505b509050308160008151811061164f5761164e6123dd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171a9190612421565b8160018151811061172e5761172d6123dd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b81526004016117d1959493929190612547565b600060405180830381600087803b1580156117eb57600080fd5b505af11580156117ff573d6000803e3d6000fd5b5050505060006118188247611ca890919063ffffffff16565b905060006118466118356002600a54610def90919063ffffffff16565b600c54611ca890919063ffffffff16565b90506000611884600261187684611868600a5488610d7590919063ffffffff16565b610def90919063ffffffff16565b610def90919063ffffffff16565b905060006118af836118a1600b5487610d7590919063ffffffff16565b610def90919063ffffffff16565b90506000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682617530906040516118fd906125d2565b600060405180830381858888f193505050503d806000811461193b576040519150601f19603f3d011682016040523d82523d6000602084013e611940565b606091505b5050905080611984576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197b90612633565b60405180910390fd5b6000891115611a8857600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c60008073abb2bd56f2a3636fb83f3e3f19100feef4960a77426040518863ffffffff1660e01b8152600401611a0896959493929190612653565b60606040518083038185885af1158015611a26573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611a4b91906126c9565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a604051611a7f92919061271c565b60405180910390a15b505050505050505050506000601260006101000a81548160ff021916908315150217905550565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b600080611b32600d54611b24600c5486610d7590919063ffffffff16565b610def90919063ffffffff16565b9050611b8681600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c4a90919063ffffffff16565b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c269190611d0b565b60405180910390a3611c418184611ca890919063ffffffff16565b91505092915050565b6000808284611c599190612180565b905083811015611c9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9590612791565b60405180910390fd5b8091505092915050565b6000611cea83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e39565b905092915050565b6000819050919050565b611d0581611cf2565b82525050565b6000602082019050611d206000830184611cfc565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611d60578082015181840152602081019050611d45565b60008484015250505050565b6000601f19601f8301169050919050565b6000611d8882611d26565b611d928185611d31565b9350611da2818560208601611d42565b611dab81611d6c565b840191505092915050565b60006020820190508181036000830152611dd08184611d7d565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611e0882611ddd565b9050919050565b611e1881611dfd565b8114611e2357600080fd5b50565b600081359050611e3581611e0f565b92915050565b611e4481611cf2565b8114611e4f57600080fd5b50565b600081359050611e6181611e3b565b92915050565b60008060408385031215611e7e57611e7d611dd8565b5b6000611e8c85828601611e26565b9250506020611e9d85828601611e52565b9150509250929050565b60008115159050919050565b611ebc81611ea7565b82525050565b6000602082019050611ed76000830184611eb3565b92915050565b600080600060608486031215611ef657611ef5611dd8565b5b6000611f0486828701611e26565b9350506020611f1586828701611e26565b9250506040611f2686828701611e52565b9150509250925092565b600060208284031215611f4657611f45611dd8565b5b6000611f5484828501611e26565b91505092915050565b600060ff82169050919050565b611f7381611f5d565b82525050565b6000602082019050611f8e6000830184611f6a565b92915050565b60008060408385031215611fab57611faa611dd8565b5b6000611fb985828601611e52565b9250506020611fca85828601611e52565b9150509250929050565b611fdd81611dfd565b82525050565b6000602082019050611ff86000830184611fd4565b92915050565b6000806040838503121561201557612014611dd8565b5b600061202385828601611e26565b925050602061203485828601611e26565b9150509250929050565b60006020828403121561205457612053611dd8565b5b600061206284828501611e52565b91505092915050565b6000819050919050565b600061209061208b61208684611ddd565b61206b565b611ddd565b9050919050565b60006120a282612075565b9050919050565b60006120b482612097565b9050919050565b6120c4816120a9565b82525050565b60006020820190506120df60008301846120bb565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b600061211b600683611d31565b9150612126826120e5565b602082019050919050565b6000602082019050818103600083015261214a8161210e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061218b82611cf2565b915061219683611cf2565b92508282019050808211156121ae576121ad612151565b5b92915050565b60006121bf82611cf2565b91506121ca83611cf2565b92508282026121d881611cf2565b915082820484148315176121ef576121ee612151565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061223082611cf2565b915061223b83611cf2565b92508261224b5761224a6121f6565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006122b2602183611d31565b91506122bd82612256565b604082019050919050565b600060208201905081810360008301526122e1816122a5565b9050919050565b60006122f382611cf2565b91506122fe83611cf2565b925082820390508181111561231657612315612151565b5b92915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b6000612378602583611d31565b91506123838261231c565b604082019050919050565b600060208201905081810360008301526123a78161236b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061241b81611e0f565b92915050565b60006020828403121561243757612436611dd8565b5b60006124458482850161240c565b91505092915050565b6000819050919050565b600061247361246e6124698461244e565b61206b565b611cf2565b9050919050565b61248381612458565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6124be81611dfd565b82525050565b60006124d083836124b5565b60208301905092915050565b6000602082019050919050565b60006124f482612489565b6124fe8185612494565b9350612509836124a5565b8060005b8381101561253a57815161252188826124c4565b975061252c836124dc565b92505060018101905061250d565b5085935050505092915050565b600060a08201905061255c6000830188611cfc565b612569602083018761247a565b818103604083015261257b81866124e9565b905061258a6060830185611fd4565b6125976080830184611cfc565b9695505050505050565b600081905092915050565b50565b60006125bc6000836125a1565b91506125c7826125ac565b600082019050919050565b60006125dd826125af565b9150819050919050565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b600061261d601e83611d31565b9150612628826125e7565b602082019050919050565b6000602082019050818103600083015261264c81612610565b9050919050565b600060c0820190506126686000830189611fd4565b6126756020830188611cfc565b612682604083018761247a565b61268f606083018661247a565b61269c6080830185611fd4565b6126a960a0830184611cfc565b979650505050505050565b6000815190506126c381611e3b565b92915050565b6000806000606084860312156126e2576126e1611dd8565b5b60006126f0868287016126b4565b9350506020612701868287016126b4565b9250506040612712868287016126b4565b9150509250925092565b60006040820190506127316000830185611cfc565b61273e6020830184611cfc565b9392505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061277b601b83611d31565b915061278682612745565b602082019050919050565b600060208201905081810360008301526127aa8161276e565b905091905056fea2646970667358221220d74a968e5cf59e5d8dc61193ddca6cb94236af6512db98219c83b8da7f5bf9ff64736f6c63430008110033

Deployed Bytecode

0x60806040526004361061014f5760003560e01c80636ddd1713116100b6578063a8aa1b311161006f578063a8aa1b3114610491578063a9059cbb146104bc578063dd62ed3e146104f9578063e96fada214610536578063f1d5f51714610561578063f887ea401461058a57610156565b80636ddd17131461039157806370a08231146103bc578063715018a6146103f95780637d1db4a514610410578063893d20e81461043b57806395d89b411461046657610156565b8063313ce56711610108578063313ce56714610293578063364333f4146102be5780633eaaf86b146102d557806352f7c98814610300578063571ac8b0146103295780636c0a24eb1461036657610156565b80630445b6671461015b57806306fdde0314610186578063095ea7b3146101b157806318160ddd146101ee57806323b872dd146102195780632f54bf6e1461025657610156565b3661015657005b600080fd5b34801561016757600080fd5b506101706105b5565b60405161017d9190611d0b565b60405180910390f35b34801561019257600080fd5b5061019b6105bb565b6040516101a89190611db6565b60405180910390f35b3480156101bd57600080fd5b506101d860048036038101906101d39190611e67565b6105f8565b6040516101e59190611ec2565b60405180910390f35b3480156101fa57600080fd5b506102036106ea565b6040516102109190611d0b565b60405180910390f35b34801561022557600080fd5b50610240600480360381019061023b9190611edd565b6106f4565b60405161024d9190611ec2565b60405180910390f35b34801561026257600080fd5b5061027d60048036038101906102789190611f30565b6108f4565b60405161028a9190611ec2565b60405180910390f35b34801561029f57600080fd5b506102a861094d565b6040516102b59190611f79565b60405180910390f35b3480156102ca57600080fd5b506102d3610956565b005b3480156102e157600080fd5b506102ea6109c1565b6040516102f79190611d0b565b60405180910390f35b34801561030c57600080fd5b5061032760048036038101906103229190611f94565b6109c7565b005b34801561033557600080fd5b50610350600480360381019061034b9190611f30565b610a37565b60405161035d9190611ec2565b60405180910390f35b34801561037257600080fd5b5061037b610a6a565b6040516103889190611d0b565b60405180910390f35b34801561039d57600080fd5b506103a6610a70565b6040516103b39190611ec2565b60405180910390f35b3480156103c857600080fd5b506103e360048036038101906103de9190611f30565b610a83565b6040516103f09190611d0b565b60405180910390f35b34801561040557600080fd5b5061040e610acc565b005b34801561041c57600080fd5b50610425610b8f565b6040516104329190611d0b565b60405180910390f35b34801561044757600080fd5b50610450610b95565b60405161045d9190611fe3565b60405180910390f35b34801561047257600080fd5b5061047b610bbe565b6040516104889190611db6565b60405180910390f35b34801561049d57600080fd5b506104a6610bfb565b6040516104b39190611fe3565b60405180910390f35b3480156104c857600080fd5b506104e360048036038101906104de9190611e67565b610c21565b6040516104f09190611ec2565b60405180910390f35b34801561050557600080fd5b50610520600480360381019061051b9190611ffe565b610c36565b60405161052d9190611d0b565b60405180910390f35b34801561054257600080fd5b5061054b610cbd565b6040516105589190611fe3565b60405180910390f35b34801561056d57600080fd5b506105886004803603810190610583919061203e565b610ce3565b005b34801561059657600080fd5b5061059f610d4f565b6040516105ac91906120ca565b60405180910390f35b60115481565b60606040518060400160405280601481526020017f437269636b657420576f726c6443757020496e75000000000000000000000000815250905090565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106d89190611d0b565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146108e05761085f826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e399092919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6108eb848484610e9d565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156109be573d6000803e3d6000fd5b50565b60035481565b6109d0336108f4565b610a0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0690612131565b60405180910390fd5b81600a8190555080600b81905550600b54600a54610a2d9190612180565b600c819055505050565b6000610a63827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6105f8565b9050919050565b60045481565b601060149054906101000a900460ff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ad5336108f4565b610b14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0b90612131565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610b859190611fe3565b60405180910390a1565b60055481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4357434900000000000000000000000000000000000000000000000000000000815250905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610c2e338484610e9d565b905092915050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610cec336108f4565b610d2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2290612131565b60405180910390fd5b6103e881600354610d3c91906121b4565b610d469190612225565b60048190555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000808303610d875760009050610de9565b60008284610d9591906121b4565b9050828482610da49190612225565b14610de4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddb906122c8565b60405180910390fd5b809150505b92915050565b6000610e3183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611266565b905092915050565b6000838311158290610e81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e789190611db6565b60405180910390fd5b5060008385610e9091906122e8565b9050809150509392505050565b6000601260009054906101000a900460ff1615610ec657610ebf8484846112c9565b905061125f565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610f725750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561105b57600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061101b575060045482600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110189190612180565b11155b61105a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110519061238e565b60405180910390fd5b5b61106361149c565b1561107157611070611573565b5b6110fa826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e399092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061114885611aaf565b611152578261115d565b61115c8584611b06565b5b90506111b181600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c4a90919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516112519190611d0b565b60405180910390a360019150505b9392505050565b600080831182906112ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a49190611db6565b60405180910390fd5b50600083856112bc9190612225565b9050809150509392505050565b6000611354826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e399092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113e982600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c4a90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114899190611d0b565b60405180910390a3600190509392505050565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156115095750601260009054906101000a900460ff16155b80156115215750601060149054906101000a900460ff165b801561156e5750601154600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601260006101000a81548160ff0219169083151502179055506000601154905060006115d360026115c5600c546115b7600a5487610d7590919063ffffffff16565b610def90919063ffffffff16565b610def90919063ffffffff16565b905060006115ea8284611ca890919063ffffffff16565b90506000600267ffffffffffffffff811115611609576116086123ae565b5b6040519080825280602002602001820160405280156116375781602001602082028036833780820191505090505b509050308160008151811061164f5761164e6123dd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171a9190612421565b8160018151811061172e5761172d6123dd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b81526004016117d1959493929190612547565b600060405180830381600087803b1580156117eb57600080fd5b505af11580156117ff573d6000803e3d6000fd5b5050505060006118188247611ca890919063ffffffff16565b905060006118466118356002600a54610def90919063ffffffff16565b600c54611ca890919063ffffffff16565b90506000611884600261187684611868600a5488610d7590919063ffffffff16565b610def90919063ffffffff16565b610def90919063ffffffff16565b905060006118af836118a1600b5487610d7590919063ffffffff16565b610def90919063ffffffff16565b90506000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682617530906040516118fd906125d2565b600060405180830381858888f193505050503d806000811461193b576040519150601f19603f3d011682016040523d82523d6000602084013e611940565b606091505b5050905080611984576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197b90612633565b60405180910390fd5b6000891115611a8857600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c60008073abb2bd56f2a3636fb83f3e3f19100feef4960a77426040518863ffffffff1660e01b8152600401611a0896959493929190612653565b60606040518083038185885af1158015611a26573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611a4b91906126c9565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a604051611a7f92919061271c565b60405180910390a15b505050505050505050506000601260006101000a81548160ff021916908315150217905550565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b600080611b32600d54611b24600c5486610d7590919063ffffffff16565b610def90919063ffffffff16565b9050611b8681600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c4a90919063ffffffff16565b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c269190611d0b565b60405180910390a3611c418184611ca890919063ffffffff16565b91505092915050565b6000808284611c599190612180565b905083811015611c9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9590612791565b60405180910390fd5b8091505092915050565b6000611cea83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e39565b905092915050565b6000819050919050565b611d0581611cf2565b82525050565b6000602082019050611d206000830184611cfc565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611d60578082015181840152602081019050611d45565b60008484015250505050565b6000601f19601f8301169050919050565b6000611d8882611d26565b611d928185611d31565b9350611da2818560208601611d42565b611dab81611d6c565b840191505092915050565b60006020820190508181036000830152611dd08184611d7d565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611e0882611ddd565b9050919050565b611e1881611dfd565b8114611e2357600080fd5b50565b600081359050611e3581611e0f565b92915050565b611e4481611cf2565b8114611e4f57600080fd5b50565b600081359050611e6181611e3b565b92915050565b60008060408385031215611e7e57611e7d611dd8565b5b6000611e8c85828601611e26565b9250506020611e9d85828601611e52565b9150509250929050565b60008115159050919050565b611ebc81611ea7565b82525050565b6000602082019050611ed76000830184611eb3565b92915050565b600080600060608486031215611ef657611ef5611dd8565b5b6000611f0486828701611e26565b9350506020611f1586828701611e26565b9250506040611f2686828701611e52565b9150509250925092565b600060208284031215611f4657611f45611dd8565b5b6000611f5484828501611e26565b91505092915050565b600060ff82169050919050565b611f7381611f5d565b82525050565b6000602082019050611f8e6000830184611f6a565b92915050565b60008060408385031215611fab57611faa611dd8565b5b6000611fb985828601611e52565b9250506020611fca85828601611e52565b9150509250929050565b611fdd81611dfd565b82525050565b6000602082019050611ff86000830184611fd4565b92915050565b6000806040838503121561201557612014611dd8565b5b600061202385828601611e26565b925050602061203485828601611e26565b9150509250929050565b60006020828403121561205457612053611dd8565b5b600061206284828501611e52565b91505092915050565b6000819050919050565b600061209061208b61208684611ddd565b61206b565b611ddd565b9050919050565b60006120a282612075565b9050919050565b60006120b482612097565b9050919050565b6120c4816120a9565b82525050565b60006020820190506120df60008301846120bb565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b600061211b600683611d31565b9150612126826120e5565b602082019050919050565b6000602082019050818103600083015261214a8161210e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061218b82611cf2565b915061219683611cf2565b92508282019050808211156121ae576121ad612151565b5b92915050565b60006121bf82611cf2565b91506121ca83611cf2565b92508282026121d881611cf2565b915082820484148315176121ef576121ee612151565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061223082611cf2565b915061223b83611cf2565b92508261224b5761224a6121f6565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006122b2602183611d31565b91506122bd82612256565b604082019050919050565b600060208201905081810360008301526122e1816122a5565b9050919050565b60006122f382611cf2565b91506122fe83611cf2565b925082820390508181111561231657612315612151565b5b92915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b6000612378602583611d31565b91506123838261231c565b604082019050919050565b600060208201905081810360008301526123a78161236b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061241b81611e0f565b92915050565b60006020828403121561243757612436611dd8565b5b60006124458482850161240c565b91505092915050565b6000819050919050565b600061247361246e6124698461244e565b61206b565b611cf2565b9050919050565b61248381612458565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6124be81611dfd565b82525050565b60006124d083836124b5565b60208301905092915050565b6000602082019050919050565b60006124f482612489565b6124fe8185612494565b9350612509836124a5565b8060005b8381101561253a57815161252188826124c4565b975061252c836124dc565b92505060018101905061250d565b5085935050505092915050565b600060a08201905061255c6000830188611cfc565b612569602083018761247a565b818103604083015261257b81866124e9565b905061258a6060830185611fd4565b6125976080830184611cfc565b9695505050505050565b600081905092915050565b50565b60006125bc6000836125a1565b91506125c7826125ac565b600082019050919050565b60006125dd826125af565b9150819050919050565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b600061261d601e83611d31565b9150612628826125e7565b602082019050919050565b6000602082019050818103600083015261264c81612610565b9050919050565b600060c0820190506126686000830189611fd4565b6126756020830188611cfc565b612682604083018761247a565b61268f606083018661247a565b61269c6080830185611fd4565b6126a960a0830184611cfc565b979650505050505050565b6000815190506126c381611e3b565b92915050565b6000806000606084860312156126e2576126e1611dd8565b5b60006126f0868287016126b4565b9350506020612701868287016126b4565b9250506040612712868287016126b4565b9150509250925092565b60006040820190506127316000830185611cfc565b61273e6020830184611cfc565b9392505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061277b601b83611d31565b915061278682612745565b602082019050919050565b600060208201905081810360008301526127aa8161276e565b905091905056fea2646970667358221220d74a968e5cf59e5d8dc61193ddca6cb94236af6512db98219c83b8da7f5bf9ff64736f6c63430008110033

Deployed Bytecode Sourcemap

4086:7845:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5193:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6278:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6700:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6008:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7218:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2324:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6102:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11360:118;;;;;;;;;;;;;:::i;:::-;;4439:63;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11636:220;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6924:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4509:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5156:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6448:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2433:131;;;;;;;;;;;;;:::i;:::-;;4574:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6364:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6188:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5128:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7054:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6559:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5008:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11486:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5097:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5193:54;;;;:::o;6278:80::-;6326:13;6350:5;;;;;;;;;;;;;;;;;6343:12;;6278:80;:::o;6700:216::-;6775:4;6827:6;6792:11;:23;6804:10;6792:23;;;;;;;;;;;;;;;:32;6816:7;6792:32;;;;;;;;;;;;;;;:41;;;;6870:7;6849:37;;6858:10;6849:37;;;6879:6;6849:37;;;;;;:::i;:::-;;;;;;;;6904:4;6897:11;;6700:216;;;;:::o;6008:88::-;6063:7;6081:12;;6074:19;;6008:88;:::o;7218:370::-;7318:4;7373:17;7338:11;:19;7350:6;7338:19;;;;;;;;;;;;;;;:31;7358:10;7338:31;;;;;;;;;;;;;;;;:52;7335:186;;7440:69;7476:6;7440:69;;;;;;;;;;;;;;;;;:11;:19;7452:6;7440:19;;;;;;;;;;;;;;;:31;7460:10;7440:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;7406:11;:19;7418:6;7406:19;;;;;;;;;;;;;;;:31;7426:10;7406:31;;;;;;;;;;;;;;;:103;;;;7335:186;7540:40;7554:6;7562:9;7573:6;7540:13;:40::i;:::-;7533:47;;7218:370;;;;;:::o;2324:103::-;2379:4;2414:5;;;;;;;;;;;2403:16;;:7;:16;;;2396:23;;2324:103;;;:::o;6102:80::-;6154:5;4429:1;6163:16;;6102:80;:::o;11360:118::-;11417:20;;;;;;;;;;;11409:38;;:61;11448:21;11409:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11360:118::o;4439:63::-;;;;:::o;11636:220::-;2277:19;2285:10;2277:7;:19::i;:::-;2269:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11744:13:::1;11729:12;:28;;;;11785:13;11770:12;:28;;;;11836:12;;11821;;:27;;;;:::i;:::-;11810:8;:38;;;;11636:220:::0;;:::o;6924:122::-;6979:4;7003:35;7011:7;7020:17;7003:7;:35::i;:::-;6996:42;;6924:122;;;:::o;4509:58::-;;;;:::o;5156:30::-;;;;;;;;;;;;;:::o;6448:105::-;6514:7;6532:9;:18;6542:7;6532:18;;;;;;;;;;;;;;;;6525:25;;6448:105;;;:::o;2433:131::-;2277:19;2285:10;2277:7;:19::i;:::-;2269:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;2506:1:::1;2490:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;2524:32;2553:1;2524:32;;;;;;:::i;:::-;;;;;;;;2433:131::o:0;4574:58::-;;;;:::o;6364:78::-;6416:7;6434:5;;;;;;;;;;;6427:12;;6364:78;:::o;6188:84::-;6238:13;6262:7;;;;;;;;;;;;;;;;;6255:14;;6188:84;:::o;5128:19::-;;;;;;;;;;;;;:::o;7054:156::-;7134:4;7158:44;7172:10;7184:9;7195:6;7158:13;:44::i;:::-;7151:51;;7054:156;;;;:::o;6559:133::-;6643:7;6661:11;:19;6673:6;6661:19;;;;;;;;;;;;;;;:28;6681:7;6661:28;;;;;;;;;;;;;;;;6654:35;;6559:133;;;;:::o;5008:80::-;;;;;;;;;;;;;:::o;11486:142::-;2277:19;2285:10;2277:7;:19::i;:::-;2269:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11616:4:::1;11598:13;11583:12;;:28;;;;:::i;:::-;11582:38;;;;:::i;:::-;11563:16;:57;;;;11486:142:::0;:::o;5097:24::-;;;;;;;;;;;;;:::o;609:246::-;667:7;696:1;691;:6;687:47;;721:1;714:8;;;;687:47;744:9;760:1;756;:5;;;;:::i;:::-;744:17;;789:1;784;780;:5;;;;:::i;:::-;:10;772:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;846:1;839:8;;;609:246;;;;;:::o;861:132::-;919:7;946:39;950:1;953;946:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;939:46;;861:132;;;;:::o;413:190::-;499:7;532:1;527;:6;;535:12;519:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;559:9;575:1;571;:5;;;;:::i;:::-;559:17;;594:1;587:8;;;413:190;;;;;:::o;7596:792::-;7688:4;7708:6;;;;;;;;;;;7705:63;;;7724:41;7739:6;7747:9;7758:6;7724:14;:41::i;:::-;7717:48;;;;7705:63;7805:4;;;;;;;;;;;7792:17;;:9;:17;;;;:38;;;;;7826:4;;;;;;;;;;;7813:17;;:9;:17;;;;7792:38;7788:200;;;7855:15;:26;7871:9;7855:26;;;;;;;;;;;;;;;;;;;;;;;;;:79;;;;7918:16;;7908:6;7885:9;:20;7895:9;7885:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:49;;7855:79;7847:129;;;;;;;;;;;;:::i;:::-;;;;;;;;;7788:200;8011:16;:14;:16::i;:::-;8008:35;;;8030:10;:8;:10::i;:::-;8008:35;8076:53;8098:6;8076:53;;;;;;;;;;;;;;;;;:9;:17;8086:6;8076:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;8056:9;:17;8066:6;8056:17;;;;;;;;;;;;;;;:73;;;;8142:22;8167:21;8181:6;8167:13;:21::i;:::-;:56;;8217:6;8167:56;;;8191:23;8199:6;8207;8191:7;:23::i;:::-;8167:56;8142:81;;8257:40;8282:14;8257:9;:20;8267:9;8257:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;8234:9;:20;8244:9;8234:20;;;;;;;;;;;;;;;:63;;;;8332:9;8315:43;;8324:6;8315:43;;;8343:14;8315:43;;;;;;:::i;:::-;;;;;;;;8376:4;8369:11;;;7596:792;;;;;;:::o;999:189::-;1085:7;1117:1;1113;:5;1120:12;1105:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1144:9;1160:1;1156;:5;;;;:::i;:::-;1144:17;;1179:1;1172:8;;;999:189;;;;;:::o;8400:330::-;8493:4;8530:53;8552:6;8530:53;;;;;;;;;;;;;;;;;:9;:17;8540:6;8530:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;8510:9;:17;8520:6;8510:17;;;;;;;;;;;;;;;:73;;;;8617:32;8642:6;8617:9;:20;8627:9;8617:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;8594:9;:20;8604:9;8594:20;;;;;;;;;;;;;;;:55;;;;8682:9;8665:35;;8674:6;8665:35;;;8693:6;8665:35;;;;;;:::i;:::-;;;;;;;;8718:4;8711:11;;8400:330;;;;;:::o;9197:197::-;9246:4;9284;;;;;;;;;;;9270:18;;:10;:18;;;;:38;;;;;9302:6;;;;;;;;;;;9301:7;9270:38;:62;;;;;9321:11;;;;;;;;;;;9270:62;:116;;;;;9373:13;;9345:9;:24;9363:4;9345:24;;;;;;;;;;;;;;;;:41;;9270:116;9263:123;;9197:197;:::o;9402:1572::-;5311:4;5302:6;;:13;;;;;;;;;;;;;;;;;;9451:28:::1;9482:13;;9451:44;;9506:23;9532:59;9589:1;9532:52;9575:8;;9532:38;9557:12;;9532:20;:24;;:38;;;;:::i;:::-;:42;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;9506:85;;9602:20;9625:41;9650:15;9625:20;:24;;:41;;;;:::i;:::-;9602:64;;9679:21;9717:1;9703:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9679:40;;9748:4;9730;9735:1;9730:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9774:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9764:4;9769:1;9764:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9800:21;9824;9800:45;;9858:6;;;;;;;;;;;:57;;;9930:12;9957:1;9973:4;10000;10020:15;9858:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10057:17;10077:40;10103:13;10077:21;:25;;:40;;;;:::i;:::-;10057:60;;10128:19;10150:33;10163:19;10180:1;10163:12;;:16;;:19;;;;:::i;:::-;10150:8;;:12;;:33;;;;:::i;:::-;10128:55;;10194:26;10223:51;10272:1;10223:44;10255:11;10223:27;10237:12;;10223:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;:48;;:51;;;;:::i;:::-;10194:80;;10285:26;10314:44;10346:11;10314:27;10328:12;;10314:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;10285:73;;10374:21;10432:20;;;;;;;;;;;10424:34;;10466:18;10491:5;10424:77;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10373:128;;;10520:16;10512:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;10605:1;10587:15;:19;10584:383;;;10622:6;;;;;;;;;;;:22;;;10652:18;10698:4;10722:15;10756:1;10776::::0;10796:42:::1;10857:15;10622:265;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10907:48;10919:18;10939:15;10907:48;;;;;;;:::i;:::-;;;;;;;;10584:383;9440:1534;;;;;;;;;;5329:5:::0;5320:6;;:14;;;;;;;;;;;;;;;;;;9402:1572::o;8738:114::-;8800:4;8825:11;:19;8837:6;8825:19;;;;;;;;;;;;;;;;;;;;;;;;;8824:20;8817:27;;8738:114;;;:::o;8860:329::-;8927:7;8947:17;8967:40;8992:14;;8967:20;8978:8;;8967:6;:10;;:20;;;;:::i;:::-;:24;;:40;;;;:::i;:::-;8947:60;;9045:39;9074:9;9045;:24;9063:4;9045:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9018:9;:24;9036:4;9018:24;;;;;;;;;;;;;;;:66;;;;9125:4;9100:42;;9109:6;9100:42;;;9132:9;9100:42;;;;;;:::i;:::-;;;;;;;;9160:21;9171:9;9160:6;:10;;:21;;;;:::i;:::-;9153:28;;;8860:329;;;;:::o;86:179::-;144:7;164:9;180:1;176;:5;;;;:::i;:::-;164:17;;205:1;200;:6;;192:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;256:1;249:8;;;86:179;;;;:::o;271:136::-;329:7;356:43;360:1;363;356:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;349:50;;271:136;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:246::-;803:1;813:113;827:6;824:1;821:13;813:113;;;912:1;907:3;903:11;897:18;893:1;888:3;884:11;877:39;849:2;846:1;842:10;837:15;;813:113;;;960:1;951:6;946:3;942:16;935:27;784:184;722:246;;;:::o;974:102::-;1015:6;1066:2;1062:7;1057:2;1050:5;1046:14;1042:28;1032:38;;974:102;;;:::o;1082:377::-;1170:3;1198:39;1231:5;1198:39;:::i;:::-;1253:71;1317:6;1312:3;1253:71;:::i;:::-;1246:78;;1333:65;1391:6;1386:3;1379:4;1372:5;1368:16;1333:65;:::i;:::-;1423:29;1445:6;1423:29;:::i;:::-;1418:3;1414:39;1407:46;;1174:285;1082:377;;;;:::o;1465:313::-;1578:4;1616:2;1605:9;1601:18;1593:26;;1665:9;1659:4;1655:20;1651:1;1640:9;1636:17;1629:47;1693:78;1766:4;1757:6;1693:78;:::i;:::-;1685:86;;1465:313;;;;:::o;1865:117::-;1974:1;1971;1964:12;2111:126;2148:7;2188:42;2181:5;2177:54;2166:65;;2111:126;;;:::o;2243:96::-;2280:7;2309:24;2327:5;2309:24;:::i;:::-;2298:35;;2243:96;;;:::o;2345:122::-;2418:24;2436:5;2418:24;:::i;:::-;2411:5;2408:35;2398:63;;2457:1;2454;2447:12;2398:63;2345:122;:::o;2473:139::-;2519:5;2557:6;2544:20;2535:29;;2573:33;2600:5;2573:33;:::i;:::-;2473:139;;;;:::o;2618:122::-;2691:24;2709:5;2691:24;:::i;:::-;2684:5;2681:35;2671:63;;2730:1;2727;2720:12;2671:63;2618:122;:::o;2746:139::-;2792:5;2830:6;2817:20;2808:29;;2846:33;2873:5;2846:33;:::i;:::-;2746:139;;;;:::o;2891:474::-;2959:6;2967;3016:2;3004:9;2995:7;2991:23;2987:32;2984:119;;;3022:79;;:::i;:::-;2984:119;3142:1;3167:53;3212:7;3203:6;3192:9;3188:22;3167:53;:::i;:::-;3157:63;;3113:117;3269:2;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3240:118;2891:474;;;;;:::o;3371:90::-;3405:7;3448:5;3441:13;3434:21;3423:32;;3371:90;;;:::o;3467:109::-;3548:21;3563:5;3548:21;:::i;:::-;3543:3;3536:34;3467:109;;:::o;3582:210::-;3669:4;3707:2;3696:9;3692:18;3684:26;;3720:65;3782:1;3771:9;3767:17;3758:6;3720:65;:::i;:::-;3582:210;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:329::-;4482:6;4531:2;4519:9;4510:7;4506:23;4502:32;4499:119;;;4537:79;;:::i;:::-;4499:119;4657:1;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4628:117;4423:329;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:474::-;5256:6;5264;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5566:2;5592:53;5637:7;5628:6;5617:9;5613:22;5592:53;:::i;:::-;5582:63;;5537:118;5188:474;;;;;:::o;5668:118::-;5755:24;5773:5;5755:24;:::i;:::-;5750:3;5743:37;5668:118;;:::o;5792:222::-;5885:4;5923:2;5912:9;5908:18;5900:26;;5936:71;6004:1;5993:9;5989:17;5980:6;5936:71;:::i;:::-;5792:222;;;;:::o;6020:474::-;6088:6;6096;6145:2;6133:9;6124:7;6120:23;6116:32;6113:119;;;6151:79;;:::i;:::-;6113:119;6271:1;6296:53;6341:7;6332:6;6321:9;6317:22;6296:53;:::i;:::-;6286:63;;6242:117;6398:2;6424:53;6469:7;6460:6;6449:9;6445:22;6424:53;:::i;:::-;6414:63;;6369:118;6020:474;;;;;:::o;6500:329::-;6559:6;6608:2;6596:9;6587:7;6583:23;6579:32;6576:119;;;6614:79;;:::i;:::-;6576:119;6734:1;6759:53;6804:7;6795:6;6784:9;6780:22;6759:53;:::i;:::-;6749:63;;6705:117;6500:329;;;;:::o;6835:60::-;6863:3;6884:5;6877:12;;6835:60;;;:::o;6901:142::-;6951:9;6984:53;7002:34;7011:24;7029:5;7011:24;:::i;:::-;7002:34;:::i;:::-;6984:53;:::i;:::-;6971:66;;6901:142;;;:::o;7049:126::-;7099:9;7132:37;7163:5;7132:37;:::i;:::-;7119:50;;7049:126;;;:::o;7181:144::-;7249:9;7282:37;7313:5;7282:37;:::i;:::-;7269:50;;7181:144;;;:::o;7331:167::-;7436:55;7485:5;7436:55;:::i;:::-;7431:3;7424:68;7331:167;;:::o;7504:258::-;7615:4;7653:2;7642:9;7638:18;7630:26;;7666:89;7752:1;7741:9;7737:17;7728:6;7666:89;:::i;:::-;7504:258;;;;:::o;7768:156::-;7908:8;7904:1;7896:6;7892:14;7885:32;7768:156;:::o;7930:365::-;8072:3;8093:66;8157:1;8152:3;8093:66;:::i;:::-;8086:73;;8168:93;8257:3;8168:93;:::i;:::-;8286:2;8281:3;8277:12;8270:19;;7930:365;;;:::o;8301:419::-;8467:4;8505:2;8494:9;8490:18;8482:26;;8554:9;8548:4;8544:20;8540:1;8529:9;8525:17;8518:47;8582:131;8708:4;8582:131;:::i;:::-;8574:139;;8301:419;;;:::o;8726:180::-;8774:77;8771:1;8764:88;8871:4;8868:1;8861:15;8895:4;8892:1;8885:15;8912:191;8952:3;8971:20;8989:1;8971:20;:::i;:::-;8966:25;;9005:20;9023:1;9005:20;:::i;:::-;9000:25;;9048:1;9045;9041:9;9034:16;;9069:3;9066:1;9063:10;9060:36;;;9076:18;;:::i;:::-;9060:36;8912:191;;;;:::o;9109:410::-;9149:7;9172:20;9190:1;9172:20;:::i;:::-;9167:25;;9206:20;9224:1;9206:20;:::i;:::-;9201:25;;9261:1;9258;9254:9;9283:30;9301:11;9283:30;:::i;:::-;9272:41;;9462:1;9453:7;9449:15;9446:1;9443:22;9423:1;9416:9;9396:83;9373:139;;9492:18;;:::i;:::-;9373:139;9157:362;9109:410;;;;:::o;9525:180::-;9573:77;9570:1;9563:88;9670:4;9667:1;9660:15;9694:4;9691:1;9684:15;9711:185;9751:1;9768:20;9786:1;9768:20;:::i;:::-;9763:25;;9802:20;9820:1;9802:20;:::i;:::-;9797:25;;9841:1;9831:35;;9846:18;;:::i;:::-;9831:35;9888:1;9885;9881:9;9876:14;;9711:185;;;;:::o;9902:220::-;10042:34;10038:1;10030:6;10026:14;10019:58;10111:3;10106:2;10098:6;10094:15;10087:28;9902:220;:::o;10128:366::-;10270:3;10291:67;10355:2;10350:3;10291:67;:::i;:::-;10284:74;;10367:93;10456:3;10367:93;:::i;:::-;10485:2;10480:3;10476:12;10469:19;;10128:366;;;:::o;10500:419::-;10666:4;10704:2;10693:9;10689:18;10681:26;;10753:9;10747:4;10743:20;10739:1;10728:9;10724:17;10717:47;10781:131;10907:4;10781:131;:::i;:::-;10773:139;;10500:419;;;:::o;10925:194::-;10965:4;10985:20;11003:1;10985:20;:::i;:::-;10980:25;;11019:20;11037:1;11019:20;:::i;:::-;11014:25;;11063:1;11060;11056:9;11048:17;;11087:1;11081:4;11078:11;11075:37;;;11092:18;;:::i;:::-;11075:37;10925:194;;;;:::o;11125:224::-;11265:34;11261:1;11253:6;11249:14;11242:58;11334:7;11329:2;11321:6;11317:15;11310:32;11125:224;:::o;11355:366::-;11497:3;11518:67;11582:2;11577:3;11518:67;:::i;:::-;11511:74;;11594:93;11683:3;11594:93;:::i;:::-;11712:2;11707:3;11703:12;11696:19;;11355:366;;;:::o;11727:419::-;11893:4;11931:2;11920:9;11916:18;11908:26;;11980:9;11974:4;11970:20;11966:1;11955:9;11951:17;11944:47;12008:131;12134:4;12008:131;:::i;:::-;12000:139;;11727:419;;;:::o;12152:180::-;12200:77;12197:1;12190:88;12297:4;12294:1;12287:15;12321:4;12318:1;12311:15;12338:180;12386:77;12383:1;12376:88;12483:4;12480:1;12473:15;12507:4;12504:1;12497:15;12524:143;12581:5;12612:6;12606:13;12597:22;;12628:33;12655:5;12628:33;:::i;:::-;12524:143;;;;:::o;12673:351::-;12743:6;12792:2;12780:9;12771:7;12767:23;12763:32;12760:119;;;12798:79;;:::i;:::-;12760:119;12918:1;12943:64;12999:7;12990:6;12979:9;12975:22;12943:64;:::i;:::-;12933:74;;12889:128;12673:351;;;;:::o;13030:85::-;13075:7;13104:5;13093:16;;13030:85;;;:::o;13121:158::-;13179:9;13212:61;13230:42;13239:32;13265:5;13239:32;:::i;:::-;13230:42;:::i;:::-;13212:61;:::i;:::-;13199:74;;13121:158;;;:::o;13285:147::-;13380:45;13419:5;13380:45;:::i;:::-;13375:3;13368:58;13285:147;;:::o;13438:114::-;13505:6;13539:5;13533:12;13523:22;;13438:114;;;:::o;13558:184::-;13657:11;13691:6;13686:3;13679:19;13731:4;13726:3;13722:14;13707:29;;13558:184;;;;:::o;13748:132::-;13815:4;13838:3;13830:11;;13868:4;13863:3;13859:14;13851:22;;13748:132;;;:::o;13886:108::-;13963:24;13981:5;13963:24;:::i;:::-;13958:3;13951:37;13886:108;;:::o;14000:179::-;14069:10;14090:46;14132:3;14124:6;14090:46;:::i;:::-;14168:4;14163:3;14159:14;14145:28;;14000:179;;;;:::o;14185:113::-;14255:4;14287;14282:3;14278:14;14270:22;;14185:113;;;:::o;14334:732::-;14453:3;14482:54;14530:5;14482:54;:::i;:::-;14552:86;14631:6;14626:3;14552:86;:::i;:::-;14545:93;;14662:56;14712:5;14662:56;:::i;:::-;14741:7;14772:1;14757:284;14782:6;14779:1;14776:13;14757:284;;;14858:6;14852:13;14885:63;14944:3;14929:13;14885:63;:::i;:::-;14878:70;;14971:60;15024:6;14971:60;:::i;:::-;14961:70;;14817:224;14804:1;14801;14797:9;14792:14;;14757:284;;;14761:14;15057:3;15050:10;;14458:608;;;14334:732;;;;:::o;15072:831::-;15335:4;15373:3;15362:9;15358:19;15350:27;;15387:71;15455:1;15444:9;15440:17;15431:6;15387:71;:::i;:::-;15468:80;15544:2;15533:9;15529:18;15520:6;15468:80;:::i;:::-;15595:9;15589:4;15585:20;15580:2;15569:9;15565:18;15558:48;15623:108;15726:4;15717:6;15623:108;:::i;:::-;15615:116;;15741:72;15809:2;15798:9;15794:18;15785:6;15741:72;:::i;:::-;15823:73;15891:3;15880:9;15876:19;15867:6;15823:73;:::i;:::-;15072:831;;;;;;;;:::o;15909:147::-;16010:11;16047:3;16032:18;;15909:147;;;;:::o;16062:114::-;;:::o;16182:398::-;16341:3;16362:83;16443:1;16438:3;16362:83;:::i;:::-;16355:90;;16454:93;16543:3;16454:93;:::i;:::-;16572:1;16567:3;16563:11;16556:18;;16182:398;;;:::o;16586:379::-;16770:3;16792:147;16935:3;16792:147;:::i;:::-;16785:154;;16956:3;16949:10;;16586:379;;;:::o;16971:180::-;17111:32;17107:1;17099:6;17095:14;17088:56;16971:180;:::o;17157:366::-;17299:3;17320:67;17384:2;17379:3;17320:67;:::i;:::-;17313:74;;17396:93;17485:3;17396:93;:::i;:::-;17514:2;17509:3;17505:12;17498:19;;17157:366;;;:::o;17529:419::-;17695:4;17733:2;17722:9;17718:18;17710:26;;17782:9;17776:4;17772:20;17768:1;17757:9;17753:17;17746:47;17810:131;17936:4;17810:131;:::i;:::-;17802:139;;17529:419;;;:::o;17954:807::-;18203:4;18241:3;18230:9;18226:19;18218:27;;18255:71;18323:1;18312:9;18308:17;18299:6;18255:71;:::i;:::-;18336:72;18404:2;18393:9;18389:18;18380:6;18336:72;:::i;:::-;18418:80;18494:2;18483:9;18479:18;18470:6;18418:80;:::i;:::-;18508;18584:2;18573:9;18569:18;18560:6;18508:80;:::i;:::-;18598:73;18666:3;18655:9;18651:19;18642:6;18598:73;:::i;:::-;18681;18749:3;18738:9;18734:19;18725:6;18681:73;:::i;:::-;17954:807;;;;;;;;;:::o;18767:143::-;18824:5;18855:6;18849:13;18840:22;;18871:33;18898:5;18871:33;:::i;:::-;18767:143;;;;:::o;18916:663::-;19004:6;19012;19020;19069:2;19057:9;19048:7;19044:23;19040:32;19037:119;;;19075:79;;:::i;:::-;19037:119;19195:1;19220:64;19276:7;19267:6;19256:9;19252:22;19220:64;:::i;:::-;19210:74;;19166:128;19333:2;19359:64;19415:7;19406:6;19395:9;19391:22;19359:64;:::i;:::-;19349:74;;19304:129;19472:2;19498:64;19554:7;19545:6;19534:9;19530:22;19498:64;:::i;:::-;19488:74;;19443:129;18916:663;;;;;:::o;19585:332::-;19706:4;19744:2;19733:9;19729:18;19721:26;;19757:71;19825:1;19814:9;19810:17;19801:6;19757:71;:::i;:::-;19838:72;19906:2;19895:9;19891:18;19882:6;19838:72;:::i;:::-;19585:332;;;;;:::o;19923:177::-;20063:29;20059:1;20051:6;20047:14;20040:53;19923:177;:::o;20106:366::-;20248:3;20269:67;20333:2;20328:3;20269:67;:::i;:::-;20262:74;;20345:93;20434:3;20345:93;:::i;:::-;20463:2;20458:3;20454:12;20447:19;;20106:366;;;:::o;20478:419::-;20644:4;20682:2;20671:9;20667:18;20659:26;;20731:9;20725:4;20721:20;20717:1;20706:9;20702:17;20695:47;20759:131;20885:4;20759:131;:::i;:::-;20751:139;;20478:419;;;:::o

Swarm Source

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