ETH Price: $3,325.65 (-2.73%)

Token

Bitcoin Talk (BCT)
 

Overview

Max Total Supply

10,000,000 BCT

Holders

172

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.30477469273796529 BCT

Value
$0.00
0xE45d7DBf47A6CB9310aa163bd68026ADFfA12d2B
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:
BitcoinTalk

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-06-21
*/

/*

TG: https://t.me/BitcoinTalkPortal
TWITTER: https://twitter.com/BitcoinTalk_ERC
*/

// SPDX-License-Identifier: Unlicensed
pragma solidity 0.8.20;

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

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

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

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

contract BitcoinTalk is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _excludedFromFees;
    uint256 private constant MAX = ~uint256(0);
    uint8 private constant _decimals = 18;
    uint256 private constant _totalSupply = 10**7 * 10**_decimals;
    //Swap Threshold (0.04%)
    uint256 private constant minSwap = 2000 * 10**_decimals;
    //Define 1%
    uint256 private constant onePercent = 100000 * 10**_decimals;
    //Max Tx at Launch
    uint256 public maxTxAmount = onePercent * 2;

    uint256 private launchBlock;
    uint256 private db = 7;

    uint256 private _fee;
    uint256 public devBuyFee = 25;
    uint256 public devSellFee = 40;
    
    string private constant _name = "Bitcoin Talk";
    string private constant _symbol = "BCT";

    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    address payable public devWallet;

    bool private tradingEnabled = false;

    constructor() {
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        devWallet = payable(0xD5fce3152212136F5393283c53564FBae2B6Bdc6);
        _balance[msg.sender] = _totalSupply;
        _excludedFromFees[msg.sender] = true;
        _excludedFromFees[address(this)] = true;

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

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

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

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

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

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

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

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

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

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

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


    function Launch() external onlyOwner {
        
        tradingEnabled = true;
        launchBlock = block.number;
    }

    function excludeFromFees(address wallet) external onlyOwner {
        _excludedFromFees[wallet] = true;
    }

    function updateTxPercent(uint256 percent) external onlyOwner {
        maxTxAmount = onePercent * percent;
    }

    function removeLimits() external onlyOwner {
        maxTxAmount = onePercent * 100;
    }

    function changeFees(uint256 buy, uint256 sell) external onlyOwner {
        require(buy < 30);
        require(sell < 40);
        devBuyFee = buy;
        devSellFee = sell;
    }

    function _tokenTransfer(address from, address to, uint256 amount) private {
        uint256 taxTokens = (amount * _fee) / 100;
        uint256 transferAmount = amount - taxTokens;

        _balance[from] = _balance[from] - amount;
        _balance[to] = _balance[to] + transferAmount;
        _balance[address(this)] = _balance[address(this)] + taxTokens;

        emit Transfer(from, to, transferAmount);
    }

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

        if (_excludedFromFees[from] || _excludedFromFees[to]) {
            _fee = 0;
        } else {
            require(tradingEnabled, "Trading not open");
            require(amount <= maxTxAmount, "MaxTx Enabled at launch");
            if (block.number < launchBlock + db) {_fee=99;} else {
                if (from == uniswapV2Pair) {
                    _fee = devBuyFee;
                } else if (to == uniswapV2Pair) {
                    uint256 tokensToSwap = balanceOf(address(this));
                    if (tokensToSwap > minSwap) { //Sets Max Internal Swap
                        if (tokensToSwap > onePercent * 2) { 
                            tokensToSwap = onePercent * 2;
                        }
                        swapTokensForEth(tokensToSwap);
                    }
                    _fee = devSellFee;
                } else {
                    _fee = 0;
                }
            }
        }
        _tokenTransfer(from, to, amount);
    }

    function clearETH() external onlyOwner{
        require(_msgSender() == devWallet);
        uint256 contractETHBalance = address(this).balance;
        devWallet.transfer(contractETHBalance);
        uint256 contractBalance = balanceOf(address(this));
        devWallet.transfer(contractBalance);
    } 

    function swapBack() external onlyOwner{
        require(_msgSender() == devWallet);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }


    function swapTokensForEth(uint256 tokenAmount) private {
        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,
            devWallet,
            block.timestamp
        );
    }
    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"Launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"buy","type":"uint256"},{"internalType":"uint256","name":"sell","type":"uint256"}],"name":"changeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"devBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapBack","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"updateTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260026012600a620000169190620006dd565b620186a06200002691906200072d565b6200003291906200072d565b6005556007805560196009556028600a555f600d60146101000a81548160ff02191690831515021790555034801562000069575f80fd5b505f6200007b6200054460201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001d6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001fc9190620007dc565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000283573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002a99190620007dc565b6040518363ffffffff1660e01b8152600401620002c89291906200081d565b6020604051808303815f875af1158015620002e5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200030b9190620007dc565b600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073d5fce3152212136f5393283c53564fbae2b6bdc6600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a620003ae9190620006dd565b62989680620003be91906200072d565b60025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620004b96200054460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620005179190620006dd565b629896806200052791906200072d565b60405162000536919062000859565b60405180910390a362000874565b5f33905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620005d557808604811115620005ad57620005ac6200054b565b5b6001851615620005bd5780820291505b8081029050620005cd8562000578565b94506200058d565b94509492505050565b5f82620005ef5760019050620006c1565b81620005fe575f9050620006c1565b8160018114620006175760028114620006225762000658565b6001915050620006c1565b60ff8411156200063757620006366200054b565b5b8360020a9150848211156200065157620006506200054b565b5b50620006c1565b5060208310610133831016604e8410600b8410161715620006925782820a9050838111156200068c576200068b6200054b565b5b620006c1565b620006a1848484600162000584565b92509050818404811115620006bb57620006ba6200054b565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620006e982620006c8565b9150620006f683620006d1565b9250620007257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620005de565b905092915050565b5f6200073982620006c8565b91506200074683620006c8565b92508282026200075681620006c8565b9150828204841483151762000770576200076f6200054b565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620007a6826200077b565b9050919050565b620007b8816200079a565b8114620007c3575f80fd5b50565b5f81519050620007d681620007ad565b92915050565b5f60208284031215620007f457620007f362000777565b5b5f6200080384828501620007c6565b91505092915050565b62000817816200079a565b82525050565b5f604082019050620008325f8301856200080c565b6200084160208301846200080c565b9392505050565b6200085381620006c8565b82525050565b5f6020820190506200086e5f83018462000848565b92915050565b61284d80620008825f395ff3fe60806040526004361061014e575f3560e01c806370a08231116100b557806395d89b411161006e57806395d89b411461041b578063a9059cbb14610445578063b45e83f814610481578063dd62ed3e146104ab578063e57f14e1146104e7578063f2fde38b1461050f57610155565b806370a0823114610335578063715018a614610371578063751039fc146103875780638c0b5e221461039d5780638da5cb5b146103c75780638ea5220f146103f157610155565b806323b872dd1161010757806323b872dd14610251578063313ce5671461028d578063322f9db0146102b757806349bd5a5e146102df578063616eb638146103095780636ac5eeee1461031f57610155565b806301143fea1461015957806302ac81681461018357806306fdde0314610199578063095ea7b3146101c357806318160ddd146101ff57806321ecff5b1461022957610155565b3661015557005b5f80fd5b348015610164575f80fd5b5061016d610537565b60405161017a9190611c26565b60405180910390f35b34801561018e575f80fd5b5061019761053d565b005b3480156101a4575f80fd5b506101ad6105f5565b6040516101ba9190611cc9565b60405180910390f35b3480156101ce575f80fd5b506101e960048036038101906101e49190611d71565b610632565b6040516101f69190611dc9565b60405180910390f35b34801561020a575f80fd5b5061021361064f565b6040516102209190611c26565b60405180910390f35b348015610234575f80fd5b5061024f600480360381019061024a9190611de2565b610671565b005b34801561025c575f80fd5b5061027760048036038101906102729190611e20565b61072f565b6040516102849190611dc9565b60405180910390f35b348015610298575f80fd5b506102a1610803565b6040516102ae9190611e8b565b60405180910390f35b3480156102c2575f80fd5b506102dd60048036038101906102d89190611ea4565b61080b565b005b3480156102ea575f80fd5b506102f36108cf565b6040516103009190611ede565b60405180910390f35b348015610314575f80fd5b5061031d6108f4565b005b34801561032a575f80fd5b50610333610ac5565b005b348015610340575f80fd5b5061035b60048036038101906103569190611ef7565b610bd0565b6040516103689190611c26565b60405180910390f35b34801561037c575f80fd5b50610385610c16565b005b348015610392575f80fd5b5061039b610d64565b005b3480156103a8575f80fd5b506103b1610e28565b6040516103be9190611c26565b60405180910390f35b3480156103d2575f80fd5b506103db610e2e565b6040516103e89190611ede565b60405180910390f35b3480156103fc575f80fd5b50610405610e55565b6040516104129190611f42565b60405180910390f35b348015610426575f80fd5b5061042f610e7a565b60405161043c9190611cc9565b60405180910390f35b348015610450575f80fd5b5061046b60048036038101906104669190611d71565b610eb7565b6040516104789190611dc9565b60405180910390f35b34801561048c575f80fd5b50610495610ed4565b6040516104a29190611c26565b60405180910390f35b3480156104b6575f80fd5b506104d160048036038101906104cc9190611f5b565b610eda565b6040516104de9190611c26565b60405180910390f35b3480156104f2575f80fd5b5061050d60048036038101906105089190611ef7565b610f5c565b005b34801561051a575f80fd5b5061053560048036038101906105309190611ef7565b611048565b005b60095481565b6105456110e8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c890611fe3565b60405180910390fd5b6001600d60146101000a81548160ff02191690831515021790555043600681905550565b60606040518060400160405280600c81526020017f426974636f696e2054616c6b0000000000000000000000000000000000000000815250905090565b5f61064561063e6110e8565b84846110ef565b6001905092915050565b5f6012600a61065e919061215d565b6298968061066c91906121a7565b905090565b6106796110e8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610705576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fc90611fe3565b60405180910390fd5b601e8210610711575f80fd5b6028811061071d575f80fd5b8160098190555080600a819055505050565b5f61073b8484846112b2565b6107f8846107476110e8565b6107f3856040518060600160405280602881526020016127f06028913960035f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6107aa6110e8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546115f69092919063ffffffff16565b6110ef565b600190509392505050565b5f6012905090565b6108136110e8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461089f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089690611fe3565b60405180910390fd5b806012600a6108ae919061215d565b620186a06108bc91906121a7565b6108c691906121a7565b60058190555050565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108fc6110e8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610988576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097f90611fe3565b60405180910390fd5b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109c86110e8565b73ffffffffffffffffffffffffffffffffffffffff16146109e7575f80fd5b5f479050600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610a4f573d5f803e3d5ffd5b505f610a5a30610bd0565b9050600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610ac0573d5f803e3d5ffd5b505050565b610acd6110e8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5090611fe3565b60405180910390fd5b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b996110e8565b73ffffffffffffffffffffffffffffffffffffffff1614610bb8575f80fd5b5f610bc230610bd0565b9050610bcd81611658565b50565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610c1e6110e8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610caa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca190611fe3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610d6c6110e8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610df8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610def90611fe3565b60405180910390fd5b60646012600a610e08919061215d565b620186a0610e1691906121a7565b610e2091906121a7565b600581905550565b60055481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040518060400160405280600381526020017f4243540000000000000000000000000000000000000000000000000000000000815250905090565b5f610eca610ec36110e8565b84846112b2565b6001905092915050565b600a5481565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610f646110e8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ff0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe790611fe3565b60405180910390fd5b600160045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b6110506110e8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d390611fe3565b60405180910390fd5b6110e5816118af565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361115d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115490612258565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c2906122e6565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112a59190611c26565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611320576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131790612374565b60405180910390fd5b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806113bb575060045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156113cc575f6008819055506115e6565b600d60149054906101000a900460ff1661141b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611412906123dc565b60405180910390fd5b600554811115611460576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145790612444565b60405180910390fd5b6007546006546114709190612462565b4310156114845760636008819055506115e5565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114e6576009546008819055506115e4565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115db575f61154430610bd0565b90506012600a611554919061215d565b6107d061156191906121a7565b8111156115cc5760026012600a611578919061215d565b620186a061158691906121a7565b61159091906121a7565b8111156115c25760026012600a6115a7919061215d565b620186a06115b591906121a7565b6115bf91906121a7565b90505b6115cb81611658565b5b600a54600881905550506115e3565b5f6008819055505b5b5b5b6115f18383836119d8565b505050565b5f83831115829061163d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116349190611cc9565b60405180910390fd5b505f838561164b9190612495565b9050809150509392505050565b5f600267ffffffffffffffff811115611674576116736124c8565b5b6040519080825280602002602001820160405280156116a25781602001602082028036833780820191505090505b50905030815f815181106116b9576116b86124f5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561175d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117819190612536565b81600181518110611795576117946124f5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506117fb30600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110ef565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f84600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b815260040161187e9594939291906126ac565b5f604051808303815f87803b158015611895575f80fd5b505af11580156118a7573d5f803e3d5ffd5b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361191d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191490612774565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f6064600854836119e991906121a7565b6119f391906127bf565b90505f8183611a029190612495565b90508260025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a4d9190612495565b60025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508060025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ad79190612462565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b619190612462565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611bff9190611c26565b60405180910390a35050505050565b5f819050919050565b611c2081611c0e565b82525050565b5f602082019050611c395f830184611c17565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611c76578082015181840152602081019050611c5b565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611c9b82611c3f565b611ca58185611c49565b9350611cb5818560208601611c59565b611cbe81611c81565b840191505092915050565b5f6020820190508181035f830152611ce18184611c91565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611d1682611ced565b9050919050565b611d2681611d0c565b8114611d30575f80fd5b50565b5f81359050611d4181611d1d565b92915050565b611d5081611c0e565b8114611d5a575f80fd5b50565b5f81359050611d6b81611d47565b92915050565b5f8060408385031215611d8757611d86611ce9565b5b5f611d9485828601611d33565b9250506020611da585828601611d5d565b9150509250929050565b5f8115159050919050565b611dc381611daf565b82525050565b5f602082019050611ddc5f830184611dba565b92915050565b5f8060408385031215611df857611df7611ce9565b5b5f611e0585828601611d5d565b9250506020611e1685828601611d5d565b9150509250929050565b5f805f60608486031215611e3757611e36611ce9565b5b5f611e4486828701611d33565b9350506020611e5586828701611d33565b9250506040611e6686828701611d5d565b9150509250925092565b5f60ff82169050919050565b611e8581611e70565b82525050565b5f602082019050611e9e5f830184611e7c565b92915050565b5f60208284031215611eb957611eb8611ce9565b5b5f611ec684828501611d5d565b91505092915050565b611ed881611d0c565b82525050565b5f602082019050611ef15f830184611ecf565b92915050565b5f60208284031215611f0c57611f0b611ce9565b5b5f611f1984828501611d33565b91505092915050565b5f611f2c82611ced565b9050919050565b611f3c81611f22565b82525050565b5f602082019050611f555f830184611f33565b92915050565b5f8060408385031215611f7157611f70611ce9565b5b5f611f7e85828601611d33565b9250506020611f8f85828601611d33565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611fcd602083611c49565b9150611fd882611f99565b602082019050919050565b5f6020820190508181035f830152611ffa81611fc1565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156120835780860481111561205f5761205e612001565b5b600185161561206e5780820291505b808102905061207c8561202e565b9450612043565b94509492505050565b5f8261209b5760019050612156565b816120a8575f9050612156565b81600181146120be57600281146120c8576120f7565b6001915050612156565b60ff8411156120da576120d9612001565b5b8360020a9150848211156120f1576120f0612001565b5b50612156565b5060208310610133831016604e8410600b841016171561212c5782820a90508381111561212757612126612001565b5b612156565b612139848484600161203a565b925090508184048111156121505761214f612001565b5b81810290505b9392505050565b5f61216782611c0e565b915061217283611e70565b925061219f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461208c565b905092915050565b5f6121b182611c0e565b91506121bc83611c0e565b92508282026121ca81611c0e565b915082820484148315176121e1576121e0612001565b5b5092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612242602483611c49565b915061224d826121e8565b604082019050919050565b5f6020820190508181035f83015261226f81612236565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6122d0602283611c49565b91506122db82612276565b604082019050919050565b5f6020820190508181035f8301526122fd816122c4565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61235e602583611c49565b915061236982612304565b604082019050919050565b5f6020820190508181035f83015261238b81612352565b9050919050565b7f54726164696e67206e6f74206f70656e000000000000000000000000000000005f82015250565b5f6123c6601083611c49565b91506123d182612392565b602082019050919050565b5f6020820190508181035f8301526123f3816123ba565b9050919050565b7f4d6178547820456e61626c6564206174206c61756e63680000000000000000005f82015250565b5f61242e601783611c49565b9150612439826123fa565b602082019050919050565b5f6020820190508181035f83015261245b81612422565b9050919050565b5f61246c82611c0e565b915061247783611c0e565b925082820190508082111561248f5761248e612001565b5b92915050565b5f61249f82611c0e565b91506124aa83611c0e565b92508282039050818111156124c2576124c1612001565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061253081611d1d565b92915050565b5f6020828403121561254b5761254a611ce9565b5b5f61255884828501612522565b91505092915050565b5f819050919050565b5f819050919050565b5f61258d61258861258384612561565b61256a565b611c0e565b9050919050565b61259d81612573565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6125d581611d0c565b82525050565b5f6125e683836125cc565b60208301905092915050565b5f602082019050919050565b5f612608826125a3565b61261281856125ad565b935061261d836125bd565b805f5b8381101561264d57815161263488826125db565b975061263f836125f2565b925050600181019050612620565b5085935050505092915050565b5f61267461266f61266a84611ced565b61256a565b611ced565b9050919050565b5f6126858261265a565b9050919050565b5f6126968261267b565b9050919050565b6126a68161268c565b82525050565b5f60a0820190506126bf5f830188611c17565b6126cc6020830187612594565b81810360408301526126de81866125fe565b90506126ed606083018561269d565b6126fa6080830184611c17565b9695505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61275e602683611c49565b915061276982612704565b604082019050919050565b5f6020820190508181035f83015261278b81612752565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6127c982611c0e565b91506127d483611c0e565b9250826127e4576127e3612792565b5b82820490509291505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122055ffb4ac4b7d9917bd0ac67bae513aa89af6c80f501606f65385602551d55d2664736f6c63430008140033

Deployed Bytecode

0x60806040526004361061014e575f3560e01c806370a08231116100b557806395d89b411161006e57806395d89b411461041b578063a9059cbb14610445578063b45e83f814610481578063dd62ed3e146104ab578063e57f14e1146104e7578063f2fde38b1461050f57610155565b806370a0823114610335578063715018a614610371578063751039fc146103875780638c0b5e221461039d5780638da5cb5b146103c75780638ea5220f146103f157610155565b806323b872dd1161010757806323b872dd14610251578063313ce5671461028d578063322f9db0146102b757806349bd5a5e146102df578063616eb638146103095780636ac5eeee1461031f57610155565b806301143fea1461015957806302ac81681461018357806306fdde0314610199578063095ea7b3146101c357806318160ddd146101ff57806321ecff5b1461022957610155565b3661015557005b5f80fd5b348015610164575f80fd5b5061016d610537565b60405161017a9190611c26565b60405180910390f35b34801561018e575f80fd5b5061019761053d565b005b3480156101a4575f80fd5b506101ad6105f5565b6040516101ba9190611cc9565b60405180910390f35b3480156101ce575f80fd5b506101e960048036038101906101e49190611d71565b610632565b6040516101f69190611dc9565b60405180910390f35b34801561020a575f80fd5b5061021361064f565b6040516102209190611c26565b60405180910390f35b348015610234575f80fd5b5061024f600480360381019061024a9190611de2565b610671565b005b34801561025c575f80fd5b5061027760048036038101906102729190611e20565b61072f565b6040516102849190611dc9565b60405180910390f35b348015610298575f80fd5b506102a1610803565b6040516102ae9190611e8b565b60405180910390f35b3480156102c2575f80fd5b506102dd60048036038101906102d89190611ea4565b61080b565b005b3480156102ea575f80fd5b506102f36108cf565b6040516103009190611ede565b60405180910390f35b348015610314575f80fd5b5061031d6108f4565b005b34801561032a575f80fd5b50610333610ac5565b005b348015610340575f80fd5b5061035b60048036038101906103569190611ef7565b610bd0565b6040516103689190611c26565b60405180910390f35b34801561037c575f80fd5b50610385610c16565b005b348015610392575f80fd5b5061039b610d64565b005b3480156103a8575f80fd5b506103b1610e28565b6040516103be9190611c26565b60405180910390f35b3480156103d2575f80fd5b506103db610e2e565b6040516103e89190611ede565b60405180910390f35b3480156103fc575f80fd5b50610405610e55565b6040516104129190611f42565b60405180910390f35b348015610426575f80fd5b5061042f610e7a565b60405161043c9190611cc9565b60405180910390f35b348015610450575f80fd5b5061046b60048036038101906104669190611d71565b610eb7565b6040516104789190611dc9565b60405180910390f35b34801561048c575f80fd5b50610495610ed4565b6040516104a29190611c26565b60405180910390f35b3480156104b6575f80fd5b506104d160048036038101906104cc9190611f5b565b610eda565b6040516104de9190611c26565b60405180910390f35b3480156104f2575f80fd5b5061050d60048036038101906105089190611ef7565b610f5c565b005b34801561051a575f80fd5b5061053560048036038101906105309190611ef7565b611048565b005b60095481565b6105456110e8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c890611fe3565b60405180910390fd5b6001600d60146101000a81548160ff02191690831515021790555043600681905550565b60606040518060400160405280600c81526020017f426974636f696e2054616c6b0000000000000000000000000000000000000000815250905090565b5f61064561063e6110e8565b84846110ef565b6001905092915050565b5f6012600a61065e919061215d565b6298968061066c91906121a7565b905090565b6106796110e8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610705576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fc90611fe3565b60405180910390fd5b601e8210610711575f80fd5b6028811061071d575f80fd5b8160098190555080600a819055505050565b5f61073b8484846112b2565b6107f8846107476110e8565b6107f3856040518060600160405280602881526020016127f06028913960035f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6107aa6110e8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546115f69092919063ffffffff16565b6110ef565b600190509392505050565b5f6012905090565b6108136110e8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461089f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089690611fe3565b60405180910390fd5b806012600a6108ae919061215d565b620186a06108bc91906121a7565b6108c691906121a7565b60058190555050565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108fc6110e8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610988576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097f90611fe3565b60405180910390fd5b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109c86110e8565b73ffffffffffffffffffffffffffffffffffffffff16146109e7575f80fd5b5f479050600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610a4f573d5f803e3d5ffd5b505f610a5a30610bd0565b9050600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610ac0573d5f803e3d5ffd5b505050565b610acd6110e8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5090611fe3565b60405180910390fd5b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b996110e8565b73ffffffffffffffffffffffffffffffffffffffff1614610bb8575f80fd5b5f610bc230610bd0565b9050610bcd81611658565b50565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610c1e6110e8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610caa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca190611fe3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610d6c6110e8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610df8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610def90611fe3565b60405180910390fd5b60646012600a610e08919061215d565b620186a0610e1691906121a7565b610e2091906121a7565b600581905550565b60055481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040518060400160405280600381526020017f4243540000000000000000000000000000000000000000000000000000000000815250905090565b5f610eca610ec36110e8565b84846112b2565b6001905092915050565b600a5481565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610f646110e8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ff0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe790611fe3565b60405180910390fd5b600160045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b6110506110e8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d390611fe3565b60405180910390fd5b6110e5816118af565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361115d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115490612258565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c2906122e6565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112a59190611c26565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611320576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131790612374565b60405180910390fd5b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806113bb575060045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156113cc575f6008819055506115e6565b600d60149054906101000a900460ff1661141b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611412906123dc565b60405180910390fd5b600554811115611460576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145790612444565b60405180910390fd5b6007546006546114709190612462565b4310156114845760636008819055506115e5565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114e6576009546008819055506115e4565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115db575f61154430610bd0565b90506012600a611554919061215d565b6107d061156191906121a7565b8111156115cc5760026012600a611578919061215d565b620186a061158691906121a7565b61159091906121a7565b8111156115c25760026012600a6115a7919061215d565b620186a06115b591906121a7565b6115bf91906121a7565b90505b6115cb81611658565b5b600a54600881905550506115e3565b5f6008819055505b5b5b5b6115f18383836119d8565b505050565b5f83831115829061163d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116349190611cc9565b60405180910390fd5b505f838561164b9190612495565b9050809150509392505050565b5f600267ffffffffffffffff811115611674576116736124c8565b5b6040519080825280602002602001820160405280156116a25781602001602082028036833780820191505090505b50905030815f815181106116b9576116b86124f5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561175d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117819190612536565b81600181518110611795576117946124f5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506117fb30600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110ef565b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f84600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b815260040161187e9594939291906126ac565b5f604051808303815f87803b158015611895575f80fd5b505af11580156118a7573d5f803e3d5ffd5b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361191d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191490612774565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f6064600854836119e991906121a7565b6119f391906127bf565b90505f8183611a029190612495565b90508260025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a4d9190612495565b60025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508060025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ad79190612462565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b619190612462565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611bff9190611c26565b60405180910390a35050505050565b5f819050919050565b611c2081611c0e565b82525050565b5f602082019050611c395f830184611c17565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611c76578082015181840152602081019050611c5b565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611c9b82611c3f565b611ca58185611c49565b9350611cb5818560208601611c59565b611cbe81611c81565b840191505092915050565b5f6020820190508181035f830152611ce18184611c91565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611d1682611ced565b9050919050565b611d2681611d0c565b8114611d30575f80fd5b50565b5f81359050611d4181611d1d565b92915050565b611d5081611c0e565b8114611d5a575f80fd5b50565b5f81359050611d6b81611d47565b92915050565b5f8060408385031215611d8757611d86611ce9565b5b5f611d9485828601611d33565b9250506020611da585828601611d5d565b9150509250929050565b5f8115159050919050565b611dc381611daf565b82525050565b5f602082019050611ddc5f830184611dba565b92915050565b5f8060408385031215611df857611df7611ce9565b5b5f611e0585828601611d5d565b9250506020611e1685828601611d5d565b9150509250929050565b5f805f60608486031215611e3757611e36611ce9565b5b5f611e4486828701611d33565b9350506020611e5586828701611d33565b9250506040611e6686828701611d5d565b9150509250925092565b5f60ff82169050919050565b611e8581611e70565b82525050565b5f602082019050611e9e5f830184611e7c565b92915050565b5f60208284031215611eb957611eb8611ce9565b5b5f611ec684828501611d5d565b91505092915050565b611ed881611d0c565b82525050565b5f602082019050611ef15f830184611ecf565b92915050565b5f60208284031215611f0c57611f0b611ce9565b5b5f611f1984828501611d33565b91505092915050565b5f611f2c82611ced565b9050919050565b611f3c81611f22565b82525050565b5f602082019050611f555f830184611f33565b92915050565b5f8060408385031215611f7157611f70611ce9565b5b5f611f7e85828601611d33565b9250506020611f8f85828601611d33565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611fcd602083611c49565b9150611fd882611f99565b602082019050919050565b5f6020820190508181035f830152611ffa81611fc1565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156120835780860481111561205f5761205e612001565b5b600185161561206e5780820291505b808102905061207c8561202e565b9450612043565b94509492505050565b5f8261209b5760019050612156565b816120a8575f9050612156565b81600181146120be57600281146120c8576120f7565b6001915050612156565b60ff8411156120da576120d9612001565b5b8360020a9150848211156120f1576120f0612001565b5b50612156565b5060208310610133831016604e8410600b841016171561212c5782820a90508381111561212757612126612001565b5b612156565b612139848484600161203a565b925090508184048111156121505761214f612001565b5b81810290505b9392505050565b5f61216782611c0e565b915061217283611e70565b925061219f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461208c565b905092915050565b5f6121b182611c0e565b91506121bc83611c0e565b92508282026121ca81611c0e565b915082820484148315176121e1576121e0612001565b5b5092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612242602483611c49565b915061224d826121e8565b604082019050919050565b5f6020820190508181035f83015261226f81612236565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6122d0602283611c49565b91506122db82612276565b604082019050919050565b5f6020820190508181035f8301526122fd816122c4565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61235e602583611c49565b915061236982612304565b604082019050919050565b5f6020820190508181035f83015261238b81612352565b9050919050565b7f54726164696e67206e6f74206f70656e000000000000000000000000000000005f82015250565b5f6123c6601083611c49565b91506123d182612392565b602082019050919050565b5f6020820190508181035f8301526123f3816123ba565b9050919050565b7f4d6178547820456e61626c6564206174206c61756e63680000000000000000005f82015250565b5f61242e601783611c49565b9150612439826123fa565b602082019050919050565b5f6020820190508181035f83015261245b81612422565b9050919050565b5f61246c82611c0e565b915061247783611c0e565b925082820190508082111561248f5761248e612001565b5b92915050565b5f61249f82611c0e565b91506124aa83611c0e565b92508282039050818111156124c2576124c1612001565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061253081611d1d565b92915050565b5f6020828403121561254b5761254a611ce9565b5b5f61255884828501612522565b91505092915050565b5f819050919050565b5f819050919050565b5f61258d61258861258384612561565b61256a565b611c0e565b9050919050565b61259d81612573565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6125d581611d0c565b82525050565b5f6125e683836125cc565b60208301905092915050565b5f602082019050919050565b5f612608826125a3565b61261281856125ad565b935061261d836125bd565b805f5b8381101561264d57815161263488826125db565b975061263f836125f2565b925050600181019050612620565b5085935050505092915050565b5f61267461266f61266a84611ced565b61256a565b611ced565b9050919050565b5f6126858261265a565b9050919050565b5f6126968261267b565b9050919050565b6126a68161268c565b82525050565b5f60a0820190506126bf5f830188611c17565b6126cc6020830187612594565b81810360408301526126de81866125fe565b90506126ed606083018561269d565b6126fa6080830184611c17565b9695505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61275e602683611c49565b915061276982612704565b604082019050919050565b5f6020820190508181035f83015261278b81612752565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6127c982611c0e565b91506127d483611c0e565b9250826127e4576127e3612792565b5b82820490509291505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122055ffb4ac4b7d9917bd0ac67bae513aa89af6c80f501606f65385602551d55d2664736f6c63430008140033

Deployed Bytecode Sourcemap

3738:6604:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4514:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7053:124;;;;;;;;;;;;;:::i;:::-;;5388:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6222:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5665:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7526:185;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6390:310;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5574:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7304:114;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4743:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9314:308;;;;;;;;;;;;;:::i;:::-;;9631:196;;;;;;;;;;;;;:::i;:::-;;5773:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3067:148;;;;;;;;;;;;;:::i;:::-;;7426:92;;;;;;;;;;;;;:::i;:::-;;4370:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2499:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4778:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5479:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5899:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4550:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6072:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7185:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2713:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4514:29;;;;:::o;7053:124::-;2636:12;:10;:12::i;:::-;2626:22;;:6;;;;;;;;;;:22;;;2618:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7128:4:::1;7111:14;;:21;;;;;;;;;;;;;;;;;;7157:12;7143:11;:26;;;;7053:124::o:0;5388:83::-;5425:13;5458:5;;;;;;;;;;;;;;;;;5451:12;;5388:83;:::o;6222:160::-;6297:4;6313:39;6322:12;:10;:12::i;:::-;6336:7;6345:6;6313:8;:39::i;:::-;6370:4;6363:11;;6222:160;;;;:::o;5665:100::-;5718:7;4093:2;4150;:13;;;;:::i;:::-;4142:5;:21;;;;:::i;:::-;5738:19;;5665:100;:::o;7526:185::-;2636:12;:10;:12::i;:::-;2626:22;;:6;;;;;;;;;;:22;;;2618:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7617:2:::1;7611:3;:8;7603:17;;;::::0;::::1;;7646:2;7639:4;:9;7631:18;;;::::0;::::1;;7672:3;7660:9;:15;;;;7699:4;7686:10;:17;;;;7526:185:::0;;:::o;6390:310::-;6488:4;6505:36;6515:6;6523:9;6534:6;6505:9;:36::i;:::-;6552:118;6561:6;6568:12;:10;:12::i;:::-;6581:88;6619:6;6581:88;;;;;;;;;;;;;;;;;:11;:19;6593:6;6581:19;;;;;;;;;;;;;;;:33;6601:12;:10;:12::i;:::-;6581:33;;;;;;;;;;;;;;;;:37;;:88;;;;;:::i;:::-;6552:8;:118::i;:::-;6688:4;6681:11;;6390:310;;;;;:::o;5574:83::-;5615:5;4093:2;5633:16;;5574:83;:::o;7304:114::-;2636:12;:10;:12::i;:::-;2626:22;;:6;;;;;;;;;;:22;;;2618:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7403:7:::1;4093:2;4326;:13;;;;:::i;:::-;4317:6;:22;;;;:::i;:::-;7390:20;;;;:::i;:::-;7376:11;:34;;;;7304:114:::0;:::o;4743:28::-;;;;;;;;;;;;;:::o;9314:308::-;2636:12;:10;:12::i;:::-;2626:22;;:6;;;;;;;;;;:22;;;2618:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9387:9:::1;;;;;;;;;;;9371:25;;:12;:10;:12::i;:::-;:25;;;9363:34;;;::::0;::::1;;9408:26;9437:21;9408:50;;9469:9;;;;;;;;;;;:18;;:38;9488:18;9469:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;9518:23;9544:24;9562:4;9544:9;:24::i;:::-;9518:50;;9579:9;;;;;;;;;;;:18;;:35;9598:15;9579:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;9352:270;;9314:308::o:0;9631:196::-;2636:12;:10;:12::i;:::-;2626:22;;:6;;;;;;;;;;:22;;;2618:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9704:9:::1;;;;;;;;;;;9688:25;;:12;:10;:12::i;:::-;:25;;;9680:34;;;::::0;::::1;;9725:23;9751:24;9769:4;9751:9;:24::i;:::-;9725:50;;9786:33;9803:15;9786:16;:33::i;:::-;9669:158;9631:196::o:0;5773:118::-;5839:7;5866:8;:17;5875:7;5866:17;;;;;;;;;;;;;;;;5859:24;;5773:118;;;:::o;3067:148::-;2636:12;:10;:12::i;:::-;2626:22;;:6;;;;;;;;;;:22;;;2618:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3174:1:::1;3137:40;;3158:6;::::0;::::1;;;;;;;;3137:40;;;;;;;;;;;;3205:1;3188:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3067:148::o:0;7426:92::-;2636:12;:10;:12::i;:::-;2626:22;;:6;;;;;;;;;;:22;;;2618:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7507:3:::1;4093:2;4326;:13;;;;:::i;:::-;4317:6;:22;;;;:::i;:::-;7494:16;;;;:::i;:::-;7480:11;:30;;;;7426:92::o:0;4370:43::-;;;;:::o;2499:79::-;2537:7;2564:6;;;;;;;;;;;2557:13;;2499:79;:::o;4778:32::-;;;;;;;;;;;;;:::o;5479:87::-;5518:13;5551:7;;;;;;;;;;;;;;;;;5544:14;;5479:87;:::o;5899:165::-;5976:4;5992:42;6002:12;:10;:12::i;:::-;6016:9;6027:6;5992:9;:42::i;:::-;6052:4;6045:11;;5899:165;;;;:::o;4550:30::-;;;;:::o;6072:142::-;6153:7;6179:11;:18;6191:5;6179:18;;;;;;;;;;;;;;;:27;6198:7;6179:27;;;;;;;;;;;;;;;;6172:34;;6072:142;;;;:::o;7185:111::-;2636:12;:10;:12::i;:::-;2626:22;;:6;;;;;;;;;;:22;;;2618:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7284:4:::1;7256:17;:25;7274:6;7256:25;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;7185:111:::0;:::o;2713:109::-;2636:12;:10;:12::i;:::-;2626:22;;:6;;;;;;;;;;:22;;;2618:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2786:28:::1;2805:8;2786:18;:28::i;:::-;2713:109:::0;:::o;194:98::-;247:7;274:10;267:17;;194:98;:::o;6708:335::-;6818:1;6801:19;;:5;:19;;;6793:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6899:1;6880:21;;:7;:21;;;6872:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6981:6;6951:11;:18;6963:5;6951:18;;;;;;;;;;;;;;;:27;6970:7;6951:27;;;;;;;;;;;;;;;:36;;;;7019:7;7003:32;;7012:5;7003:32;;;7028:6;7003:32;;;;;;:::i;:::-;;;;;;;;6708:335;;;:::o;8147:1159::-;8251:1;8235:18;;:4;:18;;;8227:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8312:17;:23;8330:4;8312:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;8339:17;:21;8357:2;8339:21;;;;;;;;;;;;;;;;;;;;;;;;;8312:48;8308:948;;;8384:1;8377:4;:8;;;;8308:948;;;8426:14;;;;;;;;;;;8418:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;8494:11;;8484:6;:21;;8476:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;8581:2;;8567:11;;:16;;;;:::i;:::-;8552:12;:31;8548:697;;;8591:2;8586:4;:7;;;;8548:697;;;8632:13;;;;;;;;;;;8624:21;;:4;:21;;;8620:610;;8677:9;;8670:4;:16;;;;8620:610;;;8722:13;;;;;;;;;;;8716:19;;:2;:19;;;8712:518;;8760:20;8783:24;8801:4;8783:9;:24::i;:::-;8760:47;;4093:2;4242;:13;;;;:::i;:::-;4235:4;:20;;;;:::i;:::-;8834:12;:22;8830:284;;;8942:1;4093:2;4326;:13;;;;:::i;:::-;4317:6;:22;;;;:::i;:::-;8929:14;;;;:::i;:::-;8914:12;:29;8910:124;;;9005:1;4093:2;4326;:13;;;;:::i;:::-;4317:6;:22;;;;:::i;:::-;8992:14;;;;:::i;:::-;8977:29;;8910:124;9060:30;9077:12;9060:16;:30::i;:::-;8830:284;9143:10;;9136:4;:17;;;;8737:436;8712:518;;;9209:1;9202:4;:8;;;;8712:518;8620:610;8548:697;8308:948;9266:32;9281:4;9287:2;9291:6;9266:14;:32::i;:::-;8147:1159;;;:::o;1332:190::-;1418:7;1451:1;1446;:6;;1454:12;1438:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1478:9;1494:1;1490;:5;;;;:::i;:::-;1478:17;;1513:1;1506:8;;;1332:190;;;;;:::o;9837:467::-;9903:21;9941:1;9927:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9903:40;;9972:4;9954;9959:1;9954:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;9998:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9988:4;9993:1;9988:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;10031:62;10048:4;10063:15;;;;;;;;;;;10081:11;10031:8;:62::i;:::-;10104:15;;;;;;;;;;;:66;;;10185:11;10211:1;10227:4;10246:9;;;;;;;;;;;10270:15;10104:192;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9892:412;9837:467;:::o;2830:229::-;2924:1;2904:22;;:8;:22;;;2896:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3014:8;2985:38;;3006:6;;;;;;;;;;2985:38;;;;;;;;;;;;3043:8;3034:6;;:17;;;;;;;;;;;;;;;;;;2830:229;:::o;7719:420::-;7804:17;7842:3;7834:4;;7825:6;:13;;;;:::i;:::-;7824:21;;;;:::i;:::-;7804:41;;7856:22;7890:9;7881:6;:18;;;;:::i;:::-;7856:43;;7946:6;7929:8;:14;7938:4;7929:14;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;7912:8;:14;7921:4;7912:14;;;;;;;;;;;;;;;:40;;;;7993:14;7978:8;:12;7987:2;7978:12;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;7963:8;:12;7972:2;7963:12;;;;;;;;;;;;;;;:44;;;;8070:9;8044:8;:23;8061:4;8044:23;;;;;;;;;;;;;;;;:35;;;;:::i;:::-;8018:8;:23;8035:4;8018:23;;;;;;;;;;;;;;;:61;;;;8112:2;8097:34;;8106:4;8097:34;;;8116:14;8097:34;;;;;;:::i;:::-;;;;;;;;7793:346;;7719:420;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:246::-;803:1;813:113;827:6;824:1;821:13;813:113;;;912:1;907:3;903:11;897:18;893:1;888:3;884:11;877:39;849:2;846:1;842:10;837:15;;813:113;;;960:1;951:6;946:3;942:16;935:27;784:184;722:246;;;:::o;974:102::-;1015:6;1066:2;1062:7;1057:2;1050:5;1046:14;1042:28;1032:38;;974:102;;;:::o;1082:377::-;1170:3;1198:39;1231:5;1198:39;:::i;:::-;1253:71;1317:6;1312:3;1253:71;:::i;:::-;1246:78;;1333:65;1391:6;1386:3;1379:4;1372:5;1368:16;1333:65;:::i;:::-;1423:29;1445:6;1423:29;:::i;:::-;1418:3;1414:39;1407:46;;1174:285;1082:377;;;;:::o;1465:313::-;1578:4;1616:2;1605:9;1601:18;1593:26;;1665:9;1659:4;1655:20;1651:1;1640:9;1636:17;1629:47;1693:78;1766:4;1757:6;1693:78;:::i;:::-;1685:86;;1465:313;;;;:::o;1865:117::-;1974:1;1971;1964:12;2111:126;2148:7;2188:42;2181:5;2177:54;2166:65;;2111:126;;;:::o;2243:96::-;2280:7;2309:24;2327:5;2309:24;:::i;:::-;2298:35;;2243:96;;;:::o;2345:122::-;2418:24;2436:5;2418:24;:::i;:::-;2411:5;2408:35;2398:63;;2457:1;2454;2447:12;2398:63;2345:122;:::o;2473:139::-;2519:5;2557:6;2544:20;2535:29;;2573:33;2600:5;2573:33;:::i;:::-;2473:139;;;;:::o;2618:122::-;2691:24;2709:5;2691:24;:::i;:::-;2684:5;2681:35;2671:63;;2730:1;2727;2720:12;2671:63;2618:122;:::o;2746:139::-;2792:5;2830:6;2817:20;2808:29;;2846:33;2873:5;2846:33;:::i;:::-;2746:139;;;;:::o;2891:474::-;2959:6;2967;3016:2;3004:9;2995:7;2991:23;2987:32;2984:119;;;3022:79;;:::i;:::-;2984:119;3142:1;3167:53;3212:7;3203:6;3192:9;3188:22;3167:53;:::i;:::-;3157:63;;3113:117;3269:2;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3240:118;2891:474;;;;;:::o;3371:90::-;3405:7;3448:5;3441:13;3434:21;3423:32;;3371:90;;;:::o;3467:109::-;3548:21;3563:5;3548:21;:::i;:::-;3543:3;3536:34;3467:109;;:::o;3582:210::-;3669:4;3707:2;3696:9;3692:18;3684:26;;3720:65;3782:1;3771:9;3767:17;3758:6;3720:65;:::i;:::-;3582:210;;;;:::o;3798:474::-;3866:6;3874;3923:2;3911:9;3902:7;3898:23;3894:32;3891:119;;;3929:79;;:::i;:::-;3891:119;4049:1;4074:53;4119:7;4110:6;4099:9;4095:22;4074:53;:::i;:::-;4064:63;;4020:117;4176:2;4202:53;4247:7;4238:6;4227:9;4223:22;4202:53;:::i;:::-;4192:63;;4147:118;3798:474;;;;;:::o;4278:619::-;4355:6;4363;4371;4420:2;4408:9;4399:7;4395:23;4391:32;4388:119;;;4426:79;;:::i;:::-;4388:119;4546:1;4571:53;4616:7;4607:6;4596:9;4592:22;4571:53;:::i;:::-;4561:63;;4517:117;4673:2;4699:53;4744:7;4735:6;4724:9;4720:22;4699:53;:::i;:::-;4689:63;;4644:118;4801:2;4827:53;4872:7;4863:6;4852:9;4848:22;4827:53;:::i;:::-;4817:63;;4772:118;4278:619;;;;;:::o;4903:86::-;4938:7;4978:4;4971:5;4967:16;4956:27;;4903:86;;;:::o;4995:112::-;5078:22;5094:5;5078:22;:::i;:::-;5073:3;5066:35;4995:112;;:::o;5113:214::-;5202:4;5240:2;5229:9;5225:18;5217:26;;5253:67;5317:1;5306:9;5302:17;5293:6;5253:67;:::i;:::-;5113:214;;;;:::o;5333:329::-;5392:6;5441:2;5429:9;5420:7;5416:23;5412:32;5409:119;;;5447:79;;:::i;:::-;5409:119;5567:1;5592:53;5637:7;5628:6;5617:9;5613:22;5592:53;:::i;:::-;5582:63;;5538:117;5333:329;;;;:::o;5668:118::-;5755:24;5773:5;5755:24;:::i;:::-;5750:3;5743:37;5668:118;;:::o;5792:222::-;5885:4;5923:2;5912:9;5908:18;5900:26;;5936:71;6004:1;5993:9;5989:17;5980:6;5936:71;:::i;:::-;5792:222;;;;:::o;6020:329::-;6079:6;6128:2;6116:9;6107:7;6103:23;6099:32;6096:119;;;6134:79;;:::i;:::-;6096:119;6254:1;6279:53;6324:7;6315:6;6304:9;6300:22;6279:53;:::i;:::-;6269:63;;6225:117;6020:329;;;;:::o;6355:104::-;6400:7;6429:24;6447:5;6429:24;:::i;:::-;6418:35;;6355:104;;;:::o;6465:142::-;6568:32;6594:5;6568:32;:::i;:::-;6563:3;6556:45;6465:142;;:::o;6613:254::-;6722:4;6760:2;6749:9;6745:18;6737:26;;6773:87;6857:1;6846:9;6842:17;6833:6;6773:87;:::i;:::-;6613:254;;;;:::o;6873:474::-;6941:6;6949;6998:2;6986:9;6977:7;6973:23;6969:32;6966:119;;;7004:79;;:::i;:::-;6966:119;7124:1;7149:53;7194:7;7185:6;7174:9;7170:22;7149:53;:::i;:::-;7139:63;;7095:117;7251:2;7277:53;7322:7;7313:6;7302:9;7298:22;7277:53;:::i;:::-;7267:63;;7222:118;6873:474;;;;;:::o;7353:182::-;7493:34;7489:1;7481:6;7477:14;7470:58;7353:182;:::o;7541:366::-;7683:3;7704:67;7768:2;7763:3;7704:67;:::i;:::-;7697:74;;7780:93;7869:3;7780:93;:::i;:::-;7898:2;7893:3;7889:12;7882:19;;7541:366;;;:::o;7913:419::-;8079:4;8117:2;8106:9;8102:18;8094:26;;8166:9;8160:4;8156:20;8152:1;8141:9;8137:17;8130:47;8194:131;8320:4;8194:131;:::i;:::-;8186:139;;7913:419;;;:::o;8338:180::-;8386:77;8383:1;8376:88;8483:4;8480:1;8473:15;8507:4;8504:1;8497:15;8524:102;8566:8;8613:5;8610:1;8606:13;8585:34;;8524:102;;;:::o;8632:848::-;8693:5;8700:4;8724:6;8715:15;;8748:5;8739:14;;8762:712;8783:1;8773:8;8770:15;8762:712;;;8878:4;8873:3;8869:14;8863:4;8860:24;8857:50;;;8887:18;;:::i;:::-;8857:50;8937:1;8927:8;8923:16;8920:451;;;9352:4;9345:5;9341:16;9332:25;;8920:451;9402:4;9396;9392:15;9384:23;;9432:32;9455:8;9432:32;:::i;:::-;9420:44;;8762:712;;;8632:848;;;;;;;:::o;9486:1073::-;9540:5;9731:8;9721:40;;9752:1;9743:10;;9754:5;;9721:40;9780:4;9770:36;;9797:1;9788:10;;9799:5;;9770:36;9866:4;9914:1;9909:27;;;;9950:1;9945:191;;;;9859:277;;9909:27;9927:1;9918:10;;9929:5;;;9945:191;9990:3;9980:8;9977:17;9974:43;;;9997:18;;:::i;:::-;9974:43;10046:8;10043:1;10039:16;10030:25;;10081:3;10074:5;10071:14;10068:40;;;10088:18;;:::i;:::-;10068:40;10121:5;;;9859:277;;10245:2;10235:8;10232:16;10226:3;10220:4;10217:13;10213:36;10195:2;10185:8;10182:16;10177:2;10171:4;10168:12;10164:35;10148:111;10145:246;;;10301:8;10295:4;10291:19;10282:28;;10336:3;10329:5;10326:14;10323:40;;;10343:18;;:::i;:::-;10323:40;10376:5;;10145:246;10416:42;10454:3;10444:8;10438:4;10435:1;10416:42;:::i;:::-;10401:57;;;;10490:4;10485:3;10481:14;10474:5;10471:25;10468:51;;;10499:18;;:::i;:::-;10468:51;10548:4;10541:5;10537:16;10528:25;;9486:1073;;;;;;:::o;10565:281::-;10623:5;10647:23;10665:4;10647:23;:::i;:::-;10639:31;;10691:25;10707:8;10691:25;:::i;:::-;10679:37;;10735:104;10772:66;10762:8;10756:4;10735:104;:::i;:::-;10726:113;;10565:281;;;;:::o;10852:410::-;10892:7;10915:20;10933:1;10915:20;:::i;:::-;10910:25;;10949:20;10967:1;10949:20;:::i;:::-;10944:25;;11004:1;11001;10997:9;11026:30;11044:11;11026:30;:::i;:::-;11015:41;;11205:1;11196:7;11192:15;11189:1;11186:22;11166:1;11159:9;11139:83;11116:139;;11235:18;;:::i;:::-;11116:139;10900:362;10852:410;;;;:::o;11268:223::-;11408:34;11404:1;11396:6;11392:14;11385:58;11477:6;11472:2;11464:6;11460:15;11453:31;11268:223;:::o;11497:366::-;11639:3;11660:67;11724:2;11719:3;11660:67;:::i;:::-;11653:74;;11736:93;11825:3;11736:93;:::i;:::-;11854:2;11849:3;11845:12;11838:19;;11497:366;;;:::o;11869:419::-;12035:4;12073:2;12062:9;12058:18;12050:26;;12122:9;12116:4;12112:20;12108:1;12097:9;12093:17;12086:47;12150:131;12276:4;12150:131;:::i;:::-;12142:139;;11869:419;;;:::o;12294:221::-;12434:34;12430:1;12422:6;12418:14;12411:58;12503:4;12498:2;12490:6;12486:15;12479:29;12294:221;:::o;12521:366::-;12663:3;12684:67;12748:2;12743:3;12684:67;:::i;:::-;12677:74;;12760:93;12849:3;12760:93;:::i;:::-;12878:2;12873:3;12869:12;12862:19;;12521:366;;;:::o;12893:419::-;13059:4;13097:2;13086:9;13082:18;13074:26;;13146:9;13140:4;13136:20;13132:1;13121:9;13117:17;13110:47;13174:131;13300:4;13174:131;:::i;:::-;13166:139;;12893:419;;;:::o;13318:224::-;13458:34;13454:1;13446:6;13442:14;13435:58;13527:7;13522:2;13514:6;13510:15;13503:32;13318:224;:::o;13548:366::-;13690:3;13711:67;13775:2;13770:3;13711:67;:::i;:::-;13704:74;;13787:93;13876:3;13787:93;:::i;:::-;13905:2;13900:3;13896:12;13889:19;;13548:366;;;:::o;13920:419::-;14086:4;14124:2;14113:9;14109:18;14101:26;;14173:9;14167:4;14163:20;14159:1;14148:9;14144:17;14137:47;14201:131;14327:4;14201:131;:::i;:::-;14193:139;;13920:419;;;:::o;14345:166::-;14485:18;14481:1;14473:6;14469:14;14462:42;14345:166;:::o;14517:366::-;14659:3;14680:67;14744:2;14739:3;14680:67;:::i;:::-;14673:74;;14756:93;14845:3;14756:93;:::i;:::-;14874:2;14869:3;14865:12;14858:19;;14517:366;;;:::o;14889:419::-;15055:4;15093:2;15082:9;15078:18;15070:26;;15142:9;15136:4;15132:20;15128:1;15117:9;15113:17;15106:47;15170:131;15296:4;15170:131;:::i;:::-;15162:139;;14889:419;;;:::o;15314:173::-;15454:25;15450:1;15442:6;15438:14;15431:49;15314:173;:::o;15493:366::-;15635:3;15656:67;15720:2;15715:3;15656:67;:::i;:::-;15649:74;;15732:93;15821:3;15732:93;:::i;:::-;15850:2;15845:3;15841:12;15834:19;;15493:366;;;:::o;15865:419::-;16031:4;16069:2;16058:9;16054:18;16046:26;;16118:9;16112:4;16108:20;16104:1;16093:9;16089:17;16082:47;16146:131;16272:4;16146:131;:::i;:::-;16138:139;;15865:419;;;:::o;16290:191::-;16330:3;16349:20;16367:1;16349:20;:::i;:::-;16344:25;;16383:20;16401:1;16383:20;:::i;:::-;16378:25;;16426:1;16423;16419:9;16412:16;;16447:3;16444:1;16441:10;16438:36;;;16454:18;;:::i;:::-;16438:36;16290:191;;;;:::o;16487:194::-;16527:4;16547:20;16565:1;16547:20;:::i;:::-;16542:25;;16581:20;16599:1;16581:20;:::i;:::-;16576:25;;16625:1;16622;16618:9;16610:17;;16649:1;16643:4;16640:11;16637:37;;;16654:18;;:::i;:::-;16637:37;16487:194;;;;:::o;16687:180::-;16735:77;16732:1;16725:88;16832:4;16829:1;16822:15;16856:4;16853:1;16846:15;16873:180;16921:77;16918:1;16911:88;17018:4;17015:1;17008:15;17042:4;17039:1;17032:15;17059:143;17116:5;17147:6;17141:13;17132:22;;17163:33;17190:5;17163:33;:::i;:::-;17059:143;;;;:::o;17208:351::-;17278:6;17327:2;17315:9;17306:7;17302:23;17298:32;17295:119;;;17333:79;;:::i;:::-;17295:119;17453:1;17478:64;17534:7;17525:6;17514:9;17510:22;17478:64;:::i;:::-;17468:74;;17424:128;17208:351;;;;:::o;17565:85::-;17610:7;17639:5;17628:16;;17565:85;;;:::o;17656:60::-;17684:3;17705:5;17698:12;;17656:60;;;:::o;17722:158::-;17780:9;17813:61;17831:42;17840:32;17866:5;17840:32;:::i;:::-;17831:42;:::i;:::-;17813:61;:::i;:::-;17800:74;;17722:158;;;:::o;17886:147::-;17981:45;18020:5;17981:45;:::i;:::-;17976:3;17969:58;17886:147;;:::o;18039:114::-;18106:6;18140:5;18134:12;18124:22;;18039:114;;;:::o;18159:184::-;18258:11;18292:6;18287:3;18280:19;18332:4;18327:3;18323:14;18308:29;;18159:184;;;;:::o;18349:132::-;18416:4;18439:3;18431:11;;18469:4;18464:3;18460:14;18452:22;;18349:132;;;:::o;18487:108::-;18564:24;18582:5;18564:24;:::i;:::-;18559:3;18552:37;18487:108;;:::o;18601:179::-;18670:10;18691:46;18733:3;18725:6;18691:46;:::i;:::-;18769:4;18764:3;18760:14;18746:28;;18601:179;;;;:::o;18786:113::-;18856:4;18888;18883:3;18879:14;18871:22;;18786:113;;;:::o;18935:732::-;19054:3;19083:54;19131:5;19083:54;:::i;:::-;19153:86;19232:6;19227:3;19153:86;:::i;:::-;19146:93;;19263:56;19313:5;19263:56;:::i;:::-;19342:7;19373:1;19358:284;19383:6;19380:1;19377:13;19358:284;;;19459:6;19453:13;19486:63;19545:3;19530:13;19486:63;:::i;:::-;19479:70;;19572:60;19625:6;19572:60;:::i;:::-;19562:70;;19418:224;19405:1;19402;19398:9;19393:14;;19358:284;;;19362:14;19658:3;19651:10;;19059:608;;;18935:732;;;;:::o;19673:142::-;19723:9;19756:53;19774:34;19783:24;19801:5;19783:24;:::i;:::-;19774:34;:::i;:::-;19756:53;:::i;:::-;19743:66;;19673:142;;;:::o;19821:126::-;19871:9;19904:37;19935:5;19904:37;:::i;:::-;19891:50;;19821:126;;;:::o;19953:134::-;20011:9;20044:37;20075:5;20044:37;:::i;:::-;20031:50;;19953:134;;;:::o;20093:147::-;20188:45;20227:5;20188:45;:::i;:::-;20183:3;20176:58;20093:147;;:::o;20246:847::-;20517:4;20555:3;20544:9;20540:19;20532:27;;20569:71;20637:1;20626:9;20622:17;20613:6;20569:71;:::i;:::-;20650:80;20726:2;20715:9;20711:18;20702:6;20650:80;:::i;:::-;20777:9;20771:4;20767:20;20762:2;20751:9;20747:18;20740:48;20805:108;20908:4;20899:6;20805:108;:::i;:::-;20797:116;;20923:80;20999:2;20988:9;20984:18;20975:6;20923:80;:::i;:::-;21013:73;21081:3;21070:9;21066:19;21057:6;21013:73;:::i;:::-;20246:847;;;;;;;;:::o;21099:225::-;21239:34;21235:1;21227:6;21223:14;21216:58;21308:8;21303:2;21295:6;21291:15;21284:33;21099:225;:::o;21330:366::-;21472:3;21493:67;21557:2;21552:3;21493:67;:::i;:::-;21486:74;;21569:93;21658:3;21569:93;:::i;:::-;21687:2;21682:3;21678:12;21671:19;;21330:366;;;:::o;21702:419::-;21868:4;21906:2;21895:9;21891:18;21883:26;;21955:9;21949:4;21945:20;21941:1;21930:9;21926:17;21919:47;21983:131;22109:4;21983:131;:::i;:::-;21975:139;;21702:419;;;:::o;22127:180::-;22175:77;22172:1;22165:88;22272:4;22269:1;22262:15;22296:4;22293:1;22286:15;22313:185;22353:1;22370:20;22388:1;22370:20;:::i;:::-;22365:25;;22404:20;22422:1;22404:20;:::i;:::-;22399:25;;22443:1;22433:35;;22448:18;;:::i;:::-;22433:35;22490:1;22487;22483:9;22478:14;;22313:185;;;;:::o

Swarm Source

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