ETH Price: $3,178.46 (-8.42%)
Gas: 2 Gwei

Token

Anime Pulse (APULSE)
 

Overview

Max Total Supply

100,000,000 APULSE

Holders

72

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
937,816.998371254 APULSE

Value
$0.00
0x0F2990342Bfe3D6C3538C7878928eAea824CDcD8
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:
AnimePulse

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-08-12
*/

/**

Anime Pulse

A sanctuary for the neverending meta of Anime!

Anime Pulse will be the home for all the anime tokens that will be deployed on the HEX chain, upon our migration.

APULSE platform will be utilized to help other anime projects with exposure, and only holders of $APULSE will be able to use it!

A pulse that nevers stops beating! - Anime Pulse

Website: https://animepulse.xyz/
Telegram: https://t.me/animepulseeth
Twitter: https://twitter.com/AnimePulseEth

*/

pragma solidity ^0.8.16;
// SPDX-License-Identifier: UNLICENSED
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

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

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

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

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

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

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

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

}

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

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

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

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

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

}  

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

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

contract AnimePulse is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => uint256) private _buyMap;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 100 * 10**6 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    struct Taxes {
        uint256 buyFee1;
        uint256 buyFee2;
        uint256 sellFee1;
        uint256 sellFee2;
    }

    Taxes private _taxes = Taxes(0,1,0,1);
    uint256 private initialTotalBuyFee = _taxes.buyFee1 + _taxes.buyFee2;
    uint256 private initialTotalSellFee = _taxes.sellFee1 + _taxes.sellFee2;
    uint256 private startSellFee = 15;
    uint256 private finalSellFee = 1;
    uint256 private taxSubstractFrequency = 15 minutes;

    address payable private _feeAddrWallet;
    uint256 private _feeRate = 20;
    
    string private constant _name = "Anime Pulse";
    string private constant _symbol = "APULSE";
    uint8 private constant _decimals = 9;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;

    bool private tradingOpen;
    uint256 launchedAt;

    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;

    uint256 private _maxTxAmount = _tTotal;
    uint256 private _maxWalletSize = _tTotal;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    event TaxChange(uint _tax);

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _feeAddrWallet = payable(0x08F106b3F29b5EF3A0e0ddd55b1699F3D60CA77E);
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet] = true;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

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

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

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

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

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

    function setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }

    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

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

    function _transfer(address from, address to, uint256 amount) private {
        require(amount > 0, "Amount cannot be zero.");

        if (from != owner() && to != owner()) {

            if (!_isBuy(from)) {
                if (_buyMap[tx.origin] != 0) {
                    uint256 taxSubstract = (block.timestamp - _buyMap[tx.origin]) / taxSubstractFrequency;
                    if (taxSubstract > startSellFee - finalSellFee) {
                        taxSubstract = startSellFee - finalSellFee;
                    }
                    _taxes.sellFee2 = startSellFee - taxSubstract;
                } else {
                    _taxes.sellFee2 = finalSellFee;
                }
                _buyMap[tx.origin] == 0;
            } else {
                if (_buyMap[to] == 0) {
                    _buyMap[to] = block.timestamp;
                }
                _taxes.sellFee2 = finalSellFee;
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
                // buy
                require(amount <= _maxTxAmount, "Max transaction exceeded.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Max wallet exceeded.");
            }

            if (from != address(uniswapV2Router) && ! _isExcludedFromFee[from] && to == uniswapV2Pair){
                require(!bots[from] && !bots[to]);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance > balanceOf(uniswapV2Pair).mul(_feeRate).div(100)) {
                contractTokenBalance = balanceOf(uniswapV2Pair).mul(_feeRate).div(100);
            }

            if (!inSwap && from != uniswapV2Pair && swapEnabled) {

                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        _tokenTransfer(from,to,amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp + 60
        );
    }

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

    function getCurrentFees() public view returns (uint256, uint256, uint256, uint256) {
        return (_taxes.buyFee1, _taxes.buyFee2, _taxes.sellFee1, _taxes.sellFee2);
    }

    function getYourCurrentFees() public view returns (uint256) {
        return getAddressesCurrentFees(_msgSender());
    }

    function getAddressesCurrentFees(address addr) public view returns (uint256) {
        require(_buyMap[addr] != 0, "This address didn't buy any tokens or it has already sold them.");
        uint256 taxSubstract = (block.timestamp - _buyMap[addr]) / taxSubstractFrequency;
        if (taxSubstract > startSellFee - finalSellFee) {
            taxSubstract = startSellFee - finalSellFee;
        }
        return startSellFee - taxSubstract;
    }

    function adjustFees(uint256 buyFee1, uint256 buyFee2, uint256 sellFee1, uint256 sellFee2) external onlyOwner {
        require(buyFee1 + buyFee2 <= initialTotalBuyFee);
        require(sellFee1 + sellFee2 <= initialTotalSellFee);
        _taxes.buyFee1 = buyFee1;
        _taxes.buyFee2 = buyFee2;
        _taxes.sellFee1 = sellFee1;
        _taxes.sellFee2 = sellFee2;
    }

    function changeMaxTxAmount(uint256 percentage) external onlyOwner{
        require(percentage>0);
        _maxTxAmount = _tTotal.mul(percentage).div(100);
    }

    function changeMaxWalletSize(uint256 percentage) external onlyOwner{
        require(percentage>0);
        _maxWalletSize = _tTotal.mul(percentage).div(100);
    }

    function setFeeRate(uint256 rate) external onlyOwner() {
        require(rate<=49);
        _feeRate = rate;
    }
        
    function sendETHToFee(uint256 amount) private {
        _feeAddrWallet.transfer(amount);
    }  

    function openTrading() external onlyOwner() {
        require(!tradingOpen, "Trading already open.");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        cooldownEnabled = true;
        _maxTxAmount = _tTotal.mul(3).div(100);
        _maxWalletSize = _tTotal.mul(3).div(100);
        tradingOpen = true;
        launchedAt = block.number;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
    
    function addBot(address[] memory _bots) public onlyOwner {
        for (uint i = 0; i < _bots.length; i++) {
            if (_bots[i] != address(this) && _bots[i] != uniswapV2Pair && _bots[i] != address(uniswapV2Router)){
                bots[_bots[i]] = true;
            }
        }
    }
    
    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }
        
    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}
    
    function manualswap() external onlyOwner {
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _isBuy(_msgSender()) ? _getTValues(tAmount, _taxes.buyFee1, _taxes.buyFee2) : _getTValues(tAmount, _taxes.sellFee1, _taxes.sellFee2);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _isBuy(address _sender) private view returns (bool) {
        return _sender == uniswapV2Pair;
    }

	function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;      
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TaxChange","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":"_bots","type":"address[]"}],"name":"addBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyFee1","type":"uint256"},{"internalType":"uint256","name":"buyFee2","type":"uint256"},{"internalType":"uint256","name":"sellFee1","type":"uint256"},{"internalType":"uint256","name":"sellFee2","type":"uint256"}],"name":"adjustFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percentage","type":"uint256"}],"name":"changeMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percentage","type":"uint256"}],"name":"changeMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"getAddressesCurrentFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getYourCurrentFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setFeeRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405267016345785d8a00006000196200001c9190620004c3565b6000196200002b91906200052a565b60095560405180608001604052806000815260200160018152602001600081526020016001815250600b600082015181600001556020820151816001015560408201518160020155606082015181600301555050600b60010154600b6000015462000097919062000565565b600f55600b60030154600b60020154620000b2919062000565565b601055600f601155600160125561038460135560146015556000601960006101000a81548160ff0219169083151502179055506000601960016101000a81548160ff0219169083151502179055506000601960026101000a81548160ff02191690831515021790555067016345785d8a0000601a5567016345785d8a0000601b553480156200014057600080fd5b506000620001536200045960201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3507308f106b3f29b5ef3a0e0ddd55b1699f3d60ca77e601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600954600260006200025d6200045960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160066000620002b16200046160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003e46200045960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef67016345785d8a00006040516200044b9190620005b1565b60405180910390a3620005ce565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620004d0826200048a565b9150620004dd836200048a565b925082620004f057620004ef62000494565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000537826200048a565b915062000544836200048a565b92508282039050818111156200055f576200055e620004fb565b5b92915050565b600062000572826200048a565b91506200057f836200048a565b92508282019050808211156200059a5762000599620004fb565b5b92915050565b620005ab816200048a565b82525050565b6000602082019050620005c86000830184620005a0565b92915050565b613e9b80620005de6000396000f3fe60806040526004361061016a5760003560e01c806370a08231116100d1578063a9059cbb1161008a578063b87f137a11610064578063b87f137a14610512578063c3c8cd801461053b578063c9567bf914610552578063dd62ed3e1461056957610171565b8063a9059cbb1461046d578063ad19b1f2146104aa578063afb4a3f5146104e757610171565b806370a082311461037e578063715018a6146103bb57806371908a03146103d2578063751039fc146104005780638da5cb5b1461041757806395d89b411461044257610171565b8063273123b711610123578063273123b714610298578063313ce567146102c157806345596e2e146102ec5780635932ead114610315578063677daa571461033e5780636fc3eaec1461036757610171565b806306fdde0314610176578063095ea7b3146101a157806317e1df5b146101de57806318160ddd1461020757806321bbcbb11461023257806323b872dd1461025b57610171565b3661017157005b600080fd5b34801561018257600080fd5b5061018b6105a6565b6040516101989190612ec9565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c39190612f93565b6105e3565b6040516101d59190612fee565b60405180910390f35b3480156101ea57600080fd5b5061020560048036038101906102009190613009565b610601565b005b34801561021357600080fd5b5061021c6106f8565b604051610229919061307f565b60405180910390f35b34801561023e57600080fd5b50610259600480360381019061025491906131e2565b610708565b005b34801561026757600080fd5b50610282600480360381019061027d919061322b565b61096a565b60405161028f9190612fee565b60405180910390f35b3480156102a457600080fd5b506102bf60048036038101906102ba919061327e565b610a43565b005b3480156102cd57600080fd5b506102d6610b33565b6040516102e391906132c7565b60405180910390f35b3480156102f857600080fd5b50610313600480360381019061030e91906132e2565b610b3c565b005b34801561032157600080fd5b5061033c6004803603810190610337919061333b565b610be9565b005b34801561034a57600080fd5b50610365600480360381019061036091906132e2565b610c9b565b005b34801561037357600080fd5b5061037c610d74565b005b34801561038a57600080fd5b506103a560048036038101906103a0919061327e565b610e1a565b6040516103b2919061307f565b60405180910390f35b3480156103c757600080fd5b506103d0610e6b565b005b3480156103de57600080fd5b506103e7610fbe565b6040516103f79493929190613368565b60405180910390f35b34801561040c57600080fd5b50610415610fea565b005b34801561042357600080fd5b5061042c61109f565b60405161043991906133bc565b60405180910390f35b34801561044e57600080fd5b506104576110c8565b6040516104649190612ec9565b60405180910390f35b34801561047957600080fd5b50610494600480360381019061048f9190612f93565b611105565b6040516104a19190612fee565b60405180910390f35b3480156104b657600080fd5b506104d160048036038101906104cc919061327e565b611123565b6040516104de919061307f565b60405180910390f35b3480156104f357600080fd5b506104fc611242565b604051610509919061307f565b60405180910390f35b34801561051e57600080fd5b50610539600480360381019061053491906132e2565b611259565b005b34801561054757600080fd5b50610550611332565b005b34801561055e57600080fd5b506105676113e0565b005b34801561057557600080fd5b50610590600480360381019061058b91906133d7565b611952565b60405161059d919061307f565b60405180910390f35b60606040518060400160405280600b81526020017f416e696d652050756c7365000000000000000000000000000000000000000000815250905090565b60006105f76105f06119d9565b84846119e1565b6001905092915050565b6106096119d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610696576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068d90613463565b60405180910390fd5b600f5483856106a591906134b2565b11156106b057600080fd5b60105481836106bf91906134b2565b11156106ca57600080fd5b83600b6000018190555082600b6001018190555081600b6002018190555080600b6003018190555050505050565b600067016345785d8a0000905090565b6107106119d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461079d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079490613463565b60405180910390fd5b60005b8151811015610966573073ffffffffffffffffffffffffffffffffffffffff168282815181106107d3576107d26134e6565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16141580156108675750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16828281518110610846576108456134e6565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614155b80156108db5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168282815181106108ba576108b96134e6565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614155b15610953576001600760008484815181106108f9576108f86134e6565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b808061095e90613515565b9150506107a0565b5050565b6000610977848484611baa565b610a38846109836119d9565b610a3385604051806060016040528060288152602001613e3e60289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109e96119d9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123359092919063ffffffff16565b6119e1565b600190509392505050565b610a4b6119d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ad8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acf90613463565b60405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b610b446119d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc890613463565b60405180910390fd5b6031811115610bdf57600080fd5b8060158190555050565b610bf16119d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7590613463565b60405180910390fd5b80601960026101000a81548160ff02191690831515021790555050565b610ca36119d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2790613463565b60405180910390fd5b60008111610d3d57600080fd5b610d6b6064610d5d8367016345785d8a000061239990919063ffffffff16565b61241390919063ffffffff16565b601a8190555050565b610d7c6119d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0090613463565b60405180910390fd5b6000479050610e178161245d565b50565b6000610e64600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124c9565b9050919050565b610e736119d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef790613463565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600080600080600b60000154600b60010154600b60020154600b60030154935093509350935090919293565b610ff26119d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461107f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107690613463565b60405180910390fd5b67016345785d8a0000601a8190555067016345785d8a0000601b81905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f4150554c53450000000000000000000000000000000000000000000000000000815250905090565b60006111196111126119d9565b8484611baa565b6001905092915050565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054036111a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119d906135cf565b60405180910390fd5b6000601354600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054426111f691906135ef565b6112009190613652565b905060125460115461121291906135ef565b81111561122c5760125460115461122991906135ef565b90505b8060115461123a91906135ef565b915050919050565b600061125461124f6119d9565b611123565b905090565b6112616119d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e590613463565b60405180910390fd5b600081116112fb57600080fd5b611329606461131b8367016345785d8a000061239990919063ffffffff16565b61241390919063ffffffff16565b601b8190555050565b61133a6119d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113be90613463565b60405180910390fd5b60006113d230610e1a565b90506113dd81612537565b50565b6113e86119d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611475576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146c90613463565b60405180910390fd5b601760149054906101000a900460ff16156114c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114bc906136cf565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061155430601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1667016345785d8a00006119e1565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561159f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115c39190613704565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561162a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164e9190613704565b6040518363ffffffff1660e01b815260040161166b929190613731565b6020604051808303816000875af115801561168a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ae9190613704565b601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061173730610e1a565b60008061174261109f565b426040518863ffffffff1660e01b81526004016117649695949392919061379f565b60606040518083038185885af1158015611782573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906117a79190613815565b5050506001601960016101000a81548160ff0219169083151502179055506001601960026101000a81548160ff02191690831515021790555061180f6064611801600367016345785d8a000061239990919063ffffffff16565b61241390919063ffffffff16565b601a819055506118446064611836600367016345785d8a000061239990919063ffffffff16565b61241390919063ffffffff16565b601b819055506001601760146101000a81548160ff02191690831515021790555043601881905550601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161190b929190613868565b6020604051808303816000875af115801561192a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061194e91906138a6565b5050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4790613945565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611abf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab6906139d7565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b9d919061307f565b60405180910390a3505050565b60008111611bed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be490613a43565b60405180910390fd5b611bf561109f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611c635750611c3361109f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561232557611c71836127bc565b611db4576000600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611d5f576000601354600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442611d0c91906135ef565b611d169190613652565b9050601254601154611d2891906135ef565b811115611d4257601254601154611d3f91906135ef565b90505b80601154611d5091906135ef565b600b6003018190555050611d6c565b601254600b600301819055505b6000600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205050611e4d565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403611e405742600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601254600b600301819055505b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611ef85750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611f4e5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611f665750601960029054906101000a900460ff165b1561200957601a54811115611fb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa790613aaf565b60405180910390fd5b601b5481611fbd84610e1a565b611fc791906134b2565b1115612008576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fff90613b1b565b60405180910390fd5b5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156120b15750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561210a5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156121bd57600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156121b35750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6121bc57600080fd5b5b60006121c830610e1a565b905061221c606461220e601554612200601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e1a565b61239990919063ffffffff16565b61241390919063ffffffff16565b811115612278576122756064612267601554612259601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e1a565b61239990919063ffffffff16565b61241390919063ffffffff16565b90505b601960009054906101000a900460ff161580156122e35750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156122fb5750601960019054906101000a900460ff165b156123235761230981612537565b60004790506000811115612321576123204761245d565b5b505b505b612330838383612816565b505050565b600083831115829061237d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123749190612ec9565b60405180910390fd5b506000838561238c91906135ef565b9050809150509392505050565b60008083036123ab576000905061240d565b600082846123b99190613b3b565b90508284826123c89190613652565b14612408576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ff90613c07565b60405180910390fd5b809150505b92915050565b600061245583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612826565b905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156124c5573d6000803e3d6000fd5b5050565b6000600954821115612510576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250790613c99565b60405180910390fd5b600061251a612889565b905061252f818461241390919063ffffffff16565b915050919050565b6001601960006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561256f5761256e61309f565b5b60405190808252806020026020018201604052801561259d5781602001602082028036833780820191505090505b50905030816000815181106125b5576125b46134e6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561265c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126809190613704565b81600181518110612694576126936134e6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506126fb30601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846119e1565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430603c4261274b91906134b2565b6040518663ffffffff1660e01b815260040161276b959493929190613d77565b600060405180830381600087803b15801561278557600080fd5b505af1158015612799573d6000803e3d6000fd5b50505050506000601960006101000a81548160ff02191690831515021790555050565b6000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b6128218383836128b4565b505050565b6000808311829061286d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128649190612ec9565b60405180910390fd5b506000838561287c9190613652565b9050809150509392505050565b6000806000612896612a7f565b915091506128ad818361241390919063ffffffff16565b9250505090565b6000806000806000806128c687612ade565b95509550955095509550955061292486600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b7b90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129b985600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bc590919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a0581612c23565b612a0f8483612ce0565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612a6c919061307f565b60405180910390a3505050505050505050565b60008060006009549050600067016345785d8a00009050612ab367016345785d8a000060095461241390919063ffffffff16565b821015612ad15760095467016345785d8a0000935093505050612ada565b81819350935050505b9091565b6000806000806000806000806000612afc612af76119d9565b6127bc565b612b1a57612b158a600b60020154600b60030154612d1a565b612b30565b612b2f8a600b60000154600b60010154612d1a565b5b9250925092506000612b40612889565b90506000806000612b538e878787612db0565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612bbd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612335565b905092915050565b6000808284612bd491906134b2565b905083811015612c19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c1090613e1d565b60405180910390fd5b8091505092915050565b6000612c2d612889565b90506000612c44828461239990919063ffffffff16565b9050612c9881600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bc590919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612cf582600954612b7b90919063ffffffff16565b600981905550612d1081600a54612bc590919063ffffffff16565b600a819055505050565b600080600080612d466064612d38888a61239990919063ffffffff16565b61241390919063ffffffff16565b90506000612d706064612d62888b61239990919063ffffffff16565b61241390919063ffffffff16565b90506000612d9982612d8b858c612b7b90919063ffffffff16565b612b7b90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612dc9858961239990919063ffffffff16565b90506000612de0868961239990919063ffffffff16565b90506000612df7878961239990919063ffffffff16565b90506000612e2082612e128587612b7b90919063ffffffff16565b612b7b90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612e73578082015181840152602081019050612e58565b60008484015250505050565b6000601f19601f8301169050919050565b6000612e9b82612e39565b612ea58185612e44565b9350612eb5818560208601612e55565b612ebe81612e7f565b840191505092915050565b60006020820190508181036000830152612ee38184612e90565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612f2a82612eff565b9050919050565b612f3a81612f1f565b8114612f4557600080fd5b50565b600081359050612f5781612f31565b92915050565b6000819050919050565b612f7081612f5d565b8114612f7b57600080fd5b50565b600081359050612f8d81612f67565b92915050565b60008060408385031215612faa57612fa9612ef5565b5b6000612fb885828601612f48565b9250506020612fc985828601612f7e565b9150509250929050565b60008115159050919050565b612fe881612fd3565b82525050565b60006020820190506130036000830184612fdf565b92915050565b6000806000806080858703121561302357613022612ef5565b5b600061303187828801612f7e565b945050602061304287828801612f7e565b935050604061305387828801612f7e565b925050606061306487828801612f7e565b91505092959194509250565b61307981612f5d565b82525050565b60006020820190506130946000830184613070565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6130d782612e7f565b810181811067ffffffffffffffff821117156130f6576130f561309f565b5b80604052505050565b6000613109612eeb565b905061311582826130ce565b919050565b600067ffffffffffffffff8211156131355761313461309f565b5b602082029050602081019050919050565b600080fd5b600061315e6131598461311a565b6130ff565b9050808382526020820190506020840283018581111561318157613180613146565b5b835b818110156131aa57806131968882612f48565b845260208401935050602081019050613183565b5050509392505050565b600082601f8301126131c9576131c861309a565b5b81356131d984826020860161314b565b91505092915050565b6000602082840312156131f8576131f7612ef5565b5b600082013567ffffffffffffffff81111561321657613215612efa565b5b613222848285016131b4565b91505092915050565b60008060006060848603121561324457613243612ef5565b5b600061325286828701612f48565b935050602061326386828701612f48565b925050604061327486828701612f7e565b9150509250925092565b60006020828403121561329457613293612ef5565b5b60006132a284828501612f48565b91505092915050565b600060ff82169050919050565b6132c1816132ab565b82525050565b60006020820190506132dc60008301846132b8565b92915050565b6000602082840312156132f8576132f7612ef5565b5b600061330684828501612f7e565b91505092915050565b61331881612fd3565b811461332357600080fd5b50565b6000813590506133358161330f565b92915050565b60006020828403121561335157613350612ef5565b5b600061335f84828501613326565b91505092915050565b600060808201905061337d6000830187613070565b61338a6020830186613070565b6133976040830185613070565b6133a46060830184613070565b95945050505050565b6133b681612f1f565b82525050565b60006020820190506133d160008301846133ad565b92915050565b600080604083850312156133ee576133ed612ef5565b5b60006133fc85828601612f48565b925050602061340d85828601612f48565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061344d602083612e44565b915061345882613417565b602082019050919050565b6000602082019050818103600083015261347c81613440565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006134bd82612f5d565b91506134c883612f5d565b92508282019050808211156134e0576134df613483565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061352082612f5d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361355257613551613483565b5b600182019050919050565b7f546869732061646472657373206469646e27742062757920616e7920746f6b6560008201527f6e73206f722069742068617320616c726561647920736f6c64207468656d2e00602082015250565b60006135b9603f83612e44565b91506135c48261355d565b604082019050919050565b600060208201905081810360008301526135e8816135ac565b9050919050565b60006135fa82612f5d565b915061360583612f5d565b925082820390508181111561361d5761361c613483565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061365d82612f5d565b915061366883612f5d565b92508261367857613677613623565b5b828204905092915050565b7f54726164696e6720616c7265616479206f70656e2e0000000000000000000000600082015250565b60006136b9601583612e44565b91506136c482613683565b602082019050919050565b600060208201905081810360008301526136e8816136ac565b9050919050565b6000815190506136fe81612f31565b92915050565b60006020828403121561371a57613719612ef5565b5b6000613728848285016136ef565b91505092915050565b600060408201905061374660008301856133ad565b61375360208301846133ad565b9392505050565b6000819050919050565b6000819050919050565b600061378961378461377f8461375a565b613764565b612f5d565b9050919050565b6137998161376e565b82525050565b600060c0820190506137b460008301896133ad565b6137c16020830188613070565b6137ce6040830187613790565b6137db6060830186613790565b6137e860808301856133ad565b6137f560a0830184613070565b979650505050505050565b60008151905061380f81612f67565b92915050565b60008060006060848603121561382e5761382d612ef5565b5b600061383c86828701613800565b935050602061384d86828701613800565b925050604061385e86828701613800565b9150509250925092565b600060408201905061387d60008301856133ad565b61388a6020830184613070565b9392505050565b6000815190506138a08161330f565b92915050565b6000602082840312156138bc576138bb612ef5565b5b60006138ca84828501613891565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061392f602483612e44565b915061393a826138d3565b604082019050919050565b6000602082019050818103600083015261395e81613922565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006139c1602283612e44565b91506139cc82613965565b604082019050919050565b600060208201905081810360008301526139f0816139b4565b9050919050565b7f416d6f756e742063616e6e6f74206265207a65726f2e00000000000000000000600082015250565b6000613a2d601683612e44565b9150613a38826139f7565b602082019050919050565b60006020820190508181036000830152613a5c81613a20565b9050919050565b7f4d6178207472616e73616374696f6e2065786365656465642e00000000000000600082015250565b6000613a99601983612e44565b9150613aa482613a63565b602082019050919050565b60006020820190508181036000830152613ac881613a8c565b9050919050565b7f4d61782077616c6c65742065786365656465642e000000000000000000000000600082015250565b6000613b05601483612e44565b9150613b1082613acf565b602082019050919050565b60006020820190508181036000830152613b3481613af8565b9050919050565b6000613b4682612f5d565b9150613b5183612f5d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613b8a57613b89613483565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613bf1602183612e44565b9150613bfc82613b95565b604082019050919050565b60006020820190508181036000830152613c2081613be4565b9050919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613c83602a83612e44565b9150613c8e82613c27565b604082019050919050565b60006020820190508181036000830152613cb281613c76565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613cee81612f1f565b82525050565b6000613d008383613ce5565b60208301905092915050565b6000602082019050919050565b6000613d2482613cb9565b613d2e8185613cc4565b9350613d3983613cd5565b8060005b83811015613d6a578151613d518882613cf4565b9750613d5c83613d0c565b925050600181019050613d3d565b5085935050505092915050565b600060a082019050613d8c6000830188613070565b613d996020830187613790565b8181036040830152613dab8186613d19565b9050613dba60608301856133ad565b613dc76080830184613070565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613e07601b83612e44565b9150613e1282613dd1565b602082019050919050565b60006020820190508181036000830152613e3681613dfa565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206eb0b571716a32ca2488832af6d487e882ec05db05d70418dbd36bb034e1268c64736f6c63430008100033

Deployed Bytecode

0x60806040526004361061016a5760003560e01c806370a08231116100d1578063a9059cbb1161008a578063b87f137a11610064578063b87f137a14610512578063c3c8cd801461053b578063c9567bf914610552578063dd62ed3e1461056957610171565b8063a9059cbb1461046d578063ad19b1f2146104aa578063afb4a3f5146104e757610171565b806370a082311461037e578063715018a6146103bb57806371908a03146103d2578063751039fc146104005780638da5cb5b1461041757806395d89b411461044257610171565b8063273123b711610123578063273123b714610298578063313ce567146102c157806345596e2e146102ec5780635932ead114610315578063677daa571461033e5780636fc3eaec1461036757610171565b806306fdde0314610176578063095ea7b3146101a157806317e1df5b146101de57806318160ddd1461020757806321bbcbb11461023257806323b872dd1461025b57610171565b3661017157005b600080fd5b34801561018257600080fd5b5061018b6105a6565b6040516101989190612ec9565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c39190612f93565b6105e3565b6040516101d59190612fee565b60405180910390f35b3480156101ea57600080fd5b5061020560048036038101906102009190613009565b610601565b005b34801561021357600080fd5b5061021c6106f8565b604051610229919061307f565b60405180910390f35b34801561023e57600080fd5b50610259600480360381019061025491906131e2565b610708565b005b34801561026757600080fd5b50610282600480360381019061027d919061322b565b61096a565b60405161028f9190612fee565b60405180910390f35b3480156102a457600080fd5b506102bf60048036038101906102ba919061327e565b610a43565b005b3480156102cd57600080fd5b506102d6610b33565b6040516102e391906132c7565b60405180910390f35b3480156102f857600080fd5b50610313600480360381019061030e91906132e2565b610b3c565b005b34801561032157600080fd5b5061033c6004803603810190610337919061333b565b610be9565b005b34801561034a57600080fd5b50610365600480360381019061036091906132e2565b610c9b565b005b34801561037357600080fd5b5061037c610d74565b005b34801561038a57600080fd5b506103a560048036038101906103a0919061327e565b610e1a565b6040516103b2919061307f565b60405180910390f35b3480156103c757600080fd5b506103d0610e6b565b005b3480156103de57600080fd5b506103e7610fbe565b6040516103f79493929190613368565b60405180910390f35b34801561040c57600080fd5b50610415610fea565b005b34801561042357600080fd5b5061042c61109f565b60405161043991906133bc565b60405180910390f35b34801561044e57600080fd5b506104576110c8565b6040516104649190612ec9565b60405180910390f35b34801561047957600080fd5b50610494600480360381019061048f9190612f93565b611105565b6040516104a19190612fee565b60405180910390f35b3480156104b657600080fd5b506104d160048036038101906104cc919061327e565b611123565b6040516104de919061307f565b60405180910390f35b3480156104f357600080fd5b506104fc611242565b604051610509919061307f565b60405180910390f35b34801561051e57600080fd5b50610539600480360381019061053491906132e2565b611259565b005b34801561054757600080fd5b50610550611332565b005b34801561055e57600080fd5b506105676113e0565b005b34801561057557600080fd5b50610590600480360381019061058b91906133d7565b611952565b60405161059d919061307f565b60405180910390f35b60606040518060400160405280600b81526020017f416e696d652050756c7365000000000000000000000000000000000000000000815250905090565b60006105f76105f06119d9565b84846119e1565b6001905092915050565b6106096119d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610696576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068d90613463565b60405180910390fd5b600f5483856106a591906134b2565b11156106b057600080fd5b60105481836106bf91906134b2565b11156106ca57600080fd5b83600b6000018190555082600b6001018190555081600b6002018190555080600b6003018190555050505050565b600067016345785d8a0000905090565b6107106119d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461079d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079490613463565b60405180910390fd5b60005b8151811015610966573073ffffffffffffffffffffffffffffffffffffffff168282815181106107d3576107d26134e6565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16141580156108675750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16828281518110610846576108456134e6565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614155b80156108db5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168282815181106108ba576108b96134e6565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614155b15610953576001600760008484815181106108f9576108f86134e6565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b808061095e90613515565b9150506107a0565b5050565b6000610977848484611baa565b610a38846109836119d9565b610a3385604051806060016040528060288152602001613e3e60289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109e96119d9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123359092919063ffffffff16565b6119e1565b600190509392505050565b610a4b6119d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ad8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acf90613463565b60405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b610b446119d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc890613463565b60405180910390fd5b6031811115610bdf57600080fd5b8060158190555050565b610bf16119d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7590613463565b60405180910390fd5b80601960026101000a81548160ff02191690831515021790555050565b610ca36119d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2790613463565b60405180910390fd5b60008111610d3d57600080fd5b610d6b6064610d5d8367016345785d8a000061239990919063ffffffff16565b61241390919063ffffffff16565b601a8190555050565b610d7c6119d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0090613463565b60405180910390fd5b6000479050610e178161245d565b50565b6000610e64600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124c9565b9050919050565b610e736119d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef790613463565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600080600080600b60000154600b60010154600b60020154600b60030154935093509350935090919293565b610ff26119d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461107f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107690613463565b60405180910390fd5b67016345785d8a0000601a8190555067016345785d8a0000601b81905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f4150554c53450000000000000000000000000000000000000000000000000000815250905090565b60006111196111126119d9565b8484611baa565b6001905092915050565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054036111a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119d906135cf565b60405180910390fd5b6000601354600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054426111f691906135ef565b6112009190613652565b905060125460115461121291906135ef565b81111561122c5760125460115461122991906135ef565b90505b8060115461123a91906135ef565b915050919050565b600061125461124f6119d9565b611123565b905090565b6112616119d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e590613463565b60405180910390fd5b600081116112fb57600080fd5b611329606461131b8367016345785d8a000061239990919063ffffffff16565b61241390919063ffffffff16565b601b8190555050565b61133a6119d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113be90613463565b60405180910390fd5b60006113d230610e1a565b90506113dd81612537565b50565b6113e86119d9565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611475576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146c90613463565b60405180910390fd5b601760149054906101000a900460ff16156114c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114bc906136cf565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061155430601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1667016345785d8a00006119e1565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561159f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115c39190613704565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561162a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164e9190613704565b6040518363ffffffff1660e01b815260040161166b929190613731565b6020604051808303816000875af115801561168a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ae9190613704565b601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061173730610e1a565b60008061174261109f565b426040518863ffffffff1660e01b81526004016117649695949392919061379f565b60606040518083038185885af1158015611782573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906117a79190613815565b5050506001601960016101000a81548160ff0219169083151502179055506001601960026101000a81548160ff02191690831515021790555061180f6064611801600367016345785d8a000061239990919063ffffffff16565b61241390919063ffffffff16565b601a819055506118446064611836600367016345785d8a000061239990919063ffffffff16565b61241390919063ffffffff16565b601b819055506001601760146101000a81548160ff02191690831515021790555043601881905550601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161190b929190613868565b6020604051808303816000875af115801561192a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061194e91906138a6565b5050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4790613945565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611abf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab6906139d7565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b9d919061307f565b60405180910390a3505050565b60008111611bed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be490613a43565b60405180910390fd5b611bf561109f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611c635750611c3361109f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561232557611c71836127bc565b611db4576000600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611d5f576000601354600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442611d0c91906135ef565b611d169190613652565b9050601254601154611d2891906135ef565b811115611d4257601254601154611d3f91906135ef565b90505b80601154611d5091906135ef565b600b6003018190555050611d6c565b601254600b600301819055505b6000600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205050611e4d565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403611e405742600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601254600b600301819055505b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611ef85750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611f4e5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611f665750601960029054906101000a900460ff165b1561200957601a54811115611fb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa790613aaf565b60405180910390fd5b601b5481611fbd84610e1a565b611fc791906134b2565b1115612008576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fff90613b1b565b60405180910390fd5b5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156120b15750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561210a5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156121bd57600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156121b35750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6121bc57600080fd5b5b60006121c830610e1a565b905061221c606461220e601554612200601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e1a565b61239990919063ffffffff16565b61241390919063ffffffff16565b811115612278576122756064612267601554612259601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e1a565b61239990919063ffffffff16565b61241390919063ffffffff16565b90505b601960009054906101000a900460ff161580156122e35750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156122fb5750601960019054906101000a900460ff165b156123235761230981612537565b60004790506000811115612321576123204761245d565b5b505b505b612330838383612816565b505050565b600083831115829061237d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123749190612ec9565b60405180910390fd5b506000838561238c91906135ef565b9050809150509392505050565b60008083036123ab576000905061240d565b600082846123b99190613b3b565b90508284826123c89190613652565b14612408576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123ff90613c07565b60405180910390fd5b809150505b92915050565b600061245583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612826565b905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156124c5573d6000803e3d6000fd5b5050565b6000600954821115612510576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250790613c99565b60405180910390fd5b600061251a612889565b905061252f818461241390919063ffffffff16565b915050919050565b6001601960006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561256f5761256e61309f565b5b60405190808252806020026020018201604052801561259d5781602001602082028036833780820191505090505b50905030816000815181106125b5576125b46134e6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561265c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126809190613704565b81600181518110612694576126936134e6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506126fb30601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846119e1565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430603c4261274b91906134b2565b6040518663ffffffff1660e01b815260040161276b959493929190613d77565b600060405180830381600087803b15801561278557600080fd5b505af1158015612799573d6000803e3d6000fd5b50505050506000601960006101000a81548160ff02191690831515021790555050565b6000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b6128218383836128b4565b505050565b6000808311829061286d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128649190612ec9565b60405180910390fd5b506000838561287c9190613652565b9050809150509392505050565b6000806000612896612a7f565b915091506128ad818361241390919063ffffffff16565b9250505090565b6000806000806000806128c687612ade565b95509550955095509550955061292486600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b7b90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129b985600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bc590919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a0581612c23565b612a0f8483612ce0565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612a6c919061307f565b60405180910390a3505050505050505050565b60008060006009549050600067016345785d8a00009050612ab367016345785d8a000060095461241390919063ffffffff16565b821015612ad15760095467016345785d8a0000935093505050612ada565b81819350935050505b9091565b6000806000806000806000806000612afc612af76119d9565b6127bc565b612b1a57612b158a600b60020154600b60030154612d1a565b612b30565b612b2f8a600b60000154600b60010154612d1a565b5b9250925092506000612b40612889565b90506000806000612b538e878787612db0565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612bbd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612335565b905092915050565b6000808284612bd491906134b2565b905083811015612c19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c1090613e1d565b60405180910390fd5b8091505092915050565b6000612c2d612889565b90506000612c44828461239990919063ffffffff16565b9050612c9881600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bc590919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612cf582600954612b7b90919063ffffffff16565b600981905550612d1081600a54612bc590919063ffffffff16565b600a819055505050565b600080600080612d466064612d38888a61239990919063ffffffff16565b61241390919063ffffffff16565b90506000612d706064612d62888b61239990919063ffffffff16565b61241390919063ffffffff16565b90506000612d9982612d8b858c612b7b90919063ffffffff16565b612b7b90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612dc9858961239990919063ffffffff16565b90506000612de0868961239990919063ffffffff16565b90506000612df7878961239990919063ffffffff16565b90506000612e2082612e128587612b7b90919063ffffffff16565b612b7b90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612e73578082015181840152602081019050612e58565b60008484015250505050565b6000601f19601f8301169050919050565b6000612e9b82612e39565b612ea58185612e44565b9350612eb5818560208601612e55565b612ebe81612e7f565b840191505092915050565b60006020820190508181036000830152612ee38184612e90565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612f2a82612eff565b9050919050565b612f3a81612f1f565b8114612f4557600080fd5b50565b600081359050612f5781612f31565b92915050565b6000819050919050565b612f7081612f5d565b8114612f7b57600080fd5b50565b600081359050612f8d81612f67565b92915050565b60008060408385031215612faa57612fa9612ef5565b5b6000612fb885828601612f48565b9250506020612fc985828601612f7e565b9150509250929050565b60008115159050919050565b612fe881612fd3565b82525050565b60006020820190506130036000830184612fdf565b92915050565b6000806000806080858703121561302357613022612ef5565b5b600061303187828801612f7e565b945050602061304287828801612f7e565b935050604061305387828801612f7e565b925050606061306487828801612f7e565b91505092959194509250565b61307981612f5d565b82525050565b60006020820190506130946000830184613070565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6130d782612e7f565b810181811067ffffffffffffffff821117156130f6576130f561309f565b5b80604052505050565b6000613109612eeb565b905061311582826130ce565b919050565b600067ffffffffffffffff8211156131355761313461309f565b5b602082029050602081019050919050565b600080fd5b600061315e6131598461311a565b6130ff565b9050808382526020820190506020840283018581111561318157613180613146565b5b835b818110156131aa57806131968882612f48565b845260208401935050602081019050613183565b5050509392505050565b600082601f8301126131c9576131c861309a565b5b81356131d984826020860161314b565b91505092915050565b6000602082840312156131f8576131f7612ef5565b5b600082013567ffffffffffffffff81111561321657613215612efa565b5b613222848285016131b4565b91505092915050565b60008060006060848603121561324457613243612ef5565b5b600061325286828701612f48565b935050602061326386828701612f48565b925050604061327486828701612f7e565b9150509250925092565b60006020828403121561329457613293612ef5565b5b60006132a284828501612f48565b91505092915050565b600060ff82169050919050565b6132c1816132ab565b82525050565b60006020820190506132dc60008301846132b8565b92915050565b6000602082840312156132f8576132f7612ef5565b5b600061330684828501612f7e565b91505092915050565b61331881612fd3565b811461332357600080fd5b50565b6000813590506133358161330f565b92915050565b60006020828403121561335157613350612ef5565b5b600061335f84828501613326565b91505092915050565b600060808201905061337d6000830187613070565b61338a6020830186613070565b6133976040830185613070565b6133a46060830184613070565b95945050505050565b6133b681612f1f565b82525050565b60006020820190506133d160008301846133ad565b92915050565b600080604083850312156133ee576133ed612ef5565b5b60006133fc85828601612f48565b925050602061340d85828601612f48565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061344d602083612e44565b915061345882613417565b602082019050919050565b6000602082019050818103600083015261347c81613440565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006134bd82612f5d565b91506134c883612f5d565b92508282019050808211156134e0576134df613483565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061352082612f5d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361355257613551613483565b5b600182019050919050565b7f546869732061646472657373206469646e27742062757920616e7920746f6b6560008201527f6e73206f722069742068617320616c726561647920736f6c64207468656d2e00602082015250565b60006135b9603f83612e44565b91506135c48261355d565b604082019050919050565b600060208201905081810360008301526135e8816135ac565b9050919050565b60006135fa82612f5d565b915061360583612f5d565b925082820390508181111561361d5761361c613483565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061365d82612f5d565b915061366883612f5d565b92508261367857613677613623565b5b828204905092915050565b7f54726164696e6720616c7265616479206f70656e2e0000000000000000000000600082015250565b60006136b9601583612e44565b91506136c482613683565b602082019050919050565b600060208201905081810360008301526136e8816136ac565b9050919050565b6000815190506136fe81612f31565b92915050565b60006020828403121561371a57613719612ef5565b5b6000613728848285016136ef565b91505092915050565b600060408201905061374660008301856133ad565b61375360208301846133ad565b9392505050565b6000819050919050565b6000819050919050565b600061378961378461377f8461375a565b613764565b612f5d565b9050919050565b6137998161376e565b82525050565b600060c0820190506137b460008301896133ad565b6137c16020830188613070565b6137ce6040830187613790565b6137db6060830186613790565b6137e860808301856133ad565b6137f560a0830184613070565b979650505050505050565b60008151905061380f81612f67565b92915050565b60008060006060848603121561382e5761382d612ef5565b5b600061383c86828701613800565b935050602061384d86828701613800565b925050604061385e86828701613800565b9150509250925092565b600060408201905061387d60008301856133ad565b61388a6020830184613070565b9392505050565b6000815190506138a08161330f565b92915050565b6000602082840312156138bc576138bb612ef5565b5b60006138ca84828501613891565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061392f602483612e44565b915061393a826138d3565b604082019050919050565b6000602082019050818103600083015261395e81613922565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006139c1602283612e44565b91506139cc82613965565b604082019050919050565b600060208201905081810360008301526139f0816139b4565b9050919050565b7f416d6f756e742063616e6e6f74206265207a65726f2e00000000000000000000600082015250565b6000613a2d601683612e44565b9150613a38826139f7565b602082019050919050565b60006020820190508181036000830152613a5c81613a20565b9050919050565b7f4d6178207472616e73616374696f6e2065786365656465642e00000000000000600082015250565b6000613a99601983612e44565b9150613aa482613a63565b602082019050919050565b60006020820190508181036000830152613ac881613a8c565b9050919050565b7f4d61782077616c6c65742065786365656465642e000000000000000000000000600082015250565b6000613b05601483612e44565b9150613b1082613acf565b602082019050919050565b60006020820190508181036000830152613b3481613af8565b9050919050565b6000613b4682612f5d565b9150613b5183612f5d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613b8a57613b89613483565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613bf1602183612e44565b9150613bfc82613b95565b604082019050919050565b60006020820190508181036000830152613c2081613be4565b9050919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613c83602a83612e44565b9150613c8e82613c27565b604082019050919050565b60006020820190508181036000830152613cb281613c76565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613cee81612f1f565b82525050565b6000613d008383613ce5565b60208301905092915050565b6000602082019050919050565b6000613d2482613cb9565b613d2e8185613cc4565b9350613d3983613cd5565b8060005b83811015613d6a578151613d518882613cf4565b9750613d5c83613d0c565b925050600181019050613d3d565b5085935050505092915050565b600060a082019050613d8c6000830188613070565b613d996020830187613790565b8181036040830152613dab8186613d19565b9050613dba60608301856133ad565b613dc76080830184613070565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613e07601b83612e44565b9150613e1282613dd1565b602082019050919050565b60006020820190508181036000830152613e3681613dfa565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206eb0b571716a32ca2488832af6d487e882ec05db05d70418dbd36bb034e1268c64736f6c63430008100033

Deployed Bytecode Sourcemap

4013:13449:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6294:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7146:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11867:382;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6571:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13760:296;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7315:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14068:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6480:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12603:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7636:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12257:163;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15404:153;;;;;;;;;;;;;:::i;:::-;;6674:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3092:148;;;;;;;;;;;;;:::i;:::-;;11092:175;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;10966:118;;;;;;;;;;;;;:::i;:::-;;2878:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6385:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6820:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11406:453;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11275:123;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12428:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15238:154;;;;;;;;;;;;;:::i;:::-;;12842:906;;;;;;;;;;;;;:::i;:::-;;6995:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6294:83;6331:13;6364:5;;;;;;;;;;;;;;;;;6357:12;;6294:83;:::o;7146:161::-;7221:4;7238:39;7247:12;:10;:12::i;:::-;7261:7;7270:6;7238:8;:39::i;:::-;7295:4;7288:11;;7146:161;;;;:::o;11867:382::-;3015:12;:10;:12::i;:::-;3005:22;;:6;;;;;;;;;;:22;;;2997:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12016:18:::1;;12005:7;11995;:17;;;;:::i;:::-;:39;;11987:48;;;::::0;::::1;;12077:19;;12065:8;12054;:19;;;;:::i;:::-;:42;;12046:51;;;::::0;::::1;;12125:7;12108:6;:14;;:24;;;;12160:7;12143:6;:14;;:24;;;;12196:8;12178:6;:15;;:26;;;;12233:8;12215:6;:15;;:26;;;;11867:382:::0;;;;:::o;6571:95::-;6624:7;4567:19;6644:14;;6571:95;:::o;13760:296::-;3015:12;:10;:12::i;:::-;3005:22;;:6;;;;;;;;;;:22;;;2997:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13833:6:::1;13828:221;13849:5;:12;13845:1;:16;13828:221;;;13907:4;13887:25;;:5;13893:1;13887:8;;;;;;;;:::i;:::-;;;;;;;;:25;;;;:54;;;;;13928:13;;;;;;;;;;;13916:25;;:5;13922:1;13916:8;;;;;;;;:::i;:::-;;;;;;;;:25;;;;13887:54;:94;;;;;13965:15;;;;;;;;;;;13945:36;;:5;13951:1;13945:8;;;;;;;;:::i;:::-;;;;;;;;:36;;;;13887:94;13883:155;;;14018:4;14001;:14;14006:5;14012:1;14006:8;;;;;;;;:::i;:::-;;;;;;;;14001:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;13883:155;13863:3;;;;;:::i;:::-;;;;13828:221;;;;13760:296:::0;:::o;7315:313::-;7413:4;7430:36;7440:6;7448:9;7459:6;7430:9;:36::i;:::-;7477:121;7486:6;7494:12;:10;:12::i;:::-;7508:89;7546:6;7508:89;;;;;;;;;;;;;;;;;:11;:19;7520:6;7508:19;;;;;;;;;;;;;;;:33;7528:12;:10;:12::i;:::-;7508:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7477:8;:121::i;:::-;7616:4;7609:11;;7315:313;;;;;:::o;14068:88::-;3015:12;:10;:12::i;:::-;3005:22;;:6;;;;;;;;;;:22;;;2997:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14143:5:::1;14128:4;:12;14133:6;14128:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;14068:88:::0;:::o;6480:83::-;6521:5;5381:1;6539:16;;6480:83;:::o;12603:117::-;3015:12;:10;:12::i;:::-;3005:22;;:6;;;;;;;;;;:22;;;2997:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12683:2:::1;12677:4;:8;;12669:17;;;::::0;::::1;;12708:4;12697:8;:15;;;;12603:117:::0;:::o;7636:103::-;3015:12;:10;:12::i;:::-;3005:22;;:6;;;;;;;;;;:22;;;2997:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7726:5:::1;7708:15;;:23;;;;;;;;;;;;;;;;;;7636:103:::0;:::o;12257:163::-;3015:12;:10;:12::i;:::-;3005:22;;:6;;;;;;;;;;:22;;;2997:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12352:1:::1;12341:10;:12;12333:21;;;::::0;::::1;;12380:32;12408:3;12380:23;12392:10;4567:19;12380:11;;:23;;;;:::i;:::-;:27;;:32;;;;:::i;:::-;12365:12;:47;;;;12257:163:::0;:::o;15404:153::-;3015:12;:10;:12::i;:::-;3005:22;;:6;;;;;;;;;;:22;;;2997:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15456:26:::1;15485:21;15456:50;;15517:32;15530:18;15517:12;:32::i;:::-;15445:112;15404:153::o:0;6674:138::-;6740:7;6767:37;6787:7;:16;6795:7;6787:16;;;;;;;;;;;;;;;;6767:19;:37::i;:::-;6760:44;;6674:138;;;:::o;3092:148::-;3015:12;:10;:12::i;:::-;3005:22;;:6;;;;;;;;;;:22;;;2997:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3199:1:::1;3162:40;;3183:6;::::0;::::1;;;;;;;;3162:40;;;;;;;;;;;;3230:1;3213:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3092:148::o:0;11092:175::-;11139:7;11148;11157;11166;11194:6;:14;;;11210:6;:14;;;11226:6;:15;;;11243:6;:15;;;11186:73;;;;;;;;11092:175;;;;:::o;10966:118::-;3015:12;:10;:12::i;:::-;3005:22;;:6;;;;;;;;;;:22;;;2997:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4567:19:::1;11019:12;:22;;;;4567:19;11052:14;:24;;;;10966:118::o:0;2878:79::-;2916:7;2943:6;;;;;;;;;;;2936:13;;2878:79;:::o;6385:87::-;6424:13;6457:7;;;;;;;;;;;;;;;;;6450:14;;6385:87;:::o;6820:167::-;6898:4;6915:42;6925:12;:10;:12::i;:::-;6939:9;6950:6;6915:9;:42::i;:::-;6975:4;6968:11;;6820:167;;;;:::o;11406:453::-;11474:7;11519:1;11502:7;:13;11510:4;11502:13;;;;;;;;;;;;;;;;:18;11494:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;11599:20;11658:21;;11641:7;:13;11649:4;11641:13;;;;;;;;;;;;;;;;11623:15;:31;;;;:::i;:::-;11622:57;;;;:::i;:::-;11599:80;;11724:12;;11709;;:27;;;;:::i;:::-;11694:12;:42;11690:117;;;11783:12;;11768;;:27;;;;:::i;:::-;11753:42;;11690:117;11839:12;11824;;:27;;;;:::i;:::-;11817:34;;;11406:453;;;:::o;11275:123::-;11326:7;11353:37;11377:12;:10;:12::i;:::-;11353:23;:37::i;:::-;11346:44;;11275:123;:::o;12428:167::-;3015:12;:10;:12::i;:::-;3005:22;;:6;;;;;;;;;;:22;;;2997:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12525:1:::1;12514:10;:12;12506:21;;;::::0;::::1;;12555:32;12583:3;12555:23;12567:10;4567:19;12555:11;;:23;;;;:::i;:::-;:27;;:32;;;;:::i;:::-;12538:14;:49;;;;12428:167:::0;:::o;15238:154::-;3015:12;:10;:12::i;:::-;3005:22;;:6;;;;;;;;;;:22;;;2997:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15290:23:::1;15316:24;15334:4;15316:9;:24::i;:::-;15290:50;;15351:33;15368:15;15351:16;:33::i;:::-;15279:113;15238:154::o:0;12842:906::-;3015:12;:10;:12::i;:::-;3005:22;;:6;;;;;;;;;;:22;;;2997:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12906:11:::1;;;;;;;;;;;12905:12;12897:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;12954:35;13011:42;12954:100;;13083:16;13065:15;;:34;;;;;;;;;;;;;;;;;;13110:58;13127:4;13142:15;;;;;;;;;;;4567:19;13110:8;:58::i;:::-;13213:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13195:56;;;13260:4;13267:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13195:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13179:13;;:112;;;;;;;;;;;;;;;;;;13302:15;;;;;;;;;;;:31;;;13341:21;13372:4;13378:24;13396:4;13378:9;:24::i;:::-;13403:1;13405::::0;13407:7:::1;:5;:7::i;:::-;13415:15;13302:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13456:4;13442:11;;:18;;;;;;;;;;;;;;;;;;13489:4;13471:15;;:22;;;;;;;;;;;;;;;;;;13519:23;13538:3;13519:14;13531:1;4567:19;13519:11;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;13504:12;:38;;;;13570:23;13589:3;13570:14;13582:1;4567:19;13570:11;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;13553:14;:40;;;;13618:4;13604:11;;:18;;;;;;;;;;;;;;;;;;13646:12;13633:10;:25;;;;13676:13;;;;;;;;;;;13669:29;;;13707:15;;;;;;;;;;;13725:14;13669:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12886:862;12842:906::o:0;6995:143::-;7076:7;7103:11;:18;7115:5;7103:18;;;;;;;;;;;;;;;:27;7122:7;7103:27;;;;;;;;;;;;;;;;7096:34;;6995:143;;;;:::o;596:98::-;649:7;676:10;669:17;;596:98;:::o;8009:335::-;8119:1;8102:19;;:5;:19;;;8094:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8200:1;8181:21;;:7;:21;;;8173:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8282:6;8252:11;:18;8264:5;8252:18;;;;;;;;;;;;;;;:27;8271:7;8252:27;;;;;;;;;;;;;;;:36;;;;8320:7;8304:32;;8313:5;8304:32;;;8329:6;8304:32;;;;;;:::i;:::-;;;;;;;;8009:335;;;:::o;8352:2110::-;8449:1;8440:6;:10;8432:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;8502:7;:5;:7::i;:::-;8494:15;;:4;:15;;;;:32;;;;;8519:7;:5;:7::i;:::-;8513:13;;:2;:13;;;;8494:32;8490:1922;;;8550:12;8557:4;8550:6;:12::i;:::-;8545:745;;8609:1;8587:7;:18;8595:9;8587:18;;;;;;;;;;;;;;;;:23;8583:467;;8635:20;8699:21;;8677:7;:18;8685:9;8677:18;;;;;;;;;;;;;;;;8659:15;:36;;;;:::i;:::-;8658:62;;;;:::i;:::-;8635:85;;8777:12;;8762;;:27;;;;:::i;:::-;8747:12;:42;8743:141;;;8848:12;;8833;;:27;;;;:::i;:::-;8818:42;;8743:141;8939:12;8924;;:27;;;;:::i;:::-;8906:6;:15;;:45;;;;8612:359;8583:467;;;9018:12;;9000:6;:15;;:30;;;;8583:467;9090:1;9068:7;:18;9076:9;9068:18;;;;;;;;;;;;;;;;:23;8545:745;;;9151:1;9136:7;:11;9144:2;9136:11;;;;;;;;;;;;;;;;:16;9132:94;;9191:15;9177:7;:11;9185:2;9177:11;;;;;;;;;;;;;;;:29;;;;9132:94;9262:12;;9244:6;:15;;:30;;;;8545:745;9318:13;;;;;;;;;;;9310:21;;:4;:21;;;:55;;;;;9349:15;;;;;;;;;;;9335:30;;:2;:30;;;;9310:55;:83;;;;;9371:18;:22;9390:2;9371:22;;;;;;;;;;;;;;;;;;;;;;;;;9369:24;9310:83;:102;;;;;9397:15;;;;;;;;;;;9310:102;9306:319;;;9475:12;;9465:6;:22;;9457:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9570:14;;9560:6;9544:13;9554:2;9544:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;9536:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;9306:319;9661:15;;;;;;;;;;;9645:32;;:4;:32;;;;:62;;;;;9683:18;:24;9702:4;9683:24;;;;;;;;;;;;;;;;;;;;;;;;;9681:26;9645:62;:85;;;;;9717:13;;;;;;;;;;;9711:19;;:2;:19;;;9645:85;9641:158;;;9759:4;:10;9764:4;9759:10;;;;;;;;;;;;;;;;;;;;;;;;;9758:11;:24;;;;;9774:4;:8;9779:2;9774:8;;;;;;;;;;;;;;;;;;;;;;;;;9773:9;9758:24;9750:33;;;;;;9641:158;9815:28;9846:24;9864:4;9846:9;:24::i;:::-;9815:55;;9911:47;9954:3;9911:38;9940:8;;9911:24;9921:13;;;;;;;;;;;9911:9;:24::i;:::-;:28;;:38;;;;:::i;:::-;:42;;:47;;;;:::i;:::-;9888:20;:70;9885:180;;;10002:47;10045:3;10002:38;10031:8;;10002:24;10012:13;;;;;;;;;;;10002:9;:24::i;:::-;:28;;:38;;;;:::i;:::-;:42;;:47;;;;:::i;:::-;9979:70;;9885:180;10086:6;;;;;;;;;;;10085:7;:32;;;;;10104:13;;;;;;;;;;;10096:21;;:4;:21;;;;10085:32;:47;;;;;10121:11;;;;;;;;;;;10085:47;10081:320;;;10155:38;10172:20;10155:16;:38::i;:::-;10212:26;10241:21;10212:50;;10305:1;10284:18;:22;10281:105;;;10331:35;10344:21;10331:12;:35::i;:::-;10281:105;10134:267;10081:320;8528:1884;8490:1922;10424:30;10439:4;10444:2;10447:6;10424:14;:30::i;:::-;8352:2110;;;:::o;1733:190::-;1819:7;1852:1;1847;:6;;1855:12;1839:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1879:9;1895:1;1891;:5;;;;:::i;:::-;1879:17;;1914:1;1907:8;;;1733:190;;;;;:::o;1931:246::-;1989:7;2018:1;2013;:6;2009:47;;2043:1;2036:8;;;;2009:47;2066:9;2082:1;2078;:5;;;;:::i;:::-;2066:17;;2111:1;2106;2102;:5;;;;:::i;:::-;:10;2094:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2168:1;2161:8;;;1931:246;;;;;:::o;2185:132::-;2243:7;2270:39;2274:1;2277;2270:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2263:46;;2185:132;;;;:::o;12736:96::-;12793:14;;;;;;;;;;;:23;;:31;12817:6;12793:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12736:96;:::o;7747:254::-;7814:7;7853;;7842;:18;;7834:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7918:19;7941:10;:8;:10::i;:::-;7918:33;;7969:24;7981:11;7969:7;:11;;:24;;;;:::i;:::-;7962:31;;;7747:254;;;:::o;10470:488::-;5878:4;5869:6;;:13;;;;;;;;;;;;;;;;;;10548:21:::1;10586:1;10572:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10548:40;;10617:4;10599;10604:1;10599:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10643:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10633:4;10638:1;10633:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10676:62;10693:4;10708:15;;;;;;;;;;;10726:11;10676:8;:62::i;:::-;10749:15;;;;;;;;;;;:66;;;10830:11;10856:1;10872:4;10899;10937:2;10919:15;:20;;;;:::i;:::-;10749:201;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10537:421;5914:5:::0;5905:6;;:14;;;;;;;;;;;;;;;;;;10470:488;:::o;16910:111::-;16965:4;17000:13;;;;;;;;;;;16989:24;;:7;:24;;;16982:31;;16910:111;;;:::o;14172:146::-;14266:44;14284:6;14292:9;14303:6;14266:17;:44::i;:::-;14172:146;;;:::o;2325:189::-;2411:7;2443:1;2439;:5;2446:12;2431:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2470:9;2486:1;2482;:5;;;;:::i;:::-;2470:17;;2505:1;2498:8;;;2325:189;;;;;:::o;17026:163::-;17067:7;17088:15;17105;17124:19;:17;:19::i;:::-;17087:56;;;;17161:20;17173:7;17161;:11;;:20;;;;:::i;:::-;17154:27;;;;17026:163;:::o;14326:488::-;14425:15;14442:23;14467:12;14481:23;14506:12;14520:13;14537:19;14548:7;14537:10;:19::i;:::-;14424:132;;;;;;;;;;;;14585:28;14605:7;14585;:15;14593:6;14585:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14567:7;:15;14575:6;14567:15;;;;;;;;;;;;;;;:46;;;;14645:39;14668:15;14645:7;:18;14653:9;14645:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14624:7;:18;14632:9;14624:18;;;;;;;;;;;;;;;:60;;;;14696:16;14706:5;14696:9;:16::i;:::-;14723:23;14735:4;14741;14723:11;:23::i;:::-;14779:9;14762:44;;14771:6;14762:44;;;14790:15;14762:44;;;;;;:::i;:::-;;;;;;;;14413:401;;;;;;14326:488;;;:::o;17197:262::-;17247:7;17256;17276:15;17294:7;;17276:25;;17312:15;4567:19;17312:25;;17368:20;4567:19;17368:7;;:11;;:20;;;;:::i;:::-;17358:7;:30;17354:61;;;17398:7;;4567:19;17390:25;;;;;;;;17354:61;17434:7;17443;17426:25;;;;;;17197:262;;;:::o;15565:561::-;15624:7;15633;15642;15651;15660;15669;15690:23;15715:12;15729:13;15746:20;15753:12;:10;:12::i;:::-;15746:6;:20::i;:::-;:132;;15824:54;15836:7;15845:6;:15;;;15862:6;:15;;;15824:11;:54::i;:::-;15746:132;;;15769:52;15781:7;15790:6;:14;;;15806:6;:14;;;15769:11;:52::i;:::-;15746:132;15689:189;;;;;;15889:19;15912:10;:8;:10::i;:::-;15889:33;;15934:15;15951:23;15976:12;15992:46;16004:7;16013:4;16019:5;16026:11;15992;:46::i;:::-;15933:105;;;;;;16057:7;16066:15;16083:4;16089:15;16106:4;16112:5;16049:69;;;;;;;;;;;;;;;;;;;15565:561;;;;;;;:::o;1589:136::-;1647:7;1674:43;1678:1;1681;1674:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1667:50;;1589:136;;;;:::o;1402:179::-;1460:7;1480:9;1496:1;1492;:5;;;;:::i;:::-;1480:17;;1521:1;1516;:6;;1508:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1572:1;1565:8;;;1402:179;;;;:::o;14822:212::-;14875:19;14898:10;:8;:10::i;:::-;14875:33;;14919:13;14935:22;14945:11;14935:5;:9;;:22;;;;:::i;:::-;14919:38;;14993:33;15020:5;14993:7;:22;15009:4;14993:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;14968:7;:22;14984:4;14968:22;;;;;;;;;;;;;;;:58;;;;14864:170;;14822:212;:::o;15042:147::-;15120:17;15132:4;15120:7;;:11;;:17;;;;:::i;:::-;15110:7;:27;;;;15161:20;15176:4;15161:10;;:14;;:20;;;;:::i;:::-;15148:10;:33;;;;15042:147;;:::o;16134:351::-;16227:7;16236;16245;16265:12;16280:28;16304:3;16280:19;16292:6;16280:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;16265:43;;16319:13;16335:29;16360:3;16335:20;16347:7;16335;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;16319:45;;16375:23;16401:28;16423:5;16401:17;16413:4;16401:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16375:54;;16448:15;16465:4;16471:5;16440:37;;;;;;;;;16134:351;;;;;;;:::o;16493:409::-;16603:7;16612;16621;16641:15;16659:24;16671:11;16659:7;:11;;:24;;;;:::i;:::-;16641:42;;16694:12;16709:21;16718:11;16709:4;:8;;:21;;;;:::i;:::-;16694:36;;16741:13;16757:22;16767:11;16757:5;:9;;:22;;;;:::i;:::-;16741:38;;16790:23;16816:28;16838:5;16816:17;16828:4;16816:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16790:54;;16863:7;16872:15;16889:4;16855:39;;;;;;;;;;16493:409;;;;;;;;:::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;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::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:765::-;3532:6;3540;3548;3556;3605:3;3593:9;3584:7;3580:23;3576:33;3573:120;;;3612:79;;:::i;:::-;3573:120;3732:1;3757:53;3802:7;3793:6;3782:9;3778:22;3757:53;:::i;:::-;3747:63;;3703:117;3859:2;3885:53;3930:7;3921:6;3910:9;3906:22;3885:53;:::i;:::-;3875:63;;3830:118;3987:2;4013:53;4058:7;4049:6;4038:9;4034:22;4013:53;:::i;:::-;4003:63;;3958:118;4115:2;4141:53;4186:7;4177:6;4166:9;4162:22;4141:53;:::i;:::-;4131:63;;4086:118;3446:765;;;;;;;:::o;4217:118::-;4304:24;4322:5;4304:24;:::i;:::-;4299:3;4292:37;4217:118;;:::o;4341:222::-;4434:4;4472:2;4461:9;4457:18;4449:26;;4485:71;4553:1;4542:9;4538:17;4529:6;4485:71;:::i;:::-;4341:222;;;;:::o;4569:117::-;4678:1;4675;4668:12;4692:180;4740:77;4737:1;4730:88;4837:4;4834:1;4827:15;4861:4;4858:1;4851:15;4878:281;4961:27;4983:4;4961:27;:::i;:::-;4953:6;4949:40;5091:6;5079:10;5076:22;5055:18;5043:10;5040:34;5037:62;5034:88;;;5102:18;;:::i;:::-;5034:88;5142:10;5138:2;5131:22;4921:238;4878:281;;:::o;5165:129::-;5199:6;5226:20;;:::i;:::-;5216:30;;5255:33;5283:4;5275:6;5255:33;:::i;:::-;5165:129;;;:::o;5300:311::-;5377:4;5467:18;5459:6;5456:30;5453:56;;;5489:18;;:::i;:::-;5453:56;5539:4;5531:6;5527:17;5519:25;;5599:4;5593;5589:15;5581:23;;5300:311;;;:::o;5617:117::-;5726:1;5723;5716:12;5757:710;5853:5;5878:81;5894:64;5951:6;5894:64;:::i;:::-;5878:81;:::i;:::-;5869:90;;5979:5;6008:6;6001:5;5994:21;6042:4;6035:5;6031:16;6024:23;;6095:4;6087:6;6083:17;6075:6;6071:30;6124:3;6116:6;6113:15;6110:122;;;6143:79;;:::i;:::-;6110:122;6258:6;6241:220;6275:6;6270:3;6267:15;6241:220;;;6350:3;6379:37;6412:3;6400:10;6379:37;:::i;:::-;6374:3;6367:50;6446:4;6441:3;6437:14;6430:21;;6317:144;6301:4;6296:3;6292:14;6285:21;;6241:220;;;6245:21;5859:608;;5757:710;;;;;:::o;6490:370::-;6561:5;6610:3;6603:4;6595:6;6591:17;6587:27;6577:122;;6618:79;;:::i;:::-;6577:122;6735:6;6722:20;6760:94;6850:3;6842:6;6835:4;6827:6;6823:17;6760:94;:::i;:::-;6751:103;;6567:293;6490:370;;;;:::o;6866:539::-;6950:6;6999:2;6987:9;6978:7;6974:23;6970:32;6967:119;;;7005:79;;:::i;:::-;6967:119;7153:1;7142:9;7138:17;7125:31;7183:18;7175:6;7172:30;7169:117;;;7205:79;;:::i;:::-;7169:117;7310:78;7380:7;7371:6;7360:9;7356:22;7310:78;:::i;:::-;7300:88;;7096:302;6866:539;;;;:::o;7411:619::-;7488:6;7496;7504;7553:2;7541:9;7532:7;7528:23;7524:32;7521:119;;;7559:79;;:::i;:::-;7521:119;7679:1;7704:53;7749:7;7740:6;7729:9;7725:22;7704:53;:::i;:::-;7694:63;;7650:117;7806:2;7832:53;7877:7;7868:6;7857:9;7853:22;7832:53;:::i;:::-;7822:63;;7777:118;7934:2;7960:53;8005:7;7996:6;7985:9;7981:22;7960:53;:::i;:::-;7950:63;;7905:118;7411:619;;;;;:::o;8036:329::-;8095:6;8144:2;8132:9;8123:7;8119:23;8115:32;8112:119;;;8150:79;;:::i;:::-;8112:119;8270:1;8295:53;8340:7;8331:6;8320:9;8316:22;8295:53;:::i;:::-;8285:63;;8241:117;8036:329;;;;:::o;8371:86::-;8406:7;8446:4;8439:5;8435:16;8424:27;;8371:86;;;:::o;8463:112::-;8546:22;8562:5;8546:22;:::i;:::-;8541:3;8534:35;8463:112;;:::o;8581:214::-;8670:4;8708:2;8697:9;8693:18;8685:26;;8721:67;8785:1;8774:9;8770:17;8761:6;8721:67;:::i;:::-;8581:214;;;;:::o;8801:329::-;8860:6;8909:2;8897:9;8888:7;8884:23;8880:32;8877:119;;;8915:79;;:::i;:::-;8877:119;9035:1;9060:53;9105:7;9096:6;9085:9;9081:22;9060:53;:::i;:::-;9050:63;;9006:117;8801:329;;;;:::o;9136:116::-;9206:21;9221:5;9206:21;:::i;:::-;9199:5;9196:32;9186:60;;9242:1;9239;9232:12;9186:60;9136:116;:::o;9258:133::-;9301:5;9339:6;9326:20;9317:29;;9355:30;9379:5;9355:30;:::i;:::-;9258:133;;;;:::o;9397:323::-;9453:6;9502:2;9490:9;9481:7;9477:23;9473:32;9470:119;;;9508:79;;:::i;:::-;9470:119;9628:1;9653:50;9695:7;9686:6;9675:9;9671:22;9653:50;:::i;:::-;9643:60;;9599:114;9397:323;;;;:::o;9726:553::-;9903:4;9941:3;9930:9;9926:19;9918:27;;9955:71;10023:1;10012:9;10008:17;9999:6;9955:71;:::i;:::-;10036:72;10104:2;10093:9;10089:18;10080:6;10036:72;:::i;:::-;10118;10186:2;10175:9;10171:18;10162:6;10118:72;:::i;:::-;10200;10268:2;10257:9;10253:18;10244:6;10200:72;:::i;:::-;9726:553;;;;;;;:::o;10285:118::-;10372:24;10390:5;10372:24;:::i;:::-;10367:3;10360:37;10285:118;;:::o;10409:222::-;10502:4;10540:2;10529:9;10525:18;10517:26;;10553:71;10621:1;10610:9;10606:17;10597:6;10553:71;:::i;:::-;10409:222;;;;:::o;10637:474::-;10705:6;10713;10762:2;10750:9;10741:7;10737:23;10733:32;10730:119;;;10768:79;;:::i;:::-;10730:119;10888:1;10913:53;10958:7;10949:6;10938:9;10934:22;10913:53;:::i;:::-;10903:63;;10859:117;11015:2;11041:53;11086:7;11077:6;11066:9;11062:22;11041:53;:::i;:::-;11031:63;;10986:118;10637:474;;;;;:::o;11117:182::-;11257:34;11253:1;11245:6;11241:14;11234:58;11117:182;:::o;11305:366::-;11447:3;11468:67;11532:2;11527:3;11468:67;:::i;:::-;11461:74;;11544:93;11633:3;11544:93;:::i;:::-;11662:2;11657:3;11653:12;11646:19;;11305:366;;;:::o;11677:419::-;11843:4;11881:2;11870:9;11866:18;11858:26;;11930:9;11924:4;11920:20;11916:1;11905:9;11901:17;11894:47;11958:131;12084:4;11958:131;:::i;:::-;11950:139;;11677:419;;;:::o;12102:180::-;12150:77;12147:1;12140:88;12247:4;12244:1;12237:15;12271:4;12268:1;12261:15;12288:191;12328:3;12347:20;12365:1;12347:20;:::i;:::-;12342:25;;12381:20;12399:1;12381:20;:::i;:::-;12376:25;;12424:1;12421;12417:9;12410:16;;12445:3;12442:1;12439:10;12436:36;;;12452:18;;:::i;:::-;12436:36;12288:191;;;;:::o;12485:180::-;12533:77;12530:1;12523:88;12630:4;12627:1;12620:15;12654:4;12651:1;12644:15;12671:233;12710:3;12733:24;12751:5;12733:24;:::i;:::-;12724:33;;12779:66;12772:5;12769:77;12766:103;;12849:18;;:::i;:::-;12766:103;12896:1;12889:5;12885:13;12878:20;;12671:233;;;:::o;12910:250::-;13050:34;13046:1;13038:6;13034:14;13027:58;13119:33;13114:2;13106:6;13102:15;13095:58;12910:250;:::o;13166:366::-;13308:3;13329:67;13393:2;13388:3;13329:67;:::i;:::-;13322:74;;13405:93;13494:3;13405:93;:::i;:::-;13523:2;13518:3;13514:12;13507:19;;13166:366;;;:::o;13538:419::-;13704:4;13742:2;13731:9;13727:18;13719:26;;13791:9;13785:4;13781:20;13777:1;13766:9;13762:17;13755:47;13819:131;13945:4;13819:131;:::i;:::-;13811:139;;13538:419;;;:::o;13963:194::-;14003:4;14023:20;14041:1;14023:20;:::i;:::-;14018:25;;14057:20;14075:1;14057:20;:::i;:::-;14052:25;;14101:1;14098;14094:9;14086:17;;14125:1;14119:4;14116:11;14113:37;;;14130:18;;:::i;:::-;14113:37;13963:194;;;;:::o;14163:180::-;14211:77;14208:1;14201:88;14308:4;14305:1;14298:15;14332:4;14329:1;14322:15;14349:185;14389:1;14406:20;14424:1;14406:20;:::i;:::-;14401:25;;14440:20;14458:1;14440:20;:::i;:::-;14435:25;;14479:1;14469:35;;14484:18;;:::i;:::-;14469:35;14526:1;14523;14519:9;14514:14;;14349:185;;;;:::o;14540:171::-;14680:23;14676:1;14668:6;14664:14;14657:47;14540:171;:::o;14717:366::-;14859:3;14880:67;14944:2;14939:3;14880:67;:::i;:::-;14873:74;;14956:93;15045:3;14956:93;:::i;:::-;15074:2;15069:3;15065:12;15058:19;;14717:366;;;:::o;15089:419::-;15255:4;15293:2;15282:9;15278:18;15270:26;;15342:9;15336:4;15332:20;15328:1;15317:9;15313:17;15306:47;15370:131;15496:4;15370:131;:::i;:::-;15362:139;;15089:419;;;:::o;15514:143::-;15571:5;15602:6;15596:13;15587:22;;15618:33;15645:5;15618:33;:::i;:::-;15514:143;;;;:::o;15663:351::-;15733:6;15782:2;15770:9;15761:7;15757:23;15753:32;15750:119;;;15788:79;;:::i;:::-;15750:119;15908:1;15933:64;15989:7;15980:6;15969:9;15965:22;15933:64;:::i;:::-;15923:74;;15879:128;15663:351;;;;:::o;16020:332::-;16141:4;16179:2;16168:9;16164:18;16156:26;;16192:71;16260:1;16249:9;16245:17;16236:6;16192:71;:::i;:::-;16273:72;16341:2;16330:9;16326:18;16317:6;16273:72;:::i;:::-;16020:332;;;;;:::o;16358:85::-;16403:7;16432:5;16421:16;;16358:85;;;:::o;16449:60::-;16477:3;16498:5;16491:12;;16449:60;;;:::o;16515:158::-;16573:9;16606:61;16624:42;16633:32;16659:5;16633:32;:::i;:::-;16624:42;:::i;:::-;16606:61;:::i;:::-;16593:74;;16515:158;;;:::o;16679:147::-;16774:45;16813:5;16774:45;:::i;:::-;16769:3;16762:58;16679:147;;:::o;16832:807::-;17081:4;17119:3;17108:9;17104:19;17096:27;;17133:71;17201:1;17190:9;17186:17;17177:6;17133:71;:::i;:::-;17214:72;17282:2;17271:9;17267:18;17258:6;17214:72;:::i;:::-;17296:80;17372:2;17361:9;17357:18;17348:6;17296:80;:::i;:::-;17386;17462:2;17451:9;17447:18;17438:6;17386:80;:::i;:::-;17476:73;17544:3;17533:9;17529:19;17520:6;17476:73;:::i;:::-;17559;17627:3;17616:9;17612:19;17603:6;17559:73;:::i;:::-;16832:807;;;;;;;;;:::o;17645:143::-;17702:5;17733:6;17727:13;17718:22;;17749:33;17776:5;17749:33;:::i;:::-;17645:143;;;;:::o;17794:663::-;17882:6;17890;17898;17947:2;17935:9;17926:7;17922:23;17918:32;17915:119;;;17953:79;;:::i;:::-;17915:119;18073:1;18098:64;18154:7;18145:6;18134:9;18130:22;18098:64;:::i;:::-;18088:74;;18044:128;18211:2;18237:64;18293:7;18284:6;18273:9;18269:22;18237:64;:::i;:::-;18227:74;;18182:129;18350:2;18376:64;18432:7;18423:6;18412:9;18408:22;18376:64;:::i;:::-;18366:74;;18321:129;17794:663;;;;;:::o;18463:332::-;18584:4;18622:2;18611:9;18607:18;18599:26;;18635:71;18703:1;18692:9;18688:17;18679:6;18635:71;:::i;:::-;18716:72;18784:2;18773:9;18769:18;18760:6;18716:72;:::i;:::-;18463:332;;;;;:::o;18801:137::-;18855:5;18886:6;18880:13;18871:22;;18902:30;18926:5;18902:30;:::i;:::-;18801:137;;;;:::o;18944:345::-;19011:6;19060:2;19048:9;19039:7;19035:23;19031:32;19028:119;;;19066:79;;:::i;:::-;19028:119;19186:1;19211:61;19264:7;19255:6;19244:9;19240:22;19211:61;:::i;:::-;19201:71;;19157:125;18944:345;;;;:::o;19295:223::-;19435:34;19431:1;19423:6;19419:14;19412:58;19504:6;19499:2;19491:6;19487:15;19480:31;19295:223;:::o;19524:366::-;19666:3;19687:67;19751:2;19746:3;19687:67;:::i;:::-;19680:74;;19763:93;19852:3;19763:93;:::i;:::-;19881:2;19876:3;19872:12;19865:19;;19524:366;;;:::o;19896:419::-;20062:4;20100:2;20089:9;20085:18;20077:26;;20149:9;20143:4;20139:20;20135:1;20124:9;20120:17;20113:47;20177:131;20303:4;20177:131;:::i;:::-;20169:139;;19896:419;;;:::o;20321:221::-;20461:34;20457:1;20449:6;20445:14;20438:58;20530:4;20525:2;20517:6;20513:15;20506:29;20321:221;:::o;20548:366::-;20690:3;20711:67;20775:2;20770:3;20711:67;:::i;:::-;20704:74;;20787:93;20876:3;20787:93;:::i;:::-;20905:2;20900:3;20896:12;20889:19;;20548:366;;;:::o;20920:419::-;21086:4;21124:2;21113:9;21109:18;21101:26;;21173:9;21167:4;21163:20;21159:1;21148:9;21144:17;21137:47;21201:131;21327:4;21201:131;:::i;:::-;21193:139;;20920:419;;;:::o;21345:172::-;21485:24;21481:1;21473:6;21469:14;21462:48;21345:172;:::o;21523:366::-;21665:3;21686:67;21750:2;21745:3;21686:67;:::i;:::-;21679:74;;21762:93;21851:3;21762:93;:::i;:::-;21880:2;21875:3;21871:12;21864:19;;21523:366;;;:::o;21895:419::-;22061:4;22099:2;22088:9;22084:18;22076:26;;22148:9;22142:4;22138:20;22134:1;22123:9;22119:17;22112:47;22176:131;22302:4;22176:131;:::i;:::-;22168:139;;21895:419;;;:::o;22320:175::-;22460:27;22456:1;22448:6;22444:14;22437:51;22320:175;:::o;22501:366::-;22643:3;22664:67;22728:2;22723:3;22664:67;:::i;:::-;22657:74;;22740:93;22829:3;22740:93;:::i;:::-;22858:2;22853:3;22849:12;22842:19;;22501:366;;;:::o;22873:419::-;23039:4;23077:2;23066:9;23062:18;23054:26;;23126:9;23120:4;23116:20;23112:1;23101:9;23097:17;23090:47;23154:131;23280:4;23154:131;:::i;:::-;23146:139;;22873:419;;;:::o;23298:170::-;23438:22;23434:1;23426:6;23422:14;23415:46;23298:170;:::o;23474:366::-;23616:3;23637:67;23701:2;23696:3;23637:67;:::i;:::-;23630:74;;23713:93;23802:3;23713:93;:::i;:::-;23831:2;23826:3;23822:12;23815:19;;23474:366;;;:::o;23846:419::-;24012:4;24050:2;24039:9;24035:18;24027:26;;24099:9;24093:4;24089:20;24085:1;24074:9;24070:17;24063:47;24127:131;24253:4;24127:131;:::i;:::-;24119:139;;23846:419;;;:::o;24271:348::-;24311:7;24334:20;24352:1;24334:20;:::i;:::-;24329:25;;24368:20;24386:1;24368:20;:::i;:::-;24363:25;;24556:1;24488:66;24484:74;24481:1;24478:81;24473:1;24466:9;24459:17;24455:105;24452:131;;;24563:18;;:::i;:::-;24452:131;24611:1;24608;24604:9;24593:20;;24271:348;;;;:::o;24625:220::-;24765:34;24761:1;24753:6;24749:14;24742:58;24834:3;24829:2;24821:6;24817:15;24810:28;24625:220;:::o;24851:366::-;24993:3;25014:67;25078:2;25073:3;25014:67;:::i;:::-;25007:74;;25090:93;25179:3;25090:93;:::i;:::-;25208:2;25203:3;25199:12;25192:19;;24851:366;;;:::o;25223:419::-;25389:4;25427:2;25416:9;25412:18;25404:26;;25476:9;25470:4;25466:20;25462:1;25451:9;25447:17;25440:47;25504:131;25630:4;25504:131;:::i;:::-;25496:139;;25223:419;;;:::o;25648:229::-;25788:34;25784:1;25776:6;25772:14;25765:58;25857:12;25852:2;25844:6;25840:15;25833:37;25648:229;:::o;25883:366::-;26025:3;26046:67;26110:2;26105:3;26046:67;:::i;:::-;26039:74;;26122:93;26211:3;26122:93;:::i;:::-;26240:2;26235:3;26231:12;26224:19;;25883:366;;;:::o;26255:419::-;26421:4;26459:2;26448:9;26444:18;26436:26;;26508:9;26502:4;26498:20;26494:1;26483:9;26479:17;26472:47;26536:131;26662:4;26536:131;:::i;:::-;26528:139;;26255:419;;;:::o;26680:114::-;26747:6;26781:5;26775:12;26765:22;;26680:114;;;:::o;26800:184::-;26899:11;26933:6;26928:3;26921:19;26973:4;26968:3;26964:14;26949:29;;26800:184;;;;:::o;26990:132::-;27057:4;27080:3;27072:11;;27110:4;27105:3;27101:14;27093:22;;26990:132;;;:::o;27128:108::-;27205:24;27223:5;27205:24;:::i;:::-;27200:3;27193:37;27128:108;;:::o;27242:179::-;27311:10;27332:46;27374:3;27366:6;27332:46;:::i;:::-;27410:4;27405:3;27401:14;27387:28;;27242:179;;;;:::o;27427:113::-;27497:4;27529;27524:3;27520:14;27512:22;;27427:113;;;:::o;27576:732::-;27695:3;27724:54;27772:5;27724:54;:::i;:::-;27794:86;27873:6;27868:3;27794:86;:::i;:::-;27787:93;;27904:56;27954:5;27904:56;:::i;:::-;27983:7;28014:1;27999:284;28024:6;28021:1;28018:13;27999:284;;;28100:6;28094:13;28127:63;28186:3;28171:13;28127:63;:::i;:::-;28120:70;;28213:60;28266:6;28213:60;:::i;:::-;28203:70;;28059:224;28046:1;28043;28039:9;28034:14;;27999:284;;;28003:14;28299:3;28292:10;;27700:608;;;27576:732;;;;:::o;28314:831::-;28577:4;28615:3;28604:9;28600:19;28592:27;;28629:71;28697:1;28686:9;28682:17;28673:6;28629:71;:::i;:::-;28710:80;28786:2;28775:9;28771:18;28762:6;28710:80;:::i;:::-;28837:9;28831:4;28827:20;28822:2;28811:9;28807:18;28800:48;28865:108;28968:4;28959:6;28865:108;:::i;:::-;28857:116;;28983:72;29051:2;29040:9;29036:18;29027:6;28983:72;:::i;:::-;29065:73;29133:3;29122:9;29118:19;29109:6;29065:73;:::i;:::-;28314:831;;;;;;;;:::o;29151:177::-;29291:29;29287:1;29279:6;29275:14;29268:53;29151:177;:::o;29334:366::-;29476:3;29497:67;29561:2;29556:3;29497:67;:::i;:::-;29490:74;;29573:93;29662:3;29573:93;:::i;:::-;29691:2;29686:3;29682:12;29675:19;;29334:366;;;:::o;29706:419::-;29872:4;29910:2;29899:9;29895:18;29887:26;;29959:9;29953:4;29949:20;29945:1;29934:9;29930:17;29923:47;29987:131;30113:4;29987:131;:::i;:::-;29979:139;;29706:419;;;:::o

Swarm Source

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