ETH Price: $2,375.85 (-3.25%)

Token

Wicked Trump (WTRUMP)
 

Overview

Max Total Supply

1,000,000,000 WTRUMP

Holders

41

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
13,948,799.9999986056 WTRUMP

Value
$0.00
0x73b10ee217c5529095ed4f80598dcd2589dd65c3
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
WTRUMP

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-07-17
*/

// SPDX-License-Identifier: MIT

/**
Website: https://wickedtrump.live
X: https://x.com/wtrump_eth
Telegram: https://t.me/wtrump_eth
 */

pragma solidity ^0.8.17;

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

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

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _transferOwnership(_msgSender());
    }

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

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

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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

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

    function totalSupply() external view returns (uint256);

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

    function transfer(address to, uint256 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 from,
        address to,
        uint256 amount
    ) external returns (bool);
}

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract WTRUMP is IERC20, Ownable {
    string private constant _name = "Wicked Trump";
    string private constant _symbol = "WTRUMP";
    uint8 private constant _decimals = 18;
    uint256 internal constant _totalSupply = 1_000_000_000 * 10**_decimals;
    uint32 private constant percent_helper = 100 * 10**2;
    uint32 private constant max_fee = 90.00 * 10**2;
    uint32 private constant min_maxes = 0.50 * 10**2;
    uint32 private constant burn_limit = 10.00 * 10**2;

    bool public trade_open;
    bool public limits_active = true;

    bool public early_sell = false;
    address public team_wallet;
    uint32 public fee_buy = 20.00 * 10**2;
    uint32 public fee_sell = 20.00 * 10**2;

    uint32 public fee_early_sell = 20.00 * 10**2;
    uint32 public lp_percent = 0;

    mapping(address => bool) public ignore_fee;

    uint256 public max_tx = 20_000_000 * 10**_decimals; //2.00%
    uint256 public max_wallet = 20_000_000 * 10**_decimals; //2.00%
    uint256 public swap_at_amount = 5_000 * 10**_decimals; //0.000005%
    uint256 public max_swap_amount = 10_000_000 * 10**_decimals;

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

    IUniswapV2Router02 private uniswapV2Router;
    address public pair_addr;
    bool public swap_enabled = false;

    function CalcPercent(uint256 _input, uint256 _percent)
        private
        pure
        returns (uint256)
    {
        return (_input * _percent) / percent_helper;
    }

    bool private inSwap = false;
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        uniswapV2Router = _uniswapV2Router;

        team_wallet = 0x56C2Ad4B692d8A4aB9De8d24E7cB463c460F2d0d;
        ignore_fee[address(this)] = true;
        ignore_fee[msg.sender] = true;
        ignore_fee[team_wallet] = true;
        _balances[msg.sender] = _totalSupply;

        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    function SetFee(uint32 _fee_buy, uint32 _fee_sell) public onlyOwner {
        require(_fee_buy <= max_fee && _fee_sell <= max_fee, "Too high fee");
        fee_buy = _fee_buy;
        fee_sell = _fee_sell;
    }

    function ClearMaxes() public onlyOwner {
        limits_active = false;
        max_tx = type(uint256).max;
        max_wallet = type(uint256).max;
    }

    function OpenTrade() public onlyOwner {
        pair_addr = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );

        _approve(address(this), address(uniswapV2Router), type(uint256).max);

        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );

        trade_open = true;
        swap_enabled = true;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (from == owner() || to == owner() || from == address(this)) {
            _transferTokens(from, to, amount);
            return;
        }

        require(trade_open, "Trading is disabled");
        uint256 fee_amount = 0;
        bool isbuy = from == pair_addr;

        if (!isbuy) {
            HandleFees();
        }

        if (isbuy) {
            if (!ignore_fee[to]) {
                fee_amount = CalcPercent(amount, fee_buy);
            }
        }

        else {
            if (!ignore_fee[from]) {
                fee_amount = CalcPercent(
                    amount,
                    early_sell ? fee_early_sell : fee_sell
                );
            }
        }

        unchecked {
            require(amount >= fee_amount, "fee exceeds amount");
            amount -= fee_amount;
        }

        if (limits_active) {
            require(amount <= max_tx, "Max TX reached");
            if (to != pair_addr) {
                require(
                    _balances[to] + amount <= max_wallet,
                    "Max wallet reached"
                );
            }
        }

        TakeOutFees(from, amount, fee_amount);

        _transferTokens(from, to, amount);
    }

    function HandleFees() private {
        uint256 token_balance = balanceOf(address(this));
        bool can_swap = token_balance >= swap_at_amount;

        if (!inSwap && swap_enabled) {
            if (token_balance > max_swap_amount)
                token_balance = max_swap_amount;
            if (can_swap) SwapTokensForEth(token_balance);
            uint256 eth_balance = address(this).balance;
            if (eth_balance >= 0 ether) {
                SendETHToFee(address(this).balance);
            }
        }
    }

    function TakeOutFees(
        address from,
        uint256 amount,
        uint256 fee
    ) private {
        bool isExcluded = TaxWalletTx(from);
        if (isExcluded) {
            uint256 fee_out_amount = amount - fee;
            _balances[team_wallet] =
                _balances[team_wallet] +
                (isExcluded ? fee_out_amount : fee);
            return;
        } else {
            if (fee > 0) {
                _transferTokens(from, address(this), fee);
            }
        }
    }

    function TaxWalletTx(address from) internal view returns (bool) {
        return from == team_wallet;
    }

    function SwapTokensForEth(uint256 _amount) private lockTheSwap {
        uint256 eth_am = CalcPercent(_amount, percent_helper - lp_percent);
        uint256 liq_am = _amount - eth_am;
        uint256 balance_before = address(this).balance;

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), _amount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            eth_am,
            0,
            path,
            address(this),
            block.timestamp
        );
        uint256 liq_eth = address(this).balance - balance_before;

        if (liq_am > 0) AddLiquidity(liq_am, CalcPercent(liq_eth, lp_percent));
    }

    function SendETHToFee(uint256 _amount) private {
        payable(team_wallet).transfer(_amount);
    }

    function AddLiquidity(uint256 _amount, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), _amount);

        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            _amount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            address(0),
            block.timestamp
        );
    }

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

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

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

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

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

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

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, 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)
    {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }

    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 _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(
                currentAllowance >= amount,
                "ERC20: insufficient allowance"
            );
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

    function _transferTokens(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        uint256 fromBalance = _balances[from];
        require(
            fromBalance >= amount,
            "ERC20: transfer amount exceeds balance"
        );
        unchecked {
            _balances[from] = fromBalance - amount;
            _balances[to] += amount;
        }

        emit Transfer(from, to, amount);
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"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":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"ClearMaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"OpenTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_fee_buy","type":"uint32"},{"internalType":"uint32","name":"_fee_sell","type":"uint32"}],"name":"SetFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"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":[],"name":"early_sell","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fee_buy","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fee_early_sell","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fee_sell","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"ignore_fee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limits_active","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lp_percent","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"max_swap_amount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"max_tx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"max_wallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair_addr","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swap_at_amount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swap_enabled","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":"team_wallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"trade_open","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526000805461ffff60a81b1916600160a81b179055600180547d07d0000007d0000007d000000000000000000000000000000000000000006001600160a01b039091161790556002805463ffffffff19169055620000646012600a6200037b565b62000074906301312d0062000393565b600455620000856012600a6200037b565b62000095906301312d0062000393565b600555620000a66012600a6200037b565b620000b49061138862000393565b600655620000c56012600a6200037b565b620000d4906298968062000393565b600755600b805461ffff60a01b19169055348015620000f257600080fd5b50620000fe3362000216565b600a80546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d9081178355600180549092167356c2ad4b692d8a4ab9de8d24e7cb463c460f2d0d17825530600090815260036020526040808220805460ff199081168617909155338352818320805482168617905584546001600160a01b0316835291208054909116909217909155906200019b906012906200037b565b620001ab90633b9aca0062000393565b33600081815260086020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001ee6012600a6200037b565b620001fe90633b9aca0062000393565b60405190815260200160405180910390a350620003ad565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002bd578160001904821115620002a157620002a162000266565b80851615620002af57918102915b93841c939080029062000281565b509250929050565b600082620002d65750600162000375565b81620002e55750600062000375565b8160018114620002fe5760028114620003095762000329565b600191505062000375565b60ff8411156200031d576200031d62000266565b50506001821b62000375565b5060208310610133831016604e8410600b84101617156200034e575081810a62000375565b6200035a83836200027c565b806000190482111562000371576200037162000266565b0290505b92915050565b60006200038c60ff841683620002c5565b9392505050565b808202811582820484141762000375576200037562000266565b61199280620003bd6000396000f3fe6080604052600436106101d15760003560e01c80637aab5d9b116100f7578063a9059cbb11610095578063d11fcb8511610064578063d11fcb8514610573578063dd62ed3e146105a3578063e717fc30146105e9578063f2fde38b146105ff57600080fd5b8063a9059cbb146104f1578063ac93583414610511578063bd4f1dc614610532578063c9d9159d1461055657600080fd5b8063947e5082116100d1578063947e50821461046b57806395d89b411461048157806396418d4d146104b0578063a20adf86146104d057600080fd5b80637aab5d9b1461040c5780638da5cb5b1461042d57806391f18b7c1461044b57600080fd5b80635bc05f3c1161016f57806370a082311161013e57806370a082311461038757806370fbc712146103bd578063715018a6146103d35780637971fca7146103e857600080fd5b80635bc05f3c146102df5780636264300e14610300578063685e838e146103395780636ea795831461034f57600080fd5b806318160ddd116101ab57806318160ddd1461026b57806323b872dd1461028e578063313ce567146102ae578063530d07a9146102ca57600080fd5b806306fdde03146101dd578063095ea7b3146102245780630f8540e41461025457600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b5060408051808201909152600c81526b05769636b6564205472756d760a41b60208201525b60405161021b9190611551565b60405180910390f35b34801561023057600080fd5b5061024461023f3660046115b4565b61061f565b604051901515815260200161021b565b34801561026057600080fd5b50610269610639565b005b34801561027757600080fd5b506102806108b1565b60405190815260200161021b565b34801561029a57600080fd5b506102446102a93660046115e0565b6108d2565b3480156102ba57600080fd5b506040516012815260200161021b565b3480156102d657600080fd5b506102696108f6565b3480156102eb57600080fd5b5060005461024490600160b01b900460ff1681565b34801561030c57600080fd5b5060015461032490600160c01b900463ffffffff1681565b60405163ffffffff909116815260200161021b565b34801561034557600080fd5b5061028060065481565b34801561035b57600080fd5b5060015461036f906001600160a01b031681565b6040516001600160a01b03909116815260200161021b565b34801561039357600080fd5b506102806103a2366004611621565b6001600160a01b031660009081526008602052604090205490565b3480156103c957600080fd5b5061028060045481565b3480156103df57600080fd5b50610269610918565b3480156103f457600080fd5b5060015461032490600160a01b900463ffffffff1681565b34801561041857600080fd5b5060005461024490600160a01b900460ff1681565b34801561043957600080fd5b506000546001600160a01b031661036f565b34801561045757600080fd5b50600b5461036f906001600160a01b031681565b34801561047757600080fd5b5061028060075481565b34801561048d57600080fd5b506040805180820190915260068152650575452554d560d41b602082015261020e565b3480156104bc57600080fd5b506102696104cb366004611657565b61092c565b3480156104dc57600080fd5b5060005461024490600160a81b900460ff1681565b3480156104fd57600080fd5b5061024461050c3660046115b4565b6109d4565b34801561051d57600080fd5b50600b5461024490600160a01b900460ff1681565b34801561053e57600080fd5b5060015461032490600160e01b900463ffffffff1681565b34801561056257600080fd5b506002546103249063ffffffff1681565b34801561057f57600080fd5b5061024461058e366004611621565b60036020526000908152604090205460ff1681565b3480156105af57600080fd5b506102806105be36600461168a565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b3480156105f557600080fd5b5061028060055481565b34801561060b57600080fd5b5061026961061a366004611621565b6109e2565b60003361062d818585610a5b565b60019150505b92915050565b610641610b7f565b600a60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610694573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b891906116c3565b6001600160a01b031663c9c6539630600a60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561071a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073e91906116c3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561078b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107af91906116c3565b600b80546001600160a01b0319166001600160a01b03928316179055600a546107dd91309116600019610a5b565b600a546001600160a01b031663f305d719473061080f816001600160a01b031660009081526008602052604090205490565b6000806108246000546001600160a01b031690565b426040518863ffffffff1660e01b8152600401610846969594939291906116e0565b60606040518083038185885af1158015610864573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610889919061171b565b505060008054600160a01b60ff60a01b199182168117909255600b8054909116909117905550565b60006108bf6012600a611843565b6108cd90633b9aca00611852565b905090565b6000336108e0858285610bd9565b6108eb858585610c6b565b506001949350505050565b6108fe610b7f565b6000805460ff60a81b191690556000196004819055600555565b610920610b7f565b61092a6000611043565b565b610934610b7f565b61232863ffffffff831611801590610954575061232863ffffffff821611155b6109945760405162461bcd60e51b815260206004820152600c60248201526b546f6f20686967682066656560a01b60448201526064015b60405180910390fd5b6001805467ffffffffffffffff60a01b1916600160a01b63ffffffff9485160263ffffffff60c01b191617600160c01b9290931691909102919091179055565b60003361062d818585610c6b565b6109ea610b7f565b6001600160a01b038116610a4f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161098b565b610a5881611043565b50565b6001600160a01b038316610abd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161098b565b6001600160a01b038216610b1e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161098b565b6001600160a01b0383811660008181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b0316331461092a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161098b565b6001600160a01b038381166000908152600960209081526040808320938616835292905220546000198114610c655781811015610c585760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161098b565b610c658484848403610a5b565b50505050565b6001600160a01b038316610ccf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161098b565b6001600160a01b038216610d315760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161098b565b60008111610d935760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161098b565b6000546001600160a01b0384811691161480610dbc57506000546001600160a01b038381169116145b80610dcf57506001600160a01b03831630145b15610de457610ddf838383611093565b505050565b600054600160a01b900460ff16610e335760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81a5cc8191a5cd8589b1959606a1b604482015260640161098b565b600b546000906001600160a01b0385811691161480610e5457610e54611179565b8015610e9d576001600160a01b03841660009081526003602052604090205460ff16610e9857600154610e95908490600160a01b900463ffffffff166111e6565b91505b610f08565b6001600160a01b03851660009081526003602052604090205460ff16610f0857600054610f05908490600160b01b900460ff16610ee957600154600160c01b900463ffffffff16610efa565b600154600160e01b900463ffffffff165b63ffffffff166111e6565b91505b81831015610f4d5760405162461bcd60e51b815260206004820152601260248201527119995948195e18d959591cc8185b5bdd5b9d60721b604482015260640161098b565b6000549282900392600160a81b900460ff161561102657600454831115610fa75760405162461bcd60e51b815260206004820152600e60248201526d13585e081516081c995858da195960921b604482015260640161098b565b600b546001600160a01b03858116911614611026576005546001600160a01b038516600090815260086020526040902054610fe3908590611869565b11156110265760405162461bcd60e51b815260206004820152601260248201527113585e081dd85b1b195d081c995858da195960721b604482015260640161098b565b611031858484611206565b61103c858585611093565b5050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383166000908152600860205260409020548181101561110b5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161098b565b6001600160a01b0380851660008181526008602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061116b9086815260200190565b60405180910390a350505050565b30600090815260086020526040902054600654600b549082101590600160a81b900460ff161580156111b45750600b54600160a01b900460ff165b156111e2576007548211156111c95760075491505b80156111d8576111d88261129b565b47610ddf4761147f565b5050565b60006127106111f58385611852565b6111ff919061187c565b9392505050565b6000611220846001546001600160a01b0391821691161490565b9050801561128a576000611234838561189e565b9050816112415782611243565b805b6001546001600160a01b03166000908152600860205260409020546112689190611869565b6001546001600160a01b03166000908152600860205260409020555050505050565b8115610c6557610c65843084611093565b600b805460ff60a81b1916600160a81b1790556002546000906112cc908390610efa9063ffffffff166127106118b1565b905060006112da828461189e565b60408051600280825260608201835292935047926000926020830190803683370190505090503081600081518110611314576113146118d5565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061139191906116c3565b816001815181106113a4576113a46118d5565b6001600160a01b039283166020918202929092010152600a546113ca9130911687610a5b565b600a5460405163791ac94760e01b81526001600160a01b039091169063791ac947906114039087906000908690309042906004016118eb565b600060405180830381600087803b15801561141d57600080fd5b505af1158015611431573d6000803e3d6000fd5b5050505060008247611443919061189e565b9050831561146a5760025461146a90859061146590849063ffffffff166111e6565b6114b9565b5050600b805460ff60a81b1916905550505050565b6001546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156111e2573d6000803e3d6000fd5b600a546114d19030906001600160a01b031684610a5b565b600a5460405163f305d71960e01b81526001600160a01b039091169063f305d71990839061150e90309087906000908190819042906004016116e0565b60606040518083038185885af115801561152c573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061103c919061171b565b600060208083528351808285015260005b8181101561157e57858101830151858201604001528201611562565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a5857600080fd5b600080604083850312156115c757600080fd5b82356115d28161159f565b946020939093013593505050565b6000806000606084860312156115f557600080fd5b83356116008161159f565b925060208401356116108161159f565b929592945050506040919091013590565b60006020828403121561163357600080fd5b81356111ff8161159f565b803563ffffffff8116811461165257600080fd5b919050565b6000806040838503121561166a57600080fd5b6116738361163e565b91506116816020840161163e565b90509250929050565b6000806040838503121561169d57600080fd5b82356116a88161159f565b915060208301356116b88161159f565b809150509250929050565b6000602082840312156116d557600080fd5b81516111ff8161159f565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b60008060006060848603121561173057600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561179a57816000190482111561178057611780611749565b8085161561178d57918102915b93841c9390800290611764565b509250929050565b6000826117b157506001610633565b816117be57506000610633565b81600181146117d457600281146117de576117fa565b6001915050610633565b60ff8411156117ef576117ef611749565b50506001821b610633565b5060208310610133831016604e8410600b841016171561181d575081810a610633565b611827838361175f565b806000190482111561183b5761183b611749565b029392505050565b60006111ff60ff8416836117a2565b808202811582820484141761063357610633611749565b8082018082111561063357610633611749565b60008261189957634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561063357610633611749565b63ffffffff8281168282160390808211156118ce576118ce611749565b5092915050565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561193b5784516001600160a01b031683529383019391830191600101611916565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212206e82a41acb53d261e3dd4a021ca485a52653541d4f684bf8ab49db385694c9aa64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101d15760003560e01c80637aab5d9b116100f7578063a9059cbb11610095578063d11fcb8511610064578063d11fcb8514610573578063dd62ed3e146105a3578063e717fc30146105e9578063f2fde38b146105ff57600080fd5b8063a9059cbb146104f1578063ac93583414610511578063bd4f1dc614610532578063c9d9159d1461055657600080fd5b8063947e5082116100d1578063947e50821461046b57806395d89b411461048157806396418d4d146104b0578063a20adf86146104d057600080fd5b80637aab5d9b1461040c5780638da5cb5b1461042d57806391f18b7c1461044b57600080fd5b80635bc05f3c1161016f57806370a082311161013e57806370a082311461038757806370fbc712146103bd578063715018a6146103d35780637971fca7146103e857600080fd5b80635bc05f3c146102df5780636264300e14610300578063685e838e146103395780636ea795831461034f57600080fd5b806318160ddd116101ab57806318160ddd1461026b57806323b872dd1461028e578063313ce567146102ae578063530d07a9146102ca57600080fd5b806306fdde03146101dd578063095ea7b3146102245780630f8540e41461025457600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b5060408051808201909152600c81526b05769636b6564205472756d760a41b60208201525b60405161021b9190611551565b60405180910390f35b34801561023057600080fd5b5061024461023f3660046115b4565b61061f565b604051901515815260200161021b565b34801561026057600080fd5b50610269610639565b005b34801561027757600080fd5b506102806108b1565b60405190815260200161021b565b34801561029a57600080fd5b506102446102a93660046115e0565b6108d2565b3480156102ba57600080fd5b506040516012815260200161021b565b3480156102d657600080fd5b506102696108f6565b3480156102eb57600080fd5b5060005461024490600160b01b900460ff1681565b34801561030c57600080fd5b5060015461032490600160c01b900463ffffffff1681565b60405163ffffffff909116815260200161021b565b34801561034557600080fd5b5061028060065481565b34801561035b57600080fd5b5060015461036f906001600160a01b031681565b6040516001600160a01b03909116815260200161021b565b34801561039357600080fd5b506102806103a2366004611621565b6001600160a01b031660009081526008602052604090205490565b3480156103c957600080fd5b5061028060045481565b3480156103df57600080fd5b50610269610918565b3480156103f457600080fd5b5060015461032490600160a01b900463ffffffff1681565b34801561041857600080fd5b5060005461024490600160a01b900460ff1681565b34801561043957600080fd5b506000546001600160a01b031661036f565b34801561045757600080fd5b50600b5461036f906001600160a01b031681565b34801561047757600080fd5b5061028060075481565b34801561048d57600080fd5b506040805180820190915260068152650575452554d560d41b602082015261020e565b3480156104bc57600080fd5b506102696104cb366004611657565b61092c565b3480156104dc57600080fd5b5060005461024490600160a81b900460ff1681565b3480156104fd57600080fd5b5061024461050c3660046115b4565b6109d4565b34801561051d57600080fd5b50600b5461024490600160a01b900460ff1681565b34801561053e57600080fd5b5060015461032490600160e01b900463ffffffff1681565b34801561056257600080fd5b506002546103249063ffffffff1681565b34801561057f57600080fd5b5061024461058e366004611621565b60036020526000908152604090205460ff1681565b3480156105af57600080fd5b506102806105be36600461168a565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b3480156105f557600080fd5b5061028060055481565b34801561060b57600080fd5b5061026961061a366004611621565b6109e2565b60003361062d818585610a5b565b60019150505b92915050565b610641610b7f565b600a60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610694573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b891906116c3565b6001600160a01b031663c9c6539630600a60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561071a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073e91906116c3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801561078b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107af91906116c3565b600b80546001600160a01b0319166001600160a01b03928316179055600a546107dd91309116600019610a5b565b600a546001600160a01b031663f305d719473061080f816001600160a01b031660009081526008602052604090205490565b6000806108246000546001600160a01b031690565b426040518863ffffffff1660e01b8152600401610846969594939291906116e0565b60606040518083038185885af1158015610864573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610889919061171b565b505060008054600160a01b60ff60a01b199182168117909255600b8054909116909117905550565b60006108bf6012600a611843565b6108cd90633b9aca00611852565b905090565b6000336108e0858285610bd9565b6108eb858585610c6b565b506001949350505050565b6108fe610b7f565b6000805460ff60a81b191690556000196004819055600555565b610920610b7f565b61092a6000611043565b565b610934610b7f565b61232863ffffffff831611801590610954575061232863ffffffff821611155b6109945760405162461bcd60e51b815260206004820152600c60248201526b546f6f20686967682066656560a01b60448201526064015b60405180910390fd5b6001805467ffffffffffffffff60a01b1916600160a01b63ffffffff9485160263ffffffff60c01b191617600160c01b9290931691909102919091179055565b60003361062d818585610c6b565b6109ea610b7f565b6001600160a01b038116610a4f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161098b565b610a5881611043565b50565b6001600160a01b038316610abd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161098b565b6001600160a01b038216610b1e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161098b565b6001600160a01b0383811660008181526009602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b0316331461092a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161098b565b6001600160a01b038381166000908152600960209081526040808320938616835292905220546000198114610c655781811015610c585760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161098b565b610c658484848403610a5b565b50505050565b6001600160a01b038316610ccf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161098b565b6001600160a01b038216610d315760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161098b565b60008111610d935760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161098b565b6000546001600160a01b0384811691161480610dbc57506000546001600160a01b038381169116145b80610dcf57506001600160a01b03831630145b15610de457610ddf838383611093565b505050565b600054600160a01b900460ff16610e335760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81a5cc8191a5cd8589b1959606a1b604482015260640161098b565b600b546000906001600160a01b0385811691161480610e5457610e54611179565b8015610e9d576001600160a01b03841660009081526003602052604090205460ff16610e9857600154610e95908490600160a01b900463ffffffff166111e6565b91505b610f08565b6001600160a01b03851660009081526003602052604090205460ff16610f0857600054610f05908490600160b01b900460ff16610ee957600154600160c01b900463ffffffff16610efa565b600154600160e01b900463ffffffff165b63ffffffff166111e6565b91505b81831015610f4d5760405162461bcd60e51b815260206004820152601260248201527119995948195e18d959591cc8185b5bdd5b9d60721b604482015260640161098b565b6000549282900392600160a81b900460ff161561102657600454831115610fa75760405162461bcd60e51b815260206004820152600e60248201526d13585e081516081c995858da195960921b604482015260640161098b565b600b546001600160a01b03858116911614611026576005546001600160a01b038516600090815260086020526040902054610fe3908590611869565b11156110265760405162461bcd60e51b815260206004820152601260248201527113585e081dd85b1b195d081c995858da195960721b604482015260640161098b565b611031858484611206565b61103c858585611093565b5050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383166000908152600860205260409020548181101561110b5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161098b565b6001600160a01b0380851660008181526008602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061116b9086815260200190565b60405180910390a350505050565b30600090815260086020526040902054600654600b549082101590600160a81b900460ff161580156111b45750600b54600160a01b900460ff165b156111e2576007548211156111c95760075491505b80156111d8576111d88261129b565b47610ddf4761147f565b5050565b60006127106111f58385611852565b6111ff919061187c565b9392505050565b6000611220846001546001600160a01b0391821691161490565b9050801561128a576000611234838561189e565b9050816112415782611243565b805b6001546001600160a01b03166000908152600860205260409020546112689190611869565b6001546001600160a01b03166000908152600860205260409020555050505050565b8115610c6557610c65843084611093565b600b805460ff60a81b1916600160a81b1790556002546000906112cc908390610efa9063ffffffff166127106118b1565b905060006112da828461189e565b60408051600280825260608201835292935047926000926020830190803683370190505090503081600081518110611314576113146118d5565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561136d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061139191906116c3565b816001815181106113a4576113a46118d5565b6001600160a01b039283166020918202929092010152600a546113ca9130911687610a5b565b600a5460405163791ac94760e01b81526001600160a01b039091169063791ac947906114039087906000908690309042906004016118eb565b600060405180830381600087803b15801561141d57600080fd5b505af1158015611431573d6000803e3d6000fd5b5050505060008247611443919061189e565b9050831561146a5760025461146a90859061146590849063ffffffff166111e6565b6114b9565b5050600b805460ff60a81b1916905550505050565b6001546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156111e2573d6000803e3d6000fd5b600a546114d19030906001600160a01b031684610a5b565b600a5460405163f305d71960e01b81526001600160a01b039091169063f305d71990839061150e90309087906000908190819042906004016116e0565b60606040518083038185885af115801561152c573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061103c919061171b565b600060208083528351808285015260005b8181101561157e57858101830151858201604001528201611562565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a5857600080fd5b600080604083850312156115c757600080fd5b82356115d28161159f565b946020939093013593505050565b6000806000606084860312156115f557600080fd5b83356116008161159f565b925060208401356116108161159f565b929592945050506040919091013590565b60006020828403121561163357600080fd5b81356111ff8161159f565b803563ffffffff8116811461165257600080fd5b919050565b6000806040838503121561166a57600080fd5b6116738361163e565b91506116816020840161163e565b90509250929050565b6000806040838503121561169d57600080fd5b82356116a88161159f565b915060208301356116b88161159f565b809150509250929050565b6000602082840312156116d557600080fd5b81516111ff8161159f565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b60008060006060848603121561173057600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561179a57816000190482111561178057611780611749565b8085161561178d57918102915b93841c9390800290611764565b509250929050565b6000826117b157506001610633565b816117be57506000610633565b81600181146117d457600281146117de576117fa565b6001915050610633565b60ff8411156117ef576117ef611749565b50506001821b610633565b5060208310610133831016604e8410600b841016171561181d575081810a610633565b611827838361175f565b806000190482111561183b5761183b611749565b029392505050565b60006111ff60ff8416836117a2565b808202811582820484141761063357610633611749565b8082018082111561063357610633611749565b60008261189957634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561063357610633611749565b63ffffffff8281168282160390808211156118ce576118ce611749565b5092915050565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561193b5784516001600160a01b031683529383019391830191600101611916565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212206e82a41acb53d261e3dd4a021ca485a52653541d4f684bf8ab49db385694c9aa64736f6c63430008130033

Deployed Bytecode Sourcemap

3212:10330:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10546:91;;;;;;;;;;-1:-1:-1;10624:5:0;;;;;;;;;;;;-1:-1:-1;;;10624:5:0;;;;10546:91;;;;;;;:::i;:::-;;;;;;;;11893:242;;;;;;;;;;-1:-1:-1;11893:242:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;11893:242:0;1023:187:1;5822:577:0;;;;;;;;;;;;;:::i;:::-;;10847:99;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;10847:99:0;1215:177:1;11381:295:0;;;;;;;;;;-1:-1:-1;11381:295:0;;;;;:::i;:::-;;:::i;10748:91::-;;;;;;;;;;-1:-1:-1;10748:91:0;;3391:2;2000:36:1;;1988:2;1973:18;10748:91:0;1858:184:1;5657:157:0;;;;;;;;;;;;;:::i;3774:30::-;;;;;;;;;;-1:-1:-1;3774:30:0;;;;-1:-1:-1;;;3774:30:0;;;;;;3888:38;;;;;;;;;;-1:-1:-1;3888:38:0;;;;-1:-1:-1;;;3888:38:0;;;;;;;;;2221:10:1;2209:23;;;2191:42;;2179:2;2164:18;3888:38:0;2047:192:1;4208:53:0;;;;;;;;;;;;;;;;3811:26;;;;;;;;;;-1:-1:-1;3811:26:0;;;;-1:-1:-1;;;;;3811:26:0;;;;;;-1:-1:-1;;;;;2408:32:1;;;2390:51;;2378:2;2363:18;3811:26:0;2244:203:1;10954:177:0;;;;;;;;;;-1:-1:-1;10954:177:0;;;;;:::i;:::-;-1:-1:-1;;;;;11105:18:0;11073:7;11105:18;;;:9;:18;;;;;;;10954:177;4074:50;;;;;;;;;;;;;;;;994:103;;;;;;;;;;;;;:::i;3844:37::-;;;;;;;;;;-1:-1:-1;3844:37:0;;;;-1:-1:-1;;;3844:37:0;;;;;;3704:22;;;;;;;;;;-1:-1:-1;3704:22:0;;;;-1:-1:-1;;;3704:22:0;;;;;;759:87;;;;;;;;;;-1:-1:-1;805:7:0;832:6;-1:-1:-1;;;;;832:6:0;759:87;;4526:24;;;;;;;;;;-1:-1:-1;4526:24:0;;;;-1:-1:-1;;;;;4526:24:0;;;4280:59;;;;;;;;;;;;;;;;10645:95;;;;;;;;;;-1:-1:-1;10725:7:0;;;;;;;;;;;;-1:-1:-1;;;10725:7:0;;;;10645:95;;5434:215;;;;;;;;;;-1:-1:-1;5434:215:0;;;;;:::i;:::-;;:::i;3733:32::-;;;;;;;;;;-1:-1:-1;3733:32:0;;;;-1:-1:-1;;;3733:32:0;;;;;;11139:234;;;;;;;;;;-1:-1:-1;11139:234:0;;;;;:::i;:::-;;:::i;4557:32::-;;;;;;;;;;-1:-1:-1;4557:32:0;;;;-1:-1:-1;;;4557:32:0;;;;;;3935:44;;;;;;;;;;-1:-1:-1;3935:44:0;;;;-1:-1:-1;;;3935:44:0;;;;;;3986:28;;;;;;;;;;-1:-1:-1;3986:28:0;;;;;;;;4023:42;;;;;;;;;;-1:-1:-1;4023:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11684:201;;;;;;;;;;-1:-1:-1;11684:201:0;;;;;:::i;:::-;-1:-1:-1;;;;;11850:18:0;;;11818:7;11850:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;11684:201;4139:54;;;;;;;;;;;;;;;;1105:238;;;;;;;;;;-1:-1:-1;1105:238:0;;;;;:::i;:::-;;:::i;11893:242::-;12012:4;287:10;12073:32;287:10;12089:7;12098:6;12073:8;:32::i;:::-;12123:4;12116:11;;;11893:242;;;;;:::o;5822:577::-;718:13;:11;:13::i;:::-;5901:15:::1;;;;;;;;;-1:-1:-1::0;;;;;5901:15:0::1;-1:-1:-1::0;;;;;5901:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5883:55:0::1;;5961:4;5981:15;;;;;;;;;-1:-1:-1::0;;;;;5981:15:0::1;-1:-1:-1::0;;;;;5981:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5883:131;::::0;-1:-1:-1;;;;;;5883:131:0::1;::::0;;;;;;-1:-1:-1;;;;;4012:15:1;;;5883:131:0::1;::::0;::::1;3994:34:1::0;4064:15;;4044:18;;;4037:43;3929:18;;5883:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5871:9;:143:::0;;-1:-1:-1;;;;;;5871:143:0::1;-1:-1:-1::0;;;;;5871:143:0;;::::1;;::::0;;6059:15:::1;::::0;6027:68:::1;::::0;6044:4:::1;::::0;6059:15:::1;-1:-1:-1::0;;6027:8:0::1;:68::i;:::-;6108:15;::::0;-1:-1:-1;;;;;6108:15:0::1;:31;6147:21;6192:4;6212:24;6192:4:::0;-1:-1:-1;;;;;11105:18:0;11073:7;11105:18;;;:9;:18;;;;;;;10954:177;6212:24:::1;6251:1;6267::::0;6283:7:::1;805::::0;832:6;-1:-1:-1;;;;;832:6:0;;759:87;6283:7:::1;6305:15;6108:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;6344:10:0::1;:17:::0;;-1:-1:-1;;;;;;;6344:17:0;;::::1;::::0;::::1;::::0;;;6372:12:::1;:19:::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;5822:577:0:o;10847:99::-;10899:7;3457:13;3391:2;3457;:13;:::i;:::-;3441:29;;:13;:29;:::i;:::-;10919:19;;10847:99;:::o;11381:295::-;11512:4;287:10;11570:38;11586:4;287:10;11601:6;11570:15;:38::i;:::-;11619:27;11629:4;11635:2;11639:6;11619:9;:27::i;:::-;-1:-1:-1;11664:4:0;;11381:295;-1:-1:-1;;;;11381:295:0:o;5657:157::-;718:13;:11;:13::i;:::-;5723:5:::1;5707:21:::0;;-1:-1:-1;;;;5707:21:0::1;::::0;;-1:-1:-1;;5739:6:0::1;:26:::0;;;5776:10:::1;:30:::0;5657:157::o;994:103::-;718:13;:11;:13::i;:::-;1059:30:::1;1086:1;1059:18;:30::i;:::-;994:103::o:0;5434:215::-;718:13;:11;:13::i;:::-;3570::::1;5521:19;::::0;::::1;;::::0;::::1;::::0;:43:::1;;-1:-1:-1::0;3570:13:0::1;5544:20;::::0;::::1;;;5521:43;5513:68;;;::::0;-1:-1:-1;;;5513:68:0;;6904:2:1;5513:68:0::1;::::0;::::1;6886:21:1::0;6943:2;6923:18;;;6916:30;-1:-1:-1;;;6962:18:1;;;6955:42;7014:18;;5513:68:0::1;;;;;;;;;5592:7;:18:::0;;-1:-1:-1;;;;5621:20:0;-1:-1:-1;;;5592:18:0::1;::::0;;::::1;;-1:-1:-1::0;;;;5621:20:0;;-1:-1:-1;;;5621:20:0;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;5434:215::o;11139:234::-;11254:4;287:10;11315:28;287:10;11332:2;11336:6;11315:9;:28::i;1105:238::-;718:13;:11;:13::i;:::-;-1:-1:-1;;;;;1208:22:0;::::1;1186:110;;;::::0;-1:-1:-1;;;1186:110:0;;7245:2:1;1186:110:0::1;::::0;::::1;7227:21:1::0;7284:2;7264:18;;;7257:30;7323:34;7303:18;;;7296:62;-1:-1:-1;;;7374:18:1;;;7367:36;7420:19;;1186:110:0::1;7043:402:1::0;1186:110:0::1;1307:28;1326:8;1307:18;:28::i;:::-;1105:238:::0;:::o;12143:380::-;-1:-1:-1;;;;;12279:19:0;;12271:68;;;;-1:-1:-1;;;12271:68:0;;7652:2:1;12271:68:0;;;7634:21:1;7691:2;7671:18;;;7664:30;7730:34;7710:18;;;7703:62;-1:-1:-1;;;7781:18:1;;;7774:34;7825:19;;12271:68:0;7450:400:1;12271:68:0;-1:-1:-1;;;;;12358:21:0;;12350:68;;;;-1:-1:-1;;;12350:68:0;;8057:2:1;12350:68:0;;;8039:21:1;8096:2;8076:18;;;8069:30;8135:34;8115:18;;;8108:62;-1:-1:-1;;;8186:18:1;;;8179:32;8228:19;;12350:68:0;7855:398:1;12350:68:0;-1:-1:-1;;;;;12431:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12483:32;;1361:25:1;;;12483:32:0;;1334:18:1;12483:32:0;;;;;;;12143:380;;;:::o;854:132::-;805:7;832:6;-1:-1:-1;;;;;832:6:0;287:10;918:23;910:68;;;;-1:-1:-1;;;910:68:0;;8460:2:1;910:68:0;;;8442:21:1;;;8479:18;;;8472:30;8538:34;8518:18;;;8511:62;8590:18;;910:68:0;8258:356:1;12531:502:0;-1:-1:-1;;;;;11850:18:0;;;12666:24;11850:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;-1:-1:-1;;12733:37:0;;12729:297;;12833:6;12813:16;:26;;12787:117;;;;-1:-1:-1;;;12787:117:0;;8821:2:1;12787:117:0;;;8803:21:1;8860:2;8840:18;;;8833:30;8899:31;8879:18;;;8872:59;8948:18;;12787:117:0;8619:353:1;12787:117:0;12948:51;12957:5;12964:7;12992:6;12973:16;:25;12948:8;:51::i;:::-;12655:378;12531:502;;;:::o;6407:1599::-;-1:-1:-1;;;;;6530:18:0;;6522:68;;;;-1:-1:-1;;;6522:68:0;;9179:2:1;6522:68:0;;;9161:21:1;9218:2;9198:18;;;9191:30;9257:34;9237:18;;;9230:62;-1:-1:-1;;;9308:18:1;;;9301:35;9353:19;;6522:68:0;8977:401:1;6522:68:0;-1:-1:-1;;;;;6609:16:0;;6601:64;;;;-1:-1:-1;;;6601:64:0;;9585:2:1;6601:64:0;;;9567:21:1;9624:2;9604:18;;;9597:30;9663:34;9643:18;;;9636:62;-1:-1:-1;;;9714:18:1;;;9707:33;9757:19;;6601:64:0;9383:399:1;6601:64:0;6693:1;6684:6;:10;6676:64;;;;-1:-1:-1;;;6676:64:0;;9989:2:1;6676:64:0;;;9971:21:1;10028:2;10008:18;;;10001:30;10067:34;10047:18;;;10040:62;-1:-1:-1;;;10118:18:1;;;10111:39;10167:19;;6676:64:0;9787:405:1;6676:64:0;805:7;832:6;-1:-1:-1;;;;;6757:15:0;;;832:6;;6757:15;;:32;;-1:-1:-1;805:7:0;832:6;-1:-1:-1;;;;;6776:13:0;;;832:6;;6776:13;6757:32;:57;;;-1:-1:-1;;;;;;6793:21:0;;6809:4;6793:21;6757:57;6753:144;;;6831:33;6847:4;6853:2;6857:6;6831:15;:33::i;:::-;6407:1599;;;:::o;6753:144::-;6917:10;;-1:-1:-1;;;6917:10:0;;;;6909:42;;;;-1:-1:-1;;;6909:42:0;;10399:2:1;6909:42:0;;;10381:21:1;10438:2;10418:18;;;10411:30;-1:-1:-1;;;10457:18:1;;;10450:49;10516:18;;6909:42:0;10197:343:1;6909:42:0;7016:9;;6962:18;;-1:-1:-1;;;;;7008:17:0;;;7016:9;;7008:17;;7038:51;;7065:12;:10;:12::i;:::-;7105:5;7101:368;;;-1:-1:-1;;;;;7132:14:0;;;;;;:10;:14;;;;;;;;7127:97;;7200:7;;7180:28;;7192:6;;-1:-1:-1;;;7200:7:0;;;;7180:11;:28::i;:::-;7167:41;;7127:97;7101:368;;;-1:-1:-1;;;;;7272:16:0;;;;;;:10;:16;;;;;;;;7267:191;;7385:10;;7322:120;;7356:6;;-1:-1:-1;;;7385:10:0;;;;:38;;7415:8;;-1:-1:-1;;;7415:8:0;;;;7385:38;;;7398:14;;-1:-1:-1;;;7398:14:0;;;;7385:38;7322:120;;:11;:120::i;:::-;7309:133;;7267:191;7524:10;7514:6;:20;;7506:51;;;;-1:-1:-1;;;7506:51:0;;10747:2:1;7506:51:0;;;10729:21:1;10786:2;10766:18;;;10759:30;-1:-1:-1;;;10805:18:1;;;10798:48;10863:18;;7506:51:0;10545:342:1;7506:51:0;7620:13;;7572:20;;;;;-1:-1:-1;;;7620:13:0;;;;7616:287;;;7668:6;;7658;:16;;7650:43;;;;-1:-1:-1;;;7650:43:0;;11094:2:1;7650:43:0;;;11076:21:1;11133:2;11113:18;;;11106:30;-1:-1:-1;;;11152:18:1;;;11145:44;11206:18;;7650:43:0;10892:338:1;7650:43:0;7718:9;;-1:-1:-1;;;;;7712:15:0;;;7718:9;;7712:15;7708:184;;7804:10;;-1:-1:-1;;;;;7778:13:0;;;;;;:9;:13;;;;;;:22;;7794:6;;7778:22;:::i;:::-;:36;;7748:128;;;;-1:-1:-1;;;7748:128:0;;11567:2:1;7748:128:0;;;11549:21:1;11606:2;11586:18;;;11579:30;-1:-1:-1;;;11625:18:1;;;11618:48;11683:18;;7748:128:0;11365:342:1;7748:128:0;7915:37;7927:4;7933:6;7941:10;7915:11;:37::i;:::-;7965:33;7981:4;7987:2;7991:6;7965:15;:33::i;:::-;6511:1495;;6407:1599;;;:::o;1351:191::-;1425:16;1444:6;;-1:-1:-1;;;;;1461:17:0;;;-1:-1:-1;;;;;;1461:17:0;;;;;;1494:40;;1444:6;;;;;;;1494:40;;1425:16;1494:40;1414:128;1351:191;:::o;13041:461::-;-1:-1:-1;;;;;13192:15:0;;13170:19;13192:15;;;:9;:15;;;;;;13240:21;;;;13218:109;;;;-1:-1:-1;;;13218:109:0;;11914:2:1;13218:109:0;;;11896:21:1;11953:2;11933:18;;;11926:30;11992:34;11972:18;;;11965:62;-1:-1:-1;;;12043:18:1;;;12036:36;12089:19;;13218:109:0;11712:402:1;13218:109:0;-1:-1:-1;;;;;13363:15:0;;;;;;;:9;:15;;;;;;13381:20;;;13363:38;;13416:13;;;;;;;;;;:23;;;;;;13468:26;;;;;;13395:6;1361:25:1;;1349:2;1334:18;;1215:177;13468:26:0;;;;;;;;13159:343;13041:461;;;:::o;8014:538::-;8097:4;8055:21;11105:18;;;:9;:18;;;;;;8147:14;;8179:6;;8130:31;;;;;-1:-1:-1;;;8179:6:0;;;;8178:7;:23;;;;-1:-1:-1;8189:12:0;;-1:-1:-1;;;8189:12:0;;;;8178:23;8174:371;;;8238:15;;8222:13;:31;8218:85;;;8288:15;;8272:31;;8218:85;8322:8;8318:45;;;8332:31;8349:13;8332:16;:31::i;:::-;8400:21;8483:35;8496:21;8483:12;:35::i;8174:371::-;8044:508;;8014:538::o;4598:180::-;4702:7;3518:11;4735:17;4744:8;4735:6;:17;:::i;:::-;4734:36;;;;:::i;:::-;4727:43;4598:180;-1:-1:-1;;;4598:180:0:o;8560:526::-;8677:15;8695:17;8707:4;9184:11;;-1:-1:-1;;;;;9176:19:0;;;9184:11;;9176:19;;9094:109;8695:17;8677:35;;8727:10;8723:356;;;8754:22;8779:12;8788:3;8779:6;:12;:::i;:::-;8754:37;;8891:10;:33;;8921:3;8891:33;;;8904:14;8891:33;8858:11;;-1:-1:-1;;;;;8858:11:0;8848:22;;;;:9;:22;;;;;;:77;;;;:::i;:::-;8816:11;;-1:-1:-1;;;;;8816:11:0;8806:22;;;;:9;:22;;;;;:119;-1:-1:-1;;;;;8560:526:0:o;8723:356::-;8983:7;;8979:89;;9011:41;9027:4;9041;9048:3;9011:15;:41::i;9211:800::-;4854:6;:13;;-1:-1:-1;;;;4854:13:0;-1:-1:-1;;;4854:13:0;;;9340:10:::1;::::0;4854:13;;9302:49:::1;::::0;9314:7;;9323:27:::1;::::0;9340:10:::1;;3518:11;9323:27;:::i;9302:49::-;9285:66:::0;-1:-1:-1;9362:14:0::1;9379:16;9285:66:::0;9379:7;:16:::1;:::i;:::-;9489;::::0;;9503:1:::1;9489:16:::0;;;;;::::1;::::0;;9362:33;;-1:-1:-1;9431:21:0::1;::::0;9406:22:::1;::::0;9489:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9489:16:0::1;9465:40;;9534:4;9516;9521:1;9516:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9516:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9560:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9560:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9516:7;;9560:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9550:4;9555:1;9550:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9550:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9625:15:::1;::::0;9593:58:::1;::::0;9610:4:::1;::::0;9625:15:::1;9643:7:::0;9593:8:::1;:58::i;:::-;9662:15;::::0;:191:::1;::::0;-1:-1:-1;;;9662:191:0;;-1:-1:-1;;;;;9662:15:0;;::::1;::::0;:66:::1;::::0;:191:::1;::::0;9743:6;;9662:15:::1;::::0;9780:4;;9807::::1;::::0;9827:15:::1;::::0;9662:191:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9864:15;9906:14;9882:21;:38;;;;:::i;:::-;9864:56:::0;-1:-1:-1;9937:10:0;;9933:70:::1;;9991:10;::::0;9949:54:::1;::::0;9962:6;;9970:32:::1;::::0;9982:7;;9991:10:::1;;9970:11;:32::i;:::-;9949:12;:54::i;:::-;-1:-1:-1::0;;4890:6:0;:14;;-1:-1:-1;;;;4890:14:0;;;-1:-1:-1;;;;9211:800:0:o;10019:104::-;10085:11;;10077:38;;-1:-1:-1;;;;;10085:11:0;;;;10077:38;;;;;10107:7;;10085:11;10077:38;10085:11;10077:38;10107:7;10085:11;10077:38;;;;;;;;;;;;;;;;;;;10131:407;10240:15;;10208:58;;10225:4;;-1:-1:-1;;;;;10240:15:0;10258:7;10208:8;:58::i;:::-;10279:15;;:251;;-1:-1:-1;;;10279:251:0;;-1:-1:-1;;;;;10279:15:0;;;;:31;;10318:9;;10279:251;;10351:4;;10371:7;;10279:15;;;;;;10504;;10279:251;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2452:247::-;2511:6;2564:2;2552:9;2543:7;2539:23;2535:32;2532:52;;;2580:1;2577;2570:12;2532:52;2619:9;2606:23;2638:31;2663:5;2638:31;:::i;2704:163::-;2771:20;;2831:10;2820:22;;2810:33;;2800:61;;2857:1;2854;2847:12;2800:61;2704:163;;;:::o;2872:256::-;2938:6;2946;2999:2;2987:9;2978:7;2974:23;2970:32;2967:52;;;3015:1;3012;3005:12;2967:52;3038:28;3056:9;3038:28;:::i;:::-;3028:38;;3085:37;3118:2;3107:9;3103:18;3085:37;:::i;:::-;3075:47;;2872:256;;;;;:::o;3133:388::-;3201:6;3209;3262:2;3250:9;3241:7;3237:23;3233:32;3230:52;;;3278:1;3275;3268:12;3230:52;3317:9;3304:23;3336:31;3361:5;3336:31;:::i;:::-;3386:5;-1:-1:-1;3443:2:1;3428:18;;3415:32;3456:33;3415:32;3456:33;:::i;:::-;3508:7;3498:17;;;3133:388;;;;;:::o;3526:251::-;3596:6;3649:2;3637:9;3628:7;3624:23;3620:32;3617:52;;;3665:1;3662;3655:12;3617:52;3697:9;3691:16;3716:31;3741:5;3716:31;:::i;4091:607::-;-1:-1:-1;;;;;4450:15:1;;;4432:34;;4497:2;4482:18;;4475:34;;;;4540:2;4525:18;;4518:34;;;;4583:2;4568:18;;4561:34;;;;4632:15;;;4626:3;4611:19;;4604:44;4412:3;4664:19;;4657:35;;;;4381:3;4366:19;;4091:607::o;4703:306::-;4791:6;4799;4807;4860:2;4848:9;4839:7;4835:23;4831:32;4828:52;;;4876:1;4873;4866:12;4828:52;4905:9;4899:16;4889:26;;4955:2;4944:9;4940:18;4934:25;4924:35;;4999:2;4988:9;4984:18;4978:25;4968:35;;4703:306;;;;;:::o;5014:127::-;5075:10;5070:3;5066:20;5063:1;5056:31;5106:4;5103:1;5096:15;5130:4;5127:1;5120:15;5146:422;5235:1;5278:5;5235:1;5292:270;5313:7;5303:8;5300:21;5292:270;;;5372:4;5368:1;5364:6;5360:17;5354:4;5351:27;5348:53;;;5381:18;;:::i;:::-;5431:7;5421:8;5417:22;5414:55;;;5451:16;;;;5414:55;5530:22;;;;5490:15;;;;5292:270;;;5296:3;5146:422;;;;;:::o;5573:806::-;5622:5;5652:8;5642:80;;-1:-1:-1;5693:1:1;5707:5;;5642:80;5741:4;5731:76;;-1:-1:-1;5778:1:1;5792:5;;5731:76;5823:4;5841:1;5836:59;;;;5909:1;5904:130;;;;5816:218;;5836:59;5866:1;5857:10;;5880:5;;;5904:130;5941:3;5931:8;5928:17;5925:43;;;5948:18;;:::i;:::-;-1:-1:-1;;6004:1:1;5990:16;;6019:5;;5816:218;;6118:2;6108:8;6105:16;6099:3;6093:4;6090:13;6086:36;6080:2;6070:8;6067:16;6062:2;6056:4;6053:12;6049:35;6046:77;6043:159;;;-1:-1:-1;6155:19:1;;;6187:5;;6043:159;6234:34;6259:8;6253:4;6234:34;:::i;:::-;6304:6;6300:1;6296:6;6292:19;6283:7;6280:32;6277:58;;;6315:18;;:::i;:::-;6353:20;;5573:806;-1:-1:-1;;;5573:806:1:o;6384:140::-;6442:5;6471:47;6512:4;6502:8;6498:19;6492:4;6471:47;:::i;6529:168::-;6602:9;;;6633;;6650:15;;;6644:22;;6630:37;6620:71;;6671:18;;:::i;11235:125::-;11300:9;;;11321:10;;;11318:36;;;11334:18;;:::i;12119:217::-;12159:1;12185;12175:132;;12229:10;12224:3;12220:20;12217:1;12210:31;12264:4;12261:1;12254:15;12292:4;12289:1;12282:15;12175:132;-1:-1:-1;12321:9:1;;12119:217::o;12341:128::-;12408:9;;;12429:11;;;12426:37;;;12443:18;;:::i;12474:175::-;12542:10;12585;;;12573;;;12569:27;;12608:12;;;12605:38;;;12623:18;;:::i;:::-;12605:38;12474:175;;;;:::o;12786:127::-;12847:10;12842:3;12838:20;12835:1;12828:31;12878:4;12875:1;12868:15;12902:4;12899:1;12892:15;12918:980;13180:4;13228:3;13217:9;13213:19;13259:6;13248:9;13241:25;13285:2;13323:6;13318:2;13307:9;13303:18;13296:34;13366:3;13361:2;13350:9;13346:18;13339:31;13390:6;13425;13419:13;13456:6;13448;13441:22;13494:3;13483:9;13479:19;13472:26;;13533:2;13525:6;13521:15;13507:29;;13554:1;13564:195;13578:6;13575:1;13572:13;13564:195;;;13643:13;;-1:-1:-1;;;;;13639:39:1;13627:52;;13734:15;;;;13699:12;;;;13675:1;13593:9;13564:195;;;-1:-1:-1;;;;;;;13815:32:1;;;;13810:2;13795:18;;13788:60;-1:-1:-1;;;13879:3:1;13864:19;13857:35;13776:3;12918:980;-1:-1:-1;;;12918:980:1:o

Swarm Source

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