ETH Price: $3,448.35 (+1.46%)

Token

Raijin (RAIJIN)
 

Overview

Max Total Supply

10,000,000 RAIJIN

Holders

477

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
900.450945489 RAIJIN

Value
$0.00
0x5cc2f9c7a3a42d9048a31c87a53335194d949f47
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:
RaijinToken

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-08-03
*/

/**██████▌▌▒▒▒▒µ▒▒▒╖    ─,  ,,▄▄██▄`▀╣▓▓▓▓▓▓▓▓▓╬╬╣╣▒╫╬▒╢╫╬╬╬▓╬▓▓▓▓▓▓▒▓▀,███▄▄,  ,=    ,@░▒▓φ░▒▒▒▓██████
   ███████▓░▒╟╠▓▓▒▒▒▓        `,╝` ▓▓%╖▄▄▄▄▄,,,`'``` ,▄, ```'`,,,▄▄▄▄╓HÖ▓░ ▀Ü'`       a▒▒▒▒▓▓▒▒▒▓▓██████
   ████████▓W▓▓▓▒▓▒▒╡ W     ' ,,gÑ████▀`██████████████████████████▀▀████▓N▄, `     ,╣ ▒▓▓▒╟▓▓W▓▓███████
   ███████████▓▓▓██▓▓▒H▒▓▒▒▓▒╣║▒╕ └██▌ ' █▌└▐█▌ ▐█  ▐█ `▐█  ██  █▌   ██▌  ╢▒▒▓▒▓▒▓▓H▓▒▓▓██▓▓▓██████████
   ██████████████▓▓▓▒▒▒▒▒▒▓░▒▒▒╢▒W "█▌  ▐██`▓██ ██▌ ██▌ ██ ╓██ ▐██   █▌ ╓╢▒▒╣▒▒▒▓▒▒╢▒▒▓▓▓██████████████
   ████████████▓▒▒▒▒▒▒▒▒▒║╣▓╢▒░▒▒░░╖▐█, ██████████████████████████▌ ▄█ ╣░▒▒╜░░▒▒╬▒▒▒▒╨▒▒▒▒▓████████████
   ████████████▓▒▒▒▒▒▒▒▓▓▒▒▒╣▓▒╖▒▒▒╫W████████████████████████████████▌╫▒▒▒░@▒▒▒▒▒▓▓▒▒▒░░▒▒╟████████████
   █████████████▓▒░▒ ╟╟▒µ▒▓╬▒▒▒]░░▒▒▓▐███▌▐██╙██▀██▀██▀██▀███▐██`████j@▒╫░║░░▒▓╫[╢╟▒░`╓░╜╓▓████████████
   █████████████▓▄,,,╢▒▓▒░▒▓╣wæ▒g░▒╜] ███` ██ ▐█,▐█,▐█ ▐█ ▐█`▐█▌ ▐██▌▐░▒▒▓░Ñw▒▓░║░▒▌░╖,,▄▓█████████████
   ██████████████▓▓▓╥╥@▒░▒▓▒▒▀╜░░▒@▒▓ ███▌╓` "░,▀,,"`,░▀,`░,"' ╙,███▌▐░╢╖░░▀▀▀░▒▒░╖╙wwg╣▓▓█████████████
   ████████████████▓▓▓▓█Ü@▓▓▄╫▓▓███▒▓▓▌`▀ ,@▒▒▓▓▓▓▄▒▒▒▒▒▄▓▓▓▓▒▓W `▓ █▓░▓██▓▄╣╫▄▓▓p▓█▓▄▄████████████████

                                 ██▀███   ▄▄▄       ██▓ ▄▄▄██▀▀▀██▓ ███▄    █ 
                                ▓██ ▒ ██▒▒████▄    ▓██▒   ▒██  ▓██▒ ██ ▀█   █ 
                                ▓██ ░▄█ ▒▒██  ▀█▄  ▒██▒   ░██  ▒██▒▓██  ▀█ ██▒
                                ▒██▀▀█▄  ░██▄▄▄▄██ ░██░▓██▄██▓ ░██░▓██▒  ▐▌██▒
                                ░██▓ ▒██▒ ▓█   ▓██▒░██░ ▓███▒  ░██░▒██░   ▓██░
                                ░ ▒▓ ░▒▓░ ▒▒   ▓▒█░░▓   ▒▓▒▒░  ░▓  ░ ▒░   ▒ ▒ 
                                  ░▒ ░ ▒░  ▒   ▒▒ ░ ▒ ░ ▒ ░▒░   ▒ ░░ ░░   ░ ▒░
                                  ░░   ░   ░   ▒    ▒ ░ ░ ░ ░   ▒ ░   ░   ░ ░ 
  (scroll down)                    ░           ░  ░ ░   ░   ░   ░           ░ 

💻 Website:  https://raijin.games
📨 Telegram: https://t.me/RaijinGames
🐥 Twitter:  https://twitter.com/Raijin_Games
📘 Medium:   https://medium.com/@raijingames

Hello Warriors 👊

We introduce the greatest and unique RPG game based on Ethereum blockchain.
Earn $Raijin tokens by playing and use them to decide the future of the game.

Total supply: 10 000 000   
Rewards: 5 000 000
Uniswap liquidity: 4 500 000
Team tokens: 300 000 
Airdrop: 200 000

also 2% fee from each transaction will be spread as airdrop to all hodlers.

Good luck! 👊

*/

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.4;

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

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

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

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

        return c;
    }

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

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

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

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
    }

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

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

library Address {

    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

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

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

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

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

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract RaijinToken is Context, IERC20, Ownable {
    using SafeMath for uint256;
    using Address for address;

    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcluded;
    address[] private _excluded;
    
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 10000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 internal _liquidityFee;

    string private _name = 'Raijin';
    string private _symbol = 'RAIJIN';
    uint8 private _decimals = 9;
    
    uint256 public _taxFeePercent = 2;
    bool public swapAndLiquifyEnabled = true;
    bool public buyBackEnabled = true;

    address internal uniV2router;
    address internal uniV2factory;
    string telegramAddress;
    string websiteAddress;
    string twitterAddress;
    event RewardLiquidityProviders(uint256 tokenAmount);
    event BuyBackEnabledUpdated(bool enabled);
    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
        );
    
    constructor (address router, address factory) {
    
    telegramAddress = "https://t.me/RaijinGames";
    websiteAddress = "https://raijin.games";
    twitterAddress = "https://twitter.com/Raijin_Games";
    uniV2router = router;
    uniV2factory = factory;
    
    _rOwned[_msgSender()] = _rTotal;
    emit Transfer(address(0), _msgSender(), _tTotal);
    _tOwned[_msgSender()] = tokenFromReflection(_rOwned[_msgSender()]);
    _isExcluded[_msgSender()] = true;
    _excluded.push(_msgSender());
    
    }
 
    function name() public view returns (string memory) {
        return _name;
    }

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

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

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

    function balanceOf(address account) public view override returns (uint256) {
        if (_isExcluded[account]) return _tOwned[account];
        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 increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

    function isExcludedFromGameReward(address account) public view returns (bool) {
        return _isExcluded[account];
    }

    function totalFees() public view returns (uint256) {
        return _tFeeTotal;
    }
    
    function reflect(uint256 tAmount) public {
        address sender = _msgSender();
        require(!_isExcluded[sender], "Excluded addresses cannot call this function");
        (uint256 rAmount,,,,) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rTotal = _rTotal.sub(rAmount);
        _tFeeTotal = _tFeeTotal.add(tAmount);
    }

    function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns(uint256) {
        require(tAmount <= _tTotal, "Amount must be less than supply");
        if (!deductTransferFee) {
            (uint256 rAmount,,,,) = _getValues(tAmount);
            return rAmount;
        } else {
            (,uint256 rTransferAmount,,,) = _getValues(tAmount);
            return rTransferAmount;
        }
    }

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

    function excludeFromGameReward(address account) external onlyOwner() {
        require(!_isExcluded[account], "Account is already excluded");
        if(_rOwned[account] > 0) {
            _tOwned[account] = tokenFromReflection(_rOwned[account]);
        }
        _isExcluded[account] = true;
        _excluded.push(account);
    }

    function includeInGameReward(address account) external onlyOwner() {
        require(_isExcluded[account], "Account is already excluded");
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_excluded[i] == account) {
                _excluded[i] = _excluded[_excluded.length - 1];
                _tOwned[account] = 0;
                _isExcluded[account] = false;
                _excluded.pop();
                break;
            }
        }
    }

    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 sender, address recipient, uint256 amount) private {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        if (_isExcluded[sender] && !_isExcluded[recipient]) {
        _transferFromExcluded(sender, recipient, amount);
        } else if (!_isExcluded[sender] && _isExcluded[recipient]) {
        _transferToExcluded(sender, recipient, amount);
         } else if (!_isExcluded[sender] && !_isExcluded[recipient]) {
        _transferStandard(sender, recipient, amount);
        } else if (_isExcluded[sender] && _isExcluded[recipient]) {
        _transferBothExcluded(sender, recipient, amount);
        } else {_transferStandard(sender, recipient, amount);}
    }

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

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

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

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

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

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee) = _getTValues(tAmount);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee);
    }

    function _getTValues(uint256 tAmount) private pure returns (uint256, uint256) {
        uint256 tFee = tAmount.div(1000).mul(2);
        uint256 tTransferAmount = tAmount.sub(tFee);
        return (tTransferAmount, tFee);
    }

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

    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;      
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal);
            rSupply = rSupply.sub(_rOwned[_excluded[i]]);
            tSupply = tSupply.sub(_tOwned[_excluded[i]]);
        }
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
    
      function setTaxFeePercent(uint256 taxFee) external onlyOwner() {
        _taxFeePercent = taxFee;
    }
    
    function setLiquidityFeePercent(uint256 liquidityFee) external onlyOwner() {
        _liquidityFee = liquidityFee;
    }
    
    function TelegramLink() public view returns (string memory) {
        return telegramAddress;
    }

    function WebsiteLink() public view returns (string memory) {
        return websiteAddress;
    }

    function TwitterLink() public view returns (string memory) {
        return twitterAddress;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"router","type":"address"},{"internalType":"address","name":"factory","type":"address"}],"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":"bool","name":"enabled","type":"bool"}],"name":"BuyBackEnabledUpdated","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":"tokenAmount","type":"uint256"}],"name":"RewardLiquidityProviders","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"TelegramLink","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TwitterLink","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WebsiteLink","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxFeePercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyBackEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromGameReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInGameReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromGameReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"reflect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"liquidityFee","type":"uint256"}],"name":"setLiquidityFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFee","type":"uint256"}],"name":"setTaxFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6080604052662386f26fc100006000196200001b919062000ef7565b6000196200002a919062000dc4565b6006556040518060400160405280600681526020017f5261696a696e0000000000000000000000000000000000000000000000000000815250600990805190602001906200007a92919062000b8c565b506040518060400160405280600681526020017f5241494a494e0000000000000000000000000000000000000000000000000000815250600a9080519060200190620000c892919062000b8c565b506009600b60006101000a81548160ff021916908360ff1602179055506002600c556001600d60006101000a81548160ff0219169083151502179055506001600d60016101000a81548160ff0219169083151502179055503480156200012d57600080fd5b5060405162004e6738038062004e67833981810160405281019062000153919062000c53565b600062000165620005d460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506040518060400160405280601881526020017f68747470733a2f2f742e6d652f5261696a696e47616d65730000000000000000815250600f90805190602001906200025092919062000b8c565b506040518060400160405280601481526020017f68747470733a2f2f7261696a696e2e67616d6573000000000000000000000000815250601090805190602001906200029e92919062000b8c565b506040518060400160405280602081526020017f68747470733a2f2f747769747465722e636f6d2f5261696a696e5f47616d657381525060119080519060200190620002ec92919062000b8c565b5081600d60026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506006546001600062000386620005d460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620003d4620005d460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef662386f26fc100006040516200043a919062000d53565b60405180910390a3620004a1600160006200045a620005d460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620005dc60201b60201c565b60026000620004b5620005d460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016004600062000509620005d460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060056200056c620005d460201b60201c565b9080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505062001036565b600033905090565b600060065482111562000626576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200061d9062000d31565b60405180910390fd5b6000620006386200065c60201b60201c565b90506200065481846200069660201b62001ae71790919060201c565b915050919050565b600080600062000671620006e860201b60201c565b915091506200068f81836200069660201b62001ae71790919060201c565b9250505090565b6000620006e083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000a6960201b60201c565b905092915050565b600080600060065490506000662386f26fc10000905060005b60058054905081101562000a19578260016000600584815481106200074f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180620008655750816002600060058481548110620007fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b156200088357600654662386f26fc100009450945050505062000a65565b620009416001600060058481548110620008c6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548462000ad160201b62001b311790919060201c565b925062000a01600260006005848154811062000986577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548362000ad160201b62001b311790919060201c565b9150808062000a109062000ea9565b91505062000701565b5062000a3d662386f26fc100006006546200069660201b62001ae71790919060201c565b82101562000a5c57600654662386f26fc1000093509350505062000a65565b81819350935050505b9091565b6000808311829062000ab3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000aaa919062000d0d565b60405180910390fd5b506000838562000ac4919062000d8c565b9050809150509392505050565b600062000b1b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525062000b2360201b60201c565b905092915050565b600083831115829062000b6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b65919062000d0d565b60405180910390fd5b506000838562000b7f919062000dc4565b9050809150509392505050565b82805462000b9a9062000e73565b90600052602060002090601f01602090048101928262000bbe576000855562000c0a565b82601f1062000bd957805160ff191683800117855562000c0a565b8280016001018555821562000c0a579182015b8281111562000c0957825182559160200191906001019062000bec565b5b50905062000c19919062000c1d565b5090565b5b8082111562000c3857600081600090555060010162000c1e565b5090565b60008151905062000c4d816200101c565b92915050565b6000806040838503121562000c6757600080fd5b600062000c778582860162000c3c565b925050602062000c8a8582860162000c3c565b9150509250929050565b600062000ca18262000d70565b62000cad818562000d7b565b935062000cbf81856020860162000e3d565b62000cca8162000fbc565b840191505092915050565b600062000ce4602a8362000d7b565b915062000cf18262000fcd565b604082019050919050565b62000d078162000e33565b82525050565b6000602082019050818103600083015262000d29818462000c94565b905092915050565b6000602082019050818103600083015262000d4c8162000cd5565b9050919050565b600060208201905062000d6a600083018462000cfc565b92915050565b600081519050919050565b600082825260208201905092915050565b600062000d998262000e33565b915062000da68362000e33565b92508262000db95762000db862000f5e565b5b828204905092915050565b600062000dd18262000e33565b915062000dde8362000e33565b92508282101562000df45762000df362000f2f565b5b828203905092915050565b600062000e0c8262000e13565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101562000e5d57808201518184015260208101905062000e40565b8381111562000e6d576000848401525b50505050565b6000600282049050600182168062000e8c57607f821691505b6020821081141562000ea35762000ea262000f8d565b5b50919050565b600062000eb68262000e33565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141562000eec5762000eeb62000f2f565b5b600182019050919050565b600062000f048262000e33565b915062000f118362000e33565b92508262000f245762000f2362000f5e565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b620010278162000dff565b81146200103357600080fd5b50565b613e2180620010466000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80634a74bb02116101045780638ee88c53116100a2578063ab24182111610071578063ab24182114610548578063c1cd710414610566578063dd62ed3e14610582578063f2fde38b146105b2576101cf565b80638ee88c53146104ae57806395d89b41146104ca578063a457c2d7146104e8578063a9059cbb14610518576101cf565b8063715018a6116100de578063715018a61461044a57806371e93aff146104545780638255a8c0146104725780638da5cb5b14610490576101cf565b80634a74bb02146103de5780636053a0e3146103fc57806370a082311461041a576101cf565b8063288cd3f611610171578063395093511161014b57806339509351146103325780633b7a253b146103625780633ee8abfd1461037e5780634549b039146103ae576101cf565b8063288cd3f6146102c65780632d838119146102e4578063313ce56714610314576101cf565b8063095ea7b3116101ad578063095ea7b31461022a57806313114a9d1461025a57806318160ddd1461027857806323b872dd14610296576101cf565b8063053ab182146101d4578063061c82d0146101f057806306fdde031461020c575b600080fd5b6101ee60048036038101906101e9919061324d565b6105ce565b005b61020a6004803603810190610205919061324d565b610748565b005b6102146107e7565b6040516102219190613524565b60405180910390f35b610244600480360381019061023f9190613211565b610879565b6040516102519190613509565b60405180910390f35b610262610897565b60405161026f91906136e6565b60405180910390f35b6102806108a1565b60405161028d91906136e6565b60405180910390f35b6102b060048036038101906102ab91906131c2565b6108b0565b6040516102bd9190613509565b60405180910390f35b6102ce610989565b6040516102db9190613524565b60405180910390f35b6102fe60048036038101906102f9919061324d565b610a1b565b60405161030b91906136e6565b60405180910390f35b61031c610a89565b6040516103299190613701565b60405180910390f35b61034c60048036038101906103479190613211565b610aa0565b6040516103599190613509565b60405180910390f35b61037c6004803603810190610377919061315d565b610b53565b005b6103986004803603810190610393919061315d565b610e07565b6040516103a59190613509565b60405180910390f35b6103c860048036038101906103c39190613276565b610e5d565b6040516103d591906136e6565b60405180910390f35b6103e6610ee4565b6040516103f39190613509565b60405180910390f35b610404610ef7565b6040516104119190613509565b60405180910390f35b610434600480360381019061042f919061315d565b610f0a565b60405161044191906136e6565b60405180910390f35b610452610ff5565b005b61045c611148565b6040516104699190613524565b60405180910390f35b61047a6111da565b6040516104879190613524565b60405180910390f35b61049861126c565b6040516104a591906134ee565b60405180910390f35b6104c860048036038101906104c3919061324d565b611295565b005b6104d2611334565b6040516104df9190613524565b60405180910390f35b61050260048036038101906104fd9190613211565b6113c6565b60405161050f9190613509565b60405180910390f35b610532600480360381019061052d9190613211565b611493565b60405161053f9190613509565b60405180910390f35b6105506114b1565b60405161055d91906136e6565b60405180910390f35b610580600480360381019061057b919061315d565b6114b7565b005b61059c60048036038101906105979190613186565b61189e565b6040516105a991906136e6565b60405180910390f35b6105cc60048036038101906105c7919061315d565b611925565b005b60006105d8611b7b565b9050600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610667576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065e906136c6565b60405180910390fd5b600061067283611b83565b5050505090506106ca81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3190919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061072281600654611b3190919063ffffffff16565b60068190555061073d83600754611bdb90919063ffffffff16565b600781905550505050565b610750611b7b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d490613646565b60405180910390fd5b80600c8190555050565b6060600980546107f6906138d5565b80601f0160208091040260200160405190810160405280929190818152602001828054610822906138d5565b801561086f5780601f106108445761010080835404028352916020019161086f565b820191906000526020600020905b81548152906001019060200180831161085257829003601f168201915b5050505050905090565b600061088d610886611b7b565b8484611c39565b6001905092915050565b6000600754905090565b6000662386f26fc10000905090565b60006108bd848484611e04565b61097e846108c9611b7b565b61097985604051806060016040528060288152602001613d9f60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061092f611b7b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461221b9092919063ffffffff16565b611c39565b600190509392505050565b606060118054610998906138d5565b80601f01602080910402602001604051908101604052809291908181526020018280546109c4906138d5565b8015610a115780601f106109e657610100808354040283529160200191610a11565b820191906000526020600020905b8154815290600101906020018083116109f457829003601f168201915b5050505050905090565b6000600654821115610a62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5990613566565b60405180910390fd5b6000610a6c61227f565b9050610a818184611ae790919063ffffffff16565b915050919050565b6000600b60009054906101000a900460ff16905090565b6000610b49610aad611b7b565b84610b448560036000610abe611b7b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bdb90919063ffffffff16565b611c39565b6001905092915050565b610b5b611b7b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610be8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdf90613646565b60405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610c75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6c906135e6565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115610d4957610d05600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a1b565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000662386f26fc10000831115610ea9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea090613606565b60405180910390fd5b81610ec8576000610eb984611b83565b50505050905080915050610ede565b6000610ed384611b83565b505050915050809150505b92915050565b600d60009054906101000a900460ff1681565b600d60019054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610fa557600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610ff0565b610fed600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a1b565b90505b919050565b610ffd611b7b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461108a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108190613646565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b606060108054611157906138d5565b80601f0160208091040260200160405190810160405280929190818152602001828054611183906138d5565b80156111d05780601f106111a5576101008083540402835291602001916111d0565b820191906000526020600020905b8154815290600101906020018083116111b357829003601f168201915b5050505050905090565b6060600f80546111e9906138d5565b80601f0160208091040260200160405190810160405280929190818152602001828054611215906138d5565b80156112625780601f1061123757610100808354040283529160200191611262565b820191906000526020600020905b81548152906001019060200180831161124557829003601f168201915b5050505050905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61129d611b7b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461132a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132190613646565b60405180910390fd5b8060088190555050565b6060600a8054611343906138d5565b80601f016020809104026020016040519081016040528092919081815260200182805461136f906138d5565b80156113bc5780601f10611391576101008083540402835291602001916113bc565b820191906000526020600020905b81548152906001019060200180831161139f57829003601f168201915b5050505050905090565b60006114896113d3611b7b565b8461148485604051806060016040528060258152602001613dc760259139600360006113fd611b7b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461221b9092919063ffffffff16565b611c39565b6001905092915050565b60006114a76114a0611b7b565b8484611e04565b6001905092915050565b600c5481565b6114bf611b7b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461154c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154390613646565b60405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166115d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115cf906135e6565b60405180910390fd5b60005b60058054905081101561189a578173ffffffffffffffffffffffffffffffffffffffff1660058281548110611639577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561188757600560016005805490506116949190613819565b815481106116cb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660058281548110611730577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600580548061184d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905561189a565b808061189290613907565b9150506115db565b5050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61192d611b7b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b190613646565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2190613586565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611b2983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122aa565b905092915050565b6000611b7383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061221b565b905092915050565b600033905090565b6000806000806000806000611b978861230d565b915091506000611ba561227f565b90506000806000611bb78c8686612360565b92509250925082828288889a509a509a509a509a5050505050505091939590929450565b6000808284611bea9190613738565b905083811015611c2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c26906135c6565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611ca9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca0906136a6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d10906135a6565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611df791906136e6565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6b90613686565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ee4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611edb90613546565b60405180910390fd5b60008111611f27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1e90613666565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611fca5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611fdf57611fda8383836123be565b612216565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156120825750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561209757612092838383612611565b612215565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561213b5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156121505761214b838383612864565b612214565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156121f25750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561220757612202838383612a22565b612213565b612212838383612864565b5b5b5b5b505050565b6000838311158290612263576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225a9190613524565b60405180910390fd5b50600083856122729190613819565b9050809150509392505050565b600080600061228c612d0a565b915091506122a38183611ae790919063ffffffff16565b9250505090565b600080831182906122f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e89190613524565b60405180910390fd5b5060008385612300919061378e565b9050809150509392505050565b600080600061233a600261232c6103e887611ae790919063ffffffff16565b61306990919063ffffffff16565b905060006123518286611b3190919063ffffffff16565b90508082935093505050915091565b600080600080612379858861306990919063ffffffff16565b90506000612390868861306990919063ffffffff16565b905060006123a78284611b3190919063ffffffff16565b905082818395509550955050505093509350939050565b60008060008060006123cf86611b83565b9450945094509450945061242b86600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124c085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3190919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061255584600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bdb90919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125a283826130e4565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516125ff91906136e6565b60405180910390a35050505050505050565b600080600080600061262286611b83565b9450945094509450945061267e85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3190919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061271382600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bdb90919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127a884600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bdb90919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127f583826130e4565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161285291906136e6565b60405180910390a35050505050505050565b600080600080600061287586611b83565b945094509450945094506128d185600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3190919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061296684600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bdb90919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129b383826130e4565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612a1091906136e6565b60405180910390a35050505050505050565b6000806000806000612a3386611b83565b94509450945094509450612a8f86600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b2485600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3190919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612bb982600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bdb90919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c4e84600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bdb90919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c9b83826130e4565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612cf891906136e6565b60405180910390a35050505050505050565b600080600060065490506000662386f26fc10000905060005b60058054905081101561302257826001600060058481548110612d6f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180612e835750816002600060058481548110612e1b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15612e9f57600654662386f26fc1000094509450505050613065565b612f556001600060058481548110612ee0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484611b3190919063ffffffff16565b925061300d6002600060058481548110612f98577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611b3190919063ffffffff16565b9150808061301a90613907565b915050612d23565b5061303f662386f26fc10000600654611ae790919063ffffffff16565b82101561305c57600654662386f26fc10000935093505050613065565b81819350935050505b9091565b60008083141561307c57600090506130de565b6000828461308a91906137bf565b9050828482613099919061378e565b146130d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130d090613626565b60405180910390fd5b809150505b92915050565b6130f982600654611b3190919063ffffffff16565b60068190555061311481600754611bdb90919063ffffffff16565b6007819055505050565b60008135905061312d81613d59565b92915050565b60008135905061314281613d70565b92915050565b60008135905061315781613d87565b92915050565b60006020828403121561316f57600080fd5b600061317d8482850161311e565b91505092915050565b6000806040838503121561319957600080fd5b60006131a78582860161311e565b92505060206131b88582860161311e565b9150509250929050565b6000806000606084860312156131d757600080fd5b60006131e58682870161311e565b93505060206131f68682870161311e565b925050604061320786828701613148565b9150509250925092565b6000806040838503121561322457600080fd5b60006132328582860161311e565b925050602061324385828601613148565b9150509250929050565b60006020828403121561325f57600080fd5b600061326d84828501613148565b91505092915050565b6000806040838503121561328957600080fd5b600061329785828601613148565b92505060206132a885828601613133565b9150509250929050565b6132bb8161384d565b82525050565b6132ca8161385f565b82525050565b60006132db8261371c565b6132e58185613727565b93506132f58185602086016138a2565b6132fe816139dd565b840191505092915050565b6000613316602383613727565b9150613321826139ee565b604082019050919050565b6000613339602a83613727565b915061334482613a3d565b604082019050919050565b600061335c602683613727565b915061336782613a8c565b604082019050919050565b600061337f602283613727565b915061338a82613adb565b604082019050919050565b60006133a2601b83613727565b91506133ad82613b2a565b602082019050919050565b60006133c5601b83613727565b91506133d082613b53565b602082019050919050565b60006133e8601f83613727565b91506133f382613b7c565b602082019050919050565b600061340b602183613727565b915061341682613ba5565b604082019050919050565b600061342e602083613727565b915061343982613bf4565b602082019050919050565b6000613451602983613727565b915061345c82613c1d565b604082019050919050565b6000613474602583613727565b915061347f82613c6c565b604082019050919050565b6000613497602483613727565b91506134a282613cbb565b604082019050919050565b60006134ba602c83613727565b91506134c582613d0a565b604082019050919050565b6134d98161388b565b82525050565b6134e881613895565b82525050565b600060208201905061350360008301846132b2565b92915050565b600060208201905061351e60008301846132c1565b92915050565b6000602082019050818103600083015261353e81846132d0565b905092915050565b6000602082019050818103600083015261355f81613309565b9050919050565b6000602082019050818103600083015261357f8161332c565b9050919050565b6000602082019050818103600083015261359f8161334f565b9050919050565b600060208201905081810360008301526135bf81613372565b9050919050565b600060208201905081810360008301526135df81613395565b9050919050565b600060208201905081810360008301526135ff816133b8565b9050919050565b6000602082019050818103600083015261361f816133db565b9050919050565b6000602082019050818103600083015261363f816133fe565b9050919050565b6000602082019050818103600083015261365f81613421565b9050919050565b6000602082019050818103600083015261367f81613444565b9050919050565b6000602082019050818103600083015261369f81613467565b9050919050565b600060208201905081810360008301526136bf8161348a565b9050919050565b600060208201905081810360008301526136df816134ad565b9050919050565b60006020820190506136fb60008301846134d0565b92915050565b600060208201905061371660008301846134df565b92915050565b600081519050919050565b600082825260208201905092915050565b60006137438261388b565b915061374e8361388b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561378357613782613950565b5b828201905092915050565b60006137998261388b565b91506137a48361388b565b9250826137b4576137b361397f565b5b828204905092915050565b60006137ca8261388b565b91506137d58361388b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561380e5761380d613950565b5b828202905092915050565b60006138248261388b565b915061382f8361388b565b92508282101561384257613841613950565b5b828203905092915050565b60006138588261386b565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156138c05780820151818401526020810190506138a5565b838111156138cf576000848401525b50505050565b600060028204905060018216806138ed57607f821691505b60208210811415613901576139006139ae565b5b50919050565b60006139128261388b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561394557613944613950565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f4163636f756e7420697320616c7265616479206578636c756465640000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20737570706c7900600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460008201527f6869732066756e6374696f6e0000000000000000000000000000000000000000602082015250565b613d628161384d565b8114613d6d57600080fd5b50565b613d798161385f565b8114613d8457600080fd5b50565b613d908161388b565b8114613d9b57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122085c35bac785937da6aeb4b7652d62116b5a748d4f9676979862858bd42123cb564736f6c634300080400330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101cf5760003560e01c80634a74bb02116101045780638ee88c53116100a2578063ab24182111610071578063ab24182114610548578063c1cd710414610566578063dd62ed3e14610582578063f2fde38b146105b2576101cf565b80638ee88c53146104ae57806395d89b41146104ca578063a457c2d7146104e8578063a9059cbb14610518576101cf565b8063715018a6116100de578063715018a61461044a57806371e93aff146104545780638255a8c0146104725780638da5cb5b14610490576101cf565b80634a74bb02146103de5780636053a0e3146103fc57806370a082311461041a576101cf565b8063288cd3f611610171578063395093511161014b57806339509351146103325780633b7a253b146103625780633ee8abfd1461037e5780634549b039146103ae576101cf565b8063288cd3f6146102c65780632d838119146102e4578063313ce56714610314576101cf565b8063095ea7b3116101ad578063095ea7b31461022a57806313114a9d1461025a57806318160ddd1461027857806323b872dd14610296576101cf565b8063053ab182146101d4578063061c82d0146101f057806306fdde031461020c575b600080fd5b6101ee60048036038101906101e9919061324d565b6105ce565b005b61020a6004803603810190610205919061324d565b610748565b005b6102146107e7565b6040516102219190613524565b60405180910390f35b610244600480360381019061023f9190613211565b610879565b6040516102519190613509565b60405180910390f35b610262610897565b60405161026f91906136e6565b60405180910390f35b6102806108a1565b60405161028d91906136e6565b60405180910390f35b6102b060048036038101906102ab91906131c2565b6108b0565b6040516102bd9190613509565b60405180910390f35b6102ce610989565b6040516102db9190613524565b60405180910390f35b6102fe60048036038101906102f9919061324d565b610a1b565b60405161030b91906136e6565b60405180910390f35b61031c610a89565b6040516103299190613701565b60405180910390f35b61034c60048036038101906103479190613211565b610aa0565b6040516103599190613509565b60405180910390f35b61037c6004803603810190610377919061315d565b610b53565b005b6103986004803603810190610393919061315d565b610e07565b6040516103a59190613509565b60405180910390f35b6103c860048036038101906103c39190613276565b610e5d565b6040516103d591906136e6565b60405180910390f35b6103e6610ee4565b6040516103f39190613509565b60405180910390f35b610404610ef7565b6040516104119190613509565b60405180910390f35b610434600480360381019061042f919061315d565b610f0a565b60405161044191906136e6565b60405180910390f35b610452610ff5565b005b61045c611148565b6040516104699190613524565b60405180910390f35b61047a6111da565b6040516104879190613524565b60405180910390f35b61049861126c565b6040516104a591906134ee565b60405180910390f35b6104c860048036038101906104c3919061324d565b611295565b005b6104d2611334565b6040516104df9190613524565b60405180910390f35b61050260048036038101906104fd9190613211565b6113c6565b60405161050f9190613509565b60405180910390f35b610532600480360381019061052d9190613211565b611493565b60405161053f9190613509565b60405180910390f35b6105506114b1565b60405161055d91906136e6565b60405180910390f35b610580600480360381019061057b919061315d565b6114b7565b005b61059c60048036038101906105979190613186565b61189e565b6040516105a991906136e6565b60405180910390f35b6105cc60048036038101906105c7919061315d565b611925565b005b60006105d8611b7b565b9050600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610667576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065e906136c6565b60405180910390fd5b600061067283611b83565b5050505090506106ca81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3190919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061072281600654611b3190919063ffffffff16565b60068190555061073d83600754611bdb90919063ffffffff16565b600781905550505050565b610750611b7b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d490613646565b60405180910390fd5b80600c8190555050565b6060600980546107f6906138d5565b80601f0160208091040260200160405190810160405280929190818152602001828054610822906138d5565b801561086f5780601f106108445761010080835404028352916020019161086f565b820191906000526020600020905b81548152906001019060200180831161085257829003601f168201915b5050505050905090565b600061088d610886611b7b565b8484611c39565b6001905092915050565b6000600754905090565b6000662386f26fc10000905090565b60006108bd848484611e04565b61097e846108c9611b7b565b61097985604051806060016040528060288152602001613d9f60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061092f611b7b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461221b9092919063ffffffff16565b611c39565b600190509392505050565b606060118054610998906138d5565b80601f01602080910402602001604051908101604052809291908181526020018280546109c4906138d5565b8015610a115780601f106109e657610100808354040283529160200191610a11565b820191906000526020600020905b8154815290600101906020018083116109f457829003601f168201915b5050505050905090565b6000600654821115610a62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5990613566565b60405180910390fd5b6000610a6c61227f565b9050610a818184611ae790919063ffffffff16565b915050919050565b6000600b60009054906101000a900460ff16905090565b6000610b49610aad611b7b565b84610b448560036000610abe611b7b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bdb90919063ffffffff16565b611c39565b6001905092915050565b610b5b611b7b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610be8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdf90613646565b60405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610c75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6c906135e6565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115610d4957610d05600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a1b565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000662386f26fc10000831115610ea9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea090613606565b60405180910390fd5b81610ec8576000610eb984611b83565b50505050905080915050610ede565b6000610ed384611b83565b505050915050809150505b92915050565b600d60009054906101000a900460ff1681565b600d60019054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610fa557600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610ff0565b610fed600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a1b565b90505b919050565b610ffd611b7b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461108a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108190613646565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b606060108054611157906138d5565b80601f0160208091040260200160405190810160405280929190818152602001828054611183906138d5565b80156111d05780601f106111a5576101008083540402835291602001916111d0565b820191906000526020600020905b8154815290600101906020018083116111b357829003601f168201915b5050505050905090565b6060600f80546111e9906138d5565b80601f0160208091040260200160405190810160405280929190818152602001828054611215906138d5565b80156112625780601f1061123757610100808354040283529160200191611262565b820191906000526020600020905b81548152906001019060200180831161124557829003601f168201915b5050505050905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61129d611b7b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461132a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132190613646565b60405180910390fd5b8060088190555050565b6060600a8054611343906138d5565b80601f016020809104026020016040519081016040528092919081815260200182805461136f906138d5565b80156113bc5780601f10611391576101008083540402835291602001916113bc565b820191906000526020600020905b81548152906001019060200180831161139f57829003601f168201915b5050505050905090565b60006114896113d3611b7b565b8461148485604051806060016040528060258152602001613dc760259139600360006113fd611b7b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461221b9092919063ffffffff16565b611c39565b6001905092915050565b60006114a76114a0611b7b565b8484611e04565b6001905092915050565b600c5481565b6114bf611b7b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461154c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154390613646565b60405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166115d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115cf906135e6565b60405180910390fd5b60005b60058054905081101561189a578173ffffffffffffffffffffffffffffffffffffffff1660058281548110611639577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561188757600560016005805490506116949190613819565b815481106116cb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660058281548110611730577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600580548061184d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905561189a565b808061189290613907565b9150506115db565b5050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61192d611b7b565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b190613646565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2190613586565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611b2983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122aa565b905092915050565b6000611b7383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061221b565b905092915050565b600033905090565b6000806000806000806000611b978861230d565b915091506000611ba561227f565b90506000806000611bb78c8686612360565b92509250925082828288889a509a509a509a509a5050505050505091939590929450565b6000808284611bea9190613738565b905083811015611c2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c26906135c6565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611ca9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca0906136a6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d10906135a6565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611df791906136e6565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6b90613686565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ee4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611edb90613546565b60405180910390fd5b60008111611f27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1e90613666565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611fca5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611fdf57611fda8383836123be565b612216565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156120825750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561209757612092838383612611565b612215565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561213b5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156121505761214b838383612864565b612214565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156121f25750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561220757612202838383612a22565b612213565b612212838383612864565b5b5b5b5b505050565b6000838311158290612263576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225a9190613524565b60405180910390fd5b50600083856122729190613819565b9050809150509392505050565b600080600061228c612d0a565b915091506122a38183611ae790919063ffffffff16565b9250505090565b600080831182906122f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e89190613524565b60405180910390fd5b5060008385612300919061378e565b9050809150509392505050565b600080600061233a600261232c6103e887611ae790919063ffffffff16565b61306990919063ffffffff16565b905060006123518286611b3190919063ffffffff16565b90508082935093505050915091565b600080600080612379858861306990919063ffffffff16565b90506000612390868861306990919063ffffffff16565b905060006123a78284611b3190919063ffffffff16565b905082818395509550955050505093509350939050565b60008060008060006123cf86611b83565b9450945094509450945061242b86600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124c085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3190919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061255584600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bdb90919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125a283826130e4565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516125ff91906136e6565b60405180910390a35050505050505050565b600080600080600061262286611b83565b9450945094509450945061267e85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3190919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061271382600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bdb90919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127a884600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bdb90919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127f583826130e4565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161285291906136e6565b60405180910390a35050505050505050565b600080600080600061287586611b83565b945094509450945094506128d185600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3190919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061296684600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bdb90919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506129b383826130e4565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612a1091906136e6565b60405180910390a35050505050505050565b6000806000806000612a3386611b83565b94509450945094509450612a8f86600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b2485600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3190919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612bb982600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bdb90919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c4e84600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bdb90919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c9b83826130e4565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612cf891906136e6565b60405180910390a35050505050505050565b600080600060065490506000662386f26fc10000905060005b60058054905081101561302257826001600060058481548110612d6f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180612e835750816002600060058481548110612e1b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15612e9f57600654662386f26fc1000094509450505050613065565b612f556001600060058481548110612ee0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484611b3190919063ffffffff16565b925061300d6002600060058481548110612f98577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611b3190919063ffffffff16565b9150808061301a90613907565b915050612d23565b5061303f662386f26fc10000600654611ae790919063ffffffff16565b82101561305c57600654662386f26fc10000935093505050613065565b81819350935050505b9091565b60008083141561307c57600090506130de565b6000828461308a91906137bf565b9050828482613099919061378e565b146130d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130d090613626565b60405180910390fd5b809150505b92915050565b6130f982600654611b3190919063ffffffff16565b60068190555061311481600754611bdb90919063ffffffff16565b6007819055505050565b60008135905061312d81613d59565b92915050565b60008135905061314281613d70565b92915050565b60008135905061315781613d87565b92915050565b60006020828403121561316f57600080fd5b600061317d8482850161311e565b91505092915050565b6000806040838503121561319957600080fd5b60006131a78582860161311e565b92505060206131b88582860161311e565b9150509250929050565b6000806000606084860312156131d757600080fd5b60006131e58682870161311e565b93505060206131f68682870161311e565b925050604061320786828701613148565b9150509250925092565b6000806040838503121561322457600080fd5b60006132328582860161311e565b925050602061324385828601613148565b9150509250929050565b60006020828403121561325f57600080fd5b600061326d84828501613148565b91505092915050565b6000806040838503121561328957600080fd5b600061329785828601613148565b92505060206132a885828601613133565b9150509250929050565b6132bb8161384d565b82525050565b6132ca8161385f565b82525050565b60006132db8261371c565b6132e58185613727565b93506132f58185602086016138a2565b6132fe816139dd565b840191505092915050565b6000613316602383613727565b9150613321826139ee565b604082019050919050565b6000613339602a83613727565b915061334482613a3d565b604082019050919050565b600061335c602683613727565b915061336782613a8c565b604082019050919050565b600061337f602283613727565b915061338a82613adb565b604082019050919050565b60006133a2601b83613727565b91506133ad82613b2a565b602082019050919050565b60006133c5601b83613727565b91506133d082613b53565b602082019050919050565b60006133e8601f83613727565b91506133f382613b7c565b602082019050919050565b600061340b602183613727565b915061341682613ba5565b604082019050919050565b600061342e602083613727565b915061343982613bf4565b602082019050919050565b6000613451602983613727565b915061345c82613c1d565b604082019050919050565b6000613474602583613727565b915061347f82613c6c565b604082019050919050565b6000613497602483613727565b91506134a282613cbb565b604082019050919050565b60006134ba602c83613727565b91506134c582613d0a565b604082019050919050565b6134d98161388b565b82525050565b6134e881613895565b82525050565b600060208201905061350360008301846132b2565b92915050565b600060208201905061351e60008301846132c1565b92915050565b6000602082019050818103600083015261353e81846132d0565b905092915050565b6000602082019050818103600083015261355f81613309565b9050919050565b6000602082019050818103600083015261357f8161332c565b9050919050565b6000602082019050818103600083015261359f8161334f565b9050919050565b600060208201905081810360008301526135bf81613372565b9050919050565b600060208201905081810360008301526135df81613395565b9050919050565b600060208201905081810360008301526135ff816133b8565b9050919050565b6000602082019050818103600083015261361f816133db565b9050919050565b6000602082019050818103600083015261363f816133fe565b9050919050565b6000602082019050818103600083015261365f81613421565b9050919050565b6000602082019050818103600083015261367f81613444565b9050919050565b6000602082019050818103600083015261369f81613467565b9050919050565b600060208201905081810360008301526136bf8161348a565b9050919050565b600060208201905081810360008301526136df816134ad565b9050919050565b60006020820190506136fb60008301846134d0565b92915050565b600060208201905061371660008301846134df565b92915050565b600081519050919050565b600082825260208201905092915050565b60006137438261388b565b915061374e8361388b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561378357613782613950565b5b828201905092915050565b60006137998261388b565b91506137a48361388b565b9250826137b4576137b361397f565b5b828204905092915050565b60006137ca8261388b565b91506137d58361388b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561380e5761380d613950565b5b828202905092915050565b60006138248261388b565b915061382f8361388b565b92508282101561384257613841613950565b5b828203905092915050565b60006138588261386b565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156138c05780820151818401526020810190506138a5565b838111156138cf576000848401525b50505050565b600060028204905060018216806138ed57607f821691505b60208210811415613901576139006139ae565b5b50919050565b60006139128261388b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561394557613944613950565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f4163636f756e7420697320616c7265616479206578636c756465640000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20737570706c7900600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460008201527f6869732066756e6374696f6e0000000000000000000000000000000000000000602082015250565b613d628161384d565b8114613d6d57600080fd5b50565b613d798161385f565b8114613d8457600080fd5b50565b613d908161388b565b8114613d9b57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122085c35bac785937da6aeb4b7652d62116b5a748d4f9676979862858bd42123cb564736f6c63430008040033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f

-----Decoded View---------------
Arg [0] : router (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : factory (address): 0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [1] : 0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f


Deployed Bytecode Sourcemap

11007:11754:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15010:376;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22192:105;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12874:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13786:161;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14911:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13151:95;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13955:313;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22659:99;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15836:253;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13060:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14276:218;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16097:339;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14779:124;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15394:434;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11793:40;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11840:33;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13254:198;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10600:148;;;:::i;:::-;;22552:99;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22443:101;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10513:79;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22309:122;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12965:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14502:269;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13460:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11753:33;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16444:483;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13635:143;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10756:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15010:376;15062:14;15079:12;:10;:12::i;:::-;15062:29;;15111:11;:19;15123:6;15111:19;;;;;;;;;;;;;;;;;;;;;;;;;15110:20;15102:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;15191:15;15214:19;15225:7;15214:10;:19::i;:::-;15190:43;;;;;;15262:28;15282:7;15262;:15;15270:6;15262:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;15244:7;:15;15252:6;15244:15;;;;;;;;;;;;;;;:46;;;;15311:20;15323:7;15311;;:11;;:20;;;;:::i;:::-;15301:7;:30;;;;15355:23;15370:7;15355:10;;:14;;:23;;;;:::i;:::-;15342:10;:36;;;;15010:376;;;:::o;22192:105::-;10436:12;:10;:12::i;:::-;10426:22;;:6;;;;;;;;;;:22;;;10418:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;22283:6:::1;22266:14;:23;;;;22192:105:::0;:::o;12874:83::-;12911:13;12944:5;12937:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12874:83;:::o;13786:161::-;13861:4;13878:39;13887:12;:10;:12::i;:::-;13901:7;13910:6;13878:8;:39::i;:::-;13935:4;13928:11;;13786:161;;;;:::o;14911:87::-;14953:7;14980:10;;14973:17;;14911:87;:::o;13151:95::-;13204:7;11484:16;13224:14;;13151:95;:::o;13955:313::-;14053:4;14070:36;14080:6;14088:9;14099:6;14070:9;:36::i;:::-;14117:121;14126:6;14134:12;:10;:12::i;:::-;14148:89;14186:6;14148:89;;;;;;;;;;;;;;;;;:11;:19;14160:6;14148:19;;;;;;;;;;;;;;;:33;14168:12;:10;:12::i;:::-;14148:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;14117:8;:121::i;:::-;14256:4;14249:11;;13955:313;;;;;:::o;22659:99::-;22703:13;22736:14;22729:21;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22659:99;:::o;15836:253::-;15902:7;15941;;15930;:18;;15922:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;16006:19;16029:10;:8;:10::i;:::-;16006:33;;16057:24;16069:11;16057:7;:11;;:24;;;;:::i;:::-;16050:31;;;15836:253;;;:::o;13060:83::-;13101:5;13126:9;;;;;;;;;;;13119:16;;13060:83;:::o;14276:218::-;14364:4;14381:83;14390:12;:10;:12::i;:::-;14404:7;14413:50;14452:10;14413:11;:25;14425:12;:10;:12::i;:::-;14413:25;;;;;;;;;;;;;;;:34;14439:7;14413:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;14381:8;:83::i;:::-;14482:4;14475:11;;14276:218;;;;:::o;16097:339::-;10436:12;:10;:12::i;:::-;10426:22;;:6;;;;;;;;;;:22;;;10418:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16186:11:::1;:20;16198:7;16186:20;;;;;;;;;;;;;;;;;;;;;;;;;16185:21;16177:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;16271:1;16252:7;:16;16260:7;16252:16;;;;;;;;;;;;;;;;:20;16249:108;;;16308:37;16328:7;:16;16336:7;16328:16;;;;;;;;;;;;;;;;16308:19;:37::i;:::-;16289:7;:16;16297:7;16289:16;;;;;;;;;;;;;;;:56;;;;16249:108;16390:4;16367:11;:20;16379:7;16367:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;16405:9;16420:7;16405:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16097:339:::0;:::o;14779:124::-;14851:4;14875:11;:20;14887:7;14875:20;;;;;;;;;;;;;;;;;;;;;;;;;14868:27;;14779:124;;;:::o;15394:434::-;15484:7;11484:16;15512:7;:18;;15504:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;15582:17;15577:244;;15617:15;15640:19;15651:7;15640:10;:19::i;:::-;15616:43;;;;;;15681:7;15674:14;;;;;15577:244;15723:23;15753:19;15764:7;15753:10;:19::i;:::-;15721:51;;;;;;15794:15;15787:22;;;15394:434;;;;;:::o;11793:40::-;;;;;;;;;;;;;:::o;11840:33::-;;;;;;;;;;;;;:::o;13254:198::-;13320:7;13344:11;:20;13356:7;13344:20;;;;;;;;;;;;;;;;;;;;;;;;;13340:49;;;13373:7;:16;13381:7;13373:16;;;;;;;;;;;;;;;;13366:23;;;;13340:49;13407:37;13427:7;:16;13435:7;13427:16;;;;;;;;;;;;;;;;13407:19;:37::i;:::-;13400:44;;13254:198;;;;:::o;10600:148::-;10436:12;:10;:12::i;:::-;10426:22;;:6;;;;;;;;;;:22;;;10418:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10707:1:::1;10670:40;;10691:6;::::0;::::1;;;;;;;;10670:40;;;;;;;;;;;;10738:1;10721:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;10600:148::o:0;22552:99::-;22596:13;22629:14;22622:21;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22552:99;:::o;22443:101::-;22488:13;22521:15;22514:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22443:101;:::o;10513:79::-;10551:7;10578:6;;;;;;;;;;;10571:13;;10513:79;:::o;22309:122::-;10436:12;:10;:12::i;:::-;10426:22;;:6;;;;;;;;;;:22;;;10418:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;22411:12:::1;22395:13;:28;;;;22309:122:::0;:::o;12965:87::-;13004:13;13037:7;13030:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12965:87;:::o;14502:269::-;14595:4;14612:129;14621:12;:10;:12::i;:::-;14635:7;14644:96;14683:15;14644:96;;;;;;;;;;;;;;;;;:11;:25;14656:12;:10;:12::i;:::-;14644:25;;;;;;;;;;;;;;;:34;14670:7;14644:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;14612:8;:129::i;:::-;14759:4;14752:11;;14502:269;;;;:::o;13460:167::-;13538:4;13555:42;13565:12;:10;:12::i;:::-;13579:9;13590:6;13555:9;:42::i;:::-;13615:4;13608:11;;13460:167;;;;:::o;11753:33::-;;;;:::o;16444:483::-;10436:12;:10;:12::i;:::-;10426:22;;:6;;;;;;;;;;:22;;;10418:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16530:11:::1;:20;16542:7;16530:20;;;;;;;;;;;;;;;;;;;;;;;;;16522:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;16598:9;16593:327;16617:9;:16;;;;16613:1;:20;16593:327;;;16675:7;16659:23;;:9;16669:1;16659:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;16655:254;;;16718:9;16747:1;16728:9;:16;;;;:20;;;;:::i;:::-;16718:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16703:9;16713:1;16703:12;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;16787:1;16768:7;:16;16776:7;16768:16;;;;;;;;;;;;;;;:20;;;;16830:5;16807:11;:20;16819:7;16807:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;16854:9;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16888:5;;16655:254;16635:3;;;;;:::i;:::-;;;;16593:327;;;;16444:483:::0;:::o;13635:143::-;13716:7;13743:11;:18;13755:5;13743:18;;;;;;;;;;;;;;;:27;13762:7;13743:27;;;;;;;;;;;;;;;;13736:34;;13635:143;;;;:::o;10756:244::-;10436:12;:10;:12::i;:::-;10426:22;;:6;;;;;;;;;;:22;;;10418:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10865:1:::1;10845:22;;:8;:22;;;;10837:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;10955:8;10926:38;;10947:6;::::0;::::1;;;;;;;;10926:38;;;;;;;;;;;;10984:8;10975:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;10756:244:::0;:::o;6705:132::-;6763:7;6790:39;6794:1;6797;6790:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;6783:46;;6705:132;;;;:::o;6109:136::-;6167:7;6194:43;6198:1;6201;6194:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;6187:50;;6109:136;;;;:::o;4846:114::-;4899:15;4941:10;4926:26;;4846:114;:::o;20446:411::-;20505:7;20514;20523;20532;20541;20562:23;20587:12;20603:20;20615:7;20603:11;:20::i;:::-;20561:62;;;;20634:19;20657:10;:8;:10::i;:::-;20634:33;;20679:15;20696:23;20721:12;20737:39;20749:7;20758:4;20764:11;20737;:39::i;:::-;20678:98;;;;;;20795:7;20804:15;20821:4;20827:15;20844:4;20787:62;;;;;;;;;;;;;;;;20446:411;;;;;;;:::o;5920:181::-;5978:7;5998:9;6014:1;6010;:5;;;;:::i;:::-;5998:17;;6039:1;6034;:6;;6026:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;6092:1;6085:8;;;5920:181;;;;:::o;16935:337::-;17045:1;17028:19;;:5;:19;;;;17020:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17126:1;17107:21;;:7;:21;;;;17099:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17210:6;17180:11;:18;17192:5;17180:18;;;;;;;;;;;;;;;:27;17199:7;17180:27;;;;;;;;;;;;;;;:36;;;;17248:7;17232:32;;17241:5;17232:32;;;17257:6;17232:32;;;;;;:::i;:::-;;;;;;;;16935:337;;;:::o;17284:892::-;17399:1;17381:20;;:6;:20;;;;17373:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;17483:1;17462:23;;:9;:23;;;;17454:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;17553:1;17544:6;:10;17536:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;17615:11;:19;17627:6;17615:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;17639:11;:22;17651:9;17639:22;;;;;;;;;;;;;;;;;;;;;;;;;17638:23;17615:46;17611:558;;;17674:48;17696:6;17704:9;17715:6;17674:21;:48::i;:::-;17611:558;;;17745:11;:19;17757:6;17745:19;;;;;;;;;;;;;;;;;;;;;;;;;17744:20;:46;;;;;17768:11;:22;17780:9;17768:22;;;;;;;;;;;;;;;;;;;;;;;;;17744:46;17740:429;;;17803:46;17823:6;17831:9;17842:6;17803:19;:46::i;:::-;17740:429;;;17873:11;:19;17885:6;17873:19;;;;;;;;;;;;;;;;;;;;;;;;;17872:20;:47;;;;;17897:11;:22;17909:9;17897:22;;;;;;;;;;;;;;;;;;;;;;;;;17896:23;17872:47;17868:301;;;17932:44;17950:6;17958:9;17969:6;17932:17;:44::i;:::-;17868:301;;;17998:11;:19;18010:6;17998:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;18021:11;:22;18033:9;18021:22;;;;;;;;;;;;;;;;;;;;;;;;;17998:45;17994:175;;;18056:48;18078:6;18086:9;18097:6;18056:21;:48::i;:::-;17994:175;;;18123:44;18141:6;18149:9;18160:6;18123:17;:44::i;:::-;17994:175;17868:301;17740:429;17611:558;17284:892;;;:::o;6253:190::-;6339:7;6372:1;6367;:6;;6375:12;6359:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;6399:9;6415:1;6411;:5;;;;:::i;:::-;6399:17;;6434:1;6427:8;;;6253:190;;;;;:::o;21446:163::-;21487:7;21508:15;21525;21544:19;:17;:19::i;:::-;21507:56;;;;21581:20;21593:7;21581;:11;;:20;;;;:::i;:::-;21574:27;;;;21446:163;:::o;6845:276::-;6931:7;6963:1;6959;:5;6966:12;6951:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;6990:9;7006:1;7002;:5;;;;:::i;:::-;6990:17;;7112:1;7105:8;;;6845:276;;;;;:::o;20865:231::-;20925:7;20934;20954:12;20969:24;20991:1;20969:17;20981:4;20969:7;:11;;:17;;;;:::i;:::-;:21;;:24;;;;:::i;:::-;20954:39;;21004:23;21030:17;21042:4;21030:7;:11;;:17;;;;:::i;:::-;21004:43;;21066:15;21083:4;21058:30;;;;;;20865:231;;;:::o;21104:334::-;21199:7;21208;21217;21237:15;21255:24;21267:11;21255:7;:11;;:24;;;;:::i;:::-;21237:42;;21290:12;21305:21;21314:11;21305:4;:8;;:21;;;;:::i;:::-;21290:36;;21337:23;21363:17;21375:4;21363:7;:11;;:17;;;;:::i;:::-;21337:43;;21399:7;21408:15;21425:4;21391:39;;;;;;;;;21104:334;;;;;;;:::o;19181:509::-;19284:15;19301:23;19326:12;19340:23;19365:12;19381:19;19392:7;19381:10;:19::i;:::-;19283:117;;;;;;;;;;19429:28;19449:7;19429;:15;19437:6;19429:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;19411:7;:15;19419:6;19411:15;;;;;;;;;;;;;;;:46;;;;19486:28;19506:7;19486;:15;19494:6;19486:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;19468:7;:15;19476:6;19468:15;;;;;;;;;;;;;;;:46;;;;19546:39;19569:15;19546:7;:18;19554:9;19546:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;19525:7;:18;19533:9;19525:18;;;;;;;;;;;;;;;:60;;;;19599:23;19611:4;19617;19599:11;:23::i;:::-;19655:9;19638:44;;19647:6;19638:44;;;19666:15;19638:44;;;;;;:::i;:::-;;;;;;;;19181:509;;;;;;;;:::o;18644:529::-;18745:15;18762:23;18787:12;18801:23;18826:12;18842:19;18853:7;18842:10;:19::i;:::-;18744:117;;;;;;;;;;18890:28;18910:7;18890;:15;18898:6;18890:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;18872:7;:15;18880:6;18872:15;;;;;;;;;;;;;;;:46;;;;18950:39;18973:15;18950:7;:18;18958:9;18950:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;18929:7;:18;18937:9;18929:18;;;;;;;;;;;;;;;:60;;;;19021:39;19044:15;19021:7;:18;19029:9;19021:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;19000:7;:18;19008:9;19000:18;;;;;;;;;;;;;;;:60;;;;19082:23;19094:4;19100;19082:11;:23::i;:::-;19138:9;19121:44;;19130:6;19121:44;;;19149:15;19121:44;;;;;;:::i;:::-;;;;;;;;18644:529;;;;;;;;:::o;18184:452::-;18283:15;18300:23;18325:12;18339:23;18364:12;18380:19;18391:7;18380:10;:19::i;:::-;18282:117;;;;;;;;;;18428:28;18448:7;18428;:15;18436:6;18428:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;18410:7;:15;18418:6;18410:15;;;;;;;;;;;;;;;:46;;;;18488:39;18511:15;18488:7;:18;18496:9;18488:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;18467:7;:18;18475:9;18467:18;;;;;;;;;;;;;;;:60;;;;18545:23;18557:4;18563;18545:11;:23::i;:::-;18601:9;18584:44;;18593:6;18584:44;;;18612:15;18584:44;;;;;;:::i;:::-;;;;;;;;18184:452;;;;;;;;:::o;19698:585::-;19801:15;19818:23;19843:12;19857:23;19882:12;19898:19;19909:7;19898:10;:19::i;:::-;19800:117;;;;;;;;;;19946:28;19966:7;19946;:15;19954:6;19946:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;19928:7;:15;19936:6;19928:15;;;;;;;;;;;;;;;:46;;;;20003:28;20023:7;20003;:15;20011:6;20003:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;19985:7;:15;19993:6;19985:15;;;;;;;;;;;;;;;:46;;;;20063:39;20086:15;20063:7;:18;20071:9;20063:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;20042:7;:18;20050:9;20042:18;;;;;;;;;;;;;;;:60;;;;20134:39;20157:15;20134:7;:18;20142:9;20134:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;20113:7;:18;20121:9;20113:18;;;;;;;;;;;;;;;:60;;;;20192:23;20204:4;20210;20192:11;:23::i;:::-;20248:9;20231:44;;20240:6;20231:44;;;20259:15;20231:44;;;;;;:::i;:::-;;;;;;;;19698:585;;;;;;;;:::o;21617:561::-;21667:7;21676;21696:15;21714:7;;21696:25;;21732:15;11484:16;21732:25;;21779:9;21774:289;21798:9;:16;;;;21794:1;:20;21774:289;;;21864:7;21840;:21;21848:9;21858:1;21848:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21840:21;;;;;;;;;;;;;;;;:31;:66;;;;21899:7;21875;:21;21883:9;21893:1;21883:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21875:21;;;;;;;;;;;;;;;;:31;21840:66;21836:97;;;21916:7;;11484:16;21908:25;;;;;;;;;21836:97;21958:34;21970:7;:21;21978:9;21988:1;21978:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21970:21;;;;;;;;;;;;;;;;21958:7;:11;;:34;;;;:::i;:::-;21948:44;;22017:34;22029:7;:21;22037:9;22047:1;22037:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22029:21;;;;;;;;;;;;;;;;22017:7;:11;;:34;;;;:::i;:::-;22007:44;;21816:3;;;;;:::i;:::-;;;;21774:289;;;;22087:20;11484:16;22087:7;;:11;;:20;;;;:::i;:::-;22077:7;:30;22073:61;;;22117:7;;11484:16;22109:25;;;;;;;;22073:61;22153:7;22162;22145:25;;;;;;21617:561;;;:::o;6451:246::-;6509:7;6538:1;6533;:6;6529:47;;;6563:1;6556:8;;;;6529:47;6586:9;6602:1;6598;:5;;;;:::i;:::-;6586:17;;6631:1;6626;6622;:5;;;;:::i;:::-;:10;6614:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;6688:1;6681:8;;;6451:246;;;;;:::o;20291:147::-;20369:17;20381:4;20369:7;;:11;;:17;;;;:::i;:::-;20359:7;:27;;;;20410:20;20425:4;20410:10;;:14;;:20;;;;:::i;:::-;20397:10;:33;;;;20291:147;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:133::-;195:5;233:6;220:20;211:29;;249:30;273:5;249:30;:::i;:::-;201:84;;;;:::o;291:139::-;337:5;375:6;362:20;353:29;;391:33;418:5;391:33;:::i;:::-;343:87;;;;:::o;436:262::-;495:6;544:2;532:9;523:7;519:23;515:32;512:2;;;560:1;557;550:12;512:2;603:1;628:53;673:7;664:6;653:9;649:22;628:53;:::i;:::-;618:63;;574:117;502:196;;;;:::o;704:407::-;772:6;780;829:2;817:9;808:7;804:23;800:32;797:2;;;845:1;842;835:12;797:2;888:1;913:53;958:7;949:6;938:9;934:22;913:53;:::i;:::-;903:63;;859:117;1015:2;1041:53;1086:7;1077:6;1066:9;1062:22;1041:53;:::i;:::-;1031:63;;986:118;787:324;;;;;:::o;1117:552::-;1194:6;1202;1210;1259:2;1247:9;1238:7;1234:23;1230:32;1227:2;;;1275:1;1272;1265:12;1227:2;1318:1;1343:53;1388:7;1379:6;1368:9;1364:22;1343:53;:::i;:::-;1333:63;;1289:117;1445:2;1471:53;1516:7;1507:6;1496:9;1492:22;1471:53;:::i;:::-;1461:63;;1416:118;1573:2;1599:53;1644:7;1635:6;1624:9;1620:22;1599:53;:::i;:::-;1589:63;;1544:118;1217:452;;;;;:::o;1675:407::-;1743:6;1751;1800:2;1788:9;1779:7;1775:23;1771:32;1768:2;;;1816:1;1813;1806:12;1768:2;1859:1;1884:53;1929:7;1920:6;1909:9;1905:22;1884:53;:::i;:::-;1874:63;;1830:117;1986:2;2012:53;2057:7;2048:6;2037:9;2033:22;2012:53;:::i;:::-;2002:63;;1957:118;1758:324;;;;;:::o;2088:262::-;2147:6;2196:2;2184:9;2175:7;2171:23;2167:32;2164:2;;;2212:1;2209;2202:12;2164:2;2255:1;2280:53;2325:7;2316:6;2305:9;2301:22;2280:53;:::i;:::-;2270:63;;2226:117;2154:196;;;;:::o;2356:401::-;2421:6;2429;2478:2;2466:9;2457:7;2453:23;2449:32;2446:2;;;2494:1;2491;2484:12;2446:2;2537:1;2562:53;2607:7;2598:6;2587:9;2583:22;2562:53;:::i;:::-;2552:63;;2508:117;2664:2;2690:50;2732:7;2723:6;2712:9;2708:22;2690:50;:::i;:::-;2680:60;;2635:115;2436:321;;;;;:::o;2763:118::-;2850:24;2868:5;2850:24;:::i;:::-;2845:3;2838:37;2828:53;;:::o;2887:109::-;2968:21;2983:5;2968:21;:::i;:::-;2963:3;2956:34;2946:50;;:::o;3002:364::-;3090:3;3118:39;3151:5;3118:39;:::i;:::-;3173:71;3237:6;3232:3;3173:71;:::i;:::-;3166:78;;3253:52;3298:6;3293:3;3286:4;3279:5;3275:16;3253:52;:::i;:::-;3330:29;3352:6;3330:29;:::i;:::-;3325:3;3321:39;3314:46;;3094:272;;;;;:::o;3372:366::-;3514:3;3535:67;3599:2;3594:3;3535:67;:::i;:::-;3528:74;;3611:93;3700:3;3611:93;:::i;:::-;3729:2;3724:3;3720:12;3713:19;;3518:220;;;:::o;3744:366::-;3886:3;3907:67;3971:2;3966:3;3907:67;:::i;:::-;3900:74;;3983:93;4072:3;3983:93;:::i;:::-;4101:2;4096:3;4092:12;4085:19;;3890:220;;;:::o;4116:366::-;4258:3;4279:67;4343:2;4338:3;4279:67;:::i;:::-;4272:74;;4355:93;4444:3;4355:93;:::i;:::-;4473:2;4468:3;4464:12;4457:19;;4262:220;;;:::o;4488:366::-;4630:3;4651:67;4715:2;4710:3;4651:67;:::i;:::-;4644:74;;4727:93;4816:3;4727:93;:::i;:::-;4845:2;4840:3;4836:12;4829:19;;4634:220;;;:::o;4860:366::-;5002:3;5023:67;5087:2;5082:3;5023:67;:::i;:::-;5016:74;;5099:93;5188:3;5099:93;:::i;:::-;5217:2;5212:3;5208:12;5201:19;;5006:220;;;:::o;5232:366::-;5374:3;5395:67;5459:2;5454:3;5395:67;:::i;:::-;5388:74;;5471:93;5560:3;5471:93;:::i;:::-;5589:2;5584:3;5580:12;5573:19;;5378:220;;;:::o;5604:366::-;5746:3;5767:67;5831:2;5826:3;5767:67;:::i;:::-;5760:74;;5843:93;5932:3;5843:93;:::i;:::-;5961:2;5956:3;5952:12;5945:19;;5750:220;;;:::o;5976:366::-;6118:3;6139:67;6203:2;6198:3;6139:67;:::i;:::-;6132:74;;6215:93;6304:3;6215:93;:::i;:::-;6333:2;6328:3;6324:12;6317:19;;6122:220;;;:::o;6348:366::-;6490:3;6511:67;6575:2;6570:3;6511:67;:::i;:::-;6504:74;;6587:93;6676:3;6587:93;:::i;:::-;6705:2;6700:3;6696:12;6689:19;;6494:220;;;:::o;6720:366::-;6862:3;6883:67;6947:2;6942:3;6883:67;:::i;:::-;6876:74;;6959:93;7048:3;6959:93;:::i;:::-;7077:2;7072:3;7068:12;7061:19;;6866:220;;;:::o;7092:366::-;7234:3;7255:67;7319:2;7314:3;7255:67;:::i;:::-;7248:74;;7331:93;7420:3;7331:93;:::i;:::-;7449:2;7444:3;7440:12;7433:19;;7238:220;;;:::o;7464:366::-;7606:3;7627:67;7691:2;7686:3;7627:67;:::i;:::-;7620:74;;7703:93;7792:3;7703:93;:::i;:::-;7821:2;7816:3;7812:12;7805:19;;7610:220;;;:::o;7836:366::-;7978:3;7999:67;8063:2;8058:3;7999:67;:::i;:::-;7992:74;;8075:93;8164:3;8075:93;:::i;:::-;8193:2;8188:3;8184:12;8177:19;;7982:220;;;:::o;8208:118::-;8295:24;8313:5;8295:24;:::i;:::-;8290:3;8283:37;8273:53;;:::o;8332:112::-;8415:22;8431:5;8415:22;:::i;:::-;8410:3;8403:35;8393:51;;:::o;8450:222::-;8543:4;8581:2;8570:9;8566:18;8558:26;;8594:71;8662:1;8651:9;8647:17;8638:6;8594:71;:::i;:::-;8548:124;;;;:::o;8678:210::-;8765:4;8803:2;8792:9;8788:18;8780:26;;8816:65;8878:1;8867:9;8863:17;8854:6;8816:65;:::i;:::-;8770:118;;;;:::o;8894:313::-;9007:4;9045:2;9034:9;9030:18;9022:26;;9094:9;9088:4;9084:20;9080:1;9069:9;9065:17;9058:47;9122:78;9195:4;9186:6;9122:78;:::i;:::-;9114:86;;9012:195;;;;:::o;9213:419::-;9379:4;9417:2;9406:9;9402:18;9394:26;;9466:9;9460:4;9456:20;9452:1;9441:9;9437:17;9430:47;9494:131;9620:4;9494:131;:::i;:::-;9486:139;;9384:248;;;:::o;9638:419::-;9804:4;9842:2;9831:9;9827:18;9819:26;;9891:9;9885:4;9881:20;9877:1;9866:9;9862:17;9855:47;9919:131;10045:4;9919:131;:::i;:::-;9911:139;;9809:248;;;:::o;10063:419::-;10229:4;10267:2;10256:9;10252:18;10244:26;;10316:9;10310:4;10306:20;10302:1;10291:9;10287:17;10280:47;10344:131;10470:4;10344:131;:::i;:::-;10336:139;;10234:248;;;:::o;10488:419::-;10654:4;10692:2;10681:9;10677:18;10669:26;;10741:9;10735:4;10731:20;10727:1;10716:9;10712:17;10705:47;10769:131;10895:4;10769:131;:::i;:::-;10761:139;;10659:248;;;:::o;10913:419::-;11079:4;11117:2;11106:9;11102:18;11094:26;;11166:9;11160:4;11156:20;11152:1;11141:9;11137:17;11130:47;11194:131;11320:4;11194:131;:::i;:::-;11186:139;;11084:248;;;:::o;11338:419::-;11504:4;11542:2;11531:9;11527:18;11519:26;;11591:9;11585:4;11581:20;11577:1;11566:9;11562:17;11555:47;11619:131;11745:4;11619:131;:::i;:::-;11611:139;;11509:248;;;:::o;11763:419::-;11929:4;11967:2;11956:9;11952:18;11944:26;;12016:9;12010:4;12006:20;12002:1;11991:9;11987:17;11980:47;12044:131;12170:4;12044:131;:::i;:::-;12036:139;;11934:248;;;:::o;12188:419::-;12354:4;12392:2;12381:9;12377:18;12369:26;;12441:9;12435:4;12431:20;12427:1;12416:9;12412:17;12405:47;12469:131;12595:4;12469:131;:::i;:::-;12461:139;;12359:248;;;:::o;12613:419::-;12779:4;12817:2;12806:9;12802:18;12794:26;;12866:9;12860:4;12856:20;12852:1;12841:9;12837:17;12830:47;12894:131;13020:4;12894:131;:::i;:::-;12886:139;;12784:248;;;:::o;13038:419::-;13204:4;13242:2;13231:9;13227:18;13219:26;;13291:9;13285:4;13281:20;13277:1;13266:9;13262:17;13255:47;13319:131;13445:4;13319:131;:::i;:::-;13311:139;;13209:248;;;:::o;13463:419::-;13629:4;13667:2;13656:9;13652:18;13644:26;;13716:9;13710:4;13706:20;13702:1;13691:9;13687:17;13680:47;13744:131;13870:4;13744:131;:::i;:::-;13736:139;;13634:248;;;:::o;13888:419::-;14054:4;14092:2;14081:9;14077:18;14069:26;;14141:9;14135:4;14131:20;14127:1;14116:9;14112:17;14105:47;14169:131;14295:4;14169:131;:::i;:::-;14161:139;;14059:248;;;:::o;14313:419::-;14479:4;14517:2;14506:9;14502:18;14494:26;;14566:9;14560:4;14556:20;14552:1;14541:9;14537:17;14530:47;14594:131;14720:4;14594:131;:::i;:::-;14586:139;;14484:248;;;:::o;14738:222::-;14831:4;14869:2;14858:9;14854:18;14846:26;;14882:71;14950:1;14939:9;14935:17;14926:6;14882:71;:::i;:::-;14836:124;;;;:::o;14966:214::-;15055:4;15093:2;15082:9;15078:18;15070:26;;15106:67;15170:1;15159:9;15155:17;15146:6;15106:67;:::i;:::-;15060:120;;;;:::o;15186:99::-;15238:6;15272:5;15266:12;15256:22;;15245:40;;;:::o;15291:169::-;15375:11;15409:6;15404:3;15397:19;15449:4;15444:3;15440:14;15425:29;;15387:73;;;;:::o;15466:305::-;15506:3;15525:20;15543:1;15525:20;:::i;:::-;15520:25;;15559:20;15577:1;15559:20;:::i;:::-;15554:25;;15713:1;15645:66;15641:74;15638:1;15635:81;15632:2;;;15719:18;;:::i;:::-;15632:2;15763:1;15760;15756:9;15749:16;;15510:261;;;;:::o;15777:185::-;15817:1;15834:20;15852:1;15834:20;:::i;:::-;15829:25;;15868:20;15886:1;15868:20;:::i;:::-;15863:25;;15907:1;15897:2;;15912:18;;:::i;:::-;15897:2;15954:1;15951;15947:9;15942:14;;15819:143;;;;:::o;15968:348::-;16008:7;16031:20;16049:1;16031:20;:::i;:::-;16026:25;;16065:20;16083:1;16065:20;:::i;:::-;16060:25;;16253:1;16185:66;16181:74;16178:1;16175:81;16170:1;16163:9;16156:17;16152:105;16149:2;;;16260:18;;:::i;:::-;16149:2;16308:1;16305;16301:9;16290:20;;16016:300;;;;:::o;16322:191::-;16362:4;16382:20;16400:1;16382:20;:::i;:::-;16377:25;;16416:20;16434:1;16416:20;:::i;:::-;16411:25;;16455:1;16452;16449:8;16446:2;;;16460:18;;:::i;:::-;16446:2;16505:1;16502;16498:9;16490:17;;16367:146;;;;:::o;16519:96::-;16556:7;16585:24;16603:5;16585:24;:::i;:::-;16574:35;;16564:51;;;:::o;16621:90::-;16655:7;16698:5;16691:13;16684:21;16673:32;;16663:48;;;:::o;16717:126::-;16754:7;16794:42;16787:5;16783:54;16772:65;;16762:81;;;:::o;16849:77::-;16886:7;16915:5;16904:16;;16894:32;;;:::o;16932:86::-;16967:7;17007:4;17000:5;16996:16;16985:27;;16975:43;;;:::o;17024:307::-;17092:1;17102:113;17116:6;17113:1;17110:13;17102:113;;;17201:1;17196:3;17192:11;17186:18;17182:1;17177:3;17173:11;17166:39;17138:2;17135:1;17131:10;17126:15;;17102:113;;;17233:6;17230:1;17227:13;17224:2;;;17313:1;17304:6;17299:3;17295:16;17288:27;17224:2;17073:258;;;;:::o;17337:320::-;17381:6;17418:1;17412:4;17408:12;17398:22;;17465:1;17459:4;17455:12;17486:18;17476:2;;17542:4;17534:6;17530:17;17520:27;;17476:2;17604;17596:6;17593:14;17573:18;17570:38;17567:2;;;17623:18;;:::i;:::-;17567:2;17388:269;;;;:::o;17663:233::-;17702:3;17725:24;17743:5;17725:24;:::i;:::-;17716:33;;17771:66;17764:5;17761:77;17758:2;;;17841:18;;:::i;:::-;17758:2;17888:1;17881:5;17877:13;17870:20;;17706:190;;;:::o;17902:180::-;17950:77;17947:1;17940:88;18047:4;18044:1;18037:15;18071:4;18068:1;18061:15;18088:180;18136:77;18133:1;18126:88;18233:4;18230:1;18223:15;18257:4;18254:1;18247:15;18274:180;18322:77;18319:1;18312:88;18419:4;18416:1;18409:15;18443:4;18440:1;18433:15;18460:102;18501:6;18552:2;18548:7;18543:2;18536:5;18532:14;18528:28;18518:38;;18508:54;;;:::o;18568:222::-;18708:34;18704:1;18696:6;18692:14;18685:58;18777:5;18772:2;18764:6;18760:15;18753:30;18674:116;:::o;18796:229::-;18936:34;18932:1;18924:6;18920:14;18913:58;19005:12;19000:2;18992:6;18988:15;18981:37;18902:123;:::o;19031:225::-;19171:34;19167:1;19159:6;19155:14;19148:58;19240:8;19235:2;19227:6;19223:15;19216:33;19137:119;:::o;19262:221::-;19402:34;19398:1;19390:6;19386:14;19379:58;19471:4;19466:2;19458:6;19454:15;19447:29;19368:115;:::o;19489:177::-;19629:29;19625:1;19617:6;19613:14;19606:53;19595:71;:::o;19672:177::-;19812:29;19808:1;19800:6;19796:14;19789:53;19778:71;:::o;19855:181::-;19995:33;19991:1;19983:6;19979:14;19972:57;19961:75;:::o;20042:220::-;20182:34;20178:1;20170:6;20166:14;20159:58;20251:3;20246:2;20238:6;20234:15;20227:28;20148:114;:::o;20268:182::-;20408:34;20404:1;20396:6;20392:14;20385:58;20374:76;:::o;20456:228::-;20596:34;20592:1;20584:6;20580:14;20573:58;20665:11;20660:2;20652:6;20648:15;20641:36;20562:122;:::o;20690:224::-;20830:34;20826:1;20818:6;20814:14;20807:58;20899:7;20894:2;20886:6;20882:15;20875:32;20796:118;:::o;20920:223::-;21060:34;21056:1;21048:6;21044:14;21037:58;21129:6;21124:2;21116:6;21112:15;21105:31;21026:117;:::o;21149:231::-;21289:34;21285:1;21277:6;21273:14;21266:58;21358:14;21353:2;21345:6;21341:15;21334:39;21255:125;:::o;21386:122::-;21459:24;21477:5;21459:24;:::i;:::-;21452:5;21449:35;21439:2;;21498:1;21495;21488:12;21439:2;21429:79;:::o;21514:116::-;21584:21;21599:5;21584:21;:::i;:::-;21577:5;21574:32;21564:2;;21620:1;21617;21610:12;21564:2;21554:76;:::o;21636:122::-;21709:24;21727:5;21709:24;:::i;:::-;21702:5;21699:35;21689:2;;21748:1;21745;21738:12;21689:2;21679:79;:::o

Swarm Source

ipfs://85c35bac785937da6aeb4b7652d62116b5a748d4f9676979862858bd42123cb5
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.