ETH Price: $3,416.82 (-0.62%)
Gas: 6 Gwei

Token

USDOGE (USDoge)
 

Overview

Max Total Supply

1,000,000,000,000 USDoge

Holders

171

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
87,369,570.853049667 USDoge

Value
$0.00
0x862f2a191f72d713225d0b1675c624e62eebe964
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:
USDOGE

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-04-05
*/

// Telegram:  https://t.me/USDogeERC
// Twitter:  https://twitter.com/USDogeCoinERC
// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.4;

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

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

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

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

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

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

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

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

}

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

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

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

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

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

}  

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

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

contract USDOGE is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private time;
    uint256 private _tax;

    uint256 private constant _tTotal = 1 * 10**12 * 10**9;
    uint256 private fee1=30;
    uint256 private fee2=30;
    uint256 private feeMax=100;
    string private constant _name = "USDOGE";
    string private constant _symbol = "USDoge";
    uint256 private _maxTxAmount = _tTotal.mul(2).div(100);
    uint256 private minBalance = _tTotal.div(1000);


    uint8 private constant _decimals = 9;
    address payable private _feeAddrWallet1;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () payable {
        _feeAddrWallet1 = payable(msg.sender);
        _tOwned[address(this)] = _tTotal.div(2);
        _tOwned[0x000000000000000000000000000000000000dEaD] = _tTotal.div(2);
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet1] = true;
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

        emit Transfer(address(0),address(this),_tTotal.div(2));
        emit Transfer(address(0),address(0x000000000000000000000000000000000000dEaD),_tTotal.div(2));
    }

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

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

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

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
   
    function changeFees(uint8 _fee1,uint8 _fee2) external {
        
        require(_msgSender() == _feeAddrWallet1);
        require(_fee1 <= feeMax && _fee2 <= feeMax,"Cannot set fees above maximum");
        fee1 = _fee1;
        fee2 = _fee2;
    }

    function changeMinBalance(uint256 newMin) external {
        require(_msgSender() == _feeAddrWallet1);
        minBalance = newMin;

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

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

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

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

    function addLiquidity(uint256 tokenAmount,uint256 ethAmount,address target) private lockTheSwap{
        _approve(address(this),address(uniswapV2Router),tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,target,block.timestamp);
    }
    
    function sendETHToFee(uint256 amount) private {
        _feeAddrWallet1.transfer(amount);
    }
    
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        addLiquidity(balanceOf(address(this)),address(this).balance,owner());
        swapEnabled = true;
        tradingOpen = true;
        time = block.timestamp + (5 minutes);
    }
    
    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    
    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

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

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

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_fee1","type":"uint8"},{"internalType":"uint8","name":"_fee2","type":"uint8"}],"name":"changeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMin","type":"uint256"}],"name":"changeMinBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"recoverTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052601e600955601e600a556064600b556200005160646200003d6002683635c9adc5dea000006200070860201b62000f5c1790919060201c565b6200078b60201b62000fd61790919060201c565b600c55620000796103e8683635c9adc5dea000006200078b60201b62000fd61790919060201c565b600d556000601060156101000a81548160ff0219169083151502179055506000601060166101000a81548160ff0219169083151502179055506000620000c4620007dd60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35033600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001c76002683635c9adc5dea000006200078b60201b62000fd61790919060201c565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200022e6002683635c9adc5dea000006200078b60201b62000fd61790919060201c565b6002600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016004600062000289620007e560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200046f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004959190620008e0565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200051f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005459190620008e0565b6040518363ffffffff1660e01b81526004016200056492919062000923565b6020604051808303816000875af115801562000584573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005aa9190620008e0565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200065e6002683635c9adc5dea000006200078b60201b62000fd61790919060201c565b6040516200066d91906200096b565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620006eb6002683635c9adc5dea000006200078b60201b62000fd61790919060201c565b604051620006fa91906200096b565b60405180910390a362000bbf565b60008083036200071c576000905062000785565b600082846200072c9190620009b7565b90508284826200073d919062000a31565b1462000780576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007779062000af0565b60405180910390fd5b809150505b92915050565b6000620007d583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200080e60201b60201c565b905092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000808311829062000858576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200084f919062000b9b565b60405180910390fd5b506000838562000869919062000a31565b9050809150509392505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620008a8826200087b565b9050919050565b620008ba816200089b565b8114620008c657600080fd5b50565b600081519050620008da81620008af565b92915050565b600060208284031215620008f957620008f862000876565b5b60006200090984828501620008c9565b91505092915050565b6200091d816200089b565b82525050565b60006040820190506200093a600083018562000912565b62000949602083018462000912565b9392505050565b6000819050919050565b620009658162000950565b82525050565b60006020820190506200098260008301846200095a565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620009c48262000950565b9150620009d18362000950565b9250828202620009e18162000950565b91508282048414831517620009fb57620009fa62000988565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000a3e8262000950565b915062000a4b8362000950565b92508262000a5e5762000a5d62000a02565b5b828204905092915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600062000ad860218362000a69565b915062000ae58262000a7a565b604082019050919050565b6000602082019050818103600083015262000b0b8162000ac9565b9050919050565b600081519050919050565b60005b8381101562000b3d57808201518184015260208101905062000b20565b60008484015250505050565b6000601f19601f8301169050919050565b600062000b678262000b12565b62000b73818562000a69565b935062000b8581856020860162000b1d565b62000b908162000b49565b840191505092915050565b6000602082019050818103600083015262000bb7818462000b5a565b905092915050565b6130e58062000bcf6000396000f3fe6080604052600436106101185760003560e01c806370a08231116100a0578063aae1c07411610064578063aae1c07414610398578063b515566a146103c1578063c3c8cd80146103ea578063c9567bf914610401578063dd62ed3e146104185761011f565b806370a08231146102b1578063715018a6146102ee5780638da5cb5b1461030557806395d89b4114610330578063a9059cbb1461035b5761011f565b806323b872dd116100e757806323b872dd146101e0578063273123b71461021d578063313ce567146102465780634ea18fab146102715780636fc3eaec1461029a5761011f565b806306fdde0314610124578063095ea7b31461014f57806316114acd1461018c57806318160ddd146101b55761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610455565b6040516101469190612108565b60405180910390f35b34801561015b57600080fd5b50610176600480360381019061017191906121d2565b610492565b604051610183919061222d565b60405180910390f35b34801561019857600080fd5b506101b360048036038101906101ae9190612248565b6104b0565b005b3480156101c157600080fd5b506101ca610634565b6040516101d79190612284565b60405180910390f35b3480156101ec57600080fd5b506102076004803603810190610202919061229f565b610645565b604051610214919061222d565b60405180910390f35b34801561022957600080fd5b50610244600480360381019061023f9190612248565b61071e565b005b34801561025257600080fd5b5061025b61080e565b604051610268919061230e565b60405180910390f35b34801561027d57600080fd5b5061029860048036038101906102939190612329565b610817565b005b3480156102a657600080fd5b506102af610882565b005b3480156102bd57600080fd5b506102d860048036038101906102d39190612248565b6108f4565b6040516102e59190612284565b60405180910390f35b3480156102fa57600080fd5b5061030361093d565b005b34801561031157600080fd5b5061031a610a90565b6040516103279190612365565b60405180910390f35b34801561033c57600080fd5b50610345610ab9565b6040516103529190612108565b60405180910390f35b34801561036757600080fd5b50610382600480360381019061037d91906121d2565b610af6565b60405161038f919061222d565b60405180910390f35b3480156103a457600080fd5b506103bf60048036038101906103ba91906123ac565b610b14565b005b3480156103cd57600080fd5b506103e860048036038101906103e39190612534565b610be6565b005b3480156103f657600080fd5b506103ff610d10565b005b34801561040d57600080fd5b50610416610d8a565b005b34801561042457600080fd5b5061043f600480360381019061043a919061257d565b610ed5565b60405161044c9190612284565b60405180910390f35b60606040518060400160405280600681526020017f5553444f47450000000000000000000000000000000000000000000000000000815250905090565b60006104a661049f611020565b8484611028565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104f1611020565b73ffffffffffffffffffffffffffffffffffffffff161461051157600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161058e9190612365565b602060405180830381865afa1580156105ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cf91906125d2565b6040518363ffffffff1660e01b81526004016105ec92919061265e565b6020604051808303816000875af115801561060b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062f91906126b3565b505050565b6000683635c9adc5dea00000905090565b60006106528484846111f1565b6107138461065e611020565b61070e8560405180606001604052806028815260200161308860289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106c4611020565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118809092919063ffffffff16565b611028565b600190509392505050565b610726611020565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107aa9061272c565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610858611020565b73ffffffffffffffffffffffffffffffffffffffff161461087857600080fd5b80600d8190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108c3611020565b73ffffffffffffffffffffffffffffffffffffffff16146108e357600080fd5b60004790506108f1816118e4565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610945611020565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c99061272c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f5553446f67650000000000000000000000000000000000000000000000000000815250905090565b6000610b0a610b03611020565b84846111f1565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b55611020565b73ffffffffffffffffffffffffffffffffffffffff1614610b7557600080fd5b600b548260ff1611158015610b8f5750600b548160ff1611155b610bce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc590612798565b60405180910390fd5b8160ff166009819055508060ff16600a819055505050565b610bee611020565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c729061272c565b60405180910390fd5b60005b8151811015610d0c57600160056000848481518110610ca057610c9f6127b8565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d0490612816565b915050610c7e565b5050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d51611020565b73ffffffffffffffffffffffffffffffffffffffff1614610d7157600080fd5b6000610d7c306108f4565b9050610d8781611950565b50565b610d92611020565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e169061272c565b60405180910390fd5b601060149054906101000a900460ff1615610e6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e66906128aa565b60405180910390fd5b610e89610e7b306108f4565b47610e84610a90565b611bc9565b6001601060166101000a81548160ff0219169083151502179055506001601060146101000a81548160ff02191690831515021790555061012c42610ecd91906128ca565b600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000808303610f6e5760009050610fd0565b60008284610f7c91906128fe565b9050828482610f8b919061296f565b14610fcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc290612a12565b60405180910390fd5b809150505b92915050565b600061101883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611cde565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611097576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108e90612aa4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611106576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fd90612b36565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111e49190612284565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611260576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125790612bc8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c690612c5a565b60405180910390fd5b60008111611312576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130990612cec565b60405180910390fd5b600954600881905550611323610a90565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113915750611361610a90565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561176057600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561143a5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61144357600080fd5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156114ee5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115445750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611551575060075442105b1561160157600c5481111561156557600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106115b057600080fd5b601e426115bd91906128ca565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601060159054906101000a900460ff1615801561166c5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156116845750601060169054906101000a900460ff165b80156116da5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561175f576007544211611723576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171a90612d7e565b60405180910390fd5b600061172e306108f4565b9050600d5481111561175d5761174381611950565b6000479050600081111561175b5761175a476118e4565b5b505b505b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614801561180b5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118615750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561187057600a546008819055505b61187b838383611d41565b505050565b60008383111582906118c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bf9190612108565b60405180910390fd5b50600083856118d79190612d9e565b9050809150509392505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561194c573d6000803e3d6000fd5b5050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611988576119876123f1565b5b6040519080825280602002602001820160405280156119b65781602001602082028036833780820191505090505b50905030816000815181106119ce576119cd6127b8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a999190612de7565b81600181518110611aad57611aac6127b8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b1430600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611028565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611b78959493929190612f0d565b600060405180830381600087803b158015611b9257600080fd5b505af1158015611ba6573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b6001601060156101000a81548160ff021916908315150217905550611c1130600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685611028565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b8152600401611c7896959493929190612f67565b60606040518083038185885af1158015611c96573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611cbb9190612fc8565b5050506000601060156101000a81548160ff021916908315150217905550505050565b60008083118290611d25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1c9190612108565b60405180910390fd5b5060008385611d34919061296f565b9050809150509392505050565b600080611d4d83611f7c565b91509150611da383600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fd090919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e3882600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461201a90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ecd81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461201a90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611f6d9190612284565b60405180910390a35050505050565b6000806000611faa6103e8611f9c60085487610f5c90919063ffffffff16565b610fd690919063ffffffff16565b90506000611fc18286611fd090919063ffffffff16565b90508082935093505050915091565b600061201283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611880565b905092915050565b600080828461202991906128ca565b90508381101561206e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206590613067565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156120b2578082015181840152602081019050612097565b60008484015250505050565b6000601f19601f8301169050919050565b60006120da82612078565b6120e48185612083565b93506120f4818560208601612094565b6120fd816120be565b840191505092915050565b6000602082019050818103600083015261212281846120cf565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121698261213e565b9050919050565b6121798161215e565b811461218457600080fd5b50565b60008135905061219681612170565b92915050565b6000819050919050565b6121af8161219c565b81146121ba57600080fd5b50565b6000813590506121cc816121a6565b92915050565b600080604083850312156121e9576121e8612134565b5b60006121f785828601612187565b9250506020612208858286016121bd565b9150509250929050565b60008115159050919050565b61222781612212565b82525050565b6000602082019050612242600083018461221e565b92915050565b60006020828403121561225e5761225d612134565b5b600061226c84828501612187565b91505092915050565b61227e8161219c565b82525050565b60006020820190506122996000830184612275565b92915050565b6000806000606084860312156122b8576122b7612134565b5b60006122c686828701612187565b93505060206122d786828701612187565b92505060406122e8868287016121bd565b9150509250925092565b600060ff82169050919050565b612308816122f2565b82525050565b600060208201905061232360008301846122ff565b92915050565b60006020828403121561233f5761233e612134565b5b600061234d848285016121bd565b91505092915050565b61235f8161215e565b82525050565b600060208201905061237a6000830184612356565b92915050565b612389816122f2565b811461239457600080fd5b50565b6000813590506123a681612380565b92915050565b600080604083850312156123c3576123c2612134565b5b60006123d185828601612397565b92505060206123e285828601612397565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612429826120be565b810181811067ffffffffffffffff82111715612448576124476123f1565b5b80604052505050565b600061245b61212a565b90506124678282612420565b919050565b600067ffffffffffffffff821115612487576124866123f1565b5b602082029050602081019050919050565b600080fd5b60006124b06124ab8461246c565b612451565b905080838252602082019050602084028301858111156124d3576124d2612498565b5b835b818110156124fc57806124e88882612187565b8452602084019350506020810190506124d5565b5050509392505050565b600082601f83011261251b5761251a6123ec565b5b813561252b84826020860161249d565b91505092915050565b60006020828403121561254a57612549612134565b5b600082013567ffffffffffffffff81111561256857612567612139565b5b61257484828501612506565b91505092915050565b6000806040838503121561259457612593612134565b5b60006125a285828601612187565b92505060206125b385828601612187565b9150509250929050565b6000815190506125cc816121a6565b92915050565b6000602082840312156125e8576125e7612134565b5b60006125f6848285016125bd565b91505092915050565b6000819050919050565b600061262461261f61261a8461213e565b6125ff565b61213e565b9050919050565b600061263682612609565b9050919050565b60006126488261262b565b9050919050565b6126588161263d565b82525050565b6000604082019050612673600083018561264f565b6126806020830184612275565b9392505050565b61269081612212565b811461269b57600080fd5b50565b6000815190506126ad81612687565b92915050565b6000602082840312156126c9576126c8612134565b5b60006126d78482850161269e565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612716602083612083565b9150612721826126e0565b602082019050919050565b6000602082019050818103600083015261274581612709565b9050919050565b7f43616e6e6f742073657420666565732061626f7665206d6178696d756d000000600082015250565b6000612782601d83612083565b915061278d8261274c565b602082019050919050565b600060208201905081810360008301526127b181612775565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006128218261219c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612853576128526127e7565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612894601783612083565b915061289f8261285e565b602082019050919050565b600060208201905081810360008301526128c381612887565b9050919050565b60006128d58261219c565b91506128e08361219c565b92508282019050808211156128f8576128f76127e7565b5b92915050565b60006129098261219c565b91506129148361219c565b92508282026129228161219c565b91508282048414831517612939576129386127e7565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061297a8261219c565b91506129858361219c565b92508261299557612994612940565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006129fc602183612083565b9150612a07826129a0565b604082019050919050565b60006020820190508181036000830152612a2b816129ef565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612a8e602483612083565b9150612a9982612a32565b604082019050919050565b60006020820190508181036000830152612abd81612a81565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612b20602283612083565b9150612b2b82612ac4565b604082019050919050565b60006020820190508181036000830152612b4f81612b13565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612bb2602583612083565b9150612bbd82612b56565b604082019050919050565b60006020820190508181036000830152612be181612ba5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612c44602383612083565b9150612c4f82612be8565b604082019050919050565b60006020820190508181036000830152612c7381612c37565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612cd6602983612083565b9150612ce182612c7a565b604082019050919050565b60006020820190508181036000830152612d0581612cc9565b9050919050565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203560008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b6000612d68602883612083565b9150612d7382612d0c565b604082019050919050565b60006020820190508181036000830152612d9781612d5b565b9050919050565b6000612da98261219c565b9150612db48361219c565b9250828203905081811115612dcc57612dcb6127e7565b5b92915050565b600081519050612de181612170565b92915050565b600060208284031215612dfd57612dfc612134565b5b6000612e0b84828501612dd2565b91505092915050565b6000819050919050565b6000612e39612e34612e2f84612e14565b6125ff565b61219c565b9050919050565b612e4981612e1e565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612e848161215e565b82525050565b6000612e968383612e7b565b60208301905092915050565b6000602082019050919050565b6000612eba82612e4f565b612ec48185612e5a565b9350612ecf83612e6b565b8060005b83811015612f00578151612ee78882612e8a565b9750612ef283612ea2565b925050600181019050612ed3565b5085935050505092915050565b600060a082019050612f226000830188612275565b612f2f6020830187612e40565b8181036040830152612f418186612eaf565b9050612f506060830185612356565b612f5d6080830184612275565b9695505050505050565b600060c082019050612f7c6000830189612356565b612f896020830188612275565b612f966040830187612e40565b612fa36060830186612e40565b612fb06080830185612356565b612fbd60a0830184612275565b979650505050505050565b600080600060608486031215612fe157612fe0612134565b5b6000612fef868287016125bd565b9350506020613000868287016125bd565b9250506040613011868287016125bd565b9150509250925092565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613051601b83612083565b915061305c8261301b565b602082019050919050565b6000602082019050818103600083015261308081613044565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200e56175e5ff3dd45c2019f5bba2c9df264d25ed5a75c8fb1bd1bbcbeea98150664736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101185760003560e01c806370a08231116100a0578063aae1c07411610064578063aae1c07414610398578063b515566a146103c1578063c3c8cd80146103ea578063c9567bf914610401578063dd62ed3e146104185761011f565b806370a08231146102b1578063715018a6146102ee5780638da5cb5b1461030557806395d89b4114610330578063a9059cbb1461035b5761011f565b806323b872dd116100e757806323b872dd146101e0578063273123b71461021d578063313ce567146102465780634ea18fab146102715780636fc3eaec1461029a5761011f565b806306fdde0314610124578063095ea7b31461014f57806316114acd1461018c57806318160ddd146101b55761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610455565b6040516101469190612108565b60405180910390f35b34801561015b57600080fd5b50610176600480360381019061017191906121d2565b610492565b604051610183919061222d565b60405180910390f35b34801561019857600080fd5b506101b360048036038101906101ae9190612248565b6104b0565b005b3480156101c157600080fd5b506101ca610634565b6040516101d79190612284565b60405180910390f35b3480156101ec57600080fd5b506102076004803603810190610202919061229f565b610645565b604051610214919061222d565b60405180910390f35b34801561022957600080fd5b50610244600480360381019061023f9190612248565b61071e565b005b34801561025257600080fd5b5061025b61080e565b604051610268919061230e565b60405180910390f35b34801561027d57600080fd5b5061029860048036038101906102939190612329565b610817565b005b3480156102a657600080fd5b506102af610882565b005b3480156102bd57600080fd5b506102d860048036038101906102d39190612248565b6108f4565b6040516102e59190612284565b60405180910390f35b3480156102fa57600080fd5b5061030361093d565b005b34801561031157600080fd5b5061031a610a90565b6040516103279190612365565b60405180910390f35b34801561033c57600080fd5b50610345610ab9565b6040516103529190612108565b60405180910390f35b34801561036757600080fd5b50610382600480360381019061037d91906121d2565b610af6565b60405161038f919061222d565b60405180910390f35b3480156103a457600080fd5b506103bf60048036038101906103ba91906123ac565b610b14565b005b3480156103cd57600080fd5b506103e860048036038101906103e39190612534565b610be6565b005b3480156103f657600080fd5b506103ff610d10565b005b34801561040d57600080fd5b50610416610d8a565b005b34801561042457600080fd5b5061043f600480360381019061043a919061257d565b610ed5565b60405161044c9190612284565b60405180910390f35b60606040518060400160405280600681526020017f5553444f47450000000000000000000000000000000000000000000000000000815250905090565b60006104a661049f611020565b8484611028565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166104f1611020565b73ffffffffffffffffffffffffffffffffffffffff161461051157600080fd5b60008190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161058e9190612365565b602060405180830381865afa1580156105ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cf91906125d2565b6040518363ffffffff1660e01b81526004016105ec92919061265e565b6020604051808303816000875af115801561060b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062f91906126b3565b505050565b6000683635c9adc5dea00000905090565b60006106528484846111f1565b6107138461065e611020565b61070e8560405180606001604052806028815260200161308860289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106c4611020565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118809092919063ffffffff16565b611028565b600190509392505050565b610726611020565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107aa9061272c565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610858611020565b73ffffffffffffffffffffffffffffffffffffffff161461087857600080fd5b80600d8190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108c3611020565b73ffffffffffffffffffffffffffffffffffffffff16146108e357600080fd5b60004790506108f1816118e4565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610945611020565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c99061272c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f5553446f67650000000000000000000000000000000000000000000000000000815250905090565b6000610b0a610b03611020565b84846111f1565b6001905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b55611020565b73ffffffffffffffffffffffffffffffffffffffff1614610b7557600080fd5b600b548260ff1611158015610b8f5750600b548160ff1611155b610bce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc590612798565b60405180910390fd5b8160ff166009819055508060ff16600a819055505050565b610bee611020565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c729061272c565b60405180910390fd5b60005b8151811015610d0c57600160056000848481518110610ca057610c9f6127b8565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610d0490612816565b915050610c7e565b5050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d51611020565b73ffffffffffffffffffffffffffffffffffffffff1614610d7157600080fd5b6000610d7c306108f4565b9050610d8781611950565b50565b610d92611020565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e169061272c565b60405180910390fd5b601060149054906101000a900460ff1615610e6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e66906128aa565b60405180910390fd5b610e89610e7b306108f4565b47610e84610a90565b611bc9565b6001601060166101000a81548160ff0219169083151502179055506001601060146101000a81548160ff02191690831515021790555061012c42610ecd91906128ca565b600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000808303610f6e5760009050610fd0565b60008284610f7c91906128fe565b9050828482610f8b919061296f565b14610fcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc290612a12565b60405180910390fd5b809150505b92915050565b600061101883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611cde565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611097576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108e90612aa4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611106576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fd90612b36565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111e49190612284565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611260576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125790612bc8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c690612c5a565b60405180910390fd5b60008111611312576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130990612cec565b60405180910390fd5b600954600881905550611323610a90565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113915750611361610a90565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561176057600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561143a5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61144357600080fd5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156114ee5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115445750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611551575060075442105b1561160157600c5481111561156557600080fd5b42600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106115b057600080fd5b601e426115bd91906128ca565b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601060159054906101000a900460ff1615801561166c5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156116845750601060169054906101000a900460ff165b80156116da5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561175f576007544211611723576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171a90612d7e565b60405180910390fd5b600061172e306108f4565b9050600d5481111561175d5761174381611950565b6000479050600081111561175b5761175a476118e4565b5b505b505b5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614801561180b5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118615750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561187057600a546008819055505b61187b838383611d41565b505050565b60008383111582906118c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bf9190612108565b60405180910390fd5b50600083856118d79190612d9e565b9050809150509392505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561194c573d6000803e3d6000fd5b5050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611988576119876123f1565b5b6040519080825280602002602001820160405280156119b65781602001602082028036833780820191505090505b50905030816000815181106119ce576119cd6127b8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a999190612de7565b81600181518110611aad57611aac6127b8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611b1430600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611028565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611b78959493929190612f0d565b600060405180830381600087803b158015611b9257600080fd5b505af1158015611ba6573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b6001601060156101000a81548160ff021916908315150217905550611c1130600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685611028565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087426040518863ffffffff1660e01b8152600401611c7896959493929190612f67565b60606040518083038185885af1158015611c96573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611cbb9190612fc8565b5050506000601060156101000a81548160ff021916908315150217905550505050565b60008083118290611d25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1c9190612108565b60405180910390fd5b5060008385611d34919061296f565b9050809150509392505050565b600080611d4d83611f7c565b91509150611da383600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fd090919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e3882600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461201a90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ecd81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461201a90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611f6d9190612284565b60405180910390a35050505050565b6000806000611faa6103e8611f9c60085487610f5c90919063ffffffff16565b610fd690919063ffffffff16565b90506000611fc18286611fd090919063ffffffff16565b90508082935093505050915091565b600061201283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611880565b905092915050565b600080828461202991906128ca565b90508381101561206e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206590613067565b60405180910390fd5b8091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156120b2578082015181840152602081019050612097565b60008484015250505050565b6000601f19601f8301169050919050565b60006120da82612078565b6120e48185612083565b93506120f4818560208601612094565b6120fd816120be565b840191505092915050565b6000602082019050818103600083015261212281846120cf565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121698261213e565b9050919050565b6121798161215e565b811461218457600080fd5b50565b60008135905061219681612170565b92915050565b6000819050919050565b6121af8161219c565b81146121ba57600080fd5b50565b6000813590506121cc816121a6565b92915050565b600080604083850312156121e9576121e8612134565b5b60006121f785828601612187565b9250506020612208858286016121bd565b9150509250929050565b60008115159050919050565b61222781612212565b82525050565b6000602082019050612242600083018461221e565b92915050565b60006020828403121561225e5761225d612134565b5b600061226c84828501612187565b91505092915050565b61227e8161219c565b82525050565b60006020820190506122996000830184612275565b92915050565b6000806000606084860312156122b8576122b7612134565b5b60006122c686828701612187565b93505060206122d786828701612187565b92505060406122e8868287016121bd565b9150509250925092565b600060ff82169050919050565b612308816122f2565b82525050565b600060208201905061232360008301846122ff565b92915050565b60006020828403121561233f5761233e612134565b5b600061234d848285016121bd565b91505092915050565b61235f8161215e565b82525050565b600060208201905061237a6000830184612356565b92915050565b612389816122f2565b811461239457600080fd5b50565b6000813590506123a681612380565b92915050565b600080604083850312156123c3576123c2612134565b5b60006123d185828601612397565b92505060206123e285828601612397565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612429826120be565b810181811067ffffffffffffffff82111715612448576124476123f1565b5b80604052505050565b600061245b61212a565b90506124678282612420565b919050565b600067ffffffffffffffff821115612487576124866123f1565b5b602082029050602081019050919050565b600080fd5b60006124b06124ab8461246c565b612451565b905080838252602082019050602084028301858111156124d3576124d2612498565b5b835b818110156124fc57806124e88882612187565b8452602084019350506020810190506124d5565b5050509392505050565b600082601f83011261251b5761251a6123ec565b5b813561252b84826020860161249d565b91505092915050565b60006020828403121561254a57612549612134565b5b600082013567ffffffffffffffff81111561256857612567612139565b5b61257484828501612506565b91505092915050565b6000806040838503121561259457612593612134565b5b60006125a285828601612187565b92505060206125b385828601612187565b9150509250929050565b6000815190506125cc816121a6565b92915050565b6000602082840312156125e8576125e7612134565b5b60006125f6848285016125bd565b91505092915050565b6000819050919050565b600061262461261f61261a8461213e565b6125ff565b61213e565b9050919050565b600061263682612609565b9050919050565b60006126488261262b565b9050919050565b6126588161263d565b82525050565b6000604082019050612673600083018561264f565b6126806020830184612275565b9392505050565b61269081612212565b811461269b57600080fd5b50565b6000815190506126ad81612687565b92915050565b6000602082840312156126c9576126c8612134565b5b60006126d78482850161269e565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612716602083612083565b9150612721826126e0565b602082019050919050565b6000602082019050818103600083015261274581612709565b9050919050565b7f43616e6e6f742073657420666565732061626f7665206d6178696d756d000000600082015250565b6000612782601d83612083565b915061278d8261274c565b602082019050919050565b600060208201905081810360008301526127b181612775565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006128218261219c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612853576128526127e7565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612894601783612083565b915061289f8261285e565b602082019050919050565b600060208201905081810360008301526128c381612887565b9050919050565b60006128d58261219c565b91506128e08361219c565b92508282019050808211156128f8576128f76127e7565b5b92915050565b60006129098261219c565b91506129148361219c565b92508282026129228161219c565b91508282048414831517612939576129386127e7565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061297a8261219c565b91506129858361219c565b92508261299557612994612940565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006129fc602183612083565b9150612a07826129a0565b604082019050919050565b60006020820190508181036000830152612a2b816129ef565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612a8e602483612083565b9150612a9982612a32565b604082019050919050565b60006020820190508181036000830152612abd81612a81565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612b20602283612083565b9150612b2b82612ac4565b604082019050919050565b60006020820190508181036000830152612b4f81612b13565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612bb2602583612083565b9150612bbd82612b56565b604082019050919050565b60006020820190508181036000830152612be181612ba5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612c44602383612083565b9150612c4f82612be8565b604082019050919050565b60006020820190508181036000830152612c7381612c37565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612cd6602983612083565b9150612ce182612c7a565b604082019050919050565b60006020820190508181036000830152612d0581612cc9565b9050919050565b7f53656c6c732070726f6869626974656420666f7220746865206669727374203560008201527f206d696e75746573000000000000000000000000000000000000000000000000602082015250565b6000612d68602883612083565b9150612d7382612d0c565b604082019050919050565b60006020820190508181036000830152612d9781612d5b565b9050919050565b6000612da98261219c565b9150612db48361219c565b9250828203905081811115612dcc57612dcb6127e7565b5b92915050565b600081519050612de181612170565b92915050565b600060208284031215612dfd57612dfc612134565b5b6000612e0b84828501612dd2565b91505092915050565b6000819050919050565b6000612e39612e34612e2f84612e14565b6125ff565b61219c565b9050919050565b612e4981612e1e565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612e848161215e565b82525050565b6000612e968383612e7b565b60208301905092915050565b6000602082019050919050565b6000612eba82612e4f565b612ec48185612e5a565b9350612ecf83612e6b565b8060005b83811015612f00578151612ee78882612e8a565b9750612ef283612ea2565b925050600181019050612ed3565b5085935050505092915050565b600060a082019050612f226000830188612275565b612f2f6020830187612e40565b8181036040830152612f418186612eaf565b9050612f506060830185612356565b612f5d6080830184612275565b9695505050505050565b600060c082019050612f7c6000830189612356565b612f896020830188612275565b612f966040830187612e40565b612fa36060830186612e40565b612fb06080830185612356565b612fbd60a0830184612275565b979650505050505050565b600080600060608486031215612fe157612fe0612134565b5b6000612fef868287016125bd565b9350506020613000868287016125bd565b9250506040613011868287016125bd565b9150509250925092565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613051601b83612083565b915061305c8261301b565b602082019050919050565b6000602082019050818103600083015261308081613044565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200e56175e5ff3dd45c2019f5bba2c9df264d25ed5a75c8fb1bd1bbcbeea98150664736f6c63430008120033

Deployed Bytecode Sourcemap

3605:8465:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5513:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6344:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11811:256;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5790:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6513:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10591:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5699:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7100:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11364:194;;;;;;;;;;;;;:::i;:::-;;5893:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2684:148;;;;;;;;;;;;;:::i;:::-;;2470:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5604:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6018:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6837:255;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10415:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11157:195;;;;;;;;;;;;;:::i;:::-;;10109:294;;;;;;;;;;;;;:::i;:::-;;6193:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5513:83;5550:13;5583:5;;;;;;;;;;;;;;;;;5576:12;;5513:83;:::o;6344:161::-;6419:4;6436:39;6445:12;:10;:12::i;:::-;6459:7;6468:6;6436:8;:39::i;:::-;6493:4;6486:11;;6344:161;;;;:::o;11811:256::-;11900:15;;;;;;;;;;;11884:31;;:12;:10;:12::i;:::-;:31;;;11876:40;;;;;;11927:20;11957:12;11927:43;;11981:13;:22;;;12004:15;;;;;;;;;;;12020:13;:23;;;12052:4;12020:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11981:78;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11865:202;11811:256;:::o;5790:95::-;5843:7;4060:18;5863:14;;5790:95;:::o;6513:313::-;6611:4;6628:36;6638:6;6646:9;6657:6;6628:9;:36::i;:::-;6675:121;6684:6;6692:12;:10;:12::i;:::-;6706:89;6744:6;6706:89;;;;;;;;;;;;;;;;;:11;:19;6718:6;6706:19;;;;;;;;;;;;;;;:33;6726:12;:10;:12::i;:::-;6706:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6675:8;:121::i;:::-;6814:4;6807:11;;6513:313;;;;;:::o;10591:88::-;2607:12;:10;:12::i;:::-;2597:22;;:6;;;;;;;;;;:22;;;2589:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10666:5:::1;10651:4;:12;10656:6;10651:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;10591:88:::0;:::o;5699:83::-;5740:5;4427:1;5758:16;;5699:83;:::o;7100:142::-;7186:15;;;;;;;;;;;7170:31;;:12;:10;:12::i;:::-;:31;;;7162:40;;;;;;7226:6;7213:10;:19;;;;7100:142;:::o;11364:194::-;11430:15;;;;;;;;;;;11414:31;;:12;:10;:12::i;:::-;:31;;;11406:40;;;;;;11457:26;11486:21;11457:50;;11518:32;11531:18;11518:12;:32::i;:::-;11395:163;11364:194::o;5893:117::-;5959:7;5986;:16;5994:7;5986:16;;;;;;;;;;;;;;;;5979:23;;5893:117;;;:::o;2684:148::-;2607:12;:10;:12::i;:::-;2597:22;;:6;;;;;;;;;;:22;;;2589:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2791:1:::1;2754:40;;2775:6;::::0;::::1;;;;;;;;2754:40;;;;;;;;;;;;2822:1;2805:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2684:148::o:0;2470:79::-;2508:7;2535:6;;;;;;;;;;;2528:13;;2470:79;:::o;5604:87::-;5643:13;5676:7;;;;;;;;;;;;;;;;;5669:14;;5604:87;:::o;6018:167::-;6096:4;6113:42;6123:12;:10;:12::i;:::-;6137:9;6148:6;6113:9;:42::i;:::-;6173:4;6166:11;;6018:167;;;;:::o;6837:255::-;6936:15;;;;;;;;;;;6920:31;;:12;:10;:12::i;:::-;:31;;;6912:40;;;;;;6980:6;;6971:5;:15;;;;:34;;;;;6999:6;;6990:5;:15;;;;6971:34;6963:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;7056:5;7049:12;;:4;:12;;;;7079:5;7072:12;;:4;:12;;;;6837:255;;:::o;10415:164::-;2607:12;:10;:12::i;:::-;2597:22;;:6;;;;;;;;;;:22;;;2589:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10489:6:::1;10484:88;10505:5;:12;10501:1;:16;10484:88;;;10556:4;10539;:14;10544:5;10550:1;10544:8;;;;;;;;:::i;:::-;;;;;;;;10539:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;10519:3;;;;;:::i;:::-;;;;10484:88;;;;10415:164:::0;:::o;11157:195::-;11223:15;;;;;;;;;;;11207:31;;:12;:10;:12::i;:::-;:31;;;11199:40;;;;;;11250:23;11276:24;11294:4;11276:9;:24::i;:::-;11250:50;;11311:33;11328:15;11311:16;:33::i;:::-;11188:164;11157:195::o;10109:294::-;2607:12;:10;:12::i;:::-;2597:22;;:6;;;;;;;;;;:22;;;2589:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10173:11:::1;;;;;;;;;;;10172:12;10164:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10222:68;10235:24;10253:4;10235:9;:24::i;:::-;10260:21;10282:7;:5;:7::i;:::-;10222:12;:68::i;:::-;10315:4;10301:11;;:18;;;;;;;;;;;;;;;;;;10344:4;10330:11;;:18;;;;;;;;;;;;;;;;;;10385:9;10366:15;:29;;;;:::i;:::-;10359:4;:36;;;;10109:294::o:0;6193:143::-;6274:7;6301:11;:18;6313:5;6301:18;;;;;;;;;;;;;;;:27;6320:7;6301:27;;;;;;;;;;;;;;;;6294:34;;6193:143;;;;:::o;1523:246::-;1581:7;1610:1;1605;:6;1601:47;;1635:1;1628:8;;;;1601:47;1658:9;1674:1;1670;:5;;;;:::i;:::-;1658:17;;1703:1;1698;1694;:5;;;;:::i;:::-;:10;1686:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1760:1;1753:8;;;1523:246;;;;;:::o;1777:132::-;1835:7;1862:39;1866:1;1869;1862:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1855:46;;1777:132;;;;:::o;188:98::-;241:7;268:10;261:17;;188:98;:::o;7253:335::-;7363:1;7346:19;;:5;:19;;;7338:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7444:1;7425:21;;:7;:21;;;7417:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7526:6;7496:11;:18;7508:5;7496:18;;;;;;;;;;;;;;;:27;7515:7;7496:27;;;;;;;;;;;;;;;:36;;;;7564:7;7548:32;;7557:5;7548:32;;;7573:6;7548:32;;;;;;:::i;:::-;;;;;;;;7253:335;;;:::o;7596:1605::-;7700:1;7684:18;;:4;:18;;;7676:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7777:1;7763:16;;:2;:16;;;7755:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7847:1;7838:6;:10;7830:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7914:4;;7907;:11;;;;7941:7;:5;:7::i;:::-;7933:15;;:4;:15;;;;:32;;;;;7958:7;:5;:7::i;:::-;7952:13;;:2;:13;;;;7933:32;7929:1082;;;7991:4;:10;7996:4;7991:10;;;;;;;;;;;;;;;;;;;;;;;;;7990:11;:24;;;;;8006:4;:8;8011:2;8006:8;;;;;;;;;;;;;;;;;;;;;;;;;8005:9;7990:24;7982:33;;;;;;8042:13;;;;;;;;;;;8034:21;;:4;:21;;;:55;;;;;8073:15;;;;;;;;;;;8059:30;;:2;:30;;;;8034:55;:83;;;;;8095:18;:22;8114:2;8095:22;;;;;;;;;;;;;;;;;;;;;;;;;8093:24;8034:83;:111;;;;;8140:4;;8122:15;:22;8034:111;8030:333;;;8212:12;;8202:6;:22;;8194:31;;;;;;8267:15;8252:8;:12;8261:2;8252:12;;;;;;;;;;;;;;;;:30;8244:39;;;;;;8336:10;8317:15;:30;;;;:::i;:::-;8302:8;:12;8311:2;8302:12;;;;;;;;;;;;;;;:45;;;;8030:333;8396:6;;;;;;;;;;;8395:7;:32;;;;;8414:13;;;;;;;;;;;8406:21;;:4;:21;;;;8395:32;:47;;;;;8431:11;;;;;;;;;;;8395:47;:76;;;;;8447:18;:24;8466:4;8447:24;;;;;;;;;;;;;;;;;;;;;;;;;8446:25;8395:76;8391:609;;;8518:4;;8500:15;:22;8492:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;8585:28;8616:24;8634:4;8616:9;:24::i;:::-;8585:55;;8685:10;;8662:20;:33;8659:326;;;8719:38;8736:20;8719:16;:38::i;:::-;8780:26;8809:21;8780:50;;8877:1;8856:18;:22;8853:113;;;8907:35;8920:21;8907:12;:35::i;:::-;8853:113;8696:289;8659:326;8473:527;8391:609;7929:1082;9031:13;;;;;;;;;;;9025:19;;:2;:19;;;:55;;;;;9064:15;;;;;;;;;;;9048:32;;:4;:32;;;;9025:55;:85;;;;;9086:18;:24;9105:4;9086:24;;;;;;;;;;;;;;;;;;;;;;;;;9084:26;9025:85;9021:129;;;9134:4;;9127;:11;;;;9021:129;9160:33;9178:4;9183:2;9186:6;9160:17;:33::i;:::-;7596:1605;;;:::o;1325:190::-;1411:7;1444:1;1439;:6;;1447:12;1431:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1471:9;1487:1;1483;:5;;;;:::i;:::-;1471:17;;1506:1;1499:8;;;1325:190;;;;;:::o;10000:97::-;10057:15;;;;;;;;;;;:24;;:32;10082:6;10057:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10000:97;:::o;9209:483::-;4711:4;4702:6;;:13;;;;;;;;;;;;;;;;;;9287:21:::1;9325:1;9311:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9287:40;;9356:4;9338;9343:1;9338:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9382:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9372:4;9377:1;9372:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9415:62;9432:4;9447:15;;;;;;;;;;;9465:11;9415:8;:62::i;:::-;9488:15;;;;;;;;;;;:66;;;9569:11;9595:1;9611:4;9638;9658:15;9488:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9276:416;4747:5:::0;4738:6;;:14;;;;;;;;;;;;;;;;;;9209:483;:::o;9700:288::-;4711:4;4702:6;;:13;;;;;;;;;;;;;;;;;;9806:60:::1;9823:4;9837:15;;;;;;;;;;;9854:11;9806:8;:60::i;:::-;9877:15;;;;;;;;;;;:31;;;9916:9;9935:4;9941:11;9953:1;9955::::0;9957:6:::1;9964:15;9877:103;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;4747:5:::0;4738:6;;:14;;;;;;;;;;;;;;;;;;9700:288;;;:::o;1917:189::-;2003:7;2035:1;2031;:5;2038:12;2023:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2062:9;2078:1;2074;:5;;;;:::i;:::-;2062:17;;2097:1;2090:8;;;1917:189;;;;;:::o;10687:421::-;10786:22;10809:12;10825:20;10837:7;10825:11;:20::i;:::-;10785:60;;;;10874:28;10894:7;10874;:15;10882:6;10874:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;10856:7;:15;10864:6;10856:15;;;;;;;;;;;;;;;:46;;;;10934:38;10957:14;10934:7;:18;10942:9;10934:18;;;;;;;;;;;;;;;;:22;;:38;;;;:::i;:::-;10913:7;:18;10921:9;10913:18;;;;;;;;;;;;;;;:59;;;;11009:32;11036:4;11009:7;:22;11025:4;11009:22;;;;;;;;;;;;;;;;:26;;:32;;;;:::i;:::-;10984:7;:22;11000:4;10984:22;;;;;;;;;;;;;;;:57;;;;11074:9;11057:43;;11066:6;11057:43;;;11085:14;11057:43;;;;;;:::i;:::-;;;;;;;;10774:334;;10687:421;;;:::o;11569:234::-;11629:7;11638;11658:12;11673:27;11695:4;11673:17;11685:4;;11673:7;:11;;:17;;;;:::i;:::-;:21;;:27;;;;:::i;:::-;11658:42;;11711:23;11737:17;11749:4;11737:7;:11;;:17;;;;:::i;:::-;11711:43;;11773:15;11790:4;11765:30;;;;;;11569:234;;;:::o;1181:136::-;1239:7;1266:43;1270:1;1273;1266:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1259:50;;1181:136;;;;:::o;994:179::-;1052:7;1072:9;1088:1;1084;:5;;;;:::i;:::-;1072:17;;1113:1;1108;:6;;1100:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1164:1;1157:8;;;994:179;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:329::-;3505:6;3554:2;3542:9;3533:7;3529:23;3525:32;3522:119;;;3560:79;;:::i;:::-;3522:119;3680:1;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3651:117;3446:329;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::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:329::-;5247:6;5296:2;5284:9;5275:7;5271:23;5267:32;5264:119;;;5302:79;;:::i;:::-;5264:119;5422:1;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5393:117;5188:329;;;;:::o;5523:118::-;5610:24;5628:5;5610:24;:::i;:::-;5605:3;5598:37;5523:118;;:::o;5647:222::-;5740:4;5778:2;5767:9;5763:18;5755:26;;5791:71;5859:1;5848:9;5844:17;5835:6;5791:71;:::i;:::-;5647:222;;;;:::o;5875:118::-;5946:22;5962:5;5946:22;:::i;:::-;5939:5;5936:33;5926:61;;5983:1;5980;5973:12;5926:61;5875:118;:::o;5999:135::-;6043:5;6081:6;6068:20;6059:29;;6097:31;6122:5;6097:31;:::i;:::-;5999:135;;;;:::o;6140:466::-;6204:6;6212;6261:2;6249:9;6240:7;6236:23;6232:32;6229:119;;;6267:79;;:::i;:::-;6229:119;6387:1;6412:51;6455:7;6446:6;6435:9;6431:22;6412:51;:::i;:::-;6402:61;;6358:115;6512:2;6538:51;6581:7;6572:6;6561:9;6557:22;6538:51;:::i;:::-;6528:61;;6483:116;6140:466;;;;;:::o;6612:117::-;6721:1;6718;6711:12;6735:180;6783:77;6780:1;6773:88;6880:4;6877:1;6870:15;6904:4;6901:1;6894:15;6921:281;7004:27;7026:4;7004:27;:::i;:::-;6996:6;6992:40;7134:6;7122:10;7119:22;7098:18;7086:10;7083:34;7080:62;7077:88;;;7145:18;;:::i;:::-;7077:88;7185:10;7181:2;7174:22;6964:238;6921:281;;:::o;7208:129::-;7242:6;7269:20;;:::i;:::-;7259:30;;7298:33;7326:4;7318:6;7298:33;:::i;:::-;7208:129;;;:::o;7343:311::-;7420:4;7510:18;7502:6;7499:30;7496:56;;;7532:18;;:::i;:::-;7496:56;7582:4;7574:6;7570:17;7562:25;;7642:4;7636;7632:15;7624:23;;7343:311;;;:::o;7660:117::-;7769:1;7766;7759:12;7800:710;7896:5;7921:81;7937:64;7994:6;7937:64;:::i;:::-;7921:81;:::i;:::-;7912:90;;8022:5;8051:6;8044:5;8037:21;8085:4;8078:5;8074:16;8067:23;;8138:4;8130:6;8126:17;8118:6;8114:30;8167:3;8159:6;8156:15;8153:122;;;8186:79;;:::i;:::-;8153:122;8301:6;8284:220;8318:6;8313:3;8310:15;8284:220;;;8393:3;8422:37;8455:3;8443:10;8422:37;:::i;:::-;8417:3;8410:50;8489:4;8484:3;8480:14;8473:21;;8360:144;8344:4;8339:3;8335:14;8328:21;;8284:220;;;8288:21;7902:608;;7800:710;;;;;:::o;8533:370::-;8604:5;8653:3;8646:4;8638:6;8634:17;8630:27;8620:122;;8661:79;;:::i;:::-;8620:122;8778:6;8765:20;8803:94;8893:3;8885:6;8878:4;8870:6;8866:17;8803:94;:::i;:::-;8794:103;;8610:293;8533:370;;;;:::o;8909:539::-;8993:6;9042:2;9030:9;9021:7;9017:23;9013:32;9010:119;;;9048:79;;:::i;:::-;9010:119;9196:1;9185:9;9181:17;9168:31;9226:18;9218:6;9215:30;9212:117;;;9248:79;;:::i;:::-;9212:117;9353:78;9423:7;9414:6;9403:9;9399:22;9353:78;:::i;:::-;9343:88;;9139:302;8909:539;;;;:::o;9454:474::-;9522:6;9530;9579:2;9567:9;9558:7;9554:23;9550:32;9547:119;;;9585:79;;:::i;:::-;9547:119;9705:1;9730:53;9775:7;9766:6;9755:9;9751:22;9730:53;:::i;:::-;9720:63;;9676:117;9832:2;9858:53;9903:7;9894:6;9883:9;9879:22;9858:53;:::i;:::-;9848:63;;9803:118;9454:474;;;;;:::o;9934:143::-;9991:5;10022:6;10016:13;10007:22;;10038:33;10065:5;10038:33;:::i;:::-;9934:143;;;;:::o;10083:351::-;10153:6;10202:2;10190:9;10181:7;10177:23;10173:32;10170:119;;;10208:79;;:::i;:::-;10170:119;10328:1;10353:64;10409:7;10400:6;10389:9;10385:22;10353:64;:::i;:::-;10343:74;;10299:128;10083:351;;;;:::o;10440:60::-;10468:3;10489:5;10482:12;;10440:60;;;:::o;10506:142::-;10556:9;10589:53;10607:34;10616:24;10634:5;10616:24;:::i;:::-;10607:34;:::i;:::-;10589:53;:::i;:::-;10576:66;;10506:142;;;:::o;10654:126::-;10704:9;10737:37;10768:5;10737:37;:::i;:::-;10724:50;;10654:126;;;:::o;10786:134::-;10844:9;10877:37;10908:5;10877:37;:::i;:::-;10864:50;;10786:134;;;:::o;10926:147::-;11021:45;11060:5;11021:45;:::i;:::-;11016:3;11009:58;10926:147;;:::o;11079:348::-;11208:4;11246:2;11235:9;11231:18;11223:26;;11259:79;11335:1;11324:9;11320:17;11311:6;11259:79;:::i;:::-;11348:72;11416:2;11405:9;11401:18;11392:6;11348:72;:::i;:::-;11079:348;;;;;:::o;11433:116::-;11503:21;11518:5;11503:21;:::i;:::-;11496:5;11493:32;11483:60;;11539:1;11536;11529:12;11483:60;11433:116;:::o;11555:137::-;11609:5;11640:6;11634:13;11625:22;;11656:30;11680:5;11656:30;:::i;:::-;11555:137;;;;:::o;11698:345::-;11765:6;11814:2;11802:9;11793:7;11789:23;11785:32;11782:119;;;11820:79;;:::i;:::-;11782:119;11940:1;11965:61;12018:7;12009:6;11998:9;11994:22;11965:61;:::i;:::-;11955:71;;11911:125;11698:345;;;;:::o;12049:182::-;12189:34;12185:1;12177:6;12173:14;12166:58;12049:182;:::o;12237:366::-;12379:3;12400:67;12464:2;12459:3;12400:67;:::i;:::-;12393:74;;12476:93;12565:3;12476:93;:::i;:::-;12594:2;12589:3;12585:12;12578:19;;12237:366;;;:::o;12609:419::-;12775:4;12813:2;12802:9;12798:18;12790:26;;12862:9;12856:4;12852:20;12848:1;12837:9;12833:17;12826:47;12890:131;13016:4;12890:131;:::i;:::-;12882:139;;12609:419;;;:::o;13034:179::-;13174:31;13170:1;13162:6;13158:14;13151:55;13034:179;:::o;13219:366::-;13361:3;13382:67;13446:2;13441:3;13382:67;:::i;:::-;13375:74;;13458:93;13547:3;13458:93;:::i;:::-;13576:2;13571:3;13567:12;13560:19;;13219:366;;;:::o;13591:419::-;13757:4;13795:2;13784:9;13780:18;13772:26;;13844:9;13838:4;13834:20;13830:1;13819:9;13815:17;13808:47;13872:131;13998:4;13872:131;:::i;:::-;13864:139;;13591:419;;;:::o;14016:180::-;14064:77;14061:1;14054:88;14161:4;14158:1;14151:15;14185:4;14182:1;14175:15;14202:180;14250:77;14247:1;14240:88;14347:4;14344:1;14337:15;14371:4;14368:1;14361:15;14388:233;14427:3;14450:24;14468:5;14450:24;:::i;:::-;14441:33;;14496:66;14489:5;14486:77;14483:103;;14566:18;;:::i;:::-;14483:103;14613:1;14606:5;14602:13;14595:20;;14388:233;;;:::o;14627:173::-;14767:25;14763:1;14755:6;14751:14;14744:49;14627:173;:::o;14806:366::-;14948:3;14969:67;15033:2;15028:3;14969:67;:::i;:::-;14962:74;;15045:93;15134:3;15045:93;:::i;:::-;15163:2;15158:3;15154:12;15147:19;;14806:366;;;:::o;15178:419::-;15344:4;15382:2;15371:9;15367:18;15359:26;;15431:9;15425:4;15421:20;15417:1;15406:9;15402:17;15395:47;15459:131;15585:4;15459:131;:::i;:::-;15451:139;;15178:419;;;:::o;15603:191::-;15643:3;15662:20;15680:1;15662:20;:::i;:::-;15657:25;;15696:20;15714:1;15696:20;:::i;:::-;15691:25;;15739:1;15736;15732:9;15725:16;;15760:3;15757:1;15754:10;15751:36;;;15767:18;;:::i;:::-;15751:36;15603:191;;;;:::o;15800:410::-;15840:7;15863:20;15881:1;15863:20;:::i;:::-;15858:25;;15897:20;15915:1;15897:20;:::i;:::-;15892:25;;15952:1;15949;15945:9;15974:30;15992:11;15974:30;:::i;:::-;15963:41;;16153:1;16144:7;16140:15;16137:1;16134:22;16114:1;16107:9;16087:83;16064:139;;16183:18;;:::i;:::-;16064:139;15848:362;15800:410;;;;:::o;16216:180::-;16264:77;16261:1;16254:88;16361:4;16358:1;16351:15;16385:4;16382:1;16375:15;16402:185;16442:1;16459:20;16477:1;16459:20;:::i;:::-;16454:25;;16493:20;16511:1;16493:20;:::i;:::-;16488:25;;16532:1;16522:35;;16537:18;;:::i;:::-;16522:35;16579:1;16576;16572:9;16567:14;;16402:185;;;;:::o;16593:220::-;16733:34;16729:1;16721:6;16717:14;16710:58;16802:3;16797:2;16789:6;16785:15;16778:28;16593:220;:::o;16819:366::-;16961:3;16982:67;17046:2;17041:3;16982:67;:::i;:::-;16975:74;;17058:93;17147:3;17058:93;:::i;:::-;17176:2;17171:3;17167:12;17160:19;;16819:366;;;:::o;17191:419::-;17357:4;17395:2;17384:9;17380:18;17372:26;;17444:9;17438:4;17434:20;17430:1;17419:9;17415:17;17408:47;17472:131;17598:4;17472:131;:::i;:::-;17464:139;;17191:419;;;:::o;17616:223::-;17756:34;17752:1;17744:6;17740:14;17733:58;17825:6;17820:2;17812:6;17808:15;17801:31;17616:223;:::o;17845:366::-;17987:3;18008:67;18072:2;18067:3;18008:67;:::i;:::-;18001:74;;18084:93;18173:3;18084:93;:::i;:::-;18202:2;18197:3;18193:12;18186:19;;17845:366;;;:::o;18217:419::-;18383:4;18421:2;18410:9;18406:18;18398:26;;18470:9;18464:4;18460:20;18456:1;18445:9;18441:17;18434:47;18498:131;18624:4;18498:131;:::i;:::-;18490:139;;18217:419;;;:::o;18642:221::-;18782:34;18778:1;18770:6;18766:14;18759:58;18851:4;18846:2;18838:6;18834:15;18827:29;18642:221;:::o;18869:366::-;19011:3;19032:67;19096:2;19091:3;19032:67;:::i;:::-;19025:74;;19108:93;19197:3;19108:93;:::i;:::-;19226:2;19221:3;19217:12;19210:19;;18869:366;;;:::o;19241:419::-;19407:4;19445:2;19434:9;19430:18;19422:26;;19494:9;19488:4;19484:20;19480:1;19469:9;19465:17;19458:47;19522:131;19648:4;19522:131;:::i;:::-;19514:139;;19241:419;;;:::o;19666:224::-;19806:34;19802:1;19794:6;19790:14;19783:58;19875:7;19870:2;19862:6;19858:15;19851:32;19666:224;:::o;19896:366::-;20038:3;20059:67;20123:2;20118:3;20059:67;:::i;:::-;20052:74;;20135:93;20224:3;20135:93;:::i;:::-;20253:2;20248:3;20244:12;20237:19;;19896:366;;;:::o;20268:419::-;20434:4;20472:2;20461:9;20457:18;20449:26;;20521:9;20515:4;20511:20;20507:1;20496:9;20492:17;20485:47;20549:131;20675:4;20549:131;:::i;:::-;20541:139;;20268:419;;;:::o;20693:222::-;20833:34;20829:1;20821:6;20817:14;20810:58;20902:5;20897:2;20889:6;20885:15;20878:30;20693:222;:::o;20921:366::-;21063:3;21084:67;21148:2;21143:3;21084:67;:::i;:::-;21077:74;;21160:93;21249:3;21160:93;:::i;:::-;21278:2;21273:3;21269:12;21262:19;;20921:366;;;:::o;21293:419::-;21459:4;21497:2;21486:9;21482:18;21474:26;;21546:9;21540:4;21536:20;21532:1;21521:9;21517:17;21510:47;21574:131;21700:4;21574:131;:::i;:::-;21566:139;;21293:419;;;:::o;21718:228::-;21858:34;21854:1;21846:6;21842:14;21835:58;21927:11;21922:2;21914:6;21910:15;21903:36;21718:228;:::o;21952:366::-;22094:3;22115:67;22179:2;22174:3;22115:67;:::i;:::-;22108:74;;22191:93;22280:3;22191:93;:::i;:::-;22309:2;22304:3;22300:12;22293:19;;21952:366;;;:::o;22324:419::-;22490:4;22528:2;22517:9;22513:18;22505:26;;22577:9;22571:4;22567:20;22563:1;22552:9;22548:17;22541:47;22605:131;22731:4;22605:131;:::i;:::-;22597:139;;22324:419;;;:::o;22749:227::-;22889:34;22885:1;22877:6;22873:14;22866:58;22958:10;22953:2;22945:6;22941:15;22934:35;22749:227;:::o;22982:366::-;23124:3;23145:67;23209:2;23204:3;23145:67;:::i;:::-;23138:74;;23221:93;23310:3;23221:93;:::i;:::-;23339:2;23334:3;23330:12;23323:19;;22982:366;;;:::o;23354:419::-;23520:4;23558:2;23547:9;23543:18;23535:26;;23607:9;23601:4;23597:20;23593:1;23582:9;23578:17;23571:47;23635:131;23761:4;23635:131;:::i;:::-;23627:139;;23354:419;;;:::o;23779:194::-;23819:4;23839:20;23857:1;23839:20;:::i;:::-;23834:25;;23873:20;23891:1;23873:20;:::i;:::-;23868:25;;23917:1;23914;23910:9;23902:17;;23941:1;23935:4;23932:11;23929:37;;;23946:18;;:::i;:::-;23929:37;23779:194;;;;:::o;23979:143::-;24036:5;24067:6;24061:13;24052:22;;24083:33;24110:5;24083:33;:::i;:::-;23979:143;;;;:::o;24128:351::-;24198:6;24247:2;24235:9;24226:7;24222:23;24218:32;24215:119;;;24253:79;;:::i;:::-;24215:119;24373:1;24398:64;24454:7;24445:6;24434:9;24430:22;24398:64;:::i;:::-;24388:74;;24344:128;24128:351;;;;:::o;24485:85::-;24530:7;24559:5;24548:16;;24485:85;;;:::o;24576:158::-;24634:9;24667:61;24685:42;24694:32;24720:5;24694:32;:::i;:::-;24685:42;:::i;:::-;24667:61;:::i;:::-;24654:74;;24576:158;;;:::o;24740:147::-;24835:45;24874:5;24835:45;:::i;:::-;24830:3;24823:58;24740:147;;:::o;24893:114::-;24960:6;24994:5;24988:12;24978:22;;24893:114;;;:::o;25013:184::-;25112:11;25146:6;25141:3;25134:19;25186:4;25181:3;25177:14;25162:29;;25013:184;;;;:::o;25203:132::-;25270:4;25293:3;25285:11;;25323:4;25318:3;25314:14;25306:22;;25203:132;;;:::o;25341:108::-;25418:24;25436:5;25418:24;:::i;:::-;25413:3;25406:37;25341:108;;:::o;25455:179::-;25524:10;25545:46;25587:3;25579:6;25545:46;:::i;:::-;25623:4;25618:3;25614:14;25600:28;;25455:179;;;;:::o;25640:113::-;25710:4;25742;25737:3;25733:14;25725:22;;25640:113;;;:::o;25789:732::-;25908:3;25937:54;25985:5;25937:54;:::i;:::-;26007:86;26086:6;26081:3;26007:86;:::i;:::-;26000:93;;26117:56;26167:5;26117:56;:::i;:::-;26196:7;26227:1;26212:284;26237:6;26234:1;26231:13;26212:284;;;26313:6;26307:13;26340:63;26399:3;26384:13;26340:63;:::i;:::-;26333:70;;26426:60;26479:6;26426:60;:::i;:::-;26416:70;;26272:224;26259:1;26256;26252:9;26247:14;;26212:284;;;26216:14;26512:3;26505:10;;25913:608;;;25789:732;;;;:::o;26527:831::-;26790:4;26828:3;26817:9;26813:19;26805:27;;26842:71;26910:1;26899:9;26895:17;26886:6;26842:71;:::i;:::-;26923:80;26999:2;26988:9;26984:18;26975:6;26923:80;:::i;:::-;27050:9;27044:4;27040:20;27035:2;27024:9;27020:18;27013:48;27078:108;27181:4;27172:6;27078:108;:::i;:::-;27070:116;;27196:72;27264:2;27253:9;27249:18;27240:6;27196:72;:::i;:::-;27278:73;27346:3;27335:9;27331:19;27322:6;27278:73;:::i;:::-;26527:831;;;;;;;;:::o;27364:807::-;27613:4;27651:3;27640:9;27636:19;27628:27;;27665:71;27733:1;27722:9;27718:17;27709:6;27665:71;:::i;:::-;27746:72;27814:2;27803:9;27799:18;27790:6;27746:72;:::i;:::-;27828:80;27904:2;27893:9;27889:18;27880:6;27828:80;:::i;:::-;27918;27994:2;27983:9;27979:18;27970:6;27918:80;:::i;:::-;28008:73;28076:3;28065:9;28061:19;28052:6;28008:73;:::i;:::-;28091;28159:3;28148:9;28144:19;28135:6;28091:73;:::i;:::-;27364:807;;;;;;;;;:::o;28177:663::-;28265:6;28273;28281;28330:2;28318:9;28309:7;28305:23;28301:32;28298:119;;;28336:79;;:::i;:::-;28298:119;28456:1;28481:64;28537:7;28528:6;28517:9;28513:22;28481:64;:::i;:::-;28471:74;;28427:128;28594:2;28620:64;28676:7;28667:6;28656:9;28652:22;28620:64;:::i;:::-;28610:74;;28565:129;28733:2;28759:64;28815:7;28806:6;28795:9;28791:22;28759:64;:::i;:::-;28749:74;;28704:129;28177:663;;;;;:::o;28846:177::-;28986:29;28982:1;28974:6;28970:14;28963:53;28846:177;:::o;29029:366::-;29171:3;29192:67;29256:2;29251:3;29192:67;:::i;:::-;29185:74;;29268:93;29357:3;29268:93;:::i;:::-;29386:2;29381:3;29377:12;29370:19;;29029:366;;;:::o;29401:419::-;29567:4;29605:2;29594:9;29590:18;29582:26;;29654:9;29648:4;29644:20;29640:1;29629:9;29625:17;29618:47;29682:131;29808:4;29682:131;:::i;:::-;29674:139;;29401:419;;;:::o

Swarm Source

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