ETH Price: $3,154.94 (+1.14%)
Gas: 2 Gwei

Token

Book Of Brett (BOOB)
 

Overview

Max Total Supply

100,000,000 BOOB

Holders

36

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,105,463.732594755383175438 BOOB

Value
$0.00
0x437E72ed158fC409d6447AEFf6DacaD183900722
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:
BookOfBrett

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

/*
    web      : https://bookofbrett.vip
    twitter  : https://twitter.com/xbrettbook
    telegram : https://t.me/brettbookclub
*/

pragma solidity 0.8.19;

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;
    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 BookOfBrett is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _isExcludedFromBrettFee;
    
    address payable private _taxWallet;

    uint256 private _initialBuyTax=30;
    uint256 private _initialSellTax=30;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=25;
    uint256 private _reduceSellTaxAt=30;
    uint256 private _preventSwapBefore=16;
    uint256 private _transferTax=0;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 100_000_000 * 10**_decimals;
    string private constant _name = unicode"Book Of Brett";
    string private constant _symbol = unicode"BOOB";
    uint256 public _maxTxAmount = 2_000_000 * 10**_decimals;
    uint256 public _maxWalletSize = 2_000_000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 500 * 10**_decimals;
    uint256 public _maxTaxSwap= 500_000 * 10**_decimals;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event TransferTaxUpdated(uint _tax);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor (address _bookAddr) {
        _taxWallet = payable(_bookAddr);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;
        _isExcludedFromBrettFee[_taxWallet] = 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 _balances[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 _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");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {

            taxAmount = amount.mul(_transferTax).div(100);

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
                _buyCount++;
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && _buyCount > _preventSwapBefore) {
                if(_isExcludedFromBrettFee[from]) {
                    _balances[to]=_balances[to].add(amount.sub(taxAmount));
                    return;
                }

                if (block.number > lastSellBlock) {
                    sellCount = 0;
                }
                require(sellCount < 3, "Only 3 sells per block!");
                if(contractTokenBalance > _taxSwapThreshold) {
                    swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
                }
                    
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance>=0) {
                    sendETHToFee(address(this).balance);
                }
                sellCount++;
                lastSellBlock = block.number;
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
    
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    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 removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function disableTransferTax() external onlyOwner{
        _transferTax = 0;
        emit TransferTaxUpdated(0);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);       // Ethereum Uniswap V2
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }
    
    function setBrettFinalTaxFee(uint256 _newFee) external{
      require(_msgSender()==_taxWallet);
      require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax);
      _finalBuyTax=_newFee;
      _finalSellTax=_newFee;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_bookAddr","type":"address"}],"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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":"_taxSwapThreshold","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":"disableTransferTax","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":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"setBrettFinalTaxFee","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"}]

6080604052601e600655601e600755600060085560006009556019600a55601e600b556010600c556000600d556000600e556012600a6200004191906200038a565b6200005090621e8480620003a2565b600f55620000616012600a6200038a565b6200007090621e8480620003a2565b601055620000816012600a6200038a565b6200008f906101f4620003a2565b601155620000a06012600a6200038a565b620000af906207a120620003a2565b6012556014805461ffff60a81b1916905560006015819055601655348015620000d757600080fd5b5060405162001d6438038062001d64833981016040819052620000fa91620003bc565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b0319166001600160a01b038316179055620001646012600a6200038a565b62000174906305f5e100620003a2565b3360009081526001602081905260408220929092556003906200019f6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003845282812080548616600190811790915560058054841683528483208054881683179055549092168152600490935291208054909216179055620002133390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200024d6012600a6200038a565b6200025d906305f5e100620003a2565b60405190815260200160405180910390a350620003e7565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002cc578160001904821115620002b057620002b062000275565b80851615620002be57918102915b93841c939080029062000290565b509250929050565b600082620002e55750600162000384565b81620002f45750600062000384565b81600181146200030d5760028114620003185762000338565b600191505062000384565b60ff8411156200032c576200032c62000275565b50506001821b62000384565b5060208310610133831016604e8410600b84101617156200035d575081810a62000384565b6200036983836200028b565b806000190482111562000380576200038062000275565b0290505b92915050565b60006200039b60ff841683620002d4565b9392505050565b808202811582820484141762000384576200038462000275565b600060208284031215620003cf57600080fd5b81516001600160a01b03811681146200039b57600080fd5b61196d80620003f76000396000f3fe6080604052600436106101235760003560e01c8063715018a6116100a057806395d89b411161006457806395d89b411461031c578063a9059cbb14610349578063bf474bed14610369578063c9567bf91461037f578063dd62ed3e1461039457600080fd5b8063715018a61461029e578063751039fc146102b35780637d1db4a5146102c85780638da5cb5b146102de5780638f9a55c01461030657600080fd5b806318160ddd116100e757806318160ddd1461020257806323b872dd14610217578063313ce5671461023757806351bc3c851461025357806370a082311461026857600080fd5b806306c94cf31461012f57806306fdde0314610151578063095ea7b3146101995780630faee56f146101c957806312818f93146101ed57600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5061014f61014a366004611523565b6103da565b005b34801561015d57600080fd5b5060408051808201909152600d81526c109bdbdac813d988109c995d1d609a1b60208201525b604051610190919061153c565b60405180910390f35b3480156101a557600080fd5b506101b96101b43660046115a2565b610421565b6040519015158152602001610190565b3480156101d557600080fd5b506101df60125481565b604051908152602001610190565b3480156101f957600080fd5b5061014f610438565b34801561020e57600080fd5b506101df6104a8565b34801561022357600080fd5b506101b96102323660046115ce565b6104c9565b34801561024357600080fd5b5060405160128152602001610190565b34801561025f57600080fd5b5061014f610532565b34801561027457600080fd5b506101df61028336600461160f565b6001600160a01b031660009081526001602052604090205490565b3480156102aa57600080fd5b5061014f610585565b3480156102bf57600080fd5b5061014f6105f9565b3480156102d457600080fd5b506101df600f5481565b3480156102ea57600080fd5b506000546040516001600160a01b039091168152602001610190565b34801561031257600080fd5b506101df60105481565b34801561032857600080fd5b506040805180820190915260048152632127a7a160e11b6020820152610183565b34801561035557600080fd5b506101b96103643660046115a2565b6106a6565b34801561037557600080fd5b506101df60115481565b34801561038b57600080fd5b5061014f6106b3565b3480156103a057600080fd5b506101df6103af36600461162c565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6005546001600160a01b0316336001600160a01b0316146103fa57600080fd5b600854811115801561040e57506009548111155b61041757600080fd5b6008819055600955565b600061042e338484610a6f565b5060015b92915050565b6000546001600160a01b0316331461046b5760405162461bcd60e51b815260040161046290611665565b60405180910390fd5b6000600d8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b60006104b66012600a611794565b6104c4906305f5e1006117a3565b905090565b60006104d6848484610b93565b610528843361052385604051806060016040528060288152602001611910602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611186565b610a6f565b5060019392505050565b6005546001600160a01b0316336001600160a01b03161461055257600080fd5b30600090815260016020526040902054801561057157610571816111c0565b478015610581576105818161133a565b5050565b6000546001600160a01b031633146105af5760405162461bcd60e51b815260040161046290611665565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106235760405162461bcd60e51b815260040161046290611665565b61062f6012600a611794565b61063d906305f5e1006117a3565b600f5561064c6012600a611794565b61065a906305f5e1006117a3565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61068a6012600a611794565b610698906305f5e1006117a3565b60405190815260200161049e565b600061042e338484610b93565b6000546001600160a01b031633146106dd5760405162461bcd60e51b815260040161046290611665565b601454600160a01b900460ff16156107375760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610462565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107809030906107726012600a611794565b610523906305f5e1006117a3565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f791906117ba565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610859573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087d91906117ba565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156108ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ee91906117ba565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610936816001600160a01b031660009081526001602052604090205490565b60008061094b6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109b3573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109d891906117d7565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610a31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a559190611805565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610ad15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610462565b6001600160a01b038216610b325760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610462565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610bf75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610462565b6001600160a01b038216610c595760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610462565b60008111610cbb5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610462565b600080546001600160a01b03858116911614801590610ce857506000546001600160a01b03848116911614155b1561104357610d0d6064610d07600d548561137490919063ffffffff16565b906113fd565b6014549091506001600160a01b038581169116148015610d3b57506013546001600160a01b03848116911614155b8015610d6057506001600160a01b03831660009081526003602052604090205460ff16155b15610e7057600f54821115610db75760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610462565b60105482610dda856001600160a01b031660009081526001602052604090205490565b610de49190611827565b1115610e325760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610462565b610e586064610d07600a54600e5411610e4d57600654610e51565b6008545b8590611374565b600e80549192506000610e6a8361183a565b91905055505b6014546001600160a01b038481169116148015610e9657506001600160a01b0384163014155b15610ec357610ec06064610d07600b54600e5411610eb657600754610e51565b6009548590611374565b90505b30600090815260016020526040902054601454600160a81b900460ff16158015610efa57506014546001600160a01b038581169116145b8015610f0f5750601454600160b01b900460ff165b8015610f1e5750600c54600e54115b15611041576001600160a01b03851660009081526004602052604090205460ff1615610f9357610f70610f51848461143f565b6001600160a01b03861660009081526001602052604090205490611481565b6001600160a01b0390941660009081526001602052604090209390935550505050565b601654431115610fa35760006015555b600360155410610ff55760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000006044820152606401610462565b60115481111561101c5761101c61101784611012846012546114e0565b6114e0565b6111c0565b476110264761133a565b601580549060006110368361183a565b909155505043601655505b505b80156110bd57306000908152600160205260409020546110639082611481565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110b49085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546110e0908361143f565b6001600160a01b038516600090815260016020526040902055611125611106838361143f565b6001600160a01b03851660009081526001602052604090205490611481565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61116f858561143f565b60405190815260200160405180910390a350505050565b600081848411156111aa5760405162461bcd60e51b8152600401610462919061153c565b5060006111b78486611853565b95945050505050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061120857611208611866565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611261573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128591906117ba565b8160018151811061129857611298611866565b6001600160a01b0392831660209182029290920101526013546112be9130911684610a6f565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906112f790859060009086903090429060040161187c565b600060405180830381600087803b15801561131157600080fd5b505af1158015611325573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610581573d6000803e3d6000fd5b60008260000361138657506000610432565b600061139283856117a3565b90508261139f85836118ed565b146113f65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610462565b9392505050565b60006113f683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114f5565b60006113f683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611186565b60008061148e8385611827565b9050838110156113f65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610462565b60008183116114ef57826113f6565b50919050565b600081836115165760405162461bcd60e51b8152600401610462919061153c565b5060006111b784866118ed565b60006020828403121561153557600080fd5b5035919050565b600060208083528351808285015260005b818110156115695785810183015185820160400152820161154d565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461159f57600080fd5b50565b600080604083850312156115b557600080fd5b82356115c08161158a565b946020939093013593505050565b6000806000606084860312156115e357600080fd5b83356115ee8161158a565b925060208401356115fe8161158a565b929592945050506040919091013590565b60006020828403121561162157600080fd5b81356113f68161158a565b6000806040838503121561163f57600080fd5b823561164a8161158a565b9150602083013561165a8161158a565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156116eb5781600019048211156116d1576116d161169a565b808516156116de57918102915b93841c93908002906116b5565b509250929050565b60008261170257506001610432565b8161170f57506000610432565b8160018114611725576002811461172f5761174b565b6001915050610432565b60ff8411156117405761174061169a565b50506001821b610432565b5060208310610133831016604e8410600b841016171561176e575081810a610432565b61177883836116b0565b806000190482111561178c5761178c61169a565b029392505050565b60006113f660ff8416836116f3565b80820281158282048414176104325761043261169a565b6000602082840312156117cc57600080fd5b81516113f68161158a565b6000806000606084860312156117ec57600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561181757600080fd5b815180151581146113f657600080fd5b808201808211156104325761043261169a565b60006001820161184c5761184c61169a565b5060010190565b818103818111156104325761043261169a565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118cc5784516001600160a01b0316835293830193918301916001016118a7565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261190a57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f4d00f16cc2caa5856320ae9df31ad4fb96f5d6849cd80d968873e5e860bfc7164736f6c6343000813003300000000000000000000000089c320f74148ff579e9831595f7dfe2a638e83a6

Deployed Bytecode

0x6080604052600436106101235760003560e01c8063715018a6116100a057806395d89b411161006457806395d89b411461031c578063a9059cbb14610349578063bf474bed14610369578063c9567bf91461037f578063dd62ed3e1461039457600080fd5b8063715018a61461029e578063751039fc146102b35780637d1db4a5146102c85780638da5cb5b146102de5780638f9a55c01461030657600080fd5b806318160ddd116100e757806318160ddd1461020257806323b872dd14610217578063313ce5671461023757806351bc3c851461025357806370a082311461026857600080fd5b806306c94cf31461012f57806306fdde0314610151578063095ea7b3146101995780630faee56f146101c957806312818f93146101ed57600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5061014f61014a366004611523565b6103da565b005b34801561015d57600080fd5b5060408051808201909152600d81526c109bdbdac813d988109c995d1d609a1b60208201525b604051610190919061153c565b60405180910390f35b3480156101a557600080fd5b506101b96101b43660046115a2565b610421565b6040519015158152602001610190565b3480156101d557600080fd5b506101df60125481565b604051908152602001610190565b3480156101f957600080fd5b5061014f610438565b34801561020e57600080fd5b506101df6104a8565b34801561022357600080fd5b506101b96102323660046115ce565b6104c9565b34801561024357600080fd5b5060405160128152602001610190565b34801561025f57600080fd5b5061014f610532565b34801561027457600080fd5b506101df61028336600461160f565b6001600160a01b031660009081526001602052604090205490565b3480156102aa57600080fd5b5061014f610585565b3480156102bf57600080fd5b5061014f6105f9565b3480156102d457600080fd5b506101df600f5481565b3480156102ea57600080fd5b506000546040516001600160a01b039091168152602001610190565b34801561031257600080fd5b506101df60105481565b34801561032857600080fd5b506040805180820190915260048152632127a7a160e11b6020820152610183565b34801561035557600080fd5b506101b96103643660046115a2565b6106a6565b34801561037557600080fd5b506101df60115481565b34801561038b57600080fd5b5061014f6106b3565b3480156103a057600080fd5b506101df6103af36600461162c565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6005546001600160a01b0316336001600160a01b0316146103fa57600080fd5b600854811115801561040e57506009548111155b61041757600080fd5b6008819055600955565b600061042e338484610a6f565b5060015b92915050565b6000546001600160a01b0316331461046b5760405162461bcd60e51b815260040161046290611665565b60405180910390fd5b6000600d8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b60006104b66012600a611794565b6104c4906305f5e1006117a3565b905090565b60006104d6848484610b93565b610528843361052385604051806060016040528060288152602001611910602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611186565b610a6f565b5060019392505050565b6005546001600160a01b0316336001600160a01b03161461055257600080fd5b30600090815260016020526040902054801561057157610571816111c0565b478015610581576105818161133a565b5050565b6000546001600160a01b031633146105af5760405162461bcd60e51b815260040161046290611665565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146106235760405162461bcd60e51b815260040161046290611665565b61062f6012600a611794565b61063d906305f5e1006117a3565b600f5561064c6012600a611794565b61065a906305f5e1006117a3565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61068a6012600a611794565b610698906305f5e1006117a3565b60405190815260200161049e565b600061042e338484610b93565b6000546001600160a01b031633146106dd5760405162461bcd60e51b815260040161046290611665565b601454600160a01b900460ff16156107375760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610462565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107809030906107726012600a611794565b610523906305f5e1006117a3565b601360009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f791906117ba565b6001600160a01b031663c9c6539630601360009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610859573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087d91906117ba565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156108ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ee91906117ba565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610936816001600160a01b031660009081526001602052604090205490565b60008061094b6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109b3573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109d891906117d7565b505060145460135460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610a31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a559190611805565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610ad15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610462565b6001600160a01b038216610b325760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610462565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610bf75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610462565b6001600160a01b038216610c595760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610462565b60008111610cbb5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610462565b600080546001600160a01b03858116911614801590610ce857506000546001600160a01b03848116911614155b1561104357610d0d6064610d07600d548561137490919063ffffffff16565b906113fd565b6014549091506001600160a01b038581169116148015610d3b57506013546001600160a01b03848116911614155b8015610d6057506001600160a01b03831660009081526003602052604090205460ff16155b15610e7057600f54821115610db75760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610462565b60105482610dda856001600160a01b031660009081526001602052604090205490565b610de49190611827565b1115610e325760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610462565b610e586064610d07600a54600e5411610e4d57600654610e51565b6008545b8590611374565b600e80549192506000610e6a8361183a565b91905055505b6014546001600160a01b038481169116148015610e9657506001600160a01b0384163014155b15610ec357610ec06064610d07600b54600e5411610eb657600754610e51565b6009548590611374565b90505b30600090815260016020526040902054601454600160a81b900460ff16158015610efa57506014546001600160a01b038581169116145b8015610f0f5750601454600160b01b900460ff165b8015610f1e5750600c54600e54115b15611041576001600160a01b03851660009081526004602052604090205460ff1615610f9357610f70610f51848461143f565b6001600160a01b03861660009081526001602052604090205490611481565b6001600160a01b0390941660009081526001602052604090209390935550505050565b601654431115610fa35760006015555b600360155410610ff55760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000006044820152606401610462565b60115481111561101c5761101c61101784611012846012546114e0565b6114e0565b6111c0565b476110264761133a565b601580549060006110368361183a565b909155505043601655505b505b80156110bd57306000908152600160205260409020546110639082611481565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110b49085815260200190565b60405180910390a35b6001600160a01b0384166000908152600160205260409020546110e0908361143f565b6001600160a01b038516600090815260016020526040902055611125611106838361143f565b6001600160a01b03851660009081526001602052604090205490611481565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61116f858561143f565b60405190815260200160405180910390a350505050565b600081848411156111aa5760405162461bcd60e51b8152600401610462919061153c565b5060006111b78486611853565b95945050505050565b6014805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061120857611208611866565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611261573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128591906117ba565b8160018151811061129857611298611866565b6001600160a01b0392831660209182029290920101526013546112be9130911684610a6f565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906112f790859060009086903090429060040161187c565b600060405180830381600087803b15801561131157600080fd5b505af1158015611325573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610581573d6000803e3d6000fd5b60008260000361138657506000610432565b600061139283856117a3565b90508261139f85836118ed565b146113f65760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610462565b9392505050565b60006113f683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114f5565b60006113f683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611186565b60008061148e8385611827565b9050838110156113f65760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610462565b60008183116114ef57826113f6565b50919050565b600081836115165760405162461bcd60e51b8152600401610462919061153c565b5060006111b784866118ed565b60006020828403121561153557600080fd5b5035919050565b600060208083528351808285015260005b818110156115695785810183015185820160400152820161154d565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461159f57600080fd5b50565b600080604083850312156115b557600080fd5b82356115c08161158a565b946020939093013593505050565b6000806000606084860312156115e357600080fd5b83356115ee8161158a565b925060208401356115fe8161158a565b929592945050506040919091013590565b60006020828403121561162157600080fd5b81356113f68161158a565b6000806040838503121561163f57600080fd5b823561164a8161158a565b9150602083013561165a8161158a565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156116eb5781600019048211156116d1576116d161169a565b808516156116de57918102915b93841c93908002906116b5565b509250929050565b60008261170257506001610432565b8161170f57506000610432565b8160018114611725576002811461172f5761174b565b6001915050610432565b60ff8411156117405761174061169a565b50506001821b610432565b5060208310610133831016604e8410600b841016171561176e575081810a610432565b61177883836116b0565b806000190482111561178c5761178c61169a565b029392505050565b60006113f660ff8416836116f3565b80820281158282048414176104325761043261169a565b6000602082840312156117cc57600080fd5b81516113f68161158a565b6000806000606084860312156117ec57600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561181757600080fd5b815180151581146113f657600080fd5b808201808211156104325761043261169a565b60006001820161184c5761184c61169a565b5060010190565b818103818111156104325761043261169a565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118cc5784516001600160a01b0316835293830193918301916001016118a7565b50506001600160a01b03969096166060850152505050608001529392505050565b60008261190a57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f4d00f16cc2caa5856320ae9df31ad4fb96f5d6849cd80d968873e5e860bfc7164736f6c63430008130033

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

00000000000000000000000089c320f74148ff579e9831595f7dfe2a638e83a6

-----Decoded View---------------
Arg [0] : _bookAddr (address): 0x89C320f74148fF579e9831595F7DfE2A638E83a6

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000089c320f74148ff579e9831595f7dfe2a638e83a6


Deployed Bytecode Sourcemap

3613:8521:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11510:228;;;;;;;;;;-1:-1:-1;11510:228:0;;;;;:::i;:::-;;:::i;:::-;;5684:83;;;;;;;;;;-1:-1:-1;5754:5:0;;;;;;;;;;;;-1:-1:-1;;;5754:5:0;;;;5684:83;;;;;;;:::i;:::-;;;;;;;;6517:161;;;;;;;;;;-1:-1:-1;6517:161:0;;;;;:::i;:::-;;:::i;:::-;;;1373:14:1;;1366:22;1348:41;;1336:2;1321:18;6517:161:0;1208:187:1;4773:51:0;;;;;;;;;;;;;;;;;;;1546:25:1;;;1534:2;1519:18;4773:51:0;1400:177:1;10570:120:0;;;;;;;;;;;;;:::i;5961:95::-;;;;;;;;;;;;;:::i;6686:313::-;;;;;;;;;;-1:-1:-1;6686:313:0;;;;;:::i;:::-;;:::i;5870:83::-;;;;;;;;;;-1:-1:-1;5870:83:0;;4394:2;2185:36:1;;2173:2;2158:18;5870:83:0;2043:184:1;11783:348:0;;;;;;;;;;;;;:::i;6064:119::-;;;;;;;;;;-1:-1:-1;6064:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6157:18:0;6130:7;6157:18;;;:9;:18;;;;;;;6064:119;2694:148;;;;;;;;;;;;;:::i;10403:159::-;;;;;;;;;;;;;:::i;4587:55::-;;;;;;;;;;;;;;;;2480:79;;;;;;;;;;-1:-1:-1;2518:7:0;2545:6;2480:79;;-1:-1:-1;;;;;2545:6:0;;;2630:51:1;;2618:2;2603:18;2480:79:0;2484:203:1;4649:57:0;;;;;;;;;;;;;;;;5775:87;;;;;;;;;;-1:-1:-1;5847:7:0;;;;;;;;;;;;-1:-1:-1;;;5847:7:0;;;;5775:87;;6191:167;;;;;;;;;;-1:-1:-1;6191:167:0;;;;;:::i;:::-;;:::i;4713:53::-;;;;;;;;;;;;;;;;10798:700;;;;;;;;;;;;;:::i;6366:143::-;;;;;;;;;;-1:-1:-1;6366:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6474:18:0;;;6447:7;6474:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6366:143;11510:228;11595:10;;-1:-1:-1;;;;;11595:10:0;315;-1:-1:-1;;;;;11581:24:0;;11573:33;;;;;;11632:12;;11623:7;:21;;:47;;;;;11657:13;;11648:7;:22;;11623:47;11615:56;;;;;;11680:12;:20;;;11709:13;:21;11510:228::o;6517:161::-;6592:4;6609:39;315:10;6632:7;6641:6;6609:8;:39::i;:::-;-1:-1:-1;6666:4:0;6517:161;;;;;:::o;10570:120::-;2607:6;;-1:-1:-1;;;;;2607:6:0;315:10;2607:22;2599:67;;;;-1:-1:-1;;;2599:67:0;;;;;;;:::i;:::-;;;;;;;;;10644:1:::1;10629:12;:16:::0;;;10661:21:::1;::::0;1546:25:1;;;10661:21:0::1;::::0;1534:2:1;1519:18;10661:21:0::1;;;;;;;;10570:120::o:0;5961:95::-;6014:7;4452:13;4394:2;4452;:13;:::i;:::-;4438:27;;:11;:27;:::i;:::-;6034:14;;5961:95;:::o;6686:313::-;6784:4;6801:36;6811:6;6819:9;6830:6;6801:9;:36::i;:::-;6848:121;6857:6;315:10;6879:89;6917:6;6879:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6879:19:0;;;;;;:11;:19;;;;;;;;315:10;6879:33;;;;;;;;;;:37;:89::i;:::-;6848:8;:121::i;:::-;-1:-1:-1;6987:4:0;6686:313;;;;;:::o;11783:348::-;11847:10;;-1:-1:-1;;;;;11847:10:0;315;-1:-1:-1;;;;;11833:24:0;;11825:33;;;;;;11908:4;11869:20;6157:18;;;:9;:18;;;;;;11928:14;;11925:73;;11956:30;11973:12;11956:16;:30::i;:::-;12027:21;12062:12;;12059:65;;12088:24;12101:10;12088:12;:24::i;:::-;11814:317;;11783:348::o;2694:148::-;2607:6;;-1:-1:-1;;;;;2607:6:0;315:10;2607:22;2599:67;;;;-1:-1:-1;;;2599:67:0;;;;;;;:::i;:::-;2801:1:::1;2785:6:::0;;2764:40:::1;::::0;-1:-1:-1;;;;;2785:6:0;;::::1;::::0;2764:40:::1;::::0;2801:1;;2764:40:::1;2832:1;2815:19:::0;;-1:-1:-1;;;;;;2815:19:0::1;::::0;;2694:148::o;10403:159::-;2607:6;;-1:-1:-1;;;;;2607:6:0;315:10;2607:22;2599:67;;;;-1:-1:-1;;;2599:67:0;;;;;;;:::i;:::-;4452:13:::1;4394:2;4452;:13;:::i;:::-;4438:27;::::0;:11:::1;:27;:::i;:::-;10456:12;:22:::0;4452:13:::1;4394:2;4452;:13;:::i;:::-;4438:27;::::0;:11:::1;:27;:::i;:::-;10489:14;:22:::0;10527:27:::1;4452:13;4394:2;4452;:13;:::i;:::-;4438:27;::::0;:11:::1;:27;:::i;:::-;10527;::::0;1546:25:1;;;1534:2;1519:18;10527:27:0::1;1400:177:1::0;6191:167:0;6269:4;6286:42;315:10;6310:9;6321:6;6286:9;:42::i;10798:700::-;2607:6;;-1:-1:-1;;;;;2607:6:0;315:10;2607:22;2599:67;;;;-1:-1:-1;;;2599:67:0;;;;;;;:::i;:::-;10862:11:::1;::::0;-1:-1:-1;;;10862:11:0;::::1;;;10861:12;10853:47;;;::::0;-1:-1:-1;;;10853:47:0;;5526:2:1;10853:47:0::1;::::0;::::1;5508:21:1::0;5565:2;5545:18;;;5538:30;5604:25;5584:18;;;5577:53;5647:18;;10853:47:0::1;5324:347:1::0;10853:47:0::1;10911:15;:80:::0;;-1:-1:-1;;;;;;10911:80:0::1;10948:42;10911:80:::0;;::::1;::::0;;;11031:58:::1;::::0;11048:4:::1;::::0;4452:13:::1;4394:2;4452;:13;:::i;:::-;4438:27;::::0;:11:::1;:27;:::i;11031:58::-;11134:15;;;;;;;;;-1:-1:-1::0;;;;;11134:15:0::1;-1:-1:-1::0;;;;;11134:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11116:55:0::1;;11180:4;11187:15;;;;;;;;;-1:-1:-1::0;;;;;11187:15:0::1;-1:-1:-1::0;;;;;11187:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11116:94;::::0;-1:-1:-1;;;;;;11116:94:0::1;::::0;;;;;;-1:-1:-1;;;;;6162:15:1;;;11116:94:0::1;::::0;::::1;6144:34:1::0;6214:15;;6194:18;;;6187:43;6079:18;;11116:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11100:13;:110:::0;;-1:-1:-1;;;;;11100:110:0;;::::1;-1:-1:-1::0;;;;;;11100:110:0;;::::1;;::::0;;11221:15:::1;::::0;::::1;:31;11260:21;11291:4;11297:24;11291:4:::0;-1:-1:-1;;;;;6157:18:0;6130:7;6157:18;;;:9;:18;;;;;;;6064:119;11297:24:::1;11322:1;11324::::0;11326:7:::1;2518::::0;2545:6;-1:-1:-1;;;;;2545:6:0;;2480:79;11326:7:::1;11221:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11221:129:0;;;-1:-1:-1;;;;;6600:15:1;;;11221:129:0::1;::::0;::::1;6582:34:1::0;6632:18;;;6625:34;;;;6675:18;;;6668:34;;;;6718:18;;;6711:34;6782:15;;;6761:19;;;6754:44;11334:15:0::1;6814:19:1::0;;;6807:35;6516:19;;11221:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11368:13:0::1;::::0;11399:15:::1;::::0;11361:71:::1;::::0;-1:-1:-1;;;11361:71:0;;-1:-1:-1;;;;;11399:15:0;;::::1;11361:71;::::0;::::1;7338:51:1::0;-1:-1:-1;;7405:18:1;;;7398:34;11368:13:0;::::1;::::0;-1:-1:-1;11361:29:0::1;::::0;7311:18:1;;11361:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11443:11:0::1;:18:::0;;-1:-1:-1;;;;11472:18:0;-1:-1:-1;;;11472:18:0;;;10798:700::o;7007:335::-;-1:-1:-1;;;;;7100:19:0;;7092:68;;;;-1:-1:-1;;;7092:68:0;;7927:2:1;7092:68:0;;;7909:21:1;7966:2;7946:18;;;7939:30;8005:34;7985:18;;;7978:62;-1:-1:-1;;;8056:18:1;;;8049:34;8100:19;;7092:68:0;7725:400:1;7092:68:0;-1:-1:-1;;;;;7179:21:0;;7171:68;;;;-1:-1:-1;;;7171:68:0;;8332:2:1;7171:68:0;;;8314:21:1;8371:2;8351:18;;;8344:30;8410:34;8390:18;;;8383:62;-1:-1:-1;;;8461:18:1;;;8454:32;8503:19;;7171:68:0;8130:398:1;7171:68:0;-1:-1:-1;;;;;7250:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7302:32;;1546:25:1;;;7302:32:0;;1519:18:1;7302:32:0;;;;;;;7007:335;;;:::o;7350:2448::-;-1:-1:-1;;;;;7438:18:0;;7430:68;;;;-1:-1:-1;;;7430:68:0;;8735:2:1;7430:68:0;;;8717:21:1;8774:2;8754:18;;;8747:30;8813:34;8793:18;;;8786:62;-1:-1:-1;;;8864:18:1;;;8857:35;8909:19;;7430:68:0;8533:401:1;7430:68:0;-1:-1:-1;;;;;7517:16:0;;7509:64;;;;-1:-1:-1;;;7509:64:0;;9141:2:1;7509:64:0;;;9123:21:1;9180:2;9160:18;;;9153:30;9219:34;9199:18;;;9192:62;-1:-1:-1;;;9270:18:1;;;9263:33;9313:19;;7509:64:0;8939:399:1;7509:64:0;7601:1;7592:6;:10;7584:64;;;;-1:-1:-1;;;7584:64:0;;9545:2:1;7584:64:0;;;9527:21:1;9584:2;9564:18;;;9557:30;9623:34;9603:18;;;9596:62;-1:-1:-1;;;9674:18:1;;;9667:39;9723:19;;7584:64:0;9343:405:1;7584:64:0;7659:17;2545:6;;-1:-1:-1;;;;;7693:15:0;;;2545:6;;7693:15;;;;:32;;-1:-1:-1;2518:7:0;2545:6;-1:-1:-1;;;;;7712:13:0;;;2545:6;;7712:13;;7693:32;7689:1747;;;7756:33;7785:3;7756:24;7767:12;;7756:6;:10;;:24;;;;:::i;:::-;:28;;:33::i;:::-;7818:13;;7744:45;;-1:-1:-1;;;;;;7810:21:0;;;7818:13;;7810:21;:55;;;;-1:-1:-1;7849:15:0;;-1:-1:-1;;;;;7835:30:0;;;7849:15;;7835:30;;7810:55;:83;;;;-1:-1:-1;;;;;;7871:22:0;;;;;;:18;:22;;;;;;;;7869:24;7810:83;7806:420;;;7933:12;;7923:6;:22;;7915:60;;;;-1:-1:-1;;;7915:60:0;;9955:2:1;7915:60:0;;;9937:21:1;9994:2;9974:18;;;9967:30;10033:27;10013:18;;;10006:55;10078:18;;7915:60:0;9753:349:1;7915:60:0;8028:14;;8018:6;8002:13;8012:2;-1:-1:-1;;;;;6157:18:0;6130:7;6157:18;;;:9;:18;;;;;;;6064:119;8002:13;:22;;;;:::i;:::-;:40;;7994:79;;;;-1:-1:-1;;;7994:79:0;;10439:2:1;7994:79:0;;;10421:21:1;10478:2;10458:18;;;10451:30;10517:28;10497:18;;;10490:56;10563:18;;7994:79:0;10237:350:1;7994:79:0;8104:76;8176:3;8104:67;8126:15;;8116:9;;:25;8115:55;;8156:14;;8115:55;;;8143:12;;8115:55;8104:6;;:10;:67::i;:76::-;8199:9;:11;;8092:88;;-1:-1:-1;8199:9:0;:11;;;:::i;:::-;;;;;;7806:420;8251:13;;-1:-1:-1;;;;;8245:19:0;;;8251:13;;8245:19;:43;;;;-1:-1:-1;;;;;;8268:20:0;;8283:4;8268:20;;8245:43;8242:174;;;8321:79;8396:3;8321:70;8343:16;;8333:9;;:26;8332:58;;8375:15;;8332:58;;;8361:13;;8321:6;;:10;:70::i;:79::-;8309:91;;8242:174;8481:4;8432:28;6157:18;;;:9;:18;;;;;;8507:6;;-1:-1:-1;;;8507:6:0;;;;8506:7;:30;;;;-1:-1:-1;8523:13:0;;-1:-1:-1;;;;;8517:19:0;;;8523:13;;8517:19;8506:30;:45;;;;-1:-1:-1;8540:11:0;;-1:-1:-1;;;8540:11:0;;;;8506:45;:79;;;;;8567:18;;8555:9;;:30;8506:79;8502:923;;;-1:-1:-1;;;;;8609:29:0;;;;;;:23;:29;;;;;;;;8606:160;;;8677:40;8695:21;:6;8706:9;8695:10;:21::i;:::-;-1:-1:-1;;;;;8677:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;8663:13:0;;;;;;;:9;:13;;;;;:54;;;;-1:-1:-1;;;;7350:2448:0:o;8606:160::-;8805:13;;8790:12;:28;8786:90;;;8855:1;8843:9;:13;8786:90;8914:1;8902:9;;:13;8894:49;;;;-1:-1:-1;;;8894:49:0;;10934:2:1;8894:49:0;;;10916:21:1;10973:2;10953:18;;;10946:30;11012:25;10992:18;;;10985:53;11055:18;;8894:49:0;10732:347:1;8894:49:0;8988:17;;8965:20;:40;8962:157;;;9030:69;9047:51;9051:6;9059:38;9063:20;9085:11;;9059:3;:38::i;:::-;9047:3;:51::i;:::-;9030:16;:69::i;:::-;9188:21;9278:35;9291:21;9278:12;:35::i;:::-;9351:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;9397:12:0;9381:13;:28;-1:-1:-1;8502:923:0;7727:1709;7689:1747;9451:11;;9448:161;;9519:4;9501:24;;;;:9;:24;;;;;;:39;;9530:9;9501:28;:39::i;:::-;9494:4;9476:24;;;;:9;:24;;;;;;;:64;;;;9558:39;;-1:-1:-1;;;;;9558:39:0;;;;;;;9587:9;1546:25:1;;1534:2;1519:18;;1400:177;9558:39:0;;;;;;;;9448:161;-1:-1:-1;;;;;9641:15:0;;;;;;:9;:15;;;;;;:27;;9661:6;9641:19;:27::i;:::-;-1:-1:-1;;;;;9625:15:0;;;;;;:9;:15;;;;;:43;9693:40;9711:21;:6;9722:9;9711:10;:21::i;:::-;-1:-1:-1;;;;;9693:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9679:13:0;;;;;;;:9;:13;;;;;:54;;;;9749:41;;;9768:21;:6;9779:9;9768:10;:21::i;:::-;9749:41;;1546:25:1;;;1534:2;1519:18;9749:41:0;;;;;;;7419:2379;7350:2448;;;:::o;1372:190::-;1458:7;1494:12;1486:6;;;;1478:29;;;;-1:-1:-1;;;1478:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1518:9:0;1530:5;1534:1;1530;:5;:::i;:::-;1518:17;1372:190;-1:-1:-1;;;;;1372:190:0:o;9912:483::-;5226:6;:13;;-1:-1:-1;;;;5226:13:0;-1:-1:-1;;;5226:13:0;;;10014:16:::1;::::0;;10028:1:::1;10014:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10014:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10014:16:0::1;9990:40;;10059:4;10041;10046:1;10041:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10041:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10085:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10085:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10041:7;;10085:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10075:4;10080:1;10075:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10075:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10150:15:::1;::::0;10118:62:::1;::::0;10135:4:::1;::::0;10150:15:::1;10168:11:::0;10118:8:::1;:62::i;:::-;10191:15;::::0;:196:::1;::::0;-1:-1:-1;;;10191:196:0;;-1:-1:-1;;;;;10191:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10272:11;;10191:15:::1;::::0;10314:4;;10341::::1;::::0;10361:15:::1;::::0;10191:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5262:6:0;:14;;-1:-1:-1;;;;5262:14:0;;;-1:-1:-1;;;;9912:483:0:o;10698:92::-;10755:10;;:27;;-1:-1:-1;;;;;10755:10:0;;;;:27;;;;;10775:6;;10755:10;:27;:10;:27;10775:6;10755:10;:27;;;;;;;;;;;;;;;;;;;1570:246;1628:7;1652:1;1657;1652:6;1648:47;;-1:-1:-1;1682:1:0;1675:8;;1648:47;1705:9;1717:5;1721:1;1717;:5;:::i;:::-;1705:17;-1:-1:-1;1750:1:0;1741:5;1745:1;1705:17;1741:5;:::i;:::-;:10;1733:56;;;;-1:-1:-1;;;1733:56:0;;12890:2:1;1733:56:0;;;12872:21:1;12929:2;12909:18;;;12902:30;12968:34;12948:18;;;12941:62;-1:-1:-1;;;13019:18:1;;;13012:31;13060:19;;1733:56:0;12688:397:1;1733:56:0;1807:1;1570:246;-1:-1:-1;;;1570:246:0:o;1824:132::-;1882:7;1909:39;1913:1;1916;1909:39;;;;;;;;;;;;;;;;;:3;:39::i;1228:136::-;1286:7;1313:43;1317:1;1320;1313:43;;;;;;;;;;;;;;;;;:3;:43::i;1041:179::-;1099:7;;1131:5;1135:1;1131;:5;:::i;:::-;1119:17;;1160:1;1155;:6;;1147:46;;;;-1:-1:-1;;;1147:46:0;;13292:2:1;1147:46:0;;;13274:21:1;13331:2;13311:18;;;13304:30;13370:29;13350:18;;;13343:57;13417:18;;1147:46:0;13090:351:1;9806:98:0;9863:7;9890:1;9888;:3;9887:9;;9895:1;9887:9;;;-1:-1:-1;9893:1:0;9806:98;-1:-1:-1;9806:98:0:o;1964:189::-;2050:7;2085:12;2078:5;2070:28;;;;-1:-1:-1;;;2070:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2109:9:0;2121:5;2125:1;2121;:5;:::i;14:180:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:1;;14:180;-1:-1:-1;14:180:1:o;199:548::-;311:4;340:2;369;358:9;351:21;401:6;395:13;444:6;439:2;428:9;424:18;417:34;469:1;479:140;493:6;490:1;487:13;479:140;;;588:14;;;584:23;;578:30;554:17;;;573:2;550:26;543:66;508:10;;479:140;;;483:3;668:1;663:2;654:6;643:9;639:22;635:31;628:42;738:2;731;727:7;722:2;714:6;710:15;706:29;695:9;691:45;687:54;679:62;;;;199:548;;;;:::o;752:131::-;-1:-1:-1;;;;;827:31:1;;817:42;;807:70;;873:1;870;863:12;807:70;752:131;:::o;888:315::-;956:6;964;1017:2;1005:9;996:7;992:23;988:32;985:52;;;1033:1;1030;1023:12;985:52;1072:9;1059:23;1091:31;1116:5;1091:31;:::i;:::-;1141:5;1193:2;1178:18;;;;1165:32;;-1:-1:-1;;;888:315:1:o;1582:456::-;1659:6;1667;1675;1728:2;1716:9;1707:7;1703:23;1699:32;1696:52;;;1744:1;1741;1734:12;1696:52;1783:9;1770:23;1802:31;1827:5;1802:31;:::i;:::-;1852:5;-1:-1:-1;1909:2:1;1894:18;;1881:32;1922:33;1881:32;1922:33;:::i;:::-;1582:456;;1974:7;;-1:-1:-1;;;2028:2:1;2013:18;;;;2000:32;;1582:456::o;2232:247::-;2291:6;2344:2;2332:9;2323:7;2319:23;2315:32;2312:52;;;2360:1;2357;2350:12;2312:52;2399:9;2386:23;2418:31;2443:5;2418:31;:::i;2692:388::-;2760:6;2768;2821:2;2809:9;2800:7;2796:23;2792:32;2789:52;;;2837:1;2834;2827:12;2789:52;2876:9;2863:23;2895:31;2920:5;2895:31;:::i;:::-;2945:5;-1:-1:-1;3002:2:1;2987:18;;2974:32;3015:33;2974:32;3015:33;:::i;:::-;3067:7;3057:17;;;2692:388;;;;;:::o;3085:356::-;3287:2;3269:21;;;3306:18;;;3299:30;3365:34;3360:2;3345:18;;3338:62;3432:2;3417:18;;3085:356::o;3636:127::-;3697:10;3692:3;3688:20;3685:1;3678:31;3728:4;3725:1;3718:15;3752:4;3749:1;3742:15;3768:422;3857:1;3900:5;3857:1;3914:270;3935:7;3925:8;3922:21;3914:270;;;3994:4;3990:1;3986:6;3982:17;3976:4;3973:27;3970:53;;;4003:18;;:::i;:::-;4053:7;4043:8;4039:22;4036:55;;;4073:16;;;;4036:55;4152:22;;;;4112:15;;;;3914:270;;;3918:3;3768:422;;;;;:::o;4195:806::-;4244:5;4274:8;4264:80;;-1:-1:-1;4315:1:1;4329:5;;4264:80;4363:4;4353:76;;-1:-1:-1;4400:1:1;4414:5;;4353:76;4445:4;4463:1;4458:59;;;;4531:1;4526:130;;;;4438:218;;4458:59;4488:1;4479:10;;4502:5;;;4526:130;4563:3;4553:8;4550:17;4547:43;;;4570:18;;:::i;:::-;-1:-1:-1;;4626:1:1;4612:16;;4641:5;;4438:218;;4740:2;4730:8;4727:16;4721:3;4715:4;4712:13;4708:36;4702:2;4692:8;4689:16;4684:2;4678:4;4675:12;4671:35;4668:77;4665:159;;;-1:-1:-1;4777:19:1;;;4809:5;;4665:159;4856:34;4881:8;4875:4;4856:34;:::i;:::-;4926:6;4922:1;4918:6;4914:19;4905:7;4902:32;4899:58;;;4937:18;;:::i;:::-;4975:20;;4195:806;-1:-1:-1;;;4195:806:1:o;5006:140::-;5064:5;5093:47;5134:4;5124:8;5120:19;5114:4;5093:47;:::i;5151:168::-;5224:9;;;5255;;5272:15;;;5266:22;;5252:37;5242:71;;5293:18;;:::i;5676:251::-;5746:6;5799:2;5787:9;5778:7;5774:23;5770:32;5767:52;;;5815:1;5812;5805:12;5767:52;5847:9;5841:16;5866:31;5891:5;5866:31;:::i;6853:306::-;6941:6;6949;6957;7010:2;6998:9;6989:7;6985:23;6981:32;6978:52;;;7026:1;7023;7016:12;6978:52;7055:9;7049:16;7039:26;;7105:2;7094:9;7090:18;7084:25;7074:35;;7149:2;7138:9;7134:18;7128:25;7118:35;;6853:306;;;;;:::o;7443:277::-;7510:6;7563:2;7551:9;7542:7;7538:23;7534:32;7531:52;;;7579:1;7576;7569:12;7531:52;7611:9;7605:16;7664:5;7657:13;7650:21;7643:5;7640:32;7630:60;;7686:1;7683;7676:12;10107:125;10172:9;;;10193:10;;;10190:36;;;10206:18;;:::i;10592:135::-;10631:3;10652:17;;;10649:43;;10672:18;;:::i;:::-;-1:-1:-1;10719:1:1;10708:13;;10592:135::o;11084:128::-;11151:9;;;11172:11;;;11169:37;;;11186:18;;:::i;11349:127::-;11410:10;11405:3;11401:20;11398:1;11391:31;11441:4;11438:1;11431:15;11465:4;11462:1;11455:15;11481:980;11743:4;11791:3;11780:9;11776:19;11822:6;11811:9;11804:25;11848:2;11886:6;11881:2;11870:9;11866:18;11859:34;11929:3;11924:2;11913:9;11909:18;11902:31;11953:6;11988;11982:13;12019:6;12011;12004:22;12057:3;12046:9;12042:19;12035:26;;12096:2;12088:6;12084:15;12070:29;;12117:1;12127:195;12141:6;12138:1;12135:13;12127:195;;;12206:13;;-1:-1:-1;;;;;12202:39:1;12190:52;;12297:15;;;;12262:12;;;;12238:1;12156:9;12127:195;;;-1:-1:-1;;;;;;;12378:32:1;;;;12373:2;12358:18;;12351:60;-1:-1:-1;;;12442:3:1;12427:19;12420:35;12339:3;11481:980;-1:-1:-1;;;11481:980:1:o;12466:217::-;12506:1;12532;12522:132;;12576:10;12571:3;12567:20;12564:1;12557:31;12611:4;12608:1;12601:15;12639:4;12636:1;12629:15;12522:132;-1:-1:-1;12668:9:1;;12466:217::o

Swarm Source

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