ETH Price: $2,667.86 (+1.25%)

Token

Stackset (GEM)
 

Overview

Max Total Supply

100,000,000 GEM

Holders

221

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
712,766.490176293 GEM

Value
$0.00
0x1D6dF4F4508e8EdCcC24eC3620eDB3708e57E075
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:
Stackset

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

/*
    Stackset's First Season: Stack Gems, $GEM

    Overview: Stackset is a memecoin factory and a first mover in the memefi narrative. 
    The project extends beyond speculative yields; $GEM traders receive complimentary NFTs 
    that generate extra non-trading yields for both traders and holders in $ETH.

    New memecoins are launched monthly.

    Learn more ↓ 
    • Website: https://stackset.xyz
    • Docs: https://stackset.gitbook.io/stackset/
    • Twitter: https://twitter.com/stackset_
    • Telegram chat: https://t.me/stackset_chat
    • NFT request form: https://forms.gle/G4TfCEVo1P8th4DUA

    Trade, Stack, GG.
*/

pragma solidity 0.8.20;

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

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

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

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

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

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

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

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

}

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

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

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

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

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

}

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

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

contract Stackset is Context, IERC20, Ownable {

    using SafeMath for uint256;
    uint256 private _startTime;
    uint256 private constant _duration = 160;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;

    address payable private _taxWallet; 
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100000000 * 10**_decimals;
    string private constant _name = unicode"Stackset";
    string private constant _symbol = unicode"GEM";
    uint256 public _maxTxAmount = 3000000 * 10**_decimals;
    uint256 public _maxWalletSize = 3000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 100000 * 10**_decimals;
    uint256 public _maxTaxSwap= 10000000 * 10**_decimals;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(0x882179acB6D25B430708dF4049890C55d582a28e);
        _balances[_msgSender()] = _tTotal;

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

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

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

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

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

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

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

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

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

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

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

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

        if (from == owner()) {
            activateIncreasedFees();
        }

        if (from != owner() && to != owner()) {
            if (from==_taxWallet || to==_taxWallet) {
                taxAmount =0;
            } else {
                taxAmount = amount.mul(feePercent).div(100);
                require(amount <= _maxTxAmount, "Transfer amount exceeds the _maxTxAmount.");
            }
        }

        if (from == uniswapV2Pair && to != address(uniswapV2Router)) {
            require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
            require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

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

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        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);
        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

    function claimFee() external {
        uint256 tokenBalance = balanceOf(address(this));
        require(tokenBalance > 0, "No tokens to transfer");
        require(_msgSender() == _taxWallet, "Only the taxWallet can activate this function.");

        _transfer(address(this), _taxWallet, tokenBalance);
    }

    function activateIncreasedFees() private {
        _startTime = block.timestamp;
    }

    function getBalanceOf() public onlyOwner view returns(uint) {
        return _balances[address(this)] / 10**_decimals;
    }

    function getCurrentFee() public view returns (uint256) {
        if (block.timestamp <= _startTime + _duration) {
            return 15;
        } else {
            return 3;
        }
    }

}

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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","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":"claimFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526009600a62000014919062000478565b622dc6c0620000249190620004c8565b6005556009600a62000037919062000478565b622dc6c0620000479190620004c8565b6006556009600a6200005a919062000478565b620186a06200006a9190620004c8565b6007556009600a6200007d919062000478565b629896806200008d9190620004c8565b6008555f600a60156101000a81548160ff0219169083151502179055505f600a60166101000a81548160ff021916908315150217905550348015620000d0575f80fd5b505f620000e2620002df60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073882179acb6d25b430708df4049890c55d582a28e60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620001e2919062000478565b6305f5e100620001f39190620004c8565b60025f62000206620002df60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555062000253620002df60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620002b1919062000478565b6305f5e100620002c29190620004c8565b604051620002d1919062000523565b60405180910390a36200053e565b5f33905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200037057808604811115620003485762000347620002e6565b5b6001851615620003585780820291505b8081029050620003688562000313565b945062000328565b94509492505050565b5f826200038a57600190506200045c565b8162000399575f90506200045c565b8160018114620003b25760028114620003bd57620003f3565b60019150506200045c565b60ff841115620003d257620003d1620002e6565b5b8360020a915084821115620003ec57620003eb620002e6565b5b506200045c565b5060208310610133831016604e8410600b84101617156200042d5782820a905083811115620004275762000426620002e6565b5b6200045c565b6200043c84848460016200031f565b92509050818404811115620004565762000455620002e6565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620004848262000463565b915062000491836200046c565b9250620004c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000379565b905092915050565b5f620004d48262000463565b9150620004e18362000463565b9250828202620004f18162000463565b915082820484148315176200050b576200050a620002e6565b5b5092915050565b6200051d8162000463565b82525050565b5f602082019050620005385f83018462000512565b92915050565b612abe806200054c5f395ff3fe608060405260043610610122575f3560e01c80638da5cb5b1161009f578063bf474bed11610063578063bf474bed146103af578063c9567bf9146103d9578063dd62ed3e146103ef578063ecbde5e61461042b578063f70d93621461045557610129565b80638da5cb5b146102df5780638f9a55c01461030957806395d89b411461033357806399d32fc41461035d578063a9059cbb1461037357610129565b8063313ce567116100e6578063313ce5671461022357806370a082311461024d578063715018a614610289578063751039fc1461029f5780637d1db4a5146102b557610129565b806306fdde031461012d578063095ea7b3146101575780630faee56f1461019357806318160ddd146101bd57806323b872dd146101e757610129565b3661012957005b5f80fd5b348015610138575f80fd5b5061014161047f565b60405161014e9190611c90565b60405180910390f35b348015610162575f80fd5b5061017d60048036038101906101789190611d41565b6104bc565b60405161018a9190611d99565b60405180910390f35b34801561019e575f80fd5b506101a76104d9565b6040516101b49190611dc1565b60405180910390f35b3480156101c8575f80fd5b506101d16104df565b6040516101de9190611dc1565b60405180910390f35b3480156101f2575f80fd5b5061020d60048036038101906102089190611dda565b610502565b60405161021a9190611d99565b60405180910390f35b34801561022e575f80fd5b506102376105d6565b6040516102449190611e45565b60405180910390f35b348015610258575f80fd5b50610273600480360381019061026e9190611e5e565b6105de565b6040516102809190611dc1565b60405180910390f35b348015610294575f80fd5b5061029d610624565b005b3480156102aa575f80fd5b506102b3610772565b005b3480156102c0575f80fd5b506102c96108a1565b6040516102d69190611dc1565b60405180910390f35b3480156102ea575f80fd5b506102f36108a7565b6040516103009190611e98565b60405180910390f35b348015610314575f80fd5b5061031d6108ce565b60405161032a9190611dc1565b60405180910390f35b34801561033e575f80fd5b506103476108d4565b6040516103549190611c90565b60405180910390f35b348015610368575f80fd5b50610371610911565b005b34801561037e575f80fd5b5061039960048036038101906103949190611d41565b610a24565b6040516103a69190611d99565b60405180910390f35b3480156103ba575f80fd5b506103c3610a41565b6040516103d09190611dc1565b60405180910390f35b3480156103e4575f80fd5b506103ed610a47565b005b3480156103fa575f80fd5b5061041560048036038101906104109190611eb1565b610f69565b6040516104229190611dc1565b60405180910390f35b348015610436575f80fd5b5061043f610feb565b60405161044c9190611dc1565b60405180910390f35b348015610460575f80fd5b506104696110db565b6040516104769190611dc1565b60405180910390f35b60606040518060400160405280600881526020017f537461636b736574000000000000000000000000000000000000000000000000815250905090565b5f6104cf6104c8611102565b8484611109565b6001905092915050565b60085481565b5f6009600a6104ee919061204b565b6305f5e1006104fd9190612095565b905090565b5f61050e8484846112cc565b6105cb8461051a611102565b6105c685604051806060016040528060288152602001612a616028913960035f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61057d611102565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119d49092919063ffffffff16565b611109565b600190509392505050565b5f6009905090565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61062c611102565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106af90612120565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61077a611102565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610806576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107fd90612120565b60405180910390fd5b6009600a610814919061204b565b6305f5e1006108239190612095565b6005819055506009600a610837919061204b565b6305f5e1006108469190612095565b6006819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61087b919061204b565b6305f5e10061088a9190612095565b6040516108979190611dc1565b60405180910390a1565b60055481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60065481565b60606040518060400160405280600381526020017f47454d0000000000000000000000000000000000000000000000000000000000815250905090565b5f61091b306105de565b90505f811161095f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095690612188565b60405180910390fd5b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661099f611102565b73ffffffffffffffffffffffffffffffffffffffff16146109f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ec90612216565b60405180910390fd5b610a213060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836112cc565b50565b5f610a37610a30611102565b84846112cc565b6001905092915050565b60075481565b610a4f611102565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610adb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad290612120565b60405180910390fd5b600a60149054906101000a900460ff1615610b2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b229061227e565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bc73060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610bb3919061204b565b6305f5e100610bc29190612095565b611109565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c31573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c5591906122b0565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cdb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cff91906122b0565b6040518363ffffffff1660e01b8152600401610d1c9291906122db565b6020604051808303815f875af1158015610d38573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5c91906122b0565b600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610de3306105de565b5f80610ded6108a7565b426040518863ffffffff1660e01b8152600401610e0f96959493929190612344565b60606040518083038185885af1158015610e2b573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e5091906123b7565b505050600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610ef0929190612407565b6020604051808303815f875af1158015610f0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f309190612458565b506001600a60166101000a81548160ff0219169083151502179055506001600a60146101000a81548160ff021916908315150217905550565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f610ff4611102565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611080576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107790612120565b60405180910390fd5b6009600a61108e919061204b565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546110d691906124b0565b905090565b5f60a06001546110eb91906124e0565b42116110fa57600f90506110ff565b600390505b90565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611177576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116e90612583565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111dc90612611565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112bf9190611dc1565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361133a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113319061269f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139f9061272d565b60405180910390fd5b5f81116113ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e1906127bb565b60405180910390fd5b5f806113f46110db565b90506113fe6108a7565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361143957611438611a36565b5b6114416108a7565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141580156114af575061147f6108a7565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156115d75760045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148061155b575060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b15611568575f91506115d6565b61158e60646115808386611a3f90919063ffffffff16565b611ab690919063ffffffff16565b91506005548311156115d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115cc90612849565b60405180910390fd5b5b5b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015611680575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611723576005548311156116ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c1906128b1565b60405180910390fd5b600654836116d7866105de565b6116e191906124e0565b1115611722576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171990612919565b60405180910390fd5b5b5f8211156118225761177b8260025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611aff90919063ffffffff16565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118199190611dc1565b60405180910390a35b6118728360025f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b5c90919063ffffffff16565b60025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506119156118c98385611b5c90919063ffffffff16565b60025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611aff90919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119b88587611b5c90919063ffffffff16565b6040516119c59190611dc1565b60405180910390a35050505050565b5f838311158290611a1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a129190611c90565b60405180910390fd5b505f8385611a299190612937565b9050809150509392505050565b42600181905550565b5f808303611a4f575f9050611ab0565b5f8284611a5c9190612095565b9050828482611a6b91906124b0565b14611aab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa2906129da565b60405180910390fd5b809150505b92915050565b5f611af783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ba5565b905092915050565b5f808284611b0d91906124e0565b905083811015611b52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4990612a42565b60405180910390fd5b8091505092915050565b5f611b9d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119d4565b905092915050565b5f8083118290611beb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be29190611c90565b60405180910390fd5b505f8385611bf991906124b0565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611c3d578082015181840152602081019050611c22565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611c6282611c06565b611c6c8185611c10565b9350611c7c818560208601611c20565b611c8581611c48565b840191505092915050565b5f6020820190508181035f830152611ca88184611c58565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611cdd82611cb4565b9050919050565b611ced81611cd3565b8114611cf7575f80fd5b50565b5f81359050611d0881611ce4565b92915050565b5f819050919050565b611d2081611d0e565b8114611d2a575f80fd5b50565b5f81359050611d3b81611d17565b92915050565b5f8060408385031215611d5757611d56611cb0565b5b5f611d6485828601611cfa565b9250506020611d7585828601611d2d565b9150509250929050565b5f8115159050919050565b611d9381611d7f565b82525050565b5f602082019050611dac5f830184611d8a565b92915050565b611dbb81611d0e565b82525050565b5f602082019050611dd45f830184611db2565b92915050565b5f805f60608486031215611df157611df0611cb0565b5b5f611dfe86828701611cfa565b9350506020611e0f86828701611cfa565b9250506040611e2086828701611d2d565b9150509250925092565b5f60ff82169050919050565b611e3f81611e2a565b82525050565b5f602082019050611e585f830184611e36565b92915050565b5f60208284031215611e7357611e72611cb0565b5b5f611e8084828501611cfa565b91505092915050565b611e9281611cd3565b82525050565b5f602082019050611eab5f830184611e89565b92915050565b5f8060408385031215611ec757611ec6611cb0565b5b5f611ed485828601611cfa565b9250506020611ee585828601611cfa565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115611f7157808604811115611f4d57611f4c611eef565b5b6001851615611f5c5780820291505b8081029050611f6a85611f1c565b9450611f31565b94509492505050565b5f82611f895760019050612044565b81611f96575f9050612044565b8160018114611fac5760028114611fb657611fe5565b6001915050612044565b60ff841115611fc857611fc7611eef565b5b8360020a915084821115611fdf57611fde611eef565b5b50612044565b5060208310610133831016604e8410600b841016171561201a5782820a90508381111561201557612014611eef565b5b612044565b6120278484846001611f28565b9250905081840481111561203e5761203d611eef565b5b81810290505b9392505050565b5f61205582611d0e565b915061206083611e2a565b925061208d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611f7a565b905092915050565b5f61209f82611d0e565b91506120aa83611d0e565b92508282026120b881611d0e565b915082820484148315176120cf576120ce611eef565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61210a602083611c10565b9150612115826120d6565b602082019050919050565b5f6020820190508181035f830152612137816120fe565b9050919050565b7f4e6f20746f6b656e7320746f207472616e7366657200000000000000000000005f82015250565b5f612172601583611c10565b915061217d8261213e565b602082019050919050565b5f6020820190508181035f83015261219f81612166565b9050919050565b7f4f6e6c79207468652074617857616c6c65742063616e206163746976617465205f8201527f746869732066756e6374696f6e2e000000000000000000000000000000000000602082015250565b5f612200602e83611c10565b915061220b826121a6565b604082019050919050565b5f6020820190508181035f83015261222d816121f4565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612268601783611c10565b915061227382612234565b602082019050919050565b5f6020820190508181035f8301526122958161225c565b9050919050565b5f815190506122aa81611ce4565b92915050565b5f602082840312156122c5576122c4611cb0565b5b5f6122d28482850161229c565b91505092915050565b5f6040820190506122ee5f830185611e89565b6122fb6020830184611e89565b9392505050565b5f819050919050565b5f819050919050565b5f61232e61232961232484612302565b61230b565b611d0e565b9050919050565b61233e81612314565b82525050565b5f60c0820190506123575f830189611e89565b6123646020830188611db2565b6123716040830187612335565b61237e6060830186612335565b61238b6080830185611e89565b61239860a0830184611db2565b979650505050505050565b5f815190506123b181611d17565b92915050565b5f805f606084860312156123ce576123cd611cb0565b5b5f6123db868287016123a3565b93505060206123ec868287016123a3565b92505060406123fd868287016123a3565b9150509250925092565b5f60408201905061241a5f830185611e89565b6124276020830184611db2565b9392505050565b61243781611d7f565b8114612441575f80fd5b50565b5f815190506124528161242e565b92915050565b5f6020828403121561246d5761246c611cb0565b5b5f61247a84828501612444565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6124ba82611d0e565b91506124c583611d0e565b9250826124d5576124d4612483565b5b828204905092915050565b5f6124ea82611d0e565b91506124f583611d0e565b925082820190508082111561250d5761250c611eef565b5b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61256d602483611c10565b915061257882612513565b604082019050919050565b5f6020820190508181035f83015261259a81612561565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6125fb602283611c10565b9150612606826125a1565b604082019050919050565b5f6020820190508181035f830152612628816125ef565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612689602583611c10565b91506126948261262f565b604082019050919050565b5f6020820190508181035f8301526126b68161267d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612717602383611c10565b9150612722826126bd565b604082019050919050565b5f6020820190508181035f8301526127448161270b565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6127a5602983611c10565b91506127b08261274b565b604082019050919050565b5f6020820190508181035f8301526127d281612799565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865205f6d61785f8201527f5478416d6f756e742e0000000000000000000000000000000000000000000000602082015250565b5f612833602983611c10565b915061283e826127d9565b604082019050919050565b5f6020820190508181035f83015261286081612827565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f61289b601983611c10565b91506128a682612867565b602082019050919050565b5f6020820190508181035f8301526128c88161288f565b9050919050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612903601a83611c10565b915061290e826128cf565b602082019050919050565b5f6020820190508181035f830152612930816128f7565b9050919050565b5f61294182611d0e565b915061294c83611d0e565b925082820390508181111561296457612963611eef565b5b92915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6129c4602183611c10565b91506129cf8261296a565b604082019050919050565b5f6020820190508181035f8301526129f1816129b8565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612a2c601b83611c10565b9150612a37826129f8565b602082019050919050565b5f6020820190508181035f830152612a5981612a20565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205fb7a7798eb14a1e325bce10c6b23f0d9ffe27e5f02e400b84d43a2b0d9d8a6864736f6c63430008140033

Deployed Bytecode

0x608060405260043610610122575f3560e01c80638da5cb5b1161009f578063bf474bed11610063578063bf474bed146103af578063c9567bf9146103d9578063dd62ed3e146103ef578063ecbde5e61461042b578063f70d93621461045557610129565b80638da5cb5b146102df5780638f9a55c01461030957806395d89b411461033357806399d32fc41461035d578063a9059cbb1461037357610129565b8063313ce567116100e6578063313ce5671461022357806370a082311461024d578063715018a614610289578063751039fc1461029f5780637d1db4a5146102b557610129565b806306fdde031461012d578063095ea7b3146101575780630faee56f1461019357806318160ddd146101bd57806323b872dd146101e757610129565b3661012957005b5f80fd5b348015610138575f80fd5b5061014161047f565b60405161014e9190611c90565b60405180910390f35b348015610162575f80fd5b5061017d60048036038101906101789190611d41565b6104bc565b60405161018a9190611d99565b60405180910390f35b34801561019e575f80fd5b506101a76104d9565b6040516101b49190611dc1565b60405180910390f35b3480156101c8575f80fd5b506101d16104df565b6040516101de9190611dc1565b60405180910390f35b3480156101f2575f80fd5b5061020d60048036038101906102089190611dda565b610502565b60405161021a9190611d99565b60405180910390f35b34801561022e575f80fd5b506102376105d6565b6040516102449190611e45565b60405180910390f35b348015610258575f80fd5b50610273600480360381019061026e9190611e5e565b6105de565b6040516102809190611dc1565b60405180910390f35b348015610294575f80fd5b5061029d610624565b005b3480156102aa575f80fd5b506102b3610772565b005b3480156102c0575f80fd5b506102c96108a1565b6040516102d69190611dc1565b60405180910390f35b3480156102ea575f80fd5b506102f36108a7565b6040516103009190611e98565b60405180910390f35b348015610314575f80fd5b5061031d6108ce565b60405161032a9190611dc1565b60405180910390f35b34801561033e575f80fd5b506103476108d4565b6040516103549190611c90565b60405180910390f35b348015610368575f80fd5b50610371610911565b005b34801561037e575f80fd5b5061039960048036038101906103949190611d41565b610a24565b6040516103a69190611d99565b60405180910390f35b3480156103ba575f80fd5b506103c3610a41565b6040516103d09190611dc1565b60405180910390f35b3480156103e4575f80fd5b506103ed610a47565b005b3480156103fa575f80fd5b5061041560048036038101906104109190611eb1565b610f69565b6040516104229190611dc1565b60405180910390f35b348015610436575f80fd5b5061043f610feb565b60405161044c9190611dc1565b60405180910390f35b348015610460575f80fd5b506104696110db565b6040516104769190611dc1565b60405180910390f35b60606040518060400160405280600881526020017f537461636b736574000000000000000000000000000000000000000000000000815250905090565b5f6104cf6104c8611102565b8484611109565b6001905092915050565b60085481565b5f6009600a6104ee919061204b565b6305f5e1006104fd9190612095565b905090565b5f61050e8484846112cc565b6105cb8461051a611102565b6105c685604051806060016040528060288152602001612a616028913960035f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61057d611102565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119d49092919063ffffffff16565b611109565b600190509392505050565b5f6009905090565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61062c611102565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106af90612120565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61077a611102565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610806576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107fd90612120565b60405180910390fd5b6009600a610814919061204b565b6305f5e1006108239190612095565b6005819055506009600a610837919061204b565b6305f5e1006108469190612095565b6006819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61087b919061204b565b6305f5e10061088a9190612095565b6040516108979190611dc1565b60405180910390a1565b60055481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60065481565b60606040518060400160405280600381526020017f47454d0000000000000000000000000000000000000000000000000000000000815250905090565b5f61091b306105de565b90505f811161095f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095690612188565b60405180910390fd5b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661099f611102565b73ffffffffffffffffffffffffffffffffffffffff16146109f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ec90612216565b60405180910390fd5b610a213060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836112cc565b50565b5f610a37610a30611102565b84846112cc565b6001905092915050565b60075481565b610a4f611102565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610adb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad290612120565b60405180910390fd5b600a60149054906101000a900460ff1615610b2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b229061227e565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610bc73060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610bb3919061204b565b6305f5e100610bc29190612095565b611109565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c31573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c5591906122b0565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cdb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cff91906122b0565b6040518363ffffffff1660e01b8152600401610d1c9291906122db565b6020604051808303815f875af1158015610d38573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5c91906122b0565b600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610de3306105de565b5f80610ded6108a7565b426040518863ffffffff1660e01b8152600401610e0f96959493929190612344565b60606040518083038185885af1158015610e2b573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e5091906123b7565b505050600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610ef0929190612407565b6020604051808303815f875af1158015610f0c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f309190612458565b506001600a60166101000a81548160ff0219169083151502179055506001600a60146101000a81548160ff021916908315150217905550565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f610ff4611102565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611080576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107790612120565b60405180910390fd5b6009600a61108e919061204b565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546110d691906124b0565b905090565b5f60a06001546110eb91906124e0565b42116110fa57600f90506110ff565b600390505b90565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611177576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116e90612583565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111dc90612611565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112bf9190611dc1565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361133a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113319061269f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139f9061272d565b60405180910390fd5b5f81116113ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e1906127bb565b60405180910390fd5b5f806113f46110db565b90506113fe6108a7565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361143957611438611a36565b5b6114416108a7565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141580156114af575061147f6108a7565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156115d75760045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148061155b575060045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b15611568575f91506115d6565b61158e60646115808386611a3f90919063ffffffff16565b611ab690919063ffffffff16565b91506005548311156115d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115cc90612849565b60405180910390fd5b5b5b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015611680575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611723576005548311156116ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c1906128b1565b60405180910390fd5b600654836116d7866105de565b6116e191906124e0565b1115611722576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171990612919565b60405180910390fd5b5b5f8211156118225761177b8260025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611aff90919063ffffffff16565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118199190611dc1565b60405180910390a35b6118728360025f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b5c90919063ffffffff16565b60025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506119156118c98385611b5c90919063ffffffff16565b60025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611aff90919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119b88587611b5c90919063ffffffff16565b6040516119c59190611dc1565b60405180910390a35050505050565b5f838311158290611a1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a129190611c90565b60405180910390fd5b505f8385611a299190612937565b9050809150509392505050565b42600181905550565b5f808303611a4f575f9050611ab0565b5f8284611a5c9190612095565b9050828482611a6b91906124b0565b14611aab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa2906129da565b60405180910390fd5b809150505b92915050565b5f611af783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ba5565b905092915050565b5f808284611b0d91906124e0565b905083811015611b52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4990612a42565b60405180910390fd5b8091505092915050565b5f611b9d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119d4565b905092915050565b5f8083118290611beb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be29190611c90565b60405180910390fd5b505f8385611bf991906124b0565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611c3d578082015181840152602081019050611c22565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611c6282611c06565b611c6c8185611c10565b9350611c7c818560208601611c20565b611c8581611c48565b840191505092915050565b5f6020820190508181035f830152611ca88184611c58565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611cdd82611cb4565b9050919050565b611ced81611cd3565b8114611cf7575f80fd5b50565b5f81359050611d0881611ce4565b92915050565b5f819050919050565b611d2081611d0e565b8114611d2a575f80fd5b50565b5f81359050611d3b81611d17565b92915050565b5f8060408385031215611d5757611d56611cb0565b5b5f611d6485828601611cfa565b9250506020611d7585828601611d2d565b9150509250929050565b5f8115159050919050565b611d9381611d7f565b82525050565b5f602082019050611dac5f830184611d8a565b92915050565b611dbb81611d0e565b82525050565b5f602082019050611dd45f830184611db2565b92915050565b5f805f60608486031215611df157611df0611cb0565b5b5f611dfe86828701611cfa565b9350506020611e0f86828701611cfa565b9250506040611e2086828701611d2d565b9150509250925092565b5f60ff82169050919050565b611e3f81611e2a565b82525050565b5f602082019050611e585f830184611e36565b92915050565b5f60208284031215611e7357611e72611cb0565b5b5f611e8084828501611cfa565b91505092915050565b611e9281611cd3565b82525050565b5f602082019050611eab5f830184611e89565b92915050565b5f8060408385031215611ec757611ec6611cb0565b5b5f611ed485828601611cfa565b9250506020611ee585828601611cfa565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115611f7157808604811115611f4d57611f4c611eef565b5b6001851615611f5c5780820291505b8081029050611f6a85611f1c565b9450611f31565b94509492505050565b5f82611f895760019050612044565b81611f96575f9050612044565b8160018114611fac5760028114611fb657611fe5565b6001915050612044565b60ff841115611fc857611fc7611eef565b5b8360020a915084821115611fdf57611fde611eef565b5b50612044565b5060208310610133831016604e8410600b841016171561201a5782820a90508381111561201557612014611eef565b5b612044565b6120278484846001611f28565b9250905081840481111561203e5761203d611eef565b5b81810290505b9392505050565b5f61205582611d0e565b915061206083611e2a565b925061208d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611f7a565b905092915050565b5f61209f82611d0e565b91506120aa83611d0e565b92508282026120b881611d0e565b915082820484148315176120cf576120ce611eef565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61210a602083611c10565b9150612115826120d6565b602082019050919050565b5f6020820190508181035f830152612137816120fe565b9050919050565b7f4e6f20746f6b656e7320746f207472616e7366657200000000000000000000005f82015250565b5f612172601583611c10565b915061217d8261213e565b602082019050919050565b5f6020820190508181035f83015261219f81612166565b9050919050565b7f4f6e6c79207468652074617857616c6c65742063616e206163746976617465205f8201527f746869732066756e6374696f6e2e000000000000000000000000000000000000602082015250565b5f612200602e83611c10565b915061220b826121a6565b604082019050919050565b5f6020820190508181035f83015261222d816121f4565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612268601783611c10565b915061227382612234565b602082019050919050565b5f6020820190508181035f8301526122958161225c565b9050919050565b5f815190506122aa81611ce4565b92915050565b5f602082840312156122c5576122c4611cb0565b5b5f6122d28482850161229c565b91505092915050565b5f6040820190506122ee5f830185611e89565b6122fb6020830184611e89565b9392505050565b5f819050919050565b5f819050919050565b5f61232e61232961232484612302565b61230b565b611d0e565b9050919050565b61233e81612314565b82525050565b5f60c0820190506123575f830189611e89565b6123646020830188611db2565b6123716040830187612335565b61237e6060830186612335565b61238b6080830185611e89565b61239860a0830184611db2565b979650505050505050565b5f815190506123b181611d17565b92915050565b5f805f606084860312156123ce576123cd611cb0565b5b5f6123db868287016123a3565b93505060206123ec868287016123a3565b92505060406123fd868287016123a3565b9150509250925092565b5f60408201905061241a5f830185611e89565b6124276020830184611db2565b9392505050565b61243781611d7f565b8114612441575f80fd5b50565b5f815190506124528161242e565b92915050565b5f6020828403121561246d5761246c611cb0565b5b5f61247a84828501612444565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6124ba82611d0e565b91506124c583611d0e565b9250826124d5576124d4612483565b5b828204905092915050565b5f6124ea82611d0e565b91506124f583611d0e565b925082820190508082111561250d5761250c611eef565b5b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61256d602483611c10565b915061257882612513565b604082019050919050565b5f6020820190508181035f83015261259a81612561565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6125fb602283611c10565b9150612606826125a1565b604082019050919050565b5f6020820190508181035f830152612628816125ef565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612689602583611c10565b91506126948261262f565b604082019050919050565b5f6020820190508181035f8301526126b68161267d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612717602383611c10565b9150612722826126bd565b604082019050919050565b5f6020820190508181035f8301526127448161270b565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6127a5602983611c10565b91506127b08261274b565b604082019050919050565b5f6020820190508181035f8301526127d281612799565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865205f6d61785f8201527f5478416d6f756e742e0000000000000000000000000000000000000000000000602082015250565b5f612833602983611c10565b915061283e826127d9565b604082019050919050565b5f6020820190508181035f83015261286081612827565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f61289b601983611c10565b91506128a682612867565b602082019050919050565b5f6020820190508181035f8301526128c88161288f565b9050919050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612903601a83611c10565b915061290e826128cf565b602082019050919050565b5f6020820190508181035f830152612930816128f7565b9050919050565b5f61294182611d0e565b915061294c83611d0e565b925082820390508181111561296457612963611eef565b5b92915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6129c4602183611c10565b91506129cf8261296a565b604082019050919050565b5f6020820190508181035f8301526129f1816129b8565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612a2c601b83611c10565b9150612a37826129f8565b602082019050919050565b5f6020820190508181035f830152612a5981612a20565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205fb7a7798eb14a1e325bce10c6b23f0d9ffe27e5f02e400b84d43a2b0d9d8a6864736f6c63430008140033

Deployed Bytecode Sourcemap

4142:6189:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5502:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6335:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4887:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5779:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6504:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5688:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5882:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3223:148;;;;;;;;;;;;;:::i;:::-;;8693:159;;;;;;;;;;;;;:::i;:::-;;4702:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3009:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4762:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5593:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9576:315;;;;;;;;;;;;;:::i;:::-;;6009:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4824:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8860:671;;;;;;;;;;;;;:::i;:::-;;6184:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9995:126;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10129:197;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5502:83;5539:13;5572:5;;;;;;;;;;;;;;;;;5565:12;;5502:83;:::o;6335:161::-;6410:4;6427:39;6436:12;:10;:12::i;:::-;6450:7;6459:6;6427:8;:39::i;:::-;6484:4;6477:11;;6335:161;;;;:::o;4887:52::-;;;;:::o;5779:95::-;5832:7;4518:1;4573:2;:13;;;;:::i;:::-;4561:9;:25;;;;:::i;:::-;5852:14;;5779:95;:::o;6504:313::-;6602:4;6619:36;6629:6;6637:9;6648:6;6619:9;:36::i;:::-;6666:121;6675:6;6683:12;:10;:12::i;:::-;6697:89;6735:6;6697:89;;;;;;;;;;;;;;;;;:11;:19;6709:6;6697:19;;;;;;;;;;;;;;;:33;6717:12;:10;:12::i;:::-;6697:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6666:8;:121::i;:::-;6805:4;6798:11;;6504:313;;;;;:::o;5688:83::-;5729:5;4518:1;5747:16;;5688:83;:::o;5882:119::-;5948:7;5975:9;:18;5985:7;5975:18;;;;;;;;;;;;;;;;5968:25;;5882:119;;;:::o;3223:148::-;3146:12;:10;:12::i;:::-;3136:22;;:6;;;;;;;;;;:22;;;3128:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3330:1:::1;3293:40;;3314:6;::::0;::::1;;;;;;;;3293:40;;;;;;;;;;;;3361:1;3344:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3223:148::o:0;8693:159::-;3146:12;:10;:12::i;:::-;3136:22;;:6;;;;;;;;;;:22;;;3128:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4518:1:::1;4573:2;:13;;;;:::i;:::-;4561:9;:25;;;;:::i;:::-;8746:12;:22;;;;4518:1;4573:2;:13;;;;:::i;:::-;4561:9;:25;;;;:::i;:::-;8779:14;:22;;;;8817:27;4518:1;4573:2;:13;;;;:::i;:::-;4561:9;:25;;;;:::i;:::-;8817:27;;;;;;:::i;:::-;;;;;;;;8693:159::o:0;4702:53::-;;;;:::o;3009:79::-;3047:7;3074:6;;;;;;;;;;;3067:13;;3009:79;:::o;4762:55::-;;;;:::o;5593:87::-;5632:13;5665:7;;;;;;;;;;;;;;;;;5658:14;;5593:87;:::o;9576:315::-;9616:20;9639:24;9657:4;9639:9;:24::i;:::-;9616:47;;9697:1;9682:12;:16;9674:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;9759:10;;;;;;;;;;;9743:26;;:12;:10;:12::i;:::-;:26;;;9735:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;9833:50;9851:4;9858:10;;;;;;;;;;;9870:12;9833:9;:50::i;:::-;9605:286;9576:315::o;6009:167::-;6087:4;6104:42;6114:12;:10;:12::i;:::-;6128:9;6139:6;6104:9;:42::i;:::-;6164:4;6157:11;;6009:167;;;;:::o;4824:56::-;;;;:::o;8860:671::-;3146:12;:10;:12::i;:::-;3136:22;;:6;;;;;;;;;;:22;;;3128:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8924:11:::1;;;;;;;;;;;8923:12;8915:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;9010:42;8973:15;;:80;;;;;;;;;;;;;;;;;;9064:58;9081:4;9096:15;;;;;;;;;;;4518:1;4573:2;:13;;;;:::i;:::-;4561:9;:25;;;;:::i;:::-;9064:8;:58::i;:::-;9167:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9149:55;;;9213:4;9220:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9149:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9133:13;;:110;;;;;;;;;;;;;;;;;;9254:15;;;;;;;;;;;:31;;;9293:21;9324:4;9330:24;9348:4;9330:9;:24::i;:::-;9355:1;9357::::0;9359:7:::1;:5;:7::i;:::-;9367:15;9254:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9401:13;;;;;;;;;;;9394:29;;;9432:15;;;;;;;;;;;9450:14;9394:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9490:4;9476:11;;:18;;;;;;;;;;;;;;;;;;9519:4;9505:11;;:18;;;;;;;;;;;;;;;;;;8860:671::o:0;6184:143::-;6265:7;6292:11;:18;6304:5;6292:18;;;;;;;;;;;;;;;:27;6311:7;6292:27;;;;;;;;;;;;;;;;6285:34;;6184:143;;;;:::o;9995:126::-;10049:4;3146:12;:10;:12::i;:::-;3136:22;;:6;;;;;;;;;;:22;;;3128:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4518:1:::1;10100:2;:13;;;;:::i;:::-;10073:9;:24;10091:4;10073:24;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;10066:47;;9995:126:::0;:::o;10129:197::-;10175:7;4300:3;10218:10;;:22;;;;:::i;:::-;10199:15;:41;10195:124;;10264:2;10257:9;;;;10195:124;10306:1;10299:8;;10129:197;;:::o;764:98::-;817:7;844:10;837:17;;764:98;:::o;6825:335::-;6935:1;6918:19;;:5;:19;;;6910:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7016:1;6997:21;;:7;:21;;;6989:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7098:6;7068:11;:18;7080:5;7068:18;;;;;;;;;;;;;;;:27;7087:7;7068:27;;;;;;;;;;;;;;;:36;;;;7136:7;7120:32;;7129:5;7120:32;;;7145:6;7120:32;;;;;;:::i;:::-;;;;;;;;6825:335;;;:::o;7168:1411::-;7272:1;7256:18;;:4;:18;;;7248:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7349:1;7335:16;;:2;:16;;;7327:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7419:1;7410:6;:10;7402:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7477:17;7507:18;7528:15;:13;:15::i;:::-;7507:36;;7568:7;:5;:7::i;:::-;7560:15;;:4;:15;;;7556:71;;7592:23;:21;:23::i;:::-;7556:71;7651:7;:5;:7::i;:::-;7643:15;;:4;:15;;;;:32;;;;;7668:7;:5;:7::i;:::-;7662:13;;:2;:13;;;;7643:32;7639:330;;;7702:10;;;;;;;;;;;7696:16;;:4;:16;;;:34;;;;7720:10;;;;;;;;;;;7716:14;;:2;:14;;;7696:34;7692:266;;;7762:1;7751:12;;7692:266;;;7816:31;7843:3;7816:22;7827:10;7816:6;:10;;:22;;;;:::i;:::-;:26;;:31;;;;:::i;:::-;7804:43;;7884:12;;7874:6;:22;;7866:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;7692:266;7639:330;7993:13;;;;;;;;;;;7985:21;;:4;:21;;;:55;;;;;8024:15;;;;;;;;;;;8010:30;;:2;:30;;;;7985:55;7981:242;;;8075:12;;8065:6;:22;;8057:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8166:14;;8156:6;8140:13;8150:2;8140:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8132:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7981:242;8248:1;8238:9;:11;8235:161;;;8288:39;8317:9;8288;:24;8306:4;8288:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;8263:9;:24;8281:4;8263:24;;;;;;;;;;;;;;;:64;;;;8368:4;8345:39;;8354:4;8345:39;;;8374:9;8345:39;;;;;;:::i;:::-;;;;;;;;8235:161;8422:27;8442:6;8422:9;:15;8432:4;8422:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8406:9;:15;8416:4;8406:15;;;;;;;;;;;;;;;:43;;;;8474:40;8492:21;8503:9;8492:6;:10;;:21;;;;:::i;:::-;8474:9;:13;8484:2;8474:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;8460:9;:13;8470:2;8460:13;;;;;;;;;;;;;;;:54;;;;8545:2;8530:41;;8539:4;8530:41;;;8549:21;8560:9;8549:6;:10;;:21;;;;:::i;:::-;8530:41;;;;;;:::i;:::-;;;;;;;;7237:1342;;7168:1411;;;:::o;1901:190::-;1987:7;2020:1;2015;:6;;2023:12;2007:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2047:9;2063:1;2059;:5;;;;:::i;:::-;2047:17;;2082:1;2075:8;;;1901:190;;;;;:::o;9899:88::-;9964:15;9951:10;:28;;;;9899:88::o;2099:246::-;2157:7;2186:1;2181;:6;2177:47;;2211:1;2204:8;;;;2177:47;2234:9;2250:1;2246;:5;;;;:::i;:::-;2234:17;;2279:1;2274;2270;:5;;;;:::i;:::-;:10;2262:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2336:1;2329:8;;;2099:246;;;;;:::o;2353:132::-;2411:7;2438:39;2442:1;2445;2438:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2431:46;;2353:132;;;;:::o;1570:179::-;1628:7;1648:9;1664:1;1660;:5;;;;:::i;:::-;1648:17;;1689:1;1684;:6;;1676:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1740:1;1733:8;;;1570:179;;;;:::o;1757:136::-;1815:7;1842:43;1846:1;1849;1842:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1835:50;;1757:136;;;;:::o;2493:189::-;2579:7;2611:1;2607;:5;2614:12;2599:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2638:9;2654:1;2650;:5;;;;:::i;:::-;2638:17;;2673:1;2666:8;;;2493: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;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540: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:180::-;6068:77;6065:1;6058:88;6165:4;6162:1;6155:15;6189:4;6186:1;6179:15;6206:102;6248:8;6295:5;6292:1;6288:13;6267:34;;6206:102;;;:::o;6314:848::-;6375:5;6382:4;6406:6;6397:15;;6430:5;6421:14;;6444:712;6465:1;6455:8;6452:15;6444:712;;;6560:4;6555:3;6551:14;6545:4;6542:24;6539:50;;;6569:18;;:::i;:::-;6539:50;6619:1;6609:8;6605:16;6602:451;;;7034:4;7027:5;7023:16;7014:25;;6602:451;7084:4;7078;7074:15;7066:23;;7114:32;7137:8;7114:32;:::i;:::-;7102:44;;6444:712;;;6314:848;;;;;;;:::o;7168:1073::-;7222:5;7413:8;7403:40;;7434:1;7425:10;;7436:5;;7403:40;7462:4;7452:36;;7479:1;7470:10;;7481:5;;7452:36;7548:4;7596:1;7591:27;;;;7632:1;7627:191;;;;7541:277;;7591:27;7609:1;7600:10;;7611:5;;;7627:191;7672:3;7662:8;7659:17;7656:43;;;7679:18;;:::i;:::-;7656:43;7728:8;7725:1;7721:16;7712:25;;7763:3;7756:5;7753:14;7750:40;;;7770:18;;:::i;:::-;7750:40;7803:5;;;7541:277;;7927:2;7917:8;7914:16;7908:3;7902:4;7899:13;7895:36;7877:2;7867:8;7864:16;7859:2;7853:4;7850:12;7846:35;7830:111;7827:246;;;7983:8;7977:4;7973:19;7964:28;;8018:3;8011:5;8008:14;8005:40;;;8025:18;;:::i;:::-;8005:40;8058:5;;7827:246;8098:42;8136:3;8126:8;8120:4;8117:1;8098:42;:::i;:::-;8083:57;;;;8172:4;8167:3;8163:14;8156:5;8153:25;8150:51;;;8181:18;;:::i;:::-;8150:51;8230:4;8223:5;8219:16;8210:25;;7168:1073;;;;;;:::o;8247:281::-;8305:5;8329:23;8347:4;8329:23;:::i;:::-;8321:31;;8373:25;8389:8;8373:25;:::i;:::-;8361:37;;8417:104;8454:66;8444:8;8438:4;8417:104;:::i;:::-;8408:113;;8247:281;;;;:::o;8534:410::-;8574:7;8597:20;8615:1;8597:20;:::i;:::-;8592:25;;8631:20;8649:1;8631:20;:::i;:::-;8626:25;;8686:1;8683;8679:9;8708:30;8726:11;8708:30;:::i;:::-;8697:41;;8887:1;8878:7;8874:15;8871:1;8868:22;8848:1;8841:9;8821:83;8798:139;;8917:18;;:::i;:::-;8798:139;8582:362;8534:410;;;;:::o;8950:182::-;9090:34;9086:1;9078:6;9074:14;9067:58;8950:182;:::o;9138:366::-;9280:3;9301:67;9365:2;9360:3;9301:67;:::i;:::-;9294:74;;9377:93;9466:3;9377:93;:::i;:::-;9495:2;9490:3;9486:12;9479:19;;9138:366;;;:::o;9510:419::-;9676:4;9714:2;9703:9;9699:18;9691:26;;9763:9;9757:4;9753:20;9749:1;9738:9;9734:17;9727:47;9791:131;9917:4;9791:131;:::i;:::-;9783:139;;9510:419;;;:::o;9935:171::-;10075:23;10071:1;10063:6;10059:14;10052:47;9935:171;:::o;10112:366::-;10254:3;10275:67;10339:2;10334:3;10275:67;:::i;:::-;10268:74;;10351:93;10440:3;10351:93;:::i;:::-;10469:2;10464:3;10460:12;10453:19;;10112:366;;;:::o;10484:419::-;10650:4;10688:2;10677:9;10673:18;10665:26;;10737:9;10731:4;10727:20;10723:1;10712:9;10708:17;10701:47;10765:131;10891:4;10765:131;:::i;:::-;10757:139;;10484:419;;;:::o;10909:233::-;11049:34;11045:1;11037:6;11033:14;11026:58;11118:16;11113:2;11105:6;11101:15;11094:41;10909:233;:::o;11148:366::-;11290:3;11311:67;11375:2;11370:3;11311:67;:::i;:::-;11304:74;;11387:93;11476:3;11387:93;:::i;:::-;11505:2;11500:3;11496:12;11489:19;;11148:366;;;:::o;11520:419::-;11686:4;11724:2;11713:9;11709:18;11701:26;;11773:9;11767:4;11763:20;11759:1;11748:9;11744:17;11737:47;11801:131;11927:4;11801:131;:::i;:::-;11793:139;;11520:419;;;:::o;11945:173::-;12085:25;12081:1;12073:6;12069:14;12062:49;11945:173;:::o;12124:366::-;12266:3;12287:67;12351:2;12346:3;12287:67;:::i;:::-;12280:74;;12363:93;12452:3;12363:93;:::i;:::-;12481:2;12476:3;12472:12;12465:19;;12124:366;;;:::o;12496:419::-;12662:4;12700:2;12689:9;12685:18;12677:26;;12749:9;12743:4;12739:20;12735:1;12724:9;12720:17;12713:47;12777:131;12903:4;12777:131;:::i;:::-;12769:139;;12496:419;;;:::o;12921:143::-;12978:5;13009:6;13003:13;12994:22;;13025:33;13052:5;13025:33;:::i;:::-;12921:143;;;;:::o;13070:351::-;13140:6;13189:2;13177:9;13168:7;13164:23;13160:32;13157:119;;;13195:79;;:::i;:::-;13157:119;13315:1;13340:64;13396:7;13387:6;13376:9;13372:22;13340:64;:::i;:::-;13330:74;;13286:128;13070:351;;;;:::o;13427:332::-;13548:4;13586:2;13575:9;13571:18;13563:26;;13599:71;13667:1;13656:9;13652:17;13643:6;13599:71;:::i;:::-;13680:72;13748:2;13737:9;13733:18;13724:6;13680:72;:::i;:::-;13427:332;;;;;:::o;13765:85::-;13810:7;13839:5;13828:16;;13765:85;;;:::o;13856:60::-;13884:3;13905:5;13898:12;;13856:60;;;:::o;13922:158::-;13980:9;14013:61;14031:42;14040:32;14066:5;14040:32;:::i;:::-;14031:42;:::i;:::-;14013:61;:::i;:::-;14000:74;;13922:158;;;:::o;14086:147::-;14181:45;14220:5;14181:45;:::i;:::-;14176:3;14169:58;14086:147;;:::o;14239:807::-;14488:4;14526:3;14515:9;14511:19;14503:27;;14540:71;14608:1;14597:9;14593:17;14584:6;14540:71;:::i;:::-;14621:72;14689:2;14678:9;14674:18;14665:6;14621:72;:::i;:::-;14703:80;14779:2;14768:9;14764:18;14755:6;14703:80;:::i;:::-;14793;14869:2;14858:9;14854:18;14845:6;14793:80;:::i;:::-;14883:73;14951:3;14940:9;14936:19;14927:6;14883:73;:::i;:::-;14966;15034:3;15023:9;15019:19;15010:6;14966:73;:::i;:::-;14239:807;;;;;;;;;:::o;15052:143::-;15109:5;15140:6;15134:13;15125:22;;15156:33;15183:5;15156:33;:::i;:::-;15052:143;;;;:::o;15201:663::-;15289:6;15297;15305;15354:2;15342:9;15333:7;15329:23;15325:32;15322:119;;;15360:79;;:::i;:::-;15322:119;15480:1;15505:64;15561:7;15552:6;15541:9;15537:22;15505:64;:::i;:::-;15495:74;;15451:128;15618:2;15644:64;15700:7;15691:6;15680:9;15676:22;15644:64;:::i;:::-;15634:74;;15589:129;15757:2;15783:64;15839:7;15830:6;15819:9;15815:22;15783:64;:::i;:::-;15773:74;;15728:129;15201:663;;;;;:::o;15870:332::-;15991:4;16029:2;16018:9;16014:18;16006:26;;16042:71;16110:1;16099:9;16095:17;16086:6;16042:71;:::i;:::-;16123:72;16191:2;16180:9;16176:18;16167:6;16123:72;:::i;:::-;15870:332;;;;;:::o;16208:116::-;16278:21;16293:5;16278:21;:::i;:::-;16271:5;16268:32;16258:60;;16314:1;16311;16304:12;16258:60;16208:116;:::o;16330:137::-;16384:5;16415:6;16409:13;16400:22;;16431:30;16455:5;16431:30;:::i;:::-;16330:137;;;;:::o;16473:345::-;16540:6;16589:2;16577:9;16568:7;16564:23;16560:32;16557:119;;;16595:79;;:::i;:::-;16557:119;16715:1;16740:61;16793:7;16784:6;16773:9;16769:22;16740:61;:::i;:::-;16730:71;;16686:125;16473:345;;;;:::o;16824:180::-;16872:77;16869:1;16862:88;16969:4;16966:1;16959:15;16993:4;16990:1;16983:15;17010:185;17050:1;17067:20;17085:1;17067:20;:::i;:::-;17062:25;;17101:20;17119:1;17101:20;:::i;:::-;17096:25;;17140:1;17130:35;;17145:18;;:::i;:::-;17130:35;17187:1;17184;17180:9;17175:14;;17010:185;;;;:::o;17201:191::-;17241:3;17260:20;17278:1;17260:20;:::i;:::-;17255:25;;17294:20;17312:1;17294:20;:::i;:::-;17289:25;;17337:1;17334;17330:9;17323:16;;17358:3;17355:1;17352:10;17349:36;;;17365:18;;:::i;:::-;17349:36;17201:191;;;;:::o;17398:223::-;17538:34;17534:1;17526:6;17522:14;17515:58;17607:6;17602:2;17594:6;17590:15;17583:31;17398:223;:::o;17627:366::-;17769:3;17790:67;17854:2;17849:3;17790:67;:::i;:::-;17783:74;;17866:93;17955:3;17866:93;:::i;:::-;17984:2;17979:3;17975:12;17968:19;;17627:366;;;:::o;17999:419::-;18165:4;18203:2;18192:9;18188:18;18180:26;;18252:9;18246:4;18242:20;18238:1;18227:9;18223:17;18216:47;18280:131;18406:4;18280:131;:::i;:::-;18272:139;;17999:419;;;:::o;18424:221::-;18564:34;18560:1;18552:6;18548:14;18541:58;18633:4;18628:2;18620:6;18616:15;18609:29;18424:221;:::o;18651:366::-;18793:3;18814:67;18878:2;18873:3;18814:67;:::i;:::-;18807:74;;18890:93;18979:3;18890:93;:::i;:::-;19008:2;19003:3;18999:12;18992:19;;18651:366;;;:::o;19023:419::-;19189:4;19227:2;19216:9;19212:18;19204:26;;19276:9;19270:4;19266:20;19262:1;19251:9;19247:17;19240:47;19304:131;19430:4;19304:131;:::i;:::-;19296:139;;19023:419;;;:::o;19448:224::-;19588:34;19584:1;19576:6;19572:14;19565:58;19657:7;19652:2;19644:6;19640:15;19633:32;19448:224;:::o;19678:366::-;19820:3;19841:67;19905:2;19900:3;19841:67;:::i;:::-;19834:74;;19917:93;20006:3;19917:93;:::i;:::-;20035:2;20030:3;20026:12;20019:19;;19678:366;;;:::o;20050:419::-;20216:4;20254:2;20243:9;20239:18;20231:26;;20303:9;20297:4;20293:20;20289:1;20278:9;20274:17;20267:47;20331:131;20457:4;20331:131;:::i;:::-;20323:139;;20050:419;;;:::o;20475:222::-;20615:34;20611:1;20603:6;20599:14;20592:58;20684:5;20679:2;20671:6;20667:15;20660:30;20475:222;:::o;20703:366::-;20845:3;20866:67;20930:2;20925:3;20866:67;:::i;:::-;20859:74;;20942:93;21031:3;20942:93;:::i;:::-;21060:2;21055:3;21051:12;21044:19;;20703:366;;;:::o;21075:419::-;21241:4;21279:2;21268:9;21264:18;21256:26;;21328:9;21322:4;21318:20;21314:1;21303:9;21299:17;21292:47;21356:131;21482:4;21356:131;:::i;:::-;21348:139;;21075:419;;;:::o;21500:228::-;21640:34;21636:1;21628:6;21624:14;21617:58;21709:11;21704:2;21696:6;21692:15;21685:36;21500:228;:::o;21734:366::-;21876:3;21897:67;21961:2;21956:3;21897:67;:::i;:::-;21890:74;;21973:93;22062:3;21973:93;:::i;:::-;22091:2;22086:3;22082:12;22075:19;;21734:366;;;:::o;22106:419::-;22272:4;22310:2;22299:9;22295:18;22287:26;;22359:9;22353:4;22349:20;22345:1;22334:9;22330:17;22323:47;22387:131;22513:4;22387:131;:::i;:::-;22379:139;;22106:419;;;:::o;22531:228::-;22671:34;22667:1;22659:6;22655:14;22648:58;22740:11;22735:2;22727:6;22723:15;22716:36;22531:228;:::o;22765:366::-;22907:3;22928:67;22992:2;22987:3;22928:67;:::i;:::-;22921:74;;23004:93;23093:3;23004:93;:::i;:::-;23122:2;23117:3;23113:12;23106:19;;22765:366;;;:::o;23137:419::-;23303:4;23341:2;23330:9;23326:18;23318:26;;23390:9;23384:4;23380:20;23376:1;23365:9;23361:17;23354:47;23418:131;23544:4;23418:131;:::i;:::-;23410:139;;23137:419;;;:::o;23562:175::-;23702:27;23698:1;23690:6;23686:14;23679:51;23562:175;:::o;23743:366::-;23885:3;23906:67;23970:2;23965:3;23906:67;:::i;:::-;23899:74;;23982:93;24071:3;23982:93;:::i;:::-;24100:2;24095:3;24091:12;24084:19;;23743:366;;;:::o;24115:419::-;24281:4;24319:2;24308:9;24304:18;24296:26;;24368:9;24362:4;24358:20;24354:1;24343:9;24339:17;24332:47;24396:131;24522:4;24396:131;:::i;:::-;24388:139;;24115:419;;;:::o;24540:176::-;24680:28;24676:1;24668:6;24664:14;24657:52;24540:176;:::o;24722:366::-;24864:3;24885:67;24949:2;24944:3;24885:67;:::i;:::-;24878:74;;24961:93;25050:3;24961:93;:::i;:::-;25079:2;25074:3;25070:12;25063:19;;24722:366;;;:::o;25094:419::-;25260:4;25298:2;25287:9;25283:18;25275:26;;25347:9;25341:4;25337:20;25333:1;25322:9;25318:17;25311:47;25375:131;25501:4;25375:131;:::i;:::-;25367:139;;25094:419;;;:::o;25519:194::-;25559:4;25579:20;25597:1;25579:20;:::i;:::-;25574:25;;25613:20;25631:1;25613:20;:::i;:::-;25608:25;;25657:1;25654;25650:9;25642:17;;25681:1;25675:4;25672:11;25669:37;;;25686:18;;:::i;:::-;25669:37;25519:194;;;;:::o;25719:220::-;25859:34;25855:1;25847:6;25843:14;25836:58;25928:3;25923:2;25915:6;25911:15;25904:28;25719:220;:::o;25945:366::-;26087:3;26108:67;26172:2;26167:3;26108:67;:::i;:::-;26101:74;;26184:93;26273:3;26184:93;:::i;:::-;26302:2;26297:3;26293:12;26286:19;;25945:366;;;:::o;26317:419::-;26483:4;26521:2;26510:9;26506:18;26498:26;;26570:9;26564:4;26560:20;26556:1;26545:9;26541:17;26534:47;26598:131;26724:4;26598:131;:::i;:::-;26590:139;;26317:419;;;:::o;26742:177::-;26882:29;26878:1;26870:6;26866:14;26859:53;26742:177;:::o;26925:366::-;27067:3;27088:67;27152:2;27147:3;27088:67;:::i;:::-;27081:74;;27164:93;27253:3;27164:93;:::i;:::-;27282:2;27277:3;27273:12;27266:19;;26925:366;;;:::o;27297:419::-;27463:4;27501:2;27490:9;27486:18;27478:26;;27550:9;27544:4;27540:20;27536:1;27525:9;27521:17;27514:47;27578:131;27704:4;27578:131;:::i;:::-;27570:139;;27297:419;;;:::o

Swarm Source

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