ETH Price: $3,646.12 (-0.37%)
 

Overview

Max Total Supply

100 Machina

Holders

9

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1.052394482293768782 Machina

Value
$0.00
0x0416eb04ed4264f1d4bf9e8f15e18f3ea56e7d3f
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:
elonmusk

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2023-10-22
*/

/*

Web: https://www.spacex.com

X: https://twitter.com/elonmusk/status/1716230049408434540

TG: https://t.me/Elon_Musk_Portal

*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

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

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

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

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

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

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

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

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

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

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}
contract elonmusk is Context, IERC20, Ownable {
    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => uint256) private _FreeWallets;
    uint256 private constant MAX = ~uint256(0);
    uint8 private constant _decimals = 18;
    uint256 private constant _totalSupply = 100 * 10**_decimals;
    uint256 private constant onePercent = (_totalSupply)/20;
    uint256 private constant minimumSwapAmount = 10000000000;
    uint256 private maxSwap = onePercent / 2;
    uint256 public MaximumOneTrxAmount = onePercent;
    uint256 public MxWalletSize = onePercent;
    uint256 private InitialBlockNo;

    uint256 public buyTax = 1;
    uint256 public sellTax = 1;
    
    string private constant _name = "elonmusk";
    string private constant _symbol = "Machina";

    IUniswapV2Router02 private uniswapV2Router;
    address public uniswapV2Pair;
    address immutable public FeesAddress ;

    bool private launch = false;

    constructor() {
        FeesAddress  = 0xF823c37b9C067B1710EA095747DfC2c358BE78f8; 
        _balance[msg.sender] = _totalSupply;
        _FreeWallets[FeesAddress ] = 1;
        _FreeWallets[msg.sender] = 1;
        _FreeWallets[address(this)] = 1;

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

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if(currentAllowance != type(uint256).max) { 
            require(
                currentAllowance >= amount,
                "ERC20: transfer amount exceeds allowance"
            );
            unchecked {
                _approve(sender, _msgSender(), currentAllowance - amount);
            }
        }
        return true;
    }

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

    function StartTrading() external onlyOwner {
        require(!launch,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _approve(address(this), address(uniswapV2Router), _totalSupply);
        
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        launch = true;
        InitialBlockNo = block.number;
    }

    function FreeFromLimits() external onlyOwner {
        MaximumOneTrxAmount = _totalSupply;
        MxWalletSize = _totalSupply;
    }

    function ChangeTaxes(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        require(newBuyTax + newSellTax <= 100, "Tax too high");
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }

    function _tokenTransfer(address from, address to, uint256 amount, uint256 _tax) private {
        uint256 taxTokens = (amount * _tax) / 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");
        require(amount > 0, "ERC20: no tokens transferred");
        uint256 _tax = 0;
        if (_FreeWallets[from] == 0 && _FreeWallets[to] == 0)
        {
            require(launch, "Trading not open");
            require(amount <= MaximumOneTrxAmount, "MaxTx Enabled at launch");
            if (to != uniswapV2Pair && to != address(0xdead)) require(balanceOf(to) + amount <= MxWalletSize, "MaxWallet Enabled at launch");
            if (block.number < InitialBlockNo + 2) {
                _tax = 40;
            } else {
                if (from == uniswapV2Pair) {
                    _tax = buyTax;
                } else if (to == uniswapV2Pair) {
                    uint256 tokensToSwap = balanceOf(address(this));                  
                    if (tokensToSwap > minimumSwapAmount) {  
                        uint256 mxSw = maxSwap;
                        if (tokensToSwap > amount) tokensToSwap = amount;                     
                        if (tokensToSwap > mxSw) tokensToSwap = mxSw;                      
                        swapTokensForEth(tokensToSwap);
                    }
                    _tax = sellTax;
                }
            }
        }
        _tokenTransfer(from, to, amount, _tax);
    }

    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,
            address(this),
            block.timestamp
        );
        bool success;
        (success, ) = FeesAddress .call{value: address(this).balance}("");
    }
    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"ChangeTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"FeesAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FreeFromLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"MaximumOneTrxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"StartTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a0604052600260146012600a62000018919062000538565b606462000026919062000589565b62000032919062000603565b6200003e919062000603565b60045560146012600a62000053919062000538565b606462000061919062000589565b6200006d919062000603565b60055560146012600a62000082919062000538565b606462000090919062000589565b6200009c919062000603565b600655600160085560016009556000600b60146101000a81548160ff021916908315150217905550348015620000d157600080fd5b506000620000e46200039660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073f823c37b9c067b1710ea095747dfc2c358be78f873ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250506012600a620001da919062000538565b6064620001e8919062000589565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016003600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200030c6200039660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a6200036b919062000538565b606462000379919062000589565b6040516200038891906200064c565b60405180910390a362000669565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200042c578086048111156200040457620004036200039e565b5b6001851615620004145780820291505b80810290506200042485620003cd565b9450620003e4565b94509492505050565b6000826200044757600190506200051a565b816200045757600090506200051a565b81600181146200047057600281146200047b57620004b1565b60019150506200051a565b60ff84111562000490576200048f6200039e565b5b8360020a915084821115620004aa57620004a96200039e565b5b506200051a565b5060208310610133831016604e8410600b8410161715620004eb5782820a905083811115620004e557620004e46200039e565b5b6200051a565b620004fa8484846001620003da565b925090508184048111156200051457620005136200039e565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620005458262000521565b915062000552836200052b565b9250620005817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000435565b905092915050565b6000620005968262000521565b9150620005a38362000521565b9250828202620005b38162000521565b91508282048414831517620005cd57620005cc6200039e565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620006108262000521565b91506200061d8362000521565b92508262000630576200062f620005d4565b5b828204905092915050565b620006468162000521565b82525050565b60006020820190506200066360008301846200063b565b92915050565b608051612a4c6200068c60003960008181610757015261184e0152612a4c6000f3fe6080604052600436106101235760003560e01c806370a08231116100a0578063a9059cbb11610064578063a9059cbb146103c2578063bf6a1c0d146103ff578063cc1776d314610416578063dd62ed3e14610441578063e5d51dc71461047e5761012a565b806370a08231146102ed578063715018a61461032a5780638da5cb5b1461034157806395d89b411461036c578063a414f3e2146103975761012a565b8063313ce567116100e7578063313ce5671461022a57806349bd5a5e146102555780634f7041a5146102805780635080c835146102ab5780636cae5a69146102c25761012a565b806306fdde031461012f578063095ea7b31461015a57806318160ddd14610197578063230b3350146101c257806323b872dd146101ed5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b506101446104a7565b6040516101519190611bb0565b60405180910390f35b34801561016657600080fd5b50610181600480360381019061017c9190611c6b565b6104e4565b60405161018e9190611cc6565b60405180910390f35b3480156101a357600080fd5b506101ac610502565b6040516101b99190611cf0565b60405180910390f35b3480156101ce57600080fd5b506101d7610523565b6040516101e49190611cf0565b60405180910390f35b3480156101f957600080fd5b50610214600480360381019061020f9190611d0b565b610529565b6040516102219190611cc6565b60405180910390f35b34801561023657600080fd5b5061023f610649565b60405161024c9190611d7a565b60405180910390f35b34801561026157600080fd5b5061026a610652565b6040516102779190611da4565b60405180910390f35b34801561028c57600080fd5b50610295610678565b6040516102a29190611cf0565b60405180910390f35b3480156102b757600080fd5b506102c061067e565b005b3480156102ce57600080fd5b506102d7610755565b6040516102e49190611da4565b60405180910390f35b3480156102f957600080fd5b50610314600480360381019061030f9190611dbf565b610779565b6040516103219190611cf0565b60405180910390f35b34801561033657600080fd5b5061033f6107c2565b005b34801561034d57600080fd5b50610356610915565b6040516103639190611da4565b60405180910390f35b34801561037857600080fd5b5061038161093e565b60405161038e9190611bb0565b60405180910390f35b3480156103a357600080fd5b506103ac61097b565b6040516103b99190611cf0565b60405180910390f35b3480156103ce57600080fd5b506103e960048036038101906103e49190611c6b565b610981565b6040516103f69190611cc6565b60405180910390f35b34801561040b57600080fd5b5061041461099f565b005b34801561042257600080fd5b5061042b610ec0565b6040516104389190611cf0565b60405180910390f35b34801561044d57600080fd5b5061046860048036038101906104639190611dec565b610ec6565b6040516104759190611cf0565b60405180910390f35b34801561048a57600080fd5b506104a560048036038101906104a09190611e2c565b610f4d565b005b60606040518060400160405280600881526020017f656c6f6e6d75736b000000000000000000000000000000000000000000000000815250905090565b60006104f86104f1611043565b848461104b565b6001905092915050565b60006012600a6105129190611fce565b606461051e9190612019565b905090565b60055481565b6000610536848484611214565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610581611043565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461063d5782811015610628576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061f906120cd565b60405180910390fd5b61063c85610634611043565b85840361104b565b5b60019150509392505050565b60006012905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b610686611043565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610713576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070a90612139565b60405180910390fd5b6012600a6107219190611fce565b606461072d9190612019565b6005819055506012600a6107419190611fce565b606461074d9190612019565b600681905550565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107ca611043565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610857576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084e90612139565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f4d616368696e6100000000000000000000000000000000000000000000000000815250905090565b60065481565b600061099561098e611043565b8484611214565b6001905092915050565b6109a7611043565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2b90612139565b60405180910390fd5b600b60149054906101000a900460ff1615610a84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7b906121a5565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6a91906121da565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1791906121da565b6040518363ffffffff1660e01b8152600401610c34929190612207565b6020604051808303816000875af1158015610c53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7791906121da565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cfd30600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610cec9190611fce565b6064610cf89190612019565b61104b565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d4630610779565b600080610d51610915565b426040518863ffffffff1660e01b8152600401610d7396959493929190612275565b60606040518083038185885af1158015610d91573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610db691906122eb565b505050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e5892919061233e565b6020604051808303816000875af1158015610e77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9b9190612393565b506001600b60146101000a81548160ff02191690831515021790555043600781905550565b60095481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610f55611043565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fe2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd990612139565b60405180910390fd5b60648183610ff091906123c0565b1115611031576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102890612440565b60405180910390fd5b81600881905550806009819055505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b1906124d2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611129576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112090612564565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112079190611cf0565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611283576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127a906125f6565b60405180910390fd5b600081116112c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bd90612662565b60405180910390fd5b600080600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414801561135557506000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b156115f957600b60149054906101000a900460ff166113a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a0906126ce565b60405180910390fd5b6005548211156113ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e59061273a565b60405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561147a575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156114d8576006548261148c85610779565b61149691906123c0565b11156114d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ce906127a6565b60405180910390fd5b5b60026007546114e791906123c0565b4310156114f757602890506115f8565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036115565760085490506115f7565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115f65760006115b630610779565b90506402540be4008111156115ef5760006004549050838211156115d8578391505b808211156115e4578091505b6115ed8261160b565b505b6009549150505b5b5b5b611605848484846118dd565b50505050565b6000600267ffffffffffffffff811115611628576116276127c6565b5b6040519080825280602002602001820160405280156116565781602001602082028036833780820191505090505b509050308160008151811061166e5761166d6127f5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611715573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173991906121da565b8160018151811061174d5761174c6127f5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506117b430600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461104b565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016118189594939291906128e2565b600060405180830381600087803b15801561183257600080fd5b505af1158015611846573d6000803e3d6000fd5b5050505060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16476040516118909061296d565b60006040518083038185875af1925050503d80600081146118cd576040519150601f19603f3d011682016040523d82523d6000602084013e6118d2565b606091505b505080915050505050565b6000606482846118ed9190612019565b6118f791906129b1565b90506000818461190791906129e2565b905083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461195491906129e2565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119e291906123c0565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a7091906123c0565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b109190611cf0565b60405180910390a3505050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b5a578082015181840152602081019050611b3f565b60008484015250505050565b6000601f19601f8301169050919050565b6000611b8282611b20565b611b8c8185611b2b565b9350611b9c818560208601611b3c565b611ba581611b66565b840191505092915050565b60006020820190508181036000830152611bca8184611b77565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c0282611bd7565b9050919050565b611c1281611bf7565b8114611c1d57600080fd5b50565b600081359050611c2f81611c09565b92915050565b6000819050919050565b611c4881611c35565b8114611c5357600080fd5b50565b600081359050611c6581611c3f565b92915050565b60008060408385031215611c8257611c81611bd2565b5b6000611c9085828601611c20565b9250506020611ca185828601611c56565b9150509250929050565b60008115159050919050565b611cc081611cab565b82525050565b6000602082019050611cdb6000830184611cb7565b92915050565b611cea81611c35565b82525050565b6000602082019050611d056000830184611ce1565b92915050565b600080600060608486031215611d2457611d23611bd2565b5b6000611d3286828701611c20565b9350506020611d4386828701611c20565b9250506040611d5486828701611c56565b9150509250925092565b600060ff82169050919050565b611d7481611d5e565b82525050565b6000602082019050611d8f6000830184611d6b565b92915050565b611d9e81611bf7565b82525050565b6000602082019050611db96000830184611d95565b92915050565b600060208284031215611dd557611dd4611bd2565b5b6000611de384828501611c20565b91505092915050565b60008060408385031215611e0357611e02611bd2565b5b6000611e1185828601611c20565b9250506020611e2285828601611c20565b9150509250929050565b60008060408385031215611e4357611e42611bd2565b5b6000611e5185828601611c56565b9250506020611e6285828601611c56565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115611ef257808604811115611ece57611ecd611e6c565b5b6001851615611edd5780820291505b8081029050611eeb85611e9b565b9450611eb2565b94509492505050565b600082611f0b5760019050611fc7565b81611f195760009050611fc7565b8160018114611f2f5760028114611f3957611f68565b6001915050611fc7565b60ff841115611f4b57611f4a611e6c565b5b8360020a915084821115611f6257611f61611e6c565b5b50611fc7565b5060208310610133831016604e8410600b8410161715611f9d5782820a905083811115611f9857611f97611e6c565b5b611fc7565b611faa8484846001611ea8565b92509050818404811115611fc157611fc0611e6c565b5b81810290505b9392505050565b6000611fd982611c35565b9150611fe483611d5e565b92506120117fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611efb565b905092915050565b600061202482611c35565b915061202f83611c35565b925082820261203d81611c35565b9150828204841483151761205457612053611e6c565b5b5092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006120b7602883611b2b565b91506120c28261205b565b604082019050919050565b600060208201905081810360008301526120e6816120aa565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612123602083611b2b565b915061212e826120ed565b602082019050919050565b6000602082019050818103600083015261215281612116565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b600061218f601783611b2b565b915061219a82612159565b602082019050919050565b600060208201905081810360008301526121be81612182565b9050919050565b6000815190506121d481611c09565b92915050565b6000602082840312156121f0576121ef611bd2565b5b60006121fe848285016121c5565b91505092915050565b600060408201905061221c6000830185611d95565b6122296020830184611d95565b9392505050565b6000819050919050565b6000819050919050565b600061225f61225a61225584612230565b61223a565b611c35565b9050919050565b61226f81612244565b82525050565b600060c08201905061228a6000830189611d95565b6122976020830188611ce1565b6122a46040830187612266565b6122b16060830186612266565b6122be6080830185611d95565b6122cb60a0830184611ce1565b979650505050505050565b6000815190506122e581611c3f565b92915050565b60008060006060848603121561230457612303611bd2565b5b6000612312868287016122d6565b9350506020612323868287016122d6565b9250506040612334868287016122d6565b9150509250925092565b60006040820190506123536000830185611d95565b6123606020830184611ce1565b9392505050565b61237081611cab565b811461237b57600080fd5b50565b60008151905061238d81612367565b92915050565b6000602082840312156123a9576123a8611bd2565b5b60006123b78482850161237e565b91505092915050565b60006123cb82611c35565b91506123d683611c35565b92508282019050808211156123ee576123ed611e6c565b5b92915050565b7f54617820746f6f20686967680000000000000000000000000000000000000000600082015250565b600061242a600c83611b2b565b9150612435826123f4565b602082019050919050565b600060208201905081810360008301526124598161241d565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006124bc602483611b2b565b91506124c782612460565b604082019050919050565b600060208201905081810360008301526124eb816124af565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061254e602283611b2b565b9150612559826124f2565b604082019050919050565b6000602082019050818103600083015261257d81612541565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006125e0602583611b2b565b91506125eb82612584565b604082019050919050565b6000602082019050818103600083015261260f816125d3565b9050919050565b7f45524332303a206e6f20746f6b656e73207472616e7366657272656400000000600082015250565b600061264c601c83611b2b565b915061265782612616565b602082019050919050565b6000602082019050818103600083015261267b8161263f565b9050919050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b60006126b8601083611b2b565b91506126c382612682565b602082019050919050565b600060208201905081810360008301526126e7816126ab565b9050919050565b7f4d6178547820456e61626c6564206174206c61756e6368000000000000000000600082015250565b6000612724601783611b2b565b915061272f826126ee565b602082019050919050565b6000602082019050818103600083015261275381612717565b9050919050565b7f4d617857616c6c657420456e61626c6564206174206c61756e63680000000000600082015250565b6000612790601b83611b2b565b915061279b8261275a565b602082019050919050565b600060208201905081810360008301526127bf81612783565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61285981611bf7565b82525050565b600061286b8383612850565b60208301905092915050565b6000602082019050919050565b600061288f82612824565b612899818561282f565b93506128a483612840565b8060005b838110156128d55781516128bc888261285f565b97506128c783612877565b9250506001810190506128a8565b5085935050505092915050565b600060a0820190506128f76000830188611ce1565b6129046020830187612266565b81810360408301526129168186612884565b90506129256060830185611d95565b6129326080830184611ce1565b9695505050505050565b600081905092915050565b50565b600061295760008361293c565b915061296282612947565b600082019050919050565b60006129788261294a565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006129bc82611c35565b91506129c783611c35565b9250826129d7576129d6612982565b5b828204905092915050565b60006129ed82611c35565b91506129f883611c35565b9250828203905081811115612a1057612a0f611e6c565b5b9291505056fea2646970667358221220f517832c4642644cca0f7dabe2f3017e4784848f5af8f642794def18363c227c64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101235760003560e01c806370a08231116100a0578063a9059cbb11610064578063a9059cbb146103c2578063bf6a1c0d146103ff578063cc1776d314610416578063dd62ed3e14610441578063e5d51dc71461047e5761012a565b806370a08231146102ed578063715018a61461032a5780638da5cb5b1461034157806395d89b411461036c578063a414f3e2146103975761012a565b8063313ce567116100e7578063313ce5671461022a57806349bd5a5e146102555780634f7041a5146102805780635080c835146102ab5780636cae5a69146102c25761012a565b806306fdde031461012f578063095ea7b31461015a57806318160ddd14610197578063230b3350146101c257806323b872dd146101ed5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b506101446104a7565b6040516101519190611bb0565b60405180910390f35b34801561016657600080fd5b50610181600480360381019061017c9190611c6b565b6104e4565b60405161018e9190611cc6565b60405180910390f35b3480156101a357600080fd5b506101ac610502565b6040516101b99190611cf0565b60405180910390f35b3480156101ce57600080fd5b506101d7610523565b6040516101e49190611cf0565b60405180910390f35b3480156101f957600080fd5b50610214600480360381019061020f9190611d0b565b610529565b6040516102219190611cc6565b60405180910390f35b34801561023657600080fd5b5061023f610649565b60405161024c9190611d7a565b60405180910390f35b34801561026157600080fd5b5061026a610652565b6040516102779190611da4565b60405180910390f35b34801561028c57600080fd5b50610295610678565b6040516102a29190611cf0565b60405180910390f35b3480156102b757600080fd5b506102c061067e565b005b3480156102ce57600080fd5b506102d7610755565b6040516102e49190611da4565b60405180910390f35b3480156102f957600080fd5b50610314600480360381019061030f9190611dbf565b610779565b6040516103219190611cf0565b60405180910390f35b34801561033657600080fd5b5061033f6107c2565b005b34801561034d57600080fd5b50610356610915565b6040516103639190611da4565b60405180910390f35b34801561037857600080fd5b5061038161093e565b60405161038e9190611bb0565b60405180910390f35b3480156103a357600080fd5b506103ac61097b565b6040516103b99190611cf0565b60405180910390f35b3480156103ce57600080fd5b506103e960048036038101906103e49190611c6b565b610981565b6040516103f69190611cc6565b60405180910390f35b34801561040b57600080fd5b5061041461099f565b005b34801561042257600080fd5b5061042b610ec0565b6040516104389190611cf0565b60405180910390f35b34801561044d57600080fd5b5061046860048036038101906104639190611dec565b610ec6565b6040516104759190611cf0565b60405180910390f35b34801561048a57600080fd5b506104a560048036038101906104a09190611e2c565b610f4d565b005b60606040518060400160405280600881526020017f656c6f6e6d75736b000000000000000000000000000000000000000000000000815250905090565b60006104f86104f1611043565b848461104b565b6001905092915050565b60006012600a6105129190611fce565b606461051e9190612019565b905090565b60055481565b6000610536848484611214565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610581611043565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461063d5782811015610628576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061f906120cd565b60405180910390fd5b61063c85610634611043565b85840361104b565b5b60019150509392505050565b60006012905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b610686611043565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610713576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070a90612139565b60405180910390fd5b6012600a6107219190611fce565b606461072d9190612019565b6005819055506012600a6107419190611fce565b606461074d9190612019565b600681905550565b7f000000000000000000000000f823c37b9c067b1710ea095747dfc2c358be78f881565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107ca611043565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610857576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084e90612139565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f4d616368696e6100000000000000000000000000000000000000000000000000815250905090565b60065481565b600061099561098e611043565b8484611214565b6001905092915050565b6109a7611043565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2b90612139565b60405180910390fd5b600b60149054906101000a900460ff1615610a84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7b906121a5565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6a91906121da565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1791906121da565b6040518363ffffffff1660e01b8152600401610c34929190612207565b6020604051808303816000875af1158015610c53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7791906121da565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cfd30600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610cec9190611fce565b6064610cf89190612019565b61104b565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d4630610779565b600080610d51610915565b426040518863ffffffff1660e01b8152600401610d7396959493929190612275565b60606040518083038185885af1158015610d91573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610db691906122eb565b505050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e5892919061233e565b6020604051808303816000875af1158015610e77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9b9190612393565b506001600b60146101000a81548160ff02191690831515021790555043600781905550565b60095481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610f55611043565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fe2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd990612139565b60405180910390fd5b60648183610ff091906123c0565b1115611031576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102890612440565b60405180910390fd5b81600881905550806009819055505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b1906124d2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611129576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112090612564565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112079190611cf0565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611283576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127a906125f6565b60405180910390fd5b600081116112c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bd90612662565b60405180910390fd5b600080600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414801561135557506000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b156115f957600b60149054906101000a900460ff166113a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a0906126ce565b60405180910390fd5b6005548211156113ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e59061273a565b60405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561147a575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156114d8576006548261148c85610779565b61149691906123c0565b11156114d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ce906127a6565b60405180910390fd5b5b60026007546114e791906123c0565b4310156114f757602890506115f8565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036115565760085490506115f7565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115f65760006115b630610779565b90506402540be4008111156115ef5760006004549050838211156115d8578391505b808211156115e4578091505b6115ed8261160b565b505b6009549150505b5b5b5b611605848484846118dd565b50505050565b6000600267ffffffffffffffff811115611628576116276127c6565b5b6040519080825280602002602001820160405280156116565781602001602082028036833780820191505090505b509050308160008151811061166e5761166d6127f5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611715573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173991906121da565b8160018151811061174d5761174c6127f5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506117b430600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461104b565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016118189594939291906128e2565b600060405180830381600087803b15801561183257600080fd5b505af1158015611846573d6000803e3d6000fd5b5050505060007f000000000000000000000000f823c37b9c067b1710ea095747dfc2c358be78f873ffffffffffffffffffffffffffffffffffffffff16476040516118909061296d565b60006040518083038185875af1925050503d80600081146118cd576040519150601f19603f3d011682016040523d82523d6000602084013e6118d2565b606091505b505080915050505050565b6000606482846118ed9190612019565b6118f791906129b1565b90506000818461190791906129e2565b905083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461195491906129e2565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119e291906123c0565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a7091906123c0565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b109190611cf0565b60405180910390a3505050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b5a578082015181840152602081019050611b3f565b60008484015250505050565b6000601f19601f8301169050919050565b6000611b8282611b20565b611b8c8185611b2b565b9350611b9c818560208601611b3c565b611ba581611b66565b840191505092915050565b60006020820190508181036000830152611bca8184611b77565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c0282611bd7565b9050919050565b611c1281611bf7565b8114611c1d57600080fd5b50565b600081359050611c2f81611c09565b92915050565b6000819050919050565b611c4881611c35565b8114611c5357600080fd5b50565b600081359050611c6581611c3f565b92915050565b60008060408385031215611c8257611c81611bd2565b5b6000611c9085828601611c20565b9250506020611ca185828601611c56565b9150509250929050565b60008115159050919050565b611cc081611cab565b82525050565b6000602082019050611cdb6000830184611cb7565b92915050565b611cea81611c35565b82525050565b6000602082019050611d056000830184611ce1565b92915050565b600080600060608486031215611d2457611d23611bd2565b5b6000611d3286828701611c20565b9350506020611d4386828701611c20565b9250506040611d5486828701611c56565b9150509250925092565b600060ff82169050919050565b611d7481611d5e565b82525050565b6000602082019050611d8f6000830184611d6b565b92915050565b611d9e81611bf7565b82525050565b6000602082019050611db96000830184611d95565b92915050565b600060208284031215611dd557611dd4611bd2565b5b6000611de384828501611c20565b91505092915050565b60008060408385031215611e0357611e02611bd2565b5b6000611e1185828601611c20565b9250506020611e2285828601611c20565b9150509250929050565b60008060408385031215611e4357611e42611bd2565b5b6000611e5185828601611c56565b9250506020611e6285828601611c56565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115611ef257808604811115611ece57611ecd611e6c565b5b6001851615611edd5780820291505b8081029050611eeb85611e9b565b9450611eb2565b94509492505050565b600082611f0b5760019050611fc7565b81611f195760009050611fc7565b8160018114611f2f5760028114611f3957611f68565b6001915050611fc7565b60ff841115611f4b57611f4a611e6c565b5b8360020a915084821115611f6257611f61611e6c565b5b50611fc7565b5060208310610133831016604e8410600b8410161715611f9d5782820a905083811115611f9857611f97611e6c565b5b611fc7565b611faa8484846001611ea8565b92509050818404811115611fc157611fc0611e6c565b5b81810290505b9392505050565b6000611fd982611c35565b9150611fe483611d5e565b92506120117fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611efb565b905092915050565b600061202482611c35565b915061202f83611c35565b925082820261203d81611c35565b9150828204841483151761205457612053611e6c565b5b5092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006120b7602883611b2b565b91506120c28261205b565b604082019050919050565b600060208201905081810360008301526120e6816120aa565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612123602083611b2b565b915061212e826120ed565b602082019050919050565b6000602082019050818103600083015261215281612116565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b600061218f601783611b2b565b915061219a82612159565b602082019050919050565b600060208201905081810360008301526121be81612182565b9050919050565b6000815190506121d481611c09565b92915050565b6000602082840312156121f0576121ef611bd2565b5b60006121fe848285016121c5565b91505092915050565b600060408201905061221c6000830185611d95565b6122296020830184611d95565b9392505050565b6000819050919050565b6000819050919050565b600061225f61225a61225584612230565b61223a565b611c35565b9050919050565b61226f81612244565b82525050565b600060c08201905061228a6000830189611d95565b6122976020830188611ce1565b6122a46040830187612266565b6122b16060830186612266565b6122be6080830185611d95565b6122cb60a0830184611ce1565b979650505050505050565b6000815190506122e581611c3f565b92915050565b60008060006060848603121561230457612303611bd2565b5b6000612312868287016122d6565b9350506020612323868287016122d6565b9250506040612334868287016122d6565b9150509250925092565b60006040820190506123536000830185611d95565b6123606020830184611ce1565b9392505050565b61237081611cab565b811461237b57600080fd5b50565b60008151905061238d81612367565b92915050565b6000602082840312156123a9576123a8611bd2565b5b60006123b78482850161237e565b91505092915050565b60006123cb82611c35565b91506123d683611c35565b92508282019050808211156123ee576123ed611e6c565b5b92915050565b7f54617820746f6f20686967680000000000000000000000000000000000000000600082015250565b600061242a600c83611b2b565b9150612435826123f4565b602082019050919050565b600060208201905081810360008301526124598161241d565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006124bc602483611b2b565b91506124c782612460565b604082019050919050565b600060208201905081810360008301526124eb816124af565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061254e602283611b2b565b9150612559826124f2565b604082019050919050565b6000602082019050818103600083015261257d81612541565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006125e0602583611b2b565b91506125eb82612584565b604082019050919050565b6000602082019050818103600083015261260f816125d3565b9050919050565b7f45524332303a206e6f20746f6b656e73207472616e7366657272656400000000600082015250565b600061264c601c83611b2b565b915061265782612616565b602082019050919050565b6000602082019050818103600083015261267b8161263f565b9050919050565b7f54726164696e67206e6f74206f70656e00000000000000000000000000000000600082015250565b60006126b8601083611b2b565b91506126c382612682565b602082019050919050565b600060208201905081810360008301526126e7816126ab565b9050919050565b7f4d6178547820456e61626c6564206174206c61756e6368000000000000000000600082015250565b6000612724601783611b2b565b915061272f826126ee565b602082019050919050565b6000602082019050818103600083015261275381612717565b9050919050565b7f4d617857616c6c657420456e61626c6564206174206c61756e63680000000000600082015250565b6000612790601b83611b2b565b915061279b8261275a565b602082019050919050565b600060208201905081810360008301526127bf81612783565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61285981611bf7565b82525050565b600061286b8383612850565b60208301905092915050565b6000602082019050919050565b600061288f82612824565b612899818561282f565b93506128a483612840565b8060005b838110156128d55781516128bc888261285f565b97506128c783612877565b9250506001810190506128a8565b5085935050505092915050565b600060a0820190506128f76000830188611ce1565b6129046020830187612266565b81810360408301526129168186612884565b90506129256060830185611d95565b6129326080830184611ce1565b9695505050505050565b600081905092915050565b50565b600061295760008361293c565b915061296282612947565b600082019050919050565b60006129788261294a565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006129bc82611c35565b91506129c783611c35565b9250826129d7576129d6612982565b5b828204905092915050565b60006129ed82611c35565b91506129f883611c35565b9250828203905081811115612a1057612a0f611e6c565b5b9291505056fea2646970667358221220f517832c4642644cca0f7dabe2f3017e4784848f5af8f642794def18363c227c64736f6c63430008130033

Deployed Bytecode Sourcemap

2518:6851:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3893:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4727:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4170:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3082:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4895:578;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4079:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3443:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3222:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6518:136;;;;;;;;;;;;;:::i;:::-;;3478:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4278:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1572:148;;;;;;;;;;;;;:::i;:::-;;1358:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3984:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3136:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4404:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5824:686;;;;;;;;;;;;;:::i;:::-;;3254:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4577:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6662:212;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3893:83;3930:13;3963:5;;;;;;;;;;;;;;;;;3956:12;;3893:83;:::o;4727:160::-;4802:4;4818:39;4827:12;:10;:12::i;:::-;4841:7;4850:6;4818:8;:39::i;:::-;4875:4;4868:11;;4727:160;;;;:::o;4170:100::-;4223:7;2835:2;2890;:13;;;;:::i;:::-;2884:3;:19;;;;:::i;:::-;4243;;4170:100;:::o;3082:47::-;;;;:::o;4895:578::-;4993:4;5010:36;5020:6;5028:9;5039:6;5010:9;:36::i;:::-;5059:24;5086:11;:19;5098:6;5086:19;;;;;;;;;;;;;;;:33;5106:12;:10;:12::i;:::-;5086:33;;;;;;;;;;;;;;;;5059:60;;5153:17;5133:16;:37;5130:314;;5234:6;5214:16;:26;;5188:128;;;;;;;;;;;;:::i;:::-;;;;;;;;;5360:57;5369:6;5377:12;:10;:12::i;:::-;5410:6;5391:16;:25;5360:8;:57::i;:::-;5130:314;5461:4;5454:11;;;4895:578;;;;;:::o;4079:83::-;4120:5;2835:2;4138:16;;4079:83;:::o;3443:28::-;;;;;;;;;;;;;:::o;3222:25::-;;;;:::o;6518:136::-;1495:12;:10;:12::i;:::-;1485:22;;:6;;;;;;;;;;:22;;;1477:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2835:2:::1;2890;:13;;;;:::i;:::-;2884:3;:19;;;;:::i;:::-;6574;:34;;;;2835:2;2890;:13;;;;:::i;:::-;2884:3;:19;;;;:::i;:::-;6619:12;:27;;;;6518:136::o:0;3478:36::-;;;:::o;4278:118::-;4344:7;4371:8;:17;4380:7;4371:17;;;;;;;;;;;;;;;;4364:24;;4278:118;;;:::o;1572:148::-;1495:12;:10;:12::i;:::-;1485:22;;:6;;;;;;;;;;:22;;;1477:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1679:1:::1;1642:40;;1663:6;::::0;::::1;;;;;;;;1642:40;;;;;;;;;;;;1710:1;1693:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1572:148::o:0;1358:79::-;1396:7;1423:6;;;;;;;;;;;1416:13;;1358:79;:::o;3984:87::-;4023:13;4056:7;;;;;;;;;;;;;;;;;4049:14;;3984:87;:::o;3136:40::-;;;;:::o;4404:165::-;4481:4;4497:42;4507:12;:10;:12::i;:::-;4521:9;4532:6;4497:9;:42::i;:::-;4557:4;4550:11;;4404:165;;;;:::o;5824:686::-;1495:12;:10;:12::i;:::-;1485:22;;:6;;;;;;;;;;:22;;;1477:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5887:6:::1;;;;;;;;;;;5886:7;5878:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;5968;5931:15;;:80;;;;;;;;;;;;;;;;;;6056:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6038:55;;;6102:4;6109:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6038:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6022:13;;:110;;;;;;;;;;;;;;;;;;6143:63;6160:4;6175:15;;;;;;;;;;;2835:2;2890;:13;;;;:::i;:::-;2884:3;:19;;;;:::i;:::-;6143:8;:63::i;:::-;6227:15;;;;;;;;;;;:31;;;6266:21;6297:4;6303:24;6321:4;6303:9;:24::i;:::-;6328:1;6330::::0;6332:7:::1;:5;:7::i;:::-;6340:15;6227:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;6374:13;;;;;;;;;;;6367:29;;;6405:15;;;;;;;;;;;6423:14;6367:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6458:4;6449:6;;:13;;;;;;;;;;;;;;;;;;6490:12;6473:14;:29;;;;5824:686::o:0;3254:26::-;;;;:::o;4577:142::-;4658:7;4684:11;:18;4696:5;4684:18;;;;;;;;;;;;;;;:27;4703:7;4684:27;;;;;;;;;;;;;;;;4677:34;;4577:142;;;;:::o;6662:212::-;1495:12;:10;:12::i;:::-;1485:22;;:6;;;;;;;;;;:22;;;1477:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6786:3:::1;6772:10;6760:9;:22;;;;:::i;:::-;:29;;6752:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;6826:9;6817:6;:18;;;;6856:10;6846:7;:20;;;;6662:212:::0;;:::o;233:98::-;286:7;313:10;306:17;;233:98;:::o;5481:335::-;5591:1;5574:19;;:5;:19;;;5566:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5672:1;5653:21;;:7;:21;;;5645:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5754:6;5724:11;:18;5736:5;5724:18;;;;;;;;;;;;;;;:27;5743:7;5724:27;;;;;;;;;;;;;;;:36;;;;5792:7;5776:32;;5785:5;5776:32;;;5801:6;5776:32;;;;;;:::i;:::-;;;;;;;;5481:335;;;:::o;7324:1429::-;7428:1;7412:18;;:4;:18;;;7404:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7500:1;7491:6;:10;7483:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;7545:12;7598:1;7576:12;:18;7589:4;7576:18;;;;;;;;;;;;;;;;:23;:48;;;;;7623:1;7603:12;:16;7616:2;7603:16;;;;;;;;;;;;;;;;:21;7576:48;7572:1125;;;7658:6;;;;;;;;;;;7650:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;7718:19;;7708:6;:29;;7700:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;7790:13;;;;;;;;;;;7784:19;;:2;:19;;;;:44;;;;;7821:6;7807:21;;:2;:21;;;;7784:44;7780:128;;;7864:12;;7854:6;7838:13;7848:2;7838:9;:13::i;:::-;:22;;;;:::i;:::-;:38;;7830:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;7780:128;7959:1;7942:14;;:18;;;;:::i;:::-;7927:12;:33;7923:763;;;7988:2;7981:9;;7923:763;;;8043:13;;;;;;;;;;;8035:21;;:4;:21;;;8031:640;;8088:6;;8081:13;;8031:640;;;8130:13;;;;;;;;;;;8124:19;;:2;:19;;;8120:551;;8168:20;8191:24;8209:4;8191:9;:24::i;:::-;8168:47;;3017:11;8260:12;:32;8256:359;;;8323:12;8338:7;;8323:22;;8391:6;8376:12;:21;8372:48;;;8414:6;8399:21;;8372:48;8487:4;8472:12;:19;8468:44;;;8508:4;8493:19;;8468:44;8561:30;8578:12;8561:16;:30::i;:::-;8294:321;8256:359;8644:7;;8637:14;;8145:526;8120:551;8031:640;7923:763;7572:1125;8707:38;8722:4;8728:2;8732:6;8740:4;8707:14;:38::i;:::-;7393:1360;7324:1429;;;:::o;8761:570::-;8827:21;8865:1;8851:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8827:40;;8896:4;8878;8883:1;8878:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;8922:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8912:4;8917:1;8912:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;8955:62;8972:4;8987:15;;;;;;;;;;;9005:11;8955:8;:62::i;:::-;9028:15;;;;;;;;;;;:66;;;9109:11;9135:1;9151:4;9178;9198:15;9028:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9235:12;9272:11;:17;;9297:21;9272:51;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9258:65;;;;;8816:515;;8761:570;:::o;6882:434::-;6981:17;7019:3;7011:4;7002:6;:13;;;;:::i;:::-;7001:21;;;;:::i;:::-;6981:41;;7033:22;7067:9;7058:6;:18;;;;:::i;:::-;7033:43;;7123:6;7106:8;:14;7115:4;7106:14;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;7089:8;:14;7098:4;7089:14;;;;;;;;;;;;;;;:40;;;;7170:14;7155:8;:12;7164:2;7155:12;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;7140:8;:12;7149:2;7140:12;;;;;;;;;;;;;;;:44;;;;7247:9;7221:8;:23;7238:4;7221:23;;;;;;;;;;;;;;;;:35;;;;:::i;:::-;7195:8;:23;7212:4;7195:23;;;;;;;;;;;;;;;:61;;;;7289:2;7274:34;;7283:4;7274:34;;;7293:14;7274:34;;;;;;:::i;:::-;;;;;;;;6970:346;;6882:434;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:118::-;4940:24;4958:5;4940:24;:::i;:::-;4935:3;4928:37;4853:118;;:::o;4977:222::-;5070:4;5108:2;5097:9;5093:18;5085:26;;5121:71;5189:1;5178:9;5174:17;5165:6;5121:71;:::i;:::-;4977:222;;;;:::o;5205:329::-;5264:6;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5205:329;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:::-;6088:6;6096;6145:2;6133:9;6124:7;6120:23;6116:32;6113:119;;;6151:79;;:::i;:::-;6113:119;6271:1;6296:53;6341:7;6332:6;6321:9;6317:22;6296:53;:::i;:::-;6286:63;;6242:117;6398:2;6424:53;6469:7;6460:6;6449:9;6445:22;6424:53;:::i;:::-;6414:63;;6369:118;6020:474;;;;;:::o;6500:180::-;6548:77;6545:1;6538:88;6645:4;6642:1;6635:15;6669:4;6666:1;6659:15;6686:102;6728:8;6775:5;6772:1;6768:13;6747:34;;6686:102;;;:::o;6794:848::-;6855:5;6862:4;6886:6;6877:15;;6910:5;6901:14;;6924:712;6945:1;6935:8;6932:15;6924:712;;;7040:4;7035:3;7031:14;7025:4;7022:24;7019:50;;;7049:18;;:::i;:::-;7019:50;7099:1;7089:8;7085:16;7082:451;;;7514:4;7507:5;7503:16;7494:25;;7082:451;7564:4;7558;7554:15;7546:23;;7594:32;7617:8;7594:32;:::i;:::-;7582:44;;6924:712;;;6794:848;;;;;;;:::o;7648:1073::-;7702:5;7893:8;7883:40;;7914:1;7905:10;;7916:5;;7883:40;7942:4;7932:36;;7959:1;7950:10;;7961:5;;7932:36;8028:4;8076:1;8071:27;;;;8112:1;8107:191;;;;8021:277;;8071:27;8089:1;8080:10;;8091:5;;;8107:191;8152:3;8142:8;8139:17;8136:43;;;8159:18;;:::i;:::-;8136:43;8208:8;8205:1;8201:16;8192:25;;8243:3;8236:5;8233:14;8230:40;;;8250:18;;:::i;:::-;8230:40;8283:5;;;8021:277;;8407:2;8397:8;8394:16;8388:3;8382:4;8379:13;8375:36;8357:2;8347:8;8344:16;8339:2;8333:4;8330:12;8326:35;8310:111;8307:246;;;8463:8;8457:4;8453:19;8444:28;;8498:3;8491:5;8488:14;8485:40;;;8505:18;;:::i;:::-;8485:40;8538:5;;8307:246;8578:42;8616:3;8606:8;8600:4;8597:1;8578:42;:::i;:::-;8563:57;;;;8652:4;8647:3;8643:14;8636:5;8633:25;8630:51;;;8661:18;;:::i;:::-;8630:51;8710:4;8703:5;8699:16;8690:25;;7648:1073;;;;;;:::o;8727:281::-;8785:5;8809:23;8827:4;8809:23;:::i;:::-;8801:31;;8853:25;8869:8;8853:25;:::i;:::-;8841:37;;8897:104;8934:66;8924:8;8918:4;8897:104;:::i;:::-;8888:113;;8727:281;;;;:::o;9014:410::-;9054:7;9077:20;9095:1;9077:20;:::i;:::-;9072:25;;9111:20;9129:1;9111:20;:::i;:::-;9106:25;;9166:1;9163;9159:9;9188:30;9206:11;9188:30;:::i;:::-;9177:41;;9367:1;9358:7;9354:15;9351:1;9348:22;9328:1;9321:9;9301:83;9278:139;;9397:18;;:::i;:::-;9278:139;9062:362;9014:410;;;;:::o;9430:227::-;9570:34;9566:1;9558:6;9554:14;9547:58;9639:10;9634:2;9626:6;9622:15;9615:35;9430:227;:::o;9663:366::-;9805:3;9826:67;9890:2;9885:3;9826:67;:::i;:::-;9819:74;;9902:93;9991:3;9902:93;:::i;:::-;10020:2;10015:3;10011:12;10004:19;;9663:366;;;:::o;10035:419::-;10201:4;10239:2;10228:9;10224:18;10216:26;;10288:9;10282:4;10278:20;10274:1;10263:9;10259:17;10252:47;10316:131;10442:4;10316:131;:::i;:::-;10308:139;;10035:419;;;:::o;10460:182::-;10600:34;10596:1;10588:6;10584:14;10577:58;10460:182;:::o;10648:366::-;10790:3;10811:67;10875:2;10870:3;10811:67;:::i;:::-;10804:74;;10887:93;10976:3;10887:93;:::i;:::-;11005:2;11000:3;10996:12;10989:19;;10648:366;;;:::o;11020:419::-;11186:4;11224:2;11213:9;11209:18;11201:26;;11273:9;11267:4;11263:20;11259:1;11248:9;11244:17;11237:47;11301:131;11427:4;11301:131;:::i;:::-;11293:139;;11020:419;;;:::o;11445:173::-;11585:25;11581:1;11573:6;11569:14;11562:49;11445:173;:::o;11624:366::-;11766:3;11787:67;11851:2;11846:3;11787:67;:::i;:::-;11780:74;;11863:93;11952:3;11863:93;:::i;:::-;11981:2;11976:3;11972:12;11965:19;;11624:366;;;:::o;11996:419::-;12162:4;12200:2;12189:9;12185:18;12177:26;;12249:9;12243:4;12239:20;12235:1;12224:9;12220:17;12213:47;12277:131;12403:4;12277:131;:::i;:::-;12269:139;;11996:419;;;:::o;12421:143::-;12478:5;12509:6;12503:13;12494:22;;12525:33;12552:5;12525:33;:::i;:::-;12421:143;;;;:::o;12570:351::-;12640:6;12689:2;12677:9;12668:7;12664:23;12660:32;12657:119;;;12695:79;;:::i;:::-;12657:119;12815:1;12840:64;12896:7;12887:6;12876:9;12872:22;12840:64;:::i;:::-;12830:74;;12786:128;12570:351;;;;:::o;12927:332::-;13048:4;13086:2;13075:9;13071:18;13063:26;;13099:71;13167:1;13156:9;13152:17;13143:6;13099:71;:::i;:::-;13180:72;13248:2;13237:9;13233:18;13224:6;13180:72;:::i;:::-;12927:332;;;;;:::o;13265:85::-;13310:7;13339:5;13328:16;;13265:85;;;:::o;13356:60::-;13384:3;13405:5;13398:12;;13356:60;;;:::o;13422:158::-;13480:9;13513:61;13531:42;13540:32;13566:5;13540:32;:::i;:::-;13531:42;:::i;:::-;13513:61;:::i;:::-;13500:74;;13422:158;;;:::o;13586:147::-;13681:45;13720:5;13681:45;:::i;:::-;13676:3;13669:58;13586:147;;:::o;13739:807::-;13988:4;14026:3;14015:9;14011:19;14003:27;;14040:71;14108:1;14097:9;14093:17;14084:6;14040:71;:::i;:::-;14121:72;14189:2;14178:9;14174:18;14165:6;14121:72;:::i;:::-;14203:80;14279:2;14268:9;14264:18;14255:6;14203:80;:::i;:::-;14293;14369:2;14358:9;14354:18;14345:6;14293:80;:::i;:::-;14383:73;14451:3;14440:9;14436:19;14427:6;14383:73;:::i;:::-;14466;14534:3;14523:9;14519:19;14510:6;14466:73;:::i;:::-;13739:807;;;;;;;;;:::o;14552:143::-;14609:5;14640:6;14634:13;14625:22;;14656:33;14683:5;14656:33;:::i;:::-;14552:143;;;;:::o;14701:663::-;14789:6;14797;14805;14854:2;14842:9;14833:7;14829:23;14825:32;14822:119;;;14860:79;;:::i;:::-;14822:119;14980:1;15005:64;15061:7;15052:6;15041:9;15037:22;15005:64;:::i;:::-;14995:74;;14951:128;15118:2;15144:64;15200:7;15191:6;15180:9;15176:22;15144:64;:::i;:::-;15134:74;;15089:129;15257:2;15283:64;15339:7;15330:6;15319:9;15315:22;15283:64;:::i;:::-;15273:74;;15228:129;14701:663;;;;;:::o;15370:332::-;15491:4;15529:2;15518:9;15514:18;15506:26;;15542:71;15610:1;15599:9;15595:17;15586:6;15542:71;:::i;:::-;15623:72;15691:2;15680:9;15676:18;15667:6;15623:72;:::i;:::-;15370:332;;;;;:::o;15708:116::-;15778:21;15793:5;15778:21;:::i;:::-;15771:5;15768:32;15758:60;;15814:1;15811;15804:12;15758:60;15708:116;:::o;15830:137::-;15884:5;15915:6;15909:13;15900:22;;15931:30;15955:5;15931:30;:::i;:::-;15830:137;;;;:::o;15973:345::-;16040:6;16089:2;16077:9;16068:7;16064:23;16060:32;16057:119;;;16095:79;;:::i;:::-;16057:119;16215:1;16240:61;16293:7;16284:6;16273:9;16269:22;16240:61;:::i;:::-;16230:71;;16186:125;15973:345;;;;:::o;16324:191::-;16364:3;16383:20;16401:1;16383:20;:::i;:::-;16378:25;;16417:20;16435:1;16417:20;:::i;:::-;16412:25;;16460:1;16457;16453:9;16446:16;;16481:3;16478:1;16475:10;16472:36;;;16488:18;;:::i;:::-;16472:36;16324:191;;;;:::o;16521:162::-;16661:14;16657:1;16649:6;16645:14;16638:38;16521:162;:::o;16689:366::-;16831:3;16852:67;16916:2;16911:3;16852:67;:::i;:::-;16845:74;;16928:93;17017:3;16928:93;:::i;:::-;17046:2;17041:3;17037:12;17030:19;;16689:366;;;:::o;17061:419::-;17227:4;17265:2;17254:9;17250:18;17242:26;;17314:9;17308:4;17304:20;17300:1;17289:9;17285:17;17278:47;17342:131;17468:4;17342:131;:::i;:::-;17334:139;;17061:419;;;:::o;17486:223::-;17626:34;17622:1;17614:6;17610:14;17603:58;17695:6;17690:2;17682:6;17678:15;17671:31;17486:223;:::o;17715:366::-;17857:3;17878:67;17942:2;17937:3;17878:67;:::i;:::-;17871:74;;17954:93;18043:3;17954:93;:::i;:::-;18072:2;18067:3;18063:12;18056:19;;17715:366;;;:::o;18087:419::-;18253:4;18291:2;18280:9;18276:18;18268:26;;18340:9;18334:4;18330:20;18326:1;18315:9;18311:17;18304:47;18368:131;18494:4;18368:131;:::i;:::-;18360:139;;18087:419;;;:::o;18512:221::-;18652:34;18648:1;18640:6;18636:14;18629:58;18721:4;18716:2;18708:6;18704:15;18697:29;18512:221;:::o;18739:366::-;18881:3;18902:67;18966:2;18961:3;18902:67;:::i;:::-;18895:74;;18978:93;19067:3;18978:93;:::i;:::-;19096:2;19091:3;19087:12;19080:19;;18739:366;;;:::o;19111:419::-;19277:4;19315:2;19304:9;19300:18;19292:26;;19364:9;19358:4;19354:20;19350:1;19339:9;19335:17;19328:47;19392:131;19518:4;19392:131;:::i;:::-;19384:139;;19111:419;;;:::o;19536:224::-;19676:34;19672:1;19664:6;19660:14;19653:58;19745:7;19740:2;19732:6;19728:15;19721:32;19536:224;:::o;19766:366::-;19908:3;19929:67;19993:2;19988:3;19929:67;:::i;:::-;19922:74;;20005:93;20094:3;20005:93;:::i;:::-;20123:2;20118:3;20114:12;20107:19;;19766:366;;;:::o;20138:419::-;20304:4;20342:2;20331:9;20327:18;20319:26;;20391:9;20385:4;20381:20;20377:1;20366:9;20362:17;20355:47;20419:131;20545:4;20419:131;:::i;:::-;20411:139;;20138:419;;;:::o;20563:178::-;20703:30;20699:1;20691:6;20687:14;20680:54;20563:178;:::o;20747:366::-;20889:3;20910:67;20974:2;20969:3;20910:67;:::i;:::-;20903:74;;20986:93;21075:3;20986:93;:::i;:::-;21104:2;21099:3;21095:12;21088:19;;20747:366;;;:::o;21119:419::-;21285:4;21323:2;21312:9;21308:18;21300:26;;21372:9;21366:4;21362:20;21358:1;21347:9;21343:17;21336:47;21400:131;21526:4;21400:131;:::i;:::-;21392:139;;21119:419;;;:::o;21544:166::-;21684:18;21680:1;21672:6;21668:14;21661:42;21544:166;:::o;21716:366::-;21858:3;21879:67;21943:2;21938:3;21879:67;:::i;:::-;21872:74;;21955:93;22044:3;21955:93;:::i;:::-;22073:2;22068:3;22064:12;22057:19;;21716:366;;;:::o;22088:419::-;22254:4;22292:2;22281:9;22277:18;22269:26;;22341:9;22335:4;22331:20;22327:1;22316:9;22312:17;22305:47;22369:131;22495:4;22369:131;:::i;:::-;22361:139;;22088:419;;;:::o;22513:173::-;22653:25;22649:1;22641:6;22637:14;22630:49;22513:173;:::o;22692:366::-;22834:3;22855:67;22919:2;22914:3;22855:67;:::i;:::-;22848:74;;22931:93;23020:3;22931:93;:::i;:::-;23049:2;23044:3;23040:12;23033:19;;22692:366;;;:::o;23064:419::-;23230:4;23268:2;23257:9;23253:18;23245:26;;23317:9;23311:4;23307:20;23303:1;23292:9;23288:17;23281:47;23345:131;23471:4;23345:131;:::i;:::-;23337:139;;23064:419;;;:::o;23489:177::-;23629:29;23625:1;23617:6;23613:14;23606:53;23489:177;:::o;23672:366::-;23814:3;23835:67;23899:2;23894:3;23835:67;:::i;:::-;23828:74;;23911:93;24000:3;23911:93;:::i;:::-;24029:2;24024:3;24020:12;24013:19;;23672:366;;;:::o;24044:419::-;24210:4;24248:2;24237:9;24233:18;24225:26;;24297:9;24291:4;24287:20;24283:1;24272:9;24268:17;24261:47;24325:131;24451:4;24325:131;:::i;:::-;24317:139;;24044:419;;;:::o;24469:180::-;24517:77;24514:1;24507:88;24614:4;24611:1;24604:15;24638:4;24635:1;24628:15;24655:180;24703:77;24700:1;24693:88;24800:4;24797:1;24790:15;24824:4;24821:1;24814:15;24841:114;24908:6;24942:5;24936:12;24926:22;;24841:114;;;:::o;24961:184::-;25060:11;25094:6;25089:3;25082:19;25134:4;25129:3;25125:14;25110:29;;24961:184;;;;:::o;25151:132::-;25218:4;25241:3;25233:11;;25271:4;25266:3;25262:14;25254:22;;25151:132;;;:::o;25289:108::-;25366:24;25384:5;25366:24;:::i;:::-;25361:3;25354:37;25289:108;;:::o;25403:179::-;25472:10;25493:46;25535:3;25527:6;25493:46;:::i;:::-;25571:4;25566:3;25562:14;25548:28;;25403:179;;;;:::o;25588:113::-;25658:4;25690;25685:3;25681:14;25673:22;;25588:113;;;:::o;25737:732::-;25856:3;25885:54;25933:5;25885:54;:::i;:::-;25955:86;26034:6;26029:3;25955:86;:::i;:::-;25948:93;;26065:56;26115:5;26065:56;:::i;:::-;26144:7;26175:1;26160:284;26185:6;26182:1;26179:13;26160:284;;;26261:6;26255:13;26288:63;26347:3;26332:13;26288:63;:::i;:::-;26281:70;;26374:60;26427:6;26374:60;:::i;:::-;26364:70;;26220:224;26207:1;26204;26200:9;26195:14;;26160:284;;;26164:14;26460:3;26453:10;;25861:608;;;25737:732;;;;:::o;26475:831::-;26738:4;26776:3;26765:9;26761:19;26753:27;;26790:71;26858:1;26847:9;26843:17;26834:6;26790:71;:::i;:::-;26871:80;26947:2;26936:9;26932:18;26923:6;26871:80;:::i;:::-;26998:9;26992:4;26988:20;26983:2;26972:9;26968:18;26961:48;27026:108;27129:4;27120:6;27026:108;:::i;:::-;27018:116;;27144:72;27212:2;27201:9;27197:18;27188:6;27144:72;:::i;:::-;27226:73;27294:3;27283:9;27279:19;27270:6;27226:73;:::i;:::-;26475:831;;;;;;;;:::o;27312:147::-;27413:11;27450:3;27435:18;;27312:147;;;;:::o;27465:114::-;;:::o;27585:398::-;27744:3;27765:83;27846:1;27841:3;27765:83;:::i;:::-;27758:90;;27857:93;27946:3;27857:93;:::i;:::-;27975:1;27970:3;27966:11;27959:18;;27585:398;;;:::o;27989:379::-;28173:3;28195:147;28338:3;28195:147;:::i;:::-;28188:154;;28359:3;28352:10;;27989:379;;;:::o;28374:180::-;28422:77;28419:1;28412:88;28519:4;28516:1;28509:15;28543:4;28540:1;28533:15;28560:185;28600:1;28617:20;28635:1;28617:20;:::i;:::-;28612:25;;28651:20;28669:1;28651:20;:::i;:::-;28646:25;;28690:1;28680:35;;28695:18;;:::i;:::-;28680:35;28737:1;28734;28730:9;28725:14;;28560:185;;;;:::o;28751:194::-;28791:4;28811:20;28829:1;28811:20;:::i;:::-;28806:25;;28845:20;28863:1;28845:20;:::i;:::-;28840:25;;28889:1;28886;28882:9;28874:17;;28913:1;28907:4;28904:11;28901:37;;;28918:18;;:::i;:::-;28901:37;28751:194;;;;:::o

Swarm Source

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