ERC-20
Overview
Max Total Supply
100,000,000 AA
Holders
22
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
2,018,548.863585290866026655 AAValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
AA
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-06-19 */ /** *Submitted for verification at Etherscan.io on 2023-06-13 */ // SPDX-License-Identifier: MIT //AutistsAnonymous //https://twitter.com/AutistsAnonsETH //t.me/AutistsAnonymousETH pragma solidity ^0.8.9; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } 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, "ERC20: transfer amount exceeds allowance"); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { } 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) internal { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } abstract contract Pausable is Context { event Paused(address account); event Unpaused(address account); bool private _paused; constructor() { _paused = false; } function paused() public view virtual returns (bool) { return _paused; } modifier whenNotPaused() { require(!paused(), "Pausable: paused"); _; } modifier whenPaused() { require(paused(), "Pausable: not paused"); _; } function _pause() internal virtual whenNotPaused { _paused = true; emit Paused(_msgSender()); } function _unpause() internal virtual whenPaused { _paused = false; emit Unpaused(_msgSender()); } } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Mint(address indexed sender, uint amount0, uint amount1); event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function mint(address to) external returns (uint liquidity); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract AA is ERC20, Ownable, Pausable { uint256 private initialSupply; uint256 private initialTeamSupply; uint256 private denominator = 100; // for percents uint256 private swapThreshold = 0.000005 ether; uint256 private devTaxBuy; uint256 private liquidityTaxBuy; uint256 private devTaxSell; uint256 private liquidityTaxSell; uint256 public maxWallet; mapping(address => bool) public blacklist; // make private mapping(address => bool) public excludeList; // make private mapping(string => uint256) public buyTaxes; // make private mapping(string => uint256) public sellTaxes; // make private mapping(string => address) public taxWallets; // make private uint256 public devTokens; uint256 public liquidityTokens; // delete these: uint256 public currentLiqEthValue; uint256 public currentToSell; uint256 public currentEthGained; uint256 public currentRemainingTokens; uint256 public currentBalanceOfTo; uint256 public currentAmount; uint256 public currentBalancePlusAmount; uint256 public currentMaxWallet; bool public taxStatus = true; bool public autoLiqStatus = true; IUniswapV2Router02 private uniswapV2Router02; IUniswapV2Factory private uniswapV2Factory; IUniswapV2Pair private uniswapV2Pair; constructor() ERC20("AutistsAnonymous", "AA") payable { initialSupply = 100000000 * 10 ** decimals(); // 420.69 million initialTeamSupply = initialSupply * 42 / 1000; // 4.2% of total supply (0) maxWallet = initialSupply * 50 / 1000; // 2.5% of total supply (0) _setOwner(msg.sender); uniswapV2Router02 = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Factory = IUniswapV2Factory(uniswapV2Router02.factory()); uniswapV2Pair = IUniswapV2Pair(uniswapV2Factory.createPair(address(this), uniswapV2Router02.WETH())); taxWallets["liquidity"] = address(0); setBuyTax(0, 4); setSellTax(0, 30); setTaxWallets(0x417FBcbb947C0E860FFb66F3a4aF0E457FD27EbD); // owner wallet excluded from tax and cap exclude(msg.sender); exclude(address(this)); // dex tax wallet excluded from tax and cap exclude(0x417FBcbb947C0E860FFb66F3a4aF0E457FD27EbD); _mint(0x417FBcbb947C0E860FFb66F3a4aF0E457FD27EbD, initialTeamSupply); _mint(msg.sender, initialSupply - initialTeamSupply); } function handleTax(address from, address to, uint256 amount) private returns (uint256) { if (!isExcluded(from) && !isExcluded(to)) { uint256 tax; if (from == address(uniswapV2Pair)) { tax += amount * buyTaxes["dev"] / denominator; tax += amount * buyTaxes["liquidity"] / denominator; devTokens += amount * buyTaxes["dev"] / denominator; liquidityTokens += amount * buyTaxes["liquidity"] / denominator; if (tax > 0) { _transfer(from, address(this), tax); // moved tax to this contract } } else if (to == address(uniswapV2Pair)) { tax += amount * sellTaxes["dev"] / denominator; tax += amount * sellTaxes["liquidity"] / denominator; devTokens += amount * sellTaxes["dev"] / denominator; liquidityTokens += amount * sellTaxes["liquidity"] / denominator; if (tax > 0) { _transfer(from, address(this), tax); } uint256 taxSum = devTokens + liquidityTokens; if (taxSum == 0) return amount; if(autoLiqStatus) _do_swap_and_liq_provide(); } amount -= tax; currentBalanceOfTo = balanceOf(to); currentAmount = amount; currentBalancePlusAmount = currentBalanceOfTo + currentAmount; currentMaxWallet = maxWallet; if (to != address(uniswapV2Pair)) { require(balanceOf(to) + amount <= maxWallet, "maxWallet limit exceeded"); } } return amount; } function _do_swap_and_liq_provide() public { address[] memory sellPath = new address[](2); sellPath[0] = address(this); sellPath[1] = uniswapV2Router02.WETH(); uint256 ethValue = uniswapV2Router02.getAmountsOut(devTokens + liquidityTokens, sellPath)[1]; // delete //currentLiqForEthValue = devTokens + liquidityTokens; currentLiqEthValue = ethValue; if (ethValue >= swapThreshold) { uint256 startBalance = address(this).balance; uint256 toSell = devTokens + liquidityTokens / 2; // delete currentToSell = toSell; _approve(address(this), address(uniswapV2Router02), toSell); uniswapV2Router02.swapExactTokensForETH( toSell, 0, sellPath, address(this), block.timestamp ); uint256 ethGained = address(this).balance - startBalance; // delete currentEthGained = ethGained; uint256 liquidityToken = liquidityTokens / 2; uint256 liquidityETH = (ethGained * ((liquidityTokens / 2 * 10 ** 18) / (devTokens + liquidityTokens))) / 10 ** 18; uint256 devETH = (ethGained * ((devTokens * 10 ** 18) / (devTokens + liquidityTokens))) / 10 ** 18; _approve(address(this), address(uniswapV2Router02), liquidityToken); uniswapV2Router02.addLiquidityETH{value : liquidityETH}( address(this), liquidityToken, 0, 0, taxWallets["liquidity"], block.timestamp ); uint256 remainingTokens = (devTokens + liquidityTokens) - (toSell + liquidityToken); // delete currentRemainingTokens = remainingTokens; if (remainingTokens > 0) { _transfer(address(this), taxWallets["dev"], remainingTokens); } (bool success,) = taxWallets["dev"].call{value : devETH}(""); require(success, "transfer to dev wallet failed"); if (ethGained - (devETH + liquidityETH) > 0) { (bool success1,) = taxWallets["dev"].call{value : ethGained - (devETH + liquidityETH)}(""); require(success1, "transfer to dev wallet failed"); } devTokens = 0; liquidityTokens = 0; } } function _transfer( address sender, address recipient, uint256 amount ) internal override virtual { require(!paused(), "ERC20: token transfer while paused"); require(!isBlacklisted(msg.sender), "ERC20: sender blacklisted"); require(!isBlacklisted(recipient), "ERC20: recipient blacklisted"); require(!isBlacklisted(tx.origin), "ERC20: sender blacklisted"); if (taxStatus) { amount = handleTax(sender, recipient, amount); } super._transfer(sender, recipient, amount); } /** * @dev Triggers the tax handling functionality */ function triggerTax() public onlyOwner { handleTax(address(0), address(uniswapV2Pair), 0); } /** * @dev Pauses transfers on the token. */ function pause() public onlyOwner { require(!paused(), "ERC20: Contract is already paused"); _pause(); } /** * @dev Unpauses transfers on the token. */ function unpause() public onlyOwner { require(paused(), "ERC20: Contract is not paused"); _unpause(); } /** * @dev set max wallet limit per address. */ function setMaxWallet(uint256 amount) external onlyOwner { require(amount > 10000, "NO rug pull"); maxWallet = amount * 10 ** 18; } /** * @dev Burns tokens from caller address. */ function burn(uint256 amount) public onlyOwner { _burn(msg.sender, amount); } /** * @dev Blacklists the specified account (Disables transfers to and from the account). */ function enableBlacklist(address account) public onlyOwner { require(!blacklist[account], "ERC20: Account is already blacklisted"); blacklist[account] = true; } /** * @dev Remove the specified account from the blacklist. */ function disableBlacklist(address account) public onlyOwner { require(blacklist[account], "ERC20: Account is not blacklisted"); blacklist[account] = false; } /** * @dev Excludes the specified account from tax. */ function exclude(address account) public onlyOwner { require(!isExcluded(account), "ERC20: Account is already excluded"); excludeList[account] = true; } /** * @dev Re-enables tax on the specified account. */ function removeExclude(address account) public onlyOwner { require(isExcluded(account), "ERC20: Account is not excluded"); excludeList[account] = false; } /** * @dev Sets tax for buys. */ function setBuyTax(uint256 dev, uint256 liquidity) public onlyOwner { buyTaxes["dev"] = dev; buyTaxes["liquidity"] = liquidity; } /** * @dev Sets tax for sells. */ function setSellTax(uint256 dev, uint256 liquidity) public onlyOwner { sellTaxes["dev"] = dev; sellTaxes["liquidity"] = liquidity; } /** * @dev Sets wallets for taxes. */ function setTaxWallets(address dev) public onlyOwner { taxWallets["dev"] = dev; } function claimStuckTokens(address _token) external onlyOwner { if (_token == address(0x0)) { payable(owner()).transfer(address(this).balance); return; } IERC20 erc20token = IERC20(_token); uint256 balance = erc20token.balanceOf(address(this)); erc20token.transfer(owner(), balance); } /** * @dev Enables tax globally. */ function enableTax() public onlyOwner { require(!taxStatus, "ERC20: Tax is already enabled"); taxStatus = true; } /** * @dev Disables tax globally. */ function disableTax() public onlyOwner { require(taxStatus, "ERC20: Tax is already disabled"); taxStatus = false; } /** * @dev Returns true if the account is blacklisted, and false otherwise. */ function isBlacklisted(address account) public view returns (bool) { return blacklist[account]; } /** * @dev Returns true if the account is excluded, and false otherwise. */ function isExcluded(address account) public view returns (bool) { return excludeList[account]; } /** * @dev Enables auto liquidity add. */ function enableAutoLiq() public onlyOwner { autoLiqStatus = true; } /** * @dev Disables auto liquidity add. */ function disableAutoLiq() public onlyOwner { autoLiqStatus = false; } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"payable","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":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"_do_swap_and_liq_provide","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":[],"name":"autoLiqStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"","type":"address"}],"name":"blacklist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"buyTaxes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"claimStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"currentAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentBalanceOfTo","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentBalancePlusAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentEthGained","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentLiqEthValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentMaxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRemainingTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentToSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"devTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disableAutoLiq","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"disableBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"disableTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableAutoLiq","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"enableBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"exclude","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"excludeList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"address","name":"account","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","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":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeExclude","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"sellTaxes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"dev","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"name":"setBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"dev","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"name":"setSellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"dev","type":"address"}],"name":"setTaxWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"taxWallets","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"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":[],"name":"triggerTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
606460085565048c27395000600955601e805461ffff1916610101179055601060809081526f41757469737473416e6f6e796d6f757360801b60a052610100604052600260c090815261414160f01b60e05260036200005f83826200083d565b5060046200006e82826200083d565b50506005805460ff60a01b19169055506200008c6012600a62000a1e565b6200009c906305f5e10062000a36565b60068190556103e890620000b290602a62000a36565b620000be919062000a50565b6007556006546103e890620000d590603262000a36565b620000e1919062000a50565b600e55620000ef33620003a4565b601e8054757a250d5630b4cf539739df2c5dacb4c659f2488d000062010000600160b01b031990911617908190556040805163c45a015560e01b81529051620100009092046001600160a01b03169163c45a0155916004808201926020929091908290030181865afa1580156200016a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000190919062000a73565b601f80546001600160a01b0319166001600160a01b03928316908117909155601e54604080516315ab88c960e31b81529051929363c9c653969330936201000090049091169163ad5c46489160048083019260209291908290030181865afa15801562000201573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000227919062000a73565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000275573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029b919062000a73565b602080546001600160a01b03929092166001600160a01b031992831617905560408051686c697175696469747960b81b815260136009820152905160299181900391909101902080549091169055620002f760006004620003f6565b620003056000601e6200049e565b6200032473417fbcbb947c0e860ffb66f3a4af0e457fd27ebd62000533565b6200032f33620005ca565b6200033a30620005ca565b6200035973417fbcbb947c0e860ffb66f3a4af0e457fd27ebd620005ca565b6200038173417fbcbb947c0e860ffb66f3a4af0e457fd27ebd600754620006af60201b60201c565b6200039e3360075460065462000398919062000a9e565b620006af565b62000aca565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6005546001600160a01b03163314620004455760405162461bcd60e51b815260206004820181905260248201526000805160206200380683398151915260448201526064015b60405180910390fd5b8160116040516200045f90623232bb60e91b815260030190565b90815260405190819003602001812091909155686c697175696469747960b81b815281906011906009015b908152604051908190036020019020555050565b6005546001600160a01b03163314620004e95760405162461bcd60e51b815260206004820181905260248201526000805160206200380683398151915260448201526064016200043c565b8160126040516200050390623232bb60e91b815260030190565b90815260405190819003602001812091909155686c697175696469747960b81b815281906012906009016200048a565b6005546001600160a01b031633146200057e5760405162461bcd60e51b815260206004820181905260248201526000805160206200380683398151915260448201526064016200043c565b8060136040516200059890623232bb60e91b815260030190565b90815260405190819003602001902080546001600160a01b03929092166001600160a01b031990921691909117905550565b6005546001600160a01b03163314620006155760405162461bcd60e51b815260206004820181905260248201526000805160206200380683398151915260448201526064016200043c565b6001600160a01b03811660009081526010602052604090205460ff16156200068b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a204163636f756e7420697320616c7265616479206578636c7564604482015261195960f21b60648201526084016200043c565b6001600160a01b03166000908152601060205260409020805460ff19166001179055565b6001600160a01b038216620007075760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016200043c565b80600260008282546200071b919062000ab4565b90915550506001600160a01b038216600090815260208190526040812080548392906200074a90849062000ab4565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620007c457607f821691505b602082108103620007e557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200079457600081815260208120601f850160051c81016020861015620008145750805b601f850160051c820191505b81811015620008355782815560010162000820565b505050505050565b81516001600160401b0381111562000859576200085962000799565b62000871816200086a8454620007af565b84620007eb565b602080601f831160018114620008a95760008415620008905750858301515b600019600386901b1c1916600185901b17855562000835565b600085815260208120601f198616915b82811015620008da57888601518255948401946001909101908401620008b9565b5085821015620008f95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200096057816000190482111562000944576200094462000909565b808516156200095257918102915b93841c939080029062000924565b509250929050565b600082620009795750600162000a18565b81620009885750600062000a18565b8160018114620009a15760028114620009ac57620009cc565b600191505062000a18565b60ff841115620009c057620009c062000909565b50506001821b62000a18565b5060208310610133831016604e8410600b8410161715620009f1575081810a62000a18565b620009fd83836200091f565b806000190482111562000a145762000a1462000909565b0290505b92915050565b600062000a2f60ff84168362000968565b9392505050565b808202811582820484141762000a185762000a1862000909565b60008262000a6e57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121562000a8657600080fd5b81516001600160a01b038116811462000a2f57600080fd5b8181038181111562000a185762000a1862000909565b8082018082111562000a185762000a1862000909565b612d2c8062000ada6000396000f3fe60806040526004361061031e5760003560e01c8063715018a6116101ab578063ced695a4116100f7578063f2fde38b11610095578063f9d0831a1161006f578063f9d0831a14610932578063f9f92be414610952578063fd46752a14610982578063fe575a87146109a157600080fd5b8063f2fde38b146108e6578063f441b1c814610906578063f8b45b051461091c57600080fd5b8063dc2c5f8a116100d1578063dc2c5f8a1461085e578063dd62ed3e14610874578063e1370dd3146108ba578063ebcec6a2146108d057600080fd5b8063ced695a414610809578063cfefd79e1461081e578063d01dc84b1461083e57600080fd5b806395d89b4111610164578063a9059cbb1161013e578063a9059cbb14610768578063ab47919a14610788578063abe4f11d146107c9578063cba0e996146107e957600080fd5b806395d89b411461071e5780639692c4f914610733578063a457c2d71461074857600080fd5b8063715018a614610678578063717a86511461068d5780637898d9b9146106ad5780638456cb59146106c257806387d88182146106d75780638da5cb5b146106ec57600080fd5b8063395093511161026a57806353eb3bcf116102235780635cabe5df116101fd5780635cabe5df146105f65780635d0044ca1461060c5780635d9833ec1461062c57806370a082311461064257600080fd5b806353eb3bcf146105ac57806355648209146105c15780635c975abb146105d757600080fd5b806339509351146104e95780633f4ba83a1461050957806342966c681461051e5780634b8ce6021461053e5780634febf53d14610554578063506e50ec1461057457600080fd5b80631c9f0d2e116102d7578063247b912d116102b1578063247b912d146104685780632c32abc214610488578063311273941461049d578063313ce567146104cd57600080fd5b80631c9f0d2e1461041857806323a38a381461042e57806323b872dd1461044857600080fd5b806305a1f36d1461032a57806306fdde031461034c578063095ea7b314610377578063099aca7d146103a757806316483a92146103ed57806318160ddd1461040357600080fd5b3661032557005b600080fd5b34801561033657600080fd5b5061034a6103453660046127ce565b6109da565b005b34801561035857600080fd5b50610361610a51565b60405161036e91906127f0565b60405180910390f35b34801561038357600080fd5b50610397610392366004612853565b610ae3565b604051901515815260200161036e565b3480156103b357600080fd5b506103df6103c23660046128c6565b805160208183018101805160118252928201919093012091525481565b60405190815260200161036e565b3480156103f957600080fd5b506103df60175481565b34801561040f57600080fd5b506002546103df565b34801561042457600080fd5b506103df60185481565b34801561043a57600080fd5b50601e546103979060ff1681565b34801561045457600080fd5b5061039761046336600461295b565b610afa565b34801561047457600080fd5b5061034a6104833660046127ce565b610ba6565b34801561049457600080fd5b5061034a610c00565b3480156104a957600080fd5b506103976104b836600461299c565b60106020526000908152604090205460ff1681565b3480156104d957600080fd5b506040516012815260200161036e565b3480156104f557600080fd5b50610397610504366004612853565b610c46565b34801561051557600080fd5b5061034a610c82565b34801561052a57600080fd5b5061034a6105393660046129b9565b610d0f565b34801561054a57600080fd5b506103df60155481565b34801561056057600080fd5b5061034a61056f36600461299c565b610d43565b34801561058057600080fd5b506103df61058f3660046128c6565b805160208183018101805160128252928201919093012091525481565b3480156105b857600080fd5b5061034a610df2565b3480156105cd57600080fd5b506103df60145481565b3480156105e357600080fd5b50600554600160a01b900460ff16610397565b34801561060257600080fd5b506103df601c5481565b34801561061857600080fd5b5061034a6106273660046129b9565b610e7e565b34801561063857600080fd5b506103df601a5481565b34801561064e57600080fd5b506103df61065d36600461299c565b6001600160a01b031660009081526020819052604090205490565b34801561068457600080fd5b5061034a610eff565b34801561069957600080fd5b5061034a6106a836600461299c565b610f33565b3480156106b957600080fd5b5061034a610ff8565b3480156106ce57600080fd5b5061034a611033565b3480156106e357600080fd5b5061034a6110c9565b3480156106f857600080fd5b506005546001600160a01b03165b6040516001600160a01b03909116815260200161036e565b34801561072a57600080fd5b50610361611731565b34801561073f57600080fd5b5061034a611740565b34801561075457600080fd5b50610397610763366004612853565b611777565b34801561077457600080fd5b50610397610783366004612853565b611810565b34801561079457600080fd5b506107066107a33660046128c6565b80516020818301810180516013825292820191909301209152546001600160a01b031681565b3480156107d557600080fd5b5061034a6107e436600461299c565b61181d565b3480156107f557600080fd5b5061039761080436600461299c565b6118bd565b34801561081557600080fd5b5061034a6118db565b34801561082a57600080fd5b5061034a61083936600461299c565b611963565b34801561084a57600080fd5b5061034a61085936600461299c565b611a20565b34801561086a57600080fd5b506103df60195481565b34801561088057600080fd5b506103df61088f3660046129d2565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156108c657600080fd5b506103df601d5481565b3480156108dc57600080fd5b506103df60165481565b3480156108f257600080fd5b5061034a61090136600461299c565b611a8b565b34801561091257600080fd5b506103df601b5481565b34801561092857600080fd5b506103df600e5481565b34801561093e57600080fd5b5061034a61094d36600461299c565b611b23565b34801561095e57600080fd5b5061039761096d36600461299c565b600f6020526000908152604090205460ff1681565b34801561098e57600080fd5b50601e5461039790610100900460ff1681565b3480156109ad57600080fd5b506103976109bc36600461299c565b6001600160a01b03166000908152600f602052604090205460ff1690565b6005546001600160a01b03163314610a0d5760405162461bcd60e51b8152600401610a0490612a0b565b60405180910390fd5b816011604051610a1c90612a40565b908152602001604051809103902081905550806011604051610a3d90612a4f565b908152604051908190036020019020555050565b606060038054610a6090612a64565b80601f0160208091040260200160405190810160405280929190818152602001828054610a8c90612a64565b8015610ad95780601f10610aae57610100808354040283529160200191610ad9565b820191906000526020600020905b815481529060010190602001808311610abc57829003601f168201915b5050505050905090565b6000610af0338484611c9b565b5060015b92915050565b6000610b07848484611dbf565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610b8c5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610a04565b610b998533858403611c9b565b60019150505b9392505050565b6005546001600160a01b03163314610bd05760405162461bcd60e51b8152600401610a0490612a0b565b816012604051610bdf90612a40565b908152602001604051809103902081905550806012604051610a3d90612a4f565b6005546001600160a01b03163314610c2a5760405162461bcd60e51b8152600401610a0490612a0b565b602054610c43906000906001600160a01b031681611f6e565b50565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610af0918590610c7d908690612ab4565b611c9b565b6005546001600160a01b03163314610cac5760405162461bcd60e51b8152600401610a0490612a0b565b600554600160a01b900460ff16610d055760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20436f6e7472616374206973206e6f74207061757365640000006044820152606401610a04565b610d0d61233b565b565b6005546001600160a01b03163314610d395760405162461bcd60e51b8152600401610a0490612a0b565b610c4333826123d8565b6005546001600160a01b03163314610d6d5760405162461bcd60e51b8152600401610a0490612a0b565b610d76816118bd565b15610dce5760405162461bcd60e51b815260206004820152602260248201527f45524332303a204163636f756e7420697320616c7265616479206578636c7564604482015261195960f21b6064820152608401610a04565b6001600160a01b03166000908152601060205260409020805460ff19166001179055565b6005546001600160a01b03163314610e1c5760405162461bcd60e51b8152600401610a0490612a0b565b601e5460ff1615610e6f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a2054617820697320616c726561647920656e61626c65640000006044820152606401610a04565b601e805460ff19166001179055565b6005546001600160a01b03163314610ea85760405162461bcd60e51b8152600401610a0490612a0b565b6127108111610ee75760405162461bcd60e51b815260206004820152600b60248201526a1393c81c9d59c81c1d5b1b60aa1b6044820152606401610a04565b610ef981670de0b6b3a7640000612ac7565b600e5550565b6005546001600160a01b03163314610f295760405162461bcd60e51b8152600401610a0490612a0b565b610d0d6000612526565b6005546001600160a01b03163314610f5d5760405162461bcd60e51b8152600401610a0490612a0b565b6001600160a01b0381166000908152600f602052604090205460ff1615610fd45760405162461bcd60e51b815260206004820152602560248201527f45524332303a204163636f756e7420697320616c726561647920626c61636b6c6044820152641a5cdd195960da1b6064820152608401610a04565b6001600160a01b03166000908152600f60205260409020805460ff19166001179055565b6005546001600160a01b031633146110225760405162461bcd60e51b8152600401610a0490612a0b565b601e805461ff001916610100179055565b6005546001600160a01b0316331461105d5760405162461bcd60e51b8152600401610a0490612a0b565b600554600160a01b900460ff16156110c15760405162461bcd60e51b815260206004820152602160248201527f45524332303a20436f6e747261637420697320616c72656164792070617573656044820152601960fa1b6064820152608401610a04565b610d0d612578565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106110fe576110fe612ade565b60200260200101906001600160a01b031690816001600160a01b031681525050601e60029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611171573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111959190612af4565b816001815181106111a8576111a8612ade565b6001600160a01b039283166020918202929092010152601e54601554601454600093620100009093049092169163d06ca61f916111e491612ab4565b846040518363ffffffff1660e01b8152600401611202929190612b55565b600060405180830381865afa15801561121f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112479190810190612b76565b60018151811061125957611259612ade565b6020026020010151905080601681905550600954811061172d57601554479060009061128790600290612c1c565b6014546112949190612ab4565b6017819055601e549091506112ba9030906201000090046001600160a01b031683611c9b565b601e546040516318cbafe560e01b8152620100009091046001600160a01b0316906318cbafe5906112f8908490600090899030904290600401612c3e565b6000604051808303816000875af1158015611317573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261133f9190810190612b76565b50600061134c8347612c7a565b905080601881905550600060026015546113669190612c1c565b90506000670de0b6b3a76400006015546014546113839190612ab4565b60026015546113929190612c1c565b6113a490670de0b6b3a7640000612ac7565b6113ae9190612c1c565b6113b89085612ac7565b6113c29190612c1c565b90506000670de0b6b3a76400006015546014546113df9190612ab4565b6014546113f490670de0b6b3a7640000612ac7565b6113fe9190612c1c565b6114089086612ac7565b6114129190612c1c565b905061143430601e60029054906101000a90046001600160a01b031685611c9b565b601e60029054906101000a90046001600160a01b03166001600160a01b031663f305d719833086600080601360405161146c90612a4f565b908152604051908190036020018120546001600160e01b031960e089901b1682526001600160a01b039586166004830152602482019490945260448101929092526064820152911660848201524260a482015260c40160606040518083038185885af11580156114e0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906115059190612c8d565b505050600083866115169190612ab4565b6015546014546115269190612ab4565b6115309190612c7a565b60198190559050801561156e5761156e30601360405161154f90612a40565b908152604051908190036020019020546001600160a01b031683611dbf565b6000601360405161157e90612a40565b908152604051908190036020018120546001600160a01b031690849060006040518083038185875af1925050503d80600081146115d7576040519150601f19603f3d011682016040523d82523d6000602084013e6115dc565b606091505b505090508061162d5760405162461bcd60e51b815260206004820152601e60248201527f7472616e7366657220746f20206465762077616c6c6574206661696c656400006044820152606401610a04565b60006116398585612ab4565b6116439088612c7a565b111561171a576000601360405161165990612a40565b908152604051908190036020019020546001600160a01b031661167c8686612ab4565b6116869089612c7a565b604051600081818185875af1925050503d80600081146116c2576040519150601f19603f3d011682016040523d82523d6000602084013e6116c7565b606091505b50509050806117185760405162461bcd60e51b815260206004820152601e60248201527f7472616e7366657220746f20206465762077616c6c6574206661696c656400006044820152606401610a04565b505b5050600060148190556015555050505050505b5050565b606060048054610a6090612a64565b6005546001600160a01b0316331461176a5760405162461bcd60e51b8152600401610a0490612a0b565b601e805461ff0019169055565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156117f95760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610a04565b6118063385858403611c9b565b5060019392505050565b6000610af0338484611dbf565b6005546001600160a01b031633146118475760405162461bcd60e51b8152600401610a0490612a0b565b611850816118bd565b61189c5760405162461bcd60e51b815260206004820152601e60248201527f45524332303a204163636f756e74206973206e6f74206578636c7564656400006044820152606401610a04565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6001600160a01b031660009081526010602052604090205460ff1690565b6005546001600160a01b031633146119055760405162461bcd60e51b8152600401610a0490612a0b565b601e5460ff166119575760405162461bcd60e51b815260206004820152601e60248201527f45524332303a2054617820697320616c72656164792064697361626c656400006044820152606401610a04565b601e805460ff19169055565b6005546001600160a01b0316331461198d5760405162461bcd60e51b8152600401610a0490612a0b565b6001600160a01b0381166000908152600f602052604090205460ff166119ff5760405162461bcd60e51b815260206004820152602160248201527f45524332303a204163636f756e74206973206e6f7420626c61636b6c697374656044820152601960fa1b6064820152608401610a04565b6001600160a01b03166000908152600f60205260409020805460ff19169055565b6005546001600160a01b03163314611a4a5760405162461bcd60e51b8152600401610a0490612a0b565b806013604051611a5990612a40565b90815260405190819003602001902080546001600160a01b03929092166001600160a01b031990921691909117905550565b6005546001600160a01b03163314611ab55760405162461bcd60e51b8152600401610a0490612a0b565b6001600160a01b038116611b1a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a04565b610c4381612526565b6005546001600160a01b03163314611b4d5760405162461bcd60e51b8152600401610a0490612a0b565b6001600160a01b038116611b94576005546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561172d573d6000803e3d6000fd5b6040516370a0823160e01b815230600482015281906000906001600160a01b038316906370a0823190602401602060405180830381865afa158015611bdd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c019190612cbb565b9050816001600160a01b031663a9059cbb611c246005546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af1158015611c71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c959190612cd4565b50505050565b6001600160a01b038316611cfd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a04565b6001600160a01b038216611d5e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a04565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600554600160a01b900460ff1615611e245760405162461bcd60e51b815260206004820152602260248201527f45524332303a20746f6b656e207472616e73666572207768696c652070617573604482015261195960f21b6064820152608401610a04565b336000908152600f602052604090205460ff1615611e805760405162461bcd60e51b8152602060048201526019602482015278115490cc8c0e881cd95b99195c88189b1858dadb1a5cdd1959603a1b6044820152606401610a04565b6001600160a01b0382166000908152600f602052604090205460ff1615611ee95760405162461bcd60e51b815260206004820152601c60248201527f45524332303a20726563697069656e7420626c61636b6c6973746564000000006044820152606401610a04565b326000908152600f602052604090205460ff1615611f455760405162461bcd60e51b8152602060048201526019602482015278115490cc8c0e881cd95b99195c88189b1858dadb1a5cdd1959603a1b6044820152606401610a04565b601e5460ff1615611f5e57611f5b838383611f6e565b90505b611f69838383612600565b505050565b6000611f79846118bd565b158015611f8c5750611f8a836118bd565b155b15612334576020546000906001600160a01b03908116908616036120d9576008546011604051611fbb90612a40565b90815260200160405180910390205484611fd59190612ac7565b611fdf9190612c1c565b611fe99082612ab4565b90506008546011604051611ffc90612a4f565b908152602001604051809103902054846120169190612ac7565b6120209190612c1c565b61202a9082612ab4565b9050600854601160405161203d90612a40565b908152602001604051809103902054846120579190612ac7565b6120619190612c1c565b601460008282546120729190612ab4565b909155505060085460405160119061208990612a4f565b908152602001604051809103902054846120a39190612ac7565b6120ad9190612c1c565b601560008282546120be9190612ab4565b909155505080156120d4576120d4853083611dbf565b612259565b6020546001600160a01b039081169085160361225957600854601260405161210090612a40565b9081526020016040518091039020548461211a9190612ac7565b6121249190612c1c565b61212e9082612ab4565b9050600854601260405161214190612a4f565b9081526020016040518091039020548461215b9190612ac7565b6121659190612c1c565b61216f9082612ab4565b9050600854601260405161218290612a40565b9081526020016040518091039020548461219c9190612ac7565b6121a69190612c1c565b601460008282546121b79190612ab4565b90915550506008546040516012906121ce90612a4f565b908152602001604051809103902054846121e89190612ac7565b6121f29190612c1c565b601560008282546122039190612ab4565b9091555050801561221957612219853083611dbf565b600060155460145461222b9190612ab4565b90508060000361223f578392505050610b9f565b601e54610100900460ff1615612257576122576110c9565b505b6122638184612c7a565b9250612284846001600160a01b031660009081526020819052604090205490565b601a819055601b849055612299908490612ab4565b601c55600e54601d556020546001600160a01b0385811691161461233257600e54836122da866001600160a01b031660009081526020819052604090205490565b6122e49190612ab4565b11156123325760405162461bcd60e51b815260206004820152601860248201527f6d617857616c6c6574206c696d697420657863656564656400000000000000006044820152606401610a04565b505b5092915050565b600554600160a01b900460ff1661238b5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610a04565b6005805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b0382166124385760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610a04565b6001600160a01b038216600090815260208190526040902054818110156124ac5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610a04565b6001600160a01b03831660009081526020819052604081208383039055600280548492906124db908490612c7a565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600554600160a01b900460ff16156125c55760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610a04565b6005805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586123bb3390565b6001600160a01b0383166126645760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a04565b6001600160a01b0382166126c65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a04565b6001600160a01b0383166000908152602081905260409020548181101561273e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610a04565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290612775908490612ab4565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516127c191815260200190565b60405180910390a3611c95565b600080604083850312156127e157600080fd5b50508035926020909101359150565b600060208083528351808285015260005b8181101561281d57858101830151858201604001528201612801565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610c4357600080fd5b6000806040838503121561286657600080fd5b82356128718161283e565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156128be576128be61287f565b604052919050565b600060208083850312156128d957600080fd5b823567ffffffffffffffff808211156128f157600080fd5b818501915085601f83011261290557600080fd5b8135818111156129175761291761287f565b612929601f8201601f19168501612895565b9150808252868482850101111561293f57600080fd5b8084840185840137600090820190930192909252509392505050565b60008060006060848603121561297057600080fd5b833561297b8161283e565b9250602084013561298b8161283e565b929592945050506040919091013590565b6000602082840312156129ae57600080fd5b8135610b9f8161283e565b6000602082840312156129cb57600080fd5b5035919050565b600080604083850312156129e557600080fd5b82356129f08161283e565b91506020830135612a008161283e565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b623232bb60e91b815260030190565b686c697175696469747960b81b815260090190565b600181811c90821680612a7857607f821691505b602082108103612a9857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610af457610af4612a9e565b8082028115828204841417610af457610af4612a9e565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612b0657600080fd5b8151610b9f8161283e565b600081518084526020808501945080840160005b83811015612b4a5781516001600160a01b031687529582019590820190600101612b25565b509495945050505050565b828152604060208201526000612b6e6040830184612b11565b949350505050565b60006020808385031215612b8957600080fd5b825167ffffffffffffffff80821115612ba157600080fd5b818501915085601f830112612bb557600080fd5b815181811115612bc757612bc761287f565b8060051b9150612bd8848301612895565b8181529183018401918481019088841115612bf257600080fd5b938501935b83851015612c1057845182529385019390850190612bf7565b98975050505050505050565b600082612c3957634e487b7160e01b600052601260045260246000fd5b500490565b85815284602082015260a060408201526000612c5d60a0830186612b11565b6001600160a01b0394909416606083015250608001529392505050565b81810381811115610af457610af4612a9e565b600080600060608486031215612ca257600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215612ccd57600080fd5b5051919050565b600060208284031215612ce657600080fd5b81518015158114610b9f57600080fdfea2646970667358221220126b8192454ac1fd8552229b5c9ee08be4b10e1846d9e860326c5d049893915564736f6c634300081200334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
Deployed Bytecode
0x60806040526004361061031e5760003560e01c8063715018a6116101ab578063ced695a4116100f7578063f2fde38b11610095578063f9d0831a1161006f578063f9d0831a14610932578063f9f92be414610952578063fd46752a14610982578063fe575a87146109a157600080fd5b8063f2fde38b146108e6578063f441b1c814610906578063f8b45b051461091c57600080fd5b8063dc2c5f8a116100d1578063dc2c5f8a1461085e578063dd62ed3e14610874578063e1370dd3146108ba578063ebcec6a2146108d057600080fd5b8063ced695a414610809578063cfefd79e1461081e578063d01dc84b1461083e57600080fd5b806395d89b4111610164578063a9059cbb1161013e578063a9059cbb14610768578063ab47919a14610788578063abe4f11d146107c9578063cba0e996146107e957600080fd5b806395d89b411461071e5780639692c4f914610733578063a457c2d71461074857600080fd5b8063715018a614610678578063717a86511461068d5780637898d9b9146106ad5780638456cb59146106c257806387d88182146106d75780638da5cb5b146106ec57600080fd5b8063395093511161026a57806353eb3bcf116102235780635cabe5df116101fd5780635cabe5df146105f65780635d0044ca1461060c5780635d9833ec1461062c57806370a082311461064257600080fd5b806353eb3bcf146105ac57806355648209146105c15780635c975abb146105d757600080fd5b806339509351146104e95780633f4ba83a1461050957806342966c681461051e5780634b8ce6021461053e5780634febf53d14610554578063506e50ec1461057457600080fd5b80631c9f0d2e116102d7578063247b912d116102b1578063247b912d146104685780632c32abc214610488578063311273941461049d578063313ce567146104cd57600080fd5b80631c9f0d2e1461041857806323a38a381461042e57806323b872dd1461044857600080fd5b806305a1f36d1461032a57806306fdde031461034c578063095ea7b314610377578063099aca7d146103a757806316483a92146103ed57806318160ddd1461040357600080fd5b3661032557005b600080fd5b34801561033657600080fd5b5061034a6103453660046127ce565b6109da565b005b34801561035857600080fd5b50610361610a51565b60405161036e91906127f0565b60405180910390f35b34801561038357600080fd5b50610397610392366004612853565b610ae3565b604051901515815260200161036e565b3480156103b357600080fd5b506103df6103c23660046128c6565b805160208183018101805160118252928201919093012091525481565b60405190815260200161036e565b3480156103f957600080fd5b506103df60175481565b34801561040f57600080fd5b506002546103df565b34801561042457600080fd5b506103df60185481565b34801561043a57600080fd5b50601e546103979060ff1681565b34801561045457600080fd5b5061039761046336600461295b565b610afa565b34801561047457600080fd5b5061034a6104833660046127ce565b610ba6565b34801561049457600080fd5b5061034a610c00565b3480156104a957600080fd5b506103976104b836600461299c565b60106020526000908152604090205460ff1681565b3480156104d957600080fd5b506040516012815260200161036e565b3480156104f557600080fd5b50610397610504366004612853565b610c46565b34801561051557600080fd5b5061034a610c82565b34801561052a57600080fd5b5061034a6105393660046129b9565b610d0f565b34801561054a57600080fd5b506103df60155481565b34801561056057600080fd5b5061034a61056f36600461299c565b610d43565b34801561058057600080fd5b506103df61058f3660046128c6565b805160208183018101805160128252928201919093012091525481565b3480156105b857600080fd5b5061034a610df2565b3480156105cd57600080fd5b506103df60145481565b3480156105e357600080fd5b50600554600160a01b900460ff16610397565b34801561060257600080fd5b506103df601c5481565b34801561061857600080fd5b5061034a6106273660046129b9565b610e7e565b34801561063857600080fd5b506103df601a5481565b34801561064e57600080fd5b506103df61065d36600461299c565b6001600160a01b031660009081526020819052604090205490565b34801561068457600080fd5b5061034a610eff565b34801561069957600080fd5b5061034a6106a836600461299c565b610f33565b3480156106b957600080fd5b5061034a610ff8565b3480156106ce57600080fd5b5061034a611033565b3480156106e357600080fd5b5061034a6110c9565b3480156106f857600080fd5b506005546001600160a01b03165b6040516001600160a01b03909116815260200161036e565b34801561072a57600080fd5b50610361611731565b34801561073f57600080fd5b5061034a611740565b34801561075457600080fd5b50610397610763366004612853565b611777565b34801561077457600080fd5b50610397610783366004612853565b611810565b34801561079457600080fd5b506107066107a33660046128c6565b80516020818301810180516013825292820191909301209152546001600160a01b031681565b3480156107d557600080fd5b5061034a6107e436600461299c565b61181d565b3480156107f557600080fd5b5061039761080436600461299c565b6118bd565b34801561081557600080fd5b5061034a6118db565b34801561082a57600080fd5b5061034a61083936600461299c565b611963565b34801561084a57600080fd5b5061034a61085936600461299c565b611a20565b34801561086a57600080fd5b506103df60195481565b34801561088057600080fd5b506103df61088f3660046129d2565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156108c657600080fd5b506103df601d5481565b3480156108dc57600080fd5b506103df60165481565b3480156108f257600080fd5b5061034a61090136600461299c565b611a8b565b34801561091257600080fd5b506103df601b5481565b34801561092857600080fd5b506103df600e5481565b34801561093e57600080fd5b5061034a61094d36600461299c565b611b23565b34801561095e57600080fd5b5061039761096d36600461299c565b600f6020526000908152604090205460ff1681565b34801561098e57600080fd5b50601e5461039790610100900460ff1681565b3480156109ad57600080fd5b506103976109bc36600461299c565b6001600160a01b03166000908152600f602052604090205460ff1690565b6005546001600160a01b03163314610a0d5760405162461bcd60e51b8152600401610a0490612a0b565b60405180910390fd5b816011604051610a1c90612a40565b908152602001604051809103902081905550806011604051610a3d90612a4f565b908152604051908190036020019020555050565b606060038054610a6090612a64565b80601f0160208091040260200160405190810160405280929190818152602001828054610a8c90612a64565b8015610ad95780601f10610aae57610100808354040283529160200191610ad9565b820191906000526020600020905b815481529060010190602001808311610abc57829003601f168201915b5050505050905090565b6000610af0338484611c9b565b5060015b92915050565b6000610b07848484611dbf565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610b8c5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610a04565b610b998533858403611c9b565b60019150505b9392505050565b6005546001600160a01b03163314610bd05760405162461bcd60e51b8152600401610a0490612a0b565b816012604051610bdf90612a40565b908152602001604051809103902081905550806012604051610a3d90612a4f565b6005546001600160a01b03163314610c2a5760405162461bcd60e51b8152600401610a0490612a0b565b602054610c43906000906001600160a01b031681611f6e565b50565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610af0918590610c7d908690612ab4565b611c9b565b6005546001600160a01b03163314610cac5760405162461bcd60e51b8152600401610a0490612a0b565b600554600160a01b900460ff16610d055760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20436f6e7472616374206973206e6f74207061757365640000006044820152606401610a04565b610d0d61233b565b565b6005546001600160a01b03163314610d395760405162461bcd60e51b8152600401610a0490612a0b565b610c4333826123d8565b6005546001600160a01b03163314610d6d5760405162461bcd60e51b8152600401610a0490612a0b565b610d76816118bd565b15610dce5760405162461bcd60e51b815260206004820152602260248201527f45524332303a204163636f756e7420697320616c7265616479206578636c7564604482015261195960f21b6064820152608401610a04565b6001600160a01b03166000908152601060205260409020805460ff19166001179055565b6005546001600160a01b03163314610e1c5760405162461bcd60e51b8152600401610a0490612a0b565b601e5460ff1615610e6f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a2054617820697320616c726561647920656e61626c65640000006044820152606401610a04565b601e805460ff19166001179055565b6005546001600160a01b03163314610ea85760405162461bcd60e51b8152600401610a0490612a0b565b6127108111610ee75760405162461bcd60e51b815260206004820152600b60248201526a1393c81c9d59c81c1d5b1b60aa1b6044820152606401610a04565b610ef981670de0b6b3a7640000612ac7565b600e5550565b6005546001600160a01b03163314610f295760405162461bcd60e51b8152600401610a0490612a0b565b610d0d6000612526565b6005546001600160a01b03163314610f5d5760405162461bcd60e51b8152600401610a0490612a0b565b6001600160a01b0381166000908152600f602052604090205460ff1615610fd45760405162461bcd60e51b815260206004820152602560248201527f45524332303a204163636f756e7420697320616c726561647920626c61636b6c6044820152641a5cdd195960da1b6064820152608401610a04565b6001600160a01b03166000908152600f60205260409020805460ff19166001179055565b6005546001600160a01b031633146110225760405162461bcd60e51b8152600401610a0490612a0b565b601e805461ff001916610100179055565b6005546001600160a01b0316331461105d5760405162461bcd60e51b8152600401610a0490612a0b565b600554600160a01b900460ff16156110c15760405162461bcd60e51b815260206004820152602160248201527f45524332303a20436f6e747261637420697320616c72656164792070617573656044820152601960fa1b6064820152608401610a04565b610d0d612578565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106110fe576110fe612ade565b60200260200101906001600160a01b031690816001600160a01b031681525050601e60029054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611171573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111959190612af4565b816001815181106111a8576111a8612ade565b6001600160a01b039283166020918202929092010152601e54601554601454600093620100009093049092169163d06ca61f916111e491612ab4565b846040518363ffffffff1660e01b8152600401611202929190612b55565b600060405180830381865afa15801561121f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112479190810190612b76565b60018151811061125957611259612ade565b6020026020010151905080601681905550600954811061172d57601554479060009061128790600290612c1c565b6014546112949190612ab4565b6017819055601e549091506112ba9030906201000090046001600160a01b031683611c9b565b601e546040516318cbafe560e01b8152620100009091046001600160a01b0316906318cbafe5906112f8908490600090899030904290600401612c3e565b6000604051808303816000875af1158015611317573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261133f9190810190612b76565b50600061134c8347612c7a565b905080601881905550600060026015546113669190612c1c565b90506000670de0b6b3a76400006015546014546113839190612ab4565b60026015546113929190612c1c565b6113a490670de0b6b3a7640000612ac7565b6113ae9190612c1c565b6113b89085612ac7565b6113c29190612c1c565b90506000670de0b6b3a76400006015546014546113df9190612ab4565b6014546113f490670de0b6b3a7640000612ac7565b6113fe9190612c1c565b6114089086612ac7565b6114129190612c1c565b905061143430601e60029054906101000a90046001600160a01b031685611c9b565b601e60029054906101000a90046001600160a01b03166001600160a01b031663f305d719833086600080601360405161146c90612a4f565b908152604051908190036020018120546001600160e01b031960e089901b1682526001600160a01b039586166004830152602482019490945260448101929092526064820152911660848201524260a482015260c40160606040518083038185885af11580156114e0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906115059190612c8d565b505050600083866115169190612ab4565b6015546014546115269190612ab4565b6115309190612c7a565b60198190559050801561156e5761156e30601360405161154f90612a40565b908152604051908190036020019020546001600160a01b031683611dbf565b6000601360405161157e90612a40565b908152604051908190036020018120546001600160a01b031690849060006040518083038185875af1925050503d80600081146115d7576040519150601f19603f3d011682016040523d82523d6000602084013e6115dc565b606091505b505090508061162d5760405162461bcd60e51b815260206004820152601e60248201527f7472616e7366657220746f20206465762077616c6c6574206661696c656400006044820152606401610a04565b60006116398585612ab4565b6116439088612c7a565b111561171a576000601360405161165990612a40565b908152604051908190036020019020546001600160a01b031661167c8686612ab4565b6116869089612c7a565b604051600081818185875af1925050503d80600081146116c2576040519150601f19603f3d011682016040523d82523d6000602084013e6116c7565b606091505b50509050806117185760405162461bcd60e51b815260206004820152601e60248201527f7472616e7366657220746f20206465762077616c6c6574206661696c656400006044820152606401610a04565b505b5050600060148190556015555050505050505b5050565b606060048054610a6090612a64565b6005546001600160a01b0316331461176a5760405162461bcd60e51b8152600401610a0490612a0b565b601e805461ff0019169055565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156117f95760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610a04565b6118063385858403611c9b565b5060019392505050565b6000610af0338484611dbf565b6005546001600160a01b031633146118475760405162461bcd60e51b8152600401610a0490612a0b565b611850816118bd565b61189c5760405162461bcd60e51b815260206004820152601e60248201527f45524332303a204163636f756e74206973206e6f74206578636c7564656400006044820152606401610a04565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6001600160a01b031660009081526010602052604090205460ff1690565b6005546001600160a01b031633146119055760405162461bcd60e51b8152600401610a0490612a0b565b601e5460ff166119575760405162461bcd60e51b815260206004820152601e60248201527f45524332303a2054617820697320616c72656164792064697361626c656400006044820152606401610a04565b601e805460ff19169055565b6005546001600160a01b0316331461198d5760405162461bcd60e51b8152600401610a0490612a0b565b6001600160a01b0381166000908152600f602052604090205460ff166119ff5760405162461bcd60e51b815260206004820152602160248201527f45524332303a204163636f756e74206973206e6f7420626c61636b6c697374656044820152601960fa1b6064820152608401610a04565b6001600160a01b03166000908152600f60205260409020805460ff19169055565b6005546001600160a01b03163314611a4a5760405162461bcd60e51b8152600401610a0490612a0b565b806013604051611a5990612a40565b90815260405190819003602001902080546001600160a01b03929092166001600160a01b031990921691909117905550565b6005546001600160a01b03163314611ab55760405162461bcd60e51b8152600401610a0490612a0b565b6001600160a01b038116611b1a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a04565b610c4381612526565b6005546001600160a01b03163314611b4d5760405162461bcd60e51b8152600401610a0490612a0b565b6001600160a01b038116611b94576005546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561172d573d6000803e3d6000fd5b6040516370a0823160e01b815230600482015281906000906001600160a01b038316906370a0823190602401602060405180830381865afa158015611bdd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c019190612cbb565b9050816001600160a01b031663a9059cbb611c246005546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af1158015611c71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c959190612cd4565b50505050565b6001600160a01b038316611cfd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a04565b6001600160a01b038216611d5e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a04565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600554600160a01b900460ff1615611e245760405162461bcd60e51b815260206004820152602260248201527f45524332303a20746f6b656e207472616e73666572207768696c652070617573604482015261195960f21b6064820152608401610a04565b336000908152600f602052604090205460ff1615611e805760405162461bcd60e51b8152602060048201526019602482015278115490cc8c0e881cd95b99195c88189b1858dadb1a5cdd1959603a1b6044820152606401610a04565b6001600160a01b0382166000908152600f602052604090205460ff1615611ee95760405162461bcd60e51b815260206004820152601c60248201527f45524332303a20726563697069656e7420626c61636b6c6973746564000000006044820152606401610a04565b326000908152600f602052604090205460ff1615611f455760405162461bcd60e51b8152602060048201526019602482015278115490cc8c0e881cd95b99195c88189b1858dadb1a5cdd1959603a1b6044820152606401610a04565b601e5460ff1615611f5e57611f5b838383611f6e565b90505b611f69838383612600565b505050565b6000611f79846118bd565b158015611f8c5750611f8a836118bd565b155b15612334576020546000906001600160a01b03908116908616036120d9576008546011604051611fbb90612a40565b90815260200160405180910390205484611fd59190612ac7565b611fdf9190612c1c565b611fe99082612ab4565b90506008546011604051611ffc90612a4f565b908152602001604051809103902054846120169190612ac7565b6120209190612c1c565b61202a9082612ab4565b9050600854601160405161203d90612a40565b908152602001604051809103902054846120579190612ac7565b6120619190612c1c565b601460008282546120729190612ab4565b909155505060085460405160119061208990612a4f565b908152602001604051809103902054846120a39190612ac7565b6120ad9190612c1c565b601560008282546120be9190612ab4565b909155505080156120d4576120d4853083611dbf565b612259565b6020546001600160a01b039081169085160361225957600854601260405161210090612a40565b9081526020016040518091039020548461211a9190612ac7565b6121249190612c1c565b61212e9082612ab4565b9050600854601260405161214190612a4f565b9081526020016040518091039020548461215b9190612ac7565b6121659190612c1c565b61216f9082612ab4565b9050600854601260405161218290612a40565b9081526020016040518091039020548461219c9190612ac7565b6121a69190612c1c565b601460008282546121b79190612ab4565b90915550506008546040516012906121ce90612a4f565b908152602001604051809103902054846121e89190612ac7565b6121f29190612c1c565b601560008282546122039190612ab4565b9091555050801561221957612219853083611dbf565b600060155460145461222b9190612ab4565b90508060000361223f578392505050610b9f565b601e54610100900460ff1615612257576122576110c9565b505b6122638184612c7a565b9250612284846001600160a01b031660009081526020819052604090205490565b601a819055601b849055612299908490612ab4565b601c55600e54601d556020546001600160a01b0385811691161461233257600e54836122da866001600160a01b031660009081526020819052604090205490565b6122e49190612ab4565b11156123325760405162461bcd60e51b815260206004820152601860248201527f6d617857616c6c6574206c696d697420657863656564656400000000000000006044820152606401610a04565b505b5092915050565b600554600160a01b900460ff1661238b5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610a04565b6005805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b0382166124385760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610a04565b6001600160a01b038216600090815260208190526040902054818110156124ac5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610a04565b6001600160a01b03831660009081526020819052604081208383039055600280548492906124db908490612c7a565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600554600160a01b900460ff16156125c55760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610a04565b6005805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586123bb3390565b6001600160a01b0383166126645760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a04565b6001600160a01b0382166126c65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a04565b6001600160a01b0383166000908152602081905260409020548181101561273e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610a04565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290612775908490612ab4565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516127c191815260200190565b60405180910390a3611c95565b600080604083850312156127e157600080fd5b50508035926020909101359150565b600060208083528351808285015260005b8181101561281d57858101830151858201604001528201612801565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610c4357600080fd5b6000806040838503121561286657600080fd5b82356128718161283e565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156128be576128be61287f565b604052919050565b600060208083850312156128d957600080fd5b823567ffffffffffffffff808211156128f157600080fd5b818501915085601f83011261290557600080fd5b8135818111156129175761291761287f565b612929601f8201601f19168501612895565b9150808252868482850101111561293f57600080fd5b8084840185840137600090820190930192909252509392505050565b60008060006060848603121561297057600080fd5b833561297b8161283e565b9250602084013561298b8161283e565b929592945050506040919091013590565b6000602082840312156129ae57600080fd5b8135610b9f8161283e565b6000602082840312156129cb57600080fd5b5035919050565b600080604083850312156129e557600080fd5b82356129f08161283e565b91506020830135612a008161283e565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b623232bb60e91b815260030190565b686c697175696469747960b81b815260090190565b600181811c90821680612a7857607f821691505b602082108103612a9857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610af457610af4612a9e565b8082028115828204841417610af457610af4612a9e565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612b0657600080fd5b8151610b9f8161283e565b600081518084526020808501945080840160005b83811015612b4a5781516001600160a01b031687529582019590820190600101612b25565b509495945050505050565b828152604060208201526000612b6e6040830184612b11565b949350505050565b60006020808385031215612b8957600080fd5b825167ffffffffffffffff80821115612ba157600080fd5b818501915085601f830112612bb557600080fd5b815181811115612bc757612bc761287f565b8060051b9150612bd8848301612895565b8181529183018401918481019088841115612bf257600080fd5b938501935b83851015612c1057845182529385019390850190612bf7565b98975050505050505050565b600082612c3957634e487b7160e01b600052601260045260246000fd5b500490565b85815284602082015260a060408201526000612c5d60a0830186612b11565b6001600160a01b0394909416606083015250608001529392505050565b81810381811115610af457610af4612a9e565b600080600060608486031215612ca257600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215612ccd57600080fd5b5051919050565b600060208284031215612ce657600080fd5b81518015158114610b9f57600080fdfea2646970667358221220126b8192454ac1fd8552229b5c9ee08be4b10e1846d9e860326c5d049893915564736f6c63430008120033
Deployed Bytecode Sourcemap
16098:11643:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25677:154;;;;;;;;;;-1:-1:-1;25677:154:0;;;;;:::i;:::-;;:::i;:::-;;1825:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2739:169;;;;;;;;;;-1:-1:-1;2739:169:0;;;;;:::i;:::-;;:::i;:::-;;;1441:14:1;;1434:22;1416:41;;1404:2;1389:18;2739:169:0;1276:187:1;16643:42:0;;;;;;;;;;-1:-1:-1;16643:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2795:25:1;;;2783:2;2768:18;16643:42:0;2649:177:1;16975:28:0;;;;;;;;;;;;;;;;2146:108;;;;;;;;;;-1:-1:-1;2234:12:0;;2146:108;;17010:31;;;;;;;;;;;;;;;;17257:28;;;;;;;;;;-1:-1:-1;17257:28:0;;;;;;;;2916:476;;;;;;;;;;-1:-1:-1;2916:476:0;;;;;:::i;:::-;;:::i;25890:159::-;;;;;;;;;;-1:-1:-1;25890:159:0;;;;;:::i;:::-;;:::i;23645:106::-;;;;;;;;;;;;;:::i;16575:43::-;;;;;;;;;;-1:-1:-1;16575:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;2045:93;;;;;;;;;;-1:-1:-1;2045:93:0;;2128:2;3686:36:1;;3674:2;3659:18;2045:93:0;3544:184:1;3400:215:0;;;;;;;;;;-1:-1:-1;3400:215:0;;;;;:::i;:::-;;:::i;24020:126::-;;;;;;;;;;;;;:::i;24447:91::-;;;;;;;;;;-1:-1:-1;24447:91:0;;;;;:::i;:::-;;:::i;16874:30::-;;;;;;;;;;;;;;;;25187:175;;;;;;;;;;-1:-1:-1;25187:175:0;;;;;:::i;:::-;;:::i;16708:43::-;;;;;;;;;;-1:-1:-1;16708:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;26640:136;;;;;;;;;;;;;:::i;16843:24::-;;;;;;;;;;;;;;;;7534:86;;;;;;;;;;-1:-1:-1;7605:7:0;;-1:-1:-1;;;7605:7:0;;;;7534:86;;17169:39;;;;;;;;;;;;;;;;24220:154;;;;;;;;;;-1:-1:-1;24220:154:0;;;;;:::i;:::-;;:::i;17094:33::-;;;;;;;;;;;;;;;;2262:127;;;;;;;;;;-1:-1:-1;2262:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;2363:18:0;2336:7;2363:18;;;;;;;;;;;;2262:127;6833:94;;;;;;;;;;;;;:::i;24656:183::-;;;;;;;;;;-1:-1:-1;24656:183:0;;;;;:::i;:::-;;:::i;27469:81::-;;;;;;;;;;;;;:::i;23821:127::-;;;;;;;;;;;;;:::i;20442:2529::-;;;;;;;;;;;;;:::i;6608:87::-;;;;;;;;;;-1:-1:-1;6681:6:0;;-1:-1:-1;;;;;6681:6:0;6608:87;;;-1:-1:-1;;;;;4082:32:1;;;4064:51;;4052:2;4037:18;6608:87:0;3918:203:1;1933:104:0;;;;;;;;;;;;;:::i;27618:83::-;;;;;;;;;;;;;:::i;3623:401::-;;;;;;;;;;-1:-1:-1;3623:401:0;;;;;:::i;:::-;;:::i;2397:175::-;;;;;;;;;;-1:-1:-1;2397:175:0;;;;;:::i;:::-;;:::i;16774:44::-;;;;;;;;;;-1:-1:-1;16774:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16774:44:0;;;25442:177;;;;;;;;;;-1:-1:-1;25442:177:0;;;;;:::i;:::-;;:::i;27292:110::-;;;;;;;;;;-1:-1:-1;27292:110:0;;;;;:::i;:::-;;:::i;26838:138::-;;;;;;;;;;;;;:::i;24927:180::-;;;;;;;;;;-1:-1:-1;24927:180:0;;;;;:::i;:::-;;:::i;26112:97::-;;;;;;;;;;-1:-1:-1;26112:97:0;;;;;:::i;:::-;;:::i;17048:37::-;;;;;;;;;;;;;;;;2580:151;;;;;;;;;;-1:-1:-1;2580:151:0;;;;;:::i;:::-;-1:-1:-1;;;;;2696:18:0;;;2669:7;2696:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2580:151;17215:31;;;;;;;;;;;;;;;;16935:33;;;;;;;;;;;;;;;;6937:192;;;;;;;;;;-1:-1:-1;6937:192:0;;;;;:::i;:::-;;:::i;17134:28::-;;;;;;;;;;;;;;;;16478:24;;;;;;;;;;;;;;;;26217:362;;;;;;;;;;-1:-1:-1;26217:362:0;;;;;:::i;:::-;;:::i;16511:41::-;;;;;;;;;;-1:-1:-1;16511:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17292:32;;;;;;;;;;-1:-1:-1;17292:32:0;;;;;;;;;;;27080:111;;;;;;;;;;-1:-1:-1;27080:111:0;;;;;:::i;:::-;-1:-1:-1;;;;;27165:18:0;27141:4;27165:18;;;:9;:18;;;;;;;;;27080:111;25677:154;6681:6;;-1:-1:-1;;;;;6681:6:0;1291:10;6743:23;6735:68;;;;-1:-1:-1;;;6735:68:0;;;;;;;:::i;:::-;;;;;;;;;25774:3:::1;25756:8;:15;;;;;:::i;:::-;;;;;;;;;;;;;:21;;;;25812:9;25788:8;:21;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:33;-1:-1:-1;;25677:154:0:o;1825:100::-;1879:13;1912:5;1905:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1825:100;:::o;2739:169::-;2822:4;2839:39;1291:10;2862:7;2871:6;2839:8;:39::i;:::-;-1:-1:-1;2896:4:0;2739:169;;;;;:::o;2916:476::-;3056:4;3073:36;3083:6;3091:9;3102:6;3073:9;:36::i;:::-;-1:-1:-1;;;;;3147:19:0;;3120:24;3147:19;;;:11;:19;;;;;;;;1291:10;3147:33;;;;;;;;3199:26;;;;3191:79;;;;-1:-1:-1;;;3191:79:0;;5989:2:1;3191:79:0;;;5971:21:1;6028:2;6008:18;;;6001:30;6067:34;6047:18;;;6040:62;-1:-1:-1;;;6118:18:1;;;6111:38;6166:19;;3191:79:0;5787:404:1;3191:79:0;3298:57;3307:6;1291:10;3348:6;3329:16;:25;3298:8;:57::i;:::-;3380:4;3373:11;;;2916:476;;;;;;:::o;25890:159::-;6681:6;;-1:-1:-1;;;;;6681:6:0;1291:10;6743:23;6735:68;;;;-1:-1:-1;;;6735:68:0;;;;;;;:::i;:::-;25991:3:::1;25972:9;:16;;;;;:::i;:::-;;;;;;;;;;;;;:22;;;;26030:9;26005;:22;;;;;:::i;23645:106::-:0;6681:6;;-1:-1:-1;;;;;6681:6:0;1291:10;6743:23;6735:68;;;;-1:-1:-1;;;6735:68:0;;;;;;;:::i;:::-;23725:13:::1;::::0;23695:48:::1;::::0;23713:1:::1;::::0;-1:-1:-1;;;;;23725:13:0::1;23713:1:::0;23695:9:::1;:48::i;:::-;;23645:106::o:0;3400:215::-;1291:10;3488:4;3537:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;3537:34:0;;;;;;;;;;3488:4;;3505:80;;3528:7;;3537:47;;3574:10;;3537:47;:::i;:::-;3505:8;:80::i;24020:126::-;6681:6;;-1:-1:-1;;;;;6681:6:0;1291:10;6743:23;6735:68;;;;-1:-1:-1;;;6735:68:0;;;;;;;:::i;:::-;7605:7;;-1:-1:-1;;;7605:7:0;;;;24067:50:::1;;;::::0;-1:-1:-1;;;24067:50:0;;6660:2:1;24067:50:0::1;::::0;::::1;6642:21:1::0;6699:2;6679:18;;;6672:30;6738:31;6718:18;;;6711:59;6787:18;;24067:50:0::1;6458:353:1::0;24067:50:0::1;24128:10;:8;:10::i;:::-;24020:126::o:0;24447:91::-;6681:6;;-1:-1:-1;;;;;6681:6:0;1291:10;6743:23;6735:68;;;;-1:-1:-1;;;6735:68:0;;;;;;;:::i;:::-;24505:25:::1;24511:10;24523:6;24505:5;:25::i;25187:175::-:0;6681:6;;-1:-1:-1;;;;;6681:6:0;1291:10;6743:23;6735:68;;;;-1:-1:-1;;;6735:68:0;;;;;;;:::i;:::-;25258:19:::1;25269:7;25258:10;:19::i;:::-;25257:20;25249:67;;;::::0;-1:-1:-1;;;25249:67:0;;7018:2:1;25249:67:0::1;::::0;::::1;7000:21:1::0;7057:2;7037:18;;;7030:30;7096:34;7076:18;;;7069:62;-1:-1:-1;;;7147:18:1;;;7140:32;7189:19;;25249:67:0::1;6816:398:1::0;25249:67:0::1;-1:-1:-1::0;;;;;25327:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;25327:27:0::1;25350:4;25327:27;::::0;;25187:175::o;26640:136::-;6681:6;;-1:-1:-1;;;;;6681:6:0;1291:10;6743:23;6735:68;;;;-1:-1:-1;;;6735:68:0;;;;;;;:::i;:::-;26698:9:::1;::::0;::::1;;26697:10;26689:52;;;::::0;-1:-1:-1;;;26689:52:0;;7421:2:1;26689:52:0::1;::::0;::::1;7403:21:1::0;7460:2;7440:18;;;7433:30;7499:31;7479:18;;;7472:59;7548:18;;26689:52:0::1;7219:353:1::0;26689:52:0::1;26752:9;:16:::0;;-1:-1:-1;;26752:16:0::1;26764:4;26752:16;::::0;;26640:136::o;24220:154::-;6681:6;;-1:-1:-1;;;;;6681:6:0;1291:10;6743:23;6735:68;;;;-1:-1:-1;;;6735:68:0;;;;;;;:::i;:::-;24305:5:::1;24296:6;:14;24288:38;;;::::0;-1:-1:-1;;;24288:38:0;;7779:2:1;24288:38:0::1;::::0;::::1;7761:21:1::0;7818:2;7798:18;;;7791:30;-1:-1:-1;;;7837:18:1;;;7830:41;7888:18;;24288:38:0::1;7577:335:1::0;24288:38:0::1;24349:17;:6:::0;24358:8:::1;24349:17;:::i;:::-;24337:9;:29:::0;-1:-1:-1;24220:154:0:o;6833:94::-;6681:6;;-1:-1:-1;;;;;6681:6:0;1291:10;6743:23;6735:68;;;;-1:-1:-1;;;6735:68:0;;;;;;;:::i;:::-;6898:21:::1;6916:1;6898:9;:21::i;24656:183::-:0;6681:6;;-1:-1:-1;;;;;6681:6:0;1291:10;6743:23;6735:68;;;;-1:-1:-1;;;6735:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;24735:18:0;::::1;;::::0;;;:9:::1;:18;::::0;;;;;::::1;;24734:19;24726:69;;;::::0;-1:-1:-1;;;24726:69:0;;8292:2:1;24726:69:0::1;::::0;::::1;8274:21:1::0;8331:2;8311:18;;;8304:30;8370:34;8350:18;;;8343:62;-1:-1:-1;;;8421:18:1;;;8414:35;8466:19;;24726:69:0::1;8090:401:1::0;24726:69:0::1;-1:-1:-1::0;;;;;24806:18:0::1;;::::0;;;:9:::1;:18;::::0;;;;:25;;-1:-1:-1;;24806:25:0::1;24827:4;24806:25;::::0;;24656:183::o;27469:81::-;6681:6;;-1:-1:-1;;;;;6681:6:0;1291:10;6743:23;6735:68;;;;-1:-1:-1;;;6735:68:0;;;;;;;:::i;:::-;27522:13:::1;:20:::0;;-1:-1:-1;;27522:20:0::1;;;::::0;;27469:81::o;23821:127::-;6681:6;;-1:-1:-1;;;;;6681:6:0;1291:10;6743:23;6735:68;;;;-1:-1:-1;;;6735:68:0;;;;;;;:::i;:::-;7605:7;;-1:-1:-1;;;7605:7:0;;;;23874:9:::1;23866:55;;;::::0;-1:-1:-1;;;23866:55:0;;8698:2:1;23866:55:0::1;::::0;::::1;8680:21:1::0;8737:2;8717:18;;;8710:30;8776:34;8756:18;;;8749:62;-1:-1:-1;;;8827:18:1;;;8820:31;8868:19;;23866:55:0::1;8496:397:1::0;23866:55:0::1;23932:8;:6;:8::i;20442:2529::-:0;20524:16;;;20538:1;20524:16;;;;;;;;20496:25;;20524:16;;;;;;;;;;-1:-1:-1;20524:16:0;20496:44;;20573:4;20551:8;20560:1;20551:11;;;;;;;;:::i;:::-;;;;;;:27;-1:-1:-1;;;;;20551:27:0;;;-1:-1:-1;;;;;20551:27:0;;;;;20603:17;;;;;;;;;-1:-1:-1;;;;;20603:17:0;-1:-1:-1;;;;;20603:22:0;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20589:8;20598:1;20589:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20589:38:0;;;:11;;;;;;;;;:38;20659:17;;20703:15;;20691:9;;20640:16;;20659:17;;;;;;;;:31;;20691:27;;;:::i;:::-;20720:8;20659:70;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20659:70:0;;;;;;;;;;;;:::i;:::-;20730:1;20659:73;;;;;;;;:::i;:::-;;;;;;;20640:92;;20847:8;20826:18;:29;;;;20884:13;;20872:8;:25;20868:2094;;21004:15;;20937:21;;20914:20;;21004:19;;21022:1;;21004:19;:::i;:::-;20992:9;;:31;;;;:::i;:::-;21063:13;:22;;;21134:17;;21063:22;;-1:-1:-1;21102:59:0;;21119:4;;21134:17;;;-1:-1:-1;;;;;21134:17:0;21063:22;21102:8;:59::i;:::-;21178:17;;:192;;-1:-1:-1;;;21178:192:0;;:17;;;;-1:-1:-1;;;;;21178:17:0;;:39;;:192;;21236:6;;21261:1;;21281:8;;21316:4;;21340:15;;21178:192;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;21178:192:0;;;;;;;;;;;;:::i;:::-;-1:-1:-1;21387:17:0;21407:36;21431:12;21407:21;:36;:::i;:::-;21387:56;;21502:9;21483:16;:28;;;;21528:22;21571:1;21553:15;;:19;;;;:::i;:::-;21528:44;;21587:20;21693:8;21672:15;;21660:9;;:27;;;;:::i;:::-;21643:1;21625:15;;:19;;;;:::i;:::-;:30;;21647:8;21625:30;:::i;:::-;21624:64;;;;:::i;:::-;21611:78;;:9;:78;:::i;:::-;21610:91;;;;:::i;:::-;21587:114;;21718:14;21808:8;21787:15;;21775:9;;:27;;;;:::i;:::-;21750:9;;:20;;21762:8;21750:20;:::i;:::-;21749:54;;;;:::i;:::-;21736:68;;:9;:68;:::i;:::-;21735:81;;;;:::i;:::-;21718:98;;21833:67;21850:4;21865:17;;;;;;;;;-1:-1:-1;;;;;21865:17:0;21885:14;21833:8;:67::i;:::-;21917:17;;;;;;;;;-1:-1:-1;;;;;21917:17:0;-1:-1:-1;;;;;21917:33:0;;21959:12;21999:4;22023:14;22056:1;22076;22096:10;:23;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;;21917:251:0;;;;;;;-1:-1:-1;;;;;12331:15:1;;;21917:251:0;;;12313:34:1;12363:18;;;12356:34;;;;12406:18;;;12399:34;;;;12449:18;;;12442:34;22096:23:0;;12492:19:1;;;12485:44;22138:15:0;12545:19:1;;;12538:35;12247:19;;21917:251:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;22185:23;22253:14;22244:6;:23;;;;:::i;:::-;22224:15;;22212:9;;:27;;;;:::i;:::-;22211:57;;;;:::i;:::-;22308:22;:40;;;22185:83;-1:-1:-1;22369:19:0;;22365:120;;22409:60;22427:4;22434:10;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;22434:17:0;22453:15;22409:9;:60::i;:::-;22504:12;22521:10;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;22521:17:0;;22552:6;;22521:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22503:60;;;22586:7;22578:50;;;;-1:-1:-1;;;22578:50:0;;13307:2:1;22578:50:0;;;13289:21:1;13346:2;13326:18;;;13319:30;13385:32;13365:18;;;13358:60;13435:18;;22578:50:0;13105:354:1;22578:50:0;22687:1;22662:21;22671:12;22662:6;:21;:::i;:::-;22649:35;;:9;:35;:::i;:::-;:39;22645:240;;;22710:13;22728:10;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;;;;;22728:17:0;22772:21;22781:12;22772:6;:21;:::i;:::-;22759:35;;:9;:35;:::i;:::-;22728:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22709:90;;;22826:8;22818:51;;;;-1:-1:-1;;;22818:51:0;;13307:2:1;22818:51:0;;;13289:21:1;13346:2;13326:18;;;13319:30;13385:32;13365:18;;;13358:60;13435:18;;22818:51:0;13105:354:1;22818:51:0;22690:195;22645:240;-1:-1:-1;;22913:1:0;22901:9;:13;;;22929:15;:19;-1:-1:-1;;;;;;20868:2094:0;20485:2486;;20442:2529::o;1933:104::-;1989:13;2022:7;2015:14;;;;;:::i;27618:83::-;6681:6;;-1:-1:-1;;;;;6681:6:0;1291:10;6743:23;6735:68;;;;-1:-1:-1;;;6735:68:0;;;;;;;:::i;:::-;27672:13:::1;:21:::0;;-1:-1:-1;;27672:21:0::1;::::0;;27618:83::o;3623:401::-;1291:10;3716:4;3760:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;3760:34:0;;;;;;;;;;3813:35;;;;3805:85;;;;-1:-1:-1;;;3805:85:0;;13666:2:1;3805:85:0;;;13648:21:1;13705:2;13685:18;;;13678:30;13744:34;13724:18;;;13717:62;-1:-1:-1;;;13795:18:1;;;13788:35;13840:19;;3805:85:0;13464:401:1;3805:85:0;3918:67;1291:10;3941:7;3969:15;3950:16;:34;3918:8;:67::i;:::-;-1:-1:-1;4012:4:0;;3623:401;-1:-1:-1;;;3623:401:0:o;2397:175::-;2483:4;2500:42;1291:10;2524:9;2535:6;2500:9;:42::i;25442:177::-;6681:6;;-1:-1:-1;;;;;6681:6:0;1291:10;6743:23;6735:68;;;;-1:-1:-1;;;6735:68:0;;;;;;;:::i;:::-;25518:19:::1;25529:7;25518:10;:19::i;:::-;25510:62;;;::::0;-1:-1:-1;;;25510:62:0;;14072:2:1;25510:62:0::1;::::0;::::1;14054:21:1::0;14111:2;14091:18;;;14084:30;14150:32;14130:18;;;14123:60;14200:18;;25510:62:0::1;13870:354:1::0;25510:62:0::1;-1:-1:-1::0;;;;;25583:20:0::1;25606:5;25583:20:::0;;;:11:::1;:20;::::0;;;;:28;;-1:-1:-1;;25583:28:0::1;::::0;;25442:177::o;27292:110::-;-1:-1:-1;;;;;27374:20:0;27350:4;27374:20;;;:11;:20;;;;;;;;;27292:110::o;26838:138::-;6681:6;;-1:-1:-1;;;;;6681:6:0;1291:10;6743:23;6735:68;;;;-1:-1:-1;;;6735:68:0;;;;;;;:::i;:::-;26896:9:::1;::::0;::::1;;26888:52;;;::::0;-1:-1:-1;;;26888:52:0;;14431:2:1;26888:52:0::1;::::0;::::1;14413:21:1::0;14470:2;14450:18;;;14443:30;14509:32;14489:18;;;14482:60;14559:18;;26888:52:0::1;14229:354:1::0;26888:52:0::1;26951:9;:17:::0;;-1:-1:-1;;26951:17:0::1;::::0;;26838:138::o;24927:180::-;6681:6;;-1:-1:-1;;;;;6681:6:0;1291:10;6743:23;6735:68;;;;-1:-1:-1;;;6735:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;25006:18:0;::::1;;::::0;;;:9:::1;:18;::::0;;;;;::::1;;24998:64;;;::::0;-1:-1:-1;;;24998:64:0;;14790:2:1;24998:64:0::1;::::0;::::1;14772:21:1::0;14829:2;14809:18;;;14802:30;14868:34;14848:18;;;14841:62;-1:-1:-1;;;14919:18:1;;;14912:31;14960:19;;24998:64:0::1;14588:397:1::0;24998:64:0::1;-1:-1:-1::0;;;;;25073:18:0::1;25094:5;25073:18:::0;;;:9:::1;:18;::::0;;;;:26;;-1:-1:-1;;25073:26:0::1;::::0;;24927:180::o;26112:97::-;6681:6;;-1:-1:-1;;;;;6681:6:0;1291:10;6743:23;6735:68;;;;-1:-1:-1;;;6735:68:0;;;;;;;:::i;:::-;26196:3:::1;26176:10;:17;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:23;;-1:-1:-1;;;;;26176:23:0;;;::::1;-1:-1:-1::0;;;;;;26176:23:0;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;26112:97:0:o;6937:192::-;6681:6;;-1:-1:-1;;;;;6681:6:0;1291:10;6743:23;6735:68;;;;-1:-1:-1;;;6735:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7026:22:0;::::1;7018:73;;;::::0;-1:-1:-1;;;7018:73:0;;15192:2:1;7018:73:0::1;::::0;::::1;15174:21:1::0;15231:2;15211:18;;;15204:30;15270:34;15250:18;;;15243:62;-1:-1:-1;;;15321:18:1;;;15314:36;15367:19;;7018:73:0::1;14990:402:1::0;7018:73:0::1;7102:19;7112:8;7102:9;:19::i;26217:362::-:0;6681:6;;-1:-1:-1;;;;;6681:6:0;1291:10;6743:23;6735:68;;;;-1:-1:-1;;;6735:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;26295:22:0;::::1;26291:124;;6681:6:::0;;26334:48:::1;::::0;-1:-1:-1;;;;;6681:6:0;;;;26360:21:::1;26334:48:::0;::::1;;;::::0;::::1;::::0;;;26360:21;6681:6;26334:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;26291:124;26488:35;::::0;-1:-1:-1;;;26488:35:0;;26517:4:::1;26488:35;::::0;::::1;4064:51:1::0;26452:6:0;;26425:17:::1;::::0;-1:-1:-1;;;;;26488:20:0;::::1;::::0;::::1;::::0;4037:18:1;;26488:35:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;26470:53;;26534:10;-1:-1:-1::0;;;;;26534:19:0::1;;26554:7;6681:6:::0;;-1:-1:-1;;;;;6681:6:0;;6608:87;26554:7:::1;26534:37;::::0;-1:-1:-1;;;;;;26534:37:0::1;::::0;;;;;;-1:-1:-1;;;;;15778:32:1;;;26534:37:0::1;::::0;::::1;15760:51:1::0;15827:18;;;15820:34;;;15733:18;;26534:37:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;26278:301;;26217:362:::0;:::o;5759:380::-;-1:-1:-1;;;;;5895:19:0;;5887:68;;;;-1:-1:-1;;;5887:68:0;;16349:2:1;5887:68:0;;;16331:21:1;16388:2;16368:18;;;16361:30;16427:34;16407:18;;;16400:62;-1:-1:-1;;;16478:18:1;;;16471:34;16522:19;;5887:68:0;16147:400:1;5887:68:0;-1:-1:-1;;;;;5974:21:0;;5966:68;;;;-1:-1:-1;;;5966:68:0;;16754:2:1;5966:68:0;;;16736:21:1;16793:2;16773:18;;;16766:30;16832:34;16812:18;;;16805:62;-1:-1:-1;;;16883:18:1;;;16876:32;16925:19;;5966:68:0;16552:398:1;5966:68:0;-1:-1:-1;;;;;6047:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6099:32;;2795:25:1;;;6099:32:0;;2768:18:1;6099:32:0;;;;;;;5759:380;;;:::o;22981:585::-;7605:7;;-1:-1:-1;;;7605:7:0;;;;23130:9;23122:56;;;;-1:-1:-1;;;23122:56:0;;17157:2:1;23122:56:0;;;17139:21:1;17196:2;17176:18;;;17169:30;17235:34;17215:18;;;17208:62;-1:-1:-1;;;17286:18:1;;;17279:32;17328:19;;23122:56:0;16955:398:1;23122:56:0;23212:10;27141:4;27165:18;;;:9;:18;;;;;;;;23197:26;23189:64;;;;-1:-1:-1;;;23189:64:0;;17560:2:1;23189:64:0;;;17542:21:1;17599:2;17579:18;;;17572:30;-1:-1:-1;;;17618:18:1;;;17611:55;17683:18;;23189:64:0;17358:349:1;23189:64:0;-1:-1:-1;;;;;27165:18:0;;27141:4;27165:18;;;:9;:18;;;;;;;;23272:25;23264:66;;;;-1:-1:-1;;;23264:66:0;;17914:2:1;23264:66:0;;;17896:21:1;17953:2;17933:18;;;17926:30;17992;17972:18;;;17965:58;18040:18;;23264:66:0;17712:352:1;23264:66:0;23364:9;27141:4;27165:18;;;:9;:18;;;;;;;;23349:25;23341:63;;;;-1:-1:-1;;;23341:63:0;;17560:2:1;23341:63:0;;;17542:21:1;17599:2;17579:18;;;17572:30;-1:-1:-1;;;17618:18:1;;;17611:55;17683:18;;23341:63:0;17358:349:1;23341:63:0;23421:9;;;;23417:87;;;23456:36;23466:6;23474:9;23485:6;23456:9;:36::i;:::-;23447:45;;23417:87;23516:42;23532:6;23540:9;23551:6;23516:15;:42::i;:::-;22981:585;;;:::o;18667:1767::-;18745:7;18772:16;18783:4;18772:10;:16::i;:::-;18771:17;:36;;;;;18793:14;18804:2;18793:10;:14::i;:::-;18792:15;18771:36;18767:1634;;;18870:13;;18824:11;;-1:-1:-1;;;;;18870:13:0;;;18854:30;;;;18850:1144;;18939:11;;18921:8;:15;;;;;:::i;:::-;;;;;;;;;;;;;;18912:6;:24;;;;:::i;:::-;:38;;;;:::i;:::-;18905:45;;;;:::i;:::-;;;19009:11;;18985:8;:21;;;;;:::i;:::-;;;;;;;;;;;;;;18976:6;:30;;;;:::i;:::-;:44;;;;:::i;:::-;18969:51;;;;:::i;:::-;;;19081:11;;19063:8;:15;;;;;:::i;:::-;;;;;;;;;;;;;;19054:6;:24;;;;:::i;:::-;:38;;;;:::i;:::-;19041:9;;:51;;;;;;;:::i;:::-;;;;-1:-1:-1;;19163:11:0;;19139:21;;:8;;:21;;;:::i;:::-;;;;;;;;;;;;;;19130:6;:30;;;;:::i;:::-;:44;;;;:::i;:::-;19111:15;;:63;;;;;;;:::i;:::-;;;;-1:-1:-1;;19199:7:0;;19195:142;;19231:35;19241:4;19255;19262:3;19231:9;:35::i;:::-;18850:1144;;;19376:13;;-1:-1:-1;;;;;19376:13:0;;;19362:28;;;;19358:636;;19448:11;;19429:9;:16;;;;;:::i;:::-;;;;;;;;;;;;;;19420:6;:25;;;;:::i;:::-;:39;;;;:::i;:::-;19413:46;;;;:::i;:::-;;;19519:11;;19494:9;:22;;;;;:::i;:::-;;;;;;;;;;;;;;19485:6;:31;;;;:::i;:::-;:45;;;;:::i;:::-;19478:52;;;;:::i;:::-;;;19592:11;;19573:9;:16;;;;;:::i;:::-;;;;;;;;;;;;;;19564:6;:25;;;;:::i;:::-;:39;;;;:::i;:::-;19551:9;;:52;;;;;;;:::i;:::-;;;;-1:-1:-1;;19675:11:0;;19650:22;;:9;;:22;;;:::i;:::-;;;;;;;;;;;;;;19641:6;:31;;;;:::i;:::-;:45;;;;:::i;:::-;19622:15;;:64;;;;;;;:::i;:::-;;;;-1:-1:-1;;19711:7:0;;19707:91;;19743:35;19753:4;19767;19774:3;19743:9;:35::i;:::-;19818:14;19847:15;;19835:9;;:27;;;;:::i;:::-;19818:44;;19885:6;19895:1;19885:11;19881:30;;19905:6;19898:13;;;;;;19881:30;19935:13;;;;;;;19932:44;;;19950:26;:24;:26::i;:::-;19392:602;19358:636;20010:13;20020:3;20010:13;;:::i;:::-;;;20061;20071:2;-1:-1:-1;;;;;2363:18:0;2336:7;2363:18;;;;;;;;;;;;2262:127;20061:13;20040:18;:34;;;20089:13;:22;;;20153:34;;20105:6;;20153:34;:::i;:::-;20126:24;:61;20221:9;;20202:16;:28;20265:13;;-1:-1:-1;;;;;20251:28:0;;;20265:13;;20251:28;20247:141;;20334:9;;20324:6;20308:13;20318:2;-1:-1:-1;;;;;2363:18:0;2336:7;2363:18;;;;;;;;;;;;2262:127;20308:13;:22;;;;:::i;:::-;:35;;20300:72;;;;-1:-1:-1;;;20300:72:0;;18271:2:1;20300:72:0;;;18253:21:1;18310:2;18290:18;;;18283:30;18349:26;18329:18;;;18322:54;18393:18;;20300:72:0;18069:348:1;20300:72:0;18809:1592;18767:1634;-1:-1:-1;20420:6:0;18667:1767;-1:-1:-1;;18667:1767:0:o;7962:120::-;7605:7;;-1:-1:-1;;;7605:7:0;;;;7767:41;;;;-1:-1:-1;;;7767:41:0;;18624:2:1;7767:41:0;;;18606:21:1;18663:2;18643:18;;;18636:30;-1:-1:-1;;;18682:18:1;;;18675:50;18742:18;;7767:41:0;18422:344:1;7767:41:0;8021:7:::1;:15:::0;;-1:-1:-1;;;;8021:15:0::1;::::0;;8052:22:::1;1291:10:::0;8061:12:::1;8052:22;::::0;-1:-1:-1;;;;;4082:32:1;;;4064:51;;4052:2;4037:18;8052:22:0::1;;;;;;;7962:120::o:0;5170:579::-;-1:-1:-1;;;;;5254:21:0;;5246:67;;;;-1:-1:-1;;;5246:67:0;;18973:2:1;5246:67:0;;;18955:21:1;19012:2;18992:18;;;18985:30;19051:34;19031:18;;;19024:62;-1:-1:-1;;;19102:18:1;;;19095:31;19143:19;;5246:67:0;18771:397:1;5246:67:0;-1:-1:-1;;;;;5413:18:0;;5388:22;5413:18;;;;;;;;;;;5450:24;;;;5442:71;;;;-1:-1:-1;;;5442:71:0;;19375:2:1;5442:71:0;;;19357:21:1;19414:2;19394:18;;;19387:30;19453:34;19433:18;;;19426:62;-1:-1:-1;;;19504:18:1;;;19497:32;19546:19;;5442:71:0;19173:398:1;5442:71:0;-1:-1:-1;;;;;5541:18:0;;:9;:18;;;;;;;;;;5562:23;;;5541:44;;5603:12;:22;;5579:6;;5541:9;5603:22;;5579:6;;5603:22;:::i;:::-;;;;-1:-1:-1;;5643:37:0;;2795:25:1;;;5669:1:0;;-1:-1:-1;;;;;5643:37:0;;;;;2783:2:1;2768:18;5643:37:0;;;;;;;22981:585;;;:::o;7137:174::-;7213:6;;;-1:-1:-1;;;;;7230:17:0;;;-1:-1:-1;;;;;;7230:17:0;;;;;;;7263:40;;7213:6;;;7230:17;7213:6;;7263:40;;7194:16;;7263:40;7183:128;7137:174;:::o;7836:118::-;7605:7;;-1:-1:-1;;;7605:7:0;;;;7674:9;7666:38;;;;-1:-1:-1;;;7666:38:0;;19778:2:1;7666:38:0;;;19760:21:1;19817:2;19797:18;;;19790:30;-1:-1:-1;;;19836:18:1;;;19829:46;19892:18;;7666:38:0;19576:340:1;7666:38:0;7896:7:::1;:14:::0;;-1:-1:-1;;;;7896:14:0::1;-1:-1:-1::0;;;7896:14:0::1;::::0;;7926:20:::1;7933:12;1291:10:::0;;1211:98;4032:721;-1:-1:-1;;;;;4172:20:0;;4164:70;;;;-1:-1:-1;;;4164:70:0;;20123:2:1;4164:70:0;;;20105:21:1;20162:2;20142:18;;;20135:30;20201:34;20181:18;;;20174:62;-1:-1:-1;;;20252:18:1;;;20245:35;20297:19;;4164:70:0;19921:401:1;4164:70:0;-1:-1:-1;;;;;4253:23:0;;4245:71;;;;-1:-1:-1;;;4245:71:0;;20529:2:1;4245:71:0;;;20511:21:1;20568:2;20548:18;;;20541:30;20607:34;20587:18;;;20580:62;-1:-1:-1;;;20658:18:1;;;20651:33;20701:19;;4245:71:0;20327:399:1;4245:71:0;-1:-1:-1;;;;;4413:17:0;;4389:21;4413:17;;;;;;;;;;;4449:23;;;;4441:74;;;;-1:-1:-1;;;4441:74:0;;20933:2:1;4441:74:0;;;20915:21:1;20972:2;20952:18;;;20945:30;21011:34;20991:18;;;20984:62;-1:-1:-1;;;21062:18:1;;;21055:36;21108:19;;4441:74:0;20731:402:1;4441:74:0;-1:-1:-1;;;;;4543:17:0;;;:9;:17;;;;;;;;;;;4563:22;;;4543:42;;4603:20;;;;;;;;:30;;4579:6;;4543:9;4603:30;;4579:6;;4603:30;:::i;:::-;;;;;;;;4668:9;-1:-1:-1;;;;;4651:35:0;4660:6;-1:-1:-1;;;;;4651:35:0;;4679:6;4651:35;;;;2795:25:1;;2783:2;2768:18;;2649:177;4651:35:0;;;;;;;;4699:46;22981:585;14:248:1;82:6;90;143:2;131:9;122:7;118:23;114:32;111:52;;;159:1;156;149:12;111:52;-1:-1:-1;;182:23:1;;;252:2;237:18;;;224:32;;-1:-1:-1;14:248:1:o;267:548::-;379:4;408:2;437;426:9;419:21;469:6;463:13;512:6;507:2;496:9;492:18;485:34;537:1;547:140;561:6;558:1;555:13;547:140;;;656:14;;;652:23;;646:30;622:17;;;641:2;618:26;611:66;576:10;;547:140;;;551:3;736:1;731:2;722:6;711:9;707:22;703:31;696:42;806:2;799;795:7;790:2;782:6;778:15;774:29;763:9;759:45;755:54;747:62;;;;267:548;;;;:::o;820:131::-;-1:-1:-1;;;;;895:31:1;;885:42;;875:70;;941:1;938;931:12;956:315;1024:6;1032;1085:2;1073:9;1064:7;1060:23;1056:32;1053:52;;;1101:1;1098;1091:12;1053:52;1140:9;1127:23;1159:31;1184:5;1159:31;:::i;:::-;1209:5;1261:2;1246:18;;;;1233:32;;-1:-1:-1;;;956:315:1:o;1468:127::-;1529:10;1524:3;1520:20;1517:1;1510:31;1560:4;1557:1;1550:15;1584:4;1581:1;1574:15;1600:275;1671:2;1665:9;1736:2;1717:13;;-1:-1:-1;;1713:27:1;1701:40;;1771:18;1756:34;;1792:22;;;1753:62;1750:88;;;1818:18;;:::i;:::-;1854:2;1847:22;1600:275;;-1:-1:-1;1600:275:1:o;1880:764::-;1949:6;1980:2;2023;2011:9;2002:7;1998:23;1994:32;1991:52;;;2039:1;2036;2029:12;1991:52;2079:9;2066:23;2108:18;2149:2;2141:6;2138:14;2135:34;;;2165:1;2162;2155:12;2135:34;2203:6;2192:9;2188:22;2178:32;;2248:7;2241:4;2237:2;2233:13;2229:27;2219:55;;2270:1;2267;2260:12;2219:55;2306:2;2293:16;2328:2;2324;2321:10;2318:36;;;2334:18;;:::i;:::-;2376:53;2419:2;2400:13;;-1:-1:-1;;2396:27:1;2392:36;;2376:53;:::i;:::-;2363:66;;2452:2;2445:5;2438:17;2492:7;2487:2;2482;2478;2474:11;2470:20;2467:33;2464:53;;;2513:1;2510;2503:12;2464:53;2568:2;2563;2559;2555:11;2550:2;2543:5;2539:14;2526:45;2612:1;2591:14;;;2587:23;;;2580:34;;;;-1:-1:-1;2595:5:1;1880:764;-1:-1:-1;;;1880:764:1:o;2831:456::-;2908:6;2916;2924;2977:2;2965:9;2956:7;2952:23;2948:32;2945:52;;;2993:1;2990;2983:12;2945:52;3032:9;3019:23;3051:31;3076:5;3051:31;:::i;:::-;3101:5;-1:-1:-1;3158:2:1;3143:18;;3130:32;3171:33;3130:32;3171:33;:::i;:::-;2831:456;;3223:7;;-1:-1:-1;;;3277:2:1;3262:18;;;;3249:32;;2831:456::o;3292:247::-;3351:6;3404:2;3392:9;3383:7;3379:23;3375:32;3372:52;;;3420:1;3417;3410:12;3372:52;3459:9;3446:23;3478:31;3503:5;3478:31;:::i;3733:180::-;3792:6;3845:2;3833:9;3824:7;3820:23;3816:32;3813:52;;;3861:1;3858;3851:12;3813:52;-1:-1:-1;3884:23:1;;3733:180;-1:-1:-1;3733:180:1:o;4126:388::-;4194:6;4202;4255:2;4243:9;4234:7;4230:23;4226:32;4223:52;;;4271:1;4268;4261:12;4223:52;4310:9;4297:23;4329:31;4354:5;4329:31;:::i;:::-;4379:5;-1:-1:-1;4436:2:1;4421:18;;4408:32;4449:33;4408:32;4449:33;:::i;:::-;4501:7;4491:17;;;4126:388;;;;;:::o;4519:356::-;4721:2;4703:21;;;4740:18;;;4733:30;4799:34;4794:2;4779:18;;4772:62;4866:2;4851:18;;4519:356::o;4880:253::-;-1:-1:-1;;;5082:18:1;;5125:1;5116:11;;4880:253::o;5138:259::-;-1:-1:-1;;;5340:24:1;;5389:1;5380:11;;5138:259::o;5402:380::-;5481:1;5477:12;;;;5524;;;5545:61;;5599:4;5591:6;5587:17;5577:27;;5545:61;5652:2;5644:6;5641:14;5621:18;5618:38;5615:161;;5698:10;5693:3;5689:20;5686:1;5679:31;5733:4;5730:1;5723:15;5761:4;5758:1;5751:15;5615:161;;5402:380;;;:::o;6196:127::-;6257:10;6252:3;6248:20;6245:1;6238:31;6288:4;6285:1;6278:15;6312:4;6309:1;6302:15;6328:125;6393:9;;;6414:10;;;6411:36;;;6427:18;;:::i;7917:168::-;7990:9;;;8021;;8038:15;;;8032:22;;8018:37;8008:71;;8059:18;;:::i;8898:127::-;8959:10;8954:3;8950:20;8947:1;8940:31;8990:4;8987:1;8980:15;9014:4;9011:1;9004:15;9030:251;9100:6;9153:2;9141:9;9132:7;9128:23;9124:32;9121:52;;;9169:1;9166;9159:12;9121:52;9201:9;9195:16;9220:31;9245:5;9220:31;:::i;9286:461::-;9339:3;9377:5;9371:12;9404:6;9399:3;9392:19;9430:4;9459:2;9454:3;9450:12;9443:19;;9496:2;9489:5;9485:14;9517:1;9527:195;9541:6;9538:1;9535:13;9527:195;;;9606:13;;-1:-1:-1;;;;;9602:39:1;9590:52;;9662:12;;;;9697:15;;;;9638:1;9556:9;9527:195;;;-1:-1:-1;9738:3:1;;9286:461;-1:-1:-1;;;;;9286:461:1:o;9752:332::-;9959:6;9948:9;9941:25;10002:2;9997;9986:9;9982:18;9975:30;9922:4;10022:56;10074:2;10063:9;10059:18;10051:6;10022:56;:::i;:::-;10014:64;9752:332;-1:-1:-1;;;;9752:332:1:o;10089:936::-;10184:6;10215:2;10258;10246:9;10237:7;10233:23;10229:32;10226:52;;;10274:1;10271;10264:12;10226:52;10307:9;10301:16;10336:18;10377:2;10369:6;10366:14;10363:34;;;10393:1;10390;10383:12;10363:34;10431:6;10420:9;10416:22;10406:32;;10476:7;10469:4;10465:2;10461:13;10457:27;10447:55;;10498:1;10495;10488:12;10447:55;10527:2;10521:9;10549:2;10545;10542:10;10539:36;;;10555:18;;:::i;:::-;10601:2;10598:1;10594:10;10584:20;;10624:28;10648:2;10644;10640:11;10624:28;:::i;:::-;10686:15;;;10756:11;;;10752:20;;;10717:12;;;;10784:19;;;10781:39;;;10816:1;10813;10806:12;10781:39;10840:11;;;;10860:135;10876:6;10871:3;10868:15;10860:135;;;10942:10;;10930:23;;10893:12;;;;10973;;;;10860:135;;;11014:5;10089:936;-1:-1:-1;;;;;;;;10089:936:1:o;11030:217::-;11070:1;11096;11086:132;;11140:10;11135:3;11131:20;11128:1;11121:31;11175:4;11172:1;11165:15;11203:4;11200:1;11193:15;11086:132;-1:-1:-1;11232:9:1;;11030:217::o;11252:582::-;11551:6;11540:9;11533:25;11594:6;11589:2;11578:9;11574:18;11567:34;11637:3;11632:2;11621:9;11617:18;11610:31;11514:4;11658:57;11710:3;11699:9;11695:19;11687:6;11658:57;:::i;:::-;-1:-1:-1;;;;;11751:32:1;;;;11746:2;11731:18;;11724:60;-1:-1:-1;11815:3:1;11800:19;11793:35;11650:65;11252:582;-1:-1:-1;;;11252:582:1:o;11839:128::-;11906:9;;;11927:11;;;11924:37;;;11941:18;;:::i;12584:306::-;12672:6;12680;12688;12741:2;12729:9;12720:7;12716:23;12712:32;12709:52;;;12757:1;12754;12747:12;12709:52;12786:9;12780:16;12770:26;;12836:2;12825:9;12821:18;12815:25;12805:35;;12880:2;12869:9;12865:18;12859:25;12849:35;;12584:306;;;;;:::o;15397:184::-;15467:6;15520:2;15508:9;15499:7;15495:23;15491:32;15488:52;;;15536:1;15533;15526:12;15488:52;-1:-1:-1;15559:16:1;;15397:184;-1:-1:-1;15397:184:1:o;15865:277::-;15932:6;15985:2;15973:9;15964:7;15960:23;15956:32;15953:52;;;16001:1;15998;15991:12;15953:52;16033:9;16027:16;16086:5;16079:13;16072:21;16065:5;16062:32;16052:60;;16108:1;16105;16098:12
Swarm Source
ipfs://126b8192454ac1fd8552229b5c9ee08be4b10e1846d9e860326c5d0498939155
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.