ETH Price: $2,969.15 (-1.70%)
Gas: 2 Gwei

Token

BINLADY ($BINLADY)
 

Overview

Max Total Supply

911,000,000 $BINLADY

Holders

35

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
11,500,544.334525240181973176 $BINLADY

Value
$0.00
0xabe4aea5d250294ecce14566734f2cb288a6512f
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:
BINLADY

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-10-04
*/

// SPDX-License-Identifier: Unlicensed

// Joinus https://t.me/binlady

pragma solidity 0.8.16;
 
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
    );
}
 
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);
    }
}
 
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;
    }
}
 
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);

}
 
contract BINLADY is Context, IERC20, Ownable {
 
    using SafeMath for uint256;
 
    string private constant _name = "BINLADY";
    string private constant _symbol = "$BINLADY";
    uint8 private constant _decimals = 18;
 
    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 911000000 * 10**18;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;  
    uint256 private _taxFeeOnBuy = 20;
    uint256 private _redisFeeOnSell = 0;  
    uint256 private _taxFeeOnSell = 30;
 
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
 
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;
  
    address payable private _developmentAddress; 
    address payable private _marketingAddress;
 
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
 
    bool private inSwap = false;
    bool private swapEnabled = true;
 
    uint256 public _maxTxAmount = _tTotal / 50; 
    uint256 public _maxWalletSize = _tTotal / 50; 
    uint256 public _swapTokensAtAmount = _tTotal / 100;
 
    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
 
    constructor() {
        _developmentAddress = payable(0xc1DbE926980B232e427667d1681a861056401933);
        _marketingAddress = payable(0xBb18fa023f9D87210A2E6bF8A6CB8C457bdD722F);
 
        _rOwned[_msgSender()] = _rTotal;
 
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
 
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = true;
 
        emit Transfer(address(0), _msgSender(), _tTotal);
    }
 
    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 tokenFromReflection(_rOwned[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 tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }
 
    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;
 
        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;
 
        _redisFee = 0;
        _taxFee = 0;
    }
 
    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }
 
    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");
 
        if (from != owner() && to != owner()) {
 
            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
 
            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }
 
            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;
 
            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }
 
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
 
        bool takeFee = true;
 
        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {
 
            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }
 
            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }
 
        }
 
        _tokenTransfer(from, to, amount, takeFee);
    }
 
    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 sendETHToFee(uint256 amount) private {
        _marketingAddress.transfer(amount);
    }
 
    function manualswap() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
 
    function manualsend() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
 
    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }
 
    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }
 
    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }
 
    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }
 
    receive() external payable {}
 
    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }
 
    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }
 
    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }
 
    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }
 
    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
 
    function setFee(uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }
 
    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }
 
    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }
 
    //Set maximum transaction
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
           _maxTxAmount = maxTxAmount;
        
    }
 
    function setMaxWalletSize(uint256 _d) public onlyOwner {
        _maxWalletSize = _tTotal / _d;
        _maxTxAmount = _maxWalletSize;
    }

}

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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_d","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","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"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001e6b02f18fc0f4eb419fef000000600019620003df565b6200002c90600019620003f6565b600655600060088190556014600955600a819055601e600b819055600c829055600d819055600e91909155600f556013805461ffff60a01b1916600160a81b1790556200008760326b02f18fc0f4eb419fef0000006200041e565b601455620000a360326b02f18fc0f4eb419fef0000006200041e565b601555620000bf60646b02f18fc0f4eb419fef0000006200041e565b601655348015620000cf57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601080546001600160a01b031990811673c1dbe926980b232e427667d1681a861056401933179091556011805490911673bb18fa023f9d87210a2e6bf8a6cb8c457bdd722f17905560065460026000620001683390565b6001600160a01b03168152602080820192909252604090810160002092909255601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155825163c45a015560e01b815292519092839263c45a0155926004808401938290030181865afa158015620001e9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020f919062000435565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200025d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000283919062000435565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002d1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f7919062000435565b601380546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055601054851684528284208054821683179055601154909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b02f18fc0f4eb419fef000000604051620003ba91815260200190565b60405180910390a35062000467565b634e487b7160e01b600052601260045260246000fd5b600082620003f157620003f1620003c9565b500690565b818103818111156200041857634e487b7160e01b600052601160045260246000fd5b92915050565b600082620004305762000430620003c9565b500490565b6000602082840312156200044857600080fd5b81516001600160a01b03811681146200046057600080fd5b9392505050565b61170e80620004776000396000f3fe6080604052600436106101445760003560e01c806370a08231116100b657806395d89b411161006f57806395d89b411461038b57806398a5c315146103bc578063a9059cbb146103dc578063c3c8cd80146103fc578063dd62ed3e14610411578063ea1644d51461045757600080fd5b806370a08231146102ec578063715018a61461030c57806374010ece146103215780637d1db4a5146103415780638da5cb5b146103575780638f9a55c01461037557600080fd5b80632fd689e3116101085780632fd689e314610243578063313ce5671461025957806349bd5a5e1461027557806352f7c988146102955780636d8aa8f8146102b75780636fc3eaec146102d757600080fd5b806306fdde0314610150578063095ea7b3146101925780631694505e146101c257806318160ddd146101fa57806323b872dd1461022357600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5060408051808201909152600781526642494e4c41445960c81b60208201525b60405161018991906113d7565b60405180910390f35b34801561019e57600080fd5b506101b26101ad36600461143a565b610477565b6040519015158152602001610189565b3480156101ce57600080fd5b506012546101e2906001600160a01b031681565b6040516001600160a01b039091168152602001610189565b34801561020657600080fd5b506b02f18fc0f4eb419fef0000005b604051908152602001610189565b34801561022f57600080fd5b506101b261023e366004611466565b61048e565b34801561024f57600080fd5b5061021560165481565b34801561026557600080fd5b5060405160128152602001610189565b34801561028157600080fd5b506013546101e2906001600160a01b031681565b3480156102a157600080fd5b506102b56102b03660046114a7565b6104f7565b005b3480156102c357600080fd5b506102b56102d23660046114c9565b610535565b3480156102e357600080fd5b506102b561057d565b3480156102f857600080fd5b506102156103073660046114eb565b6105c8565b34801561031857600080fd5b506102b56105ea565b34801561032d57600080fd5b506102b561033c366004611508565b61065e565b34801561034d57600080fd5b5061021560145481565b34801561036357600080fd5b506000546001600160a01b03166101e2565b34801561038157600080fd5b5061021560155481565b34801561039757600080fd5b506040805180820190915260088152672442494e4c41445960c01b602082015261017c565b3480156103c857600080fd5b506102b56103d7366004611508565b61068d565b3480156103e857600080fd5b506101b26103f736600461143a565b6106bc565b34801561040857600080fd5b506102b56106c9565b34801561041d57600080fd5b5061021561042c366004611521565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561046357600080fd5b506102b5610472366004611508565b61071d565b6000610484338484610768565b5060015b92915050565b600061049b84848461088c565b6104ed84336104e8856040518060600160405280602881526020016116b1602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610ca0565b610768565b5060019392505050565b6000546001600160a01b0316331461052a5760405162461bcd60e51b81526004016105219061155a565b60405180910390fd5b600991909155600b55565b6000546001600160a01b0316331461055f5760405162461bcd60e51b81526004016105219061155a565b60138054911515600160a81b0260ff60a81b19909216919091179055565b6010546001600160a01b0316336001600160a01b031614806105b257506011546001600160a01b0316336001600160a01b0316145b6105bb57600080fd5b476105c581610cda565b50565b6001600160a01b03811660009081526002602052604081205461048890610d18565b6000546001600160a01b031633146106145760405162461bcd60e51b81526004016105219061155a565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106885760405162461bcd60e51b81526004016105219061155a565b601455565b6000546001600160a01b031633146106b75760405162461bcd60e51b81526004016105219061155a565b601655565b600061048433848461088c565b6010546001600160a01b0316336001600160a01b031614806106fe57506011546001600160a01b0316336001600160a01b0316145b61070757600080fd5b6000610712306105c8565b90506105c581610d9c565b6000546001600160a01b031633146107475760405162461bcd60e51b81526004016105219061155a565b61075d816b02f18fc0f4eb419fef0000006115a5565b601581905560145550565b6001600160a01b0383166107ca5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610521565b6001600160a01b03821661082b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610521565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108f05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610521565b6001600160a01b0382166109525760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610521565b600081116109b45760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610521565b6000546001600160a01b038481169116148015906109e057506000546001600160a01b03838116911614155b15610b9357601454811115610a375760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610521565b6013546001600160a01b03838116911614610abc5760155481610a59846105c8565b610a6391906115c7565b10610abc5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610521565b6000610ac7306105c8565b601654601454919250821015908210610ae05760145491505b808015610af75750601354600160a01b900460ff16155b8015610b1157506013546001600160a01b03868116911614155b8015610b265750601354600160a81b900460ff165b8015610b4b57506001600160a01b03851660009081526005602052604090205460ff16155b8015610b7057506001600160a01b03841660009081526005602052604090205460ff16155b15610b9057610b7e82610d9c565b478015610b8e57610b8e47610cda565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff1680610bd557506001600160a01b03831660009081526005602052604090205460ff165b80610c0757506013546001600160a01b03858116911614801590610c0757506013546001600160a01b03848116911614155b15610c1457506000610c8e565b6013546001600160a01b038581169116148015610c3f57506012546001600160a01b03848116911614155b15610c5157600854600c55600954600d555b6013546001600160a01b038481169116148015610c7c57506012546001600160a01b03858116911614155b15610c8e57600a54600c55600b54600d555b610c9a84848484610f16565b50505050565b60008184841115610cc45760405162461bcd60e51b815260040161052191906113d7565b506000610cd184866115da565b95945050505050565b6011546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610d14573d6000803e3d6000fd5b5050565b6000600654821115610d7f5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610521565b6000610d89610f44565b9050610d958382610f67565b9392505050565b6013805460ff60a01b1916600160a01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610de457610de46115ed565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e619190611603565b81600181518110610e7457610e746115ed565b6001600160a01b039283166020918202929092010152601254610e9a9130911684610768565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac94790610ed3908590600090869030904290600401611620565b600060405180830381600087803b158015610eed57600080fd5b505af1158015610f01573d6000803e3d6000fd5b50506013805460ff60a01b1916905550505050565b80610f2357610f23610fa9565b610f2e848484610fd7565b80610c9a57610c9a600e54600c55600f54600d55565b6000806000610f516110ce565b9092509050610f608282610f67565b9250505090565b6000610d9583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611116565b600c54158015610fb95750600d54155b15610fc057565b600c8054600e55600d8054600f5560009182905555565b600080600080600080610fe987611144565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061101b90876111a1565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461104a90866111e3565b6001600160a01b03891660009081526002602052604090205561106c81611242565b611076848361128c565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516110bb91815260200190565b60405180910390a3505050505050505050565b60065460009081906b02f18fc0f4eb419fef0000006110ed8282610f67565b82101561110d575050600654926b02f18fc0f4eb419fef00000092509050565b90939092509050565b600081836111375760405162461bcd60e51b815260040161052191906113d7565b506000610cd184866115a5565b60008060008060008060008060006111618a600c54600d546112b0565b9250925092506000611171610f44565b905060008060006111848e878787611305565b919e509c509a509598509396509194505050505091939550919395565b6000610d9583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ca0565b6000806111f083856115c7565b905083811015610d955760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610521565b600061124c610f44565b9050600061125a8383611355565b3060009081526002602052604090205490915061127790826111e3565b30600090815260026020526040902055505050565b60065461129990836111a1565b6006556007546112a990826111e3565b6007555050565b60008080806112ca60646112c48989611355565b90610f67565b905060006112dd60646112c48a89611355565b905060006112f5826112ef8b866111a1565b906111a1565b9992985090965090945050505050565b60008080806113148886611355565b905060006113228887611355565b905060006113308888611355565b90506000611342826112ef86866111a1565b939b939a50919850919650505050505050565b60008260000361136757506000610488565b60006113738385611691565b90508261138085836115a5565b14610d955760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610521565b600060208083528351808285015260005b81811015611404578581018301518582016040015282016113e8565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105c557600080fd5b6000806040838503121561144d57600080fd5b823561145881611425565b946020939093013593505050565b60008060006060848603121561147b57600080fd5b833561148681611425565b9250602084013561149681611425565b929592945050506040919091013590565b600080604083850312156114ba57600080fd5b50508035926020909101359150565b6000602082840312156114db57600080fd5b81358015158114610d9557600080fd5b6000602082840312156114fd57600080fd5b8135610d9581611425565b60006020828403121561151a57600080fd5b5035919050565b6000806040838503121561153457600080fd5b823561153f81611425565b9150602083013561154f81611425565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000826115c257634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156104885761048861158f565b818103818111156104885761048861158f565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561161557600080fd5b8151610d9581611425565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116705784516001600160a01b03168352938301939183019160010161164b565b50506001600160a01b03969096166060850152505050608001529392505050565b60008160001904831182151516156116ab576116ab61158f565b50029056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122060aaf7b913b532d196635eedae58033df0aeb6bfe9347b3774c32c73ce4ae89364736f6c63430008100033

Deployed Bytecode

0x6080604052600436106101445760003560e01c806370a08231116100b657806395d89b411161006f57806395d89b411461038b57806398a5c315146103bc578063a9059cbb146103dc578063c3c8cd80146103fc578063dd62ed3e14610411578063ea1644d51461045757600080fd5b806370a08231146102ec578063715018a61461030c57806374010ece146103215780637d1db4a5146103415780638da5cb5b146103575780638f9a55c01461037557600080fd5b80632fd689e3116101085780632fd689e314610243578063313ce5671461025957806349bd5a5e1461027557806352f7c988146102955780636d8aa8f8146102b75780636fc3eaec146102d757600080fd5b806306fdde0314610150578063095ea7b3146101925780631694505e146101c257806318160ddd146101fa57806323b872dd1461022357600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5060408051808201909152600781526642494e4c41445960c81b60208201525b60405161018991906113d7565b60405180910390f35b34801561019e57600080fd5b506101b26101ad36600461143a565b610477565b6040519015158152602001610189565b3480156101ce57600080fd5b506012546101e2906001600160a01b031681565b6040516001600160a01b039091168152602001610189565b34801561020657600080fd5b506b02f18fc0f4eb419fef0000005b604051908152602001610189565b34801561022f57600080fd5b506101b261023e366004611466565b61048e565b34801561024f57600080fd5b5061021560165481565b34801561026557600080fd5b5060405160128152602001610189565b34801561028157600080fd5b506013546101e2906001600160a01b031681565b3480156102a157600080fd5b506102b56102b03660046114a7565b6104f7565b005b3480156102c357600080fd5b506102b56102d23660046114c9565b610535565b3480156102e357600080fd5b506102b561057d565b3480156102f857600080fd5b506102156103073660046114eb565b6105c8565b34801561031857600080fd5b506102b56105ea565b34801561032d57600080fd5b506102b561033c366004611508565b61065e565b34801561034d57600080fd5b5061021560145481565b34801561036357600080fd5b506000546001600160a01b03166101e2565b34801561038157600080fd5b5061021560155481565b34801561039757600080fd5b506040805180820190915260088152672442494e4c41445960c01b602082015261017c565b3480156103c857600080fd5b506102b56103d7366004611508565b61068d565b3480156103e857600080fd5b506101b26103f736600461143a565b6106bc565b34801561040857600080fd5b506102b56106c9565b34801561041d57600080fd5b5061021561042c366004611521565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561046357600080fd5b506102b5610472366004611508565b61071d565b6000610484338484610768565b5060015b92915050565b600061049b84848461088c565b6104ed84336104e8856040518060600160405280602881526020016116b1602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610ca0565b610768565b5060019392505050565b6000546001600160a01b0316331461052a5760405162461bcd60e51b81526004016105219061155a565b60405180910390fd5b600991909155600b55565b6000546001600160a01b0316331461055f5760405162461bcd60e51b81526004016105219061155a565b60138054911515600160a81b0260ff60a81b19909216919091179055565b6010546001600160a01b0316336001600160a01b031614806105b257506011546001600160a01b0316336001600160a01b0316145b6105bb57600080fd5b476105c581610cda565b50565b6001600160a01b03811660009081526002602052604081205461048890610d18565b6000546001600160a01b031633146106145760405162461bcd60e51b81526004016105219061155a565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106885760405162461bcd60e51b81526004016105219061155a565b601455565b6000546001600160a01b031633146106b75760405162461bcd60e51b81526004016105219061155a565b601655565b600061048433848461088c565b6010546001600160a01b0316336001600160a01b031614806106fe57506011546001600160a01b0316336001600160a01b0316145b61070757600080fd5b6000610712306105c8565b90506105c581610d9c565b6000546001600160a01b031633146107475760405162461bcd60e51b81526004016105219061155a565b61075d816b02f18fc0f4eb419fef0000006115a5565b601581905560145550565b6001600160a01b0383166107ca5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610521565b6001600160a01b03821661082b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610521565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108f05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610521565b6001600160a01b0382166109525760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610521565b600081116109b45760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610521565b6000546001600160a01b038481169116148015906109e057506000546001600160a01b03838116911614155b15610b9357601454811115610a375760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610521565b6013546001600160a01b03838116911614610abc5760155481610a59846105c8565b610a6391906115c7565b10610abc5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610521565b6000610ac7306105c8565b601654601454919250821015908210610ae05760145491505b808015610af75750601354600160a01b900460ff16155b8015610b1157506013546001600160a01b03868116911614155b8015610b265750601354600160a81b900460ff165b8015610b4b57506001600160a01b03851660009081526005602052604090205460ff16155b8015610b7057506001600160a01b03841660009081526005602052604090205460ff16155b15610b9057610b7e82610d9c565b478015610b8e57610b8e47610cda565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff1680610bd557506001600160a01b03831660009081526005602052604090205460ff165b80610c0757506013546001600160a01b03858116911614801590610c0757506013546001600160a01b03848116911614155b15610c1457506000610c8e565b6013546001600160a01b038581169116148015610c3f57506012546001600160a01b03848116911614155b15610c5157600854600c55600954600d555b6013546001600160a01b038481169116148015610c7c57506012546001600160a01b03858116911614155b15610c8e57600a54600c55600b54600d555b610c9a84848484610f16565b50505050565b60008184841115610cc45760405162461bcd60e51b815260040161052191906113d7565b506000610cd184866115da565b95945050505050565b6011546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610d14573d6000803e3d6000fd5b5050565b6000600654821115610d7f5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610521565b6000610d89610f44565b9050610d958382610f67565b9392505050565b6013805460ff60a01b1916600160a01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610de457610de46115ed565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e619190611603565b81600181518110610e7457610e746115ed565b6001600160a01b039283166020918202929092010152601254610e9a9130911684610768565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac94790610ed3908590600090869030904290600401611620565b600060405180830381600087803b158015610eed57600080fd5b505af1158015610f01573d6000803e3d6000fd5b50506013805460ff60a01b1916905550505050565b80610f2357610f23610fa9565b610f2e848484610fd7565b80610c9a57610c9a600e54600c55600f54600d55565b6000806000610f516110ce565b9092509050610f608282610f67565b9250505090565b6000610d9583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611116565b600c54158015610fb95750600d54155b15610fc057565b600c8054600e55600d8054600f5560009182905555565b600080600080600080610fe987611144565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061101b90876111a1565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461104a90866111e3565b6001600160a01b03891660009081526002602052604090205561106c81611242565b611076848361128c565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516110bb91815260200190565b60405180910390a3505050505050505050565b60065460009081906b02f18fc0f4eb419fef0000006110ed8282610f67565b82101561110d575050600654926b02f18fc0f4eb419fef00000092509050565b90939092509050565b600081836111375760405162461bcd60e51b815260040161052191906113d7565b506000610cd184866115a5565b60008060008060008060008060006111618a600c54600d546112b0565b9250925092506000611171610f44565b905060008060006111848e878787611305565b919e509c509a509598509396509194505050505091939550919395565b6000610d9583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ca0565b6000806111f083856115c7565b905083811015610d955760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610521565b600061124c610f44565b9050600061125a8383611355565b3060009081526002602052604090205490915061127790826111e3565b30600090815260026020526040902055505050565b60065461129990836111a1565b6006556007546112a990826111e3565b6007555050565b60008080806112ca60646112c48989611355565b90610f67565b905060006112dd60646112c48a89611355565b905060006112f5826112ef8b866111a1565b906111a1565b9992985090965090945050505050565b60008080806113148886611355565b905060006113228887611355565b905060006113308888611355565b90506000611342826112ef86866111a1565b939b939a50919850919650505050505050565b60008260000361136757506000610488565b60006113738385611691565b90508261138085836115a5565b14610d955760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610521565b600060208083528351808285015260005b81811015611404578581018301518582016040015282016113e8565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146105c557600080fd5b6000806040838503121561144d57600080fd5b823561145881611425565b946020939093013593505050565b60008060006060848603121561147b57600080fd5b833561148681611425565b9250602084013561149681611425565b929592945050506040919091013590565b600080604083850312156114ba57600080fd5b50508035926020909101359150565b6000602082840312156114db57600080fd5b81358015158114610d9557600080fd5b6000602082840312156114fd57600080fd5b8135610d9581611425565b60006020828403121561151a57600080fd5b5035919050565b6000806040838503121561153457600080fd5b823561153f81611425565b9150602083013561154f81611425565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000826115c257634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156104885761048861158f565b818103818111156104885761048861158f565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561161557600080fd5b8151610d9581611425565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116705784516001600160a01b03168352938301939183019160010161164b565b50506001600160a01b03969096166060850152505050608001529392505050565b60008160001904831182151516156116ab576116ab61158f565b50029056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122060aaf7b913b532d196635eedae58033df0aeb6bfe9347b3774c32c73ce4ae89364736f6c63430008100033

Deployed Bytecode Sourcemap

3501:12476:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5930:83;;;;;;;;;;-1:-1:-1;6000:5:0;;;;;;;;;;;;-1:-1:-1;;;6000:5:0;;;;5930:83;;;;;;;:::i;:::-;;;;;;;;6862:193;;;;;;;;;;-1:-1:-1;6862:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6862:193:0;1023:187:1;4644:41:0;;;;;;;;;;-1:-1:-1;4644:41:0;;;;-1:-1:-1;;;;;4644:41:0;;;;;;-1:-1:-1;;;;;1405:32:1;;;1387:51;;1375:2;1360:18;4644:41:0;1215:229:1;6210:95:0;;;;;;;;;;-1:-1:-1;4054:18:0;6210:95;;;1595:25:1;;;1583:2;1568:18;6210:95:0;1449:177:1;7064:446:0;;;;;;;;;;-1:-1:-1;7064:446:0;;;;;:::i;:::-;;:::i;4907:50::-;;;;;;;;;;;;;;;;6118:83;;;;;;;;;;-1:-1:-1;6118:83:0;;3726:2;2234:36:1;;2222:2;2207:18;6118:83:0;2092:184:1;4692:28:0;;;;;;;;;;-1:-1:-1;4692:28:0;;;;-1:-1:-1;;;;;4692:28:0;;;15153:160;;;;;;;;;;-1:-1:-1;15153:160:0;;;;;:::i;:::-;;:::i;:::-;;15558:101;;;;;;;;;;-1:-1:-1;15558:101:0;;;;;:::i;:::-;;:::i;11501:235::-;;;;;;;;;;;;;:::i;6314:138::-;;;;;;;;;;-1:-1:-1;6314:138:0;;;;;:::i;:::-;;:::i;1604:148::-;;;;;;;;;;;;;:::i;15699:121::-;;;;;;;;;;-1:-1:-1;15699:121:0;;;;;:::i;:::-;;:::i;4805:42::-;;;;;;;;;;;;;;;;1388:79;;;;;;;;;;-1:-1:-1;1426:7:0;1453:6;-1:-1:-1;;;;;1453:6:0;1388:79;;4855:44;;;;;;;;;;;;;;;;6022:87;;;;;;;;;;-1:-1:-1;6094:7:0;;;;;;;;;;;;-1:-1:-1;;;6094:7:0;;;;6022:87;;15366:139;;;;;;;;;;-1:-1:-1;15366:139:0;;;;;:::i;:::-;;:::i;6461:199::-;;;;;;;;;;-1:-1:-1;6461:199:0;;;;;:::i;:::-;;:::i;11256:236::-;;;;;;;;;;;;;:::i;6669:184::-;;;;;;;;;;-1:-1:-1;6669:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;6818:18:0;;;6786:7;6818:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6669:184;15829:143;;;;;;;;;;-1:-1:-1;15829:143:0;;;;;:::i;:::-;;:::i;6862:193::-;6964:4;6986:39;217:10;7009:7;7018:6;6986:8;:39::i;:::-;-1:-1:-1;7043:4:0;6862:193;;;;;:::o;7064:446::-;7196:4;7213:36;7223:6;7231:9;7242:6;7213:9;:36::i;:::-;7260:220;7283:6;217:10;7331:138;7387:6;7331:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7331:19:0;;;;;;:11;:19;;;;;;;;217:10;7331:33;;;;;;;;;;:37;:138::i;:::-;7260:8;:220::i;:::-;-1:-1:-1;7498:4:0;7064:446;;;;;:::o;15153:160::-;1516:6;;-1:-1:-1;;;;;1516:6:0;217:10;1516:22;1508:67;;;;-1:-1:-1;;;1508:67:0;;;;;;;:::i;:::-;;;;;;;;;15240:12:::1;:26:::0;;;;15277:13:::1;:28:::0;15153:160::o;15558:101::-;1516:6;;-1:-1:-1;;;;;1516:6:0;217:10;1516:22;1508:67;;;;-1:-1:-1;;;1508:67:0;;;;;;;:::i;:::-;15625:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;15625:26:0::1;-1:-1:-1::0;;;;15625:26:0;;::::1;::::0;;;::::1;::::0;;15558:101::o;11501:235::-;11567:19;;-1:-1:-1;;;;;11567:19:0;217:10;-1:-1:-1;;;;;11551:35:0;;:72;;;-1:-1:-1;11606:17:0;;-1:-1:-1;;;;;11606:17:0;217:10;-1:-1:-1;;;;;11590:33:0;;11551:72;11543:81;;;;;;11664:21;11696:32;11664:21;11696:12;:32::i;:::-;11532:204;11501:235::o;6314:138::-;-1:-1:-1;;;;;6427:16:0;;6380:7;6427:16;;;:7;:16;;;;;;6407:37;;:19;:37::i;1604:148::-;1516:6;;-1:-1:-1;;;;;1516:6:0;217:10;1516:22;1508:67;;;;-1:-1:-1;;;1508:67:0;;;;;;;:::i;:::-;1711:1:::1;1695:6:::0;;1674:40:::1;::::0;-1:-1:-1;;;;;1695:6:0;;::::1;::::0;1674:40:::1;::::0;1711:1;;1674:40:::1;1742:1;1725:19:::0;;-1:-1:-1;;;;;;1725:19:0::1;::::0;;1604:148::o;15699:121::-;1516:6;;-1:-1:-1;;;;;1516:6:0;217:10;1516:22;1508:67;;;;-1:-1:-1;;;1508:67:0;;;;;;;:::i;:::-;15776:12:::1;:26:::0;15699:121::o;15366:139::-;1516:6;;-1:-1:-1;;;;;1516:6:0;217:10;1516:22;1508:67;;;;-1:-1:-1;;;1508:67:0;;;;;;;:::i;:::-;15457:19:::1;:40:::0;15366:139::o;6461:199::-;6566:4;6588:42;217:10;6612:9;6623:6;6588:9;:42::i;11256:236::-;11322:19;;-1:-1:-1;;;;;11322:19:0;217:10;-1:-1:-1;;;;;11306:35:0;;:72;;;-1:-1:-1;11361:17:0;;-1:-1:-1;;;;;11361:17:0;217:10;-1:-1:-1;;;;;11345:33:0;;11306:72;11298:81;;;;;;11390:23;11416:24;11434:4;11416:9;:24::i;:::-;11390:50;;11451:33;11468:15;11451:16;:33::i;15829:143::-;1516:6;;-1:-1:-1;;;;;1516:6:0;217:10;1516:22;1508:67;;;;-1:-1:-1;;;1508:67:0;;;;;;;:::i;:::-;15912:12:::1;15922:2:::0;4054:18:::1;15912:12;:::i;:::-;15895:14;:29:::0;;;15935:12:::1;:29:::0;-1:-1:-1;15829:143:0:o;8207:369::-;-1:-1:-1;;;;;8334:19:0;;8326:68;;;;-1:-1:-1;;;8326:68:0;;4767:2:1;8326:68:0;;;4749:21:1;4806:2;4786:18;;;4779:30;4845:34;4825:18;;;4818:62;-1:-1:-1;;;4896:18:1;;;4889:34;4940:19;;8326:68:0;4565:400:1;8326:68:0;-1:-1:-1;;;;;8413:21:0;;8405:68;;;;-1:-1:-1;;;8405:68:0;;5172:2:1;8405:68:0;;;5154:21:1;5211:2;5191:18;;;5184:30;5250:34;5230:18;;;5223:62;-1:-1:-1;;;5301:18:1;;;5294:32;5343:19;;8405:68:0;4970:398:1;8405:68:0;-1:-1:-1;;;;;8484:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8536:32;;1595:25:1;;;8536:32:0;;1568:18:1;8536:32:0;;;;;;;8207:369;;;:::o;8585:2062::-;-1:-1:-1;;;;;8707:18:0;;8699:68;;;;-1:-1:-1;;;8699:68:0;;5575:2:1;8699:68:0;;;5557:21:1;5614:2;5594:18;;;5587:30;5653:34;5633:18;;;5626:62;-1:-1:-1;;;5704:18:1;;;5697:35;5749:19;;8699:68:0;5373:401:1;8699:68:0;-1:-1:-1;;;;;8786:16:0;;8778:64;;;;-1:-1:-1;;;8778:64:0;;5981:2:1;8778:64:0;;;5963:21:1;6020:2;6000:18;;;5993:30;6059:34;6039:18;;;6032:62;-1:-1:-1;;;6110:18:1;;;6103:33;6153:19;;8778:64:0;5779:399:1;8778:64:0;8870:1;8861:6;:10;8853:64;;;;-1:-1:-1;;;8853:64:0;;6385:2:1;8853:64:0;;;6367:21:1;6424:2;6404:18;;;6397:30;6463:34;6443:18;;;6436:62;-1:-1:-1;;;6514:18:1;;;6507:39;6563:19;;8853:64:0;6183:405:1;8853:64:0;1426:7;1453:6;-1:-1:-1;;;;;8935:15:0;;;1453:6;;8935:15;;;;:32;;-1:-1:-1;1426:7:0;1453:6;-1:-1:-1;;;;;8954:13:0;;;1453:6;;8954:13;;8935:32;8931:984;;;9005:12;;8995:6;:22;;8987:63;;;;-1:-1:-1;;;8987:63:0;;6795:2:1;8987:63:0;;;6777:21:1;6834:2;6814:18;;;6807:30;6873;6853:18;;;6846:58;6921:18;;8987:63:0;6593:352:1;8987:63:0;9077:13;;-1:-1:-1;;;;;9071:19:0;;;9077:13;;9071:19;9068:146;;9144:14;;9135:6;9119:13;9129:2;9119:9;:13::i;:::-;:22;;;;:::i;:::-;:39;9111:87;;;;-1:-1:-1;;;9111:87:0;;7282:2:1;9111:87:0;;;7264:21:1;7321:2;7301:18;;;7294:30;7360:34;7340:18;;;7333:62;-1:-1:-1;;;7411:18:1;;;7404:33;7454:19;;9111:87:0;7080:399:1;9111:87:0;9231:28;9262:24;9280:4;9262:9;:24::i;:::-;9340:19;;9404:12;;9231:55;;-1:-1:-1;9316:43:0;;;;9380:36;;9377:124;;9473:12;;9450:35;;9377:124;9522:7;:18;;;;-1:-1:-1;9534:6:0;;-1:-1:-1;;;9534:6:0;;;;9533:7;9522:18;:43;;;;-1:-1:-1;9552:13:0;;-1:-1:-1;;;;;9544:21:0;;;9552:13;;9544:21;;9522:43;:58;;;;-1:-1:-1;9569:11:0;;-1:-1:-1;;;9569:11:0;;;;9522:58;:87;;;;-1:-1:-1;;;;;;9585:24:0;;;;;;:18;:24;;;;;;;;9584:25;9522:87;:114;;;;-1:-1:-1;;;;;;9614:22:0;;;;;;:18;:22;;;;;;;;9613:23;9522:114;9518:386;;;9657:38;9674:20;9657:16;:38::i;:::-;9743:21;9787:22;;9783:106;;9834:35;9847:21;9834:12;:35::i;:::-;9638:266;9518:386;8969:946;;8931:984;-1:-1:-1;;;;;9993:24:0;;9928:12;9993:24;;;:18;:24;;;;;;9943:4;;9993:24;;;:50;;-1:-1:-1;;;;;;10021:22:0;;;;;;:18;:22;;;;;;;;9993:50;9992:102;;;-1:-1:-1;10057:13:0;;-1:-1:-1;;;;;10049:21:0;;;10057:13;;10049:21;;;;:44;;-1:-1:-1;10080:13:0;;-1:-1:-1;;;;;10074:19:0;;;10080:13;;10074:19;;10049:44;9988:597;;;-1:-1:-1;10121:5:0;9988:597;;;10205:13;;-1:-1:-1;;;;;10197:21:0;;;10205:13;;10197:21;:55;;;;-1:-1:-1;10236:15:0;;-1:-1:-1;;;;;10222:30:0;;;10236:15;;10222:30;;10197:55;10194:162;;;10285:14;;10273:9;:26;10328:12;;10318:7;:22;10194:162;10416:13;;-1:-1:-1;;;;;10410:19:0;;;10416:13;;10410:19;:55;;;;-1:-1:-1;10449:15:0;;-1:-1:-1;;;;;10433:32:0;;;10449:15;;10433:32;;10410:55;10406:165;;;10498:15;;10486:9;:27;10542:13;;10532:7;:23;10406:165;10598:41;10613:4;10619:2;10623:6;10631:7;10598:14;:41::i;:::-;8688:1959;8585:2062;;;:::o;2117:224::-;2237:7;2273:12;2265:6;;;;2257:29;;;;-1:-1:-1;;;2257:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2297:9:0;2309:5;2313:1;2309;:5;:::i;:::-;2297:17;2117:224;-1:-1:-1;;;;;2117:224:0:o;11148:99::-;11205:17;;:34;;-1:-1:-1;;;;;11205:17:0;;;;:34;;;;;11232:6;;11205:17;:34;:17;:34;11232:6;11205:17;:34;;;;;;;;;;;;;;;;;;;;;11148:99;:::o;7519:323::-;7614:7;7672;;7661;:18;;7639:110;;;;-1:-1:-1;;;7639:110:0;;7819:2:1;7639:110:0;;;7801:21:1;7858:2;7838:18;;;7831:30;7897:34;7877:18;;;7870:62;-1:-1:-1;;;7948:18:1;;;7941:40;7998:19;;7639:110:0;7617:406:1;7639:110:0;7760:19;7782:10;:8;:10::i;:::-;7760:32;-1:-1:-1;7810:24:0;:7;7760:32;7810:11;:24::i;:::-;7803:31;7519:323;-1:-1:-1;;;7519:323:0:o;10656:483::-;5052:6;:13;;-1:-1:-1;;;;5052:13:0;-1:-1:-1;;;5052:13:0;;;10758:16:::1;::::0;;10772:1:::1;10758:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10758:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10758:16:0::1;10734:40;;10803:4;10785;10790:1;10785:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10785:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10829:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10829:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10785:7;;10829:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10819:4;10824:1;10819:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10819:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10894:15:::1;::::0;10862:62:::1;::::0;10879:4:::1;::::0;10894:15:::1;10912:11:::0;10862:8:::1;:62::i;:::-;10935:15;::::0;:196:::1;::::0;-1:-1:-1;;;10935:196:0;;-1:-1:-1;;;;;10935:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11016:11;;10935:15:::1;::::0;11058:4;;11085::::1;::::0;11105:15:::1;::::0;10935:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5088:6:0;:14;;-1:-1:-1;;;;5088:14:0;;;-1:-1:-1;;;;10656:483:0:o;11745:282::-;11901:7;11896:28;;11910:14;:12;:14::i;:::-;11935:44;11953:6;11961:9;11972:6;11935:17;:44::i;:::-;11995:7;11990:29;;12004:15;8137:17;;8125:9;:29;8175:15;;8165:7;:25;8081:117;14714:164;14756:7;14777:15;14794;14813:19;:17;:19::i;:::-;14776:56;;-1:-1:-1;14776:56:0;-1:-1:-1;14850:20:0;14776:56;;14850:11;:20::i;:::-;14843:27;;;;14714:164;:::o;2605:132::-;2663:7;2690:39;2694:1;2697;2690:39;;;;;;;;;;;;;;;;;:3;:39::i;7851:221::-;7898:9;;:14;:30;;;;-1:-1:-1;7916:7:0;;:12;7898:30;7894:43;;;7851:221::o;7894:43::-;7970:9;;;7950:17;:29;8008:7;;;7990:15;:25;-1:-1:-1;8029:13:0;;;;8053:11;7851:221::o;12036:610::-;12183:15;12213:23;12251:12;12278:23;12316:12;12343:13;12370:19;12381:7;12370:10;:19::i;:::-;-1:-1:-1;;;;;12418:15:0;;;;;;:7;:15;;;;;;12168:221;;-1:-1:-1;12168:221:0;;-1:-1:-1;12168:221:0;;-1:-1:-1;12168:221:0;-1:-1:-1;12168:221:0;-1:-1:-1;12168:221:0;-1:-1:-1;12418:28:0;;12168:221;12418:19;:28::i;:::-;-1:-1:-1;;;;;12400:15:0;;;;;;;:7;:15;;;;;;:46;;;;12478:18;;;;;;;:39;;12501:15;12478:22;:39::i;:::-;-1:-1:-1;;;;;12457:18:0;;;;;;:7;:18;;;;;:60;12528:16;12538:5;12528:9;:16::i;:::-;12555:23;12567:4;12573;12555:11;:23::i;:::-;12611:9;-1:-1:-1;;;;;12594:44:0;12603:6;-1:-1:-1;;;;;12594:44:0;;12622:15;12594:44;;;;1595:25:1;;1583:2;1568:18;;1449:177;12594:44:0;;;;;;;;12157:489;;;;;;12036:610;;;:::o;14887:257::-;14985:7;;14938;;;;4054:18;15053:20;14985:7;4054:18;15053:11;:20::i;:::-;15043:7;:30;15039:61;;;-1:-1:-1;;15083:7:0;;;4054:18;;-1:-1:-1;14887:257:0;-1:-1:-1;14887:257:0:o;15039:61::-;15119:7;;15128;;-1:-1:-1;14887:257:0;-1:-1:-1;14887:257:0:o;2746:223::-;2866:7;2901:12;2894:5;2886:28;;;;-1:-1:-1;;;2886:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2925:9:0;2937:5;2941:1;2937;:5;:::i;13069:615::-;13169:7;13191;13213;13235;13257;13279;13315:23;13340:12;13354:13;13384:40;13396:7;13405:9;;13416:7;;13384:11;:40::i;:::-;13314:110;;;;;;13435:19;13457:10;:8;:10::i;:::-;13435:32;;13479:15;13496:23;13521:12;13550:46;13562:7;13571:4;13577:5;13584:11;13550;:46::i;:::-;13478:118;;-1:-1:-1;13478:118:0;-1:-1:-1;13478:118:0;-1:-1:-1;13647:15:0;;-1:-1:-1;13664:4:0;;-1:-1:-1;13670:5:0;;-1:-1:-1;;;;;13069:615:0;;;;;;;:::o;1972:136::-;2030:7;2057:43;2061:1;2064;2057:43;;;;;;;;;;;;;;;;;:3;:43::i;1784:179::-;1842:7;;1874:5;1878:1;1874;:5;:::i;:::-;1862:17;;1903:1;1898;:6;;1890:46;;;;-1:-1:-1;;;1890:46:0;;9735:2:1;1890:46:0;;;9717:21:1;9774:2;9754:18;;;9747:30;9813:29;9793:18;;;9786:57;9860:18;;1890:46:0;9533:351:1;12655:211:0;12708:19;12730:10;:8;:10::i;:::-;12708:32;-1:-1:-1;12751:13:0;12767:22;:5;12708:32;12767:9;:22::i;:::-;12841:4;12825:22;;;;:7;:22;;;;;;12751:38;;-1:-1:-1;12825:33:0;;12751:38;12825:26;:33::i;:::-;12816:4;12800:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;12655:211:0:o;12875:147::-;12953:7;;:17;;12965:4;12953:11;:17::i;:::-;12943:7;:27;12994:10;;:20;;13009:4;12994:14;:20::i;:::-;12981:10;:33;-1:-1:-1;;12875:147:0:o;13693:469::-;13862:7;;;;13956:30;13982:3;13956:21;:7;13968:8;13956:11;:21::i;:::-;:25;;:30::i;:::-;13941:45;-1:-1:-1;13997:13:0;14013:28;14037:3;14013:19;:7;14025:6;14013:11;:19::i;:28::-;13997:44;-1:-1:-1;14052:23:0;14078:28;13997:44;14078:17;:7;14090:4;14078:11;:17::i;:::-;:21;;:28::i;:::-;14052:54;14142:4;;-1:-1:-1;14148:5:0;;-1:-1:-1;13693:469:0;;-1:-1:-1;;;;;13693:469:0:o;14171:534::-;14365:7;;;;14462:24;:7;14474:11;14462;:24::i;:::-;14444:42;-1:-1:-1;14497:12:0;14512:21;:4;14521:11;14512:8;:21::i;:::-;14497:36;-1:-1:-1;14544:13:0;14560:22;:5;14570:11;14560:9;:22::i;:::-;14544:38;-1:-1:-1;14593:23:0;14619:28;14544:38;14619:17;:7;14631:4;14619:11;:17::i;:28::-;14666:7;;;;-1:-1:-1;14692:4:0;;-1:-1:-1;14171:534:0;;-1:-1:-1;;;;;;;14171:534:0:o;2350:246::-;2408:7;2432:1;2437;2432:6;2428:47;;-1:-1:-1;2462:1:0;2455:8;;2428:47;2485:9;2497:5;2501:1;2497;:5;:::i;:::-;2485:17;-1:-1:-1;2530:1:0;2521:5;2525:1;2485:17;2521:5;:::i;:::-;:10;2513:56;;;;-1:-1:-1;;;2513:56:0;;10264:2:1;2513:56:0;;;10246:21:1;10303:2;10283:18;;;10276:30;10342:34;10322:18;;;10315:62;-1:-1:-1;;;10393:18:1;;;10386:31;10434:19;;2513:56:0;10062:397:1;14:548;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;1631:456::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1832:9;1819:23;1851:31;1876:5;1851:31;:::i;:::-;1901:5;-1:-1:-1;1958:2:1;1943:18;;1930:32;1971:33;1930:32;1971:33;:::i;:::-;1631:456;;2023:7;;-1:-1:-1;;;2077:2:1;2062:18;;;;2049:32;;1631:456::o;2489:248::-;2557:6;2565;2618:2;2606:9;2597:7;2593:23;2589:32;2586:52;;;2634:1;2631;2624:12;2586:52;-1:-1:-1;;2657:23:1;;;2727:2;2712:18;;;2699:32;;-1:-1:-1;2489:248:1:o;2742:273::-;2798:6;2851:2;2839:9;2830:7;2826:23;2822:32;2819:52;;;2867:1;2864;2857:12;2819:52;2906:9;2893:23;2959:5;2952:13;2945:21;2938:5;2935:32;2925:60;;2981:1;2978;2971:12;3020:247;3079:6;3132:2;3120:9;3111:7;3107:23;3103:32;3100:52;;;3148:1;3145;3138:12;3100:52;3187:9;3174:23;3206:31;3231:5;3206:31;:::i;3272:180::-;3331:6;3384:2;3372:9;3363:7;3359:23;3355:32;3352:52;;;3400:1;3397;3390:12;3352:52;-1:-1:-1;3423:23:1;;3272:180;-1:-1:-1;3272:180:1:o;3457:388::-;3525:6;3533;3586:2;3574:9;3565:7;3561:23;3557:32;3554:52;;;3602:1;3599;3592:12;3554:52;3641:9;3628:23;3660:31;3685:5;3660:31;:::i;:::-;3710:5;-1:-1:-1;3767:2:1;3752:18;;3739:32;3780:33;3739:32;3780:33;:::i;:::-;3832:7;3822:17;;;3457:388;;;;;:::o;3850:356::-;4052:2;4034:21;;;4071:18;;;4064:30;4130:34;4125:2;4110:18;;4103:62;4197:2;4182:18;;3850:356::o;4211:127::-;4272:10;4267:3;4263:20;4260:1;4253:31;4303:4;4300:1;4293:15;4327:4;4324:1;4317:15;4343:217;4383:1;4409;4399:132;;4453:10;4448:3;4444:20;4441:1;4434:31;4488:4;4485:1;4478:15;4516:4;4513:1;4506:15;4399:132;-1:-1:-1;4545:9:1;;4343:217::o;6950:125::-;7015:9;;;7036:10;;;7033:36;;;7049:18;;:::i;7484:128::-;7551:9;;;7572:11;;;7569:37;;;7586:18;;:::i;8160:127::-;8221:10;8216:3;8212:20;8209:1;8202:31;8252:4;8249:1;8242:15;8276:4;8273:1;8266:15;8292:251;8362:6;8415:2;8403:9;8394:7;8390:23;8386:32;8383:52;;;8431:1;8428;8421:12;8383:52;8463:9;8457:16;8482:31;8507:5;8482:31;:::i;8548:980::-;8810:4;8858:3;8847:9;8843:19;8889:6;8878:9;8871:25;8915:2;8953:6;8948:2;8937:9;8933:18;8926:34;8996:3;8991:2;8980:9;8976:18;8969:31;9020:6;9055;9049:13;9086:6;9078;9071:22;9124:3;9113:9;9109:19;9102:26;;9163:2;9155:6;9151:15;9137:29;;9184:1;9194:195;9208:6;9205:1;9202:13;9194:195;;;9273:13;;-1:-1:-1;;;;;9269:39:1;9257:52;;9364:15;;;;9329:12;;;;9305:1;9223:9;9194:195;;;-1:-1:-1;;;;;;;9445:32:1;;;;9440:2;9425:18;;9418:60;-1:-1:-1;;;9509:3:1;9494:19;9487:35;9406:3;8548:980;-1:-1:-1;;;8548:980:1:o;9889:168::-;9929:7;9995:1;9991;9987:6;9983:14;9980:1;9977:21;9972:1;9965:9;9958:17;9954:45;9951:71;;;10002:18;;:::i;:::-;-1:-1:-1;10042:9:1;;9889:168::o

Swarm Source

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