Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000 MEME
Holders
90
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.684374788550675356 MEMEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
MemeCult
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-02-16 */ /** //SPDX-License-Identifier: UNLICENSED */ // Website: https://memecult.net/ // Twitter: https://twitter.com/memeculterc20 // Telegram: https://t.me/memecultofficial pragma solidity ^0.8.17; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } interface IBEP20 { 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 ); } interface IBEP20Metadata is IBEP20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } contract BEP20 is Context, IBEP20, IBEP20Metadata { mapping(address => uint256) internal _balances; mapping(address => mapping(address => uint256)) internal _allowances; uint256 private _totalSupply; string private _name; string private _symbol; /** * @dev Sets the values for {name} and {symbol}. * * The defaut value of {decimals} is 18. To select a different value for * {decimals} you should overload it. * * All two of these values are immutable: they can only be set once during * construction. */ constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } /** * @dev Returns the name of the token. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual override returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used to get its user representation. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5,05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the value {BEP20} uses, unless this function is * overridden; * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IBEP20-balanceOf} and {IBEP20-transfer}. */ function decimals() public view virtual override returns (uint8) { return 18; } /** * @dev See {IBEP20-totalSupply}. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev See {IBEP20-balanceOf}. */ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev See {IBEP20-transfer}. * * Requirements: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } /** * @dev See {IBEP20-allowance}. */ function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IBEP20-approve}. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } /** * @dev See {IBEP20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {BEP20}. * * Requirements: * * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. * - the caller must have allowance for ``sender``'s tokens of at least * `amount`. */ function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require( currentAllowance >= amount, "BEP20: transfer amount exceeds allowance" ); _approve(sender, _msgSender(), currentAllowance - amount); return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IBEP20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender] + addedValue ); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IBEP20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require( currentAllowance >= subtractedValue, "BEP20: decreased allowance below zero" ); _approve(_msgSender(), spender, currentAllowance - subtractedValue); return true; } /** * @dev Moves tokens `amount` from `sender` to `recipient`. * * This is internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - `sender` cannot be the zero address. * - `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. */ function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "BEP20: transfer from the zero address"); require(recipient != address(0), "BEP20: transfer to the zero address"); uint256 senderBalance = _balances[sender]; require( senderBalance >= amount, "BEP20: transfer amount exceeds balance" ); _balances[sender] = senderBalance - amount; _balances[recipient] += amount; emit Transfer(sender, recipient, amount); } /** This function will be used to generate the total supply * while deploying the contract * * This function can never be called again after deploying contract */ function _tokengeneration(address account, uint256 amount) internal virtual { _totalSupply = amount; _balances[account] = amount; emit Transfer(address(0), account, amount); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "BEP20: approve from the zero address"); require(spender != address(0), "BEP20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } } library Address { 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" ); } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { _setOwner(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } contract MemeCult is BEP20, Ownable { using Address for address payable; IRouter public router; address public pair; bool private _interlock = false; bool public providingLiquidity = false; bool public tradingEnabled = false; uint256 public tokenLiquidityThreshold = 3e3 * 10**18; uint256 public genesis_block; uint256 private deadline = 1; uint256 private launchtax = 99; address private devWallet = 0x1f46990d18d80E40f9f440A29C0c7Aca663204C4; address private marketingWallet = 0xeF0ADF201d8fd67dB73d57Bbf23135B61E922515; address public constant deadWallet = 0x000000000000000000000000000000000000dEaD; struct Taxes { uint256 marketing; uint256 liquidity; uint256 dev; } Taxes public taxes = Taxes(3, 0, 2); Taxes public sellTaxes = Taxes(3, 0, 2); mapping(address => bool) public exemptFee; uint256 public maxBuyLimit = 1e4 * 10**18; uint256 public maxSellLimit = 1e4 * 10**18; uint256 public maxWalletLimit = 2e4 * 10**18; //Anti Dump mapping(address => uint256) private _lastSell; modifier lockTheSwap() { if (!_interlock) { _interlock = true; _; _interlock = false; } } constructor() BEP20("MemeCult", "MEME") { _tokengeneration(msg.sender, 1e6 * 10**decimals()); exemptFee[msg.sender] = true; IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); // Create a pancake pair for this new token address _pair = IFactory(_router.factory()).createPair(address(this),_router.WETH()); router = _router; pair = _pair; exemptFee[address(this)] = true; exemptFee[marketingWallet] = true; exemptFee[devWallet] = true; exemptFee[deadWallet] = true; exemptFee[0xD152f549545093347A162Dce210e7293f1452150] = true; exemptFee[0x407993575c91ce7643a4d4cCACc9A98c36eE1BBE] = true; } 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); uint256 currentAllowance = _allowances[sender][_msgSender()]; require( currentAllowance >= amount, "BEP20: transfer amount exceeds allowance" ); _approve(sender, _msgSender(), currentAllowance - amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public override returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender] + addedValue ); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public override returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue,"BEP20: decreased allowance below zero"); _approve(_msgSender(), spender, currentAllowance - subtractedValue); return true; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(msg.sender, recipient, amount); return true; } function _transfer( address sender, address recipient, uint256 amount ) internal override { require(amount > 0, "Transfer amount must be greater than zero"); if (!exemptFee[sender] && !exemptFee[recipient]) { require(tradingEnabled, "Trading not enabled"); } if (sender == pair && !exemptFee[recipient] && !_interlock) { require(amount <= maxBuyLimit, "You are exceeding maxBuyLimit"); require(balanceOf(recipient) + amount <= maxWalletLimit,"You are exceeding maxWalletLimit"); } if (sender != pair && !exemptFee[recipient] && !exemptFee[sender] && !_interlock) { require(amount <= maxSellLimit, "You are exceeding maxSellLimit"); if (recipient != pair) { require(balanceOf(recipient) + amount <= maxWalletLimit,"You are exceeding maxWalletLimit"); } } uint256 feeswap; uint256 feesum; uint256 fee; Taxes memory currentTaxes; bool useLaunchFee = !exemptFee[sender] && !exemptFee[recipient] && block.number < genesis_block + deadline; //set fee to zero if fees in contract are handled or exempted if (_interlock || exemptFee[sender] || exemptFee[recipient]) fee = 0; //calculate fee else if (recipient == pair && !useLaunchFee) { feeswap = sellTaxes.liquidity + sellTaxes.marketing + sellTaxes.dev; feesum = feeswap; currentTaxes = sellTaxes; } else if (!useLaunchFee) { feeswap = taxes.liquidity + taxes.marketing + taxes.dev; feesum = feeswap; currentTaxes = taxes; } else if (useLaunchFee) { feeswap = launchtax; feesum = launchtax; } fee = (amount * feesum) / 100; //send fees if threshold has been reached //don't do this on buys, breaks swap if (providingLiquidity && sender != pair) Liquify(feeswap, currentTaxes); //rest to recipient super._transfer(sender, recipient, amount - fee); if (fee > 0) { //send the fee to the contract if (feeswap > 0) { uint256 feeAmount = (amount * feeswap) / 100; super._transfer(sender, address(this), feeAmount); } } } function Liquify(uint256 feeswap, Taxes memory swapTaxes) private lockTheSwap { if (feeswap == 0) { return; } uint256 contractBalance = balanceOf(address(this)); if (contractBalance >= tokenLiquidityThreshold) { if (tokenLiquidityThreshold > 1) { contractBalance = tokenLiquidityThreshold; } // Split the contract balance into halves uint256 denominator = feeswap * 2; uint256 tokensToAddLiquidityWith = (contractBalance * swapTaxes.liquidity) / denominator; uint256 toSwap = contractBalance - tokensToAddLiquidityWith; uint256 initialBalance = address(this).balance; swapTokensForETH(toSwap); uint256 deltaBalance = address(this).balance - initialBalance; uint256 unitBalance = deltaBalance / (denominator - swapTaxes.liquidity); uint256 ethToAddLiquidityWith = unitBalance * swapTaxes.liquidity; if (ethToAddLiquidityWith > 0) { // Add liquidity to pancake addLiquidity(tokensToAddLiquidityWith, ethToAddLiquidityWith); } uint256 devWalletAmt = unitBalance * 2 * swapTaxes.dev; if (devWalletAmt > 0) { payable(devWallet).sendValue(devWalletAmt); } uint256 marketingAmt = unitBalance * 2 * swapTaxes.marketing; if (marketingAmt > 0) { payable(marketingWallet).sendValue(marketingAmt); } } } function swapTokensForETH(uint256 tokenAmount) private { // generate the pancake pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); _approve(address(this), address(router), tokenAmount); // make the swap router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { // approve token transfer to cover all possible scenarios _approve(address(this), address(router), tokenAmount); // add the liquidity router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable owner(), block.timestamp ); } function updateLiquidityProvide(bool state) external onlyOwner { providingLiquidity = state; } function updateLiquidityTreshhold(uint256 new_amount) external onlyOwner { require(new_amount <= 1e4,"Swap threshold amount should be lower or equal to 1% of tokens"); tokenLiquidityThreshold = new_amount * 10**decimals(); } function SetBuyTaxes(uint256 _marketing, uint256 _liquidity, uint256 _dev) external onlyOwner { taxes = Taxes(_marketing, _liquidity, _dev); require((_marketing + _liquidity + _dev) <= 20,"Must keep fees at 20% or less"); } function SetSellTaxes(uint256 _marketing, uint256 _liquidity, uint256 _dev) external onlyOwner { sellTaxes = Taxes(_marketing, _liquidity, _dev); require((_marketing + _liquidity + _dev) <= 50,"Must keep fees at 50% or less"); } function EnableTrading() external onlyOwner { require(!tradingEnabled, "Cannot re-enable trading"); tradingEnabled = true; providingLiquidity = true; genesis_block = block.number; } function updatedeadline(uint256 _deadline) external onlyOwner { require(!tradingEnabled, "Can't change when trading has started"); require(_deadline < 10, "Deadline should be less than 10 Blocks"); deadline = _deadline; } function updateMaxTxLimit(uint256 maxBuy, uint256 maxSell, uint256 maxWallet) external onlyOwner { require(maxBuy >= 1e3, "Cannot set max buy amount lower than 0.1%"); require(maxSell >= 1e3, "Cannot set max sell amount lower than 0.1%"); require(maxWallet >= 1e4, "Cannot set max wallet amount lower than 1%"); maxBuyLimit = maxBuy * 10**decimals(); maxSellLimit = maxSell * 10**decimals(); maxWalletLimit = maxWallet * 10**decimals(); } function updateMarketingWallet(address newWallet) external onlyOwner { require(newWallet != address(0), "Fee Address cannot be zero address"); marketingWallet = newWallet; } function updateDevWallet(address newWallet) external onlyOwner { require(newWallet != address(0), "Fee Address cannot be zero address"); devWallet = newWallet; } function updateExemptFee(address _address, bool state) external onlyOwner { exemptFee[_address] = state; } function bulkExemptFee(address[] memory accounts, bool state) external onlyOwner { for (uint256 i = 0; i < accounts.length; i++) { exemptFee[accounts[i]] = state; } } function rescueETH(uint256 weiAmount) external { payable(owner()).transfer(weiAmount); } function rescueERC20(address tokenAdd, uint256 amount) external onlyOwner { IBEP20(tokenAdd).transfer(owner(), amount); } // fallbacks receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"EnableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_dev","type":"uint256"}],"name":"SetBuyTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_dev","type":"uint256"}],"name":"SetSellTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"state","type":"bool"}],"name":"bulkExemptFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deadWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"","type":"address"}],"name":"exemptFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"genesis_block","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxBuyLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"providingLiquidity","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAdd","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTaxes","outputs":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"dev","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxes","outputs":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"dev","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenLiquidityThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","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","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"updateExemptFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"state","type":"bool"}],"name":"updateLiquidityProvide","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"new_amount","type":"uint256"}],"name":"updateLiquidityTreshhold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxBuy","type":"uint256"},{"internalType":"uint256","name":"maxSell","type":"uint256"},{"internalType":"uint256","name":"maxWallet","type":"uint256"}],"name":"updateMaxTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_deadline","type":"uint256"}],"name":"updatedeadline","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6007805462ffffff60a01b1916905568a2a15d09519be000006008556001600a556063600b55600c80546001600160a01b0319908116731f46990d18d80e40f9f440a29c0c7aca663204c417909155600d805490911673ef0adf201d8fd67db73d57bbf23135b61e92251517905560036080819052600060a0819052600260c0819052600e839055600f829055601081905561014060405260e083905261010082905261012081905260119290925560125560135569021e19e0c9bab2400000601581905560165569043c33c1937564800000601755348015620000e257600080fd5b506040518060400160405280600881526020016713595b5950dd5b1d60c21b815250604051806040016040528060048152602001634d454d4560e01b81525081600390816200013291906200055c565b5060046200014182826200055c565b5050506200015e620001586200040d60201b60201c565b62000411565b6200018633620001716012600a6200073d565b6200018090620f424062000755565b62000463565b336000908152601460209081526040808320805460ff19166001179055805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9392849263c45a015592600480830193928290030181865afa158015620001f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021791906200076f565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000265573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028b91906200076f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002d9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ff91906200076f565b600680546001600160a01b03199081166001600160a01b0395861617909155600780549091169184169190911790555030600090815260146020526040808220805460ff199081166001908117909255600d54851684528284208054821683179055600c54909416835290822080548416821790557f8b9e18c5e04efe171d1e4f682ad90d753958a5ffe56db5290b0236c8e0b6db0080548416821790557f5c5b513987f7fdc52fe83875f2c9ef27a34386f453e523bc51b9e1d070a01774805484168217905573407993575c91ce7643a4d4ccacc9a98c36ee1bbe9091527fa78fbefa424445dbac07db837dec45a4e2e3b9567c25ed7a66d33c8e6754283480549092161790556200079a565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60028190556001600160a01b038216600081815260208181526040808320859055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620004e257607f821691505b6020821081036200050357634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200055757600081815260208120601f850160051c81016020861015620005325750805b601f850160051c820191505b8181101562000553578281556001016200053e565b5050505b505050565b81516001600160401b03811115620005785762000578620004b7565b6200059081620005898454620004cd565b8462000509565b602080601f831160018114620005c85760008415620005af5750858301515b600019600386901b1c1916600185901b17855562000553565b600085815260208120601f198616915b82811015620005f957888601518255948401946001909101908401620005d8565b5085821015620006185787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200067f57816000190482111562000663576200066362000628565b808516156200067157918102915b93841c939080029062000643565b509250929050565b600082620006985750600162000737565b81620006a75750600062000737565b8160018114620006c05760028114620006cb57620006eb565b600191505062000737565b60ff841115620006df57620006df62000628565b50506001821b62000737565b5060208310610133831016604e8410600b841016171562000710575081810a62000737565b6200071c83836200063e565b806000190482111562000733576200073362000628565b0290505b92915050565b60006200074e60ff84168362000687565b9392505050565b808202811582820484141762000737576200073762000628565b6000602082840312156200078257600080fd5b81516001600160a01b03811681146200074e57600080fd5b61271c80620007aa6000396000f3fe60806040526004361061023f5760003560e01c806370a082311161012e578063a9059cbb116100ab578063edaa11681161006f578063edaa1168146106e7578063f2fde38b14610707578063f66895a314610727578063f887ea4014610746578063fbe6324e1461076657600080fd5b8063a9059cbb14610611578063aacebbe314610631578063c5d32bb214610651578063dd62ed3e14610681578063e1b450ad146106c757600080fd5b80638da5cb5b116100f25780638da5cb5b1461057e57806395d89b411461059c5780639e252f00146105b1578063a457c2d7146105d1578063a8aa1b31146105f157600080fd5b806370a08231146104ab578063715018a6146104e1578063728f8eea146104f657806385141a77146105305780638cd4426d1461055e57600080fd5b8063313ce567116101bc5780634ada218b116101805780634ada218b146104285780634e736f2214610449578063652e2f041461046957806366a88d961461047f5780636aa5b37f1461049557600080fd5b8063313ce5671461038c578063355496ca146103a857806339509351146103c857806342b6fa11146103e85780634a2b3b131461040857600080fd5b806318160ddd1161020357806318160ddd1461030c5780631816467f146103215780631d97b7cd1461034157806323b872dd14610356578063274a533c1461037657600080fd5b806306fdde031461024b578063095ea7b3146102765780630e375a5c146102a65780631340538f146102c85780631675d802146102e857600080fd5b3661024657005b600080fd5b34801561025757600080fd5b50610260610787565b60405161026d91906120f2565b60405180910390f35b34801561028257600080fd5b50610296610291366004612165565b610819565b604051901515815260200161026d565b3480156102b257600080fd5b506102c66102c13660046121c0565b610830565b005b3480156102d457600080fd5b506102c66102e3366004612297565b6108cf565b3480156102f457600080fd5b506102fe60085481565b60405190815260200161026d565b34801561031857600080fd5b506002546102fe565b34801561032d57600080fd5b506102c661033c3660046122bb565b610917565b34801561034d57600080fd5b506102c6610989565b34801561036257600080fd5b506102966103713660046122d8565b610a28565b34801561038257600080fd5b506102fe60095481565b34801561039857600080fd5b506040516012815260200161026d565b3480156103b457600080fd5b506102c66103c3366004612319565b610ad9565b3480156103d457600080fd5b506102966103e3366004612165565b610b2e565b3480156103f457600080fd5b506102c6610403366004612352565b610b65565b34801561041457600080fd5b506102c661042336600461236b565b610c23565b34801561043457600080fd5b5060075461029690600160b01b900460ff1681565b34801561045557600080fd5b506102c661046436600461236b565b610cd9565b34801561047557600080fd5b506102fe60165481565b34801561048b57600080fd5b506102fe60175481565b3480156104a157600080fd5b506102fe60155481565b3480156104b757600080fd5b506102fe6104c63660046122bb565b6001600160a01b031660009081526020819052604090205490565b3480156104ed57600080fd5b506102c6610d8f565b34801561050257600080fd5b50600e54600f5460105461051592919083565b6040805193845260208401929092529082015260600161026d565b34801561053c57600080fd5b5061054661dead81565b6040516001600160a01b03909116815260200161026d565b34801561056a57600080fd5b506102c6610579366004612165565b610dc5565b34801561058a57600080fd5b506005546001600160a01b0316610546565b3480156105a857600080fd5b50610260610e81565b3480156105bd57600080fd5b506102c66105cc366004612352565b610e90565b3480156105dd57600080fd5b506102966105ec366004612165565b610ece565b3480156105fd57600080fd5b50600754610546906001600160a01b031681565b34801561061d57600080fd5b5061029661062c366004612165565b610f69565b34801561063d57600080fd5b506102c661064c3660046122bb565b610f76565b34801561065d57600080fd5b5061029661066c3660046122bb565b60146020526000908152604090205460ff1681565b34801561068d57600080fd5b506102fe61069c366004612397565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156106d357600080fd5b506102c66106e236600461236b565b610fe8565b3480156106f357600080fd5b506102c6610702366004612352565b611190565b34801561071357600080fd5b506102c66107223660046122bb565b611286565b34801561073357600080fd5b5060115460125460135461051592919083565b34801561075257600080fd5b50600654610546906001600160a01b031681565b34801561077257600080fd5b5060075461029690600160a81b900460ff1681565b606060038054610796906123c5565b80601f01602080910402602001604051908101604052809291908181526020018280546107c2906123c5565b801561080f5780601f106107e45761010080835404028352916020019161080f565b820191906000526020600020905b8154815290600101906020018083116107f257829003601f168201915b5050505050905090565b6000610826338484611321565b5060015b92915050565b6005546001600160a01b031633146108635760405162461bcd60e51b815260040161085a906123ff565b60405180910390fd5b60005b82518110156108ca57816014600085848151811061088657610886612434565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806108c281612460565b915050610866565b505050565b6005546001600160a01b031633146108f95760405162461bcd60e51b815260040161085a906123ff565b60078054911515600160a81b0260ff60a81b19909216919091179055565b6005546001600160a01b031633146109415760405162461bcd60e51b815260040161085a906123ff565b6001600160a01b0381166109675760405162461bcd60e51b815260040161085a90612479565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146109b35760405162461bcd60e51b815260040161085a906123ff565b600754600160b01b900460ff1615610a0d5760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f742072652d656e61626c652074726164696e670000000000000000604482015260640161085a565b6007805461ffff60a81b191661010160a81b17905543600955565b6000610a35848484611445565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610aba5760405162461bcd60e51b815260206004820152602860248201527f42455032303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161085a565b610ace8533610ac986856124bb565b611321565b506001949350505050565b6005546001600160a01b03163314610b035760405162461bcd60e51b815260040161085a906123ff565b6001600160a01b03919091166000908152601460205260409020805460ff1916911515919091179055565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610826918590610ac99086906124ce565b6005546001600160a01b03163314610b8f5760405162461bcd60e51b815260040161085a906123ff565b612710811115610c075760405162461bcd60e51b815260206004820152603e60248201527f53776170207468726573686f6c6420616d6f756e742073686f756c642062652060448201527f6c6f776572206f7220657175616c20746f203125206f6620746f6b656e730000606482015260840161085a565b610c136012600a6125c5565b610c1d90826125d4565b60085550565b6005546001600160a01b03163314610c4d5760405162461bcd60e51b815260040161085a906123ff565b604080516060810182528481526020810184905201819052600e839055600f8290556010819055601481610c8184866124ce565b610c8b91906124ce565b11156108ca5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420323025206f72206c657373000000604482015260640161085a565b6005546001600160a01b03163314610d035760405162461bcd60e51b815260040161085a906123ff565b604080516060810182528481526020810184905201819052601183905560128290556013819055603281610d3784866124ce565b610d4191906124ce565b11156108ca5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420353025206f72206c657373000000604482015260640161085a565b6005546001600160a01b03163314610db95760405162461bcd60e51b815260040161085a906123ff565b610dc36000611a07565b565b6005546001600160a01b03163314610def5760405162461bcd60e51b815260040161085a906123ff565b816001600160a01b031663a9059cbb610e106005546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af1158015610e5d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ca91906125eb565b606060048054610796906123c5565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610eca573d6000803e3d6000fd5b5050565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610f505760405162461bcd60e51b815260206004820152602560248201527f42455032303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161085a565b610f5f3385610ac986856124bb565b5060019392505050565b6000610826338484611445565b6005546001600160a01b03163314610fa05760405162461bcd60e51b815260040161085a906123ff565b6001600160a01b038116610fc65760405162461bcd60e51b815260040161085a90612479565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146110125760405162461bcd60e51b815260040161085a906123ff565b6103e88310156110765760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d61782062757920616d6f756e74206c6f776572206044820152687468616e20302e312560b81b606482015260840161085a565b6103e88210156110db5760405162461bcd60e51b815260206004820152602a60248201527f43616e6e6f7420736574206d61782073656c6c20616d6f756e74206c6f776572604482015269207468616e20302e312560b01b606482015260840161085a565b6127108110156111405760405162461bcd60e51b815260206004820152602a60248201527f43616e6e6f7420736574206d61782077616c6c657420616d6f756e74206c6f776044820152696572207468616e20312560b01b606482015260840161085a565b61114c6012600a6125c5565b61115690846125d4565b6015556111656012600a6125c5565b61116f90836125d4565b60165561117e6012600a6125c5565b61118890826125d4565b601755505050565b6005546001600160a01b031633146111ba5760405162461bcd60e51b815260040161085a906123ff565b600754600160b01b900460ff16156112225760405162461bcd60e51b815260206004820152602560248201527f43616e2774206368616e6765207768656e2074726164696e6720686173207374604482015264185c9d195960da1b606482015260840161085a565b600a81106112815760405162461bcd60e51b815260206004820152602660248201527f446561646c696e652073686f756c64206265206c657373207468616e20313020604482015265426c6f636b7360d01b606482015260840161085a565b600a55565b6005546001600160a01b031633146112b05760405162461bcd60e51b815260040161085a906123ff565b6001600160a01b0381166113155760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161085a565b61131e81611a07565b50565b6001600160a01b0383166113835760405162461bcd60e51b8152602060048201526024808201527f42455032303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161085a565b6001600160a01b0382166113e45760405162461bcd60e51b815260206004820152602260248201527f42455032303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161085a565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600081116114a75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161085a565b6001600160a01b03831660009081526014602052604090205460ff161580156114e957506001600160a01b03821660009081526014602052604090205460ff16155b1561153d57600754600160b01b900460ff1661153d5760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b604482015260640161085a565b6007546001600160a01b03848116911614801561157357506001600160a01b03821660009081526014602052604090205460ff16155b80156115895750600754600160a01b900460ff16155b1561165b576015548111156115e05760405162461bcd60e51b815260206004820152601d60248201527f596f752061726520657863656564696e67206d61784275794c696d6974000000604482015260640161085a565b60175481611603846001600160a01b031660009081526020819052604090205490565b61160d91906124ce565b111561165b5760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d6974604482015260640161085a565b6007546001600160a01b0384811691161480159061169257506001600160a01b03821660009081526014602052604090205460ff16155b80156116b757506001600160a01b03831660009081526014602052604090205460ff16155b80156116cd5750600754600160a01b900460ff16155b156117b4576016548111156117245760405162461bcd60e51b815260206004820152601e60248201527f596f752061726520657863656564696e67206d617853656c6c4c696d69740000604482015260640161085a565b6007546001600160a01b038381169116146117b4576017548161175c846001600160a01b031660009081526020819052604090205490565b61176691906124ce565b11156117b45760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d6974604482015260640161085a565b60008060006117dd60405180606001604052806000815260200160008152602001600081525090565b6001600160a01b03871660009081526014602052604081205460ff1615801561181f57506001600160a01b03871660009081526014602052604090205460ff16155b80156118395750600a5460095461183691906124ce565b43105b600754909150600160a01b900460ff168061186c57506001600160a01b03881660009081526014602052604090205460ff165b8061188f57506001600160a01b03871660009081526014602052604090205460ff165b1561189d5760009250611967565b6007546001600160a01b0388811691161480156118b8575080155b15611908576013546011546012546118d091906124ce565b6118da91906124ce565b6040805160608101825260115481526012546020820152601354918101919091529095508594509150611967565b8061195857601054600e54600f5461192091906124ce565b61192a91906124ce565b60408051606081018252600e548152600f546020820152601054918101919091529095508594509150611967565b801561196757600b5494508493505b606461197385886125d4565b61197d9190612608565b600754909350600160a81b900460ff1680156119a757506007546001600160a01b03898116911614155b156119b6576119b68583611a59565b6119ca88886119c5868a6124bb565b611bd2565b82156119fd5784156119fd57600060646119e487896125d4565b6119ee9190612608565b90506119fb893083611bd2565b505b5050505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600754600160a01b900460ff16610eca576007805460ff60a01b1916600160a01b1790558115611bc157306000908152602081905260409020546008548110611bbf5760016008541115611aac57506008545b6000611ab98460026125d4565b9050600081846020015184611ace91906125d4565b611ad89190612608565b90506000611ae682856124bb565b905047611af282611daa565b6000611afe82476124bb565b90506000876020015186611b1291906124bb565b611b1c9083612608565b90506000886020015182611b3091906125d4565b90508015611b4257611b428682611f04565b6040890151600090611b558460026125d4565b611b5f91906125d4565b90508015611b7d57600c54611b7d906001600160a01b031682611fd9565b8951600090611b8d8560026125d4565b611b9791906125d4565b90508015611bb557600d54611bb5906001600160a01b031682611fd9565b5050505050505050505b505b6007805460ff60a01b191690555050565b6001600160a01b038316611c365760405162461bcd60e51b815260206004820152602560248201527f42455032303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161085a565b6001600160a01b038216611c985760405162461bcd60e51b815260206004820152602360248201527f42455032303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161085a565b6001600160a01b03831660009081526020819052604090205481811015611d105760405162461bcd60e51b815260206004820152602660248201527f42455032303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161085a565b611d1a82826124bb565b6001600160a01b038086166000908152602081905260408082209390935590851681529081208054849290611d509084906124ce565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d9c91815260200190565b60405180910390a350505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611ddf57611ddf612434565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611e38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e5c919061262a565b81600181518110611e6f57611e6f612434565b6001600160a01b039283166020918202929092010152600654611e959130911684611321565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790611ece908590600090869030904290600401612647565b600060405180830381600087803b158015611ee857600080fd5b505af1158015611efc573d6000803e3d6000fd5b505050505050565b600654611f1c9030906001600160a01b031684611321565b6006546001600160a01b031663f305d719823085600080611f456005546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015611fad573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611fd291906126b8565b5050505050565b804710156120295760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161085a565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612076576040519150601f19603f3d011682016040523d82523d6000602084013e61207b565b606091505b50509050806108ca5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161085a565b600060208083528351808285015260005b8181101561211f57858101830151858201604001528201612103565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461131e57600080fd5b803561216081612140565b919050565b6000806040838503121561217857600080fd5b823561218381612140565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b801515811461131e57600080fd5b8035612160816121a7565b600080604083850312156121d357600080fd5b823567ffffffffffffffff808211156121eb57600080fd5b818501915085601f8301126121ff57600080fd5b813560208282111561221357612213612191565b8160051b604051601f19603f8301168101818110868211171561223857612238612191565b60405292835281830193508481018201928984111561225657600080fd5b948201945b8386101561227b5761226c86612155565b8552948201949382019361225b565b965061228a90508782016121b5565b9450505050509250929050565b6000602082840312156122a957600080fd5b81356122b4816121a7565b9392505050565b6000602082840312156122cd57600080fd5b81356122b481612140565b6000806000606084860312156122ed57600080fd5b83356122f881612140565b9250602084013561230881612140565b929592945050506040919091013590565b6000806040838503121561232c57600080fd5b823561233781612140565b91506020830135612347816121a7565b809150509250929050565b60006020828403121561236457600080fd5b5035919050565b60008060006060848603121561238057600080fd5b505081359360208301359350604090920135919050565b600080604083850312156123aa57600080fd5b82356123b581612140565b9150602083013561234781612140565b600181811c908216806123d957607f821691505b6020821081036123f957634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016124725761247261244a565b5060010190565b60208082526022908201527f46656520416464726573732063616e6e6f74206265207a65726f206164647265604082015261737360f01b606082015260800190565b8181038181111561082a5761082a61244a565b8082018082111561082a5761082a61244a565b600181815b8085111561251c5781600019048211156125025761250261244a565b8085161561250f57918102915b93841c93908002906124e6565b509250929050565b6000826125335750600161082a565b816125405750600061082a565b816001811461255657600281146125605761257c565b600191505061082a565b60ff8411156125715761257161244a565b50506001821b61082a565b5060208310610133831016604e8410600b841016171561259f575081810a61082a565b6125a983836124e1565b80600019048211156125bd576125bd61244a565b029392505050565b60006122b460ff841683612524565b808202811582820484141761082a5761082a61244a565b6000602082840312156125fd57600080fd5b81516122b4816121a7565b60008261262557634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561263c57600080fd5b81516122b481612140565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156126975784516001600160a01b031683529383019391830191600101612672565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156126cd57600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220e2b0a1b978d1590c8efd94d8675b3608888afc9d7f4445c104f32a18755b21e464736f6c63430008110033
Deployed Bytecode
0x60806040526004361061023f5760003560e01c806370a082311161012e578063a9059cbb116100ab578063edaa11681161006f578063edaa1168146106e7578063f2fde38b14610707578063f66895a314610727578063f887ea4014610746578063fbe6324e1461076657600080fd5b8063a9059cbb14610611578063aacebbe314610631578063c5d32bb214610651578063dd62ed3e14610681578063e1b450ad146106c757600080fd5b80638da5cb5b116100f25780638da5cb5b1461057e57806395d89b411461059c5780639e252f00146105b1578063a457c2d7146105d1578063a8aa1b31146105f157600080fd5b806370a08231146104ab578063715018a6146104e1578063728f8eea146104f657806385141a77146105305780638cd4426d1461055e57600080fd5b8063313ce567116101bc5780634ada218b116101805780634ada218b146104285780634e736f2214610449578063652e2f041461046957806366a88d961461047f5780636aa5b37f1461049557600080fd5b8063313ce5671461038c578063355496ca146103a857806339509351146103c857806342b6fa11146103e85780634a2b3b131461040857600080fd5b806318160ddd1161020357806318160ddd1461030c5780631816467f146103215780631d97b7cd1461034157806323b872dd14610356578063274a533c1461037657600080fd5b806306fdde031461024b578063095ea7b3146102765780630e375a5c146102a65780631340538f146102c85780631675d802146102e857600080fd5b3661024657005b600080fd5b34801561025757600080fd5b50610260610787565b60405161026d91906120f2565b60405180910390f35b34801561028257600080fd5b50610296610291366004612165565b610819565b604051901515815260200161026d565b3480156102b257600080fd5b506102c66102c13660046121c0565b610830565b005b3480156102d457600080fd5b506102c66102e3366004612297565b6108cf565b3480156102f457600080fd5b506102fe60085481565b60405190815260200161026d565b34801561031857600080fd5b506002546102fe565b34801561032d57600080fd5b506102c661033c3660046122bb565b610917565b34801561034d57600080fd5b506102c6610989565b34801561036257600080fd5b506102966103713660046122d8565b610a28565b34801561038257600080fd5b506102fe60095481565b34801561039857600080fd5b506040516012815260200161026d565b3480156103b457600080fd5b506102c66103c3366004612319565b610ad9565b3480156103d457600080fd5b506102966103e3366004612165565b610b2e565b3480156103f457600080fd5b506102c6610403366004612352565b610b65565b34801561041457600080fd5b506102c661042336600461236b565b610c23565b34801561043457600080fd5b5060075461029690600160b01b900460ff1681565b34801561045557600080fd5b506102c661046436600461236b565b610cd9565b34801561047557600080fd5b506102fe60165481565b34801561048b57600080fd5b506102fe60175481565b3480156104a157600080fd5b506102fe60155481565b3480156104b757600080fd5b506102fe6104c63660046122bb565b6001600160a01b031660009081526020819052604090205490565b3480156104ed57600080fd5b506102c6610d8f565b34801561050257600080fd5b50600e54600f5460105461051592919083565b6040805193845260208401929092529082015260600161026d565b34801561053c57600080fd5b5061054661dead81565b6040516001600160a01b03909116815260200161026d565b34801561056a57600080fd5b506102c6610579366004612165565b610dc5565b34801561058a57600080fd5b506005546001600160a01b0316610546565b3480156105a857600080fd5b50610260610e81565b3480156105bd57600080fd5b506102c66105cc366004612352565b610e90565b3480156105dd57600080fd5b506102966105ec366004612165565b610ece565b3480156105fd57600080fd5b50600754610546906001600160a01b031681565b34801561061d57600080fd5b5061029661062c366004612165565b610f69565b34801561063d57600080fd5b506102c661064c3660046122bb565b610f76565b34801561065d57600080fd5b5061029661066c3660046122bb565b60146020526000908152604090205460ff1681565b34801561068d57600080fd5b506102fe61069c366004612397565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156106d357600080fd5b506102c66106e236600461236b565b610fe8565b3480156106f357600080fd5b506102c6610702366004612352565b611190565b34801561071357600080fd5b506102c66107223660046122bb565b611286565b34801561073357600080fd5b5060115460125460135461051592919083565b34801561075257600080fd5b50600654610546906001600160a01b031681565b34801561077257600080fd5b5060075461029690600160a81b900460ff1681565b606060038054610796906123c5565b80601f01602080910402602001604051908101604052809291908181526020018280546107c2906123c5565b801561080f5780601f106107e45761010080835404028352916020019161080f565b820191906000526020600020905b8154815290600101906020018083116107f257829003601f168201915b5050505050905090565b6000610826338484611321565b5060015b92915050565b6005546001600160a01b031633146108635760405162461bcd60e51b815260040161085a906123ff565b60405180910390fd5b60005b82518110156108ca57816014600085848151811061088657610886612434565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806108c281612460565b915050610866565b505050565b6005546001600160a01b031633146108f95760405162461bcd60e51b815260040161085a906123ff565b60078054911515600160a81b0260ff60a81b19909216919091179055565b6005546001600160a01b031633146109415760405162461bcd60e51b815260040161085a906123ff565b6001600160a01b0381166109675760405162461bcd60e51b815260040161085a90612479565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146109b35760405162461bcd60e51b815260040161085a906123ff565b600754600160b01b900460ff1615610a0d5760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f742072652d656e61626c652074726164696e670000000000000000604482015260640161085a565b6007805461ffff60a81b191661010160a81b17905543600955565b6000610a35848484611445565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610aba5760405162461bcd60e51b815260206004820152602860248201527f42455032303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161085a565b610ace8533610ac986856124bb565b611321565b506001949350505050565b6005546001600160a01b03163314610b035760405162461bcd60e51b815260040161085a906123ff565b6001600160a01b03919091166000908152601460205260409020805460ff1916911515919091179055565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610826918590610ac99086906124ce565b6005546001600160a01b03163314610b8f5760405162461bcd60e51b815260040161085a906123ff565b612710811115610c075760405162461bcd60e51b815260206004820152603e60248201527f53776170207468726573686f6c6420616d6f756e742073686f756c642062652060448201527f6c6f776572206f7220657175616c20746f203125206f6620746f6b656e730000606482015260840161085a565b610c136012600a6125c5565b610c1d90826125d4565b60085550565b6005546001600160a01b03163314610c4d5760405162461bcd60e51b815260040161085a906123ff565b604080516060810182528481526020810184905201819052600e839055600f8290556010819055601481610c8184866124ce565b610c8b91906124ce565b11156108ca5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420323025206f72206c657373000000604482015260640161085a565b6005546001600160a01b03163314610d035760405162461bcd60e51b815260040161085a906123ff565b604080516060810182528481526020810184905201819052601183905560128290556013819055603281610d3784866124ce565b610d4191906124ce565b11156108ca5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420353025206f72206c657373000000604482015260640161085a565b6005546001600160a01b03163314610db95760405162461bcd60e51b815260040161085a906123ff565b610dc36000611a07565b565b6005546001600160a01b03163314610def5760405162461bcd60e51b815260040161085a906123ff565b816001600160a01b031663a9059cbb610e106005546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af1158015610e5d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ca91906125eb565b606060048054610796906123c5565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610eca573d6000803e3d6000fd5b5050565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610f505760405162461bcd60e51b815260206004820152602560248201527f42455032303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161085a565b610f5f3385610ac986856124bb565b5060019392505050565b6000610826338484611445565b6005546001600160a01b03163314610fa05760405162461bcd60e51b815260040161085a906123ff565b6001600160a01b038116610fc65760405162461bcd60e51b815260040161085a90612479565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146110125760405162461bcd60e51b815260040161085a906123ff565b6103e88310156110765760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d61782062757920616d6f756e74206c6f776572206044820152687468616e20302e312560b81b606482015260840161085a565b6103e88210156110db5760405162461bcd60e51b815260206004820152602a60248201527f43616e6e6f7420736574206d61782073656c6c20616d6f756e74206c6f776572604482015269207468616e20302e312560b01b606482015260840161085a565b6127108110156111405760405162461bcd60e51b815260206004820152602a60248201527f43616e6e6f7420736574206d61782077616c6c657420616d6f756e74206c6f776044820152696572207468616e20312560b01b606482015260840161085a565b61114c6012600a6125c5565b61115690846125d4565b6015556111656012600a6125c5565b61116f90836125d4565b60165561117e6012600a6125c5565b61118890826125d4565b601755505050565b6005546001600160a01b031633146111ba5760405162461bcd60e51b815260040161085a906123ff565b600754600160b01b900460ff16156112225760405162461bcd60e51b815260206004820152602560248201527f43616e2774206368616e6765207768656e2074726164696e6720686173207374604482015264185c9d195960da1b606482015260840161085a565b600a81106112815760405162461bcd60e51b815260206004820152602660248201527f446561646c696e652073686f756c64206265206c657373207468616e20313020604482015265426c6f636b7360d01b606482015260840161085a565b600a55565b6005546001600160a01b031633146112b05760405162461bcd60e51b815260040161085a906123ff565b6001600160a01b0381166113155760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161085a565b61131e81611a07565b50565b6001600160a01b0383166113835760405162461bcd60e51b8152602060048201526024808201527f42455032303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161085a565b6001600160a01b0382166113e45760405162461bcd60e51b815260206004820152602260248201527f42455032303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161085a565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600081116114a75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161085a565b6001600160a01b03831660009081526014602052604090205460ff161580156114e957506001600160a01b03821660009081526014602052604090205460ff16155b1561153d57600754600160b01b900460ff1661153d5760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b604482015260640161085a565b6007546001600160a01b03848116911614801561157357506001600160a01b03821660009081526014602052604090205460ff16155b80156115895750600754600160a01b900460ff16155b1561165b576015548111156115e05760405162461bcd60e51b815260206004820152601d60248201527f596f752061726520657863656564696e67206d61784275794c696d6974000000604482015260640161085a565b60175481611603846001600160a01b031660009081526020819052604090205490565b61160d91906124ce565b111561165b5760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d6974604482015260640161085a565b6007546001600160a01b0384811691161480159061169257506001600160a01b03821660009081526014602052604090205460ff16155b80156116b757506001600160a01b03831660009081526014602052604090205460ff16155b80156116cd5750600754600160a01b900460ff16155b156117b4576016548111156117245760405162461bcd60e51b815260206004820152601e60248201527f596f752061726520657863656564696e67206d617853656c6c4c696d69740000604482015260640161085a565b6007546001600160a01b038381169116146117b4576017548161175c846001600160a01b031660009081526020819052604090205490565b61176691906124ce565b11156117b45760405162461bcd60e51b815260206004820181905260248201527f596f752061726520657863656564696e67206d617857616c6c65744c696d6974604482015260640161085a565b60008060006117dd60405180606001604052806000815260200160008152602001600081525090565b6001600160a01b03871660009081526014602052604081205460ff1615801561181f57506001600160a01b03871660009081526014602052604090205460ff16155b80156118395750600a5460095461183691906124ce565b43105b600754909150600160a01b900460ff168061186c57506001600160a01b03881660009081526014602052604090205460ff165b8061188f57506001600160a01b03871660009081526014602052604090205460ff165b1561189d5760009250611967565b6007546001600160a01b0388811691161480156118b8575080155b15611908576013546011546012546118d091906124ce565b6118da91906124ce565b6040805160608101825260115481526012546020820152601354918101919091529095508594509150611967565b8061195857601054600e54600f5461192091906124ce565b61192a91906124ce565b60408051606081018252600e548152600f546020820152601054918101919091529095508594509150611967565b801561196757600b5494508493505b606461197385886125d4565b61197d9190612608565b600754909350600160a81b900460ff1680156119a757506007546001600160a01b03898116911614155b156119b6576119b68583611a59565b6119ca88886119c5868a6124bb565b611bd2565b82156119fd5784156119fd57600060646119e487896125d4565b6119ee9190612608565b90506119fb893083611bd2565b505b5050505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600754600160a01b900460ff16610eca576007805460ff60a01b1916600160a01b1790558115611bc157306000908152602081905260409020546008548110611bbf5760016008541115611aac57506008545b6000611ab98460026125d4565b9050600081846020015184611ace91906125d4565b611ad89190612608565b90506000611ae682856124bb565b905047611af282611daa565b6000611afe82476124bb565b90506000876020015186611b1291906124bb565b611b1c9083612608565b90506000886020015182611b3091906125d4565b90508015611b4257611b428682611f04565b6040890151600090611b558460026125d4565b611b5f91906125d4565b90508015611b7d57600c54611b7d906001600160a01b031682611fd9565b8951600090611b8d8560026125d4565b611b9791906125d4565b90508015611bb557600d54611bb5906001600160a01b031682611fd9565b5050505050505050505b505b6007805460ff60a01b191690555050565b6001600160a01b038316611c365760405162461bcd60e51b815260206004820152602560248201527f42455032303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161085a565b6001600160a01b038216611c985760405162461bcd60e51b815260206004820152602360248201527f42455032303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161085a565b6001600160a01b03831660009081526020819052604090205481811015611d105760405162461bcd60e51b815260206004820152602660248201527f42455032303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161085a565b611d1a82826124bb565b6001600160a01b038086166000908152602081905260408082209390935590851681529081208054849290611d509084906124ce565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d9c91815260200190565b60405180910390a350505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611ddf57611ddf612434565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611e38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e5c919061262a565b81600181518110611e6f57611e6f612434565b6001600160a01b039283166020918202929092010152600654611e959130911684611321565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac94790611ece908590600090869030904290600401612647565b600060405180830381600087803b158015611ee857600080fd5b505af1158015611efc573d6000803e3d6000fd5b505050505050565b600654611f1c9030906001600160a01b031684611321565b6006546001600160a01b031663f305d719823085600080611f456005546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015611fad573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611fd291906126b8565b5050505050565b804710156120295760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161085a565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612076576040519150601f19603f3d011682016040523d82523d6000602084013e61207b565b606091505b50509050806108ca5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161085a565b600060208083528351808285015260005b8181101561211f57858101830151858201604001528201612103565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461131e57600080fd5b803561216081612140565b919050565b6000806040838503121561217857600080fd5b823561218381612140565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b801515811461131e57600080fd5b8035612160816121a7565b600080604083850312156121d357600080fd5b823567ffffffffffffffff808211156121eb57600080fd5b818501915085601f8301126121ff57600080fd5b813560208282111561221357612213612191565b8160051b604051601f19603f8301168101818110868211171561223857612238612191565b60405292835281830193508481018201928984111561225657600080fd5b948201945b8386101561227b5761226c86612155565b8552948201949382019361225b565b965061228a90508782016121b5565b9450505050509250929050565b6000602082840312156122a957600080fd5b81356122b4816121a7565b9392505050565b6000602082840312156122cd57600080fd5b81356122b481612140565b6000806000606084860312156122ed57600080fd5b83356122f881612140565b9250602084013561230881612140565b929592945050506040919091013590565b6000806040838503121561232c57600080fd5b823561233781612140565b91506020830135612347816121a7565b809150509250929050565b60006020828403121561236457600080fd5b5035919050565b60008060006060848603121561238057600080fd5b505081359360208301359350604090920135919050565b600080604083850312156123aa57600080fd5b82356123b581612140565b9150602083013561234781612140565b600181811c908216806123d957607f821691505b6020821081036123f957634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016124725761247261244a565b5060010190565b60208082526022908201527f46656520416464726573732063616e6e6f74206265207a65726f206164647265604082015261737360f01b606082015260800190565b8181038181111561082a5761082a61244a565b8082018082111561082a5761082a61244a565b600181815b8085111561251c5781600019048211156125025761250261244a565b8085161561250f57918102915b93841c93908002906124e6565b509250929050565b6000826125335750600161082a565b816125405750600061082a565b816001811461255657600281146125605761257c565b600191505061082a565b60ff8411156125715761257161244a565b50506001821b61082a565b5060208310610133831016604e8410600b841016171561259f575081810a61082a565b6125a983836124e1565b80600019048211156125bd576125bd61244a565b029392505050565b60006122b460ff841683612524565b808202811582820484141761082a5761082a61244a565b6000602082840312156125fd57600080fd5b81516122b4816121a7565b60008261262557634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561263c57600080fd5b81516122b481612140565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156126975784516001600160a01b031683529383019391830191600101612672565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156126cd57600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220e2b0a1b978d1590c8efd94d8675b3608888afc9d7f4445c104f32a18755b21e464736f6c63430008110033
Deployed Bytecode Sourcemap
12396:11786:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2596:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14454:193;;;;;;;;;;-1:-1:-1;14454:193:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;14454:193:0;1162:187:1;23669:202:0;;;;;;;;;;-1:-1:-1;23669:202:0;;;;;:::i;:::-;;:::i;:::-;;21258:108;;;;;;;;;;-1:-1:-1;21258:108:0;;;;;:::i;:::-;;:::i;12663:53::-;;;;;;;;;;;;;;;;;;;3330:25:1;;;3318:2;3303:18;12663:53:0;3184:177:1;3716:108:0;;;;;;;;;;-1:-1:-1;3804:12:0;;3716:108;;23349:184;;;;;;;;;;-1:-1:-1;23349:184:0;;;;;:::i;:::-;;:::i;22142:222::-;;;;;;;;;;;;;:::i;14655:485::-;;;;;;;;;;-1:-1:-1;14655:485:0;;;;;:::i;:::-;;:::i;12726:28::-;;;;;;;;;;;;;;;;3558:93;;;;;;;;;;-1:-1:-1;3558:93:0;;3641:2;4221:36:1;;4209:2;4194:18;3558:93:0;4079:184:1;23541:120:0;;;;;;;;;;-1:-1:-1;23541:120:0;;;;;:::i;:::-;;:::i;15148:298::-;;;;;;;;;;-1:-1:-1;15148:298:0;;;;;:::i;:::-;;:::i;21374:247::-;;;;;;;;;;-1:-1:-1;21374:247:0;;;;;:::i;:::-;;:::i;21629:246::-;;;;;;;;;;-1:-1:-1;21629:246:0;;;;;:::i;:::-;;:::i;12620:34::-;;;;;;;;;;-1:-1:-1;12620:34:0;;;;-1:-1:-1;;;12620:34:0;;;;;;21883:251;;;;;;;;;;-1:-1:-1;21883:251:0;;;;;:::i;:::-;;:::i;13377:42::-;;;;;;;;;;;;;;;;13427:44;;;;;;;;;;;;;;;;13328:41;;;;;;;;;;;;;;;;3887:177;;;;;;;;;;-1:-1:-1;3887:177:0;;;;;:::i;:::-;-1:-1:-1;;;;;4038:18:0;4006:7;4038:18;;;;;;;;;;;;3887:177;11004:94;;;;;;;;;;;;;:::i;13190:35::-;;;;;;;;;;-1:-1:-1;13190:35:0;;;;;;;;;;;;;;;;5363:25:1;;;5419:2;5404:18;;5397:34;;;;5447:18;;;5440:34;5351:2;5336:18;13190:35:0;5161:319:1;12995:79:0;;;;;;;;;;;;13032:42;12995:79;;;;;-1:-1:-1;;;;;5649:32:1;;;5631:51;;5619:2;5604:18;12995:79:0;5485:203:1;23989:135:0;;;;;;;;;;-1:-1:-1;23989:135:0;;;;;:::i;:::-;;:::i;10781:87::-;;;;;;;;;;-1:-1:-1;10854:6:0;;-1:-1:-1;;;;;10854:6:0;10781:87;;2815:104;;;;;;;;;;;;;:::i;23879:102::-;;;;;;;;;;-1:-1:-1;23879:102:0;;;;;:::i;:::-;;:::i;15454:409::-;;;;;;;;;;-1:-1:-1;15454:409:0;;;;;:::i;:::-;;:::i;12509:19::-;;;;;;;;;;-1:-1:-1;12509:19:0;;;;-1:-1:-1;;;;;12509:19:0;;;15871:197;;;;;;;;;;-1:-1:-1;15871:197:0;;;;;:::i;:::-;;:::i;23144:196::-;;;;;;;;;;-1:-1:-1;23144:196:0;;;;;:::i;:::-;;:::i;13280:41::-;;;;;;;;;;-1:-1:-1;13280:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4556:201;;;;;;;;;;-1:-1:-1;4556:201:0;;;;;:::i;:::-;-1:-1:-1;;;;;4722:18:0;;;4690:7;4722:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4556:201;22634:498;;;;;;;;;;-1:-1:-1;22634:498:0;;;;;:::i;:::-;;:::i;22372:253::-;;;;;;;;;;-1:-1:-1;22372:253:0;;;;;:::i;:::-;;:::i;11106:229::-;;;;;;;;;;-1:-1:-1;11106:229:0;;;;;:::i;:::-;;:::i;13232:39::-;;;;;;;;;;-1:-1:-1;13232:39:0;;;;;;;;;;;;12481:21;;;;;;;;;;-1:-1:-1;12481:21:0;;;;-1:-1:-1;;;;;12481:21:0;;;12575:38;;;;;;;;;;-1:-1:-1;12575:38:0;;;;-1:-1:-1;;;12575:38:0;;;;;;2596:100;2650:13;2683:5;2676:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2596:100;:::o;14454:193::-;14556:4;14578:39;319:10;14601:7;14610:6;14578:8;:39::i;:::-;-1:-1:-1;14635:4:0;14454:193;;;;;:::o;23669:202::-;10854:6;;-1:-1:-1;;;;;10854:6:0;319:10;10916:23;10908:68;;;;-1:-1:-1;;;10908:68:0;;;;;;;:::i;:::-;;;;;;;;;23766:9:::1;23761:103;23785:8;:15;23781:1;:19;23761:103;;;23847:5;23822:9;:22;23832:8;23841:1;23832:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;23822:22:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;23822:22:0;:30;;-1:-1:-1;;23822:30:0::1;::::0;::::1;;::::0;;;::::1;::::0;;23802:3;::::1;::::0;::::1;:::i;:::-;;;;23761:103;;;;23669:202:::0;;:::o;21258:108::-;10854:6;;-1:-1:-1;;;;;10854:6:0;319:10;10916:23;10908:68;;;;-1:-1:-1;;;10908:68:0;;;;;;;:::i;:::-;21332:18:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;21332:26:0::1;-1:-1:-1::0;;;;21332:26:0;;::::1;::::0;;;::::1;::::0;;21258:108::o;23349:184::-;10854:6;;-1:-1:-1;;;;;10854:6:0;319:10;10916:23;10908:68;;;;-1:-1:-1;;;10908:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;23431:23:0;::::1;23423:70;;;;-1:-1:-1::0;;;23423:70:0::1;;;;;;;:::i;:::-;23504:9;:21:::0;;-1:-1:-1;;;;;;23504:21:0::1;-1:-1:-1::0;;;;;23504:21:0;;;::::1;::::0;;;::::1;::::0;;23349:184::o;22142:222::-;10854:6;;-1:-1:-1;;;;;10854:6:0;319:10;10916:23;10908:68;;;;-1:-1:-1;;;10908:68:0;;;;;;;:::i;:::-;22206:14:::1;::::0;-1:-1:-1;;;22206:14:0;::::1;;;22205:15;22197:52;;;::::0;-1:-1:-1;;;22197:52:0;;8064:2:1;22197:52:0::1;::::0;::::1;8046:21:1::0;8103:2;8083:18;;;8076:30;8142:26;8122:18;;;8115:54;8186:18;;22197:52:0::1;7862:348:1::0;22197:52:0::1;22260:14;:21:::0;;-1:-1:-1;;;;22292:25:0;-1:-1:-1;;;22292:25:0;;;22344:12:::1;22328:13;:28:::0;22142:222::o;14655:485::-;14787:4;14804:36;14814:6;14822:9;14833:6;14804:9;:36::i;:::-;-1:-1:-1;;;;;14880:19:0;;14853:24;14880:19;;;:11;:19;;;;;;;;319:10;14880:33;;;;;;;;14946:26;;;;14924:116;;;;-1:-1:-1;;;14924:116:0;;8417:2:1;14924:116:0;;;8399:21:1;8456:2;8436:18;;;8429:30;8495:34;8475:18;;;8468:62;-1:-1:-1;;;8546:18:1;;;8539:38;8594:19;;14924:116:0;8215:404:1;14924:116:0;15051:57;15060:6;319:10;15082:25;15101:6;15082:16;:25;:::i;:::-;15051:8;:57::i;:::-;-1:-1:-1;15128:4:0;;14655:485;-1:-1:-1;;;;14655:485:0:o;23541:120::-;10854:6;;-1:-1:-1;;;;;10854:6:0;319:10;10916:23;10908:68;;;;-1:-1:-1;;;10908:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;23626:19:0;;;::::1;;::::0;;;:9:::1;:19;::::0;;;;:27;;-1:-1:-1;;23626:27:0::1;::::0;::::1;;::::0;;;::::1;::::0;;23541:120::o;15148:298::-;319:10;15264:4;15358:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;15358:34:0;;;;;;;;;;15264:4;;15286:130;;15336:7;;15358:47;;15395:10;;15358:47;:::i;21374:247::-;10854:6;;-1:-1:-1;;;;;10854:6:0;319:10;10916:23;10908:68;;;;-1:-1:-1;;;10908:68:0;;;;;;;:::i;:::-;21480:3:::1;21466:10;:17;;21458:91;;;::::0;-1:-1:-1;;;21458:91:0;;9089:2:1;21458:91:0::1;::::0;::::1;9071:21:1::0;9128:2;9108:18;;;9101:30;9167:34;9147:18;;;9140:62;9238:32;9218:18;;;9211:60;9288:19;;21458:91:0::1;8887:426:1::0;21458:91:0::1;21599:14;3641:2:::0;21599::::1;:14;:::i;:::-;21586:27;::::0;:10;:27:::1;:::i;:::-;21560:23;:53:::0;-1:-1:-1;21374:247:0:o;21629:246::-;10854:6;;-1:-1:-1;;;;;10854:6:0;319:10;10916:23;10908:68;;;;-1:-1:-1;;;10908:68:0;;;;;;;:::i;:::-;21742:35:::1;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;21734:5:::1;:43:::0;;;;;;;;;;;21832:2:::1;21772:4:::0;21797:23:::1;21760:10:::0;21748;21797:23:::1;:::i;:::-;:30;;;;:::i;:::-;21796:38;;21788:79;;;::::0;-1:-1:-1;;;21788:79:0;;11076:2:1;21788:79:0::1;::::0;::::1;11058:21:1::0;11115:2;11095:18;;;11088:30;11154:31;11134:18;;;11127:59;11203:18;;21788:79:0::1;10874:353:1::0;21883:251:0;10854:6;;-1:-1:-1;;;;;10854:6:0;319:10;10916:23;10908:68;;;;-1:-1:-1;;;10908:68:0;;;;;;;:::i;:::-;22001:35:::1;::::0;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;21989:9:::1;:47:::0;;;;;;;;;;;22091:2:::1;22031:4:::0;22056:23:::1;22019:10:::0;22007;22056:23:::1;:::i;:::-;:30;;;;:::i;:::-;22055:38;;22047:79;;;::::0;-1:-1:-1;;;22047:79:0;;11434:2:1;22047:79:0::1;::::0;::::1;11416:21:1::0;11473:2;11453:18;;;11446:30;11512:31;11492:18;;;11485:59;11561:18;;22047:79:0::1;11232:353:1::0;11004:94:0;10854:6;;-1:-1:-1;;;;;10854:6:0;319:10;10916:23;10908:68;;;;-1:-1:-1;;;10908:68:0;;;;;;;:::i;:::-;11069:21:::1;11087:1;11069:9;:21::i;:::-;11004:94::o:0;23989:135::-;10854:6;;-1:-1:-1;;;;;10854:6:0;319:10;10916:23;10908:68;;;;-1:-1:-1;;;10908:68:0;;;;;;;:::i;:::-;24081:8:::1;-1:-1:-1::0;;;;;24074:25:0::1;;24100:7;10854:6:::0;;-1:-1:-1;;;;;10854:6:0;;10781:87;24100:7:::1;24074:42;::::0;-1:-1:-1;;;;;;24074:42:0::1;::::0;;;;;;-1:-1:-1;;;;;11782:32:1;;;24074:42:0::1;::::0;::::1;11764:51:1::0;11831:18;;;11824:34;;;11737:18;;24074:42:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2815:104::-:0;2871:13;2904:7;2897:14;;;;;:::i;23879:102::-;10854:6;;23937:36;;-1:-1:-1;;;;;10854:6:0;;;;23937:36;;;;;23963:9;;23937:36;;;;23963:9;10854:6;23937:36;;;;;;;;;;;;;;;;;;;;;23879:102;:::o;15454:409::-;319:10;15575:4;15624:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;15624:34:0;;;;;;;;;;15677:35;;;;15669:84;;;;-1:-1:-1;;;15669:84:0;;12321:2:1;15669:84:0;;;12303:21:1;12360:2;12340:18;;;12333:30;12399:34;12379:18;;;12372:62;-1:-1:-1;;;12450:18:1;;;12443:35;12495:19;;15669:84:0;12119:401:1;15669:84:0;15764:67;319:10;15787:7;15796:34;15815:15;15796:16;:34;:::i;15764:67::-;-1:-1:-1;15851:4:0;;15454:409;-1:-1:-1;;;15454:409:0:o;15871:197::-;15976:4;15998:40;16008:10;16020:9;16031:6;15998:9;:40::i;23144:196::-;10854:6;;-1:-1:-1;;;;;10854:6:0;319:10;10916:23;10908:68;;;;-1:-1:-1;;;10908:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;23232:23:0;::::1;23224:70;;;;-1:-1:-1::0;;;23224:70:0::1;;;;;;;:::i;:::-;23305:15;:27:::0;;-1:-1:-1;;;;;;23305:27:0::1;-1:-1:-1::0;;;;;23305:27:0;;;::::1;::::0;;;::::1;::::0;;23144:196::o;22634:498::-;10854:6;;-1:-1:-1;;;;;10854:6:0;319:10;10916:23;10908:68;;;;-1:-1:-1;;;10908:68:0;;;;;;;:::i;:::-;22760:3:::1;22750:6;:13;;22742:67;;;::::0;-1:-1:-1;;;22742:67:0;;12727:2:1;22742:67:0::1;::::0;::::1;12709:21:1::0;12766:2;12746:18;;;12739:30;12805:34;12785:18;;;12778:62;-1:-1:-1;;;12856:18:1;;;12849:39;12905:19;;22742:67:0::1;12525:405:1::0;22742:67:0::1;22839:3;22828:7;:14;;22820:69;;;::::0;-1:-1:-1;;;22820:69:0;;13137:2:1;22820:69:0::1;::::0;::::1;13119:21:1::0;13176:2;13156:18;;;13149:30;13215:34;13195:18;;;13188:62;-1:-1:-1;;;13266:18:1;;;13259:40;13316:19;;22820:69:0::1;12935:406:1::0;22820:69:0::1;22921:3;22908:9;:16;;22900:71;;;::::0;-1:-1:-1;;;22900:71:0;;13548:2:1;22900:71:0::1;::::0;::::1;13530:21:1::0;13587:2;13567:18;;;13560:30;13626:34;13606:18;;;13599:62;-1:-1:-1;;;13677:18:1;;;13670:40;13727:19;;22900:71:0::1;13346:406:1::0;22900:71:0::1;23005:14;3641:2:::0;23005::::1;:14;:::i;:::-;22996:23;::::0;:6;:23:::1;:::i;:::-;22982:11;:37:::0;23055:14:::1;3641:2:::0;23055::::1;:14;:::i;:::-;23045:24;::::0;:7;:24:::1;:::i;:::-;23030:12;:39:::0;23109:14:::1;3641:2:::0;23109::::1;:14;:::i;:::-;23097:26;::::0;:9;:26:::1;:::i;:::-;23080:14;:43:::0;-1:-1:-1;;;22634:498:0:o;22372:253::-;10854:6;;-1:-1:-1;;;;;10854:6:0;319:10;10916:23;10908:68;;;;-1:-1:-1;;;10908:68:0;;;;;;;:::i;:::-;22454:14:::1;::::0;-1:-1:-1;;;22454:14:0;::::1;;;22453:15;22445:65;;;::::0;-1:-1:-1;;;22445:65:0;;13959:2:1;22445:65:0::1;::::0;::::1;13941:21:1::0;13998:2;13978:18;;;13971:30;14037:34;14017:18;;;14010:62;-1:-1:-1;;;14088:18:1;;;14081:35;14133:19;;22445:65:0::1;13757:401:1::0;22445:65:0::1;22541:2;22529:9;:14;22521:65;;;::::0;-1:-1:-1;;;22521:65:0;;14365:2:1;22521:65:0::1;::::0;::::1;14347:21:1::0;14404:2;14384:18;;;14377:30;14443:34;14423:18;;;14416:62;-1:-1:-1;;;14494:18:1;;;14487:36;14540:19;;22521:65:0::1;14163:402:1::0;22521:65:0::1;22597:8;:20:::0;22372:253::o;11106:229::-;10854:6;;-1:-1:-1;;;;;10854:6:0;319:10;10916:23;10908:68;;;;-1:-1:-1;;;10908:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11209:22:0;::::1;11187:110;;;::::0;-1:-1:-1;;;11187:110:0;;14772:2:1;11187:110:0::1;::::0;::::1;14754:21:1::0;14811:2;14791:18;;;14784:30;14850:34;14830:18;;;14823:62;-1:-1:-1;;;14901:18:1;;;14894:36;14947:19;;11187:110:0::1;14570:402:1::0;11187:110:0::1;11308:19;11318:8;11308:9;:19::i;:::-;11106:229:::0;:::o;9717:380::-;-1:-1:-1;;;;;9853:19:0;;9845:68;;;;-1:-1:-1;;;9845:68:0;;15179:2:1;9845:68:0;;;15161:21:1;15218:2;15198:18;;;15191:30;15257:34;15237:18;;;15230:62;-1:-1:-1;;;15308:18:1;;;15301:34;15352:19;;9845:68:0;14977:400:1;9845:68:0;-1:-1:-1;;;;;9932:21:0;;9924:68;;;;-1:-1:-1;;;9924:68:0;;15584:2:1;9924:68:0;;;15566:21:1;15623:2;15603:18;;;15596:30;15662:34;15642:18;;;15635:62;-1:-1:-1;;;15713:18:1;;;15706:32;15755:19;;9924:68:0;15382:398:1;9924:68:0;-1:-1:-1;;;;;10005:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10057:32;;3330:25:1;;;10057:32:0;;3303:18:1;10057:32:0;;;;;;;9717:380;;;:::o;16076:2508::-;16226:1;16217:6;:10;16209:64;;;;-1:-1:-1;;;16209:64:0;;15987:2:1;16209:64:0;;;15969:21:1;16026:2;16006:18;;;15999:30;16065:34;16045:18;;;16038:62;-1:-1:-1;;;16116:18:1;;;16109:39;16165:19;;16209:64:0;15785:405:1;16209:64:0;-1:-1:-1;;;;;16298:17:0;;;;;;:9;:17;;;;;;;;16297:18;:43;;;;-1:-1:-1;;;;;;16320:20:0;;;;;;:9;:20;;;;;;;;16319:21;16297:43;16293:122;;;16365:14;;-1:-1:-1;;;16365:14:0;;;;16357:46;;;;-1:-1:-1;;;16357:46:0;;16397:2:1;16357:46:0;;;16379:21:1;16436:2;16416:18;;;16409:30;-1:-1:-1;;;16455:18:1;;;16448:49;16514:18;;16357:46:0;16195:343:1;16357:46:0;16441:4;;-1:-1:-1;;;;;16431:14:0;;;16441:4;;16431:14;:39;;;;-1:-1:-1;;;;;;16450:20:0;;;;;;:9;:20;;;;;;;;16449:21;16431:39;:54;;;;-1:-1:-1;16475:10:0;;-1:-1:-1;;;16475:10:0;;;;16474:11;16431:54;16427:256;;;16520:11;;16510:6;:21;;16502:63;;;;-1:-1:-1;;;16502:63:0;;16745:2:1;16502:63:0;;;16727:21:1;16784:2;16764:18;;;16757:30;16823:31;16803:18;;;16796:59;16872:18;;16502:63:0;16543:353:1;16502:63:0;16621:14;;16611:6;16588:20;16598:9;-1:-1:-1;;;;;4038:18:0;4006:7;4038:18;;;;;;;;;;;;3887:177;16588:20;:29;;;;:::i;:::-;:47;;16580:91;;;;-1:-1:-1;;;16580:91:0;;17103:2:1;16580:91:0;;;17085:21:1;;;17122:18;;;17115:30;17181:34;17161:18;;;17154:62;17233:18;;16580:91:0;16901:356:1;16580:91:0;16709:4;;-1:-1:-1;;;;;16699:14:0;;;16709:4;;16699:14;;;;:39;;-1:-1:-1;;;;;;16718:20:0;;;;;;:9;:20;;;;;;;;16717:21;16699:39;:61;;;;-1:-1:-1;;;;;;16743:17:0;;;;;;:9;:17;;;;;;;;16742:18;16699:61;:76;;;;-1:-1:-1;16765:10:0;;-1:-1:-1;;;16765:10:0;;;;16764:11;16699:76;16695:343;;;16810:12;;16800:6;:22;;16792:65;;;;-1:-1:-1;;;16792:65:0;;17464:2:1;16792:65:0;;;17446:21:1;17503:2;17483:18;;;17476:30;17542:32;17522:18;;;17515:60;17592:18;;16792:65:0;17262:354:1;16792:65:0;16899:4;;-1:-1:-1;;;;;16886:17:0;;;16899:4;;16886:17;16882:145;;16961:14;;16951:6;16928:20;16938:9;-1:-1:-1;;;;;4038:18:0;4006:7;4038:18;;;;;;;;;;;;3887:177;16928:20;:29;;;;:::i;:::-;:47;;16920:91;;;;-1:-1:-1;;;16920:91:0;;17103:2:1;16920:91:0;;;17085:21:1;;;17122:18;;;17115:30;17181:34;17161:18;;;17154:62;17233:18;;16920:91:0;16901:356:1;16920:91:0;17058:15;17084:14;17109:11;17131:25;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;17131:25:0;-1:-1:-1;;;;;17190:17:0;;17169;17190;;;:9;:17;;;;;;;;17189:18;:56;;;;-1:-1:-1;;;;;;17225:20:0;;;;;;:9;:20;;;;;;;;17224:21;17189:56;:112;;;;;17293:8;;17277:13;;:24;;;;:::i;:::-;17262:12;:39;17189:112;17389:10;;17169:132;;-1:-1:-1;;;;17389:10:0;;;;;:31;;-1:-1:-1;;;;;;17403:17:0;;;;;;:9;:17;;;;;;;;17389:31;:55;;;-1:-1:-1;;;;;;17424:20:0;;;;;;:9;:20;;;;;;;;17389:55;17385:608;;;17465:1;17459:7;;17385:608;;;17530:4;;-1:-1:-1;;;;;17517:17:0;;;17530:4;;17517:17;:34;;;;;17539:12;17538:13;17517:34;17513:480;;;17622:13;;:9;17600:19;17578;;:41;;17600:19;17578:41;:::i;:::-;:57;;;;:::i;:::-;17681:24;;;;;;;;17696:9;17681:24;;;;;;;;;;;;;;;;;;17568:67;;-1:-1:-1;17568:67:0;;-1:-1:-1;17681:24:0;-1:-1:-1;17513:480:0;;;17728:12;17723:270;;17803:9;;:5;17785:15;17767;;:33;;17785:15;17767:33;:::i;:::-;:45;;;;:::i;:::-;17858:20;;;;;;;;17873:5;17858:20;;;;;;;;;;;;;;;;;;17757:55;;-1:-1:-1;17757:55:0;;-1:-1:-1;17858:20:0;-1:-1:-1;17723:270:0;;;17900:12;17896:97;;;17939:9;;;-1:-1:-1;17939:9:0;;-1:-1:-1;17896:97:0;18031:3;18012:15;18021:6;18012;:15;:::i;:::-;18011:23;;;;:::i;:::-;18148:18;;18005:29;;-1:-1:-1;;;;18148:18:0;;;;:36;;;;-1:-1:-1;18180:4:0;;-1:-1:-1;;;;;18170:14:0;;;18180:4;;18170:14;;18148:36;18144:85;;;18199:30;18207:7;18216:12;18199:7;:30::i;:::-;18271:48;18287:6;18295:9;18306:12;18315:3;18306:6;:12;:::i;:::-;18271:15;:48::i;:::-;18334:7;;18330:247;;18406:11;;18402:164;;18438:17;18479:3;18459:16;18468:7;18459:6;:16;:::i;:::-;18458:24;;;;:::i;:::-;18438:44;;18501:49;18517:6;18533:4;18540:9;18501:15;:49::i;:::-;18419:147;18402:164;16198:2386;;;;;16076:2508;;;:::o;11343:173::-;11418:6;;;-1:-1:-1;;;;;11435:17:0;;;-1:-1:-1;;;;;;11435:17:0;;;;;;;11468:40;;11418:6;;;11435:17;11418:6;;11468:40;;11399:16;;11468:40;11388:128;11343:173;:::o;18592:1613::-;13591:10;;-1:-1:-1;;;13591:10:0;;;;13586:110;;13618:10;:17;;-1:-1:-1;;;;13618:17:0;-1:-1:-1;;;13618:17:0;;;18681:51;;18714:7:::1;18681:51;18788:4;18744:23;4038:18:::0;;;;;;;;;;;18828:23:::1;::::0;18809:42;::::1;18805:1393;;18898:1;18872:23;;:27;18868:109;;;-1:-1:-1::0;18938:23:0::1;::::0;18868:109:::1;19048:19;19070:11;:7:::0;19080:1:::1;19070:11;:::i;:::-;19048:33;;19096:32;19173:11;19150:9;:19;;;19132:15;:37;;;;:::i;:::-;19131:53;;;;:::i;:::-;19096:88:::0;-1:-1:-1;19199:14:0::1;19216:42;19096:88:::0;19216:15;:42:::1;:::i;:::-;19199:59:::0;-1:-1:-1;19300:21:0::1;19338:24;19199:59:::0;19338:16:::1;:24::i;:::-;19379:20;19402:38;19426:14:::0;19402:21:::1;:38;:::i;:::-;19379:61;;19455:19;19507:9;:19;;;19493:11;:33;;;;:::i;:::-;19477:50;::::0;:12;:50:::1;:::i;:::-;19455:72;;19542:29;19588:9;:19;;;19574:11;:33;;;;:::i;:::-;19542:65:::0;-1:-1:-1;19628:25:0;;19624:172:::1;;19719:61;19732:24;19758:21;19719:12;:61::i;:::-;19854:13;::::0;::::1;::::0;19813:20:::1;::::0;19836:15:::1;:11:::0;19850:1:::1;19836:15;:::i;:::-;:31;;;;:::i;:::-;19813:54:::0;-1:-1:-1;19887:16:0;;19883:96:::1;;19933:9;::::0;19925:42:::1;::::0;-1:-1:-1;;;;;19933:9:0::1;19954:12:::0;19925:28:::1;:42::i;:::-;20048:19:::0;;20007:20:::1;::::0;20030:15:::1;:11:::0;20044:1:::1;20030:15;:::i;:::-;:37;;;;:::i;:::-;20007:60:::0;-1:-1:-1;20086:16:0;;20082:105:::1;;20131:15;::::0;20123:48:::1;::::0;-1:-1:-1;;;;;20131:15:0::1;20158:12:::0;20123:34:::1;:48::i;:::-;18853:1345;;;;;;;;;18805:1393;18670:1535;13650:1;13666:10:::0;:18;;-1:-1:-1;;;;13666:18:0;;;18592:1613;;:::o;8234:615::-;-1:-1:-1;;;;;8374:20:0;;8366:70;;;;-1:-1:-1;;;8366:70:0;;18045:2:1;8366:70:0;;;18027:21:1;18084:2;18064:18;;;18057:30;18123:34;18103:18;;;18096:62;-1:-1:-1;;;18174:18:1;;;18167:35;18219:19;;8366:70:0;17843:401:1;8366:70:0;-1:-1:-1;;;;;8455:23:0;;8447:71;;;;-1:-1:-1;;;8447:71:0;;18451:2:1;8447:71:0;;;18433:21:1;18490:2;18470:18;;;18463:30;18529:34;18509:18;;;18502:62;-1:-1:-1;;;18580:18:1;;;18573:33;18623:19;;8447:71:0;18249:399:1;8447:71:0;-1:-1:-1;;;;;8555:17:0;;8531:21;8555:17;;;;;;;;;;;8605:23;;;;8583:111;;;;-1:-1:-1;;;8583:111:0;;18855:2:1;8583:111:0;;;18837:21:1;18894:2;18874:18;;;18867:30;18933:34;18913:18;;;18906:62;-1:-1:-1;;;18984:18:1;;;18977:36;19030:19;;8583:111:0;18653:402:1;8583:111:0;8725:22;8741:6;8725:13;:22;:::i;:::-;-1:-1:-1;;;;;8705:17:0;;;:9;:17;;;;;;;;;;;:42;;;;8758:20;;;;;;;;:30;;8782:6;;8705:9;8758:30;;8782:6;;8758:30;:::i;:::-;;;;;;;;8823:9;-1:-1:-1;;;;;8806:35:0;8815:6;-1:-1:-1;;;;;8806:35:0;;8834:6;8806:35;;;;3330:25:1;;3318:2;3303:18;;3184:177;8806:35:0;;;;;;;;8355:494;8234:615;;;:::o;20213:534::-;20363:16;;;20377:1;20363:16;;;;;;;;20339:21;;20363:16;;;;;;;;;;-1:-1:-1;20363:16:0;20339:40;;20408:4;20390;20395:1;20390:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20390:23:0;;;:7;;;;;;;;;;:23;;;;20434:6;;:13;;;-1:-1:-1;;;20434:13:0;;;;:6;;;;;:11;;:13;;;;;20390:7;;20434:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20424:4;20429:1;20424:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20424:23:0;;;:7;;;;;;;;;:23;20492:6;;20460:53;;20477:4;;20492:6;20501:11;20460:8;:53::i;:::-;20552:6;;:187;;-1:-1:-1;;;20552:187:0;;-1:-1:-1;;;;;20552:6:0;;;;:57;;:187;;20624:11;;20552:6;;20666:4;;20693;;20713:15;;20552:187;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20268:479;20213:534;:::o;20755:495::-;20935:6;;20903:53;;20920:4;;-1:-1:-1;;;;;20935:6:0;20944:11;20903:8;:53::i;:::-;20999:6;;-1:-1:-1;;;;;20999:6:0;:22;21029:9;21062:4;21082:11;20999:6;;21194:7;10854:6;;-1:-1:-1;;;;;10854:6:0;;10781:87;21194:7;20999:243;;;;;;-1:-1:-1;;;;;;20999:243:0;;;-1:-1:-1;;;;;20660:15:1;;;20999:243:0;;;20642:34:1;20692:18;;;20685:34;;;;20735:18;;;20728:34;;;;20778:18;;;20771:34;20842:15;;;20821:19;;;20814:44;21216:15:0;20874:19:1;;;20867:35;20576:19;;20999:243:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;20755:495;;:::o;10127:391::-;10256:6;10231:21;:31;;10209:110;;;;-1:-1:-1;;;10209:110:0;;21426:2:1;10209:110:0;;;21408:21:1;21465:2;21445:18;;;21438:30;21504:31;21484:18;;;21477:59;21553:18;;10209:110:0;21224:353:1;10209:110:0;10333:12;10351:9;-1:-1:-1;;;;;10351:14:0;10373:6;10351:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10332:52;;;10417:7;10395:115;;;;-1:-1:-1;;;10395:115:0;;21994:2:1;10395:115:0;;;21976:21:1;22033:2;22013:18;;;22006:30;22072:34;22052:18;;;22045:62;22143:28;22123:18;;;22116:56;22189:19;;10395:115:0;21792:422:1;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:134;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1354:127::-;1415:10;1410:3;1406:20;1403:1;1396:31;1446:4;1443:1;1436:15;1470:4;1467:1;1460:15;1486:118;1572:5;1565:13;1558:21;1551:5;1548:32;1538:60;;1594:1;1591;1584:12;1609:128;1674:20;;1703:28;1674:20;1703:28;:::i;1742:1191::-;1832:6;1840;1893:2;1881:9;1872:7;1868:23;1864:32;1861:52;;;1909:1;1906;1899:12;1861:52;1949:9;1936:23;1978:18;2019:2;2011:6;2008:14;2005:34;;;2035:1;2032;2025:12;2005:34;2073:6;2062:9;2058:22;2048:32;;2118:7;2111:4;2107:2;2103:13;2099:27;2089:55;;2140:1;2137;2130:12;2089:55;2176:2;2163:16;2198:4;2221:2;2217;2214:10;2211:36;;;2227:18;;:::i;:::-;2273:2;2270:1;2266:10;2305:2;2299:9;2368:2;2364:7;2359:2;2355;2351:11;2347:25;2339:6;2335:38;2423:6;2411:10;2408:22;2403:2;2391:10;2388:18;2385:46;2382:72;;;2434:18;;:::i;:::-;2470:2;2463:22;2520:18;;;2554:15;;;;-1:-1:-1;2596:11:1;;;2592:20;;;2624:19;;;2621:39;;;2656:1;2653;2646:12;2621:39;2680:11;;;;2700:148;2716:6;2711:3;2708:15;2700:148;;;2782:23;2801:3;2782:23;:::i;:::-;2770:36;;2733:12;;;;2826;;;;2700:148;;;2867:6;-1:-1:-1;2892:35:1;;-1:-1:-1;2908:18:1;;;2892:35;:::i;:::-;2882:45;;;;;;1742:1191;;;;;:::o;2938:241::-;2994:6;3047:2;3035:9;3026:7;3022:23;3018:32;3015:52;;;3063:1;3060;3053:12;3015:52;3102:9;3089:23;3121:28;3143:5;3121:28;:::i;:::-;3168:5;2938:241;-1:-1:-1;;;2938:241:1:o;3366:247::-;3425:6;3478:2;3466:9;3457:7;3453:23;3449:32;3446:52;;;3494:1;3491;3484:12;3446:52;3533:9;3520:23;3552:31;3577:5;3552:31;:::i;3618:456::-;3695:6;3703;3711;3764:2;3752:9;3743:7;3739:23;3735:32;3732:52;;;3780:1;3777;3770:12;3732:52;3819:9;3806:23;3838:31;3863:5;3838:31;:::i;:::-;3888:5;-1:-1:-1;3945:2:1;3930:18;;3917:32;3958:33;3917:32;3958:33;:::i;:::-;3618:456;;4010:7;;-1:-1:-1;;;4064:2:1;4049:18;;;;4036:32;;3618:456::o;4268:382::-;4333:6;4341;4394:2;4382:9;4373:7;4369:23;4365:32;4362:52;;;4410:1;4407;4400:12;4362:52;4449:9;4436:23;4468:31;4493:5;4468:31;:::i;:::-;4518:5;-1:-1:-1;4575:2:1;4560:18;;4547:32;4588:30;4547:32;4588:30;:::i;:::-;4637:7;4627:17;;;4268:382;;;;;:::o;4655:180::-;4714:6;4767:2;4755:9;4746:7;4742:23;4738:32;4735:52;;;4783:1;4780;4773:12;4735:52;-1:-1:-1;4806:23:1;;4655:180;-1:-1:-1;4655:180:1:o;4840:316::-;4917:6;4925;4933;4986:2;4974:9;4965:7;4961:23;4957:32;4954:52;;;5002:1;4999;4992:12;4954:52;-1:-1:-1;;5025:23:1;;;5095:2;5080:18;;5067:32;;-1:-1:-1;5146:2:1;5131:18;;;5118:32;;4840:316;-1:-1:-1;4840:316:1:o;5693:388::-;5761:6;5769;5822:2;5810:9;5801:7;5797:23;5793:32;5790:52;;;5838:1;5835;5828:12;5790:52;5877:9;5864:23;5896:31;5921:5;5896:31;:::i;:::-;5946:5;-1:-1:-1;6003:2:1;5988:18;;5975:32;6016:33;5975:32;6016:33;:::i;6309:380::-;6388:1;6384:12;;;;6431;;;6452:61;;6506:4;6498:6;6494:17;6484:27;;6452:61;6559:2;6551:6;6548:14;6528:18;6525:38;6522:161;;6605:10;6600:3;6596:20;6593:1;6586:31;6640:4;6637:1;6630:15;6668:4;6665:1;6658:15;6522:161;;6309:380;;;:::o;6694:356::-;6896:2;6878:21;;;6915:18;;;6908:30;6974:34;6969:2;6954:18;;6947:62;7041:2;7026:18;;6694:356::o;7055:127::-;7116:10;7111:3;7107:20;7104:1;7097:31;7147:4;7144:1;7137:15;7171:4;7168:1;7161:15;7187:127;7248:10;7243:3;7239:20;7236:1;7229:31;7279:4;7276:1;7269:15;7303:4;7300:1;7293:15;7319:135;7358:3;7379:17;;;7376:43;;7399:18;;:::i;:::-;-1:-1:-1;7446:1:1;7435:13;;7319:135::o;7459:398::-;7661:2;7643:21;;;7700:2;7680:18;;;7673:30;7739:34;7734:2;7719:18;;7712:62;-1:-1:-1;;;7805:2:1;7790:18;;7783:32;7847:3;7832:19;;7459:398::o;8624:128::-;8691:9;;;8712:11;;;8709:37;;;8726:18;;:::i;8757:125::-;8822:9;;;8843:10;;;8840:36;;;8856:18;;:::i;9318:422::-;9407:1;9450:5;9407:1;9464:270;9485:7;9475:8;9472:21;9464:270;;;9544:4;9540:1;9536:6;9532:17;9526:4;9523:27;9520:53;;;9553:18;;:::i;:::-;9603:7;9593:8;9589:22;9586:55;;;9623:16;;;;9586:55;9702:22;;;;9662:15;;;;9464:270;;;9468:3;9318:422;;;;;:::o;9745:806::-;9794:5;9824:8;9814:80;;-1:-1:-1;9865:1:1;9879:5;;9814:80;9913:4;9903:76;;-1:-1:-1;9950:1:1;9964:5;;9903:76;9995:4;10013:1;10008:59;;;;10081:1;10076:130;;;;9988:218;;10008:59;10038:1;10029:10;;10052:5;;;10076:130;10113:3;10103:8;10100:17;10097:43;;;10120:18;;:::i;:::-;-1:-1:-1;;10176:1:1;10162:16;;10191:5;;9988:218;;10290:2;10280:8;10277:16;10271:3;10265:4;10262:13;10258:36;10252:2;10242:8;10239:16;10234:2;10228:4;10225:12;10221:35;10218:77;10215:159;;;-1:-1:-1;10327:19:1;;;10359:5;;10215:159;10406:34;10431:8;10425:4;10406:34;:::i;:::-;10476:6;10472:1;10468:6;10464:19;10455:7;10452:32;10449:58;;;10487:18;;:::i;:::-;10525:20;;9745:806;-1:-1:-1;;;9745:806:1:o;10556:140::-;10614:5;10643:47;10684:4;10674:8;10670:19;10664:4;10643:47;:::i;10701:168::-;10774:9;;;10805;;10822:15;;;10816:22;;10802:37;10792:71;;10843:18;;:::i;11869:245::-;11936:6;11989:2;11977:9;11968:7;11964:23;11960:32;11957:52;;;12005:1;12002;11995:12;11957:52;12037:9;12031:16;12056:28;12078:5;12056:28;:::i;17621:217::-;17661:1;17687;17677:132;;17731:10;17726:3;17722:20;17719:1;17712:31;17766:4;17763:1;17756:15;17794:4;17791:1;17784:15;17677:132;-1:-1:-1;17823:9:1;;17621:217::o;19060:251::-;19130:6;19183:2;19171:9;19162:7;19158:23;19154:32;19151:52;;;19199:1;19196;19189:12;19151:52;19231:9;19225:16;19250:31;19275:5;19250:31;:::i;19316:980::-;19578:4;19626:3;19615:9;19611:19;19657:6;19646:9;19639:25;19683:2;19721:6;19716:2;19705:9;19701:18;19694:34;19764:3;19759:2;19748:9;19744:18;19737:31;19788:6;19823;19817:13;19854:6;19846;19839:22;19892:3;19881:9;19877:19;19870:26;;19931:2;19923:6;19919:15;19905:29;;19952:1;19962:195;19976:6;19973:1;19970:13;19962:195;;;20041:13;;-1:-1:-1;;;;;20037:39:1;20025:52;;20132:15;;;;20097:12;;;;20073:1;19991:9;19962:195;;;-1:-1:-1;;;;;;;20213:32:1;;;;20208:2;20193:18;;20186:60;-1:-1:-1;;;20277:3:1;20262:19;20255:35;20174:3;19316:980;-1:-1:-1;;;19316:980:1:o;20913:306::-;21001:6;21009;21017;21070:2;21058:9;21049:7;21045:23;21041:32;21038:52;;;21086:1;21083;21076:12;21038:52;21115:9;21109:16;21099:26;;21165:2;21154:9;21150:18;21144:25;21134:35;;21209:2;21198:9;21194:18;21188:25;21178:35;;20913:306;;;;;:::o
Swarm Source
ipfs://e2b0a1b978d1590c8efd94d8675b3608888afc9d7f4445c104f32a18755b21e4
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.