ETH Price: $2,862.18 (-9.99%)
Gas: 14 Gwei

Token

Lets Go Brandon Coin (LGBC)
 

Overview

Max Total Supply

100,000,000 LGBC

Holders

99

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
180,000 LGBC

Value
$0.00
0x1530f78547ea57eacb0bef1cdaddd833ae575af1
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:
Lets_Go_Brandon

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-10-23
*/

//SPDX-License-Identifier: MIT


pragma solidity ^0.8.4;

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) {
		// Solidity only automatically asserts when dividing by 0
		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;
	}
}

interface IERC20 {
	function totalSupply() external view returns (uint256);
	function decimals() external view returns (uint8);
	function symbol() external view returns (string memory);
	function name() external view returns (string memory);
	function getOwner() external view returns (address);
	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);
}

abstract contract Auth {
	address internal owner;

	constructor(address _owner) {
		owner = _owner;
	}

	modifier onlyOwner() {
		require(isOwner(msg.sender), "Only contract owner can call this function"); _;
	}

	function isOwner(address account) public view returns (bool) {
		return account == owner;
	}

	function transferOwnership(address payable newOwner) external onlyOwner {
		owner = newOwner;
		emit OwnershipTransferred(newOwner);
	}
	
	function renounceOwnership() external onlyOwner {
		owner = address(0);
		emit OwnershipTransferred(address(0));
	}

	event OwnershipTransferred(address owner);
}

contract Lets_Go_Brandon is IERC20, Auth {
	using SafeMath for uint256;
	string constant _name = "Lets Go Brandon Coin";
	string constant _symbol = "LGBC";
	uint8 constant _decimals = 9;
	uint256 constant _totalSupply = 100000000 * (10 ** _decimals);

	mapping (address => uint256) _balances;
	mapping (address => mapping (address => uint256)) _allowances;

    bool public tradingOpen;
    uint256 public maxTxAmount;
    uint256 public maxWalletAmount;
    address internal uniswapLiquidityPool = address(0);
	bool internal uniswapLPAddressLocked = false;


    
    

	constructor () Auth(msg.sender) {      
		_balances[owner] = _totalSupply;
		tradingOpen = false;
		maxTxAmount = _totalSupply;
		maxWalletAmount = _totalSupply;
	
		emit Transfer(address(0), owner, _totalSupply);
	}

	function totalSupply() external pure override returns (uint256) { return _totalSupply; }
	function decimals() external pure override returns (uint8) { return _decimals; }
	function symbol() external pure override returns (string memory) { return _symbol; }
	function name() external pure override returns (string memory) { return _name; }
	function getOwner() external view override returns (address) { return owner; }
	function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
	function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
	

	function setLPAddress(address _uniswapLiqPoolAddr) external onlyOwner {
	    require(uniswapLPAddressLocked == false, "The LP address can no longer be changed");
        uniswapLiquidityPool = _uniswapLiqPoolAddr;
	}

	function lockLPAddress() external onlyOwner {
	    require(uniswapLPAddressLocked == false, "The LP address is already locked");
	    require(uniswapLiquidityPool != address(0), "Cannot lock LP address until it has been set");
	    uniswapLPAddressLocked = true;
	}

	function approve(address spender, uint256 amount) public override returns (bool) {
		_allowances[msg.sender][spender] = amount;
		emit Approval(msg.sender, spender, amount);
		return true;
	}

	function approveMax(address spender) external returns (bool) {
		return approve(spender, type(uint256).max );
	}
	
    function checkTradingOpen() private view returns (bool){
        bool checkResult = false;
        if (tradingOpen == true) { checkResult = true; } else {
            if (tx.origin == owner) {
                checkResult = true;
            } 
        }
        return checkResult;
    }

	function transfer(address recipient, uint256 amount) external override returns (bool) {
	    require(checkTradingOpen(), "Trading is not open yet");
	    
		return _transferFrom(msg.sender, recipient, amount);
	}

    function setInitialLimits() internal {
		maxTxAmount = _totalSupply / 100 * 2;
		maxWalletAmount = _totalSupply / 100 * 2;
    }
    
    function increaseLimits(uint16 maxTxAmtPct, uint16 maxWalletAmtPct) external onlyOwner {
        uint256 newTxAmt = _totalSupply / 100 * maxTxAmtPct;
        require(newTxAmt >= maxTxAmount, "New TX limit is lower than current limit");
        maxTxAmount = newTxAmt;
        
        uint256 newWalletAmt = _totalSupply / 100 * maxWalletAmtPct;
        require(newWalletAmt >= maxWalletAmount, "New wallet limit is lower than current limit");
        maxWalletAmount = newWalletAmt;
    }
    
    function removeAllLimitsLimits() external onlyOwner {
        maxTxAmount = _totalSupply;
		maxWalletAmount = _totalSupply;
    }

    function openTrading() external onlyOwner{
        _openTrading();
	}
	
    function _openTrading() internal {
        require(tradingOpen == false, "Trading already open");
        setInitialLimits();
        tradingOpen = true;
    }
    
  

	function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        require(checkTradingOpen(), "Trading is not open yet");

		if(_allowances[sender][msg.sender] != type(uint256).max){
			_allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
		}

		return _transferFrom(sender, recipient, amount);
	}
	
	function checkLimits(address recipient, uint256 transferAmount) internal view returns (bool) {
        bool limitCheckPassed = true;
        if ( tradingOpen == true ) {
            if ( transferAmount > maxTxAmount ) {
                limitCheckPassed = false;
            } else if ( recipient != uniswapLiquidityPool && (_balances[recipient].add(transferAmount) > maxWalletAmount) ) {
                limitCheckPassed = false;
            }
        }
        return limitCheckPassed;
    }

	function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
	    require(checkLimits(recipient, amount), "Transaction exceeds current TX/wallet limits");
		_balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
		_balances[recipient] = _balances[recipient].add(amount);
		emit Transfer(sender, recipient, amount);
		return true;
	}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"maxTxAmtPct","type":"uint16"},{"internalType":"uint16","name":"maxWalletAmtPct","type":"uint16"}],"name":"increaseLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lockLPAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeAllLimitsLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_uniswapLiqPoolAddr","type":"address"}],"name":"setLPAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6080604052600680546001600160a81b03191690553480156200002157600080fd5b50600080546001600160a01b03191633179055620000426009600a62000164565b62000052906305f5e10062000232565b600080546001600160a01b03168152600160205260409020556003805460ff19169055620000836009600a62000164565b62000093906305f5e10062000232565b600455620000a46009600a62000164565b620000b4906305f5e10062000232565b600555600080546001600160a01b0316907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620000f46009600a62000164565b62000104906305f5e10062000232565b60405190815260200160405180910390a36200026a565b600181815b808511156200015c57816000190482111562000140576200014062000254565b808516156200014e57918102915b93841c939080029062000120565b509250929050565b60006200017560ff8416836200017c565b9392505050565b6000826200018d575060016200022c565b816200019c575060006200022c565b8160018114620001b55760028114620001c057620001e0565b60019150506200022c565b60ff841115620001d457620001d462000254565b50506001821b6200022c565b5060208310610133831016604e8410600b841016171562000205575081810a6200022c565b6200021183836200011b565b806000190482111562000228576200022862000254565b0290505b92915050565b60008160001904831182151516156200024f576200024f62000254565b500290565b634e487b7160e01b600052601160045260246000fd5b6110d3806200027a6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806388e77621116100b8578063aa4bde281161007c578063aa4bde28146102c6578063b1421803146102cf578063c9567bf9146102e2578063dd62ed3e146102ea578063f2fde38b14610323578063ffb54a991461033657600080fd5b806388e7762114610267578063893d20e81461026f5780638c0b5e221461028a57806395d89b4114610293578063a9059cbb146102b357600080fd5b80632f54bf6e1161010a5780632f54bf6e146101df578063313ce56714610201578063571ac8b01461021057806370a0823114610223578063715018a61461024c5780637a351a1d1461025457600080fd5b806304cb876d1461014757806306fdde0314610151578063095ea7b31461019357806318160ddd146101b657806323b872dd146101cc575b600080fd5b61014f610343565b005b6040805180820190915260148152732632ba399023b790213930b73237b71021b7b4b760611b60208201525b60405161018a9190610e76565b60405180910390f35b6101a66101a1366004610e19565b610452565b604051901515815260200161018a565b6101be6104bf565b60405190815260200161018a565b6101a66101da366004610dd9565b6104e0565b6101a66101ed366004610d85565b6000546001600160a01b0391821691161490565b6040516009815260200161018a565b6101a661021e366004610d85565b6105f0565b6101be610231366004610d85565b6001600160a01b031660009081526001602052604090205490565b61014f6105fe565b61014f610262366004610d85565b61066d565b61014f610723565b6000546040516001600160a01b03909116815260200161018a565b6101be60045481565b6040805180820190915260048152634c47424360e01b602082015261017d565b6101a66102c1366004610e19565b610789565b6101be60055481565b61014f6102dd366004610e44565b6107eb565b61014f61095e565b6101be6102f8366004610da1565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b61014f610331366004610d85565b610992565b6003546101a69060ff1681565b6000546001600160a01b031633146103765760405162461bcd60e51b815260040161036d90610ec9565b60405180910390fd5b600654600160a01b900460ff16156103d05760405162461bcd60e51b815260206004820181905260248201527f546865204c50206164647265737320697320616c7265616479206c6f636b6564604482015260640161036d565b6006546001600160a01b031661043d5760405162461bcd60e51b815260206004820152602c60248201527f43616e6e6f74206c6f636b204c50206164647265737320756e74696c2069742060448201526b1a185cc81899595b881cd95d60a21b606482015260840161036d565b6006805460ff60a01b1916600160a01b179055565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104ad9086815260200190565b60405180910390a35060015b92915050565b60006104cd6009600a610f8e565b6104db906305f5e100611039565b905090565b60006104ea610a10565b6105305760405162461bcd60e51b8152602060048201526017602482015276151c98591a5b99c81a5cc81b9bdd081bdc195b881e595d604a1b604482015260640161036d565b6001600160a01b0384166000908152600260209081526040808320338452909152902054600019146105dd576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526002825283812033825290915291909120546105b8918490610a49565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b6105e8848484610a83565b949350505050565b60006104b982600019610452565b6000546001600160a01b031633146106285760405162461bcd60e51b815260040161036d90610ec9565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b031633146106975760405162461bcd60e51b815260040161036d90610ec9565b600654600160a01b900460ff16156107015760405162461bcd60e51b815260206004820152602760248201527f546865204c5020616464726573732063616e206e6f206c6f6e6765722062652060448201526618da185b99d95960ca1b606482015260840161036d565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461074d5760405162461bcd60e51b815260040161036d90610ec9565b6107596009600a610f8e565b610767906305f5e100611039565b6004556107766009600a610f8e565b610784906305f5e100611039565b600555565b6000610793610a10565b6107d95760405162461bcd60e51b8152602060048201526017602482015276151c98591a5b99c81a5cc81b9bdd081bdc195b881e595d604a1b604482015260640161036d565b6107e4338484610a83565b9392505050565b6000546001600160a01b031633146108155760405162461bcd60e51b815260040161036d90610ec9565b600061ffff8316606461082a6009600a610f8e565b610838906305f5e100611039565b6108429190610f2b565b61084c9190611039565b90506004548110156108b15760405162461bcd60e51b815260206004820152602860248201527f4e6577205458206c696d6974206973206c6f776572207468616e2063757272656044820152671b9d081b1a5b5a5d60c21b606482015260840161036d565b6004819055600061ffff831660646108cb6009600a610f8e565b6108d9906305f5e100611039565b6108e39190610f2b565b6108ed9190611039565b90506005548110156109565760405162461bcd60e51b815260206004820152602c60248201527f4e65772077616c6c6574206c696d6974206973206c6f776572207468616e206360448201526b1d5c9c995b9d081b1a5b5a5d60a21b606482015260840161036d565b600555505050565b6000546001600160a01b031633146109885760405162461bcd60e51b815260040161036d90610ec9565b610990610bd7565b565b6000546001600160a01b031633146109bc5760405162461bcd60e51b815260040161036d90610ec9565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b600354600090819060ff16151560011415610a2d57506001919050565b6000546001600160a01b0316321415610a44575060015b919050565b60008184841115610a6d5760405162461bcd60e51b815260040161036d9190610e76565b506000610a7a8486611058565b95945050505050565b6000610a8f8383610c38565b610af05760405162461bcd60e51b815260206004820152602c60248201527f5472616e73616374696f6e20657863656564732063757272656e742054582f7760448201526b616c6c6574206c696d69747360a01b606482015260840161036d565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260019091529190912054610b42918490610a49565b6001600160a01b038086166000908152600160205260408082209390935590851681522054610b719083610caf565b6001600160a01b0380851660008181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bc59086815260200190565b60405180910390a35060019392505050565b60035460ff1615610c215760405162461bcd60e51b81526020600482015260146024820152732a3930b234b7339030b63932b0b23c9037b832b760611b604482015260640161036d565b610c29610d0e565b6003805460ff19166001179055565b60035460009060019060ff1615158114156107e457600454831115610c5f575060006107e4565b6006546001600160a01b03858116911614801590610ca057506005546001600160a01b038516600090815260016020526040902054610c9e9085610caf565b115b156107e4575060009392505050565b600080610cbc8385610f13565b9050838110156107e45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161036d565b6064610d1c6009600a610f8e565b610d2a906305f5e100611039565b610d349190610f2b565b610d3f906002611039565b6004556064610d506009600a610f8e565b610d5e906305f5e100611039565b610d689190610f2b565b610784906002611039565b803561ffff81168114610a4457600080fd5b600060208284031215610d96578081fd5b81356107e481611085565b60008060408385031215610db3578081fd5b8235610dbe81611085565b91506020830135610dce81611085565b809150509250929050565b600080600060608486031215610ded578081fd5b8335610df881611085565b92506020840135610e0881611085565b929592945050506040919091013590565b60008060408385031215610e2b578182fd5b8235610e3681611085565b946020939093013593505050565b60008060408385031215610e56578182fd5b610e5f83610d73565b9150610e6d60208401610d73565b90509250929050565b6000602080835283518082850152825b81811015610ea257858101830151858201604001528201610e86565b81811115610eb35783604083870101525b50601f01601f1916929092016040019392505050565b6020808252602a908201527f4f6e6c7920636f6e7472616374206f776e65722063616e2063616c6c207468696040820152693990333ab731ba34b7b760b11b606082015260800190565b60008219821115610f2657610f2661106f565b500190565b600082610f4657634e487b7160e01b81526012600452602481fd5b500490565b600181815b80851115610f86578160001904821115610f6c57610f6c61106f565b80851615610f7957918102915b93841c9390800290610f50565b509250929050565b60006107e460ff841683600082610fa7575060016104b9565b81610fb4575060006104b9565b8160018114610fca5760028114610fd457610ff0565b60019150506104b9565b60ff841115610fe557610fe561106f565b50506001821b6104b9565b5060208310610133831016604e8410600b8410161715611013575081810a6104b9565b61101d8383610f4b565b80600019048211156110315761103161106f565b029392505050565b60008160001904831182151516156110535761105361106f565b500290565b60008282101561106a5761106a61106f565b500390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461109a57600080fd5b5056fea2646970667358221220d8042f90390b05b50f3000b87d6b9cf08a7a96ce0bcf6f15d94fa9826af38ec864736f6c63430008040033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c806388e77621116100b8578063aa4bde281161007c578063aa4bde28146102c6578063b1421803146102cf578063c9567bf9146102e2578063dd62ed3e146102ea578063f2fde38b14610323578063ffb54a991461033657600080fd5b806388e7762114610267578063893d20e81461026f5780638c0b5e221461028a57806395d89b4114610293578063a9059cbb146102b357600080fd5b80632f54bf6e1161010a5780632f54bf6e146101df578063313ce56714610201578063571ac8b01461021057806370a0823114610223578063715018a61461024c5780637a351a1d1461025457600080fd5b806304cb876d1461014757806306fdde0314610151578063095ea7b31461019357806318160ddd146101b657806323b872dd146101cc575b600080fd5b61014f610343565b005b6040805180820190915260148152732632ba399023b790213930b73237b71021b7b4b760611b60208201525b60405161018a9190610e76565b60405180910390f35b6101a66101a1366004610e19565b610452565b604051901515815260200161018a565b6101be6104bf565b60405190815260200161018a565b6101a66101da366004610dd9565b6104e0565b6101a66101ed366004610d85565b6000546001600160a01b0391821691161490565b6040516009815260200161018a565b6101a661021e366004610d85565b6105f0565b6101be610231366004610d85565b6001600160a01b031660009081526001602052604090205490565b61014f6105fe565b61014f610262366004610d85565b61066d565b61014f610723565b6000546040516001600160a01b03909116815260200161018a565b6101be60045481565b6040805180820190915260048152634c47424360e01b602082015261017d565b6101a66102c1366004610e19565b610789565b6101be60055481565b61014f6102dd366004610e44565b6107eb565b61014f61095e565b6101be6102f8366004610da1565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b61014f610331366004610d85565b610992565b6003546101a69060ff1681565b6000546001600160a01b031633146103765760405162461bcd60e51b815260040161036d90610ec9565b60405180910390fd5b600654600160a01b900460ff16156103d05760405162461bcd60e51b815260206004820181905260248201527f546865204c50206164647265737320697320616c7265616479206c6f636b6564604482015260640161036d565b6006546001600160a01b031661043d5760405162461bcd60e51b815260206004820152602c60248201527f43616e6e6f74206c6f636b204c50206164647265737320756e74696c2069742060448201526b1a185cc81899595b881cd95d60a21b606482015260840161036d565b6006805460ff60a01b1916600160a01b179055565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104ad9086815260200190565b60405180910390a35060015b92915050565b60006104cd6009600a610f8e565b6104db906305f5e100611039565b905090565b60006104ea610a10565b6105305760405162461bcd60e51b8152602060048201526017602482015276151c98591a5b99c81a5cc81b9bdd081bdc195b881e595d604a1b604482015260640161036d565b6001600160a01b0384166000908152600260209081526040808320338452909152902054600019146105dd576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526002825283812033825290915291909120546105b8918490610a49565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b6105e8848484610a83565b949350505050565b60006104b982600019610452565b6000546001600160a01b031633146106285760405162461bcd60e51b815260040161036d90610ec9565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b031633146106975760405162461bcd60e51b815260040161036d90610ec9565b600654600160a01b900460ff16156107015760405162461bcd60e51b815260206004820152602760248201527f546865204c5020616464726573732063616e206e6f206c6f6e6765722062652060448201526618da185b99d95960ca1b606482015260840161036d565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461074d5760405162461bcd60e51b815260040161036d90610ec9565b6107596009600a610f8e565b610767906305f5e100611039565b6004556107766009600a610f8e565b610784906305f5e100611039565b600555565b6000610793610a10565b6107d95760405162461bcd60e51b8152602060048201526017602482015276151c98591a5b99c81a5cc81b9bdd081bdc195b881e595d604a1b604482015260640161036d565b6107e4338484610a83565b9392505050565b6000546001600160a01b031633146108155760405162461bcd60e51b815260040161036d90610ec9565b600061ffff8316606461082a6009600a610f8e565b610838906305f5e100611039565b6108429190610f2b565b61084c9190611039565b90506004548110156108b15760405162461bcd60e51b815260206004820152602860248201527f4e6577205458206c696d6974206973206c6f776572207468616e2063757272656044820152671b9d081b1a5b5a5d60c21b606482015260840161036d565b6004819055600061ffff831660646108cb6009600a610f8e565b6108d9906305f5e100611039565b6108e39190610f2b565b6108ed9190611039565b90506005548110156109565760405162461bcd60e51b815260206004820152602c60248201527f4e65772077616c6c6574206c696d6974206973206c6f776572207468616e206360448201526b1d5c9c995b9d081b1a5b5a5d60a21b606482015260840161036d565b600555505050565b6000546001600160a01b031633146109885760405162461bcd60e51b815260040161036d90610ec9565b610990610bd7565b565b6000546001600160a01b031633146109bc5760405162461bcd60e51b815260040161036d90610ec9565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b600354600090819060ff16151560011415610a2d57506001919050565b6000546001600160a01b0316321415610a44575060015b919050565b60008184841115610a6d5760405162461bcd60e51b815260040161036d9190610e76565b506000610a7a8486611058565b95945050505050565b6000610a8f8383610c38565b610af05760405162461bcd60e51b815260206004820152602c60248201527f5472616e73616374696f6e20657863656564732063757272656e742054582f7760448201526b616c6c6574206c696d69747360a01b606482015260840161036d565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260019091529190912054610b42918490610a49565b6001600160a01b038086166000908152600160205260408082209390935590851681522054610b719083610caf565b6001600160a01b0380851660008181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bc59086815260200190565b60405180910390a35060019392505050565b60035460ff1615610c215760405162461bcd60e51b81526020600482015260146024820152732a3930b234b7339030b63932b0b23c9037b832b760611b604482015260640161036d565b610c29610d0e565b6003805460ff19166001179055565b60035460009060019060ff1615158114156107e457600454831115610c5f575060006107e4565b6006546001600160a01b03858116911614801590610ca057506005546001600160a01b038516600090815260016020526040902054610c9e9085610caf565b115b156107e4575060009392505050565b600080610cbc8385610f13565b9050838110156107e45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161036d565b6064610d1c6009600a610f8e565b610d2a906305f5e100611039565b610d349190610f2b565b610d3f906002611039565b6004556064610d506009600a610f8e565b610d5e906305f5e100611039565b610d689190610f2b565b610784906002611039565b803561ffff81168114610a4457600080fd5b600060208284031215610d96578081fd5b81356107e481611085565b60008060408385031215610db3578081fd5b8235610dbe81611085565b91506020830135610dce81611085565b809150509250929050565b600080600060608486031215610ded578081fd5b8335610df881611085565b92506020840135610e0881611085565b929592945050506040919091013590565b60008060408385031215610e2b578182fd5b8235610e3681611085565b946020939093013593505050565b60008060408385031215610e56578182fd5b610e5f83610d73565b9150610e6d60208401610d73565b90509250929050565b6000602080835283518082850152825b81811015610ea257858101830151858201604001528201610e86565b81811115610eb35783604083870101525b50601f01601f1916929092016040019392505050565b6020808252602a908201527f4f6e6c7920636f6e7472616374206f776e65722063616e2063616c6c207468696040820152693990333ab731ba34b7b760b11b606082015260800190565b60008219821115610f2657610f2661106f565b500190565b600082610f4657634e487b7160e01b81526012600452602481fd5b500490565b600181815b80851115610f86578160001904821115610f6c57610f6c61106f565b80851615610f7957918102915b93841c9390800290610f50565b509250929050565b60006107e460ff841683600082610fa7575060016104b9565b81610fb4575060006104b9565b8160018114610fca5760028114610fd457610ff0565b60019150506104b9565b60ff841115610fe557610fe561106f565b50506001821b6104b9565b5060208310610133831016604e8410600b8410161715611013575081810a6104b9565b61101d8383610f4b565b80600019048211156110315761103161106f565b029392505050565b60008160001904831182151516156110535761105361106f565b500290565b60008282101561106a5761106a61106f565b500390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461109a57600080fd5b5056fea2646970667358221220d8042f90390b05b50f3000b87d6b9cf08a7a96ce0bcf6f15d94fa9826af38ec864736f6c63430008040033

Deployed Bytecode Sourcemap

3005:5209:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4723:269;;;:::i;:::-;;4086:80;4158:5;;;;;;;;;;;;-1:-1:-1;;;4158:5:0;;;;4086:80;;;;;;;:::i;:::-;;;;;;;;4997:195;;;;;;:::i;:::-;;:::i;:::-;;;2774:14:1;;2767:22;2749:41;;2737:2;2722:18;4997:195:0;2704:92:1;3825:88:0;;;:::i;:::-;;;7440:25:1;;;7428:2;7413:18;3825:88:0;7395:76:1;6894:407:0;;;;;;:::i;:::-;;:::i;2590:94::-;;;;;;:::i;:::-;2645:4;2674:5;-1:-1:-1;;;;;2663:16:0;;;2674:5;;2663:16;;2590:94;3916:80;;;3193:1;7618:36:1;;7606:2;7591:18;3916:80:0;7573:87:1;5197:114:0;;;;;;:::i;:::-;;:::i;4250:105::-;;;;;;:::i;:::-;-1:-1:-1;;;;;4334:18:0;4316:7;4334:18;;;:9;:18;;;;;;;4250:105;2833:118;;;:::i;4499:219::-;;;;;;:::i;:::-;;:::i;6496:132::-;;;:::i;4169:78::-;4221:7;4239:5;4169:78;;-1:-1:-1;;;;;4239:5:0;;;2331:51:1;;2319:2;2304:18;4169:78:0;2286:102:1;3407:26:0;;;;;;3999:84;4073:7;;;;;;;;;;;;-1:-1:-1;;;4073:7:0;;;;3999:84;;5620:216;;;;;;:::i;:::-;;:::i;3440:30::-;;;;;;5987:497;;;;;;:::i;:::-;;:::i;6636:71::-;;;:::i;4358:133::-;;;;;;:::i;:::-;-1:-1:-1;;;;;4460:19:0;;;4442:7;4460:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;4358:133;2689:138;;;;;;:::i;:::-;;:::i;3377:23::-;;;;;;;;;4723:269;2645:4;2674:5;-1:-1:-1;;;;;2674:5:0;2519:10;2663:16;2503:74;;;;-1:-1:-1;;;2503:74:0;;;;;;;:::i;:::-;;;;;;;;;4783:22:::1;::::0;-1:-1:-1;;;4783:22:0;::::1;;;:31;4775:76;;;::::0;-1:-1:-1;;;4775:76:0;;6314:2:1;4775:76:0::1;::::0;::::1;6296:21:1::0;;;6333:18;;;6326:30;6392:34;6372:18;;;6365:62;6444:18;;4775:76:0::1;6286:182:1::0;4775:76:0::1;4867:20;::::0;-1:-1:-1;;;;;4867:20:0::1;4859:91;;;::::0;-1:-1:-1;;;4859:91:0;;6675:2:1;4859:91:0::1;::::0;::::1;6657:21:1::0;6714:2;6694:18;;;6687:30;6753:34;6733:18;;;6726:62;-1:-1:-1;;;6804:18:1;;;6797:42;6856:19;;4859:91:0::1;6647:234:1::0;4859:91:0::1;4958:22;:29:::0;;-1:-1:-1;;;;4958:29:0::1;-1:-1:-1::0;;;4958:29:0::1;::::0;;4723:269::o;4997:195::-;5095:10;5072:4;5083:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;5083:32:0;;;;;;;;;;:41;;;5134:37;5072:4;;5083:32;;5134:37;;;;5118:6;7440:25:1;;7428:2;7413:18;;7395:76;5134:37:0;;;;;;;;-1:-1:-1;5183:4:0;4997:195;;;;;:::o;3825:88::-;3880:7;3243:15;3193:1;3243:2;:15;:::i;:::-;3230:29;;:9;:29;:::i;:::-;3891:19;;3825:88;:::o;6894:407::-;6994:4;7019:18;:16;:18::i;:::-;7011:54;;;;-1:-1:-1;;;7011:54:0;;4729:2:1;7011:54:0;;;4711:21:1;4768:2;4748:18;;;4741:30;-1:-1:-1;;;4787:18:1;;;4780:53;4850:18;;7011:54:0;4701:173:1;7011:54:0;-1:-1:-1;;;;;7075:19:0;;;;;;:11;:19;;;;;;;;7095:10;7075:31;;;;;;;;-1:-1:-1;;7075:52:0;7072:171;;7168:69;;;;;;;;;;;-1:-1:-1;;;7168:69:0;;;;;;;;-1:-1:-1;;;;;7168:19:0;;-1:-1:-1;7168:19:0;;;:11;:19;;;;;7188:10;7168:31;;;;;;;;;;:69;;7204:6;;7168:35;:69::i;:::-;-1:-1:-1;;;;;7134:19:0;;;;;;:11;:19;;;;;;;;7154:10;7134:31;;;;;;;:103;7072:171;7256:40;7270:6;7278:9;7289:6;7256:13;:40::i;:::-;7249:47;6894:407;-1:-1:-1;;;;6894:407:0:o;5197:114::-;5252:4;5270:36;5278:7;-1:-1:-1;;5270:7:0;:36::i;2833:118::-;2645:4;2674:5;-1:-1:-1;;;;;2674:5:0;2519:10;2663:16;2503:74;;;;-1:-1:-1;;;2503:74:0;;;;;;;:::i;:::-;2902:1:::1;2886:18:::0;;-1:-1:-1;;;;;;2886:18:0::1;::::0;;2914:32:::1;::::0;2331:51:1;;;2914:32:0::1;::::0;2319:2:1;2304:18;2914:32:0::1;;;;;;;2833:118::o:0;4499:219::-;2645:4;2674:5;-1:-1:-1;;;;;2674:5:0;2519:10;2663:16;2503:74;;;;-1:-1:-1;;;2503:74:0;;;;;;;:::i;:::-;4585:22:::1;::::0;-1:-1:-1;;;4585:22:0;::::1;;;:31;4577:83;;;::::0;-1:-1:-1;;;4577:83:0;;7088:2:1;4577:83:0::1;::::0;::::1;7070:21:1::0;7127:2;7107:18;;;7100:30;7166:34;7146:18;;;7139:62;-1:-1:-1;;;7217:18:1;;;7210:37;7264:19;;4577:83:0::1;7060:229:1::0;4577:83:0::1;4671:20;:42:::0;;-1:-1:-1;;;;;;4671:42:0::1;-1:-1:-1::0;;;;;4671:42:0;;;::::1;::::0;;;::::1;::::0;;4499:219::o;6496:132::-;2645:4;2674:5;-1:-1:-1;;;;;2674:5:0;2519:10;2663:16;2503:74;;;;-1:-1:-1;;;2503:74:0;;;;;;;:::i;:::-;3243:15:::1;3193:1;3243:2;:15;:::i;:::-;3230:29;::::0;:9:::1;:29;:::i;:::-;6559:11;:26:::0;3243:15:::1;3193:1;3243:2;:15;:::i;:::-;3230:29;::::0;:9:::1;:29;:::i;:::-;6590:15;:30:::0;6496:132::o;5620:216::-;5700:4;5722:18;:16;:18::i;:::-;5714:54;;;;-1:-1:-1;;;5714:54:0;;4729:2:1;5714:54:0;;;4711:21:1;4768:2;4748:18;;;4741:30;-1:-1:-1;;;4787:18:1;;;4780:53;4850:18;;5714:54:0;4701:173:1;5714:54:0;5787:44;5801:10;5813:9;5824:6;5787:13;:44::i;:::-;5780:51;5620:216;-1:-1:-1;;;5620:216:0:o;5987:497::-;2645:4;2674:5;-1:-1:-1;;;;;2674:5:0;2519:10;2663:16;2503:74;;;;-1:-1:-1;;;2503:74:0;;;;;;;:::i;:::-;6085:16:::1;6104:32;::::0;::::1;6119:3;3243:15;3193:1;3243:2;:15;:::i;:::-;3230:29;::::0;:9:::1;:29;:::i;:::-;6104:18;;;;:::i;:::-;:32;;;;:::i;:::-;6085:51;;6167:11;;6155:8;:23;;6147:76;;;::::0;-1:-1:-1;;;6147:76:0;;5905:2:1;6147:76:0::1;::::0;::::1;5887:21:1::0;5944:2;5924:18;;;5917:30;5983:34;5963:18;;;5956:62;-1:-1:-1;;;6034:18:1;;;6027:38;6082:19;;6147:76:0::1;5877:230:1::0;6147:76:0::1;6234:11;:22:::0;;;6277:20:::1;6300:36;::::0;::::1;6315:3;3243:15;3193:1;3243:2;:15;:::i;:::-;3230:29;::::0;:9:::1;:29;:::i;:::-;6300:18;;;;:::i;:::-;:36;;;;:::i;:::-;6277:59;;6371:15;;6355:12;:31;;6347:88;;;::::0;-1:-1:-1;;;6347:88:0;;4316:2:1;6347:88:0::1;::::0;::::1;4298:21:1::0;4355:2;4335:18;;;4328:30;4394:34;4374:18;;;4367:62;-1:-1:-1;;;4445:18:1;;;4438:42;4497:19;;6347:88:0::1;4288:234:1::0;6347:88:0::1;6446:15;:30:::0;-1:-1:-1;;;5987:497:0:o;6636:71::-;2645:4;2674:5;-1:-1:-1;;;;;2674:5:0;2519:10;2663:16;2503:74;;;;-1:-1:-1;;;2503:74:0;;;;;;;:::i;:::-;6688:14:::1;:12;:14::i;:::-;6636:71::o:0;2689:138::-;2645:4;2674:5;-1:-1:-1;;;;;2674:5:0;2519:10;2663:16;2503:74;;;;-1:-1:-1;;;2503:74:0;;;;;;;:::i;:::-;2766:5:::1;:16:::0;;-1:-1:-1;;;;;;2766:16:0::1;-1:-1:-1::0;;;;;2766:16:0;::::1;::::0;;::::1;::::0;;;2792:30:::1;::::0;2331:51:1;;;2792:30:0::1;::::0;2319:2:1;2304:18;2792:30:0::1;;;;;;;2689:138:::0;:::o;5320:295::-;5425:11;;5370:4;;;;5425:11;;:19;;:11;:19;5421:158;;;-1:-1:-1;5462:4:0;5596:11;5320:295;-1:-1:-1;5320:295:0:o;5421:158::-;5507:5;;-1:-1:-1;;;;;5507:5:0;5494:9;:18;5490:77;;;-1:-1:-1;5547:4:0;5490:77;5596:11;5320:295;-1:-1:-1;5320:295:0:o;377:171::-;463:7;493:12;485:6;;;;477:29;;;;-1:-1:-1;;;477:29:0;;;;;;;;:::i;:::-;-1:-1:-1;511:9:0;523:5;527:1;523;:5;:::i;:::-;511:17;377:171;-1:-1:-1;;;;;377:171:0:o;7814:397::-;7906:4;7928:30;7940:9;7951:6;7928:11;:30::i;:::-;7920:87;;;;-1:-1:-1;;;7920:87:0;;5492:2:1;7920:87:0;;;5474:21:1;5531:2;5511:18;;;5504:30;5570:34;5550:18;;;5543:62;-1:-1:-1;;;5621:18:1;;;5614:42;5673:19;;7920:87:0;5464:234:1;7920:87:0;8032:53;;;;;;;;;;;-1:-1:-1;;;8032:53:0;;;;;;;;-1:-1:-1;;;;;8032:17:0;;-1:-1:-1;8032:17:0;;;:9;:17;;;;;;;;:53;;8054:6;;8032:21;:53::i;:::-;-1:-1:-1;;;;;8012:17:0;;;;;;;:9;:17;;;;;;:73;;;;8113:20;;;;;;;:32;;8138:6;8113:24;:32::i;:::-;-1:-1:-1;;;;;8090:20:0;;;;;;;:9;:20;;;;;;;:55;;;;8155:35;;;;;;;;;;8183:6;7440:25:1;;7428:2;7413:18;;7395:76;8155:35:0;;;;;;;;-1:-1:-1;8202:4:0;7814:397;;;;;:::o;6716:163::-;6768:11;;;;:20;6760:53;;;;-1:-1:-1;;;6760:53:0;;3967:2:1;6760:53:0;;;3949:21:1;4006:2;3986:18;;;3979:30;-1:-1:-1;;;4025:18:1;;;4018:50;4085:18;;6760:53:0;3939:170:1;6760:53:0;6824:18;:16;:18::i;:::-;6853:11;:18;;-1:-1:-1;;6853:18:0;6867:4;6853:18;;;6716:163::o;7307:502::-;7455:11;;7394:4;;7435;;7455:11;;:19;;;;7450:318;;;7514:11;;7497:14;:28;7492:265;;;-1:-1:-1;7566:5:0;7492:265;;;7611:20;;-1:-1:-1;;;;;7598:33:0;;;7611:20;;7598:33;;;;:97;;-1:-1:-1;7679:15:0;;-1:-1:-1;;;;;7636:20:0;;;;;;:9;:20;;;;;;:40;;7661:14;7636:24;:40::i;:::-;:58;7598:97;7593:164;;;-1:-1:-1;7736:5:0;7785:16;7307:502;-1:-1:-1;;;7307:502:0:o;84:160::-;142:7;;168:5;172:1;168;:5;:::i;:::-;156:17;;191:1;186;:6;;178:46;;;;-1:-1:-1;;;178:46:0;;3611:2:1;178:46:0;;;3593:21:1;3650:2;3630:18;;;3623:30;3689:29;3669:18;;;3662:57;3736:18;;178:46:0;3583:177:1;5844:131:0;5915:3;3243:15;3193:1;3243:2;:15;:::i;:::-;3230:29;;:9;:29;:::i;:::-;5900:18;;;;:::i;:::-;:22;;5921:1;5900:22;:::i;:::-;5886:11;:36;5960:3;3243:15;3193:1;3243:2;:15;:::i;:::-;3230:29;;:9;:29;:::i;:::-;5945:18;;;;:::i;:::-;:22;;5966:1;5945:22;:::i;14:159:1:-;81:20;;141:6;130:18;;120:29;;110:2;;163:1;160;153:12;178:257;237:6;290:2;278:9;269:7;265:23;261:32;258:2;;;311:6;303;296:22;258:2;355:9;342:23;374:31;399:5;374:31;:::i;710:398::-;778:6;786;839:2;827:9;818:7;814:23;810:32;807:2;;;860:6;852;845:22;807:2;904:9;891:23;923:31;948:5;923:31;:::i;:::-;973:5;-1:-1:-1;1030:2:1;1015:18;;1002:32;1043:33;1002:32;1043:33;:::i;:::-;1095:7;1085:17;;;797:311;;;;;:::o;1113:466::-;1190:6;1198;1206;1259:2;1247:9;1238:7;1234:23;1230:32;1227:2;;;1280:6;1272;1265:22;1227:2;1324:9;1311:23;1343:31;1368:5;1343:31;:::i;:::-;1393:5;-1:-1:-1;1450:2:1;1435:18;;1422:32;1463:33;1422:32;1463:33;:::i;:::-;1217:362;;1515:7;;-1:-1:-1;;;1569:2:1;1554:18;;;;1541:32;;1217:362::o;1584:325::-;1652:6;1660;1713:2;1701:9;1692:7;1688:23;1684:32;1681:2;;;1734:6;1726;1719:22;1681:2;1778:9;1765:23;1797:31;1822:5;1797:31;:::i;:::-;1847:5;1899:2;1884:18;;;;1871:32;;-1:-1:-1;;;1671:238:1:o;1914:266::-;1980:6;1988;2041:2;2029:9;2020:7;2016:23;2012:32;2009:2;;;2062:6;2054;2047:22;2009:2;2090:28;2108:9;2090:28;:::i;:::-;2080:38;;2137:37;2170:2;2159:9;2155:18;2137:37;:::i;:::-;2127:47;;1999:181;;;;;:::o;2801:603::-;2913:4;2942:2;2971;2960:9;2953:21;3003:6;2997:13;3046:6;3041:2;3030:9;3026:18;3019:34;3071:4;3084:140;3098:6;3095:1;3092:13;3084:140;;;3193:14;;;3189:23;;3183:30;3159:17;;;3178:2;3155:26;3148:66;3113:10;;3084:140;;;3242:6;3239:1;3236:13;3233:2;;;3312:4;3307:2;3298:6;3287:9;3283:22;3279:31;3272:45;3233:2;-1:-1:-1;3388:2:1;3367:15;-1:-1:-1;;3363:29:1;3348:45;;;;3395:2;3344:54;;2922:482;-1:-1:-1;;;2922:482:1:o;4879:406::-;5081:2;5063:21;;;5120:2;5100:18;;;5093:30;5159:34;5154:2;5139:18;;5132:62;-1:-1:-1;;;5225:2:1;5210:18;;5203:40;5275:3;5260:19;;5053:232::o;7665:128::-;7705:3;7736:1;7732:6;7729:1;7726:13;7723:2;;;7742:18;;:::i;:::-;-1:-1:-1;7778:9:1;;7713:80::o;7798:217::-;7838:1;7864;7854:2;;-1:-1:-1;;;7889:31:1;;7943:4;7940:1;7933:15;7971:4;7896:1;7961:15;7854:2;-1:-1:-1;8000:9:1;;7844:171::o;8020:422::-;8109:1;8152:5;8109:1;8166:270;8187:7;8177:8;8174:21;8166:270;;;8246:4;8242:1;8238:6;8234:17;8228:4;8225:27;8222:2;;;8255:18;;:::i;:::-;8305:7;8295:8;8291:22;8288:2;;;8325:16;;;;8288:2;8404:22;;;;8364:15;;;;8166:270;;;8170:3;8084:358;;;;;:::o;8447:140::-;8505:5;8534:47;8575:4;8565:8;8561:19;8555:4;8641:5;8671:8;8661:2;;-1:-1:-1;8712:1:1;8726:5;;8661:2;8760:4;8750:2;;-1:-1:-1;8797:1:1;8811:5;;8750:2;8842:4;8860:1;8855:59;;;;8928:1;8923:130;;;;8835:218;;8855:59;8885:1;8876:10;;8899:5;;;8923:130;8960:3;8950:8;8947:17;8944:2;;;8967:18;;:::i;:::-;-1:-1:-1;;9023:1:1;9009:16;;9038:5;;8835:218;;9137:2;9127:8;9124:16;9118:3;9112:4;9109:13;9105:36;9099:2;9089:8;9086:16;9081:2;9075:4;9072:12;9068:35;9065:77;9062:2;;;-1:-1:-1;9174:19:1;;;9206:5;;9062:2;9253:34;9278:8;9272:4;9253:34;:::i;:::-;9323:6;9319:1;9315:6;9311:19;9302:7;9299:32;9296:2;;;9334:18;;:::i;:::-;9372:20;;8651:747;-1:-1:-1;;;8651:747:1:o;9403:168::-;9443:7;9509:1;9505;9501:6;9497:14;9494:1;9491:21;9486:1;9479:9;9472:17;9468:45;9465:2;;;9516:18;;:::i;:::-;-1:-1:-1;9556:9:1;;9455:116::o;9576:125::-;9616:4;9644:1;9641;9638:8;9635:2;;;9649:18;;:::i;:::-;-1:-1:-1;9686:9:1;;9625:76::o;9706:127::-;9767:10;9762:3;9758:20;9755:1;9748:31;9798:4;9795:1;9788:15;9822:4;9819:1;9812:15;9838:131;-1:-1:-1;;;;;9913:31:1;;9903:42;;9893:2;;9959:1;9956;9949:12;9893:2;9883:86;:::o

Swarm Source

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