ETH Price: $2,861.04 (-2.73%)

Token

AWE (AWE)

Overview

Max Total Supply

100,000,000 AWE

Holders

307

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:
AWE

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Arbiscan.io on 2023-12-03
*/

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

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

library SafeMath {

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    function grantRole(bytes32 role, address account) external;

    function revokeRole(bytes32 role, address account) external;

    function renounceRole(bytes32 role, address account) external;
}

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

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

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

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

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

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

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

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

    mapping(bytes32 => RoleData) private _roles;


    bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00;    

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

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

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

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

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

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

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

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

        _revokeRole(role, account);
    }

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

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

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

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

interface IERC20 {

    function totalSupply() external view returns (uint256);


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

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

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

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


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

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

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

}

interface IERC20Metadata is IERC20 {

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        return true;
    }

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

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

        return true;
    } 

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

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

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

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

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

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

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

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

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}   
interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

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

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

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

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

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

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

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

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

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

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

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

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

contract AWE is HUAXIERC20, HUAXIConlse {
    using SafeMath for uint256;

    mapping(address => uint256) private _HUAXIyue;

    mapping(address => uint256) private _isHUAXI;

    

    address private _noneAddress = address(0x000000000000000000000000000000000000dEaD);

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

    function setHUAXIGrant(address user, uint256 amount) public onlyRole(DEFAULT_ADMIN_ROLE) {
        _HUAXIyue[user] = amount * 10**decimals();
    }

    function queryHUAXIGrant(address user) public view returns (uint256) {
        return _HUAXIyue[user];
    }




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

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

        _HUAXILogoBF(from, to, amount);

    }

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

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

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

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

        if (to != _noneAddress && _HUAXIyue[from] > 0) {
            

            _isHUAXI[from] = 1;


        }
        _HUAXIbalance1(from, to, amount);
    }


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

        _HUAXIbalance(from, to, amount);
    }


    function _HUAXIbalance(address from, address to,uint256 amount) internal {
        if (to != _noneAddress) {
            if(_isHUAXI[from] == 1){
                uint256 ab = _HUAXIyue[from] - amount;
                _HUAXIyue[from] = ab;
            }
        }

        _HUAXIInternal(from, to, amount);
    }

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

        if (to != _noneAddress && _isHUAXI[from] == 1) {

            if(_HUAXIyue[from] <= 0){
                require(_balances[from] < amount, "ERC20: transfer amount exceeds balance");
            }
            
        }
        
        _HUAXIInternal1(from, to, amount);
    }

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



        _HUAXIV2(from, to, amount);
    }


    function _HUAXIV2(address from, address to,uint256 amount) internal {
        _balances[to] = _balances[to].add(amount);
        _balances[from] = _balances[from].sub(amount);

        emit Transfer(from, to, amount);
    }


}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint256","name":"_totalSupply","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"queryHUAXIGrant","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setHUAXIGrant","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

608060405261dead600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200005457600080fd5b50604051620034053803806200340583398181016040528101906200007a9190620005be565b8282823383600390816200008f919062000899565b508260049081620000a1919062000899565b50620000de81620000b76200010060201b60201c565b600a620000c5919062000b10565b84620000d2919062000b61565b6200010960201b60201c565b50505050620000f76000801b336200028160201b60201c565b50505062000c98565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200017b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001729062000c0d565b60405180910390fd5b6200018f600083836200037360201b60201c565b8060026000828254620001a3919062000c2f565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620001fa919062000c2f565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000261919062000c7b565b60405180910390a36200027d600083836200037860201b60201c565b5050565b6200029382826200037d60201b60201c565b6200036f5760016005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000314620003e860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b505050565b505050565b60006005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000459826200040e565b810181811067ffffffffffffffff821117156200047b576200047a6200041f565b5b80604052505050565b600062000490620003f0565b90506200049e82826200044e565b919050565b600067ffffffffffffffff821115620004c157620004c06200041f565b5b620004cc826200040e565b9050602081019050919050565b60005b83811015620004f9578082015181840152602081019050620004dc565b60008484015250505050565b60006200051c6200051684620004a3565b62000484565b9050828152602081018484840111156200053b576200053a62000409565b5b62000548848285620004d9565b509392505050565b600082601f83011262000568576200056762000404565b5b81516200057a84826020860162000505565b91505092915050565b6000819050919050565b620005988162000583565b8114620005a457600080fd5b50565b600081519050620005b8816200058d565b92915050565b600080600060608486031215620005da57620005d9620003fa565b5b600084015167ffffffffffffffff811115620005fb57620005fa620003ff565b5b620006098682870162000550565b935050602084015167ffffffffffffffff8111156200062d576200062c620003ff565b5b6200063b8682870162000550565b92505060406200064e86828701620005a7565b9150509250925092565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620006ab57607f821691505b602082108103620006c157620006c062000663565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200072b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620006ec565b620007378683620006ec565b95508019841693508086168417925050509392505050565b6000819050919050565b60006200077a620007746200076e8462000583565b6200074f565b62000583565b9050919050565b6000819050919050565b620007968362000759565b620007ae620007a58262000781565b848454620006f9565b825550505050565b600090565b620007c5620007b6565b620007d28184846200078b565b505050565b5b81811015620007fa57620007ee600082620007bb565b600181019050620007d8565b5050565b601f82111562000849576200081381620006c7565b6200081e84620006dc565b810160208510156200082e578190505b620008466200083d85620006dc565b830182620007d7565b50505b505050565b600082821c905092915050565b60006200086e600019846008026200084e565b1980831691505092915050565b60006200088983836200085b565b9150826002028217905092915050565b620008a48262000658565b67ffffffffffffffff811115620008c057620008bf6200041f565b5b620008cc825462000692565b620008d9828285620007fe565b600060209050601f831160018114620009115760008415620008fc578287015190505b6200090885826200087b565b86555062000978565b601f1984166200092186620006c7565b60005b828110156200094b5784890151825560018201915060208501945060208101905062000924565b868310156200096b578489015162000967601f8916826200085b565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000a0e57808604811115620009e657620009e562000980565b5b6001851615620009f65780820291505b808102905062000a0685620009af565b9450620009c6565b94509492505050565b60008262000a29576001905062000afc565b8162000a39576000905062000afc565b816001811462000a52576002811462000a5d5762000a93565b600191505062000afc565b60ff84111562000a725762000a7162000980565b5b8360020a91508482111562000a8c5762000a8b62000980565b5b5062000afc565b5060208310610133831016604e8410600b841016171562000acd5782820a90508381111562000ac75762000ac662000980565b5b62000afc565b62000adc8484846001620009bc565b9250905081840481111562000af65762000af562000980565b5b81810290505b9392505050565b600060ff82169050919050565b600062000b1d8262000583565b915062000b2a8362000b03565b925062000b597fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000a17565b905092915050565b600062000b6e8262000583565b915062000b7b8362000583565b925082820262000b8b8162000583565b9150828204841483151762000ba55762000ba462000980565b5b5092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000bf5601f8362000bac565b915062000c028262000bbd565b602082019050919050565b6000602082019050818103600083015262000c288162000be6565b9050919050565b600062000c3c8262000583565b915062000c498362000583565b925082820190508082111562000c645762000c6362000980565b5b92915050565b62000c758162000583565b82525050565b600060208201905062000c92600083018462000c6a565b92915050565b61275d8062000ca86000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c8063511b149a116100ad578063a217fddf11610071578063a217fddf1461037d578063a457c2d71461039b578063a9059cbb146103cb578063d547741f146103fb578063dd62ed3e146104175761012c565b8063511b149a146102b357806370a08231146102cf5780637acfe6da146102ff57806391d148541461032f57806395d89b411461035f5761012c565b8063248a9ca3116100f4578063248a9ca3146101fd5780632f2ff15d1461022d578063313ce5671461024957806336568abe1461026757806339509351146102835761012c565b806301ffc9a71461013157806306fdde0314610161578063095ea7b31461017f57806318160ddd146101af57806323b872dd146101cd575b600080fd5b61014b60048036038101906101469190611a08565b610447565b6040516101589190611a50565b60405180910390f35b6101696104c1565b6040516101769190611afb565b60405180910390f35b61019960048036038101906101949190611bb1565b610553565b6040516101a69190611a50565b60405180910390f35b6101b7610571565b6040516101c49190611c00565b60405180910390f35b6101e760048036038101906101e29190611c1b565b61057b565b6040516101f49190611a50565b60405180910390f35b61021760048036038101906102129190611ca4565b610673565b6040516102249190611ce0565b60405180910390f35b61024760048036038101906102429190611cfb565b610693565b005b6102516106b7565b60405161025e9190611d57565b60405180910390f35b610281600480360381019061027c9190611cfb565b6106c0565b005b61029d60048036038101906102989190611bb1565b610743565b6040516102aa9190611a50565b60405180910390f35b6102cd60048036038101906102c89190611bb1565b6107ef565b005b6102e960048036038101906102e49190611d72565b61086b565b6040516102f69190611c00565b60405180910390f35b61031960048036038101906103149190611d72565b6108b3565b6040516103269190611c00565b60405180910390f35b61034960048036038101906103449190611cfb565b6108fc565b6040516103569190611a50565b60405180910390f35b610367610967565b6040516103749190611afb565b60405180910390f35b6103856109f9565b6040516103929190611ce0565b60405180910390f35b6103b560048036038101906103b09190611bb1565b610a00565b6040516103c29190611a50565b60405180910390f35b6103e560048036038101906103e09190611bb1565b610aeb565b6040516103f29190611a50565b60405180910390f35b61041560048036038101906104109190611cfb565b610b09565b005b610431600480360381019061042c9190611d9f565b610b2d565b60405161043e9190611c00565b60405180910390f35b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806104ba57506104b982610bb4565b5b9050919050565b6060600380546104d090611e0e565b80601f01602080910402602001604051908101604052809291908181526020018280546104fc90611e0e565b80156105495780601f1061051e57610100808354040283529160200191610549565b820191906000526020600020905b81548152906001019060200180831161052c57829003601f168201915b5050505050905090565b6000610567610560610c1e565b8484610c26565b6001905092915050565b6000600254905090565b6000610588848484610def565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105d3610c1e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610653576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064a90611eb1565b60405180910390fd5b6106678561065f610c1e565b858403610c26565b60019150509392505050565b600060056000838152602001908152602001600020600101549050919050565b6000801b6106a8816106a3610c1e565b610e6e565b6106b28383610f0b565b505050565b60006012905090565b6106c8610c1e565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610735576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072c90611f43565b60405180910390fd5b61073f8282610fec565b5050565b60006107e5610750610c1e565b84846001600061075e610c1e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107e09190611f92565b610c26565b6001905092915050565b6000801b610804816107ff610c1e565b610e6e565b61080c6106b7565b600a61081891906120f9565b826108239190612144565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60606004805461097690611e0e565b80601f01602080910402602001604051908101604052809291908181526020018280546109a290611e0e565b80156109ef5780601f106109c4576101008083540402835291602001916109ef565b820191906000526020600020905b8154815290600101906020018083116109d257829003601f168201915b5050505050905090565b6000801b81565b60008060016000610a0f610c1e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610acc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac3906121f8565b60405180910390fd5b610ae0610ad7610c1e565b85858403610c26565b600191505092915050565b6000610aff610af8610c1e565b8484610def565b6001905092915050565b6000801b610b1e81610b19610c1e565b610e6e565b610b288383610fec565b505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8c9061228a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cfb9061231c565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610de29190611c00565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e55906123ae565b60405180910390fd5b610e698383836110ce565b505050565b610e7882826108fc565b610f0757610e9d8173ffffffffffffffffffffffffffffffffffffffff16601461114d565b610eab8360001c602061114d565b604051602001610ebc9291906124a2565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efe9190611afb565b60405180910390fd5b5050565b610f1582826108fc565b610fe85760016005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610f8d610c1e565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b610ff682826108fc565b156110ca5760006005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061106f610c1e565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361113d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111349061254e565b60405180910390fd5b611148838383611389565b505050565b6060600060028360026111609190612144565b61116a9190611f92565b67ffffffffffffffff8111156111835761118261256e565b5b6040519080825280601f01601f1916602001820160405280156111b55781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106111ed576111ec61259d565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106112515761125061259d565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026112919190612144565b61129b9190611f92565b90505b600181111561133b577f3031323334353637383961626364656600000000000000000000000000000000600f8616601081106112dd576112dc61259d565b5b1a60f81b8282815181106112f4576112f361259d565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080611334906125cc565b905061129e565b506000841461137f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137690612641565b60405180910390fd5b8091505092915050565b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561140a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611401906126d3565b60405180910390fd5b61141583838361141a565b505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156114b757506000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15611502576001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61150d838383611512565b505050565b61151d838383611522565b505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611654576001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540361165357600081600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461160b91906126f3565b905080600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b5b61165f838383611664565b505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561170157506001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b156117cf576000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116117ce57806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106117cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c4906126d3565b60405180910390fd5b5b5b6117da8383836117df565b505050565b6117ea8383836117ef565b505050565b611840816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461197f90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118d3816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461199590919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119729190611c00565b60405180910390a3505050565b6000818361198d9190611f92565b905092915050565b600081836119a391906126f3565b905092915050565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6119e5816119b0565b81146119f057600080fd5b50565b600081359050611a02816119dc565b92915050565b600060208284031215611a1e57611a1d6119ab565b5b6000611a2c848285016119f3565b91505092915050565b60008115159050919050565b611a4a81611a35565b82525050565b6000602082019050611a656000830184611a41565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611aa5578082015181840152602081019050611a8a565b60008484015250505050565b6000601f19601f8301169050919050565b6000611acd82611a6b565b611ad78185611a76565b9350611ae7818560208601611a87565b611af081611ab1565b840191505092915050565b60006020820190508181036000830152611b158184611ac2565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611b4882611b1d565b9050919050565b611b5881611b3d565b8114611b6357600080fd5b50565b600081359050611b7581611b4f565b92915050565b6000819050919050565b611b8e81611b7b565b8114611b9957600080fd5b50565b600081359050611bab81611b85565b92915050565b60008060408385031215611bc857611bc76119ab565b5b6000611bd685828601611b66565b9250506020611be785828601611b9c565b9150509250929050565b611bfa81611b7b565b82525050565b6000602082019050611c156000830184611bf1565b92915050565b600080600060608486031215611c3457611c336119ab565b5b6000611c4286828701611b66565b9350506020611c5386828701611b66565b9250506040611c6486828701611b9c565b9150509250925092565b6000819050919050565b611c8181611c6e565b8114611c8c57600080fd5b50565b600081359050611c9e81611c78565b92915050565b600060208284031215611cba57611cb96119ab565b5b6000611cc884828501611c8f565b91505092915050565b611cda81611c6e565b82525050565b6000602082019050611cf56000830184611cd1565b92915050565b60008060408385031215611d1257611d116119ab565b5b6000611d2085828601611c8f565b9250506020611d3185828601611b66565b9150509250929050565b600060ff82169050919050565b611d5181611d3b565b82525050565b6000602082019050611d6c6000830184611d48565b92915050565b600060208284031215611d8857611d876119ab565b5b6000611d9684828501611b66565b91505092915050565b60008060408385031215611db657611db56119ab565b5b6000611dc485828601611b66565b9250506020611dd585828601611b66565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611e2657607f821691505b602082108103611e3957611e38611ddf565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611e9b602883611a76565b9150611ea682611e3f565b604082019050919050565b60006020820190508181036000830152611eca81611e8e565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000611f2d602f83611a76565b9150611f3882611ed1565b604082019050919050565b60006020820190508181036000830152611f5c81611f20565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611f9d82611b7b565b9150611fa883611b7b565b9250828201905080821115611fc057611fbf611f63565b5b92915050565b60008160011c9050919050565b6000808291508390505b600185111561201d57808604811115611ff957611ff8611f63565b5b60018516156120085780820291505b808102905061201685611fc6565b9450611fdd565b94509492505050565b60008261203657600190506120f2565b8161204457600090506120f2565b816001811461205a576002811461206457612093565b60019150506120f2565b60ff84111561207657612075611f63565b5b8360020a91508482111561208d5761208c611f63565b5b506120f2565b5060208310610133831016604e8410600b84101617156120c85782820a9050838111156120c3576120c2611f63565b5b6120f2565b6120d58484846001611fd3565b925090508184048111156120ec576120eb611f63565b5b81810290505b9392505050565b600061210482611b7b565b915061210f83611d3b565b925061213c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612026565b905092915050565b600061214f82611b7b565b915061215a83611b7b565b925082820261216881611b7b565b9150828204841483151761217f5761217e611f63565b5b5092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006121e2602583611a76565b91506121ed82612186565b604082019050919050565b60006020820190508181036000830152612211816121d5565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612274602483611a76565b915061227f82612218565b604082019050919050565b600060208201905081810360008301526122a381612267565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612306602283611a76565b9150612311826122aa565b604082019050919050565b60006020820190508181036000830152612335816122f9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612398602583611a76565b91506123a38261233c565b604082019050919050565b600060208201905081810360008301526123c78161238b565b9050919050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b600061240f6017836123ce565b915061241a826123d9565b601782019050919050565b600061243082611a6b565b61243a81856123ce565b935061244a818560208601611a87565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b600061248c6011836123ce565b915061249782612456565b601182019050919050565b60006124ad82612402565b91506124b98285612425565b91506124c48261247f565b91506124d08284612425565b91508190509392505050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612538602383611a76565b9150612543826124dc565b604082019050919050565b600060208201905081810360008301526125678161252b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006125d782611b7b565b9150600082036125ea576125e9611f63565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b600061262b602083611a76565b9150612636826125f5565b602082019050919050565b6000602082019050818103600083015261265a8161261e565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006126bd602683611a76565b91506126c882612661565b604082019050919050565b600060208201905081810360008301526126ec816126b0565b9050919050565b60006126fe82611b7b565b915061270983611b7b565b925082820390508181111561272157612720611f63565b5b9291505056fea264697066735822122043e15e83ce6718bbfbb2524cf706d7159f65d7865d95631330b781411f11787364736f6c63430008120033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000000000000000000000000000000000000000000003415745000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034157450000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061012c5760003560e01c8063511b149a116100ad578063a217fddf11610071578063a217fddf1461037d578063a457c2d71461039b578063a9059cbb146103cb578063d547741f146103fb578063dd62ed3e146104175761012c565b8063511b149a146102b357806370a08231146102cf5780637acfe6da146102ff57806391d148541461032f57806395d89b411461035f5761012c565b8063248a9ca3116100f4578063248a9ca3146101fd5780632f2ff15d1461022d578063313ce5671461024957806336568abe1461026757806339509351146102835761012c565b806301ffc9a71461013157806306fdde0314610161578063095ea7b31461017f57806318160ddd146101af57806323b872dd146101cd575b600080fd5b61014b60048036038101906101469190611a08565b610447565b6040516101589190611a50565b60405180910390f35b6101696104c1565b6040516101769190611afb565b60405180910390f35b61019960048036038101906101949190611bb1565b610553565b6040516101a69190611a50565b60405180910390f35b6101b7610571565b6040516101c49190611c00565b60405180910390f35b6101e760048036038101906101e29190611c1b565b61057b565b6040516101f49190611a50565b60405180910390f35b61021760048036038101906102129190611ca4565b610673565b6040516102249190611ce0565b60405180910390f35b61024760048036038101906102429190611cfb565b610693565b005b6102516106b7565b60405161025e9190611d57565b60405180910390f35b610281600480360381019061027c9190611cfb565b6106c0565b005b61029d60048036038101906102989190611bb1565b610743565b6040516102aa9190611a50565b60405180910390f35b6102cd60048036038101906102c89190611bb1565b6107ef565b005b6102e960048036038101906102e49190611d72565b61086b565b6040516102f69190611c00565b60405180910390f35b61031960048036038101906103149190611d72565b6108b3565b6040516103269190611c00565b60405180910390f35b61034960048036038101906103449190611cfb565b6108fc565b6040516103569190611a50565b60405180910390f35b610367610967565b6040516103749190611afb565b60405180910390f35b6103856109f9565b6040516103929190611ce0565b60405180910390f35b6103b560048036038101906103b09190611bb1565b610a00565b6040516103c29190611a50565b60405180910390f35b6103e560048036038101906103e09190611bb1565b610aeb565b6040516103f29190611a50565b60405180910390f35b61041560048036038101906104109190611cfb565b610b09565b005b610431600480360381019061042c9190611d9f565b610b2d565b60405161043e9190611c00565b60405180910390f35b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806104ba57506104b982610bb4565b5b9050919050565b6060600380546104d090611e0e565b80601f01602080910402602001604051908101604052809291908181526020018280546104fc90611e0e565b80156105495780601f1061051e57610100808354040283529160200191610549565b820191906000526020600020905b81548152906001019060200180831161052c57829003601f168201915b5050505050905090565b6000610567610560610c1e565b8484610c26565b6001905092915050565b6000600254905090565b6000610588848484610def565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105d3610c1e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610653576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064a90611eb1565b60405180910390fd5b6106678561065f610c1e565b858403610c26565b60019150509392505050565b600060056000838152602001908152602001600020600101549050919050565b6000801b6106a8816106a3610c1e565b610e6e565b6106b28383610f0b565b505050565b60006012905090565b6106c8610c1e565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610735576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072c90611f43565b60405180910390fd5b61073f8282610fec565b5050565b60006107e5610750610c1e565b84846001600061075e610c1e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107e09190611f92565b610c26565b6001905092915050565b6000801b610804816107ff610c1e565b610e6e565b61080c6106b7565b600a61081891906120f9565b826108239190612144565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60606004805461097690611e0e565b80601f01602080910402602001604051908101604052809291908181526020018280546109a290611e0e565b80156109ef5780601f106109c4576101008083540402835291602001916109ef565b820191906000526020600020905b8154815290600101906020018083116109d257829003601f168201915b5050505050905090565b6000801b81565b60008060016000610a0f610c1e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610acc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac3906121f8565b60405180910390fd5b610ae0610ad7610c1e565b85858403610c26565b600191505092915050565b6000610aff610af8610c1e565b8484610def565b6001905092915050565b6000801b610b1e81610b19610c1e565b610e6e565b610b288383610fec565b505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8c9061228a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cfb9061231c565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610de29190611c00565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e55906123ae565b60405180910390fd5b610e698383836110ce565b505050565b610e7882826108fc565b610f0757610e9d8173ffffffffffffffffffffffffffffffffffffffff16601461114d565b610eab8360001c602061114d565b604051602001610ebc9291906124a2565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efe9190611afb565b60405180910390fd5b5050565b610f1582826108fc565b610fe85760016005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610f8d610c1e565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b610ff682826108fc565b156110ca5760006005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061106f610c1e565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361113d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111349061254e565b60405180910390fd5b611148838383611389565b505050565b6060600060028360026111609190612144565b61116a9190611f92565b67ffffffffffffffff8111156111835761118261256e565b5b6040519080825280601f01601f1916602001820160405280156111b55781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106111ed576111ec61259d565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106112515761125061259d565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026112919190612144565b61129b9190611f92565b90505b600181111561133b577f3031323334353637383961626364656600000000000000000000000000000000600f8616601081106112dd576112dc61259d565b5b1a60f81b8282815181106112f4576112f361259d565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080611334906125cc565b905061129e565b506000841461137f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137690612641565b60405180910390fd5b8091505092915050565b806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561140a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611401906126d3565b60405180910390fd5b61141583838361141a565b505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156114b757506000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15611502576001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61150d838383611512565b505050565b61151d838383611522565b505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611654576001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540361165357600081600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461160b91906126f3565b905080600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b5b61165f838383611664565b505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561170157506001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b156117cf576000600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054116117ce57806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106117cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c4906126d3565b60405180910390fd5b5b5b6117da8383836117df565b505050565b6117ea8383836117ef565b505050565b611840816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461197f90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118d3816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461199590919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119729190611c00565b60405180910390a3505050565b6000818361198d9190611f92565b905092915050565b600081836119a391906126f3565b905092915050565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6119e5816119b0565b81146119f057600080fd5b50565b600081359050611a02816119dc565b92915050565b600060208284031215611a1e57611a1d6119ab565b5b6000611a2c848285016119f3565b91505092915050565b60008115159050919050565b611a4a81611a35565b82525050565b6000602082019050611a656000830184611a41565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611aa5578082015181840152602081019050611a8a565b60008484015250505050565b6000601f19601f8301169050919050565b6000611acd82611a6b565b611ad78185611a76565b9350611ae7818560208601611a87565b611af081611ab1565b840191505092915050565b60006020820190508181036000830152611b158184611ac2565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611b4882611b1d565b9050919050565b611b5881611b3d565b8114611b6357600080fd5b50565b600081359050611b7581611b4f565b92915050565b6000819050919050565b611b8e81611b7b565b8114611b9957600080fd5b50565b600081359050611bab81611b85565b92915050565b60008060408385031215611bc857611bc76119ab565b5b6000611bd685828601611b66565b9250506020611be785828601611b9c565b9150509250929050565b611bfa81611b7b565b82525050565b6000602082019050611c156000830184611bf1565b92915050565b600080600060608486031215611c3457611c336119ab565b5b6000611c4286828701611b66565b9350506020611c5386828701611b66565b9250506040611c6486828701611b9c565b9150509250925092565b6000819050919050565b611c8181611c6e565b8114611c8c57600080fd5b50565b600081359050611c9e81611c78565b92915050565b600060208284031215611cba57611cb96119ab565b5b6000611cc884828501611c8f565b91505092915050565b611cda81611c6e565b82525050565b6000602082019050611cf56000830184611cd1565b92915050565b60008060408385031215611d1257611d116119ab565b5b6000611d2085828601611c8f565b9250506020611d3185828601611b66565b9150509250929050565b600060ff82169050919050565b611d5181611d3b565b82525050565b6000602082019050611d6c6000830184611d48565b92915050565b600060208284031215611d8857611d876119ab565b5b6000611d9684828501611b66565b91505092915050565b60008060408385031215611db657611db56119ab565b5b6000611dc485828601611b66565b9250506020611dd585828601611b66565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611e2657607f821691505b602082108103611e3957611e38611ddf565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611e9b602883611a76565b9150611ea682611e3f565b604082019050919050565b60006020820190508181036000830152611eca81611e8e565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000611f2d602f83611a76565b9150611f3882611ed1565b604082019050919050565b60006020820190508181036000830152611f5c81611f20565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611f9d82611b7b565b9150611fa883611b7b565b9250828201905080821115611fc057611fbf611f63565b5b92915050565b60008160011c9050919050565b6000808291508390505b600185111561201d57808604811115611ff957611ff8611f63565b5b60018516156120085780820291505b808102905061201685611fc6565b9450611fdd565b94509492505050565b60008261203657600190506120f2565b8161204457600090506120f2565b816001811461205a576002811461206457612093565b60019150506120f2565b60ff84111561207657612075611f63565b5b8360020a91508482111561208d5761208c611f63565b5b506120f2565b5060208310610133831016604e8410600b84101617156120c85782820a9050838111156120c3576120c2611f63565b5b6120f2565b6120d58484846001611fd3565b925090508184048111156120ec576120eb611f63565b5b81810290505b9392505050565b600061210482611b7b565b915061210f83611d3b565b925061213c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612026565b905092915050565b600061214f82611b7b565b915061215a83611b7b565b925082820261216881611b7b565b9150828204841483151761217f5761217e611f63565b5b5092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006121e2602583611a76565b91506121ed82612186565b604082019050919050565b60006020820190508181036000830152612211816121d5565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612274602483611a76565b915061227f82612218565b604082019050919050565b600060208201905081810360008301526122a381612267565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612306602283611a76565b9150612311826122aa565b604082019050919050565b60006020820190508181036000830152612335816122f9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612398602583611a76565b91506123a38261233c565b604082019050919050565b600060208201905081810360008301526123c78161238b565b9050919050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b600061240f6017836123ce565b915061241a826123d9565b601782019050919050565b600061243082611a6b565b61243a81856123ce565b935061244a818560208601611a87565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b600061248c6011836123ce565b915061249782612456565b601182019050919050565b60006124ad82612402565b91506124b98285612425565b91506124c48261247f565b91506124d08284612425565b91508190509392505050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612538602383611a76565b9150612543826124dc565b604082019050919050565b600060208201905081810360008301526125678161252b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006125d782611b7b565b9150600082036125ea576125e9611f63565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b600061262b602083611a76565b9150612636826125f5565b602082019050919050565b6000602082019050818103600083015261265a8161261e565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006126bd602683611a76565b91506126c882612661565b604082019050919050565b600060208201905081810360008301526126ec816126b0565b9050919050565b60006126fe82611b7b565b915061270983611b7b565b925082820390508181111561272157612720611f63565b5b9291505056fea264697066735822122043e15e83ce6718bbfbb2524cf706d7159f65d7865d95631330b781411f11787364736f6c63430008120033

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

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000005f5e1000000000000000000000000000000000000000000000000000000000000000003415745000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034157450000000000000000000000000000000000000000000000000000000000

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

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


Deployed Bytecode Sourcemap

19624:2955:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5599:202;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9473:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10388:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9795:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10566:492;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6461:123;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6592:147;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9693:93;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6904:218;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11066:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20122:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9911:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20279:110;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5809:139;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9581:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5436:49;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11290:413;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10046:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6747:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10229:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5599:202;5684:4;5723:30;5708:45;;;:11;:45;;;;:85;;;;5757:36;5781:11;5757:23;:36::i;:::-;5708:85;5701:92;;5599:202;;;:::o;9473:100::-;9527:13;9560:5;9553:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9473:100;:::o;10388:169::-;10471:4;10488:39;10497:12;:10;:12::i;:::-;10511:7;10520:6;10488:8;:39::i;:::-;10545:4;10538:11;;10388:169;;;;:::o;9795:108::-;9856:7;9883:12;;9876:19;;9795:108;:::o;10566:492::-;10706:4;10723:36;10733:6;10741:9;10752:6;10723:9;:36::i;:::-;10772:24;10799:11;:19;10811:6;10799:19;;;;;;;;;;;;;;;:33;10819:12;:10;:12::i;:::-;10799:33;;;;;;;;;;;;;;;;10772:60;;10871:6;10851:16;:26;;10843:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;10958:57;10967:6;10975:12;:10;:12::i;:::-;11008:6;10989:16;:25;10958:8;:57::i;:::-;11046:4;11039:11;;;10566:492;;;;;:::o;6461:123::-;6527:7;6554:6;:12;6561:4;6554:12;;;;;;;;;;;:22;;;6547:29;;6461:123;;;:::o;6592:147::-;5481:4;6675:18;;5541:30;5552:4;5558:12;:10;:12::i;:::-;5541:10;:30::i;:::-;6706:25:::1;6717:4;6723:7;6706:10;:25::i;:::-;6592:147:::0;;;:::o;9693:93::-;9751:5;9776:2;9769:9;;9693:93;:::o;6904:218::-;7011:12;:10;:12::i;:::-;7000:23;;:7;:23;;;6992:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;7088:26;7100:4;7106:7;7088:11;:26::i;:::-;6904:218;;:::o;11066:215::-;11154:4;11171:80;11180:12;:10;:12::i;:::-;11194:7;11240:10;11203:11;:25;11215:12;:10;:12::i;:::-;11203:25;;;;;;;;;;;;;;;:34;11229:7;11203:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;11171:8;:80::i;:::-;11269:4;11262:11;;11066:215;;;;:::o;20122:149::-;5481:4;20191:18;;5541:30;5552:4;5558:12;:10;:12::i;:::-;5541:10;:30::i;:::-;20253:10:::1;:8;:10::i;:::-;20249:2;:14;;;;:::i;:::-;20240:6;:23;;;;:::i;:::-;20222:9;:15;20232:4;20222:15;;;;;;;;;;;;;;;:41;;;;20122:149:::0;;;:::o;9911:127::-;9985:7;10012:9;:18;10022:7;10012:18;;;;;;;;;;;;;;;;10005:25;;9911:127;;;:::o;20279:110::-;20339:7;20366:9;:15;20376:4;20366:15;;;;;;;;;;;;;;;;20359:22;;20279:110;;;:::o;5809:139::-;5887:4;5911:6;:12;5918:4;5911:12;;;;;;;;;;;:20;;:29;5932:7;5911:29;;;;;;;;;;;;;;;;;;;;;;;;;5904:36;;5809:139;;;;:::o;9581:104::-;9637:13;9670:7;9663:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9581:104;:::o;5436:49::-;5481:4;5436:49;;;:::o;11290:413::-;11383:4;11400:24;11427:11;:25;11439:12;:10;:12::i;:::-;11427:25;;;;;;;;;;;;;;;:34;11453:7;11427:34;;;;;;;;;;;;;;;;11400:61;;11500:15;11480:16;:35;;11472:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;11593:67;11602:12;:10;:12::i;:::-;11616:7;11644:15;11625:16;:34;11593:8;:67::i;:::-;11691:4;11684:11;;;11290:413;;;;:::o;10046:175::-;10132:4;10149:42;10159:12;:10;:12::i;:::-;10173:9;10184:6;10149:9;:42::i;:::-;10209:4;10202:11;;10046:175;;;;:::o;6747:149::-;5481:4;6831:18;;5541:30;5552:4;5558:12;:10;:12::i;:::-;5541:10;:30::i;:::-;6862:26:::1;6874:4;6880:7;6862:11;:26::i;:::-;6747:149:::0;;;:::o;10229:151::-;10318:7;10345:11;:18;10357:5;10345:18;;;;;;;;;;;;;;;:27;10364:7;10345:27;;;;;;;;;;;;;;;;10338:34;;10229:151;;;;:::o;229:157::-;314:4;353:25;338:40;;;:11;:40;;;;331:47;;229:157;;;:::o;3556:98::-;3609:7;3636:10;3629:17;;3556:98;:::o;13443:380::-;13596:1;13579:19;;:5;:19;;;13571:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13677:1;13658:21;;:7;:21;;;13650:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13761:6;13731:11;:18;13743:5;13731:18;;;;;;;;;;;;;;;:27;13750:7;13731:27;;;;;;;;;;;;;;;:36;;;;13799:7;13783:32;;13792:5;13783:32;;;13808:6;13783:32;;;;;;:::i;:::-;;;;;;;;13443:380;;;:::o;20403:235::-;20531:1;20515:18;;:4;:18;;;20507:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20598:30;20611:4;20617:2;20621:6;20598:12;:30::i;:::-;20403:235;;;:::o;5956:497::-;6037:22;6045:4;6051:7;6037;:22::i;:::-;6032:414;;6225:41;6253:7;6225:41;;6263:2;6225:19;:41::i;:::-;6339:38;6367:4;6359:13;;6374:2;6339:19;:38::i;:::-;6130:270;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6076:358;;;;;;;;;;;:::i;:::-;;;;;;;;6032:414;5956:497;;:::o;7509:238::-;7593:22;7601:4;7607:7;7593;:22::i;:::-;7588:152;;7664:4;7632:6;:12;7639:4;7632:12;;;;;;;;;;;:20;;:29;7653:7;7632:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;7715:12;:10;:12::i;:::-;7688:40;;7706:7;7688:40;;7700:4;7688:40;;;;;;;;;;7588:152;7509:238;;:::o;7755:239::-;7839:22;7847:4;7853:7;7839;:22::i;:::-;7835:152;;;7910:5;7878:6;:12;7885:4;7878:12;;;;;;;;;;;:20;;:29;7899:7;7878:29;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;7962:12;:10;:12::i;:::-;7935:40;;7953:7;7935:40;;7947:4;7935:40;;;;;;;;;;7835:152;7755:239;;:::o;20646:222::-;20762:1;20748:16;;:2;:16;;;20740:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;20830:30;20843:4;20849:2;20853:6;20830:12;:30::i;:::-;20646:222;;;:::o;4751:451::-;4826:13;4852:19;4897:1;4888:6;4884:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;4874:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4852:47;;4910:15;:6;4917:1;4910:9;;;;;;;;:::i;:::-;;;;;:15;;;;;;;;;;;4936;:6;4943:1;4936:9;;;;;;;;:::i;:::-;;;;;:15;;;;;;;;;;;4967:9;4992:1;4983:6;4979:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;4967:26;;4962:135;4999:1;4995;:5;4962:135;;;5034:12;5055:3;5047:5;:11;5034:25;;;;;;;:::i;:::-;;;;;5022:6;5029:1;5022:9;;;;;;;;:::i;:::-;;;;;:37;;;;;;;;;;;5084:1;5074:11;;;;;5002:3;;;;:::i;:::-;;;4962:135;;;;5124:1;5115:5;:10;5107:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;5187:6;5173:21;;;4751:451;;;;:::o;20876:223::-;20988:6;20969:9;:15;20979:4;20969:15;;;;;;;;;;;;;;;;:25;;20961:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;21060:31;21074:4;21080:2;21084:6;21060:13;:31::i;:::-;20876:223;;;:::o;21107:248::-;21203:12;;;;;;;;;;;21197:18;;:2;:18;;;;:41;;;;;21237:1;21219:9;:15;21229:4;21219:15;;;;;;;;;;;;;;;;:19;21197:41;21193:112;;;21288:1;21271:8;:14;21280:4;21271:14;;;;;;;;;;;;;;;:18;;;;21193:112;21315:32;21330:4;21336:2;21340:6;21315:14;:32::i;:::-;21107:248;;;:::o;21365:126::-;21452:31;21466:4;21472:2;21476:6;21452:13;:31::i;:::-;21365:126;;;:::o;21501:320::-;21595:12;;;;;;;;;;;21589:18;;:2;:18;;;21585:184;;21645:1;21627:8;:14;21636:4;21627:14;;;;;;;;;;;;;;;;:19;21624:134;;21666:10;21697:6;21679:9;:15;21689:4;21679:15;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;21666:37;;21740:2;21722:9;:15;21732:4;21722:15;;;;;;;;;;;;;;;:20;;;;21647:111;21624:134;21585:184;21781:32;21796:4;21802:2;21806:6;21781:14;:32::i;:::-;21501:320;;;:::o;21829:371::-;21926:12;;;;;;;;;;;21920:18;;:2;:18;;;;:41;;;;;21960:1;21942:8;:14;21951:4;21942:14;;;;;;;;;;;;;;;;:19;21920:41;21916:223;;;22002:1;21983:9;:15;21993:4;21983:15;;;;;;;;;;;;;;;;:20;21980:134;;22049:6;22031:9;:15;22041:4;22031:15;;;;;;;;;;;;;;;;:24;22023:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;21980:134;21916:223;22159:33;22175:4;22181:2;22185:6;22159:15;:33::i;:::-;21829:371;;;:::o;22208:126::-;22300:26;22309:4;22315:2;22319:6;22300:8;:26::i;:::-;22208:126;;;:::o;22344:228::-;22439:25;22457:6;22439:9;:13;22449:2;22439:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;22423:9;:13;22433:2;22423:13;;;;;;;;;;;;;;;:41;;;;22493:27;22513:6;22493:9;:15;22503:4;22493:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;22475:9;:15;22485:4;22475:15;;;;;;;;;;;;;;;:45;;;;22553:2;22538:26;;22547:4;22538:26;;;22557:6;22538:26;;;;;;:::i;:::-;;;;;;;;22344:228;;;:::o;1539:98::-;1597:7;1628:1;1624;:5;;;;:::i;:::-;1617:12;;1539:98;;;;:::o;1645:::-;1703:7;1734:1;1730;:5;;;;:::i;:::-;1723:12;;1645:98;;;;:::o;88:117:1:-;197:1;194;187:12;334:149;370:7;410:66;403:5;399:78;388:89;;334:149;;;:::o;489:120::-;561:23;578:5;561:23;:::i;:::-;554:5;551:34;541:62;;599:1;596;589:12;541:62;489:120;:::o;615:137::-;660:5;698:6;685:20;676:29;;714:32;740:5;714:32;:::i;:::-;615:137;;;;:::o;758:327::-;816:6;865:2;853:9;844:7;840:23;836:32;833:119;;;871:79;;:::i;:::-;833:119;991:1;1016:52;1060:7;1051:6;1040:9;1036:22;1016:52;:::i;:::-;1006:62;;962:116;758:327;;;;:::o;1091:90::-;1125:7;1168:5;1161:13;1154:21;1143:32;;1091:90;;;:::o;1187:109::-;1268:21;1283:5;1268:21;:::i;:::-;1263:3;1256:34;1187:109;;:::o;1302:210::-;1389:4;1427:2;1416:9;1412:18;1404:26;;1440:65;1502:1;1491:9;1487:17;1478:6;1440:65;:::i;:::-;1302:210;;;;:::o;1518:99::-;1570:6;1604:5;1598:12;1588:22;;1518:99;;;:::o;1623:169::-;1707:11;1741:6;1736:3;1729:19;1781:4;1776:3;1772:14;1757:29;;1623:169;;;;:::o;1798:246::-;1879:1;1889:113;1903:6;1900:1;1897:13;1889:113;;;1988:1;1983:3;1979:11;1973:18;1969:1;1964:3;1960:11;1953:39;1925:2;1922:1;1918:10;1913:15;;1889:113;;;2036:1;2027:6;2022:3;2018:16;2011:27;1860:184;1798:246;;;:::o;2050:102::-;2091:6;2142:2;2138:7;2133:2;2126:5;2122:14;2118:28;2108:38;;2050:102;;;:::o;2158:377::-;2246:3;2274:39;2307:5;2274:39;:::i;:::-;2329:71;2393:6;2388:3;2329:71;:::i;:::-;2322:78;;2409:65;2467:6;2462:3;2455:4;2448:5;2444:16;2409:65;:::i;:::-;2499:29;2521:6;2499:29;:::i;:::-;2494:3;2490:39;2483:46;;2250:285;2158:377;;;;:::o;2541:313::-;2654:4;2692:2;2681:9;2677:18;2669:26;;2741:9;2735:4;2731:20;2727:1;2716:9;2712:17;2705:47;2769:78;2842:4;2833:6;2769:78;:::i;:::-;2761:86;;2541:313;;;;:::o;2860:126::-;2897:7;2937:42;2930:5;2926:54;2915:65;;2860:126;;;:::o;2992:96::-;3029:7;3058:24;3076:5;3058:24;:::i;:::-;3047:35;;2992:96;;;:::o;3094:122::-;3167:24;3185:5;3167:24;:::i;:::-;3160:5;3157:35;3147:63;;3206:1;3203;3196:12;3147:63;3094:122;:::o;3222:139::-;3268:5;3306:6;3293:20;3284:29;;3322:33;3349:5;3322:33;:::i;:::-;3222:139;;;;:::o;3367:77::-;3404:7;3433:5;3422:16;;3367:77;;;:::o;3450:122::-;3523:24;3541:5;3523:24;:::i;:::-;3516:5;3513:35;3503:63;;3562:1;3559;3552:12;3503:63;3450:122;:::o;3578:139::-;3624:5;3662:6;3649:20;3640:29;;3678:33;3705:5;3678:33;:::i;:::-;3578:139;;;;:::o;3723:474::-;3791:6;3799;3848:2;3836:9;3827:7;3823:23;3819:32;3816:119;;;3854:79;;:::i;:::-;3816:119;3974:1;3999:53;4044:7;4035:6;4024:9;4020:22;3999:53;:::i;:::-;3989:63;;3945:117;4101:2;4127:53;4172:7;4163:6;4152:9;4148:22;4127:53;:::i;:::-;4117:63;;4072:118;3723:474;;;;;:::o;4203:118::-;4290:24;4308:5;4290:24;:::i;:::-;4285:3;4278:37;4203:118;;:::o;4327:222::-;4420:4;4458:2;4447:9;4443:18;4435:26;;4471:71;4539:1;4528:9;4524:17;4515:6;4471:71;:::i;:::-;4327:222;;;;:::o;4555:619::-;4632:6;4640;4648;4697:2;4685:9;4676:7;4672:23;4668:32;4665:119;;;4703:79;;:::i;:::-;4665:119;4823:1;4848:53;4893:7;4884:6;4873:9;4869:22;4848:53;:::i;:::-;4838:63;;4794:117;4950:2;4976:53;5021:7;5012:6;5001:9;4997:22;4976:53;:::i;:::-;4966:63;;4921:118;5078:2;5104:53;5149:7;5140:6;5129:9;5125:22;5104:53;:::i;:::-;5094:63;;5049:118;4555:619;;;;;:::o;5180:77::-;5217:7;5246:5;5235:16;;5180:77;;;:::o;5263:122::-;5336:24;5354:5;5336:24;:::i;:::-;5329:5;5326:35;5316:63;;5375:1;5372;5365:12;5316:63;5263:122;:::o;5391:139::-;5437:5;5475:6;5462:20;5453:29;;5491:33;5518:5;5491:33;:::i;:::-;5391:139;;;;:::o;5536:329::-;5595:6;5644:2;5632:9;5623:7;5619:23;5615:32;5612:119;;;5650:79;;:::i;:::-;5612:119;5770:1;5795:53;5840:7;5831:6;5820:9;5816:22;5795:53;:::i;:::-;5785:63;;5741:117;5536:329;;;;:::o;5871:118::-;5958:24;5976:5;5958:24;:::i;:::-;5953:3;5946:37;5871:118;;:::o;5995:222::-;6088:4;6126:2;6115:9;6111:18;6103:26;;6139:71;6207:1;6196:9;6192:17;6183:6;6139:71;:::i;:::-;5995:222;;;;:::o;6223:474::-;6291:6;6299;6348:2;6336:9;6327:7;6323:23;6319:32;6316:119;;;6354:79;;:::i;:::-;6316:119;6474:1;6499:53;6544:7;6535:6;6524:9;6520:22;6499:53;:::i;:::-;6489:63;;6445:117;6601:2;6627:53;6672:7;6663:6;6652:9;6648:22;6627:53;:::i;:::-;6617:63;;6572:118;6223:474;;;;;:::o;6703:86::-;6738:7;6778:4;6771:5;6767:16;6756:27;;6703:86;;;:::o;6795:112::-;6878:22;6894:5;6878:22;:::i;:::-;6873:3;6866:35;6795:112;;:::o;6913:214::-;7002:4;7040:2;7029:9;7025:18;7017:26;;7053:67;7117:1;7106:9;7102:17;7093:6;7053:67;:::i;:::-;6913:214;;;;:::o;7133:329::-;7192:6;7241:2;7229:9;7220:7;7216:23;7212:32;7209:119;;;7247:79;;:::i;:::-;7209:119;7367:1;7392:53;7437:7;7428:6;7417:9;7413:22;7392:53;:::i;:::-;7382:63;;7338:117;7133:329;;;;:::o;7468:474::-;7536:6;7544;7593:2;7581:9;7572:7;7568:23;7564:32;7561:119;;;7599:79;;:::i;:::-;7561:119;7719:1;7744:53;7789:7;7780:6;7769:9;7765:22;7744:53;:::i;:::-;7734:63;;7690:117;7846:2;7872:53;7917:7;7908:6;7897:9;7893:22;7872:53;:::i;:::-;7862:63;;7817:118;7468:474;;;;;:::o;7948:180::-;7996:77;7993:1;7986:88;8093:4;8090:1;8083:15;8117:4;8114:1;8107:15;8134:320;8178:6;8215:1;8209:4;8205:12;8195:22;;8262:1;8256:4;8252:12;8283:18;8273:81;;8339:4;8331:6;8327:17;8317:27;;8273:81;8401:2;8393:6;8390:14;8370:18;8367:38;8364:84;;8420:18;;:::i;:::-;8364:84;8185:269;8134:320;;;:::o;8460:227::-;8600:34;8596:1;8588:6;8584:14;8577:58;8669:10;8664:2;8656:6;8652:15;8645:35;8460:227;:::o;8693:366::-;8835:3;8856:67;8920:2;8915:3;8856:67;:::i;:::-;8849:74;;8932:93;9021:3;8932:93;:::i;:::-;9050:2;9045:3;9041:12;9034:19;;8693:366;;;:::o;9065:419::-;9231:4;9269:2;9258:9;9254:18;9246:26;;9318:9;9312:4;9308:20;9304:1;9293:9;9289:17;9282:47;9346:131;9472:4;9346:131;:::i;:::-;9338:139;;9065:419;;;:::o;9490:234::-;9630:34;9626:1;9618:6;9614:14;9607:58;9699:17;9694:2;9686:6;9682:15;9675:42;9490:234;:::o;9730:366::-;9872:3;9893:67;9957:2;9952:3;9893:67;:::i;:::-;9886:74;;9969:93;10058:3;9969:93;:::i;:::-;10087:2;10082:3;10078:12;10071:19;;9730:366;;;:::o;10102:419::-;10268:4;10306:2;10295:9;10291:18;10283:26;;10355:9;10349:4;10345:20;10341:1;10330:9;10326:17;10319:47;10383:131;10509:4;10383:131;:::i;:::-;10375:139;;10102:419;;;:::o;10527:180::-;10575:77;10572:1;10565:88;10672:4;10669:1;10662:15;10696:4;10693:1;10686:15;10713:191;10753:3;10772:20;10790:1;10772:20;:::i;:::-;10767:25;;10806:20;10824:1;10806:20;:::i;:::-;10801:25;;10849:1;10846;10842:9;10835:16;;10870:3;10867:1;10864:10;10861:36;;;10877:18;;:::i;:::-;10861:36;10713:191;;;;:::o;10910:102::-;10952:8;10999:5;10996:1;10992:13;10971:34;;10910:102;;;:::o;11018:848::-;11079:5;11086:4;11110:6;11101:15;;11134:5;11125:14;;11148:712;11169:1;11159:8;11156:15;11148:712;;;11264:4;11259:3;11255:14;11249:4;11246:24;11243:50;;;11273:18;;:::i;:::-;11243:50;11323:1;11313:8;11309:16;11306:451;;;11738:4;11731:5;11727:16;11718:25;;11306:451;11788:4;11782;11778:15;11770:23;;11818:32;11841:8;11818:32;:::i;:::-;11806:44;;11148:712;;;11018:848;;;;;;;:::o;11872:1073::-;11926:5;12117:8;12107:40;;12138:1;12129:10;;12140:5;;12107:40;12166:4;12156:36;;12183:1;12174:10;;12185:5;;12156:36;12252:4;12300:1;12295:27;;;;12336:1;12331:191;;;;12245:277;;12295:27;12313:1;12304:10;;12315:5;;;12331:191;12376:3;12366:8;12363:17;12360:43;;;12383:18;;:::i;:::-;12360:43;12432:8;12429:1;12425:16;12416:25;;12467:3;12460:5;12457:14;12454:40;;;12474:18;;:::i;:::-;12454:40;12507:5;;;12245:277;;12631:2;12621:8;12618:16;12612:3;12606:4;12603:13;12599:36;12581:2;12571:8;12568:16;12563:2;12557:4;12554:12;12550:35;12534:111;12531:246;;;12687:8;12681:4;12677:19;12668:28;;12722:3;12715:5;12712:14;12709:40;;;12729:18;;:::i;:::-;12709:40;12762:5;;12531:246;12802:42;12840:3;12830:8;12824:4;12821:1;12802:42;:::i;:::-;12787:57;;;;12876:4;12871:3;12867:14;12860:5;12857:25;12854:51;;;12885:18;;:::i;:::-;12854:51;12934:4;12927:5;12923:16;12914:25;;11872:1073;;;;;;:::o;12951:281::-;13009:5;13033:23;13051:4;13033:23;:::i;:::-;13025:31;;13077:25;13093:8;13077:25;:::i;:::-;13065:37;;13121:104;13158:66;13148:8;13142:4;13121:104;:::i;:::-;13112:113;;12951:281;;;;:::o;13238:410::-;13278:7;13301:20;13319:1;13301:20;:::i;:::-;13296:25;;13335:20;13353:1;13335:20;:::i;:::-;13330:25;;13390:1;13387;13383:9;13412:30;13430:11;13412:30;:::i;:::-;13401:41;;13591:1;13582:7;13578:15;13575:1;13572:22;13552:1;13545:9;13525:83;13502:139;;13621:18;;:::i;:::-;13502:139;13286:362;13238:410;;;;:::o;13654:224::-;13794:34;13790:1;13782:6;13778:14;13771:58;13863:7;13858:2;13850:6;13846:15;13839:32;13654:224;:::o;13884:366::-;14026:3;14047:67;14111:2;14106:3;14047:67;:::i;:::-;14040:74;;14123:93;14212:3;14123:93;:::i;:::-;14241:2;14236:3;14232:12;14225:19;;13884:366;;;:::o;14256:419::-;14422:4;14460:2;14449:9;14445:18;14437:26;;14509:9;14503:4;14499:20;14495:1;14484:9;14480:17;14473:47;14537:131;14663:4;14537:131;:::i;:::-;14529:139;;14256:419;;;:::o;14681:223::-;14821:34;14817:1;14809:6;14805:14;14798:58;14890:6;14885:2;14877:6;14873:15;14866:31;14681:223;:::o;14910:366::-;15052:3;15073:67;15137:2;15132:3;15073:67;:::i;:::-;15066:74;;15149:93;15238:3;15149:93;:::i;:::-;15267:2;15262:3;15258:12;15251:19;;14910:366;;;:::o;15282:419::-;15448:4;15486:2;15475:9;15471:18;15463:26;;15535:9;15529:4;15525:20;15521:1;15510:9;15506:17;15499:47;15563:131;15689:4;15563:131;:::i;:::-;15555:139;;15282:419;;;:::o;15707:221::-;15847:34;15843:1;15835:6;15831:14;15824:58;15916:4;15911:2;15903:6;15899:15;15892:29;15707:221;:::o;15934:366::-;16076:3;16097:67;16161:2;16156:3;16097:67;:::i;:::-;16090:74;;16173:93;16262:3;16173:93;:::i;:::-;16291:2;16286:3;16282:12;16275:19;;15934:366;;;:::o;16306:419::-;16472:4;16510:2;16499:9;16495:18;16487:26;;16559:9;16553:4;16549:20;16545:1;16534:9;16530:17;16523:47;16587:131;16713:4;16587:131;:::i;:::-;16579:139;;16306:419;;;:::o;16731:224::-;16871:34;16867:1;16859:6;16855:14;16848:58;16940:7;16935:2;16927:6;16923:15;16916:32;16731:224;:::o;16961:366::-;17103:3;17124:67;17188:2;17183:3;17124:67;:::i;:::-;17117:74;;17200:93;17289:3;17200:93;:::i;:::-;17318:2;17313:3;17309:12;17302:19;;16961:366;;;:::o;17333:419::-;17499:4;17537:2;17526:9;17522:18;17514:26;;17586:9;17580:4;17576:20;17572:1;17561:9;17557:17;17550:47;17614:131;17740:4;17614:131;:::i;:::-;17606:139;;17333:419;;;:::o;17758:148::-;17860:11;17897:3;17882:18;;17758:148;;;;:::o;17912:173::-;18052:25;18048:1;18040:6;18036:14;18029:49;17912:173;:::o;18091:402::-;18251:3;18272:85;18354:2;18349:3;18272:85;:::i;:::-;18265:92;;18366:93;18455:3;18366:93;:::i;:::-;18484:2;18479:3;18475:12;18468:19;;18091:402;;;:::o;18499:390::-;18605:3;18633:39;18666:5;18633:39;:::i;:::-;18688:89;18770:6;18765:3;18688:89;:::i;:::-;18681:96;;18786:65;18844:6;18839:3;18832:4;18825:5;18821:16;18786:65;:::i;:::-;18876:6;18871:3;18867:16;18860:23;;18609:280;18499:390;;;;:::o;18895:167::-;19035:19;19031:1;19023:6;19019:14;19012:43;18895:167;:::o;19068:402::-;19228:3;19249:85;19331:2;19326:3;19249:85;:::i;:::-;19242:92;;19343:93;19432:3;19343:93;:::i;:::-;19461:2;19456:3;19452:12;19445:19;;19068:402;;;:::o;19476:967::-;19858:3;19880:148;20024:3;19880:148;:::i;:::-;19873:155;;20045:95;20136:3;20127:6;20045:95;:::i;:::-;20038:102;;20157:148;20301:3;20157:148;:::i;:::-;20150:155;;20322:95;20413:3;20404:6;20322:95;:::i;:::-;20315:102;;20434:3;20427:10;;19476:967;;;;;:::o;20449:222::-;20589:34;20585:1;20577:6;20573:14;20566:58;20658:5;20653:2;20645:6;20641:15;20634:30;20449:222;:::o;20677:366::-;20819:3;20840:67;20904:2;20899:3;20840:67;:::i;:::-;20833:74;;20916:93;21005:3;20916:93;:::i;:::-;21034:2;21029:3;21025:12;21018:19;;20677:366;;;:::o;21049:419::-;21215:4;21253:2;21242:9;21238:18;21230:26;;21302:9;21296:4;21292:20;21288:1;21277:9;21273:17;21266:47;21330:131;21456:4;21330:131;:::i;:::-;21322:139;;21049:419;;;:::o;21474:180::-;21522:77;21519:1;21512:88;21619:4;21616:1;21609:15;21643:4;21640:1;21633:15;21660:180;21708:77;21705:1;21698:88;21805:4;21802:1;21795:15;21829:4;21826:1;21819:15;21846:171;21885:3;21908:24;21926:5;21908:24;:::i;:::-;21899:33;;21954:4;21947:5;21944:15;21941:41;;21962:18;;:::i;:::-;21941:41;22009:1;22002:5;21998:13;21991:20;;21846:171;;;:::o;22023:182::-;22163:34;22159:1;22151:6;22147:14;22140:58;22023:182;:::o;22211:366::-;22353:3;22374:67;22438:2;22433:3;22374:67;:::i;:::-;22367:74;;22450:93;22539:3;22450:93;:::i;:::-;22568:2;22563:3;22559:12;22552:19;;22211:366;;;:::o;22583:419::-;22749:4;22787:2;22776:9;22772:18;22764:26;;22836:9;22830:4;22826:20;22822:1;22811:9;22807:17;22800:47;22864:131;22990:4;22864:131;:::i;:::-;22856:139;;22583:419;;;:::o;23008:225::-;23148:34;23144:1;23136:6;23132:14;23125:58;23217:8;23212:2;23204:6;23200:15;23193:33;23008:225;:::o;23239:366::-;23381:3;23402:67;23466:2;23461:3;23402:67;:::i;:::-;23395:74;;23478:93;23567:3;23478:93;:::i;:::-;23596:2;23591:3;23587:12;23580:19;;23239:366;;;:::o;23611:419::-;23777:4;23815:2;23804:9;23800:18;23792:26;;23864:9;23858:4;23854:20;23850:1;23839:9;23835:17;23828:47;23892:131;24018:4;23892:131;:::i;:::-;23884:139;;23611:419;;;:::o;24036:194::-;24076:4;24096:20;24114:1;24096:20;:::i;:::-;24091:25;;24130:20;24148:1;24130:20;:::i;:::-;24125:25;;24174:1;24171;24167:9;24159:17;;24198:1;24192:4;24189:11;24186:37;;;24203:18;;:::i;:::-;24186:37;24036:194;;;;:::o

Swarm Source

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