ETH Price: $3,401.69 (+2.58%)

Token

Blob (BLOB)
 

Overview

Max Total Supply

100,000,000 BLOB

Holders

508 (0.00%)

Market

Price

$0.00 @ 0.000000 ETH

Onchain Market Cap

$96,879.00

Circulating Supply Market Cap

$0.00

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.000000000000565003 BLOB

Value
$0.00 ( ~0 Eth) [0.0000%]
0x0ef05eecb40b4e90357db278352d76408b77de70
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Blobverse represents a breakthrough in digital innovation, prioritizing fair play and user-friendliness.

Market

Volume (24H):$158.49
Market Capitalization:$0.00
Circulating Supply:0.00 BLOB
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Blob

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-02-15
*/

/*

Website:   https://blob.gg

Docs:      https://docs.blob.gg

Telegram:  https://t.me/bloberc20

X:         https://twitter.com/BlobErc20

*/

// SPDX-License-Identifier: Unlicensed
pragma solidity 0.8.23;

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

library SafeMath {
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "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;
    }
}

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

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

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

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "new owner is the zero address");
        _owner = newOwner;
        emit OwnershipTransferred(_owner, newOwner);
    }

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

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256 amountIn,uint256 amountOutMin,address[] calldata path,address to,uint256 deadline) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
}

contract Blob is Context, IERC20, Ownable {
    using SafeMath for uint256;

    string private constant _name = "Blob";
    string private constant _symbol = "BLOB";

    uint8 private constant _decimals = 18;
    uint256 private constant _totalSupply = 100000000 * 10**_decimals;
    uint256 public maxWalletAmount = _totalSupply / 100;
    uint256 private constant minSwap = _totalSupply / 100 / 20;
    uint256 private maxSwap = _totalSupply / 100 / 3;

    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedWallet;

    uint256 public buyTax = 30;
    uint256 public sellTax = 40;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private launch = false;
    bool private inSwap;
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    address payable private treasury = payable(0x10c00a2A9551bAF10c57313fb9b9B30fB2ACef0c); // marketing wallet address

    constructor() payable {
        _isExcludedWallet[msg.sender] = true;
        _isExcludedWallet[address(this)] = true;
        _isExcludedWallet[treasury] = true;
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _allowances[owner()][address(uniswapV2Router)] = _totalSupply;
        _balance[owner()] = _totalSupply;
        emit Transfer(address(0), owner(), _totalSupply);
    }

    function transferOwnership(address newOwner) public override onlyOwner {
        _isExcludedWallet[owner()] = false;
        super.transferOwnership(newOwner);
        _isExcludedWallet[newOwner] = true;
    }

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

    function balanceOf(address account) public view override returns (uint256) {
        return _balance[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,"low allowance"));
        return true;
    }

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

    function enableTrading() external onlyOwner {
        launch = true;
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "transfer zero address");
        require(amount > 0, "transfer zero amount");
        uint256 _tax = 0;

        if(!_isExcludedWallet[from] && !_isExcludedWallet[to]){
            require(launch);
            if (from == uniswapV2Pair) {
                require(balanceOf(to) + amount <= maxWalletAmount, "Max wallet Error");
                _tax = buyTax;
            } else if (to == uniswapV2Pair) {
                uint256 tokensSwap = balanceOf(address(this));
                if (tokensSwap > minSwap && !inSwap) {
                    swapTokensEth(min(maxSwap, min(amount, tokensSwap)));
                }
                _tax = sellTax;
            }
        }
        _balance[from] = _balance[from] - amount;

        if(_tax > 0){
            uint256 taxTokens = (amount * _tax) / 100;
            _balance[address(this)] = _balance[address(this)] + taxTokens;
            amount = amount - taxTokens;
            emit Transfer(from, address(this), taxTokens);
        }

        _balance[to] = _balance[to] + amount;
        emit Transfer(from, to, amount);
    }

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

    function newFee(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }

    function swapTokensEth(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,treasury,block.timestamp);
    }

    function setExcludedWallet(address wAddress, bool isExcle) external  onlyOwner {
        _isExcludedWallet[wAddress] = isExcle;
    }

    function trigger(uint256 percentToSell) external onlyOwner {
        uint256 amount = percentToSell = min(balanceOf(address(this)), (_totalSupply / 100 * percentToSell));
        swapTokensEth(amount);
    }

    function varyMaxSwap(uint256 _maxSwap) external onlyOwner{
        maxSwap = _maxSwap * 10**_decimals;
    }

    function setLimits(uint256 newMaxWalletAmount) external onlyOwner {
        maxWalletAmount = newMaxWalletAmount * 10**_decimals;
    }

    function removeAllLimits() external onlyOwner {
        maxWalletAmount = _totalSupply;
    }

    function exportETH() external {
        treasury.transfer(address(this).balance);
    }

    receive() external payable {}
}

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":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"exportETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"newFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeAllLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wAddress","type":"address"},{"internalType":"bool","name":"isExcle","type":"bool"}],"name":"setExcludedWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxWalletAmount","type":"uint256"}],"name":"setLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percentToSell","type":"uint256"}],"name":"trigger","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxSwap","type":"uint256"}],"name":"varyMaxSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260646012600a62000016919062000888565b6305f5e100620000279190620008d8565b6200003391906200094f565b600155600360646012600a6200004a919062000888565b6305f5e1006200005b9190620008d8565b6200006791906200094f565b6200007391906200094f565b600255601e60065560286007555f600960146101000a81548160ff0219169083151502179055507310c00a2a9551baf10c57313fb9b9b30fb2acef0c600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f620000ff620006c860201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600160055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d60085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200037a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003a09190620009eb565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000427573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200044d9190620009eb565b6040518363ffffffff1660e01b81526004016200046c92919062000a2c565b6020604051808303815f875af115801562000489573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004af9190620009eb565b60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a620004fe919062000888565b6305f5e1006200050f9190620008d8565b60045f62000522620006cf60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506012600a620005cb919062000888565b6305f5e100620005dc9190620008d8565b60035f620005ef620006cf60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506200063c620006cf60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a6200069a919062000888565b6305f5e100620006ab9190620008d8565b604051620006ba919062000a68565b60405180910390a362000a83565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200078057808604811115620007585762000757620006f6565b5b6001851615620007685780820291505b8081029050620007788562000723565b945062000738565b94509492505050565b5f826200079a57600190506200086c565b81620007a9575f90506200086c565b8160018114620007c25760028114620007cd5762000803565b60019150506200086c565b60ff841115620007e257620007e1620006f6565b5b8360020a915084821115620007fc57620007fb620006f6565b5b506200086c565b5060208310610133831016604e8410600b84101617156200083d5782820a905083811115620008375762000836620006f6565b5b6200086c565b6200084c84848460016200072f565b92509050818404811115620008665762000865620006f6565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620008948262000873565b9150620008a1836200087c565b9250620008d07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000789565b905092915050565b5f620008e48262000873565b9150620008f18362000873565b9250828202620009018162000873565b915082820484148315176200091b576200091a620006f6565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6200095b8262000873565b9150620009688362000873565b9250826200097b576200097a62000922565b5b828204905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620009b5826200098a565b9050919050565b620009c781620009a9565b8114620009d2575f80fd5b50565b5f81519050620009e581620009bc565b92915050565b5f6020828403121562000a035762000a0262000986565b5b5f62000a1284828501620009d5565b91505092915050565b62000a2681620009a9565b82525050565b5f60408201905062000a415f83018562000a1b565b62000a50602083018462000a1b565b9392505050565b62000a628162000873565b82525050565b5f60208201905062000a7d5f83018462000a57565b92915050565b6127798062000a915f395ff3fe608060405260043610610143575f3560e01c80638da5cb5b116100b5578063cc1776d31161006e578063cc1776d314610430578063d579d4ed1461045a578063db05e5cb14610470578063dd62ed3e14610486578063ed684cc6146104c2578063f2fde38b146104ea5761014a565b80638da5cb5b1461032657806395d89b4114610350578063a9059cbb1461037a578063aa4bde28146103b6578063aca2cd6e146103e0578063ae96ffe6146104085761014a565b8063313ce56711610107578063313ce56714610242578063400abdc71461026c5780634f7041a51461029457806370a08231146102be578063715018a6146102fa5780638a8c523c146103105761014a565b806306fdde031461014e57806307056d3714610178578063095ea7b3146101a057806318160ddd146101dc57806323b872dd146102065761014a565b3661014a57005b5f80fd5b348015610159575f80fd5b50610162610512565b60405161016f9190611cbd565b60405180910390f35b348015610183575f80fd5b5061019e60048036038101906101999190611d14565b61054f565b005b3480156101ab575f80fd5b506101c660048036038101906101c19190611dac565b6105f5565b6040516101d39190611e04565b60405180910390f35b3480156101e7575f80fd5b506101f0610612565b6040516101fd9190611e2c565b60405180910390f35b348015610211575f80fd5b5061022c60048036038101906102279190611e45565b610635565b6040516102399190611e04565b60405180910390f35b34801561024d575f80fd5b50610256610726565b6040516102639190611eb0565b60405180910390f35b348015610277575f80fd5b50610292600480360381019061028d9190611ec9565b61072e565b005b34801561029f575f80fd5b506102a86107e4565b6040516102b59190611e2c565b60405180910390f35b3480156102c9575f80fd5b506102e460048036038101906102df9190611ef4565b6107ea565b6040516102f19190611e2c565b60405180910390f35b348015610305575f80fd5b5061030e610830565b005b34801561031b575f80fd5b5061032461097e565b005b348015610331575f80fd5b5061033a610a2f565b6040516103479190611f2e565b60405180910390f35b34801561035b575f80fd5b50610364610a56565b6040516103719190611cbd565b60405180910390f35b348015610385575f80fd5b506103a0600480360381019061039b9190611dac565b610a93565b6040516103ad9190611e04565b60405180910390f35b3480156103c1575f80fd5b506103ca610ab0565b6040516103d79190611e2c565b60405180910390f35b3480156103eb575f80fd5b5061040660048036038101906104019190611f71565b610ab6565b005b348015610413575f80fd5b5061042e60048036038101906104299190611ec9565b610ba2565b005b34801561043b575f80fd5b50610444610c58565b6040516104519190611e2c565b60405180910390f35b348015610465575f80fd5b5061046e610c5e565b005b34801561047b575f80fd5b50610484610cc5565b005b348015610491575f80fd5b506104ac60048036038101906104a79190611faf565b610d7e565b6040516104b99190611e2c565b60405180910390f35b3480156104cd575f80fd5b506104e860048036038101906104e39190611ec9565b610e00565b005b3480156104f5575f80fd5b50610510600480360381019061050b9190611ef4565b610eec565b005b60606040518060400160405280600481526020017f426c6f6200000000000000000000000000000000000000000000000000000000815250905090565b61055761103c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105da90612037565b60405180910390fd5b81600681905550806007819055505050565b5f61060861060161103c565b8484611043565b6001905092915050565b5f6012600a61062191906121b1565b6305f5e10061063091906121fb565b905090565b5f6106418484846111d1565b61071b8461064d61103c565b610716856040518060400160405280600d81526020017f6c6f7720616c6c6f77616e63650000000000000000000000000000000000000081525060045f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106cd61103c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546117709092919063ffffffff16565b611043565b600190509392505050565b5f6012905090565b61073661103c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b990612037565b60405180910390fd5b6012600a6107d091906121b1565b816107db91906121fb565b60028190555050565b60065481565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61083861103c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108bb90612037565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61098661103c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0990612037565b60405180910390fd5b6001600960146101000a81548160ff021916908315150217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f424c4f4200000000000000000000000000000000000000000000000000000000815250905090565b5f610aa6610a9f61103c565b84846111d1565b6001905092915050565b60015481565b610abe61103c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4190612037565b60405180910390fd5b8060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b610baa61103c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2d90612037565b60405180910390fd5b6012600a610c4491906121b1565b81610c4f91906121fb565b60018190555050565b60075481565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610cc2573d5f803e3d5ffd5b50565b610ccd61103c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5090612037565b60405180910390fd5b6012600a610d6791906121b1565b6305f5e100610d7691906121fb565b600181905550565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610e0861103c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8b90612037565b60405180910390fd5b5f610eda610ea1306107ea565b8360646012600a610eb291906121b1565b6305f5e100610ec191906121fb565b610ecb9190612269565b610ed591906121fb565b6117d2565b9150819050610ee8816117ea565b5050565b610ef461103c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7790612037565b60405180910390fd5b5f60055f610f8c610a2f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550610fe481611a76565b600160055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156110ab57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6110ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e1906122e3565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111c49190611e2c565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361123f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112369061234b565b60405180910390fd5b5f8111611281576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611278906123b3565b60405180910390fd5b5f60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611320575060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156114cf57600960149054906101000a900460ff1661133d575f80fd5b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036113f3576001548261139e856107ea565b6113a891906123d1565b11156113e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e09061244e565b60405180910390fd5b60065490506114ce565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114cd575f611451306107ea565b9050601460646012600a61146591906121b1565b6305f5e10061147491906121fb565b61147e9190612269565b6114889190612269565b811180156114a35750600960159054906101000a900460ff16155b156114c6576114c56114c06002546114bb86856117d2565b6117d2565b6117ea565b5b6007549150505b5b5b8160035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611518919061246c565b60035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f81111561167b575f6064828461157091906121fb565b61157a9190612269565b90508060035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546115c591906123d1565b60035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508083611612919061246c565b92503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116719190611e2c565b60405180910390a3505b8160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546116c491906123d1565b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516117629190611e2c565b60405180910390a350505050565b5f8383111582906117b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ae9190611cbd565b60405180910390fd5b505f83856117c5919061246c565b9050809150509392505050565b5f8183116117e057826117e2565b815b905092915050565b6001600960156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156118215761182061249f565b5b60405190808252806020026020018201604052801561184f5781602001602082028036833780820191505090505b50905030815f81518110611866576118656124cc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561190a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061192e919061250d565b81600181518110611942576119416124cc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506119a83060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611043565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f84600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611a2b959493929190612683565b5f604051808303815f87803b158015611a42575f80fd5b505af1158015611a54573d5f803e3d5ffd5b50505050505f600960156101000a81548160ff02191690831515021790555050565b611a7e61103c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0190612037565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6f90612725565b60405180910390fd5b805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611c6a578082015181840152602081019050611c4f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611c8f82611c33565b611c998185611c3d565b9350611ca9818560208601611c4d565b611cb281611c75565b840191505092915050565b5f6020820190508181035f830152611cd58184611c85565b905092915050565b5f80fd5b5f819050919050565b611cf381611ce1565b8114611cfd575f80fd5b50565b5f81359050611d0e81611cea565b92915050565b5f8060408385031215611d2a57611d29611cdd565b5b5f611d3785828601611d00565b9250506020611d4885828601611d00565b9150509250929050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611d7b82611d52565b9050919050565b611d8b81611d71565b8114611d95575f80fd5b50565b5f81359050611da681611d82565b92915050565b5f8060408385031215611dc257611dc1611cdd565b5b5f611dcf85828601611d98565b9250506020611de085828601611d00565b9150509250929050565b5f8115159050919050565b611dfe81611dea565b82525050565b5f602082019050611e175f830184611df5565b92915050565b611e2681611ce1565b82525050565b5f602082019050611e3f5f830184611e1d565b92915050565b5f805f60608486031215611e5c57611e5b611cdd565b5b5f611e6986828701611d98565b9350506020611e7a86828701611d98565b9250506040611e8b86828701611d00565b9150509250925092565b5f60ff82169050919050565b611eaa81611e95565b82525050565b5f602082019050611ec35f830184611ea1565b92915050565b5f60208284031215611ede57611edd611cdd565b5b5f611eeb84828501611d00565b91505092915050565b5f60208284031215611f0957611f08611cdd565b5b5f611f1684828501611d98565b91505092915050565b611f2881611d71565b82525050565b5f602082019050611f415f830184611f1f565b92915050565b611f5081611dea565b8114611f5a575f80fd5b50565b5f81359050611f6b81611f47565b92915050565b5f8060408385031215611f8757611f86611cdd565b5b5f611f9485828601611d98565b9250506020611fa585828601611f5d565b9150509250929050565b5f8060408385031215611fc557611fc4611cdd565b5b5f611fd285828601611d98565b9250506020611fe385828601611d98565b9150509250929050565b7f63616c6c6572206973206e6f7420746865206f776e65720000000000000000005f82015250565b5f612021601783611c3d565b915061202c82611fed565b602082019050919050565b5f6020820190508181035f83015261204e81612015565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156120d7578086048111156120b3576120b2612055565b5b60018516156120c25780820291505b80810290506120d085612082565b9450612097565b94509492505050565b5f826120ef57600190506121aa565b816120fc575f90506121aa565b8160018114612112576002811461211c5761214b565b60019150506121aa565b60ff84111561212e5761212d612055565b5b8360020a91508482111561214557612144612055565b5b506121aa565b5060208310610133831016604e8410600b84101617156121805782820a90508381111561217b5761217a612055565b5b6121aa565b61218d848484600161208e565b925090508184048111156121a4576121a3612055565b5b81810290505b9392505050565b5f6121bb82611ce1565b91506121c683611e95565b92506121f37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846120e0565b905092915050565b5f61220582611ce1565b915061221083611ce1565b925082820261221e81611ce1565b9150828204841483151761223557612234612055565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61227382611ce1565b915061227e83611ce1565b92508261228e5761228d61223c565b5b828204905092915050565b7f617070726f7665207a65726f20616464726573730000000000000000000000005f82015250565b5f6122cd601483611c3d565b91506122d882612299565b602082019050919050565b5f6020820190508181035f8301526122fa816122c1565b9050919050565b7f7472616e73666572207a65726f206164647265737300000000000000000000005f82015250565b5f612335601583611c3d565b915061234082612301565b602082019050919050565b5f6020820190508181035f83015261236281612329565b9050919050565b7f7472616e73666572207a65726f20616d6f756e740000000000000000000000005f82015250565b5f61239d601483611c3d565b91506123a882612369565b602082019050919050565b5f6020820190508181035f8301526123ca81612391565b9050919050565b5f6123db82611ce1565b91506123e683611ce1565b92508282019050808211156123fe576123fd612055565b5b92915050565b7f4d61782077616c6c6574204572726f72000000000000000000000000000000005f82015250565b5f612438601083611c3d565b915061244382612404565b602082019050919050565b5f6020820190508181035f8301526124658161242c565b9050919050565b5f61247682611ce1565b915061248183611ce1565b925082820390508181111561249957612498612055565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061250781611d82565b92915050565b5f6020828403121561252257612521611cdd565b5b5f61252f848285016124f9565b91505092915050565b5f819050919050565b5f819050919050565b5f61256461255f61255a84612538565b612541565b611ce1565b9050919050565b6125748161254a565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6125ac81611d71565b82525050565b5f6125bd83836125a3565b60208301905092915050565b5f602082019050919050565b5f6125df8261257a565b6125e98185612584565b93506125f483612594565b805f5b8381101561262457815161260b88826125b2565b9750612616836125c9565b9250506001810190506125f7565b5085935050505092915050565b5f61264b61264661264184611d52565b612541565b611d52565b9050919050565b5f61265c82612631565b9050919050565b5f61266d82612652565b9050919050565b61267d81612663565b82525050565b5f60a0820190506126965f830188611e1d565b6126a3602083018761256b565b81810360408301526126b581866125d5565b90506126c46060830185612674565b6126d16080830184611e1d565b9695505050505050565b7f6e6577206f776e657220697320746865207a65726f20616464726573730000005f82015250565b5f61270f601d83611c3d565b915061271a826126db565b602082019050919050565b5f6020820190508181035f83015261273c81612703565b905091905056fea2646970667358221220b9c8525e55f9882299021c4ea4a42e428e779cdaf07b608307ca8e897df750fd64736f6c63430008170033

Deployed Bytecode

0x608060405260043610610143575f3560e01c80638da5cb5b116100b5578063cc1776d31161006e578063cc1776d314610430578063d579d4ed1461045a578063db05e5cb14610470578063dd62ed3e14610486578063ed684cc6146104c2578063f2fde38b146104ea5761014a565b80638da5cb5b1461032657806395d89b4114610350578063a9059cbb1461037a578063aa4bde28146103b6578063aca2cd6e146103e0578063ae96ffe6146104085761014a565b8063313ce56711610107578063313ce56714610242578063400abdc71461026c5780634f7041a51461029457806370a08231146102be578063715018a6146102fa5780638a8c523c146103105761014a565b806306fdde031461014e57806307056d3714610178578063095ea7b3146101a057806318160ddd146101dc57806323b872dd146102065761014a565b3661014a57005b5f80fd5b348015610159575f80fd5b50610162610512565b60405161016f9190611cbd565b60405180910390f35b348015610183575f80fd5b5061019e60048036038101906101999190611d14565b61054f565b005b3480156101ab575f80fd5b506101c660048036038101906101c19190611dac565b6105f5565b6040516101d39190611e04565b60405180910390f35b3480156101e7575f80fd5b506101f0610612565b6040516101fd9190611e2c565b60405180910390f35b348015610211575f80fd5b5061022c60048036038101906102279190611e45565b610635565b6040516102399190611e04565b60405180910390f35b34801561024d575f80fd5b50610256610726565b6040516102639190611eb0565b60405180910390f35b348015610277575f80fd5b50610292600480360381019061028d9190611ec9565b61072e565b005b34801561029f575f80fd5b506102a86107e4565b6040516102b59190611e2c565b60405180910390f35b3480156102c9575f80fd5b506102e460048036038101906102df9190611ef4565b6107ea565b6040516102f19190611e2c565b60405180910390f35b348015610305575f80fd5b5061030e610830565b005b34801561031b575f80fd5b5061032461097e565b005b348015610331575f80fd5b5061033a610a2f565b6040516103479190611f2e565b60405180910390f35b34801561035b575f80fd5b50610364610a56565b6040516103719190611cbd565b60405180910390f35b348015610385575f80fd5b506103a0600480360381019061039b9190611dac565b610a93565b6040516103ad9190611e04565b60405180910390f35b3480156103c1575f80fd5b506103ca610ab0565b6040516103d79190611e2c565b60405180910390f35b3480156103eb575f80fd5b5061040660048036038101906104019190611f71565b610ab6565b005b348015610413575f80fd5b5061042e60048036038101906104299190611ec9565b610ba2565b005b34801561043b575f80fd5b50610444610c58565b6040516104519190611e2c565b60405180910390f35b348015610465575f80fd5b5061046e610c5e565b005b34801561047b575f80fd5b50610484610cc5565b005b348015610491575f80fd5b506104ac60048036038101906104a79190611faf565b610d7e565b6040516104b99190611e2c565b60405180910390f35b3480156104cd575f80fd5b506104e860048036038101906104e39190611ec9565b610e00565b005b3480156104f5575f80fd5b50610510600480360381019061050b9190611ef4565b610eec565b005b60606040518060400160405280600481526020017f426c6f6200000000000000000000000000000000000000000000000000000000815250905090565b61055761103c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105da90612037565b60405180910390fd5b81600681905550806007819055505050565b5f61060861060161103c565b8484611043565b6001905092915050565b5f6012600a61062191906121b1565b6305f5e10061063091906121fb565b905090565b5f6106418484846111d1565b61071b8461064d61103c565b610716856040518060400160405280600d81526020017f6c6f7720616c6c6f77616e63650000000000000000000000000000000000000081525060045f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106cd61103c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546117709092919063ffffffff16565b611043565b600190509392505050565b5f6012905090565b61073661103c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b990612037565b60405180910390fd5b6012600a6107d091906121b1565b816107db91906121fb565b60028190555050565b60065481565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61083861103c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108bb90612037565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61098661103c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0990612037565b60405180910390fd5b6001600960146101000a81548160ff021916908315150217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f424c4f4200000000000000000000000000000000000000000000000000000000815250905090565b5f610aa6610a9f61103c565b84846111d1565b6001905092915050565b60015481565b610abe61103c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4190612037565b60405180910390fd5b8060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b610baa61103c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2d90612037565b60405180910390fd5b6012600a610c4491906121b1565b81610c4f91906121fb565b60018190555050565b60075481565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610cc2573d5f803e3d5ffd5b50565b610ccd61103c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5090612037565b60405180910390fd5b6012600a610d6791906121b1565b6305f5e100610d7691906121fb565b600181905550565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610e0861103c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8b90612037565b60405180910390fd5b5f610eda610ea1306107ea565b8360646012600a610eb291906121b1565b6305f5e100610ec191906121fb565b610ecb9190612269565b610ed591906121fb565b6117d2565b9150819050610ee8816117ea565b5050565b610ef461103c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7790612037565b60405180910390fd5b5f60055f610f8c610a2f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550610fe481611a76565b600160055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156110ab57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6110ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e1906122e3565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111c49190611e2c565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361123f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112369061234b565b60405180910390fd5b5f8111611281576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611278906123b3565b60405180910390fd5b5f60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611320575060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156114cf57600960149054906101000a900460ff1661133d575f80fd5b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036113f3576001548261139e856107ea565b6113a891906123d1565b11156113e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e09061244e565b60405180910390fd5b60065490506114ce565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114cd575f611451306107ea565b9050601460646012600a61146591906121b1565b6305f5e10061147491906121fb565b61147e9190612269565b6114889190612269565b811180156114a35750600960159054906101000a900460ff16155b156114c6576114c56114c06002546114bb86856117d2565b6117d2565b6117ea565b5b6007549150505b5b5b8160035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611518919061246c565b60035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f81111561167b575f6064828461157091906121fb565b61157a9190612269565b90508060035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546115c591906123d1565b60035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508083611612919061246c565b92503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116719190611e2c565b60405180910390a3505b8160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546116c491906123d1565b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516117629190611e2c565b60405180910390a350505050565b5f8383111582906117b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ae9190611cbd565b60405180910390fd5b505f83856117c5919061246c565b9050809150509392505050565b5f8183116117e057826117e2565b815b905092915050565b6001600960156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156118215761182061249f565b5b60405190808252806020026020018201604052801561184f5781602001602082028036833780820191505090505b50905030815f81518110611866576118656124cc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561190a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061192e919061250d565b81600181518110611942576119416124cc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506119a83060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611043565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f84600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611a2b959493929190612683565b5f604051808303815f87803b158015611a42575f80fd5b505af1158015611a54573d5f803e3d5ffd5b50505050505f600960156101000a81548160ff02191690831515021790555050565b611a7e61103c565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0190612037565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6f90612725565b60405180910390fd5b805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611c6a578082015181840152602081019050611c4f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611c8f82611c33565b611c998185611c3d565b9350611ca9818560208601611c4d565b611cb281611c75565b840191505092915050565b5f6020820190508181035f830152611cd58184611c85565b905092915050565b5f80fd5b5f819050919050565b611cf381611ce1565b8114611cfd575f80fd5b50565b5f81359050611d0e81611cea565b92915050565b5f8060408385031215611d2a57611d29611cdd565b5b5f611d3785828601611d00565b9250506020611d4885828601611d00565b9150509250929050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611d7b82611d52565b9050919050565b611d8b81611d71565b8114611d95575f80fd5b50565b5f81359050611da681611d82565b92915050565b5f8060408385031215611dc257611dc1611cdd565b5b5f611dcf85828601611d98565b9250506020611de085828601611d00565b9150509250929050565b5f8115159050919050565b611dfe81611dea565b82525050565b5f602082019050611e175f830184611df5565b92915050565b611e2681611ce1565b82525050565b5f602082019050611e3f5f830184611e1d565b92915050565b5f805f60608486031215611e5c57611e5b611cdd565b5b5f611e6986828701611d98565b9350506020611e7a86828701611d98565b9250506040611e8b86828701611d00565b9150509250925092565b5f60ff82169050919050565b611eaa81611e95565b82525050565b5f602082019050611ec35f830184611ea1565b92915050565b5f60208284031215611ede57611edd611cdd565b5b5f611eeb84828501611d00565b91505092915050565b5f60208284031215611f0957611f08611cdd565b5b5f611f1684828501611d98565b91505092915050565b611f2881611d71565b82525050565b5f602082019050611f415f830184611f1f565b92915050565b611f5081611dea565b8114611f5a575f80fd5b50565b5f81359050611f6b81611f47565b92915050565b5f8060408385031215611f8757611f86611cdd565b5b5f611f9485828601611d98565b9250506020611fa585828601611f5d565b9150509250929050565b5f8060408385031215611fc557611fc4611cdd565b5b5f611fd285828601611d98565b9250506020611fe385828601611d98565b9150509250929050565b7f63616c6c6572206973206e6f7420746865206f776e65720000000000000000005f82015250565b5f612021601783611c3d565b915061202c82611fed565b602082019050919050565b5f6020820190508181035f83015261204e81612015565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156120d7578086048111156120b3576120b2612055565b5b60018516156120c25780820291505b80810290506120d085612082565b9450612097565b94509492505050565b5f826120ef57600190506121aa565b816120fc575f90506121aa565b8160018114612112576002811461211c5761214b565b60019150506121aa565b60ff84111561212e5761212d612055565b5b8360020a91508482111561214557612144612055565b5b506121aa565b5060208310610133831016604e8410600b84101617156121805782820a90508381111561217b5761217a612055565b5b6121aa565b61218d848484600161208e565b925090508184048111156121a4576121a3612055565b5b81810290505b9392505050565b5f6121bb82611ce1565b91506121c683611e95565b92506121f37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846120e0565b905092915050565b5f61220582611ce1565b915061221083611ce1565b925082820261221e81611ce1565b9150828204841483151761223557612234612055565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61227382611ce1565b915061227e83611ce1565b92508261228e5761228d61223c565b5b828204905092915050565b7f617070726f7665207a65726f20616464726573730000000000000000000000005f82015250565b5f6122cd601483611c3d565b91506122d882612299565b602082019050919050565b5f6020820190508181035f8301526122fa816122c1565b9050919050565b7f7472616e73666572207a65726f206164647265737300000000000000000000005f82015250565b5f612335601583611c3d565b915061234082612301565b602082019050919050565b5f6020820190508181035f83015261236281612329565b9050919050565b7f7472616e73666572207a65726f20616d6f756e740000000000000000000000005f82015250565b5f61239d601483611c3d565b91506123a882612369565b602082019050919050565b5f6020820190508181035f8301526123ca81612391565b9050919050565b5f6123db82611ce1565b91506123e683611ce1565b92508282019050808211156123fe576123fd612055565b5b92915050565b7f4d61782077616c6c6574204572726f72000000000000000000000000000000005f82015250565b5f612438601083611c3d565b915061244382612404565b602082019050919050565b5f6020820190508181035f8301526124658161242c565b9050919050565b5f61247682611ce1565b915061248183611ce1565b925082820390508181111561249957612498612055565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061250781611d82565b92915050565b5f6020828403121561252257612521611cdd565b5b5f61252f848285016124f9565b91505092915050565b5f819050919050565b5f819050919050565b5f61256461255f61255a84612538565b612541565b611ce1565b9050919050565b6125748161254a565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6125ac81611d71565b82525050565b5f6125bd83836125a3565b60208301905092915050565b5f602082019050919050565b5f6125df8261257a565b6125e98185612584565b93506125f483612594565b805f5b8381101561262457815161260b88826125b2565b9750612616836125c9565b9250506001810190506125f7565b5085935050505092915050565b5f61264b61264661264184611d52565b612541565b611d52565b9050919050565b5f61265c82612631565b9050919050565b5f61266d82612652565b9050919050565b61267d81612663565b82525050565b5f60a0820190506126965f830188611e1d565b6126a3602083018761256b565b81810360408301526126b581866125d5565b90506126c46060830185612674565b6126d16080830184611e1d565b9695505050505050565b7f6e6577206f776e657220697320746865207a65726f20616464726573730000005f82015250565b5f61270f601d83611c3d565b915061271a826126db565b602082019050919050565b5f6020820190508181035f83015261273c81612703565b905091905056fea2646970667358221220b9c8525e55f9882299021c4ea4a42e428e779cdaf07b608307ca8e897df750fd64736f6c63430008170033

Deployed Bytecode Sourcemap

2799:6264:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4677:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7654:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5511:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4954:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5679:283;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4863:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8568:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3457:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5062:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1508:148;;;;;;;;;;;;;:::i;:::-;;6243:76;;;;;;;;;;;;;:::i;:::-;;1060:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4768:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5188:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3093:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8207:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8686:137;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3490:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8934:89;;;;;;;;;;;;;:::i;:::-;;8831:95;;;;;;;;;;;;;:::i;:::-;;5361:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8350:210;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4456:213;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4677:83;4714:13;4747:5;;;;;;;;;;;;;;;;;4740:12;;4677:83;:::o;7654:142::-;1197:12;:10;:12::i;:::-;1187:22;;:6;;;;;;;;;;:22;;;1179:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;7748:9:::1;7739:6;:18;;;;7778:10;7768:7;:20;;;;7654:142:::0;;:::o;5511:160::-;5586:4;5602:39;5611:12;:10;:12::i;:::-;5625:7;5634:6;5602:8;:39::i;:::-;5659:4;5652:11;;5511:160;;;;:::o;4954:100::-;5007:7;3012:2;3073;:13;;;;:::i;:::-;3061:9;:25;;;;:::i;:::-;5027:19;;4954:100;:::o;5679:283::-;5777:4;5794:36;5804:6;5812:9;5823:6;5794:9;:36::i;:::-;5841:91;5850:6;5857:12;:10;:12::i;:::-;5870:61;5908:6;5870:61;;;;;;;;;;;;;;;;;:11;:19;5882:6;5870:19;;;;;;;;;;;;;;;:33;5890:12;:10;:12::i;:::-;5870:33;;;;;;;;;;;;;;;;:37;;:61;;;;;:::i;:::-;5841:8;:91::i;:::-;5950:4;5943:11;;5679:283;;;;;:::o;4863:83::-;4904:5;3012:2;4922:16;;4863:83;:::o;8568:110::-;1197:12;:10;:12::i;:::-;1187:22;;:6;;;;;;;;;;:22;;;1179:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;3012:2:::1;8657;:13;;;;:::i;:::-;8646:8;:24;;;;:::i;:::-;8636:7;:34;;;;8568:110:::0;:::o;3457:26::-;;;;:::o;5062:118::-;5128:7;5155:8;:17;5164:7;5155:17;;;;;;;;;;;;;;;;5148:24;;5062:118;;;:::o;1508:148::-;1197:12;:10;:12::i;:::-;1187:22;;:6;;;;;;;;;;:22;;;1179:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;1615:1:::1;1578:40;;1599:6;::::0;::::1;;;;;;;;1578:40;;;;;;;;;;;;1646:1;1629:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1508:148::o:0;6243:76::-;1197:12;:10;:12::i;:::-;1187:22;;:6;;;;;;;;;;:22;;;1179:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;6307:4:::1;6298:6;;:13;;;;;;;;;;;;;;;;;;6243:76::o:0;1060:79::-;1098:7;1125:6;;;;;;;;;;;1118:13;;1060:79;:::o;4768:87::-;4807:13;4840:7;;;;;;;;;;;;;;;;;4833:14;;4768:87;:::o;5188:165::-;5265:4;5281:42;5291:12;:10;:12::i;:::-;5305:9;5316:6;5281:9;:42::i;:::-;5341:4;5334:11;;5188:165;;;;:::o;3093:51::-;;;;:::o;8207:135::-;1197:12;:10;:12::i;:::-;1187:22;;:6;;;;;;;;;;:22;;;1179:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;8327:7:::1;8297:17;:27;8315:8;8297:27;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;8207:135:::0;;:::o;8686:137::-;1197:12;:10;:12::i;:::-;1187:22;;:6;;;;;;;;;;:22;;;1179:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;3012:2:::1;8802;:13;;;;:::i;:::-;8781:18;:34;;;;:::i;:::-;8763:15;:52;;;;8686:137:::0;:::o;3490:27::-;;;;:::o;8934:89::-;8975:8;;;;;;;;;;;:17;;:40;8993:21;8975:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8934:89::o;8831:95::-;1197:12;:10;:12::i;:::-;1187:22;;:6;;;;;;;;;;:22;;;1179:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;3012:2:::1;3073;:13;;;;:::i;:::-;3061:9;:25;;;;:::i;:::-;8888:15;:30;;;;8831:95::o:0;5361:142::-;5442:7;5468:11;:18;5480:5;5468:18;;;;;;;;;;;;;;;:27;5487:7;5468:27;;;;;;;;;;;;;;;;5461:34;;5361:142;;;;:::o;8350:210::-;1197:12;:10;:12::i;:::-;1187:22;;:6;;;;;;;;;;:22;;;1179:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;8420:14:::1;8453:67;8457:24;8475:4;8457:9;:24::i;:::-;8505:13;8499:3;3012:2;3073;:13;;;;:::i;:::-;3061:9;:25;;;;:::i;:::-;8484:18;;;;:::i;:::-;:34;;;;:::i;:::-;8453:3;:67::i;:::-;8437:83;;;8420:100;;8531:21;8545:6;8531:13;:21::i;:::-;8409:151;8350:210:::0;:::o;4456:213::-;1197:12;:10;:12::i;:::-;1187:22;;:6;;;;;;;;;;:22;;;1179:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;4567:5:::1;4538:17;:26;4556:7;:5;:7::i;:::-;4538:26;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;4583:33;4607:8;4583:23;:33::i;:::-;4657:4;4627:17;:27;4645:8;4627:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;4456:213:::0;:::o;258:98::-;311:7;338:10;331:17;;258:98;:::o;5970:265::-;6080:1;6063:19;;:5;:19;;;;:44;;;;;6105:1;6086:21;;:7;:21;;;;6063:44;6055:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;6173:6;6143:11;:18;6155:5;6143:18;;;;;;;;;;;;;;;:27;6162:7;6143:27;;;;;;;;;;;;;;;:36;;;;6211:7;6195:32;;6204:5;6195:32;;;6220:6;6195:32;;;;;;:::i;:::-;;;;;;;;5970:265;;;:::o;6327:1213::-;6431:1;6415:18;;:4;:18;;;6407:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;6487:1;6478:6;:10;6470:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;6524:12;6557:17;:23;6575:4;6557:23;;;;;;;;;;;;;;;;;;;;;;;;;6556:24;:50;;;;;6585:17;:21;6603:2;6585:21;;;;;;;;;;;;;;;;;;;;;;;;;6584:22;6556:50;6553:568;;;6630:6;;;;;;;;;;;6622:15;;;;;;6664:13;;;;;;;;;;;6656:21;;:4;:21;;;6652:458;;6732:15;;6722:6;6706:13;6716:2;6706:9;:13::i;:::-;:22;;;;:::i;:::-;:41;;6698:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;6794:6;;6787:13;;6652:458;;;6832:13;;;;;;;;;;;6826:19;;:2;:19;;;6822:288;;6866:18;6887:24;6905:4;6887:9;:24::i;:::-;6866:45;;3207:2;3201:3;3012:2;3073;:13;;;;:::i;:::-;3061:9;:25;;;;:::i;:::-;3186:18;;;;:::i;:::-;:23;;;;:::i;:::-;6934:10;:20;:31;;;;;6959:6;;;;;;;;;;;6958:7;6934:31;6930:132;;;6990:52;7004:37;7008:7;;7017:23;7021:6;7029:10;7017:3;:23::i;:::-;7004:3;:37::i;:::-;6990:13;:52::i;:::-;6930:132;7087:7;;7080:14;;6847:263;6822:288;6652:458;6553:568;7165:6;7148:8;:14;7157:4;7148:14;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;7131:8;:14;7140:4;7131:14;;;;;;;;;;;;;;;:40;;;;7194:1;7187:4;:8;7184:258;;;7211:17;7249:3;7241:4;7232:6;:13;;;;:::i;:::-;7231:21;;;;:::i;:::-;7211:41;;7319:9;7293:8;:23;7310:4;7293:23;;;;;;;;;;;;;;;;:35;;;;:::i;:::-;7267:8;:23;7284:4;7267:23;;;;;;;;;;;;;;;:61;;;;7361:9;7352:6;:18;;;;:::i;:::-;7343:27;;7413:4;7390:40;;7399:4;7390:40;;;7420:9;7390:40;;;;;;:::i;:::-;;;;;;;;7196:246;7184:258;7484:6;7469:8;:12;7478:2;7469:12;;;;;;;;;;;;;;;;:21;;;;:::i;:::-;7454:8;:12;7463:2;7454:12;;;;;;;;;;;;;;;:36;;;;7521:2;7506:26;;7515:4;7506:26;;;7525:6;7506:26;;;;;;:::i;:::-;;;;;;;;6396:1144;6327:1213;;;:::o;521:190::-;607:7;640:1;635;:6;;643:12;627:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;667:9;683:1;679;:5;;;;:::i;:::-;667:17;;702:1;695:8;;;521:190;;;;;:::o;7548:98::-;7605:7;7632:1;7630;:3;7629:9;;7637:1;7629:9;;;7635:1;7629:9;7622:16;;7548:98;;;;:::o;7804:395::-;3712:4;3703:6;;:13;;;;;;;;;;;;;;;;;;7879:21:::1;7917:1;7903:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7879:40;;7948:4;7930;7935:1;7930:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;7974:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7964:4;7969:1;7964:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;8007:62;8024:4;8039:15;;;;;;;;;;;8057:11;8007:8;:62::i;:::-;8080:15;;;;;;;;;;;:66;;;8147:11;8159:1;8161:4;8166:8;;;;;;;;;;;8175:15;8080:111;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7868:331;3748:5:::0;3739:6;;:14;;;;;;;;;;;;;;;;;;7804:395;:::o;1265:235::-;1197:12;:10;:12::i;:::-;1187:22;;:6;;;;;;;;;;:22;;;1179:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;1374:1:::1;1354:22;;:8;:22;;::::0;1346:64:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1430:8;1421:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;1483:8;1454:38;;1475:6;::::0;::::1;;;;;;;;1454:38;;;;;;;;;;;;1265:235:::0;:::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;1430:117::-;1539:1;1536;1529:12;1676:77;1713:7;1742:5;1731:16;;1676:77;;;:::o;1759:122::-;1832:24;1850:5;1832:24;:::i;:::-;1825:5;1822:35;1812:63;;1871:1;1868;1861:12;1812:63;1759:122;:::o;1887:139::-;1933:5;1971:6;1958:20;1949:29;;1987:33;2014:5;1987:33;:::i;:::-;1887:139;;;;:::o;2032:474::-;2100:6;2108;2157:2;2145:9;2136:7;2132:23;2128:32;2125:119;;;2163:79;;:::i;:::-;2125:119;2283:1;2308:53;2353:7;2344:6;2333:9;2329:22;2308:53;:::i;:::-;2298:63;;2254:117;2410:2;2436:53;2481:7;2472:6;2461:9;2457:22;2436:53;:::i;:::-;2426:63;;2381:118;2032:474;;;;;:::o;2512:126::-;2549:7;2589:42;2582:5;2578:54;2567:65;;2512:126;;;:::o;2644:96::-;2681:7;2710:24;2728:5;2710:24;:::i;:::-;2699:35;;2644:96;;;:::o;2746:122::-;2819:24;2837:5;2819:24;:::i;:::-;2812:5;2809:35;2799:63;;2858:1;2855;2848:12;2799:63;2746:122;:::o;2874:139::-;2920:5;2958:6;2945:20;2936:29;;2974:33;3001:5;2974:33;:::i;:::-;2874:139;;;;:::o;3019:474::-;3087:6;3095;3144:2;3132:9;3123:7;3119:23;3115:32;3112:119;;;3150:79;;:::i;:::-;3112:119;3270:1;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3241:117;3397:2;3423:53;3468:7;3459:6;3448:9;3444:22;3423:53;:::i;:::-;3413:63;;3368:118;3019:474;;;;;:::o;3499:90::-;3533:7;3576:5;3569:13;3562:21;3551:32;;3499:90;;;:::o;3595:109::-;3676:21;3691:5;3676:21;:::i;:::-;3671:3;3664:34;3595:109;;:::o;3710:210::-;3797:4;3835:2;3824:9;3820:18;3812:26;;3848:65;3910:1;3899:9;3895:17;3886:6;3848:65;:::i;:::-;3710:210;;;;:::o;3926:118::-;4013:24;4031:5;4013:24;:::i;:::-;4008:3;4001:37;3926:118;;:::o;4050:222::-;4143:4;4181:2;4170:9;4166:18;4158:26;;4194:71;4262:1;4251:9;4247:17;4238:6;4194:71;:::i;:::-;4050:222;;;;:::o;4278:619::-;4355:6;4363;4371;4420:2;4408:9;4399:7;4395:23;4391:32;4388:119;;;4426:79;;:::i;:::-;4388:119;4546:1;4571:53;4616:7;4607:6;4596:9;4592:22;4571:53;:::i;:::-;4561:63;;4517:117;4673:2;4699:53;4744:7;4735:6;4724:9;4720:22;4699:53;:::i;:::-;4689:63;;4644:118;4801:2;4827:53;4872:7;4863:6;4852:9;4848:22;4827:53;:::i;:::-;4817:63;;4772:118;4278:619;;;;;:::o;4903:86::-;4938:7;4978:4;4971:5;4967:16;4956:27;;4903:86;;;:::o;4995:112::-;5078:22;5094:5;5078:22;:::i;:::-;5073:3;5066:35;4995:112;;:::o;5113:214::-;5202:4;5240:2;5229:9;5225:18;5217:26;;5253:67;5317:1;5306:9;5302:17;5293:6;5253:67;:::i;:::-;5113:214;;;;:::o;5333:329::-;5392:6;5441:2;5429:9;5420:7;5416:23;5412:32;5409:119;;;5447:79;;:::i;:::-;5409:119;5567:1;5592:53;5637:7;5628:6;5617:9;5613:22;5592:53;:::i;:::-;5582:63;;5538:117;5333:329;;;;:::o;5668:::-;5727:6;5776:2;5764:9;5755:7;5751:23;5747:32;5744:119;;;5782:79;;:::i;:::-;5744:119;5902:1;5927:53;5972:7;5963:6;5952:9;5948:22;5927:53;:::i;:::-;5917:63;;5873:117;5668:329;;;;:::o;6003:118::-;6090:24;6108:5;6090:24;:::i;:::-;6085:3;6078:37;6003:118;;:::o;6127:222::-;6220:4;6258:2;6247:9;6243:18;6235:26;;6271:71;6339:1;6328:9;6324:17;6315:6;6271:71;:::i;:::-;6127:222;;;;:::o;6355:116::-;6425:21;6440:5;6425:21;:::i;:::-;6418:5;6415:32;6405:60;;6461:1;6458;6451:12;6405:60;6355:116;:::o;6477:133::-;6520:5;6558:6;6545:20;6536:29;;6574:30;6598:5;6574:30;:::i;:::-;6477:133;;;;:::o;6616:468::-;6681:6;6689;6738:2;6726:9;6717:7;6713:23;6709:32;6706:119;;;6744:79;;:::i;:::-;6706:119;6864:1;6889:53;6934:7;6925:6;6914:9;6910:22;6889:53;:::i;:::-;6879:63;;6835:117;6991:2;7017:50;7059:7;7050:6;7039:9;7035:22;7017:50;:::i;:::-;7007:60;;6962:115;6616:468;;;;;:::o;7090:474::-;7158:6;7166;7215:2;7203:9;7194:7;7190:23;7186:32;7183:119;;;7221:79;;:::i;:::-;7183:119;7341:1;7366:53;7411:7;7402:6;7391:9;7387:22;7366:53;:::i;:::-;7356:63;;7312:117;7468:2;7494:53;7539:7;7530:6;7519:9;7515:22;7494:53;:::i;:::-;7484:63;;7439:118;7090:474;;;;;:::o;7570:173::-;7710:25;7706:1;7698:6;7694:14;7687:49;7570:173;:::o;7749:366::-;7891:3;7912:67;7976:2;7971:3;7912:67;:::i;:::-;7905:74;;7988:93;8077:3;7988:93;:::i;:::-;8106:2;8101:3;8097:12;8090:19;;7749:366;;;:::o;8121:419::-;8287:4;8325:2;8314:9;8310:18;8302:26;;8374:9;8368:4;8364:20;8360:1;8349:9;8345:17;8338:47;8402:131;8528:4;8402:131;:::i;:::-;8394:139;;8121:419;;;:::o;8546:180::-;8594:77;8591:1;8584:88;8691:4;8688:1;8681:15;8715:4;8712:1;8705:15;8732:102;8774:8;8821:5;8818:1;8814:13;8793:34;;8732:102;;;:::o;8840:848::-;8901:5;8908:4;8932:6;8923:15;;8956:5;8947:14;;8970:712;8991:1;8981:8;8978:15;8970:712;;;9086:4;9081:3;9077:14;9071:4;9068:24;9065:50;;;9095:18;;:::i;:::-;9065:50;9145:1;9135:8;9131:16;9128:451;;;9560:4;9553:5;9549:16;9540:25;;9128:451;9610:4;9604;9600:15;9592:23;;9640:32;9663:8;9640:32;:::i;:::-;9628:44;;8970:712;;;8840:848;;;;;;;:::o;9694:1073::-;9748:5;9939:8;9929:40;;9960:1;9951:10;;9962:5;;9929:40;9988:4;9978:36;;10005:1;9996:10;;10007:5;;9978:36;10074:4;10122:1;10117:27;;;;10158:1;10153:191;;;;10067:277;;10117:27;10135:1;10126:10;;10137:5;;;10153:191;10198:3;10188:8;10185:17;10182:43;;;10205:18;;:::i;:::-;10182:43;10254:8;10251:1;10247:16;10238:25;;10289:3;10282:5;10279:14;10276:40;;;10296:18;;:::i;:::-;10276:40;10329:5;;;10067:277;;10453:2;10443:8;10440:16;10434:3;10428:4;10425:13;10421:36;10403:2;10393:8;10390:16;10385:2;10379:4;10376:12;10372:35;10356:111;10353:246;;;10509:8;10503:4;10499:19;10490:28;;10544:3;10537:5;10534:14;10531:40;;;10551:18;;:::i;:::-;10531:40;10584:5;;10353:246;10624:42;10662:3;10652:8;10646:4;10643:1;10624:42;:::i;:::-;10609:57;;;;10698:4;10693:3;10689:14;10682:5;10679:25;10676:51;;;10707:18;;:::i;:::-;10676:51;10756:4;10749:5;10745:16;10736:25;;9694:1073;;;;;;:::o;10773:281::-;10831:5;10855:23;10873:4;10855:23;:::i;:::-;10847:31;;10899:25;10915:8;10899:25;:::i;:::-;10887:37;;10943:104;10980:66;10970:8;10964:4;10943:104;:::i;:::-;10934:113;;10773:281;;;;:::o;11060:410::-;11100:7;11123:20;11141:1;11123:20;:::i;:::-;11118:25;;11157:20;11175:1;11157:20;:::i;:::-;11152:25;;11212:1;11209;11205:9;11234:30;11252:11;11234:30;:::i;:::-;11223:41;;11413:1;11404:7;11400:15;11397:1;11394:22;11374:1;11367:9;11347:83;11324:139;;11443:18;;:::i;:::-;11324:139;11108:362;11060:410;;;;:::o;11476:180::-;11524:77;11521:1;11514:88;11621:4;11618:1;11611:15;11645:4;11642:1;11635:15;11662:185;11702:1;11719:20;11737:1;11719:20;:::i;:::-;11714:25;;11753:20;11771:1;11753:20;:::i;:::-;11748:25;;11792:1;11782:35;;11797:18;;:::i;:::-;11782:35;11839:1;11836;11832:9;11827:14;;11662:185;;;;:::o;11853:170::-;11993:22;11989:1;11981:6;11977:14;11970:46;11853:170;:::o;12029:366::-;12171:3;12192:67;12256:2;12251:3;12192:67;:::i;:::-;12185:74;;12268:93;12357:3;12268:93;:::i;:::-;12386:2;12381:3;12377:12;12370:19;;12029:366;;;:::o;12401:419::-;12567:4;12605:2;12594:9;12590:18;12582:26;;12654:9;12648:4;12644:20;12640:1;12629:9;12625:17;12618:47;12682:131;12808:4;12682:131;:::i;:::-;12674:139;;12401:419;;;:::o;12826:171::-;12966:23;12962:1;12954:6;12950:14;12943:47;12826:171;:::o;13003:366::-;13145:3;13166:67;13230:2;13225:3;13166:67;:::i;:::-;13159:74;;13242:93;13331:3;13242:93;:::i;:::-;13360:2;13355:3;13351:12;13344:19;;13003:366;;;:::o;13375:419::-;13541:4;13579:2;13568:9;13564:18;13556:26;;13628:9;13622:4;13618:20;13614:1;13603:9;13599:17;13592:47;13656:131;13782:4;13656:131;:::i;:::-;13648:139;;13375:419;;;:::o;13800:170::-;13940:22;13936:1;13928:6;13924:14;13917:46;13800:170;:::o;13976:366::-;14118:3;14139:67;14203:2;14198:3;14139:67;:::i;:::-;14132:74;;14215:93;14304:3;14215:93;:::i;:::-;14333:2;14328:3;14324:12;14317:19;;13976:366;;;:::o;14348:419::-;14514:4;14552:2;14541:9;14537:18;14529:26;;14601:9;14595:4;14591:20;14587:1;14576:9;14572:17;14565:47;14629:131;14755:4;14629:131;:::i;:::-;14621:139;;14348:419;;;:::o;14773:191::-;14813:3;14832:20;14850:1;14832:20;:::i;:::-;14827:25;;14866:20;14884:1;14866:20;:::i;:::-;14861:25;;14909:1;14906;14902:9;14895:16;;14930:3;14927:1;14924:10;14921:36;;;14937:18;;:::i;:::-;14921:36;14773:191;;;;:::o;14970:166::-;15110:18;15106:1;15098:6;15094:14;15087:42;14970:166;:::o;15142:366::-;15284:3;15305:67;15369:2;15364:3;15305:67;:::i;:::-;15298:74;;15381:93;15470:3;15381:93;:::i;:::-;15499:2;15494:3;15490:12;15483:19;;15142:366;;;:::o;15514:419::-;15680:4;15718:2;15707:9;15703:18;15695:26;;15767:9;15761:4;15757:20;15753:1;15742:9;15738:17;15731:47;15795:131;15921:4;15795:131;:::i;:::-;15787:139;;15514:419;;;:::o;15939:194::-;15979:4;15999:20;16017:1;15999:20;:::i;:::-;15994:25;;16033:20;16051:1;16033:20;:::i;:::-;16028:25;;16077:1;16074;16070:9;16062:17;;16101:1;16095:4;16092:11;16089:37;;;16106:18;;:::i;:::-;16089:37;15939:194;;;;:::o;16139:180::-;16187:77;16184:1;16177:88;16284:4;16281:1;16274:15;16308:4;16305:1;16298:15;16325:180;16373:77;16370:1;16363:88;16470:4;16467:1;16460:15;16494:4;16491:1;16484:15;16511:143;16568:5;16599:6;16593:13;16584:22;;16615:33;16642:5;16615:33;:::i;:::-;16511:143;;;;:::o;16660:351::-;16730:6;16779:2;16767:9;16758:7;16754:23;16750:32;16747:119;;;16785:79;;:::i;:::-;16747:119;16905:1;16930:64;16986:7;16977:6;16966:9;16962:22;16930:64;:::i;:::-;16920:74;;16876:128;16660:351;;;;:::o;17017:85::-;17062:7;17091:5;17080:16;;17017:85;;;:::o;17108:60::-;17136:3;17157:5;17150:12;;17108:60;;;:::o;17174:158::-;17232:9;17265:61;17283:42;17292:32;17318:5;17292:32;:::i;:::-;17283:42;:::i;:::-;17265:61;:::i;:::-;17252:74;;17174:158;;;:::o;17338:147::-;17433:45;17472:5;17433:45;:::i;:::-;17428:3;17421:58;17338:147;;:::o;17491:114::-;17558:6;17592:5;17586:12;17576:22;;17491:114;;;:::o;17611:184::-;17710:11;17744:6;17739:3;17732:19;17784:4;17779:3;17775:14;17760:29;;17611:184;;;;:::o;17801:132::-;17868:4;17891:3;17883:11;;17921:4;17916:3;17912:14;17904:22;;17801:132;;;:::o;17939:108::-;18016:24;18034:5;18016:24;:::i;:::-;18011:3;18004:37;17939:108;;:::o;18053:179::-;18122:10;18143:46;18185:3;18177:6;18143:46;:::i;:::-;18221:4;18216:3;18212:14;18198:28;;18053:179;;;;:::o;18238:113::-;18308:4;18340;18335:3;18331:14;18323:22;;18238:113;;;:::o;18387:732::-;18506:3;18535:54;18583:5;18535:54;:::i;:::-;18605:86;18684:6;18679:3;18605:86;:::i;:::-;18598:93;;18715:56;18765:5;18715:56;:::i;:::-;18794:7;18825:1;18810:284;18835:6;18832:1;18829:13;18810:284;;;18911:6;18905:13;18938:63;18997:3;18982:13;18938:63;:::i;:::-;18931:70;;19024:60;19077:6;19024:60;:::i;:::-;19014:70;;18870:224;18857:1;18854;18850:9;18845:14;;18810:284;;;18814:14;19110:3;19103:10;;18511:608;;;18387:732;;;;:::o;19125:142::-;19175:9;19208:53;19226:34;19235:24;19253:5;19235:24;:::i;:::-;19226:34;:::i;:::-;19208:53;:::i;:::-;19195:66;;19125:142;;;:::o;19273:126::-;19323:9;19356:37;19387:5;19356:37;:::i;:::-;19343:50;;19273:126;;;:::o;19405:134::-;19463:9;19496:37;19527:5;19496:37;:::i;:::-;19483:50;;19405:134;;;:::o;19545:147::-;19640:45;19679:5;19640:45;:::i;:::-;19635:3;19628:58;19545:147;;:::o;19698:847::-;19969:4;20007:3;19996:9;19992:19;19984:27;;20021:71;20089:1;20078:9;20074:17;20065:6;20021:71;:::i;:::-;20102:80;20178:2;20167:9;20163:18;20154:6;20102:80;:::i;:::-;20229:9;20223:4;20219:20;20214:2;20203:9;20199:18;20192:48;20257:108;20360:4;20351:6;20257:108;:::i;:::-;20249:116;;20375:80;20451:2;20440:9;20436:18;20427:6;20375:80;:::i;:::-;20465:73;20533:3;20522:9;20518:19;20509:6;20465:73;:::i;:::-;19698:847;;;;;;;;:::o;20551:179::-;20691:31;20687:1;20679:6;20675:14;20668:55;20551:179;:::o;20736:366::-;20878:3;20899:67;20963:2;20958:3;20899:67;:::i;:::-;20892:74;;20975:93;21064:3;20975:93;:::i;:::-;21093:2;21088:3;21084:12;21077:19;;20736:366;;;:::o;21108:419::-;21274:4;21312:2;21301:9;21297:18;21289:26;;21361:9;21355:4;21351:20;21347:1;21336:9;21332:17;21325:47;21389:131;21515:4;21389:131;:::i;:::-;21381:139;;21108:419;;;:::o

Swarm Source

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