ETH Price: $3,372.29 (-1.44%)

Token

The Force Inu (FORCE)
 

Overview

Max Total Supply

1,000,000,000,000 FORCE

Holders

27

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
*🩸️sensei.eth
Balance
1,009,847,177.786455307 FORCE

Value
$0.00
0xf7ef4a3ab05d61317d2b37006c54229c8deb6b77
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:
ForceInu

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-05-05
*/

// Telegram:  https://t.me/TheForceInu
// Website:   https://forceinu.com/
// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.4;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

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

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

}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

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

}  

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract ForceInu is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private time;
    uint256 private _tax;

    uint256 private constant _tTotal = 1 * 10**12 * 10**9;
    uint256 private fee1=40;
    uint256 private fee2=40;
    uint256 private liqfee=40;
    uint256 private feeMax=100;
    string private constant _name = "The Force Inu";
    string private constant _symbol = "FORCE";
    uint256 private _maxTxAmount = _tTotal.mul(2).div(100);
    uint256 private minBalance = _tTotal.div(1000);


    uint8 private constant _decimals = 9;
    address payable private _feeAddrWallet1;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () payable {
        _feeAddrWallet1 = payable(msg.sender);
        _tOwned[address(this)] = _tTotal.div(2);
        _tOwned[0x000000000000000000000000000000000000dEaD] = _tTotal.div(2);
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet1] = true;
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

        emit Transfer(address(0),address(this),_tTotal.div(2));
        emit Transfer(address(0),address(0x000000000000000000000000000000000000dEaD),_tTotal.div(2));
    }

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

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

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

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
   
    function changeFees(uint8 _fee1,uint8 _fee2,uint8 _liq) external {
        
        require(_msgSender() == _feeAddrWallet1);
        require(_fee1 <= feeMax && _fee2 <= feeMax && liqfee <= feeMax,"Cannot set fees above maximum");
        fee1 = _fee1;
        fee2 = _fee2;
        liqfee = _liq;
    }

    function changeMinBalance(uint256 newMin) external {
        require(_msgSender() == _feeAddrWallet1);
        minBalance = newMin;

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

    function _transfer(address from, address to, uint256 amount) private {
        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");

        _tax = fee1.add(liqfee);
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && (block.timestamp < time)){
                // Cooldown
                require(amount <= _maxTxAmount);
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
            }
            
            if (!inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from]) {
                require(block.timestamp > time,"Sells prohibited for the first 5 minutes");
                uint256 contractTokenBalance = balanceOf(address(this));
                if(contractTokenBalance > minBalance){
                    swapAndLiquify(contractTokenBalance);
                    uint256 contractETHBalance = address(this).balance;
                    if(contractETHBalance > 0) {
                        sendETHToFee(address(this).balance);
                    }
                }
            }
        }
        if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
            _tax = fee2.add(liqfee);
        }
        _transferStandard(from,to,amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    
    function swapAndLiquify(uint256 tokenAmount) private {
        uint256 half = liqfee.div(2);
        uint256 part = fee2.add(half);
        uint256 sum = fee2.add(liqfee);
        uint256 swapTotal = tokenAmount.mul(part).div(sum);
        swapTokensForEth(swapTotal);
        addLiquidity(tokenAmount.sub(swapTotal),address(this).balance.mul(half).div(part),_feeAddrWallet1);
    }

    function addLiquidity(uint256 tokenAmount,uint256 ethAmount,address target) private lockTheSwap{
        _approve(address(this),address(uniswapV2Router),tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,target,block.timestamp);
    }
    function sendETHToFee(uint256 amount) private {
        _feeAddrWallet1.transfer(amount);
    }
    
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        addLiquidity(balanceOf(address(this)),address(this).balance,owner());
        swapEnabled = true;
        tradingOpen = true;
        time = block.timestamp + (5 minutes);
    }
    
    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    
    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 transferAmount,uint256 tfee) = _getTValues(tAmount);
        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _tOwned[recipient] = _tOwned[recipient].add(transferAmount); 
        _tOwned[address(this)] = _tOwned[address(this)].add(tfee);
        emit Transfer(sender, recipient, transferAmount);
    }

    receive() external payable {}
    
    function manualswap() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractBalance = balanceOf(address(this));
        swapAndLiquify(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
   
    function _getTValues(uint256 tAmount) private view returns (uint256, uint256) {
        uint256 tFee = tAmount.mul(_tax).div(1000);
        uint256 tTransferAmount = tAmount.sub(tFee);
        return (tTransferAmount, tFee);
    }

    function recoverTokens(address tokenAddress) external {
        require(_msgSender() == _feeAddrWallet1);
        IERC20 recoveryToken = IERC20(tokenAddress);
        recoveryToken.transfer(_feeAddrWallet1,recoveryToken.balanceOf(address(this)));
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":[{"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":[{"internalType":"uint8","name":"_fee1","type":"uint8"},{"internalType":"uint8","name":"_fee2","type":"uint8"},{"internalType":"uint8","name":"_liq","type":"uint8"}],"name":"changeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMin","type":"uint256"}],"name":"changeMinBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"recoverTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"},{"stateMutability":"payable","type":"receive"}]

608060405260286009556028600a556028600b556064600c55620000566064620000426002683635c9adc5dea000006200041560201b6200090b1790919060201c565b620004a960201b620009911790919060201c565b600d556200007e6103e8683635c9adc5dea00000620004a960201b620009911790919060201c565b600e556011805461ffff60a81b19169055600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600f8054336001600160a01b031990911617905562000106683635c9adc5dea000006002620004a9602090811b6200099117901c565b306000908152600260208181526040909220929092556200013b91683635c9adc5dea000009162000991620004a9821b17901c565b7f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc55600080546001600160a01b0390811682526004602081815260408085208054600160ff1991821681179092553087528287208054821683179055600f549095168652948190208054909416909417909255601080546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155835163c45a015560e01b81529351909363c45a01559381840193909291829003018186803b1580156200020957600080fd5b505afa1580156200021e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024491906200052f565b6001600160a01b031663c9c6539630601060009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620002a257600080fd5b505afa158015620002b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002dd91906200052f565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200032657600080fd5b505af11580156200033b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200036191906200052f565b601180546001600160a01b0319166001600160a01b039290921691909117905530600060008051602062001f13833981519152620003b6683635c9adc5dea000006002620004a9602090811b6200099117901c565b60405190815260200160405180910390a361dead600060008051602062001f13833981519152620003fe683635c9adc5dea000006002620004a9602090811b6200099117901c565b60405190815260200160405180910390a362000603565b6000826200042657506000620004a3565b6000620004348385620005d5565b905082620004438583620005b2565b14620004a05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b6000620004a083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620004f360201b60201c565b60008183620005175760405162461bcd60e51b81526004016200049791906200055a565b506000620005268486620005b2565b95945050505050565b6000602082840312156200054257600080fd5b81516001600160a01b0381168114620004a057600080fd5b600060208083528351808285015260005b8181101562000589578581018301518582016040015282016200056b565b818111156200059c576000604083870101525b50601f01601f1916929092016040019392505050565b600082620005d057634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615620005fe57634e487b7160e01b600052601160045260246000fd5b500290565b61190080620006136000396000f3fe6080604052600436106101185760003560e01c806370a08231116100a0578063a9059cbb11610064578063a9059cbb14610336578063b515566a14610356578063c3c8cd8014610376578063c9567bf91461038b578063dd62ed3e146103a057600080fd5b806370a0823114610275578063715018a6146102ab5780637e37e9bb146102c05780638da5cb5b146102e057806395d89b411461030857600080fd5b806323b872dd116100e757806323b872dd146101e4578063273123b714610204578063313ce567146102245780634ea18fab146102405780636fc3eaec1461026057600080fd5b806306fdde0314610124578063095ea7b31461016c57806316114acd1461019c57806318160ddd146101be57600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b5060408051808201909152600d81526c54686520466f72636520496e7560981b60208201525b60405161016391906116c5565b60405180910390f35b34801561017857600080fd5b5061018c610187366004611508565b6103e6565b6040519015158152602001610163565b3480156101a857600080fd5b506101bc6101b7366004611454565b6103fd565b005b3480156101ca57600080fd5b50683635c9adc5dea000005b604051908152602001610163565b3480156101f057600080fd5b5061018c6101ff3660046114c7565b61052a565b34801561021057600080fd5b506101bc61021f366004611454565b610593565b34801561023057600080fd5b5060405160098152602001610163565b34801561024c57600080fd5b506101bc61025b366004611622565b6105e7565b34801561026c57600080fd5b506101bc61060c565b34801561028157600080fd5b506101d6610290366004611454565b6001600160a01b031660009081526002602052604090205490565b3480156102b757600080fd5b506101bc610639565b3480156102cc57600080fd5b506101bc6102db366004611682565b6106ad565b3480156102ec57600080fd5b506000546040516001600160a01b039091168152602001610163565b34801561031457600080fd5b50604080518082019091526005815264464f52434560d81b6020820152610156565b34801561034257600080fd5b5061018c610351366004611508565b610757565b34801561036257600080fd5b506101bc610371366004611534565b610764565b34801561038257600080fd5b506101bc6107fa565b34801561039757600080fd5b506101bc610833565b3480156103ac57600080fd5b506101d66103bb36600461148e565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b60006103f33384846109d3565b5060015b92915050565b600f546001600160a01b0316336001600160a01b03161461041d57600080fd5b600f546040516370a0823160e01b815230600482015282916001600160a01b038084169263a9059cbb92919091169083906370a082319060240160206040518083038186803b15801561046f57600080fd5b505afa158015610483573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a7919061163b565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b1580156104ed57600080fd5b505af1158015610501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105259190611600565b505050565b6000610537848484610af7565b6105898433610584856040518060600160405280602881526020016118a3602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190610eda565b6109d3565b5060019392505050565b6000546001600160a01b031633146105c65760405162461bcd60e51b81526004016105bd9061171a565b60405180910390fd5b6001600160a01b03166000908152600560205260409020805460ff19169055565b600f546001600160a01b0316336001600160a01b03161461060757600080fd5b600e55565b600f546001600160a01b0316336001600160a01b03161461062c57600080fd5b4761063681610f14565b50565b6000546001600160a01b031633146106635760405162461bcd60e51b81526004016105bd9061171a565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600f546001600160a01b0316336001600160a01b0316146106cd57600080fd5b600c548360ff16111580156106e75750600c548260ff1611155b80156106f75750600c54600b5411155b6107435760405162461bcd60e51b815260206004820152601d60248201527f43616e6e6f742073657420666565732061626f7665206d6178696d756d00000060448201526064016105bd565b60ff928316600955908216600a5516600b55565b60006103f3338484610af7565b6000546001600160a01b0316331461078e5760405162461bcd60e51b81526004016105bd9061171a565b60005b81518110156107f6576001600560008484815181106107b2576107b2611861565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107ee81611830565b915050610791565b5050565b600f546001600160a01b0316336001600160a01b03161461081a57600080fd5b3060009081526002602052604090205461063681610f4e565b6000546001600160a01b0316331461085d5760405162461bcd60e51b81526004016105bd9061171a565b601154600160a01b900460ff16156108b75760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105bd565b306000908152600260205260409020546108e390476108de6000546001600160a01b031690565b610fe9565b6011805462ff00ff60a01b19166201000160a01b1790556109064261012c6117c0565b600755565b60008261091a575060006103f7565b600061092683856117fa565b90508261093385836117d8565b1461098a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105bd565b9392505050565b600061098a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506110cb565b6001600160a01b038316610a355760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105bd565b6001600160a01b038216610a965760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105bd565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b5b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105bd565b6001600160a01b038216610bbd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105bd565b60008111610c1f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105bd565b600b54600954610c2e916110f9565b6008556000546001600160a01b03848116911614801590610c5d57506000546001600160a01b03838116911614155b15610e67576001600160a01b03831660009081526005602052604090205460ff16158015610ca457506001600160a01b03821660009081526005602052604090205460ff16155b610cad57600080fd5b6011546001600160a01b038481169116148015610cd857506010546001600160a01b03838116911614155b8015610cfd57506001600160a01b03821660009081526004602052604090205460ff16155b8015610d0a575060075442105b15610d6757600d54811115610d1e57600080fd5b6001600160a01b0382166000908152600660205260409020544211610d4257600080fd5b610d4d42601e6117c0565b6001600160a01b0383166000908152600660205260409020555b601154600160a81b900460ff16158015610d8f57506011546001600160a01b03848116911614155b8015610da45750601154600160b01b900460ff165b8015610dc957506001600160a01b03831660009081526004602052604090205460ff16155b15610e67576007544211610e305760405162461bcd60e51b815260206004820152602860248201527f53656c6c732070726f6869626974656420666f72207468652066697273742035604482015267206d696e7574657360c01b60648201526084016105bd565b30600090815260026020526040902054600e54811115610e6557610e5381610f4e565b478015610e6357610e6347610f14565b505b505b6011546001600160a01b038381169116148015610e9257506010546001600160a01b03848116911614155b8015610eb757506001600160a01b03831660009081526004602052604090205460ff16155b15610ecf57600b54600a54610ecb916110f9565b6008555b610525838383611158565b60008184841115610efe5760405162461bcd60e51b81526004016105bd91906116c5565b506000610f0b8486611819565b95945050505050565b600f546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156107f6573d6000803e3d6000fd5b600b54600090610f5f906002610991565b90506000610f7882600a546110f990919063ffffffff16565b90506000610f93600b54600a546110f990919063ffffffff16565b90506000610fab82610fa5878661090b565b90610991565b9050610fb681611244565b610fe2610fc386836113b8565b610fd185610fa5478961090b565b600f546001600160a01b0316610fe9565b5050505050565b6011805460ff60a81b1916600160a81b1790556010546110149030906001600160a01b0316856109d3565b60105460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0383811660848301524260a48301529091169063f305d71990849060c4016060604051808303818588803b15801561107d57600080fd5b505af1158015611091573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110b69190611654565b50506011805460ff60a81b1916905550505050565b600081836110ec5760405162461bcd60e51b81526004016105bd91906116c5565b506000610f0b84866117d8565b60008061110683856117c0565b90508381101561098a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105bd565b600080611164836113fa565b6001600160a01b038716600090815260026020526040902054919350915061118c90846113b8565b6001600160a01b0380871660009081526002602052604080822093909355908616815220546111bb90836110f9565b6001600160a01b0385166000908152600260205260408082209290925530815220546111e790826110f9565b3060009081526002602090815260409182902092909255518381526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b6011805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061128c5761128c611861565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156112e057600080fd5b505afa1580156112f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113189190611471565b8160018151811061132b5761132b611861565b6001600160a01b03928316602091820292909201015260105461135191309116846109d3565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac9479061138a90859060009086903090429060040161174f565b600060405180830381600087803b1580156113a457600080fd5b505af11580156110b6573d6000803e3d6000fd5b600061098a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610eda565b600080600061141a6103e8610fa56008548761090b90919063ffffffff16565b9050600061142885836113b8565b959194509092505050565b803561143e8161188d565b919050565b803560ff8116811461143e57600080fd5b60006020828403121561146657600080fd5b813561098a8161188d565b60006020828403121561148357600080fd5b815161098a8161188d565b600080604083850312156114a157600080fd5b82356114ac8161188d565b915060208301356114bc8161188d565b809150509250929050565b6000806000606084860312156114dc57600080fd5b83356114e78161188d565b925060208401356114f78161188d565b929592945050506040919091013590565b6000806040838503121561151b57600080fd5b82356115268161188d565b946020939093013593505050565b6000602080838503121561154757600080fd5b823567ffffffffffffffff8082111561155f57600080fd5b818501915085601f83011261157357600080fd5b81358181111561158557611585611877565b8060051b604051601f19603f830116810181811085821117156115aa576115aa611877565b604052828152858101935084860182860187018a10156115c957600080fd5b600095505b838610156115f3576115df81611433565b8552600195909501949386019386016115ce565b5098975050505050505050565b60006020828403121561161257600080fd5b8151801515811461098a57600080fd5b60006020828403121561163457600080fd5b5035919050565b60006020828403121561164d57600080fd5b5051919050565b60008060006060848603121561166957600080fd5b8351925060208401519150604084015190509250925092565b60008060006060848603121561169757600080fd5b6116a084611443565b92506116ae60208501611443565b91506116bc60408501611443565b90509250925092565b600060208083528351808285015260005b818110156116f2578581018301518582016040015282016116d6565b81811115611704576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561179f5784516001600160a01b03168352938301939183019160010161177a565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156117d3576117d361184b565b500190565b6000826117f557634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156118145761181461184b565b500290565b60008282101561182b5761182b61184b565b500390565b60006000198214156118445761184461184b565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461063657600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122095be769a58069368c9a477623730749c1f65ae03fef50c2d51f61f8b7a04fbe364736f6c63430008070033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

Deployed Bytecode

0x6080604052600436106101185760003560e01c806370a08231116100a0578063a9059cbb11610064578063a9059cbb14610336578063b515566a14610356578063c3c8cd8014610376578063c9567bf91461038b578063dd62ed3e146103a057600080fd5b806370a0823114610275578063715018a6146102ab5780637e37e9bb146102c05780638da5cb5b146102e057806395d89b411461030857600080fd5b806323b872dd116100e757806323b872dd146101e4578063273123b714610204578063313ce567146102245780634ea18fab146102405780636fc3eaec1461026057600080fd5b806306fdde0314610124578063095ea7b31461016c57806316114acd1461019c57806318160ddd146101be57600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b5060408051808201909152600d81526c54686520466f72636520496e7560981b60208201525b60405161016391906116c5565b60405180910390f35b34801561017857600080fd5b5061018c610187366004611508565b6103e6565b6040519015158152602001610163565b3480156101a857600080fd5b506101bc6101b7366004611454565b6103fd565b005b3480156101ca57600080fd5b50683635c9adc5dea000005b604051908152602001610163565b3480156101f057600080fd5b5061018c6101ff3660046114c7565b61052a565b34801561021057600080fd5b506101bc61021f366004611454565b610593565b34801561023057600080fd5b5060405160098152602001610163565b34801561024c57600080fd5b506101bc61025b366004611622565b6105e7565b34801561026c57600080fd5b506101bc61060c565b34801561028157600080fd5b506101d6610290366004611454565b6001600160a01b031660009081526002602052604090205490565b3480156102b757600080fd5b506101bc610639565b3480156102cc57600080fd5b506101bc6102db366004611682565b6106ad565b3480156102ec57600080fd5b506000546040516001600160a01b039091168152602001610163565b34801561031457600080fd5b50604080518082019091526005815264464f52434560d81b6020820152610156565b34801561034257600080fd5b5061018c610351366004611508565b610757565b34801561036257600080fd5b506101bc610371366004611534565b610764565b34801561038257600080fd5b506101bc6107fa565b34801561039757600080fd5b506101bc610833565b3480156103ac57600080fd5b506101d66103bb36600461148e565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b60006103f33384846109d3565b5060015b92915050565b600f546001600160a01b0316336001600160a01b03161461041d57600080fd5b600f546040516370a0823160e01b815230600482015282916001600160a01b038084169263a9059cbb92919091169083906370a082319060240160206040518083038186803b15801561046f57600080fd5b505afa158015610483573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a7919061163b565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b1580156104ed57600080fd5b505af1158015610501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105259190611600565b505050565b6000610537848484610af7565b6105898433610584856040518060600160405280602881526020016118a3602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190610eda565b6109d3565b5060019392505050565b6000546001600160a01b031633146105c65760405162461bcd60e51b81526004016105bd9061171a565b60405180910390fd5b6001600160a01b03166000908152600560205260409020805460ff19169055565b600f546001600160a01b0316336001600160a01b03161461060757600080fd5b600e55565b600f546001600160a01b0316336001600160a01b03161461062c57600080fd5b4761063681610f14565b50565b6000546001600160a01b031633146106635760405162461bcd60e51b81526004016105bd9061171a565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600f546001600160a01b0316336001600160a01b0316146106cd57600080fd5b600c548360ff16111580156106e75750600c548260ff1611155b80156106f75750600c54600b5411155b6107435760405162461bcd60e51b815260206004820152601d60248201527f43616e6e6f742073657420666565732061626f7665206d6178696d756d00000060448201526064016105bd565b60ff928316600955908216600a5516600b55565b60006103f3338484610af7565b6000546001600160a01b0316331461078e5760405162461bcd60e51b81526004016105bd9061171a565b60005b81518110156107f6576001600560008484815181106107b2576107b2611861565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107ee81611830565b915050610791565b5050565b600f546001600160a01b0316336001600160a01b03161461081a57600080fd5b3060009081526002602052604090205461063681610f4e565b6000546001600160a01b0316331461085d5760405162461bcd60e51b81526004016105bd9061171a565b601154600160a01b900460ff16156108b75760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105bd565b306000908152600260205260409020546108e390476108de6000546001600160a01b031690565b610fe9565b6011805462ff00ff60a01b19166201000160a01b1790556109064261012c6117c0565b600755565b60008261091a575060006103f7565b600061092683856117fa565b90508261093385836117d8565b1461098a5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105bd565b9392505050565b600061098a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506110cb565b6001600160a01b038316610a355760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105bd565b6001600160a01b038216610a965760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105bd565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b5b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105bd565b6001600160a01b038216610bbd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105bd565b60008111610c1f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105bd565b600b54600954610c2e916110f9565b6008556000546001600160a01b03848116911614801590610c5d57506000546001600160a01b03838116911614155b15610e67576001600160a01b03831660009081526005602052604090205460ff16158015610ca457506001600160a01b03821660009081526005602052604090205460ff16155b610cad57600080fd5b6011546001600160a01b038481169116148015610cd857506010546001600160a01b03838116911614155b8015610cfd57506001600160a01b03821660009081526004602052604090205460ff16155b8015610d0a575060075442105b15610d6757600d54811115610d1e57600080fd5b6001600160a01b0382166000908152600660205260409020544211610d4257600080fd5b610d4d42601e6117c0565b6001600160a01b0383166000908152600660205260409020555b601154600160a81b900460ff16158015610d8f57506011546001600160a01b03848116911614155b8015610da45750601154600160b01b900460ff165b8015610dc957506001600160a01b03831660009081526004602052604090205460ff16155b15610e67576007544211610e305760405162461bcd60e51b815260206004820152602860248201527f53656c6c732070726f6869626974656420666f72207468652066697273742035604482015267206d696e7574657360c01b60648201526084016105bd565b30600090815260026020526040902054600e54811115610e6557610e5381610f4e565b478015610e6357610e6347610f14565b505b505b6011546001600160a01b038381169116148015610e9257506010546001600160a01b03848116911614155b8015610eb757506001600160a01b03831660009081526004602052604090205460ff16155b15610ecf57600b54600a54610ecb916110f9565b6008555b610525838383611158565b60008184841115610efe5760405162461bcd60e51b81526004016105bd91906116c5565b506000610f0b8486611819565b95945050505050565b600f546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156107f6573d6000803e3d6000fd5b600b54600090610f5f906002610991565b90506000610f7882600a546110f990919063ffffffff16565b90506000610f93600b54600a546110f990919063ffffffff16565b90506000610fab82610fa5878661090b565b90610991565b9050610fb681611244565b610fe2610fc386836113b8565b610fd185610fa5478961090b565b600f546001600160a01b0316610fe9565b5050505050565b6011805460ff60a81b1916600160a81b1790556010546110149030906001600160a01b0316856109d3565b60105460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0383811660848301524260a48301529091169063f305d71990849060c4016060604051808303818588803b15801561107d57600080fd5b505af1158015611091573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110b69190611654565b50506011805460ff60a81b1916905550505050565b600081836110ec5760405162461bcd60e51b81526004016105bd91906116c5565b506000610f0b84866117d8565b60008061110683856117c0565b90508381101561098a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105bd565b600080611164836113fa565b6001600160a01b038716600090815260026020526040902054919350915061118c90846113b8565b6001600160a01b0380871660009081526002602052604080822093909355908616815220546111bb90836110f9565b6001600160a01b0385166000908152600260205260408082209290925530815220546111e790826110f9565b3060009081526002602090815260409182902092909255518381526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b6011805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061128c5761128c611861565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156112e057600080fd5b505afa1580156112f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113189190611471565b8160018151811061132b5761132b611861565b6001600160a01b03928316602091820292909201015260105461135191309116846109d3565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac9479061138a90859060009086903090429060040161174f565b600060405180830381600087803b1580156113a457600080fd5b505af11580156110b6573d6000803e3d6000fd5b600061098a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610eda565b600080600061141a6103e8610fa56008548761090b90919063ffffffff16565b9050600061142885836113b8565b959194509092505050565b803561143e8161188d565b919050565b803560ff8116811461143e57600080fd5b60006020828403121561146657600080fd5b813561098a8161188d565b60006020828403121561148357600080fd5b815161098a8161188d565b600080604083850312156114a157600080fd5b82356114ac8161188d565b915060208301356114bc8161188d565b809150509250929050565b6000806000606084860312156114dc57600080fd5b83356114e78161188d565b925060208401356114f78161188d565b929592945050506040919091013590565b6000806040838503121561151b57600080fd5b82356115268161188d565b946020939093013593505050565b6000602080838503121561154757600080fd5b823567ffffffffffffffff8082111561155f57600080fd5b818501915085601f83011261157357600080fd5b81358181111561158557611585611877565b8060051b604051601f19603f830116810181811085821117156115aa576115aa611877565b604052828152858101935084860182860187018a10156115c957600080fd5b600095505b838610156115f3576115df81611433565b8552600195909501949386019386016115ce565b5098975050505050505050565b60006020828403121561161257600080fd5b8151801515811461098a57600080fd5b60006020828403121561163457600080fd5b5035919050565b60006020828403121561164d57600080fd5b5051919050565b60008060006060848603121561166957600080fd5b8351925060208401519150604084015190509250925092565b60008060006060848603121561169757600080fd5b6116a084611443565b92506116ae60208501611443565b91506116bc60408501611443565b90509250925092565b600060208083528351808285015260005b818110156116f2578581018301518582016040015282016116d6565b81811115611704576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561179f5784516001600160a01b03168352938301939183019160010161177a565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156117d3576117d361184b565b500190565b6000826117f557634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156118145761181461184b565b500290565b60008282101561182b5761182b61184b565b500390565b60006000198214156118445761184461184b565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461063657600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122095be769a58069368c9a477623730749c1f65ae03fef50c2d51f61f8b7a04fbe364736f6c63430008070033

Deployed Bytecode Sourcemap

3596:8975:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5544:83;;;;;;;;;;-1:-1:-1;5614:5:0;;;;;;;;;;;;-1:-1:-1;;;5614:5:0;;;;5544:83;;;;;;;:::i;:::-;;;;;;;;6375:161;;;;;;;;;;-1:-1:-1;6375:161:0;;;;;:::i;:::-;;:::i;:::-;;;5699:14:1;;5692:22;5674:41;;5662:2;5647:18;6375:161:0;5534:187:1;12312:256:0;;;;;;;;;;-1:-1:-1;12312:256:0;;;;;:::i;:::-;;:::i;:::-;;5821:95;;;;;;;;;;-1:-1:-1;4053:18:0;5821:95;;;10740:25:1;;;10728:2;10713:18;5821:95:0;10594:177:1;6544:313:0;;;;;;;;;;-1:-1:-1;6544:313:0;;;;;:::i;:::-;;:::i;11094:88::-;;;;;;;;;;-1:-1:-1;11094:88:0;;;;;:::i;:::-;;:::i;5730:83::-;;;;;;;;;;-1:-1:-1;5730:83:0;;4458:1;11903:36:1;;11891:2;11876:18;5730:83:0;11761:184:1;7186:142:0;;;;;;;;;;-1:-1:-1;7186:142:0;;;;;:::i;:::-;;:::i;11865:194::-;;;;;;;;;;;;;:::i;5924:117::-;;;;;;;;;;-1:-1:-1;5924:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;6017:16:0;5990:7;6017:16;;;:7;:16;;;;;;;5924:117;2675:148;;;;;;;;;;;;;:::i;6868:310::-;;;;;;;;;;-1:-1:-1;6868:310:0;;;;;:::i;:::-;;:::i;2461:79::-;;;;;;;;;;-1:-1:-1;2499:7:0;2526:6;2461:79;;-1:-1:-1;;;;;2526:6:0;;;4573:51:1;;4561:2;4546:18;2461:79:0;4427:203:1;5635:87:0;;;;;;;;;;-1:-1:-1;5707:7:0;;;;;;;;;;;;-1:-1:-1;;;5707:7:0;;;;5635:87;;6049:167;;;;;;;;;;-1:-1:-1;6049:167:0;;;;;:::i;:::-;;:::i;10918:164::-;;;;;;;;;;-1:-1:-1;10918:164:0;;;;;:::i;:::-;;:::i;11660:193::-;;;;;;;;;;;;;:::i;10612:294::-;;;;;;;;;;;;;:::i;6224:143::-;;;;;;;;;;-1:-1:-1;6224:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6332:18:0;;;6305:7;6332:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6224:143;6375:161;6450:4;6467:39;259:10;6490:7;6499:6;6467:8;:39::i;:::-;-1:-1:-1;6524:4:0;6375:161;;;;;:::o;12312:256::-;12401:15;;-1:-1:-1;;;;;12401:15:0;259:10;-1:-1:-1;;;;;12385:31:0;;12377:40;;;;;;12505:15;;12521:38;;-1:-1:-1;;;12521:38:0;;12553:4;12521:38;;;4573:51:1;12458:12:0;;-1:-1:-1;;;;;12482:22:0;;;;;;12505:15;;;;;12482:22;;12521:23;;4546:18:1;;12521:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12482:78;;-1:-1:-1;;;;;;12482:78:0;;;;;;;-1:-1:-1;;;;;4835:32:1;;;12482:78:0;;;4817:51:1;4884:18;;;4877:34;4790:18;;12482:78:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12366:202;12312:256;:::o;6544:313::-;6642:4;6659:36;6669:6;6677:9;6688:6;6659:9;:36::i;:::-;6706:121;6715:6;259:10;6737:89;6775:6;6737:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6737:19:0;;;;;;:11;:19;;;;;;;;259:10;6737:33;;;;;;;;;;:37;:89::i;:::-;6706:8;:121::i;:::-;-1:-1:-1;6845:4:0;6544:313;;;;;:::o;11094:88::-;2588:6;;-1:-1:-1;;;;;2588:6:0;259:10;2588:22;2580:67;;;;-1:-1:-1;;;2580:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;11154:12:0::1;11169:5;11154:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;11154:20:0::1;::::0;;11094:88::o;7186:142::-;7272:15;;-1:-1:-1;;;;;7272:15:0;259:10;-1:-1:-1;;;;;7256:31:0;;7248:40;;;;;;7299:10;:19;7186:142::o;11865:194::-;11931:15;;-1:-1:-1;;;;;11931:15:0;259:10;-1:-1:-1;;;;;11915:31:0;;11907:40;;;;;;11987:21;12019:32;11987:21;12019:12;:32::i;:::-;11896:163;11865:194::o;2675:148::-;2588:6;;-1:-1:-1;;;;;2588:6:0;259:10;2588:22;2580:67;;;;-1:-1:-1;;;2580:67:0;;;;;;;:::i;:::-;2782:1:::1;2766:6:::0;;2745:40:::1;::::0;-1:-1:-1;;;;;2766:6:0;;::::1;::::0;2745:40:::1;::::0;2782:1;;2745:40:::1;2813:1;2796:19:::0;;-1:-1:-1;;;;;;2796:19:0::1;::::0;;2675:148::o;6868:310::-;6978:15;;-1:-1:-1;;;;;6978:15:0;259:10;-1:-1:-1;;;;;6962:31:0;;6954:40;;;;;;7022:6;;7013:5;:15;;;;:34;;;;;7041:6;;7032:5;:15;;;;7013:34;:54;;;;;7061:6;;7051;;:16;;7013:54;7005:95;;;;-1:-1:-1;;;7005:95:0;;10438:2:1;7005:95:0;;;10420:21:1;10477:2;10457:18;;;10450:30;10516:31;10496:18;;;10489:59;10565:18;;7005:95:0;10236:353:1;7005:95:0;7111:12;;;;:4;:12;7134;;;:4;:12;7157:13;:6;:13;6868:310::o;6049:167::-;6127:4;6144:42;259:10;6168:9;6179:6;6144:9;:42::i;10918:164::-;2588:6;;-1:-1:-1;;;;;2588:6:0;259:10;2588:22;2580:67;;;;-1:-1:-1;;;2580:67:0;;;;;;;:::i;:::-;10992:6:::1;10987:88;11008:5;:12;11004:1;:16;10987:88;;;11059:4;11042;:14;11047:5;11053:1;11047:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11042:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11042:14:0;:21;;-1:-1:-1;;11042:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11022:3;::::1;::::0;::::1;:::i;:::-;;;;10987:88;;;;10918:164:::0;:::o;11660:193::-;11726:15;;-1:-1:-1;;;;;11726:15:0;259:10;-1:-1:-1;;;;;11710:31:0;;11702:40;;;;;;11797:4;11753:23;6017:16;;;:7;:16;;;;;;11814:31;6017:16;11814:14;:31::i;10612:294::-;2588:6;;-1:-1:-1;;;;;2588:6:0;259:10;2588:22;2580:67;;;;-1:-1:-1;;;2580:67:0;;;;;;;:::i;:::-;10676:11:::1;::::0;-1:-1:-1;;;10676:11:0;::::1;;;10675:12;10667:47;;;::::0;-1:-1:-1;;;10667:47:0;;10086:2:1;10667:47:0::1;::::0;::::1;10068:21:1::0;10125:2;10105:18;;;10098:30;10164:25;10144:18;;;10137:53;10207:18;;10667:47:0::1;9884:347:1::0;10667:47:0::1;10756:4;5990:7:::0;6017:16;;;:7;:16;;;;;;10725:68:::1;::::0;10763:21:::1;10785:7;2499::::0;2526:6;-1:-1:-1;;;;;2526:6:0;;2461:79;10785:7:::1;10725:12;:68::i;:::-;10804:11;:18:::0;;-1:-1:-1;;;;10833:18:0;-1:-1:-1;;;10833:18:0;;;10869:29:::1;:15;10888:9;10869:29;:::i;:::-;10862:4;:36:::0;10612:294::o;1514:246::-;1572:7;1596:6;1592:47;;-1:-1:-1;1626:1:0;1619:8;;1592:47;1649:9;1661:5;1665:1;1661;:5;:::i;:::-;1649:17;-1:-1:-1;1694:1:0;1685:5;1689:1;1649:17;1685:5;:::i;:::-;:10;1677:56;;;;-1:-1:-1;;;1677:56:0;;8102:2:1;1677:56:0;;;8084:21:1;8141:2;8121:18;;;8114:30;8180:34;8160:18;;;8153:62;-1:-1:-1;;;8231:18:1;;;8224:31;8272:19;;1677:56:0;7900:397:1;1677:56:0;1751:1;1514:246;-1:-1:-1;;;1514:246:0:o;1768:132::-;1826:7;1853:39;1857:1;1860;1853:39;;;;;;;;;;;;;;;;;:3;:39::i;7339:335::-;-1:-1:-1;;;;;7432:19:0;;7424:68;;;;-1:-1:-1;;;7424:68:0;;9681:2:1;7424:68:0;;;9663:21:1;9720:2;9700:18;;;9693:30;9759:34;9739:18;;;9732:62;-1:-1:-1;;;9810:18:1;;;9803:34;9854:19;;7424:68:0;9479:400:1;7424:68:0;-1:-1:-1;;;;;7511:21:0;;7503:68;;;;-1:-1:-1;;;7503:68:0;;7343:2:1;7503:68:0;;;7325:21:1;7382:2;7362:18;;;7355:30;7421:34;7401:18;;;7394:62;-1:-1:-1;;;7472:18:1;;;7465:32;7514:19;;7503:68:0;7141:398:1;7503:68:0;-1:-1:-1;;;;;7582:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7634:32;;10740:25:1;;;7634:32:0;;10713:18:1;7634:32:0;;;;;;;7339:335;;;:::o;7682:1627::-;-1:-1:-1;;;;;7770:18:0;;7762:68;;;;-1:-1:-1;;;7762:68:0;;9275:2:1;7762:68:0;;;9257:21:1;9314:2;9294:18;;;9287:30;9353:34;9333:18;;;9326:62;-1:-1:-1;;;9404:18:1;;;9397:35;9449:19;;7762:68:0;9073:401:1;7762:68:0;-1:-1:-1;;;;;7849:16:0;;7841:64;;;;-1:-1:-1;;;7841:64:0;;6939:2:1;7841:64:0;;;6921:21:1;6978:2;6958:18;;;6951:30;7017:34;6997:18;;;6990:62;-1:-1:-1;;;7068:18:1;;;7061:33;7111:19;;7841:64:0;6737:399:1;7841:64:0;7933:1;7924:6;:10;7916:64;;;;-1:-1:-1;;;7916:64:0;;8865:2:1;7916:64:0;;;8847:21:1;8904:2;8884:18;;;8877:30;8943:34;8923:18;;;8916:62;-1:-1:-1;;;8994:18:1;;;8987:39;9043:19;;7916:64:0;8663:405:1;7916:64:0;8009:6;;8000:4;;:16;;:8;:16::i;:::-;7993:4;:23;2499:7;2526:6;-1:-1:-1;;;;;8031:15:0;;;2526:6;;8031:15;;;;:32;;-1:-1:-1;2499:7:0;2526:6;-1:-1:-1;;;;;8050:13:0;;;2526:6;;8050:13;;8031:32;8027:1080;;;-1:-1:-1;;;;;8089:10:0;;;;;;:4;:10;;;;;;;;8088:11;:24;;;;-1:-1:-1;;;;;;8104:8:0;;;;;;:4;:8;;;;;;;;8103:9;8088:24;8080:33;;;;;;8140:13;;-1:-1:-1;;;;;8132:21:0;;;8140:13;;8132:21;:55;;;;-1:-1:-1;8171:15:0;;-1:-1:-1;;;;;8157:30:0;;;8171:15;;8157:30;;8132:55;:83;;;;-1:-1:-1;;;;;;8193:22:0;;;;;;:18;:22;;;;;;;;8191:24;8132:83;:111;;;;;8238:4;;8220:15;:22;8132:111;8128:333;;;8310:12;;8300:6;:22;;8292:31;;;;;;-1:-1:-1;;;;;8350:12:0;;;;;;:8;:12;;;;;;8365:15;-1:-1:-1;8342:39:0;;;;;;8415:30;:15;8434:10;8415:30;:::i;:::-;-1:-1:-1;;;;;8400:12:0;;;;;;:8;:12;;;;;:45;8128:333;8494:6;;-1:-1:-1;;;8494:6:0;;;;8493:7;:32;;;;-1:-1:-1;8512:13:0;;-1:-1:-1;;;;;8504:21:0;;;8512:13;;8504:21;;8493:32;:47;;;;-1:-1:-1;8529:11:0;;-1:-1:-1;;;8529:11:0;;;;8493:47;:76;;;;-1:-1:-1;;;;;;8545:24:0;;;;;;:18;:24;;;;;;;;8544:25;8493:76;8489:607;;;8616:4;;8598:15;:22;8590:74;;;;-1:-1:-1;;;8590:74:0;;6530:2:1;8590:74:0;;;6512:21:1;6569:2;6549:18;;;6542:30;6608:34;6588:18;;;6581:62;-1:-1:-1;;;6659:18:1;;;6652:38;6707:19;;8590:74:0;6328:404:1;8590:74:0;8732:4;8683:28;6017:16;;;:7;:16;;;;;;8783:10;;8760:33;;8757:324;;;8817:36;8832:20;8817:14;:36::i;:::-;8905:21;8952:22;;8949:113;;9003:35;9016:21;9003:12;:35::i;:::-;8794:287;8757:324;8571:525;8489:607;9127:13;;-1:-1:-1;;;;;9121:19:0;;;9127:13;;9121:19;:55;;;;-1:-1:-1;9160:15:0;;-1:-1:-1;;;;;9144:32:0;;;9160:15;;9144:32;;9121:55;:85;;;;-1:-1:-1;;;;;;9182:24:0;;;;;;:18;:24;;;;;;;;9180:26;9121:85;9117:141;;;9239:6;;9230:4;;:16;;:8;:16::i;:::-;9223:4;:23;9117:141;9268:33;9286:4;9291:2;9294:6;9268:17;:33::i;1316:190::-;1402:7;1438:12;1430:6;;;;1422:29;;;;-1:-1:-1;;;1422:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1462:9:0;1474:5;1478:1;1474;:5;:::i;:::-;1462:17;1316:190;-1:-1:-1;;;;;1316:190:0:o;10503:97::-;10560:15;;:32;;-1:-1:-1;;;;;10560:15:0;;;;:32;;;;;10585:6;;10560:15;:32;:15;:32;10585:6;10560:15;:32;;;;;;;;;;;;;;;;;;;9812:389;9891:6;;9876:12;;9891:13;;9902:1;9891:10;:13::i;:::-;9876:28;;9915:12;9930:14;9939:4;9930;;:8;;:14;;;;:::i;:::-;9915:29;;9955:11;9969:16;9978:6;;9969:4;;:8;;:16;;;;:::i;:::-;9955:30;-1:-1:-1;9996:17:0;10016:30;9955;10016:21;:11;10032:4;10016:15;:21::i;:::-;:25;;:30::i;:::-;9996:50;;10057:27;10074:9;10057:16;:27::i;:::-;10095:98;10108:26;:11;10124:9;10108:15;:26::i;:::-;10135:41;10171:4;10135:31;:21;10161:4;10135:25;:31::i;:41::-;10177:15;;-1:-1:-1;;;;;10177:15:0;10095:12;:98::i;:::-;9865:336;;;;9812:389;:::o;10209:288::-;4733:6;:13;;-1:-1:-1;;;;4733:13:0;-1:-1:-1;;;4733:13:0;;;10346:15:::1;::::0;10315:60:::1;::::0;10332:4:::1;::::0;-1:-1:-1;;;;;10346:15:0::1;10363:11:::0;10315:8:::1;:60::i;:::-;10386:15;::::0;:103:::1;::::0;-1:-1:-1;;;10386:103:0;;10444:4:::1;10386:103;::::0;::::1;5263:34:1::0;5313:18;;;5306:34;;;10386:15:0::1;5356:18:1::0;;;5349:34;;;5399:18;;;5392:34;-1:-1:-1;;;;;5463:15:1;;;5442:19;;;5435:44;10473:15:0::1;5495:19:1::0;;;5488:35;10386:15:0;;::::1;::::0;:31:::1;::::0;10425:9;;5197:19:1;;10386:103:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;4769:6:0;:14;;-1:-1:-1;;;;4769:14:0;;;-1:-1:-1;;;;10209:288:0:o;1908:189::-;1994:7;2029:12;2022:5;2014:28;;;;-1:-1:-1;;;2014:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2053:9:0;2065:5;2069:1;2065;:5;:::i;985:179::-;1043:7;;1075:5;1079:1;1075;:5;:::i;:::-;1063:17;;1104:1;1099;:6;;1091:46;;;;-1:-1:-1;;;1091:46:0;;7746:2:1;1091:46:0;;;7728:21:1;7785:2;7765:18;;;7758:30;7824:29;7804:18;;;7797:57;7871:18;;1091:46:0;7544:351:1;11190:421:0;11289:22;11312:12;11328:20;11340:7;11328:11;:20::i;:::-;-1:-1:-1;;;;;11377:15:0;;;;;;:7;:15;;;;;;11288:60;;-1:-1:-1;11288:60:0;-1:-1:-1;11377:28:0;;11397:7;11377:19;:28::i;:::-;-1:-1:-1;;;;;11359:15:0;;;;;;;:7;:15;;;;;;:46;;;;11437:18;;;;;;;:38;;11460:14;11437:22;:38::i;:::-;-1:-1:-1;;;;;11416:18:0;;;;;;:7;:18;;;;;;:59;;;;11528:4;11512:22;;;;:32;;11539:4;11512:26;:32::i;:::-;11503:4;11487:22;;;;:7;:22;;;;;;;;;:57;;;;11560:43;10740:25:1;;;-1:-1:-1;;;;;11560:43:0;;;;;;;;;;10713:18:1;11560:43:0;;;;;;;11277:334;;11190:421;;;:::o;9317:483::-;4733:6;:13;;-1:-1:-1;;;;4733:13:0;-1:-1:-1;;;4733:13:0;;;9419:16:::1;::::0;;9433:1:::1;9419:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9419:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9419:16:0::1;9395:40;;9464:4;9446;9451:1;9446:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9446:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9490:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9490:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9446:7;;9490:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9480:4;9485:1;9480:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9480:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9555:15:::1;::::0;9523:62:::1;::::0;9540:4:::1;::::0;9555:15:::1;9573:11:::0;9523:8:::1;:62::i;:::-;9596:15;::::0;:196:::1;::::0;-1:-1:-1;;;9596:196:0;;-1:-1:-1;;;;;9596:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9677:11;;9596:15:::1;::::0;9719:4;;9746::::1;::::0;9766:15:::1;::::0;9596:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;1172:136:::0;1230:7;1257:43;1261:1;1264;1257:43;;;;;;;;;;;;;;;;;:3;:43::i;12070:234::-;12130:7;12139;12159:12;12174:27;12196:4;12174:17;12186:4;;12174:7;:11;;:17;;;;:::i;:27::-;12159:42;-1:-1:-1;12212:23:0;12238:17;:7;12159:42;12238:11;:17::i;:::-;12212:43;12291:4;;-1:-1:-1;12070:234:0;;-1:-1:-1;;;12070:234:0:o;14:134:1:-;82:20;;111:31;82:20;111:31;:::i;:::-;14:134;;;:::o;153:156::-;219:20;;279:4;268:16;;258:27;;248:55;;299:1;296;289:12;314:247;373:6;426:2;414:9;405:7;401:23;397:32;394:52;;;442:1;439;432:12;394:52;481:9;468:23;500:31;525:5;500:31;:::i;566:251::-;636:6;689:2;677:9;668:7;664:23;660:32;657:52;;;705:1;702;695:12;657:52;737:9;731:16;756:31;781:5;756:31;:::i;822:388::-;890:6;898;951:2;939:9;930:7;926:23;922:32;919:52;;;967:1;964;957:12;919:52;1006:9;993:23;1025:31;1050:5;1025:31;:::i;:::-;1075:5;-1:-1:-1;1132:2:1;1117:18;;1104:32;1145:33;1104:32;1145:33;:::i;:::-;1197:7;1187:17;;;822:388;;;;;:::o;1215:456::-;1292:6;1300;1308;1361:2;1349:9;1340:7;1336:23;1332:32;1329:52;;;1377:1;1374;1367:12;1329:52;1416:9;1403:23;1435:31;1460:5;1435:31;:::i;:::-;1485:5;-1:-1:-1;1542:2:1;1527:18;;1514:32;1555:33;1514:32;1555:33;:::i;:::-;1215:456;;1607:7;;-1:-1:-1;;;1661:2:1;1646:18;;;;1633:32;;1215:456::o;1676:315::-;1744:6;1752;1805:2;1793:9;1784:7;1780:23;1776:32;1773:52;;;1821:1;1818;1811:12;1773:52;1860:9;1847:23;1879:31;1904:5;1879:31;:::i;:::-;1929:5;1981:2;1966:18;;;;1953:32;;-1:-1:-1;;;1676:315:1:o;1996:1132::-;2080:6;2111:2;2154;2142:9;2133:7;2129:23;2125:32;2122:52;;;2170:1;2167;2160:12;2122:52;2210:9;2197:23;2239:18;2280:2;2272:6;2269:14;2266:34;;;2296:1;2293;2286:12;2266:34;2334:6;2323:9;2319:22;2309:32;;2379:7;2372:4;2368:2;2364:13;2360:27;2350:55;;2401:1;2398;2391:12;2350:55;2437:2;2424:16;2459:2;2455;2452:10;2449:36;;;2465:18;;:::i;:::-;2511:2;2508:1;2504:10;2543:2;2537:9;2606:2;2602:7;2597:2;2593;2589:11;2585:25;2577:6;2573:38;2661:6;2649:10;2646:22;2641:2;2629:10;2626:18;2623:46;2620:72;;;2672:18;;:::i;:::-;2708:2;2701:22;2758:18;;;2792:15;;;;-1:-1:-1;2827:11:1;;;2857;;;2853:20;;2850:33;-1:-1:-1;2847:53:1;;;2896:1;2893;2886:12;2847:53;2918:1;2909:10;;2928:169;2942:2;2939:1;2936:9;2928:169;;;2999:23;3018:3;2999:23;:::i;:::-;2987:36;;2960:1;2953:9;;;;;3043:12;;;;3075;;2928:169;;;-1:-1:-1;3116:6:1;1996:1132;-1:-1:-1;;;;;;;;1996:1132:1:o;3133:277::-;3200:6;3253:2;3241:9;3232:7;3228:23;3224:32;3221:52;;;3269:1;3266;3259:12;3221:52;3301:9;3295:16;3354:5;3347:13;3340:21;3333:5;3330:32;3320:60;;3376:1;3373;3366:12;3415:180;3474:6;3527:2;3515:9;3506:7;3502:23;3498:32;3495:52;;;3543:1;3540;3533:12;3495:52;-1:-1:-1;3566:23:1;;3415:180;-1:-1:-1;3415:180:1:o;3600:184::-;3670:6;3723:2;3711:9;3702:7;3698:23;3694:32;3691:52;;;3739:1;3736;3729:12;3691:52;-1:-1:-1;3762:16:1;;3600:184;-1:-1:-1;3600:184:1:o;3789:306::-;3877:6;3885;3893;3946:2;3934:9;3925:7;3921:23;3917:32;3914:52;;;3962:1;3959;3952:12;3914:52;3991:9;3985:16;3975:26;;4041:2;4030:9;4026:18;4020:25;4010:35;;4085:2;4074:9;4070:18;4064:25;4054:35;;3789:306;;;;;:::o;4100:322::-;4171:6;4179;4187;4240:2;4228:9;4219:7;4215:23;4211:32;4208:52;;;4256:1;4253;4246:12;4208:52;4279:27;4296:9;4279:27;:::i;:::-;4269:37;;4325:36;4357:2;4346:9;4342:18;4325:36;:::i;:::-;4315:46;;4380:36;4412:2;4401:9;4397:18;4380:36;:::i;:::-;4370:46;;4100:322;;;;;:::o;5726:597::-;5838:4;5867:2;5896;5885:9;5878:21;5928:6;5922:13;5971:6;5966:2;5955:9;5951:18;5944:34;5996:1;6006:140;6020:6;6017:1;6014:13;6006:140;;;6115:14;;;6111:23;;6105:30;6081:17;;;6100:2;6077:26;6070:66;6035:10;;6006:140;;;6164:6;6161:1;6158:13;6155:91;;;6234:1;6229:2;6220:6;6209:9;6205:22;6201:31;6194:42;6155:91;-1:-1:-1;6307:2:1;6286:15;-1:-1:-1;;6282:29:1;6267:45;;;;6314:2;6263:54;;5726:597;-1:-1:-1;;;5726:597:1:o;8302:356::-;8504:2;8486:21;;;8523:18;;;8516:30;8582:34;8577:2;8562:18;;8555:62;8649:2;8634:18;;8302:356::o;10776:980::-;11038:4;11086:3;11075:9;11071:19;11117:6;11106:9;11099:25;11143:2;11181:6;11176:2;11165:9;11161:18;11154:34;11224:3;11219:2;11208:9;11204:18;11197:31;11248:6;11283;11277:13;11314:6;11306;11299:22;11352:3;11341:9;11337:19;11330:26;;11391:2;11383:6;11379:15;11365:29;;11412:1;11422:195;11436:6;11433:1;11430:13;11422:195;;;11501:13;;-1:-1:-1;;;;;11497:39:1;11485:52;;11592:15;;;;11557:12;;;;11533:1;11451:9;11422:195;;;-1:-1:-1;;;;;;;11673:32:1;;;;11668:2;11653:18;;11646:60;-1:-1:-1;;;11737:3:1;11722:19;11715:35;11634:3;10776:980;-1:-1:-1;;;10776:980:1:o;11950:128::-;11990:3;12021:1;12017:6;12014:1;12011:13;12008:39;;;12027:18;;:::i;:::-;-1:-1:-1;12063:9:1;;11950:128::o;12083:217::-;12123:1;12149;12139:132;;12193:10;12188:3;12184:20;12181:1;12174:31;12228:4;12225:1;12218:15;12256:4;12253:1;12246:15;12139:132;-1:-1:-1;12285:9:1;;12083:217::o;12305:168::-;12345:7;12411:1;12407;12403:6;12399:14;12396:1;12393:21;12388:1;12381:9;12374:17;12370:45;12367:71;;;12418:18;;:::i;:::-;-1:-1:-1;12458:9:1;;12305:168::o;12478:125::-;12518:4;12546:1;12543;12540:8;12537:34;;;12551:18;;:::i;:::-;-1:-1:-1;12588:9:1;;12478:125::o;12608:135::-;12647:3;-1:-1:-1;;12668:17:1;;12665:43;;;12688:18;;:::i;:::-;-1:-1:-1;12735:1:1;12724:13;;12608:135::o;12748:127::-;12809:10;12804:3;12800:20;12797:1;12790:31;12840:4;12837:1;12830:15;12864:4;12861:1;12854:15;12880:127;12941:10;12936:3;12932:20;12929:1;12922:31;12972:4;12969:1;12962:15;12996:4;12993:1;12986:15;13012:127;13073:10;13068:3;13064:20;13061:1;13054:31;13104:4;13101:1;13094:15;13128:4;13125:1;13118:15;13144:131;-1:-1:-1;;;;;13219:31:1;;13209:42;;13199:70;;13265:1;13262;13255:12

Swarm Source

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