ETH Price: $3,192.24 (+2.43%)
Gas: 1 Gwei

Token

Baby Froge (BFROGE)
 

Overview

Max Total Supply

10,000,000 BFROGE

Holders

158

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
5,450.522953475985009115 BFROGE

Value
$0.00
0x709bd251fec9a787044fd9c26f50574fceb8030b
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:
BFROGE

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-26
*/

/**
        
        Website   : https://www.babyforge.baby
        Telegram  : https://t.me/BabyFrogeERC
        Twitter/X : https://twitter.com/BabyFroge_ERC

*/

// SPDX-License-Identifier: Unlicensed

pragma solidity 0.8.18;

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 transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

    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(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);
}

contract BFROGE is Context, IERC20, Ownable {
    uint256 private constant _totalSupply = 10_000_000e18;
    uint256 private constant onePercent = 100_000e18;
    uint256 private constant tenthPercent = 10_000e18;
    uint256 private minSwap = 20_000e18;
    uint256 private maxSwap = onePercent;
    uint8 private constant _decimals = 18;

    IUniswapV2Router02 immutable uniswapV2Router;
    address public immutable uniswapV2Pair;
    address immutable WETH;
    address payable immutable marketingWallet;

    uint256 public buyTax;
    uint256 public sellTax;
    uint public lpTax;
    
    
    
    uint8 private launch;
    uint8 private inSwapAndLiquify;

    uint256 private launchBlock;
    uint256 public maxTxAmount = onePercent * 2; //max Tx for first mins after launch

    string private constant _name = "Baby Froge";
    string private constant _symbol = "BFROGE";

    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFeeWallet;

    constructor() {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        WETH = uniswapV2Router.WETH();
        buyTax = 20;
        sellTax = 30;
        lpTax = 1;

        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            WETH
        );

        
        marketingWallet = payable(msg.sender);
        _balance[msg.sender] = _totalSupply;
        _isExcludedFromFeeWallet[marketingWallet] = true;
        _isExcludedFromFeeWallet[msg.sender] = true;
        _isExcludedFromFeeWallet[address(this)] = true;
        _allowances[address(this)][address(uniswapV2Router)] = type(uint256)
            .max;
        _allowances[msg.sender][address(uniswapV2Router)] = type(uint256).max;
        _allowances[marketingWallet][address(uniswapV2Router)] = type(uint256)
            .max;

        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

    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 _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balance[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()] - amount
        );
        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 openTrading() external onlyOwner {
        launch = 1;
        launchBlock = block.number;
    }

    function addExcludedWallet(address wallet) external onlyOwner {
        _isExcludedFromFeeWallet[wallet] = true;
    }

    function removeLimits() external onlyOwner {
        maxTxAmount = _totalSupply;
    }

    function changeTax(uint256 newBuyTax, uint256 newSellTax, uint newLpTax) external onlyOwner {
        require(newBuyTax < 40 || newSellTax < 60, "Cannot set taxes above 90%");
        buyTax = newBuyTax;
        sellTax = newSellTax;
        lpTax = newLpTax;
    }

    function changeMaxSwapThreshold(uint256 newMaxSwapThreshold) external onlyOwner {
        require(newMaxSwapThreshold < 999, "Max Swap cannot be greater than 99%");
        require(newMaxSwapThreshold > minSwap, "Max Swap cannot be less than min swap");
        maxSwap = newMaxSwapThreshold * tenthPercent;
    }

    function changeMinSwapThreshold(uint256 newMinSwapThreshold) external onlyOwner {
        require(newMinSwapThreshold < 999, "Min Swap cannot be greater than 99%");
        require(newMinSwapThreshold < maxSwap, "Min Swap cannot be greater than max swap");
        minSwap = newMinSwapThreshold * tenthPercent;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 1e9, "Min transfer amt");

        uint256 _tax;
        if (_isExcludedFromFeeWallet[from] || _isExcludedFromFeeWallet[to]) {
            _tax = 0;
        } else {
            require(
                launch != 0 && amount <= maxTxAmount,
                "Launch / Max TxAmount 1% at launch"
            );

            if (inSwapAndLiquify == 1) {
                //No tax transfer
                _balance[from] -= amount;
                _balance[to] += amount;

                emit Transfer(from, to, amount);
                return;
            }

            if (from == uniswapV2Pair) {
                _tax = buyTax + lpTax;
            } else if (to == uniswapV2Pair) {
                uint256 tokensToSwap = _balance[address(this)];
                if (tokensToSwap > minSwap && inSwapAndLiquify == 0) {
                    if (tokensToSwap > maxSwap) {
                        tokensToSwap = maxSwap;
                    }
                    
                    uint liqidityToken = (tokensToSwap * lpTax) / (((buyTax + sellTax) / 2 ) + lpTax );
                    uint tokensTosell = tokensToSwap - liqidityToken;

                    inSwapAndLiquify = 1;
                    address[] memory path = new address[](2);
                    path[0] = address(this);
                    path[1] = WETH;
                    
                    uniswapV2Router
                        .swapExactTokensForETHSupportingFeeOnTransferTokens(
                            tokensTosell,
                            0,
                            path,
                            marketingWallet,
                            block.timestamp
                        );
                    
                    
                    if ( liqidityToken > 0) {
                        
                        uniswapV2Router
                        .swapExactTokensForETHSupportingFeeOnTransferTokens(
                            liqidityToken / 2,
                            0,
                            path,
                            address(this),
                            block.timestamp
                        );
                        
                        uint newBal = address(this).balance;
                        uniswapV2Router
                        .addLiquidityETH{value : newBal}(address(this),
                            liqidityToken / 2,
                            0,
                            0,
                            owner(),
                            block.timestamp
                        );
                    }
                    inSwapAndLiquify = 0;
                    
                }
                
                _tax = sellTax + lpTax;
            } else {
                _tax = 0;
            }
        }

        //Is there tax for sender|receiver?
        if (_tax != 0) {
            //Tax transfer
            uint256 taxTokens = (amount * _tax) / 100;
            uint256 transferAmount = amount - taxTokens;

            _balance[from] -= amount;
            _balance[to] += transferAmount;
            _balance[address(this)] += taxTokens;
            emit Transfer(from, address(this), taxTokens);
            emit Transfer(from, to, transferAmount);
        } else {
            //No tax transfer
            _balance[from] -= amount;
            _balance[to] += amount;

            emit Transfer(from, to, amount);
        }
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"addExcludedWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMaxSwapThreshold","type":"uint256"}],"name":"changeMaxSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newMinSwapThreshold","type":"uint256"}],"name":"changeMinSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"},{"internalType":"uint256","name":"newLpTax","type":"uint256"}],"name":"changeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"lpTax","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":"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":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

61010060405269043c33c193756480000060025569152d02c7e14af6800000600355600269152d02c7e14af68000006200003a91906200076e565b6009553480156200004a57600080fd5b5060006200005d6200072d60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000191573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b7919062000823565b73ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250506014600481905550601e600581905550600160068190555060805173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000250573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000276919062000823565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060c0516040518363ffffffff1660e01b8152600401620002b492919062000866565b6020604051808303816000875af1158015620002d4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002fa919062000823565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250503373ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff16815250506a084595161401484a000000600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600c600060e05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600b600060e05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620006b56200072d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a084595161401484a0000006040516200071f9190620008a4565b60405180910390a3620008c1565b600033905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200077b8262000735565b9150620007888362000735565b9250828202620007988162000735565b91508282048414831517620007b257620007b16200073f565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620007eb82620007be565b9050919050565b620007fd81620007de565b81146200080957600080fd5b50565b6000815190506200081d81620007f2565b92915050565b6000602082840312156200083c576200083b620007b9565b5b60006200084c848285016200080c565b91505092915050565b6200086081620007de565b82525050565b60006040820190506200087d600083018562000855565b6200088c602083018462000855565b9392505050565b6200089e8162000735565b82525050565b6000602082019050620008bb600083018462000893565b92915050565b60805160a05160c05160e051612c7f620009176000396000611780015260006116d10152600081816107b40152818161148a01526114f4015260008181611740015281816117fd01526118a20152612c7f6000f3fe6080604052600436106101445760003560e01c8063715018a6116100b6578063a9059cbb1161006f578063a9059cbb14610433578063c9567bf914610470578063cc1776d314610487578063dba9d420146104b2578063dd62ed3e146104db578063f2fde38b146105185761014b565b8063715018a61461035b578063751039fc146103725780638c0b5e22146103895780638da5cb5b146103b457806395d89b41146103df578063974ea01e1461040a5761014b565b8063313ce56711610108578063313ce5671461024b57806341e1259d1461027657806349bd5a5e1461029f5780634f7041a5146102ca57806355811acc146102f557806370a082311461031e5761014b565b806306fdde0314610150578063095ea7b31461017b57806318160ddd146101b85780631de3b450146101e357806323b872dd1461020e5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b50610165610541565b6040516101729190611e7b565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d9190611f36565b61057e565b6040516101af9190611f91565b60405180910390f35b3480156101c457600080fd5b506101cd61059c565b6040516101da9190611fbb565b60405180910390f35b3480156101ef57600080fd5b506101f86105af565b6040516102059190611fbb565b60405180910390f35b34801561021a57600080fd5b5061023560048036038101906102309190611fd6565b6105b5565b6040516102429190611f91565b60405180910390f35b34801561025757600080fd5b5061026061066d565b60405161026d9190612045565b60405180910390f35b34801561028257600080fd5b5061029d60048036038101906102989190612060565b610676565b005b3480156102ab57600080fd5b506102b46107b2565b6040516102c1919061209c565b60405180910390f35b3480156102d657600080fd5b506102df6107d6565b6040516102ec9190611fbb565b60405180910390f35b34801561030157600080fd5b5061031c60048036038101906103179190612060565b6107dc565b005b34801561032a57600080fd5b50610345600480360381019061034091906120b7565b610918565b6040516103529190611fbb565b60405180910390f35b34801561036757600080fd5b50610370610961565b005b34801561037e57600080fd5b50610387610ab4565b005b34801561039557600080fd5b5061039e610b5d565b6040516103ab9190611fbb565b60405180910390f35b3480156103c057600080fd5b506103c9610b63565b6040516103d6919061209c565b60405180910390f35b3480156103eb57600080fd5b506103f4610b8c565b6040516104019190611e7b565b60405180910390f35b34801561041657600080fd5b50610431600480360381019061042c91906120e4565b610bc9565b005b34801561043f57600080fd5b5061045a60048036038101906104559190611f36565b610cc6565b6040516104679190611f91565b60405180910390f35b34801561047c57600080fd5b50610485610ce4565b005b34801561049357600080fd5b5061049c610d9e565b6040516104a99190611fbb565b60405180910390f35b3480156104be57600080fd5b506104d960048036038101906104d491906120b7565b610da4565b005b3480156104e757600080fd5b5061050260048036038101906104fd9190612137565b610e94565b60405161050f9190611fbb565b60405180910390f35b34801561052457600080fd5b5061053f600480360381019061053a91906120b7565b610f1b565b005b60606040518060400160405280600a81526020017f426162792046726f676500000000000000000000000000000000000000000000815250905090565b600061059261058b610fbc565b8484610fc4565b6001905092915050565b60006a084595161401484a000000905090565b60065481565b60006105c284848461118d565b610662846105ce610fbc565b84600b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610618610fbc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461065d91906121a6565b610fc4565b600190509392505050565b60006012905090565b61067e610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461070b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070290612226565b60405180910390fd5b6103e7811061074f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610746906122b8565b60405180910390fd5b6003548110610793576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078a9061234a565b60405180910390fd5b69021e19e0c9bab2400000816107a9919061236a565b60028190555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60045481565b6107e4610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610871576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086890612226565b60405180910390fd5b6103e781106108b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ac9061241e565b60405180910390fd5b60025481116108f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f0906124b0565b60405180910390fd5b69021e19e0c9bab24000008161090f919061236a565b60038190555050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610969610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ed90612226565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610abc610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4090612226565b60405180910390fd5b6a084595161401484a000000600981905550565b60095481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f4246524f47450000000000000000000000000000000000000000000000000000815250905090565b610bd1610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5590612226565b60405180910390fd5b6028831080610c6d5750603c82105b610cac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca39061251c565b60405180910390fd5b826004819055508160058190555080600681905550505050565b6000610cda610cd3610fbc565b848461118d565b6001905092915050565b610cec610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7090612226565b60405180910390fd5b6001600760006101000a81548160ff021916908360ff16021790555043600881905550565b60055481565b610dac610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3090612226565b60405180910390fd5b6001600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610f23610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa790612226565b60405180910390fd5b610fb981611cbf565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611033576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102a906125ae565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109990612640565b60405180910390fd5b80600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111809190611fbb565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f3906126d2565b60405180910390fd5b633b9aca008111611242576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112399061273e565b60405180910390fd5b6000600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806112e55750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156112f3576000905061199f565b6000600760009054906101000a900460ff1660ff161415801561131857506009548211155b611357576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134e906127d0565b60405180910390fd5b6001600760019054906101000a900460ff1660ff16036114885781600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113c091906121a6565b9250508190555081600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461141691906127f0565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161147a9190611fbb565b60405180910390a350611cba565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036114f2576006546004546114eb91906127f0565b905061199e565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611998576000600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600254811180156115ac57506000600760019054906101000a900460ff1660ff16145b15611980576003548111156115c15760035490505b600060065460026005546004546115d891906127f0565b6115e29190612853565b6115ec91906127f0565b600654836115fa919061236a565b6116049190612853565b90506000818361161491906121a6565b90506001600760016101000a81548160ff021916908360ff1602179055506000600267ffffffffffffffff81111561164f5761164e612884565b5b60405190808252806020026020018201604052801561167d5781602001602082028036833780820191505090505b5090503081600081518110611695576116946128b3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110611704576117036128b3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947836000847f0000000000000000000000000000000000000000000000000000000000000000426040518663ffffffff1660e01b81526004016117c0959493929190612a3a565b600060405180830381600087803b1580156117da57600080fd5b505af11580156117ee573d6000803e3d6000fd5b505050506000831115611960577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9476002856118449190612853565b60008430426040518663ffffffff1660e01b8152600401611869959493929190612a94565b600060405180830381600087803b15801561188357600080fd5b505af1158015611897573d6000803e3d6000fd5b5050505060004790507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d71982306002886118eb9190612853565b6000806118f6610b63565b426040518863ffffffff1660e01b815260040161191896959493929190612aee565b60606040518083038185885af1158015611936573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061195b9190612b64565b505050505b6000600760016101000a81548160ff021916908360ff1602179055505050505b60065460055461199091906127f0565b91505061199d565b600090505b5b5b60008114611ba6576000606482846119b7919061236a565b6119c19190612853565b9050600081846119d191906121a6565b905083600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a2291906121a6565b9250508190555080600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a7891906127f0565b9250508190555081600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ace91906127f0565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b329190611fbb565b60405180910390a38473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b979190611fbb565b60405180910390a35050611cb8565b81600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611bf591906121a6565b9250508190555081600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c4b91906127f0565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611caf9190611fbb565b60405180910390a35b505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611d2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2590612c29565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e25578082015181840152602081019050611e0a565b60008484015250505050565b6000601f19601f8301169050919050565b6000611e4d82611deb565b611e578185611df6565b9350611e67818560208601611e07565b611e7081611e31565b840191505092915050565b60006020820190508181036000830152611e958184611e42565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ecd82611ea2565b9050919050565b611edd81611ec2565b8114611ee857600080fd5b50565b600081359050611efa81611ed4565b92915050565b6000819050919050565b611f1381611f00565b8114611f1e57600080fd5b50565b600081359050611f3081611f0a565b92915050565b60008060408385031215611f4d57611f4c611e9d565b5b6000611f5b85828601611eeb565b9250506020611f6c85828601611f21565b9150509250929050565b60008115159050919050565b611f8b81611f76565b82525050565b6000602082019050611fa66000830184611f82565b92915050565b611fb581611f00565b82525050565b6000602082019050611fd06000830184611fac565b92915050565b600080600060608486031215611fef57611fee611e9d565b5b6000611ffd86828701611eeb565b935050602061200e86828701611eeb565b925050604061201f86828701611f21565b9150509250925092565b600060ff82169050919050565b61203f81612029565b82525050565b600060208201905061205a6000830184612036565b92915050565b60006020828403121561207657612075611e9d565b5b600061208484828501611f21565b91505092915050565b61209681611ec2565b82525050565b60006020820190506120b1600083018461208d565b92915050565b6000602082840312156120cd576120cc611e9d565b5b60006120db84828501611eeb565b91505092915050565b6000806000606084860312156120fd576120fc611e9d565b5b600061210b86828701611f21565b935050602061211c86828701611f21565b925050604061212d86828701611f21565b9150509250925092565b6000806040838503121561214e5761214d611e9d565b5b600061215c85828601611eeb565b925050602061216d85828601611eeb565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006121b182611f00565b91506121bc83611f00565b92508282039050818111156121d4576121d3612177565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612210602083611df6565b915061221b826121da565b602082019050919050565b6000602082019050818103600083015261223f81612203565b9050919050565b7f4d696e20537761702063616e6e6f742062652067726561746572207468616e2060008201527f3939250000000000000000000000000000000000000000000000000000000000602082015250565b60006122a2602383611df6565b91506122ad82612246565b604082019050919050565b600060208201905081810360008301526122d181612295565b9050919050565b7f4d696e20537761702063616e6e6f742062652067726561746572207468616e2060008201527f6d61782073776170000000000000000000000000000000000000000000000000602082015250565b6000612334602883611df6565b915061233f826122d8565b604082019050919050565b6000602082019050818103600083015261236381612327565b9050919050565b600061237582611f00565b915061238083611f00565b925082820261238e81611f00565b915082820484148315176123a5576123a4612177565b5b5092915050565b7f4d617820537761702063616e6e6f742062652067726561746572207468616e2060008201527f3939250000000000000000000000000000000000000000000000000000000000602082015250565b6000612408602383611df6565b9150612413826123ac565b604082019050919050565b60006020820190508181036000830152612437816123fb565b9050919050565b7f4d617820537761702063616e6e6f74206265206c657373207468616e206d696e60008201527f2073776170000000000000000000000000000000000000000000000000000000602082015250565b600061249a602583611df6565b91506124a58261243e565b604082019050919050565b600060208201905081810360008301526124c98161248d565b9050919050565b7f43616e6e6f74207365742074617865732061626f766520393025000000000000600082015250565b6000612506601a83611df6565b9150612511826124d0565b602082019050919050565b60006020820190508181036000830152612535816124f9565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612598602483611df6565b91506125a38261253c565b604082019050919050565b600060208201905081810360008301526125c78161258b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061262a602283611df6565b9150612635826125ce565b604082019050919050565b600060208201905081810360008301526126598161261d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006126bc602583611df6565b91506126c782612660565b604082019050919050565b600060208201905081810360008301526126eb816126af565b9050919050565b7f4d696e207472616e7366657220616d7400000000000000000000000000000000600082015250565b6000612728601083611df6565b9150612733826126f2565b602082019050919050565b600060208201905081810360008301526127578161271b565b9050919050565b7f4c61756e6368202f204d6178205478416d6f756e74203125206174206c61756e60008201527f6368000000000000000000000000000000000000000000000000000000000000602082015250565b60006127ba602283611df6565b91506127c58261275e565b604082019050919050565b600060208201905081810360008301526127e9816127ad565b9050919050565b60006127fb82611f00565b915061280683611f00565b925082820190508082111561281e5761281d612177565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061285e82611f00565b915061286983611f00565b92508261287957612878612824565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6000819050919050565b600061291161290c612907846128e2565b6128ec565b611f00565b9050919050565b612921816128f6565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61295c81611ec2565b82525050565b600061296e8383612953565b60208301905092915050565b6000602082019050919050565b600061299282612927565b61299c8185612932565b93506129a783612943565b8060005b838110156129d85781516129bf8882612962565b97506129ca8361297a565b9250506001810190506129ab565b5085935050505092915050565b6000612a006129fb6129f684611ea2565b6128ec565b611ea2565b9050919050565b6000612a12826129e5565b9050919050565b6000612a2482612a07565b9050919050565b612a3481612a19565b82525050565b600060a082019050612a4f6000830188611fac565b612a5c6020830187612918565b8181036040830152612a6e8186612987565b9050612a7d6060830185612a2b565b612a8a6080830184611fac565b9695505050505050565b600060a082019050612aa96000830188611fac565b612ab66020830187612918565b8181036040830152612ac88186612987565b9050612ad7606083018561208d565b612ae46080830184611fac565b9695505050505050565b600060c082019050612b03600083018961208d565b612b106020830188611fac565b612b1d6040830187612918565b612b2a6060830186612918565b612b37608083018561208d565b612b4460a0830184611fac565b979650505050505050565b600081519050612b5e81611f0a565b92915050565b600080600060608486031215612b7d57612b7c611e9d565b5b6000612b8b86828701612b4f565b9350506020612b9c86828701612b4f565b9250506040612bad86828701612b4f565b9150509250925092565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612c13602683611df6565b9150612c1e82612bb7565b604082019050919050565b60006020820190508181036000830152612c4281612c06565b905091905056fea26469706673582212206e0a7786fc7448896853210232f268f9dcb2fffd6ca19300e6e20091179cc2ad64736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101445760003560e01c8063715018a6116100b6578063a9059cbb1161006f578063a9059cbb14610433578063c9567bf914610470578063cc1776d314610487578063dba9d420146104b2578063dd62ed3e146104db578063f2fde38b146105185761014b565b8063715018a61461035b578063751039fc146103725780638c0b5e22146103895780638da5cb5b146103b457806395d89b41146103df578063974ea01e1461040a5761014b565b8063313ce56711610108578063313ce5671461024b57806341e1259d1461027657806349bd5a5e1461029f5780634f7041a5146102ca57806355811acc146102f557806370a082311461031e5761014b565b806306fdde0314610150578063095ea7b31461017b57806318160ddd146101b85780631de3b450146101e357806323b872dd1461020e5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b50610165610541565b6040516101729190611e7b565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d9190611f36565b61057e565b6040516101af9190611f91565b60405180910390f35b3480156101c457600080fd5b506101cd61059c565b6040516101da9190611fbb565b60405180910390f35b3480156101ef57600080fd5b506101f86105af565b6040516102059190611fbb565b60405180910390f35b34801561021a57600080fd5b5061023560048036038101906102309190611fd6565b6105b5565b6040516102429190611f91565b60405180910390f35b34801561025757600080fd5b5061026061066d565b60405161026d9190612045565b60405180910390f35b34801561028257600080fd5b5061029d60048036038101906102989190612060565b610676565b005b3480156102ab57600080fd5b506102b46107b2565b6040516102c1919061209c565b60405180910390f35b3480156102d657600080fd5b506102df6107d6565b6040516102ec9190611fbb565b60405180910390f35b34801561030157600080fd5b5061031c60048036038101906103179190612060565b6107dc565b005b34801561032a57600080fd5b50610345600480360381019061034091906120b7565b610918565b6040516103529190611fbb565b60405180910390f35b34801561036757600080fd5b50610370610961565b005b34801561037e57600080fd5b50610387610ab4565b005b34801561039557600080fd5b5061039e610b5d565b6040516103ab9190611fbb565b60405180910390f35b3480156103c057600080fd5b506103c9610b63565b6040516103d6919061209c565b60405180910390f35b3480156103eb57600080fd5b506103f4610b8c565b6040516104019190611e7b565b60405180910390f35b34801561041657600080fd5b50610431600480360381019061042c91906120e4565b610bc9565b005b34801561043f57600080fd5b5061045a60048036038101906104559190611f36565b610cc6565b6040516104679190611f91565b60405180910390f35b34801561047c57600080fd5b50610485610ce4565b005b34801561049357600080fd5b5061049c610d9e565b6040516104a99190611fbb565b60405180910390f35b3480156104be57600080fd5b506104d960048036038101906104d491906120b7565b610da4565b005b3480156104e757600080fd5b5061050260048036038101906104fd9190612137565b610e94565b60405161050f9190611fbb565b60405180910390f35b34801561052457600080fd5b5061053f600480360381019061053a91906120b7565b610f1b565b005b60606040518060400160405280600a81526020017f426162792046726f676500000000000000000000000000000000000000000000815250905090565b600061059261058b610fbc565b8484610fc4565b6001905092915050565b60006a084595161401484a000000905090565b60065481565b60006105c284848461118d565b610662846105ce610fbc565b84600b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610618610fbc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461065d91906121a6565b610fc4565b600190509392505050565b60006012905090565b61067e610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461070b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070290612226565b60405180910390fd5b6103e7811061074f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610746906122b8565b60405180910390fd5b6003548110610793576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078a9061234a565b60405180910390fd5b69021e19e0c9bab2400000816107a9919061236a565b60028190555050565b7f0000000000000000000000006d7cef22f3981ce6833c17f5526b6446fc00ef0f81565b60045481565b6107e4610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610871576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086890612226565b60405180910390fd5b6103e781106108b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ac9061241e565b60405180910390fd5b60025481116108f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f0906124b0565b60405180910390fd5b69021e19e0c9bab24000008161090f919061236a565b60038190555050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610969610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ed90612226565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610abc610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4090612226565b60405180910390fd5b6a084595161401484a000000600981905550565b60095481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f4246524f47450000000000000000000000000000000000000000000000000000815250905090565b610bd1610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5590612226565b60405180910390fd5b6028831080610c6d5750603c82105b610cac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca39061251c565b60405180910390fd5b826004819055508160058190555080600681905550505050565b6000610cda610cd3610fbc565b848461118d565b6001905092915050565b610cec610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7090612226565b60405180910390fd5b6001600760006101000a81548160ff021916908360ff16021790555043600881905550565b60055481565b610dac610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3090612226565b60405180910390fd5b6001600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610f23610fbc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa790612226565b60405180910390fd5b610fb981611cbf565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611033576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102a906125ae565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109990612640565b60405180910390fd5b80600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111809190611fbb565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f3906126d2565b60405180910390fd5b633b9aca008111611242576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112399061273e565b60405180910390fd5b6000600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806112e55750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156112f3576000905061199f565b6000600760009054906101000a900460ff1660ff161415801561131857506009548211155b611357576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134e906127d0565b60405180910390fd5b6001600760019054906101000a900460ff1660ff16036114885781600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113c091906121a6565b9250508190555081600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461141691906127f0565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161147a9190611fbb565b60405180910390a350611cba565b7f0000000000000000000000006d7cef22f3981ce6833c17f5526b6446fc00ef0f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036114f2576006546004546114eb91906127f0565b905061199e565b7f0000000000000000000000006d7cef22f3981ce6833c17f5526b6446fc00ef0f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611998576000600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600254811180156115ac57506000600760019054906101000a900460ff1660ff16145b15611980576003548111156115c15760035490505b600060065460026005546004546115d891906127f0565b6115e29190612853565b6115ec91906127f0565b600654836115fa919061236a565b6116049190612853565b90506000818361161491906121a6565b90506001600760016101000a81548160ff021916908360ff1602179055506000600267ffffffffffffffff81111561164f5761164e612884565b5b60405190808252806020026020018201604052801561167d5781602001602082028036833780820191505090505b5090503081600081518110611695576116946128b3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110611704576117036128b3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947836000847f00000000000000000000000098fa50a06c7fac6aacc179eefc9fc05448c8d5f4426040518663ffffffff1660e01b81526004016117c0959493929190612a3a565b600060405180830381600087803b1580156117da57600080fd5b505af11580156117ee573d6000803e3d6000fd5b505050506000831115611960577f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9476002856118449190612853565b60008430426040518663ffffffff1660e01b8152600401611869959493929190612a94565b600060405180830381600087803b15801561188357600080fd5b505af1158015611897573d6000803e3d6000fd5b5050505060004790507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d71982306002886118eb9190612853565b6000806118f6610b63565b426040518863ffffffff1660e01b815260040161191896959493929190612aee565b60606040518083038185885af1158015611936573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061195b9190612b64565b505050505b6000600760016101000a81548160ff021916908360ff1602179055505050505b60065460055461199091906127f0565b91505061199d565b600090505b5b5b60008114611ba6576000606482846119b7919061236a565b6119c19190612853565b9050600081846119d191906121a6565b905083600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a2291906121a6565b9250508190555080600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a7891906127f0565b9250508190555081600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ace91906127f0565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b329190611fbb565b60405180910390a38473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b979190611fbb565b60405180910390a35050611cb8565b81600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611bf591906121a6565b9250508190555081600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c4b91906127f0565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611caf9190611fbb565b60405180910390a35b505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611d2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2590612c29565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e25578082015181840152602081019050611e0a565b60008484015250505050565b6000601f19601f8301169050919050565b6000611e4d82611deb565b611e578185611df6565b9350611e67818560208601611e07565b611e7081611e31565b840191505092915050565b60006020820190508181036000830152611e958184611e42565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ecd82611ea2565b9050919050565b611edd81611ec2565b8114611ee857600080fd5b50565b600081359050611efa81611ed4565b92915050565b6000819050919050565b611f1381611f00565b8114611f1e57600080fd5b50565b600081359050611f3081611f0a565b92915050565b60008060408385031215611f4d57611f4c611e9d565b5b6000611f5b85828601611eeb565b9250506020611f6c85828601611f21565b9150509250929050565b60008115159050919050565b611f8b81611f76565b82525050565b6000602082019050611fa66000830184611f82565b92915050565b611fb581611f00565b82525050565b6000602082019050611fd06000830184611fac565b92915050565b600080600060608486031215611fef57611fee611e9d565b5b6000611ffd86828701611eeb565b935050602061200e86828701611eeb565b925050604061201f86828701611f21565b9150509250925092565b600060ff82169050919050565b61203f81612029565b82525050565b600060208201905061205a6000830184612036565b92915050565b60006020828403121561207657612075611e9d565b5b600061208484828501611f21565b91505092915050565b61209681611ec2565b82525050565b60006020820190506120b1600083018461208d565b92915050565b6000602082840312156120cd576120cc611e9d565b5b60006120db84828501611eeb565b91505092915050565b6000806000606084860312156120fd576120fc611e9d565b5b600061210b86828701611f21565b935050602061211c86828701611f21565b925050604061212d86828701611f21565b9150509250925092565b6000806040838503121561214e5761214d611e9d565b5b600061215c85828601611eeb565b925050602061216d85828601611eeb565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006121b182611f00565b91506121bc83611f00565b92508282039050818111156121d4576121d3612177565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612210602083611df6565b915061221b826121da565b602082019050919050565b6000602082019050818103600083015261223f81612203565b9050919050565b7f4d696e20537761702063616e6e6f742062652067726561746572207468616e2060008201527f3939250000000000000000000000000000000000000000000000000000000000602082015250565b60006122a2602383611df6565b91506122ad82612246565b604082019050919050565b600060208201905081810360008301526122d181612295565b9050919050565b7f4d696e20537761702063616e6e6f742062652067726561746572207468616e2060008201527f6d61782073776170000000000000000000000000000000000000000000000000602082015250565b6000612334602883611df6565b915061233f826122d8565b604082019050919050565b6000602082019050818103600083015261236381612327565b9050919050565b600061237582611f00565b915061238083611f00565b925082820261238e81611f00565b915082820484148315176123a5576123a4612177565b5b5092915050565b7f4d617820537761702063616e6e6f742062652067726561746572207468616e2060008201527f3939250000000000000000000000000000000000000000000000000000000000602082015250565b6000612408602383611df6565b9150612413826123ac565b604082019050919050565b60006020820190508181036000830152612437816123fb565b9050919050565b7f4d617820537761702063616e6e6f74206265206c657373207468616e206d696e60008201527f2073776170000000000000000000000000000000000000000000000000000000602082015250565b600061249a602583611df6565b91506124a58261243e565b604082019050919050565b600060208201905081810360008301526124c98161248d565b9050919050565b7f43616e6e6f74207365742074617865732061626f766520393025000000000000600082015250565b6000612506601a83611df6565b9150612511826124d0565b602082019050919050565b60006020820190508181036000830152612535816124f9565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612598602483611df6565b91506125a38261253c565b604082019050919050565b600060208201905081810360008301526125c78161258b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061262a602283611df6565b9150612635826125ce565b604082019050919050565b600060208201905081810360008301526126598161261d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006126bc602583611df6565b91506126c782612660565b604082019050919050565b600060208201905081810360008301526126eb816126af565b9050919050565b7f4d696e207472616e7366657220616d7400000000000000000000000000000000600082015250565b6000612728601083611df6565b9150612733826126f2565b602082019050919050565b600060208201905081810360008301526127578161271b565b9050919050565b7f4c61756e6368202f204d6178205478416d6f756e74203125206174206c61756e60008201527f6368000000000000000000000000000000000000000000000000000000000000602082015250565b60006127ba602283611df6565b91506127c58261275e565b604082019050919050565b600060208201905081810360008301526127e9816127ad565b9050919050565b60006127fb82611f00565b915061280683611f00565b925082820190508082111561281e5761281d612177565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061285e82611f00565b915061286983611f00565b92508261287957612878612824565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6000819050919050565b600061291161290c612907846128e2565b6128ec565b611f00565b9050919050565b612921816128f6565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61295c81611ec2565b82525050565b600061296e8383612953565b60208301905092915050565b6000602082019050919050565b600061299282612927565b61299c8185612932565b93506129a783612943565b8060005b838110156129d85781516129bf8882612962565b97506129ca8361297a565b9250506001810190506129ab565b5085935050505092915050565b6000612a006129fb6129f684611ea2565b6128ec565b611ea2565b9050919050565b6000612a12826129e5565b9050919050565b6000612a2482612a07565b9050919050565b612a3481612a19565b82525050565b600060a082019050612a4f6000830188611fac565b612a5c6020830187612918565b8181036040830152612a6e8186612987565b9050612a7d6060830185612a2b565b612a8a6080830184611fac565b9695505050505050565b600060a082019050612aa96000830188611fac565b612ab66020830187612918565b8181036040830152612ac88186612987565b9050612ad7606083018561208d565b612ae46080830184611fac565b9695505050505050565b600060c082019050612b03600083018961208d565b612b106020830188611fac565b612b1d6040830187612918565b612b2a6060830186612918565b612b37608083018561208d565b612b4460a0830184611fac565b979650505050505050565b600081519050612b5e81611f0a565b92915050565b600080600060608486031215612b7d57612b7c611e9d565b5b6000612b8b86828701612b4f565b9350506020612b9c86828701612b4f565b9250506040612bad86828701612b4f565b9150509250925092565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612c13602683611df6565b9150612c1e82612bb7565b604082019050919050565b60006020820190508181036000830152612c4281612c06565b905091905056fea26469706673582212206e0a7786fc7448896853210232f268f9dcb2fffd6ca19300e6e20091179cc2ad64736f6c63430008120033

Deployed Bytecode Sourcemap

3116:8995:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5235:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6145:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5512:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3701:17;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6346:350;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5421:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8024:320;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3520:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3644:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7699:317;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5620:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2166:148;;;;;;;;;;;;;:::i;:::-;;7325:88;;;;;;;;;;;;;:::i;:::-;;3843:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1561:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5326:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7421:270;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5746:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7081:108;;;;;;;;;;;;;:::i;:::-;;3672:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7197:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5953:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1775:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5235:83;5272:13;5305:5;;;;;;;;;;;;;;;;;5298:12;;5235:83;:::o;6145:193::-;6247:4;6269:39;6278:12;:10;:12::i;:::-;6292:7;6301:6;6269:8;:39::i;:::-;6326:4;6319:11;;6145:193;;;;:::o;5512:100::-;5565:7;3207:13;5585:19;;5512:100;:::o;3701:17::-;;;;:::o;6346:350::-;6478:4;6495:36;6505:6;6513:9;6524:6;6495:9;:36::i;:::-;6542:124;6565:6;6586:12;:10;:12::i;:::-;6649:6;6613:11;:19;6625:6;6613:19;;;;;;;;;;;;;;;:33;6633:12;:10;:12::i;:::-;6613:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;6542:8;:124::i;:::-;6684:4;6677:11;;6346:350;;;;;:::o;5421:83::-;5462:5;3458:2;5480:16;;5421:83;:::o;8024:320::-;1698:12;:10;:12::i;:::-;1688:22;;:6;;;;;;;;;;:22;;;1680:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8145:3:::1;8123:19;:25;8115:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;8229:7;;8207:19;:29;8199:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;3322:9;8302:19;:34;;;;:::i;:::-;8292:7;:44;;;;8024:320:::0;:::o;3520:38::-;;;:::o;3644:21::-;;;;:::o;7699:317::-;1698:12;:10;:12::i;:::-;1688:22;;:6;;;;;;;;;;:22;;;1680:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7820:3:::1;7798:19;:25;7790:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7904:7;;7882:19;:29;7874:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;3322:9;7974:19;:34;;;;:::i;:::-;7964:7;:44;;;;7699:317:::0;:::o;5620:118::-;5686:7;5713:8;:17;5722:7;5713:17;;;;;;;;;;;;;;;;5706:24;;5620:118;;;:::o;2166:148::-;1698:12;:10;:12::i;:::-;1688:22;;:6;;;;;;;;;;:22;;;1680:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2273:1:::1;2236:40;;2257:6;::::0;::::1;;;;;;;;2236:40;;;;;;;;;;;;2304:1;2287:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2166:148::o:0;7325:88::-;1698:12;:10;:12::i;:::-;1688:22;;:6;;;;;;;;;;:22;;;1680:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3207:13:::1;7379:11;:26;;;;7325:88::o:0;3843:43::-;;;;:::o;1561:79::-;1599:7;1626:6;;;;;;;;;;;1619:13;;1561:79;:::o;5326:87::-;5365:13;5398:7;;;;;;;;;;;;;;;;;5391:14;;5326:87;:::o;7421:270::-;1698:12;:10;:12::i;:::-;1688:22;;:6;;;;;;;;;;:22;;;1680:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7544:2:::1;7532:9;:14;:33;;;;7563:2;7550:10;:15;7532:33;7524:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;7616:9;7607:6;:18;;;;7646:10;7636:7;:20;;;;7675:8;7667:5;:16;;;;7421:270:::0;;;:::o;5746:199::-;5851:4;5873:42;5883:12;:10;:12::i;:::-;5897:9;5908:6;5873:9;:42::i;:::-;5933:4;5926:11;;5746:199;;;;:::o;7081:108::-;1698:12;:10;:12::i;:::-;1688:22;;:6;;;;;;;;;;:22;;;1680:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7143:1:::1;7134:6;;:10;;;;;;;;;;;;;;;;;;7169:12;7155:11;:26;;;;7081:108::o:0;3672:22::-;;;;:::o;7197:120::-;1698:12;:10;:12::i;:::-;1688:22;;:6;;;;;;;;;;:22;;;1680:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7305:4:::1;7270:24;:32;7295:6;7270:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;7197:120:::0;:::o;5953:184::-;6070:7;6102:11;:18;6114:5;6102:18;;;;;;;;;;;;;;;:27;6121:7;6102:27;;;;;;;;;;;;;;;;6095:34;;5953:184;;;;:::o;1775:109::-;1698:12;:10;:12::i;:::-;1688:22;;:6;;;;;;;;;;:22;;;1680:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1848:28:::1;1867:8;1848:18;:28::i;:::-;1775:109:::0;:::o;275:98::-;328:7;355:10;348:17;;275:98;:::o;6704:369::-;6848:1;6831:19;;:5;:19;;;6823:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6929:1;6910:21;;:7;:21;;;6902:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7011:6;6981:11;:18;6993:5;6981:18;;;;;;;;;;;;;;;:27;7000:7;6981:27;;;;;;;;;;;;;;;:36;;;;7049:7;7033:32;;7042:5;7033:32;;;7058:6;7033:32;;;;;;:::i;:::-;;;;;;;;6704:369;;;:::o;8352:3719::-;8490:1;8474:18;;:4;:18;;;8466:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8562:3;8553:6;:12;8545:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;8599:12;8626:24;:30;8651:4;8626:30;;;;;;;;;;;;;;;;;;;;;;;;;:62;;;;8660:24;:28;8685:2;8660:28;;;;;;;;;;;;;;;;;;;;;;;;;8626:62;8622:2792;;;8712:1;8705:8;;8622:2792;;;8782:1;8772:6;;;;;;;;;;;:11;;;;:36;;;;;8797:11;;8787:6;:21;;8772:36;8746:132;;;;;;;;;;;;:::i;:::-;;;;;;;;;8919:1;8899:16;;;;;;;;;;;:21;;;8895:239;;8994:6;8976:8;:14;8985:4;8976:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;9035:6;9019:8;:12;9028:2;9019:12;;;;;;;;;;;;;;;;:22;;;;;;;:::i;:::-;;;;;;;;9082:2;9067:26;;9076:4;9067:26;;;9086:6;9067:26;;;;;;:::i;:::-;;;;;;;;9112:7;;;8895:239;9162:13;9154:21;;:4;:21;;;9150:2253;;9212:5;;9203:6;;:14;;;;:::i;:::-;9196:21;;9150:2253;;;9249:13;9243:19;;:2;:19;;;9239:2164;;9283:20;9306:8;:23;9323:4;9306:23;;;;;;;;;;;;;;;;9283:46;;9367:7;;9352:12;:22;:47;;;;;9398:1;9378:16;;;;;;;;;;;:21;;;9352:47;9348:1932;;;9443:7;;9428:12;:22;9424:101;;;9494:7;;9479:22;;9424:101;9569:18;9644:5;;9638:1;9627:7;;9618:6;;:16;;;;:::i;:::-;9617:22;;;;:::i;:::-;9616:33;;;;:::i;:::-;9606:5;;9591:12;:20;;;;:::i;:::-;9590:61;;;;:::i;:::-;9569:82;;9674:17;9709:13;9694:12;:28;;;;:::i;:::-;9674:48;;9766:1;9747:16;;:20;;;;;;;;;;;;;;;;;;9790:21;9828:1;9814:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9790:40;;9871:4;9853;9858:1;9853:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;9909:4;9899;9904:1;9899:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;;;9958:15;:92;;;10081:12;10124:1;10156:4;10191:15;10237;9958:321;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10367:1;10351:13;:17;10346:850;;;10423:15;:92;;;10562:1;10546:13;:17;;;;:::i;:::-;10594:1;10626:4;10669;10705:15;10423:324;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10800:11;10814:21;10800:35;;10862:15;:57;;;10928:6;10944:4;10996:1;10980:13;:17;;;;:::i;:::-;11028:1;11060;11092:7;:5;:7::i;:::-;11130:15;10862:310;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10370:826;10346:850;11237:1;11218:16;;:20;;;;;;;;;;;;;;;;;;9401:1879;;;9348:1932;11333:5;;11323:7;;:15;;;;:::i;:::-;11316:22;;9264:2090;9239:2164;;;11386:1;11379:8;;9239:2164;9150:2253;8622:2792;11483:1;11475:4;:9;11471:593;;11529:17;11567:3;11559:4;11550:6;:13;;;;:::i;:::-;11549:21;;;;:::i;:::-;11529:41;;11585:22;11619:9;11610:6;:18;;;;:::i;:::-;11585:43;;11663:6;11645:8;:14;11654:4;11645:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;11700:14;11684:8;:12;11693:2;11684:12;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;11756:9;11729:8;:23;11746:4;11729:23;;;;;;;;;;;;;;;;:36;;;;;;;:::i;:::-;;;;;;;;11808:4;11785:40;;11794:4;11785:40;;;11815:9;11785:40;;;;;;:::i;:::-;;;;;;;;11860:2;11845:34;;11854:4;11845:34;;;11864:14;11845:34;;;;;;:::i;:::-;;;;;;;;11486:405;;11471:593;;;11961:6;11943:8;:14;11952:4;11943:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;11998:6;11982:8;:12;11991:2;11982:12;;;;;;;;;;;;;;;;:22;;;;;;;:::i;:::-;;;;;;;;12041:2;12026:26;;12035:4;12026:26;;;12045:6;12026:26;;;;;;:::i;:::-;;;;;;;;11471:593;8455:3616;8352:3719;;;;:::o;1892:266::-;2000:1;1980:22;;:8;:22;;;1958:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;2113:8;2084:38;;2105:6;;;;;;;;;;2084:38;;;;;;;;;;;;2142:8;2133:6;;:17;;;;;;;;;;;;;;;;;;1892:266;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:329::-;5599:6;5648:2;5636:9;5627:7;5623:23;5619:32;5616:119;;;5654:79;;:::i;:::-;5616:119;5774:1;5799:53;5844:7;5835:6;5824:9;5820:22;5799:53;:::i;:::-;5789:63;;5745:117;5540:329;;;;:::o;5875:619::-;5952:6;5960;5968;6017:2;6005:9;5996:7;5992:23;5988:32;5985:119;;;6023:79;;:::i;:::-;5985:119;6143:1;6168:53;6213:7;6204:6;6193:9;6189:22;6168:53;:::i;:::-;6158:63;;6114:117;6270:2;6296:53;6341:7;6332:6;6321:9;6317:22;6296:53;:::i;:::-;6286:63;;6241:118;6398:2;6424:53;6469:7;6460:6;6449:9;6445:22;6424:53;:::i;:::-;6414:63;;6369:118;5875:619;;;;;:::o;6500:474::-;6568:6;6576;6625:2;6613:9;6604:7;6600:23;6596:32;6593:119;;;6631:79;;:::i;:::-;6593:119;6751:1;6776:53;6821:7;6812:6;6801:9;6797:22;6776:53;:::i;:::-;6766:63;;6722:117;6878:2;6904:53;6949:7;6940:6;6929:9;6925:22;6904:53;:::i;:::-;6894:63;;6849:118;6500:474;;;;;:::o;6980:180::-;7028:77;7025:1;7018:88;7125:4;7122:1;7115:15;7149:4;7146:1;7139:15;7166:194;7206:4;7226:20;7244:1;7226:20;:::i;:::-;7221:25;;7260:20;7278:1;7260:20;:::i;:::-;7255:25;;7304:1;7301;7297:9;7289:17;;7328:1;7322:4;7319:11;7316:37;;;7333:18;;:::i;:::-;7316:37;7166:194;;;;:::o;7366:182::-;7506:34;7502:1;7494:6;7490:14;7483:58;7366:182;:::o;7554:366::-;7696:3;7717:67;7781:2;7776:3;7717:67;:::i;:::-;7710:74;;7793:93;7882:3;7793:93;:::i;:::-;7911:2;7906:3;7902:12;7895:19;;7554:366;;;:::o;7926:419::-;8092:4;8130:2;8119:9;8115:18;8107:26;;8179:9;8173:4;8169:20;8165:1;8154:9;8150:17;8143:47;8207:131;8333:4;8207:131;:::i;:::-;8199:139;;7926:419;;;:::o;8351:222::-;8491:34;8487:1;8479:6;8475:14;8468:58;8560:5;8555:2;8547:6;8543:15;8536:30;8351:222;:::o;8579:366::-;8721:3;8742:67;8806:2;8801:3;8742:67;:::i;:::-;8735:74;;8818:93;8907:3;8818:93;:::i;:::-;8936:2;8931:3;8927:12;8920:19;;8579:366;;;:::o;8951:419::-;9117:4;9155:2;9144:9;9140:18;9132:26;;9204:9;9198:4;9194:20;9190:1;9179:9;9175:17;9168:47;9232:131;9358:4;9232:131;:::i;:::-;9224:139;;8951:419;;;:::o;9376:227::-;9516:34;9512:1;9504:6;9500:14;9493:58;9585:10;9580:2;9572:6;9568:15;9561:35;9376:227;:::o;9609:366::-;9751:3;9772:67;9836:2;9831:3;9772:67;:::i;:::-;9765:74;;9848:93;9937:3;9848:93;:::i;:::-;9966:2;9961:3;9957:12;9950:19;;9609:366;;;:::o;9981:419::-;10147:4;10185:2;10174:9;10170:18;10162:26;;10234:9;10228:4;10224:20;10220:1;10209:9;10205:17;10198:47;10262:131;10388:4;10262:131;:::i;:::-;10254:139;;9981:419;;;:::o;10406:410::-;10446:7;10469:20;10487:1;10469:20;:::i;:::-;10464:25;;10503:20;10521:1;10503:20;:::i;:::-;10498:25;;10558:1;10555;10551:9;10580:30;10598:11;10580:30;:::i;:::-;10569:41;;10759:1;10750:7;10746:15;10743:1;10740:22;10720:1;10713:9;10693:83;10670:139;;10789:18;;:::i;:::-;10670:139;10454:362;10406:410;;;;:::o;10822:222::-;10962:34;10958:1;10950:6;10946:14;10939:58;11031:5;11026:2;11018:6;11014:15;11007:30;10822:222;:::o;11050:366::-;11192:3;11213:67;11277:2;11272:3;11213:67;:::i;:::-;11206:74;;11289:93;11378:3;11289:93;:::i;:::-;11407:2;11402:3;11398:12;11391:19;;11050:366;;;:::o;11422:419::-;11588:4;11626:2;11615:9;11611:18;11603:26;;11675:9;11669:4;11665:20;11661:1;11650:9;11646:17;11639:47;11703:131;11829:4;11703:131;:::i;:::-;11695:139;;11422:419;;;:::o;11847:224::-;11987:34;11983:1;11975:6;11971:14;11964:58;12056:7;12051:2;12043:6;12039:15;12032:32;11847:224;:::o;12077:366::-;12219:3;12240:67;12304:2;12299:3;12240:67;:::i;:::-;12233:74;;12316:93;12405:3;12316:93;:::i;:::-;12434:2;12429:3;12425:12;12418:19;;12077:366;;;:::o;12449:419::-;12615:4;12653:2;12642:9;12638:18;12630:26;;12702:9;12696:4;12692:20;12688:1;12677:9;12673:17;12666:47;12730:131;12856:4;12730:131;:::i;:::-;12722:139;;12449:419;;;:::o;12874:176::-;13014:28;13010:1;13002:6;12998:14;12991:52;12874:176;:::o;13056:366::-;13198:3;13219:67;13283:2;13278:3;13219:67;:::i;:::-;13212:74;;13295:93;13384:3;13295:93;:::i;:::-;13413:2;13408:3;13404:12;13397:19;;13056:366;;;:::o;13428:419::-;13594:4;13632:2;13621:9;13617:18;13609:26;;13681:9;13675:4;13671:20;13667:1;13656:9;13652:17;13645:47;13709:131;13835:4;13709:131;:::i;:::-;13701:139;;13428:419;;;:::o;13853:223::-;13993:34;13989:1;13981:6;13977:14;13970:58;14062:6;14057:2;14049:6;14045:15;14038:31;13853:223;:::o;14082:366::-;14224:3;14245:67;14309:2;14304:3;14245:67;:::i;:::-;14238:74;;14321:93;14410:3;14321:93;:::i;:::-;14439:2;14434:3;14430:12;14423:19;;14082:366;;;:::o;14454:419::-;14620:4;14658:2;14647:9;14643:18;14635:26;;14707:9;14701:4;14697:20;14693:1;14682:9;14678:17;14671:47;14735:131;14861:4;14735:131;:::i;:::-;14727:139;;14454:419;;;:::o;14879:221::-;15019:34;15015:1;15007:6;15003:14;14996:58;15088:4;15083:2;15075:6;15071:15;15064:29;14879:221;:::o;15106:366::-;15248:3;15269:67;15333:2;15328:3;15269:67;:::i;:::-;15262:74;;15345:93;15434:3;15345:93;:::i;:::-;15463:2;15458:3;15454:12;15447:19;;15106:366;;;:::o;15478:419::-;15644:4;15682:2;15671:9;15667:18;15659:26;;15731:9;15725:4;15721:20;15717:1;15706:9;15702:17;15695:47;15759:131;15885:4;15759:131;:::i;:::-;15751:139;;15478:419;;;:::o;15903:224::-;16043:34;16039:1;16031:6;16027:14;16020:58;16112:7;16107:2;16099:6;16095:15;16088:32;15903:224;:::o;16133:366::-;16275:3;16296:67;16360:2;16355:3;16296:67;:::i;:::-;16289:74;;16372:93;16461:3;16372:93;:::i;:::-;16490:2;16485:3;16481:12;16474:19;;16133:366;;;:::o;16505:419::-;16671:4;16709:2;16698:9;16694:18;16686:26;;16758:9;16752:4;16748:20;16744:1;16733:9;16729:17;16722:47;16786:131;16912:4;16786:131;:::i;:::-;16778:139;;16505:419;;;:::o;16930:166::-;17070:18;17066:1;17058:6;17054:14;17047:42;16930:166;:::o;17102:366::-;17244:3;17265:67;17329:2;17324:3;17265:67;:::i;:::-;17258:74;;17341:93;17430:3;17341:93;:::i;:::-;17459:2;17454:3;17450:12;17443:19;;17102:366;;;:::o;17474:419::-;17640:4;17678:2;17667:9;17663:18;17655:26;;17727:9;17721:4;17717:20;17713:1;17702:9;17698:17;17691:47;17755:131;17881:4;17755:131;:::i;:::-;17747:139;;17474:419;;;:::o;17899:221::-;18039:34;18035:1;18027:6;18023:14;18016:58;18108:4;18103:2;18095:6;18091:15;18084:29;17899:221;:::o;18126:366::-;18268:3;18289:67;18353:2;18348:3;18289:67;:::i;:::-;18282:74;;18365:93;18454:3;18365:93;:::i;:::-;18483:2;18478:3;18474:12;18467:19;;18126:366;;;:::o;18498:419::-;18664:4;18702:2;18691:9;18687:18;18679:26;;18751:9;18745:4;18741:20;18737:1;18726:9;18722:17;18715:47;18779:131;18905:4;18779:131;:::i;:::-;18771:139;;18498:419;;;:::o;18923:191::-;18963:3;18982:20;19000:1;18982:20;:::i;:::-;18977:25;;19016:20;19034:1;19016:20;:::i;:::-;19011:25;;19059:1;19056;19052:9;19045:16;;19080:3;19077:1;19074:10;19071:36;;;19087:18;;:::i;:::-;19071:36;18923:191;;;;:::o;19120:180::-;19168:77;19165:1;19158:88;19265:4;19262:1;19255:15;19289:4;19286:1;19279:15;19306:185;19346:1;19363:20;19381:1;19363:20;:::i;:::-;19358:25;;19397:20;19415:1;19397:20;:::i;:::-;19392:25;;19436:1;19426:35;;19441:18;;:::i;:::-;19426:35;19483:1;19480;19476:9;19471:14;;19306:185;;;;:::o;19497:180::-;19545:77;19542:1;19535:88;19642:4;19639:1;19632:15;19666:4;19663:1;19656:15;19683:180;19731:77;19728:1;19721:88;19828:4;19825:1;19818:15;19852:4;19849:1;19842:15;19869:85;19914:7;19943:5;19932:16;;19869:85;;;:::o;19960:60::-;19988:3;20009:5;20002:12;;19960:60;;;:::o;20026:158::-;20084:9;20117:61;20135:42;20144:32;20170:5;20144:32;:::i;:::-;20135:42;:::i;:::-;20117:61;:::i;:::-;20104:74;;20026:158;;;:::o;20190:147::-;20285:45;20324:5;20285:45;:::i;:::-;20280:3;20273:58;20190:147;;:::o;20343:114::-;20410:6;20444:5;20438:12;20428:22;;20343:114;;;:::o;20463:184::-;20562:11;20596:6;20591:3;20584:19;20636:4;20631:3;20627:14;20612:29;;20463:184;;;;:::o;20653:132::-;20720:4;20743:3;20735:11;;20773:4;20768:3;20764:14;20756:22;;20653:132;;;:::o;20791:108::-;20868:24;20886:5;20868:24;:::i;:::-;20863:3;20856:37;20791:108;;:::o;20905:179::-;20974:10;20995:46;21037:3;21029:6;20995:46;:::i;:::-;21073:4;21068:3;21064:14;21050:28;;20905:179;;;;:::o;21090:113::-;21160:4;21192;21187:3;21183:14;21175:22;;21090:113;;;:::o;21239:732::-;21358:3;21387:54;21435:5;21387:54;:::i;:::-;21457:86;21536:6;21531:3;21457:86;:::i;:::-;21450:93;;21567:56;21617:5;21567:56;:::i;:::-;21646:7;21677:1;21662:284;21687:6;21684:1;21681:13;21662:284;;;21763:6;21757:13;21790:63;21849:3;21834:13;21790:63;:::i;:::-;21783:70;;21876:60;21929:6;21876:60;:::i;:::-;21866:70;;21722:224;21709:1;21706;21702:9;21697:14;;21662:284;;;21666:14;21962:3;21955:10;;21363:608;;;21239:732;;;;:::o;21977:142::-;22027:9;22060:53;22078:34;22087:24;22105:5;22087:24;:::i;:::-;22078:34;:::i;:::-;22060:53;:::i;:::-;22047:66;;21977:142;;;:::o;22125:126::-;22175:9;22208:37;22239:5;22208:37;:::i;:::-;22195:50;;22125:126;;;:::o;22257:134::-;22315:9;22348:37;22379:5;22348:37;:::i;:::-;22335:50;;22257:134;;;:::o;22397:147::-;22492:45;22531:5;22492:45;:::i;:::-;22487:3;22480:58;22397:147;;:::o;22550:847::-;22821:4;22859:3;22848:9;22844:19;22836:27;;22873:71;22941:1;22930:9;22926:17;22917:6;22873:71;:::i;:::-;22954:80;23030:2;23019:9;23015:18;23006:6;22954:80;:::i;:::-;23081:9;23075:4;23071:20;23066:2;23055:9;23051:18;23044:48;23109:108;23212:4;23203:6;23109:108;:::i;:::-;23101:116;;23227:80;23303:2;23292:9;23288:18;23279:6;23227:80;:::i;:::-;23317:73;23385:3;23374:9;23370:19;23361:6;23317:73;:::i;:::-;22550:847;;;;;;;;:::o;23403:831::-;23666:4;23704:3;23693:9;23689:19;23681:27;;23718:71;23786:1;23775:9;23771:17;23762:6;23718:71;:::i;:::-;23799:80;23875:2;23864:9;23860:18;23851:6;23799:80;:::i;:::-;23926:9;23920:4;23916:20;23911:2;23900:9;23896:18;23889:48;23954:108;24057:4;24048:6;23954:108;:::i;:::-;23946:116;;24072:72;24140:2;24129:9;24125:18;24116:6;24072:72;:::i;:::-;24154:73;24222:3;24211:9;24207:19;24198:6;24154:73;:::i;:::-;23403:831;;;;;;;;:::o;24240:807::-;24489:4;24527:3;24516:9;24512:19;24504:27;;24541:71;24609:1;24598:9;24594:17;24585:6;24541:71;:::i;:::-;24622:72;24690:2;24679:9;24675:18;24666:6;24622:72;:::i;:::-;24704:80;24780:2;24769:9;24765:18;24756:6;24704:80;:::i;:::-;24794;24870:2;24859:9;24855:18;24846:6;24794:80;:::i;:::-;24884:73;24952:3;24941:9;24937:19;24928:6;24884:73;:::i;:::-;24967;25035:3;25024:9;25020:19;25011:6;24967:73;:::i;:::-;24240:807;;;;;;;;;:::o;25053:143::-;25110:5;25141:6;25135:13;25126:22;;25157:33;25184:5;25157:33;:::i;:::-;25053:143;;;;:::o;25202:663::-;25290:6;25298;25306;25355:2;25343:9;25334:7;25330:23;25326:32;25323:119;;;25361:79;;:::i;:::-;25323:119;25481:1;25506:64;25562:7;25553:6;25542:9;25538:22;25506:64;:::i;:::-;25496:74;;25452:128;25619:2;25645:64;25701:7;25692:6;25681:9;25677:22;25645:64;:::i;:::-;25635:74;;25590:129;25758:2;25784:64;25840:7;25831:6;25820:9;25816:22;25784:64;:::i;:::-;25774:74;;25729:129;25202:663;;;;;:::o;25871:225::-;26011:34;26007:1;25999:6;25995:14;25988:58;26080:8;26075:2;26067:6;26063:15;26056:33;25871:225;:::o;26102:366::-;26244:3;26265:67;26329:2;26324:3;26265:67;:::i;:::-;26258:74;;26341:93;26430:3;26341:93;:::i;:::-;26459:2;26454:3;26450:12;26443:19;;26102:366;;;:::o;26474:419::-;26640:4;26678:2;26667:9;26663:18;26655:26;;26727:9;26721:4;26717:20;26713:1;26702:9;26698:17;26691:47;26755:131;26881:4;26755:131;:::i;:::-;26747:139;;26474:419;;;:::o

Swarm Source

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