ETH Price: $2,066.25 (-15.56%)

Token

CHROLLO LUCOLFER (Lucilfer)
 

Overview

Max Total Supply

100,000,000 Lucilfer

Holders

18

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
500,042.556636145 Lucilfer

Value
$0.00
0x3bD126b812e1F9a4D4EE84fd2F5BD2dc4798E6E4
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:
Lucilfer

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/**

CHROLLO LUCOLFER 🤖

Chrollo Lucilfer クロロ゠ルシルフル

👉🏻TELEGRAM: https://t.me/Chrollolucolfer
👉🏻WEBSITE:https://thechrollolucilfer.website/

*/

pragma solidity 0.8.4;
// SPDX-License-Identifier: UNLICENSED
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

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

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

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

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

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

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

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

}

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

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

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

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

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

}

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

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

contract Lucilfer is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 100000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;

    uint256 private _feeAddr1;
    uint256 private _feeAddr2;
    uint256 private _standardTax;
    address payable private _feeAddrWallet;

    string private constant _name = unicode"CHROLLO LUCOLFER";
    string private constant _symbol = unicode"Lucilfer";
    uint8 private constant _decimals = 9;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = 2000000 * 10**9;
    uint256 private _maxWalletSize = 2000000 * 10**9;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _feeAddrWallet = payable(_msgSender());
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet] = true;
        _standardTax = 6;

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

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

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

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

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }

    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

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

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


        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            _feeAddr1 = 0;
            _feeAddr2 = _standardTax;
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
                // Cooldown
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");

            }


            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>0) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }else{
          _feeAddr1 = 0;
          _feeAddr2 = 0;
        }

        _tokenTransfer(from,to,amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function setStandardTax(uint256 newTax) external onlyOwner{
      require(newTax<_standardTax);
      _standardTax=newTax;
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
    }

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

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _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);
        swapEnabled = true;
        cooldownEnabled = true;

        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function manualswap() external {
        require(_msgSender() == _feeAddrWallet);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == _feeAddrWallet);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }


    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

	function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"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":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTax","type":"uint256"}],"name":"setStandardTax","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"}]

608060405267016345785d8a00006000196200001c919062000462565b6000196200002b91906200041d565b6008556000600f60156101000a81548160ff0219169083151502179055506000600f60166101000a81548160ff0219169083151502179055506000600f60176101000a81548160ff02191690831515021790555066071afd498d000060105566071afd498d0000601155348015620000a257600080fd5b506000620000b5620003be60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35062000163620003be60201b60201c565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060085460026000620001ba620003be60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560006200020e620003c660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506006600c8190555062000349620003be60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef67016345785d8a0000604051620003b0919062000400565b60405180910390a3620004f8565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620003fa8162000458565b82525050565b6000602082019050620004176000830184620003ef565b92915050565b60006200042a8262000458565b9150620004378362000458565b9250828210156200044d576200044c6200049a565b5b828203905092915050565b6000819050919050565b60006200046f8262000458565b91506200047c8362000458565b9250826200048f576200048e620004c9565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b61301980620005086000396000f3fe6080604052600436106101025760003560e01c8063715018a61161009557806395d89b411161006457806395d89b4114610308578063a9059cbb14610333578063c3c8cd8014610370578063c9567bf914610387578063dd62ed3e1461039e57610109565b8063715018a614610286578063751039fc1461029d578063843f7be2146102b45780638da5cb5b146102dd57610109565b8063313ce567116100d1578063313ce567146101de5780635932ead1146102095780636fc3eaec1461023257806370a082311461024957610109565b806306fdde031461010e578063095ea7b31461013957806318160ddd1461017657806323b872dd146101a157610109565b3661010957005b600080fd5b34801561011a57600080fd5b506101236103db565b60405161013091906127db565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b919061233f565b610418565b60405161016d91906127c0565b60405180910390f35b34801561018257600080fd5b5061018b610436565b604051610198919061297d565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c391906122f0565b610446565b6040516101d591906127c0565b60405180910390f35b3480156101ea57600080fd5b506101f361051f565b60405161020091906129f2565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b919061237b565b610528565b005b34801561023e57600080fd5b506102476105da565b005b34801561025557600080fd5b50610270600480360381019061026b9190612262565b61064c565b60405161027d919061297d565b60405180910390f35b34801561029257600080fd5b5061029b61069d565b005b3480156102a957600080fd5b506102b26107f0565b005b3480156102c057600080fd5b506102db60048036038101906102d691906123cd565b6108a5565b005b3480156102e957600080fd5b506102f2610952565b6040516102ff91906126f2565b60405180910390f35b34801561031457600080fd5b5061031d61097b565b60405161032a91906127db565b60405180910390f35b34801561033f57600080fd5b5061035a6004803603810190610355919061233f565b6109b8565b60405161036791906127c0565b60405180910390f35b34801561037c57600080fd5b506103856109d6565b005b34801561039357600080fd5b5061039c610a50565b005b3480156103aa57600080fd5b506103c560048036038101906103c091906122b4565b610f9c565b6040516103d2919061297d565b60405180910390f35b60606040518060400160405280601081526020017f4348524f4c4c4f204c55434f4c46455200000000000000000000000000000000815250905090565b600061042c610425611023565b848461102b565b6001905092915050565b600067016345785d8a0000905090565b60006104538484846111f6565b6105148461045f611023565b61050f85604051806060016040528060288152602001612fbc60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104c5611023565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116f99092919063ffffffff16565b61102b565b600190509392505050565b60006009905090565b610530611023565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b4906128bd565b60405180910390fd5b80600f60176101000a81548160ff02191690831515021790555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661061b611023565b73ffffffffffffffffffffffffffffffffffffffff161461063b57600080fd5b60004790506106498161175d565b50565b6000610696600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117c9565b9050919050565b6106a5611023565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610732576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610729906128bd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107f8611023565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610885576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087c906128bd565b60405180910390fd5b67016345785d8a000060108190555067016345785d8a0000601181905550565b6108ad611023565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461093a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610931906128bd565b60405180910390fd5b600c54811061094857600080fd5b80600c8190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f4c7563696c666572000000000000000000000000000000000000000000000000815250905090565b60006109cc6109c5611023565b84846111f6565b6001905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a17611023565b73ffffffffffffffffffffffffffffffffffffffff1614610a3757600080fd5b6000610a423061064c565b9050610a4d81611837565b50565b610a58611023565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610adc906128bd565b60405180910390fd5b600f60149054906101000a900460ff1615610b35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2c9061295d565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bc430600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1667016345785d8a000061102b565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610c0a57600080fd5b505afa158015610c1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c42919061228b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610ca457600080fd5b505afa158015610cb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdc919061228b565b6040518363ffffffff1660e01b8152600401610cf992919061270d565b602060405180830381600087803b158015610d1357600080fd5b505af1158015610d27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4b919061228b565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610dd43061064c565b600080610ddf610952565b426040518863ffffffff1660e01b8152600401610e019695949392919061275f565b6060604051808303818588803b158015610e1a57600080fd5b505af1158015610e2e573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e5391906123f6565b5050506001600f60166101000a81548160ff0219169083151502179055506001600f60176101000a81548160ff0219169083151502179055506001600f60146101000a81548160ff021916908315150217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f46929190612736565b602060405180830381600087803b158015610f6057600080fd5b505af1158015610f74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9891906123a4565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561109b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110929061293d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561110b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111029061285d565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111e9919061297d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125d906128fd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cd906127fd565b60405180910390fd5b60008111611319576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611310906128dd565b60405180910390fd5b611321610952565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561138f575061135f610952565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156116d857600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114385750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61144157600080fd5b6000600a81905550600c54600b81905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156114fd5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115535750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561156b5750600f60179054906101000a900460ff165b1561160e576010548111156115b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ac9061281d565b60405180910390fd5b601154816115c28461064c565b6115cc9190612a62565b111561160d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116049061291d565b60405180910390fd5b5b60006116193061064c565b9050600f60159054906101000a900460ff161580156116865750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561169e5750600f60169054906101000a900460ff165b80156116aa5750600081115b156116d2576116b881611837565b600047905060008111156116d0576116cf4761175d565b5b505b506116e9565b6000600a819055506000600b819055505b6116f4838383611b31565b505050565b6000838311158290611741576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173891906127db565b60405180910390fd5b50600083856117509190612b43565b9050809150509392505050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156117c5573d6000803e3d6000fd5b5050565b6000600854821115611810576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118079061283d565b60405180910390fd5b600061181a611b41565b905061182f8184611b6c90919063ffffffff16565b915050919050565b6001600f60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611895577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156118c35781602001602082028036833780820191505090505b5090503081600081518110611901577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156119a357600080fd5b505afa1580156119b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119db919061228b565b81600181518110611a15577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a7c30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461102b565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611ae0959493929190612998565b600060405180830381600087803b158015611afa57600080fd5b505af1158015611b0e573d6000803e3d6000fd5b50505050506000600f60156101000a81548160ff02191690831515021790555050565b611b3c838383611bb6565b505050565b6000806000611b4e611d81565b91509150611b658183611b6c90919063ffffffff16565b9250505090565b6000611bae83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611de0565b905092915050565b600080600080600080611bc887611e43565b955095509550955095509550611c2686600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611eab90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cbb85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ef590919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d0781611f53565b611d118483612010565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611d6e919061297d565b60405180910390a3505050505050505050565b60008060006008549050600067016345785d8a00009050611db567016345785d8a0000600854611b6c90919063ffffffff16565b821015611dd35760085467016345785d8a0000935093505050611ddc565b81819350935050505b9091565b60008083118290611e27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1e91906127db565b60405180910390fd5b5060008385611e369190612ab8565b9050809150509392505050565b6000806000806000806000806000611e608a600a54600b5461204a565b9250925092506000611e70611b41565b90506000806000611e838e8787876120e0565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611eed83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116f9565b905092915050565b6000808284611f049190612a62565b905083811015611f49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f409061287d565b60405180910390fd5b8091505092915050565b6000611f5d611b41565b90506000611f74828461216990919063ffffffff16565b9050611fc881600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ef590919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61202582600854611eab90919063ffffffff16565b60088190555061204081600954611ef590919063ffffffff16565b6009819055505050565b6000806000806120766064612068888a61216990919063ffffffff16565b611b6c90919063ffffffff16565b905060006120a06064612092888b61216990919063ffffffff16565b611b6c90919063ffffffff16565b905060006120c9826120bb858c611eab90919063ffffffff16565b611eab90919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806120f9858961216990919063ffffffff16565b90506000612110868961216990919063ffffffff16565b90506000612127878961216990919063ffffffff16565b90506000612150826121428587611eab90919063ffffffff16565b611eab90919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083141561217c57600090506121de565b6000828461218a9190612ae9565b90508284826121999190612ab8565b146121d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d09061289d565b60405180910390fd5b809150505b92915050565b6000813590506121f381612f76565b92915050565b60008151905061220881612f76565b92915050565b60008135905061221d81612f8d565b92915050565b60008151905061223281612f8d565b92915050565b60008135905061224781612fa4565b92915050565b60008151905061225c81612fa4565b92915050565b60006020828403121561227457600080fd5b6000612282848285016121e4565b91505092915050565b60006020828403121561229d57600080fd5b60006122ab848285016121f9565b91505092915050565b600080604083850312156122c757600080fd5b60006122d5858286016121e4565b92505060206122e6858286016121e4565b9150509250929050565b60008060006060848603121561230557600080fd5b6000612313868287016121e4565b9350506020612324868287016121e4565b925050604061233586828701612238565b9150509250925092565b6000806040838503121561235257600080fd5b6000612360858286016121e4565b925050602061237185828601612238565b9150509250929050565b60006020828403121561238d57600080fd5b600061239b8482850161220e565b91505092915050565b6000602082840312156123b657600080fd5b60006123c484828501612223565b91505092915050565b6000602082840312156123df57600080fd5b60006123ed84828501612238565b91505092915050565b60008060006060848603121561240b57600080fd5b60006124198682870161224d565b935050602061242a8682870161224d565b925050604061243b8682870161224d565b9150509250925092565b6000612451838361245d565b60208301905092915050565b61246681612b77565b82525050565b61247581612b77565b82525050565b600061248682612a1d565b6124908185612a40565b935061249b83612a0d565b8060005b838110156124cc5781516124b38882612445565b97506124be83612a33565b92505060018101905061249f565b5085935050505092915050565b6124e281612b89565b82525050565b6124f181612bcc565b82525050565b600061250282612a28565b61250c8185612a51565b935061251c818560208601612bde565b61252581612c6f565b840191505092915050565b600061253d602383612a51565b915061254882612c80565b604082019050919050565b6000612560601983612a51565b915061256b82612ccf565b602082019050919050565b6000612583602a83612a51565b915061258e82612cf8565b604082019050919050565b60006125a6602283612a51565b91506125b182612d47565b604082019050919050565b60006125c9601b83612a51565b91506125d482612d96565b602082019050919050565b60006125ec602183612a51565b91506125f782612dbf565b604082019050919050565b600061260f602083612a51565b915061261a82612e0e565b602082019050919050565b6000612632602983612a51565b915061263d82612e37565b604082019050919050565b6000612655602583612a51565b915061266082612e86565b604082019050919050565b6000612678601a83612a51565b915061268382612ed5565b602082019050919050565b600061269b602483612a51565b91506126a682612efe565b604082019050919050565b60006126be601783612a51565b91506126c982612f4d565b602082019050919050565b6126dd81612bb5565b82525050565b6126ec81612bbf565b82525050565b6000602082019050612707600083018461246c565b92915050565b6000604082019050612722600083018561246c565b61272f602083018461246c565b9392505050565b600060408201905061274b600083018561246c565b61275860208301846126d4565b9392505050565b600060c082019050612774600083018961246c565b61278160208301886126d4565b61278e60408301876124e8565b61279b60608301866124e8565b6127a8608083018561246c565b6127b560a08301846126d4565b979650505050505050565b60006020820190506127d560008301846124d9565b92915050565b600060208201905081810360008301526127f581846124f7565b905092915050565b6000602082019050818103600083015261281681612530565b9050919050565b6000602082019050818103600083015261283681612553565b9050919050565b6000602082019050818103600083015261285681612576565b9050919050565b6000602082019050818103600083015261287681612599565b9050919050565b60006020820190508181036000830152612896816125bc565b9050919050565b600060208201905081810360008301526128b6816125df565b9050919050565b600060208201905081810360008301526128d681612602565b9050919050565b600060208201905081810360008301526128f681612625565b9050919050565b6000602082019050818103600083015261291681612648565b9050919050565b600060208201905081810360008301526129368161266b565b9050919050565b600060208201905081810360008301526129568161268e565b9050919050565b60006020820190508181036000830152612976816126b1565b9050919050565b600060208201905061299260008301846126d4565b92915050565b600060a0820190506129ad60008301886126d4565b6129ba60208301876124e8565b81810360408301526129cc818661247b565b90506129db606083018561246c565b6129e860808301846126d4565b9695505050505050565b6000602082019050612a0760008301846126e3565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612a6d82612bb5565b9150612a7883612bb5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612aad57612aac612c11565b5b828201905092915050565b6000612ac382612bb5565b9150612ace83612bb5565b925082612ade57612add612c40565b5b828204905092915050565b6000612af482612bb5565b9150612aff83612bb5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612b3857612b37612c11565b5b828202905092915050565b6000612b4e82612bb5565b9150612b5983612bb5565b925082821015612b6c57612b6b612c11565b5b828203905092915050565b6000612b8282612b95565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612bd782612bb5565b9050919050565b60005b83811015612bfc578082015181840152602081019050612be1565b83811115612c0b576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b612f7f81612b77565b8114612f8a57600080fd5b50565b612f9681612b89565b8114612fa157600080fd5b50565b612fad81612bb5565b8114612fb857600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122030a3abf38b29f701643c530c0812e48f4ebf9e303dbe8cfbc760da63955bb8bb64736f6c63430008040033

Deployed Bytecode

0x6080604052600436106101025760003560e01c8063715018a61161009557806395d89b411161006457806395d89b4114610308578063a9059cbb14610333578063c3c8cd8014610370578063c9567bf914610387578063dd62ed3e1461039e57610109565b8063715018a614610286578063751039fc1461029d578063843f7be2146102b45780638da5cb5b146102dd57610109565b8063313ce567116100d1578063313ce567146101de5780635932ead1146102095780636fc3eaec1461023257806370a082311461024957610109565b806306fdde031461010e578063095ea7b31461013957806318160ddd1461017657806323b872dd146101a157610109565b3661010957005b600080fd5b34801561011a57600080fd5b506101236103db565b60405161013091906127db565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b919061233f565b610418565b60405161016d91906127c0565b60405180910390f35b34801561018257600080fd5b5061018b610436565b604051610198919061297d565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c391906122f0565b610446565b6040516101d591906127c0565b60405180910390f35b3480156101ea57600080fd5b506101f361051f565b60405161020091906129f2565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b919061237b565b610528565b005b34801561023e57600080fd5b506102476105da565b005b34801561025557600080fd5b50610270600480360381019061026b9190612262565b61064c565b60405161027d919061297d565b60405180910390f35b34801561029257600080fd5b5061029b61069d565b005b3480156102a957600080fd5b506102b26107f0565b005b3480156102c057600080fd5b506102db60048036038101906102d691906123cd565b6108a5565b005b3480156102e957600080fd5b506102f2610952565b6040516102ff91906126f2565b60405180910390f35b34801561031457600080fd5b5061031d61097b565b60405161032a91906127db565b60405180910390f35b34801561033f57600080fd5b5061035a6004803603810190610355919061233f565b6109b8565b60405161036791906127c0565b60405180910390f35b34801561037c57600080fd5b506103856109d6565b005b34801561039357600080fd5b5061039c610a50565b005b3480156103aa57600080fd5b506103c560048036038101906103c091906122b4565b610f9c565b6040516103d2919061297d565b60405180910390f35b60606040518060400160405280601081526020017f4348524f4c4c4f204c55434f4c46455200000000000000000000000000000000815250905090565b600061042c610425611023565b848461102b565b6001905092915050565b600067016345785d8a0000905090565b60006104538484846111f6565b6105148461045f611023565b61050f85604051806060016040528060288152602001612fbc60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104c5611023565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116f99092919063ffffffff16565b61102b565b600190509392505050565b60006009905090565b610530611023565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b4906128bd565b60405180910390fd5b80600f60176101000a81548160ff02191690831515021790555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661061b611023565b73ffffffffffffffffffffffffffffffffffffffff161461063b57600080fd5b60004790506106498161175d565b50565b6000610696600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117c9565b9050919050565b6106a5611023565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610732576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610729906128bd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107f8611023565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610885576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087c906128bd565b60405180910390fd5b67016345785d8a000060108190555067016345785d8a0000601181905550565b6108ad611023565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461093a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610931906128bd565b60405180910390fd5b600c54811061094857600080fd5b80600c8190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f4c7563696c666572000000000000000000000000000000000000000000000000815250905090565b60006109cc6109c5611023565b84846111f6565b6001905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a17611023565b73ffffffffffffffffffffffffffffffffffffffff1614610a3757600080fd5b6000610a423061064c565b9050610a4d81611837565b50565b610a58611023565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610adc906128bd565b60405180910390fd5b600f60149054906101000a900460ff1615610b35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2c9061295d565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bc430600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1667016345785d8a000061102b565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610c0a57600080fd5b505afa158015610c1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c42919061228b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610ca457600080fd5b505afa158015610cb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdc919061228b565b6040518363ffffffff1660e01b8152600401610cf992919061270d565b602060405180830381600087803b158015610d1357600080fd5b505af1158015610d27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4b919061228b565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610dd43061064c565b600080610ddf610952565b426040518863ffffffff1660e01b8152600401610e019695949392919061275f565b6060604051808303818588803b158015610e1a57600080fd5b505af1158015610e2e573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e5391906123f6565b5050506001600f60166101000a81548160ff0219169083151502179055506001600f60176101000a81548160ff0219169083151502179055506001600f60146101000a81548160ff021916908315150217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f46929190612736565b602060405180830381600087803b158015610f6057600080fd5b505af1158015610f74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9891906123a4565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561109b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110929061293d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561110b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111029061285d565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111e9919061297d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125d906128fd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cd906127fd565b60405180910390fd5b60008111611319576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611310906128dd565b60405180910390fd5b611321610952565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561138f575061135f610952565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156116d857600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114385750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61144157600080fd5b6000600a81905550600c54600b81905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156114fd5750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115535750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561156b5750600f60179054906101000a900460ff165b1561160e576010548111156115b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ac9061281d565b60405180910390fd5b601154816115c28461064c565b6115cc9190612a62565b111561160d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116049061291d565b60405180910390fd5b5b60006116193061064c565b9050600f60159054906101000a900460ff161580156116865750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561169e5750600f60169054906101000a900460ff165b80156116aa5750600081115b156116d2576116b881611837565b600047905060008111156116d0576116cf4761175d565b5b505b506116e9565b6000600a819055506000600b819055505b6116f4838383611b31565b505050565b6000838311158290611741576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173891906127db565b60405180910390fd5b50600083856117509190612b43565b9050809150509392505050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156117c5573d6000803e3d6000fd5b5050565b6000600854821115611810576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118079061283d565b60405180910390fd5b600061181a611b41565b905061182f8184611b6c90919063ffffffff16565b915050919050565b6001600f60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611895577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156118c35781602001602082028036833780820191505090505b5090503081600081518110611901577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156119a357600080fd5b505afa1580156119b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119db919061228b565b81600181518110611a15577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a7c30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461102b565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611ae0959493929190612998565b600060405180830381600087803b158015611afa57600080fd5b505af1158015611b0e573d6000803e3d6000fd5b50505050506000600f60156101000a81548160ff02191690831515021790555050565b611b3c838383611bb6565b505050565b6000806000611b4e611d81565b91509150611b658183611b6c90919063ffffffff16565b9250505090565b6000611bae83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611de0565b905092915050565b600080600080600080611bc887611e43565b955095509550955095509550611c2686600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611eab90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cbb85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ef590919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d0781611f53565b611d118483612010565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611d6e919061297d565b60405180910390a3505050505050505050565b60008060006008549050600067016345785d8a00009050611db567016345785d8a0000600854611b6c90919063ffffffff16565b821015611dd35760085467016345785d8a0000935093505050611ddc565b81819350935050505b9091565b60008083118290611e27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1e91906127db565b60405180910390fd5b5060008385611e369190612ab8565b9050809150509392505050565b6000806000806000806000806000611e608a600a54600b5461204a565b9250925092506000611e70611b41565b90506000806000611e838e8787876120e0565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611eed83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116f9565b905092915050565b6000808284611f049190612a62565b905083811015611f49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f409061287d565b60405180910390fd5b8091505092915050565b6000611f5d611b41565b90506000611f74828461216990919063ffffffff16565b9050611fc881600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ef590919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61202582600854611eab90919063ffffffff16565b60088190555061204081600954611ef590919063ffffffff16565b6009819055505050565b6000806000806120766064612068888a61216990919063ffffffff16565b611b6c90919063ffffffff16565b905060006120a06064612092888b61216990919063ffffffff16565b611b6c90919063ffffffff16565b905060006120c9826120bb858c611eab90919063ffffffff16565b611eab90919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806120f9858961216990919063ffffffff16565b90506000612110868961216990919063ffffffff16565b90506000612127878961216990919063ffffffff16565b90506000612150826121428587611eab90919063ffffffff16565b611eab90919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083141561217c57600090506121de565b6000828461218a9190612ae9565b90508284826121999190612ab8565b146121d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d09061289d565b60405180910390fd5b809150505b92915050565b6000813590506121f381612f76565b92915050565b60008151905061220881612f76565b92915050565b60008135905061221d81612f8d565b92915050565b60008151905061223281612f8d565b92915050565b60008135905061224781612fa4565b92915050565b60008151905061225c81612fa4565b92915050565b60006020828403121561227457600080fd5b6000612282848285016121e4565b91505092915050565b60006020828403121561229d57600080fd5b60006122ab848285016121f9565b91505092915050565b600080604083850312156122c757600080fd5b60006122d5858286016121e4565b92505060206122e6858286016121e4565b9150509250929050565b60008060006060848603121561230557600080fd5b6000612313868287016121e4565b9350506020612324868287016121e4565b925050604061233586828701612238565b9150509250925092565b6000806040838503121561235257600080fd5b6000612360858286016121e4565b925050602061237185828601612238565b9150509250929050565b60006020828403121561238d57600080fd5b600061239b8482850161220e565b91505092915050565b6000602082840312156123b657600080fd5b60006123c484828501612223565b91505092915050565b6000602082840312156123df57600080fd5b60006123ed84828501612238565b91505092915050565b60008060006060848603121561240b57600080fd5b60006124198682870161224d565b935050602061242a8682870161224d565b925050604061243b8682870161224d565b9150509250925092565b6000612451838361245d565b60208301905092915050565b61246681612b77565b82525050565b61247581612b77565b82525050565b600061248682612a1d565b6124908185612a40565b935061249b83612a0d565b8060005b838110156124cc5781516124b38882612445565b97506124be83612a33565b92505060018101905061249f565b5085935050505092915050565b6124e281612b89565b82525050565b6124f181612bcc565b82525050565b600061250282612a28565b61250c8185612a51565b935061251c818560208601612bde565b61252581612c6f565b840191505092915050565b600061253d602383612a51565b915061254882612c80565b604082019050919050565b6000612560601983612a51565b915061256b82612ccf565b602082019050919050565b6000612583602a83612a51565b915061258e82612cf8565b604082019050919050565b60006125a6602283612a51565b91506125b182612d47565b604082019050919050565b60006125c9601b83612a51565b91506125d482612d96565b602082019050919050565b60006125ec602183612a51565b91506125f782612dbf565b604082019050919050565b600061260f602083612a51565b915061261a82612e0e565b602082019050919050565b6000612632602983612a51565b915061263d82612e37565b604082019050919050565b6000612655602583612a51565b915061266082612e86565b604082019050919050565b6000612678601a83612a51565b915061268382612ed5565b602082019050919050565b600061269b602483612a51565b91506126a682612efe565b604082019050919050565b60006126be601783612a51565b91506126c982612f4d565b602082019050919050565b6126dd81612bb5565b82525050565b6126ec81612bbf565b82525050565b6000602082019050612707600083018461246c565b92915050565b6000604082019050612722600083018561246c565b61272f602083018461246c565b9392505050565b600060408201905061274b600083018561246c565b61275860208301846126d4565b9392505050565b600060c082019050612774600083018961246c565b61278160208301886126d4565b61278e60408301876124e8565b61279b60608301866124e8565b6127a8608083018561246c565b6127b560a08301846126d4565b979650505050505050565b60006020820190506127d560008301846124d9565b92915050565b600060208201905081810360008301526127f581846124f7565b905092915050565b6000602082019050818103600083015261281681612530565b9050919050565b6000602082019050818103600083015261283681612553565b9050919050565b6000602082019050818103600083015261285681612576565b9050919050565b6000602082019050818103600083015261287681612599565b9050919050565b60006020820190508181036000830152612896816125bc565b9050919050565b600060208201905081810360008301526128b6816125df565b9050919050565b600060208201905081810360008301526128d681612602565b9050919050565b600060208201905081810360008301526128f681612625565b9050919050565b6000602082019050818103600083015261291681612648565b9050919050565b600060208201905081810360008301526129368161266b565b9050919050565b600060208201905081810360008301526129568161268e565b9050919050565b60006020820190508181036000830152612976816126b1565b9050919050565b600060208201905061299260008301846126d4565b92915050565b600060a0820190506129ad60008301886126d4565b6129ba60208301876124e8565b81810360408301526129cc818661247b565b90506129db606083018561246c565b6129e860808301846126d4565b9695505050505050565b6000602082019050612a0760008301846126e3565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612a6d82612bb5565b9150612a7883612bb5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612aad57612aac612c11565b5b828201905092915050565b6000612ac382612bb5565b9150612ace83612bb5565b925082612ade57612add612c40565b5b828204905092915050565b6000612af482612bb5565b9150612aff83612bb5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612b3857612b37612c11565b5b828202905092915050565b6000612b4e82612bb5565b9150612b5983612bb5565b925082821015612b6c57612b6b612c11565b5b828203905092915050565b6000612b8282612b95565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612bd782612bb5565b9050919050565b60005b83811015612bfc578082015181840152602081019050612be1565b83811115612c0b576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b612f7f81612b77565b8114612f8a57600080fd5b50565b612f9681612b89565b8114612fa157600080fd5b50565b612fad81612bb5565b8114612fb857600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122030a3abf38b29f701643c530c0812e48f4ebf9e303dbe8cfbc760da63955bb8bb64736f6c63430008040033

Deployed Bytecode Sourcemap

3701:10004:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5476:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6328:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5753:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6497:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5662:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6818:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11820:193;;;;;;;;;;;;;:::i;:::-;;5856:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2782:148;;;;;;;;;;;;;:::i;:::-;;9546:118;;;;;;;;;;;;;:::i;:::-;;9407:131;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2568:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5567:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6002:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11618:194;;;;;;;;;;;;;:::i;:::-;;9776:773;;;;;;;;;;;;;:::i;:::-;;6177:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5476:83;5513:13;5546:5;;;;;;;;;;;;;;;;;5539:12;;5476:83;:::o;6328:161::-;6403:4;6420:39;6429:12;:10;:12::i;:::-;6443:7;6452:6;6420:8;:39::i;:::-;6477:4;6470:11;;6328:161;;;;:::o;5753:95::-;5806:7;4202:17;5826:14;;5753:95;:::o;6497:313::-;6595:4;6612:36;6622:6;6630:9;6641:6;6612:9;:36::i;:::-;6659:121;6668:6;6676:12;:10;:12::i;:::-;6690:89;6728:6;6690:89;;;;;;;;;;;;;;;;;:11;:19;6702:6;6690:19;;;;;;;;;;;;;;;:33;6710:12;:10;:12::i;:::-;6690:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6659:8;:121::i;:::-;6798:4;6791:11;;6497:313;;;;;:::o;5662:83::-;5703:5;4620:1;5721:16;;5662:83;:::o;6818:103::-;2705:12;:10;:12::i;:::-;2695:22;;:6;;;;;;;;;;:22;;;2687:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6908:5:::1;6890:15;;:23;;;;;;;;;;;;;;;;;;6818:103:::0;:::o;11820:193::-;11886:14;;;;;;;;;;;11870:30;;:12;:10;:12::i;:::-;:30;;;11862:39;;;;;;11912:26;11941:21;11912:50;;11973:32;11986:18;11973:12;:32::i;:::-;11820:193;:::o;5856:138::-;5922:7;5949:37;5969:7;:16;5977:7;5969:16;;;;;;;;;;;;;;;;5949:19;:37::i;:::-;5942:44;;5856:138;;;:::o;2782:148::-;2705:12;:10;:12::i;:::-;2695:22;;:6;;;;;;;;;;:22;;;2687:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2889:1:::1;2852:40;;2873:6;::::0;::::1;;;;;;;;2852:40;;;;;;;;;;;;2920:1;2903:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2782:148::o:0;9546:118::-;2705:12;:10;:12::i;:::-;2695:22;;:6;;;;;;;;;;:22;;;2687:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4202:17:::1;9599:12;:22;;;;4202:17;9632:14;:24;;;;9546:118::o:0;9407:131::-;2705:12;:10;:12::i;:::-;2695:22;;:6;;;;;;;;;;:22;;;2687:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9489:12:::1;;9482:6;:19;9474:28;;;::::0;::::1;;9524:6;9511:12;:19;;;;9407:131:::0;:::o;2568:79::-;2606:7;2633:6;;;;;;;;;;;2626:13;;2568:79;:::o;5567:87::-;5606:13;5639:7;;;;;;;;;;;;;;;;;5632:14;;5567:87;:::o;6002:167::-;6080:4;6097:42;6107:12;:10;:12::i;:::-;6121:9;6132:6;6097:9;:42::i;:::-;6157:4;6150:11;;6002:167;;;;:::o;11618:194::-;11684:14;;;;;;;;;;;11668:30;;:12;:10;:12::i;:::-;:30;;;11660:39;;;;;;11710:23;11736:24;11754:4;11736:9;:24::i;:::-;11710:50;;11771:33;11788:15;11771:16;:33::i;:::-;11618:194;:::o;9776:773::-;2705:12;:10;:12::i;:::-;2695:22;;:6;;;;;;;;;;:22;;;2687:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9840:11:::1;;;;;;;;;;;9839:12;9831:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;9889:35;9946:42;9889:100;;10018:16;10000:15;;:34;;;;;;;;;;;;;;;;;;10045:58;10062:4;10077:15;;;;;;;;;;;4202:17;10045:8;:58::i;:::-;10148:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10130:56;;;10195:4;10202:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10130:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10114:13;;:112;;;;;;;;;;;;;;;;;;10237:15;;;;;;;;;;;:31;;;10276:21;10307:4;10313:24;10331:4;10313:9;:24::i;:::-;10338:1;10340::::0;10342:7:::1;:5;:7::i;:::-;10350:15;10237:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10391:4;10377:11;;:18;;;;;;;;;;;;;;;;;;10424:4;10406:15;;:22;;;;;;;;;;;;;;;;;;10455:4;10441:11;;:18;;;;;;;;;;;;;;;;;;10477:13;;;;;;;;;;;10470:29;;;10508:15;;;;;;;;;;;10526:14;10470:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2765:1;9776:773::o:0;6177:143::-;6258:7;6285:11;:18;6297:5;6285:18;;;;;;;;;;;;;;;:27;6304:7;6285:27;;;;;;;;;;;;;;;;6278:34;;6177:143;;;;:::o;286:98::-;339:7;366:10;359:17;;286:98;:::o;7191:335::-;7301:1;7284:19;;:5;:19;;;;7276:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7382:1;7363:21;;:7;:21;;;;7355:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7464:6;7434:11;:18;7446:5;7434:18;;;;;;;;;;;;;;;:27;7453:7;7434:27;;;;;;;;;;;;;;;:36;;;;7502:7;7486:32;;7495:5;7486:32;;;7511:6;7486:32;;;;;;:::i;:::-;;;;;;;;7191:335;;;:::o;7534:1374::-;7638:1;7622:18;;:4;:18;;;;7614:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7715:1;7701:16;;:2;:16;;;;7693:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7785:1;7776:6;:10;7768:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7859:7;:5;:7::i;:::-;7851:15;;:4;:15;;;;:32;;;;;7876:7;:5;:7::i;:::-;7870:13;;:2;:13;;;;7851:32;7847:1011;;;7909:4;:10;7914:4;7909:10;;;;;;;;;;;;;;;;;;;;;;;;;7908:11;:24;;;;;7924:4;:8;7929:2;7924:8;;;;;;;;;;;;;;;;;;;;;;;;;7923:9;7908:24;7900:33;;;;;;7960:1;7948:9;:13;;;;7988:12;;7976:9;:24;;;;8027:13;;;;;;;;;;;8019:21;;:4;:21;;;:55;;;;;8058:15;;;;;;;;;;;8044:30;;:2;:30;;;;8019:55;:83;;;;;8080:18;:22;8099:2;8080:22;;;;;;;;;;;;;;;;;;;;;;;;;8078:24;8019:83;:102;;;;;8106:15;;;;;;;;;;;8019:102;8015:332;;;8189:12;;8179:6;:22;;8171:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8284:14;;8274:6;8258:13;8268:2;8258:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8250:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8015:332;8365:28;8396:24;8414:4;8396:9;:24::i;:::-;8365:55;;8440:6;;;;;;;;;;;8439:7;:32;;;;;8458:13;;;;;;;;;;;8450:21;;:4;:21;;;;8439:32;:47;;;;;8475:11;;;;;;;;;;;8439:47;:73;;;;;8511:1;8490:20;:22;8439:73;8435:344;;;8533:38;8550:20;8533:16;:38::i;:::-;8590:26;8619:21;8590:50;;8683:1;8662:18;:22;8659:105;;;8709:35;8722:21;8709:12;:35::i;:::-;8659:105;8435:344;;7847:1011;;;;8819:1;8807:9;:13;;;;8845:1;8833:9;:13;;;;7847:1011;8870:30;8885:4;8890:2;8893:6;8870:14;:30::i;:::-;7534:1374;;;:::o;1423:190::-;1509:7;1542:1;1537;:6;;1545:12;1529:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1569:9;1585:1;1581;:5;;;;:::i;:::-;1569:17;;1604:1;1597:8;;;1423:190;;;;;:::o;9672:96::-;9729:14;;;;;;;;;;;:23;;:31;9753:6;9729:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9672:96;:::o;6929:254::-;6996:7;7035;;7024;:18;;7016:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7100:19;7123:10;:8;:10::i;:::-;7100:33;;7151:24;7163:11;7151:7;:11;;:24;;;;:::i;:::-;7144:31;;;6929:254;;;:::o;8916:483::-;5061:4;5052:6;;:13;;;;;;;;;;;;;;;;;;8994:21:::1;9032:1;9018:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8994:40;;9063:4;9045;9050:1;9045:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;9089:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9079:4;9084:1;9079:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;9122:62;9139:4;9154:15;;;;;;;;;;;9172:11;9122:8;:62::i;:::-;9195:15;;;;;;;;;;;:66;;;9276:11;9302:1;9318:4;9345;9365:15;9195:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5076:1;5097:5:::0;5088:6;;:14;;;;;;;;;;;;;;;;;;8916:483;:::o;10557:146::-;10651:44;10669:6;10677:9;10688:6;10651:17;:44::i;:::-;10557:146;;;:::o;13275:163::-;13316:7;13337:15;13354;13373:19;:17;:19::i;:::-;13336:56;;;;13410:20;13422:7;13410;:11;;:20;;;;:::i;:::-;13403:27;;;;13275:163;:::o;1875:132::-;1933:7;1960:39;1964:1;1967;1960:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1953:46;;1875:132;;;;:::o;10711:487::-;10810:15;10827:23;10852:12;10866:23;10891:12;10905:13;10922:19;10933:7;10922:10;:19::i;:::-;10809:132;;;;;;;;;;;;10970:28;10990:7;10970;:15;10978:6;10970:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;10952:7;:15;10960:6;10952:15;;;;;;;;;;;;;;;:46;;;;11030:39;11053:15;11030:7;:18;11038:9;11030:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;11009:7;:18;11017:9;11009:18;;;;;;;;;;;;;;;:60;;;;11080:16;11090:5;11080:9;:16::i;:::-;11107:23;11119:4;11125;11107:11;:23::i;:::-;11163:9;11146:44;;11155:6;11146:44;;;11174:15;11146:44;;;;;;:::i;:::-;;;;;;;;10711:487;;;;;;;;;:::o;13446:256::-;13496:7;13505;13525:15;13543:7;;13525:25;;13561:15;4202:17;13561:25;;13611:20;4202:17;13611:7;;:11;;:20;;;;:::i;:::-;13601:7;:30;13597:61;;;13641:7;;4202:17;13633:25;;;;;;;;13597:61;13677:7;13686;13669:25;;;;;;13446:256;;;:::o;2015:189::-;2101:7;2133:1;2129;:5;2136:12;2121:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2160:9;2176:1;2172;:5;;;;:::i;:::-;2160:17;;2195:1;2188:8;;;2015:189;;;;;:::o;12023:471::-;12082:7;12091;12100;12109;12118;12127;12148:23;12173:12;12187:13;12204:42;12216:7;12225:9;;12236;;12204:11;:42::i;:::-;12147:99;;;;;;12257:19;12280:10;:8;:10::i;:::-;12257:33;;12302:15;12319:23;12344:12;12360:46;12372:7;12381:4;12387:5;12394:11;12360;:46::i;:::-;12301:105;;;;;;12425:7;12434:15;12451:4;12457:15;12474:4;12480:5;12417:69;;;;;;;;;;;;;;;;;;;12023:471;;;;;;;:::o;1279:136::-;1337:7;1364:43;1368:1;1371;1364:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1357:50;;1279:136;;;;:::o;1092:179::-;1150:7;1170:9;1186:1;1182;:5;;;;:::i;:::-;1170:17;;1211:1;1206;:6;;1198:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1262:1;1255:8;;;1092:179;;;;:::o;11206:212::-;11259:19;11282:10;:8;:10::i;:::-;11259:33;;11303:13;11319:22;11329:11;11319:5;:9;;:22;;;;:::i;:::-;11303:38;;11377:33;11404:5;11377:7;:22;11393:4;11377:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;11352:7;:22;11368:4;11352:22;;;;;;;;;;;;;;;:58;;;;11206:212;;;:::o;11426:147::-;11504:17;11516:4;11504:7;;:11;;:17;;;;:::i;:::-;11494:7;:27;;;;11545:20;11560:4;11545:10;;:14;;:20;;;;:::i;:::-;11532:10;:33;;;;11426:147;;:::o;12502:351::-;12595:7;12604;12613;12633:12;12648:28;12672:3;12648:19;12660:6;12648:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;12633:43;;12687:13;12703:29;12728:3;12703:20;12715:7;12703;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;12687:45;;12743:23;12769:28;12791:5;12769:17;12781:4;12769:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;12743:54;;12816:15;12833:4;12839:5;12808:37;;;;;;;;;12502:351;;;;;;;:::o;12861:409::-;12971:7;12980;12989;13009:15;13027:24;13039:11;13027:7;:11;;:24;;;;:::i;:::-;13009:42;;13062:12;13077:21;13086:11;13077:4;:8;;:21;;;;:::i;:::-;13062:36;;13109:13;13125:22;13135:11;13125:5;:9;;:22;;;;:::i;:::-;13109:38;;13158:23;13184:28;13206:5;13184:17;13196:4;13184:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;13158:54;;13231:7;13240:15;13257:4;13223:39;;;;;;;;;;12861:409;;;;;;;;:::o;1621:246::-;1679:7;1708:1;1703;:6;1699:47;;;1733:1;1726:8;;;;1699:47;1756:9;1772:1;1768;:5;;;;:::i;:::-;1756:17;;1801:1;1796;1792;:5;;;;:::i;:::-;:10;1784:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1858:1;1851:8;;;1621:246;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:133::-;344:5;382:6;369:20;360:29;;398:30;422:5;398:30;:::i;:::-;350:84;;;;:::o;440:137::-;494:5;525:6;519:13;510:22;;541:30;565:5;541:30;:::i;:::-;500:77;;;;:::o;583:139::-;629:5;667:6;654:20;645:29;;683:33;710:5;683:33;:::i;:::-;635:87;;;;:::o;728:143::-;785:5;816:6;810:13;801:22;;832:33;859:5;832:33;:::i;:::-;791:80;;;;:::o;877:262::-;936:6;985:2;973:9;964:7;960:23;956:32;953:2;;;1001:1;998;991:12;953:2;1044:1;1069:53;1114:7;1105:6;1094:9;1090:22;1069:53;:::i;:::-;1059:63;;1015:117;943:196;;;;:::o;1145:284::-;1215:6;1264:2;1252:9;1243:7;1239:23;1235:32;1232:2;;;1280:1;1277;1270:12;1232:2;1323:1;1348:64;1404:7;1395:6;1384:9;1380:22;1348:64;:::i;:::-;1338:74;;1294:128;1222:207;;;;:::o;1435:407::-;1503:6;1511;1560:2;1548:9;1539:7;1535:23;1531:32;1528:2;;;1576:1;1573;1566:12;1528:2;1619:1;1644:53;1689:7;1680:6;1669:9;1665:22;1644:53;:::i;:::-;1634:63;;1590:117;1746:2;1772:53;1817:7;1808:6;1797:9;1793:22;1772:53;:::i;:::-;1762:63;;1717:118;1518:324;;;;;:::o;1848:552::-;1925:6;1933;1941;1990:2;1978:9;1969:7;1965:23;1961:32;1958:2;;;2006:1;2003;1996:12;1958:2;2049:1;2074:53;2119:7;2110:6;2099:9;2095:22;2074:53;:::i;:::-;2064:63;;2020:117;2176:2;2202:53;2247:7;2238:6;2227:9;2223:22;2202:53;:::i;:::-;2192:63;;2147:118;2304:2;2330:53;2375:7;2366:6;2355:9;2351:22;2330:53;:::i;:::-;2320:63;;2275:118;1948:452;;;;;:::o;2406:407::-;2474:6;2482;2531:2;2519:9;2510:7;2506:23;2502:32;2499:2;;;2547:1;2544;2537:12;2499:2;2590:1;2615:53;2660:7;2651:6;2640:9;2636:22;2615:53;:::i;:::-;2605:63;;2561:117;2717:2;2743:53;2788:7;2779:6;2768:9;2764:22;2743:53;:::i;:::-;2733:63;;2688:118;2489:324;;;;;:::o;2819:256::-;2875:6;2924:2;2912:9;2903:7;2899:23;2895:32;2892:2;;;2940:1;2937;2930:12;2892:2;2983:1;3008:50;3050:7;3041:6;3030:9;3026:22;3008:50;:::i;:::-;2998:60;;2954:114;2882:193;;;;:::o;3081:278::-;3148:6;3197:2;3185:9;3176:7;3172:23;3168:32;3165:2;;;3213:1;3210;3203:12;3165:2;3256:1;3281:61;3334:7;3325:6;3314:9;3310:22;3281:61;:::i;:::-;3271:71;;3227:125;3155:204;;;;:::o;3365:262::-;3424:6;3473:2;3461:9;3452:7;3448:23;3444:32;3441:2;;;3489:1;3486;3479:12;3441:2;3532:1;3557:53;3602:7;3593:6;3582:9;3578:22;3557:53;:::i;:::-;3547:63;;3503:117;3431:196;;;;:::o;3633:596::-;3721:6;3729;3737;3786:2;3774:9;3765:7;3761:23;3757:32;3754:2;;;3802:1;3799;3792:12;3754:2;3845:1;3870:64;3926:7;3917:6;3906:9;3902:22;3870:64;:::i;:::-;3860:74;;3816:128;3983:2;4009:64;4065:7;4056:6;4045:9;4041:22;4009:64;:::i;:::-;3999:74;;3954:129;4122:2;4148:64;4204:7;4195:6;4184:9;4180:22;4148:64;:::i;:::-;4138:74;;4093:129;3744:485;;;;;:::o;4235:179::-;4304:10;4325:46;4367:3;4359:6;4325:46;:::i;:::-;4403:4;4398:3;4394:14;4380:28;;4315:99;;;;:::o;4420:108::-;4497:24;4515:5;4497:24;:::i;:::-;4492:3;4485:37;4475:53;;:::o;4534:118::-;4621:24;4639:5;4621:24;:::i;:::-;4616:3;4609:37;4599:53;;:::o;4688:732::-;4807:3;4836:54;4884:5;4836:54;:::i;:::-;4906:86;4985:6;4980:3;4906:86;:::i;:::-;4899:93;;5016:56;5066:5;5016:56;:::i;:::-;5095:7;5126:1;5111:284;5136:6;5133:1;5130:13;5111:284;;;5212:6;5206:13;5239:63;5298:3;5283:13;5239:63;:::i;:::-;5232:70;;5325:60;5378:6;5325:60;:::i;:::-;5315:70;;5171:224;5158:1;5155;5151:9;5146:14;;5111:284;;;5115:14;5411:3;5404:10;;4812:608;;;;;;;:::o;5426:109::-;5507:21;5522:5;5507:21;:::i;:::-;5502:3;5495:34;5485:50;;:::o;5541:147::-;5636:45;5675:5;5636:45;:::i;:::-;5631:3;5624:58;5614:74;;:::o;5694:364::-;5782:3;5810:39;5843:5;5810:39;:::i;:::-;5865:71;5929:6;5924:3;5865:71;:::i;:::-;5858:78;;5945:52;5990:6;5985:3;5978:4;5971:5;5967:16;5945:52;:::i;:::-;6022:29;6044:6;6022:29;:::i;:::-;6017:3;6013:39;6006:46;;5786:272;;;;;:::o;6064:366::-;6206:3;6227:67;6291:2;6286:3;6227:67;:::i;:::-;6220:74;;6303:93;6392:3;6303:93;:::i;:::-;6421:2;6416:3;6412:12;6405:19;;6210:220;;;:::o;6436:366::-;6578:3;6599:67;6663:2;6658:3;6599:67;:::i;:::-;6592:74;;6675:93;6764:3;6675:93;:::i;:::-;6793:2;6788:3;6784:12;6777:19;;6582:220;;;:::o;6808:366::-;6950:3;6971:67;7035:2;7030:3;6971:67;:::i;:::-;6964:74;;7047:93;7136:3;7047:93;:::i;:::-;7165:2;7160:3;7156:12;7149:19;;6954:220;;;:::o;7180:366::-;7322:3;7343:67;7407:2;7402:3;7343:67;:::i;:::-;7336:74;;7419:93;7508:3;7419:93;:::i;:::-;7537:2;7532:3;7528:12;7521:19;;7326:220;;;:::o;7552:366::-;7694:3;7715:67;7779:2;7774:3;7715:67;:::i;:::-;7708:74;;7791:93;7880:3;7791:93;:::i;:::-;7909:2;7904:3;7900:12;7893:19;;7698:220;;;:::o;7924:366::-;8066:3;8087:67;8151:2;8146:3;8087:67;:::i;:::-;8080:74;;8163:93;8252:3;8163:93;:::i;:::-;8281:2;8276:3;8272:12;8265:19;;8070:220;;;:::o;8296:366::-;8438:3;8459:67;8523:2;8518:3;8459:67;:::i;:::-;8452:74;;8535:93;8624:3;8535:93;:::i;:::-;8653:2;8648:3;8644:12;8637:19;;8442:220;;;:::o;8668:366::-;8810:3;8831:67;8895:2;8890:3;8831:67;:::i;:::-;8824:74;;8907:93;8996:3;8907:93;:::i;:::-;9025:2;9020:3;9016:12;9009:19;;8814:220;;;:::o;9040:366::-;9182:3;9203:67;9267:2;9262:3;9203:67;:::i;:::-;9196:74;;9279:93;9368:3;9279:93;:::i;:::-;9397:2;9392:3;9388:12;9381:19;;9186:220;;;:::o;9412:366::-;9554:3;9575:67;9639:2;9634:3;9575:67;:::i;:::-;9568:74;;9651:93;9740:3;9651:93;:::i;:::-;9769:2;9764:3;9760:12;9753:19;;9558:220;;;:::o;9784:366::-;9926:3;9947:67;10011:2;10006:3;9947:67;:::i;:::-;9940:74;;10023:93;10112:3;10023:93;:::i;:::-;10141:2;10136:3;10132:12;10125:19;;9930:220;;;:::o;10156:366::-;10298:3;10319:67;10383:2;10378:3;10319:67;:::i;:::-;10312:74;;10395:93;10484:3;10395:93;:::i;:::-;10513:2;10508:3;10504:12;10497:19;;10302:220;;;:::o;10528:118::-;10615:24;10633:5;10615:24;:::i;:::-;10610:3;10603:37;10593:53;;:::o;10652:112::-;10735:22;10751:5;10735:22;:::i;:::-;10730:3;10723:35;10713:51;;:::o;10770:222::-;10863:4;10901:2;10890:9;10886:18;10878:26;;10914:71;10982:1;10971:9;10967:17;10958:6;10914:71;:::i;:::-;10868:124;;;;:::o;10998:332::-;11119:4;11157:2;11146:9;11142:18;11134:26;;11170:71;11238:1;11227:9;11223:17;11214:6;11170:71;:::i;:::-;11251:72;11319:2;11308:9;11304:18;11295:6;11251:72;:::i;:::-;11124:206;;;;;:::o;11336:332::-;11457:4;11495:2;11484:9;11480:18;11472:26;;11508:71;11576:1;11565:9;11561:17;11552:6;11508:71;:::i;:::-;11589:72;11657:2;11646:9;11642:18;11633:6;11589:72;:::i;:::-;11462:206;;;;;:::o;11674:807::-;11923:4;11961:3;11950:9;11946:19;11938:27;;11975:71;12043:1;12032:9;12028:17;12019:6;11975:71;:::i;:::-;12056:72;12124:2;12113:9;12109:18;12100:6;12056:72;:::i;:::-;12138:80;12214:2;12203:9;12199:18;12190:6;12138:80;:::i;:::-;12228;12304:2;12293:9;12289:18;12280:6;12228:80;:::i;:::-;12318:73;12386:3;12375:9;12371:19;12362:6;12318:73;:::i;:::-;12401;12469:3;12458:9;12454:19;12445:6;12401:73;:::i;:::-;11928:553;;;;;;;;;:::o;12487:210::-;12574:4;12612:2;12601:9;12597:18;12589:26;;12625:65;12687:1;12676:9;12672:17;12663:6;12625:65;:::i;:::-;12579:118;;;;:::o;12703:313::-;12816:4;12854:2;12843:9;12839:18;12831:26;;12903:9;12897:4;12893:20;12889:1;12878:9;12874:17;12867:47;12931:78;13004:4;12995:6;12931:78;:::i;:::-;12923:86;;12821:195;;;;:::o;13022:419::-;13188:4;13226:2;13215:9;13211:18;13203:26;;13275:9;13269:4;13265:20;13261:1;13250:9;13246:17;13239:47;13303:131;13429:4;13303:131;:::i;:::-;13295:139;;13193:248;;;:::o;13447:419::-;13613:4;13651:2;13640:9;13636:18;13628:26;;13700:9;13694:4;13690:20;13686:1;13675:9;13671:17;13664:47;13728:131;13854:4;13728:131;:::i;:::-;13720:139;;13618:248;;;:::o;13872:419::-;14038:4;14076:2;14065:9;14061:18;14053:26;;14125:9;14119:4;14115:20;14111:1;14100:9;14096:17;14089:47;14153:131;14279:4;14153:131;:::i;:::-;14145:139;;14043:248;;;:::o;14297:419::-;14463:4;14501:2;14490:9;14486:18;14478:26;;14550:9;14544:4;14540:20;14536:1;14525:9;14521:17;14514:47;14578:131;14704:4;14578:131;:::i;:::-;14570:139;;14468:248;;;:::o;14722:419::-;14888:4;14926:2;14915:9;14911:18;14903:26;;14975:9;14969:4;14965:20;14961:1;14950:9;14946:17;14939:47;15003:131;15129:4;15003:131;:::i;:::-;14995:139;;14893:248;;;:::o;15147:419::-;15313:4;15351:2;15340:9;15336:18;15328:26;;15400:9;15394:4;15390:20;15386:1;15375:9;15371:17;15364:47;15428:131;15554:4;15428:131;:::i;:::-;15420:139;;15318:248;;;:::o;15572:419::-;15738:4;15776:2;15765:9;15761:18;15753:26;;15825:9;15819:4;15815:20;15811:1;15800:9;15796:17;15789:47;15853:131;15979:4;15853:131;:::i;:::-;15845:139;;15743:248;;;:::o;15997:419::-;16163:4;16201:2;16190:9;16186:18;16178:26;;16250:9;16244:4;16240:20;16236:1;16225:9;16221:17;16214:47;16278:131;16404:4;16278:131;:::i;:::-;16270:139;;16168:248;;;:::o;16422:419::-;16588:4;16626:2;16615:9;16611:18;16603:26;;16675:9;16669:4;16665:20;16661:1;16650:9;16646:17;16639:47;16703:131;16829:4;16703:131;:::i;:::-;16695:139;;16593:248;;;:::o;16847:419::-;17013:4;17051:2;17040:9;17036:18;17028:26;;17100:9;17094:4;17090:20;17086:1;17075:9;17071:17;17064:47;17128:131;17254:4;17128:131;:::i;:::-;17120:139;;17018:248;;;:::o;17272:419::-;17438:4;17476:2;17465:9;17461:18;17453:26;;17525:9;17519:4;17515:20;17511:1;17500:9;17496:17;17489:47;17553:131;17679:4;17553:131;:::i;:::-;17545:139;;17443:248;;;:::o;17697:419::-;17863:4;17901:2;17890:9;17886:18;17878:26;;17950:9;17944:4;17940:20;17936:1;17925:9;17921:17;17914:47;17978:131;18104:4;17978:131;:::i;:::-;17970:139;;17868:248;;;:::o;18122:222::-;18215:4;18253:2;18242:9;18238:18;18230:26;;18266:71;18334:1;18323:9;18319:17;18310:6;18266:71;:::i;:::-;18220:124;;;;:::o;18350:831::-;18613:4;18651:3;18640:9;18636:19;18628:27;;18665:71;18733:1;18722:9;18718:17;18709:6;18665:71;:::i;:::-;18746:80;18822:2;18811:9;18807:18;18798:6;18746:80;:::i;:::-;18873:9;18867:4;18863:20;18858:2;18847:9;18843:18;18836:48;18901:108;19004:4;18995:6;18901:108;:::i;:::-;18893:116;;19019:72;19087:2;19076:9;19072:18;19063:6;19019:72;:::i;:::-;19101:73;19169:3;19158:9;19154:19;19145:6;19101:73;:::i;:::-;18618:563;;;;;;;;:::o;19187:214::-;19276:4;19314:2;19303:9;19299:18;19291:26;;19327:67;19391:1;19380:9;19376:17;19367:6;19327:67;:::i;:::-;19281:120;;;;:::o;19407:132::-;19474:4;19497:3;19489:11;;19527:4;19522:3;19518:14;19510:22;;19479:60;;;:::o;19545:114::-;19612:6;19646:5;19640:12;19630:22;;19619:40;;;:::o;19665:99::-;19717:6;19751:5;19745:12;19735:22;;19724:40;;;:::o;19770:113::-;19840:4;19872;19867:3;19863:14;19855:22;;19845:38;;;:::o;19889:184::-;19988:11;20022:6;20017:3;20010:19;20062:4;20057:3;20053:14;20038:29;;20000:73;;;;:::o;20079:169::-;20163:11;20197:6;20192:3;20185:19;20237:4;20232:3;20228:14;20213:29;;20175:73;;;;:::o;20254:305::-;20294:3;20313:20;20331:1;20313:20;:::i;:::-;20308:25;;20347:20;20365:1;20347:20;:::i;:::-;20342:25;;20501:1;20433:66;20429:74;20426:1;20423:81;20420:2;;;20507:18;;:::i;:::-;20420:2;20551:1;20548;20544:9;20537:16;;20298:261;;;;:::o;20565:185::-;20605:1;20622:20;20640:1;20622:20;:::i;:::-;20617:25;;20656:20;20674:1;20656:20;:::i;:::-;20651:25;;20695:1;20685:2;;20700:18;;:::i;:::-;20685:2;20742:1;20739;20735:9;20730:14;;20607:143;;;;:::o;20756:348::-;20796:7;20819:20;20837:1;20819:20;:::i;:::-;20814:25;;20853:20;20871:1;20853:20;:::i;:::-;20848:25;;21041:1;20973:66;20969:74;20966:1;20963:81;20958:1;20951:9;20944:17;20940:105;20937:2;;;21048:18;;:::i;:::-;20937:2;21096:1;21093;21089:9;21078:20;;20804:300;;;;:::o;21110:191::-;21150:4;21170:20;21188:1;21170:20;:::i;:::-;21165:25;;21204:20;21222:1;21204:20;:::i;:::-;21199:25;;21243:1;21240;21237:8;21234:2;;;21248:18;;:::i;:::-;21234:2;21293:1;21290;21286:9;21278:17;;21155:146;;;;:::o;21307:96::-;21344:7;21373:24;21391:5;21373:24;:::i;:::-;21362:35;;21352:51;;;:::o;21409:90::-;21443:7;21486:5;21479:13;21472:21;21461:32;;21451:48;;;:::o;21505:126::-;21542:7;21582:42;21575:5;21571:54;21560:65;;21550:81;;;:::o;21637:77::-;21674:7;21703:5;21692:16;;21682:32;;;:::o;21720:86::-;21755:7;21795:4;21788:5;21784:16;21773:27;;21763:43;;;:::o;21812:121::-;21870:9;21903:24;21921:5;21903:24;:::i;:::-;21890:37;;21880:53;;;:::o;21939:307::-;22007:1;22017:113;22031:6;22028:1;22025:13;22017:113;;;22116:1;22111:3;22107:11;22101:18;22097:1;22092:3;22088:11;22081:39;22053:2;22050:1;22046:10;22041:15;;22017:113;;;22148:6;22145:1;22142:13;22139:2;;;22228:1;22219:6;22214:3;22210:16;22203:27;22139:2;21988:258;;;;:::o;22252:180::-;22300:77;22297:1;22290:88;22397:4;22394:1;22387:15;22421:4;22418:1;22411:15;22438:180;22486:77;22483:1;22476:88;22583:4;22580:1;22573:15;22607:4;22604:1;22597:15;22624:102;22665:6;22716:2;22712:7;22707:2;22700:5;22696:14;22692:28;22682:38;;22672:54;;;:::o;22732:222::-;22872:34;22868:1;22860:6;22856:14;22849:58;22941:5;22936:2;22928:6;22924:15;22917:30;22838:116;:::o;22960:175::-;23100:27;23096:1;23088:6;23084:14;23077:51;23066:69;:::o;23141:229::-;23281:34;23277:1;23269:6;23265:14;23258:58;23350:12;23345:2;23337:6;23333:15;23326:37;23247:123;:::o;23376:221::-;23516:34;23512:1;23504:6;23500:14;23493:58;23585:4;23580:2;23572:6;23568:15;23561:29;23482:115;:::o;23603:177::-;23743:29;23739:1;23731:6;23727:14;23720:53;23709:71;:::o;23786:220::-;23926:34;23922:1;23914:6;23910:14;23903:58;23995:3;23990:2;23982:6;23978:15;23971:28;23892:114;:::o;24012:182::-;24152:34;24148:1;24140:6;24136:14;24129:58;24118:76;:::o;24200:228::-;24340:34;24336:1;24328:6;24324:14;24317:58;24409:11;24404:2;24396:6;24392:15;24385:36;24306:122;:::o;24434:224::-;24574:34;24570:1;24562:6;24558:14;24551:58;24643:7;24638:2;24630:6;24626:15;24619:32;24540:118;:::o;24664:176::-;24804:28;24800:1;24792:6;24788:14;24781:52;24770:70;:::o;24846:223::-;24986:34;24982:1;24974:6;24970:14;24963:58;25055:6;25050:2;25042:6;25038:15;25031:31;24952:117;:::o;25075:173::-;25215:25;25211:1;25203:6;25199:14;25192:49;25181:67;:::o;25254:122::-;25327:24;25345:5;25327:24;:::i;:::-;25320:5;25317:35;25307:2;;25366:1;25363;25356:12;25307:2;25297:79;:::o;25382:116::-;25452:21;25467:5;25452:21;:::i;:::-;25445:5;25442:32;25432:2;;25488:1;25485;25478:12;25432:2;25422:76;:::o;25504:122::-;25577:24;25595:5;25577:24;:::i;:::-;25570:5;25567:35;25557:2;;25616:1;25613;25606:12;25557:2;25547:79;:::o

Swarm Source

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