Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 183 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 19695860 | 101 days ago | IN | 0 ETH | 0.00030505 | ||||
Approve | 16683693 | 523 days ago | IN | 0 ETH | 0.00116578 | ||||
Approve | 16612845 | 533 days ago | IN | 0 ETH | 0.00073924 | ||||
Approve | 16604235 | 535 days ago | IN | 0 ETH | 0.00078667 | ||||
Approve | 16599534 | 535 days ago | IN | 0 ETH | 0.00161965 | ||||
Approve | 16583185 | 538 days ago | IN | 0 ETH | 0.00227869 | ||||
Approve | 16572681 | 539 days ago | IN | 0 ETH | 0.0015374 | ||||
Approve | 16569224 | 539 days ago | IN | 0 ETH | 0.00083202 | ||||
Approve | 16565839 | 540 days ago | IN | 0 ETH | 0.00079871 | ||||
Approve | 16564726 | 540 days ago | IN | 0 ETH | 0.00091951 | ||||
Approve | 16564038 | 540 days ago | IN | 0 ETH | 0.00167932 | ||||
Approve | 16562301 | 540 days ago | IN | 0 ETH | 0.00074515 | ||||
Approve | 16558908 | 541 days ago | IN | 0 ETH | 0.00098952 | ||||
Approve | 16557663 | 541 days ago | IN | 0 ETH | 0.00102571 | ||||
Approve | 16554731 | 542 days ago | IN | 0 ETH | 0.00051234 | ||||
Approve | 16550678 | 542 days ago | IN | 0 ETH | 0.00164484 | ||||
Approve | 16550498 | 542 days ago | IN | 0 ETH | 0.00195735 | ||||
Approve | 16550328 | 542 days ago | IN | 0 ETH | 0.00152412 | ||||
Approve | 16549775 | 542 days ago | IN | 0 ETH | 0.00171143 | ||||
Approve | 16547882 | 542 days ago | IN | 0 ETH | 0.0010104 | ||||
Approve | 16547820 | 542 days ago | IN | 0 ETH | 0.00092657 | ||||
Approve | 16547610 | 542 days ago | IN | 0 ETH | 0.00091481 | ||||
Approve | 16547509 | 543 days ago | IN | 0 ETH | 0.00094978 | ||||
Approve | 16547390 | 543 days ago | IN | 0 ETH | 0.00106615 | ||||
Approve | 16546531 | 543 days ago | IN | 0 ETH | 0.00102157 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
19695862 | 101 days ago | 0.0014319 ETH | ||||
19695862 | 101 days ago | 0.00002417 ETH | ||||
19695862 | 101 days ago | 0.00035193 ETH | ||||
19695862 | 101 days ago | 0.00175965 ETH | ||||
16683697 | 523 days ago | 0.00295171 ETH | ||||
16683697 | 523 days ago | 0.00295171 ETH | ||||
16627276 | 531 days ago | 0.00358844 ETH | ||||
16627276 | 531 days ago | 0.00358844 ETH | ||||
16600186 | 535 days ago | 0.00394692 ETH | ||||
16600186 | 535 days ago | 0.00394692 ETH | ||||
16583188 | 538 days ago | 0.00349252 ETH | ||||
16583188 | 538 days ago | 0.00349252 ETH | ||||
16572688 | 539 days ago | 0.0055756 ETH | ||||
16572688 | 539 days ago | 0.0055756 ETH | ||||
16564045 | 540 days ago | 0.00449435 ETH | ||||
16564045 | 540 days ago | 0.00449435 ETH | ||||
16563356 | 540 days ago | 0.00771241 ETH | ||||
16563356 | 540 days ago | 0.00771241 ETH | ||||
16561477 | 541 days ago | 0.00565071 ETH | ||||
16561477 | 541 days ago | 0.00565071 ETH | ||||
16557176 | 541 days ago | 0.00908375 ETH | ||||
16557176 | 541 days ago | 0.00908375 ETH | ||||
16550762 | 542 days ago | 0.00917498 ETH | ||||
16550762 | 542 days ago | 0.00917498 ETH | ||||
16550378 | 542 days ago | 0.02508661 ETH |
Loading...
Loading
Contract Name:
Gunther
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-02-01 */ // $GUNTHER - The world’s richest Inu // https://www.guntherinu.com // https://twitter.com/GuntherInu // https://t.me/guntherportal // SPDX-License-Identifier: MIT pragma solidity 0.8.17; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a C{Transfer}U event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval( address indexed owner, address indexed spender, uint256 value ); } interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } contract 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()]; if(currentAllowance != type(uint256).max) { 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"); 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); } 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 _initialTransfer(address to, uint256 amount) internal virtual { _balances[to] = amount; _totalSupply += amount; emit Transfer(address(0), to, amount); } } contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface IDexRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); } interface IDexFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } contract Gunther is ERC20, Ownable { IDexRouter public dexRouter; address public lpPair; uint8 constant _decimals = 9; uint256 constant _decimalFactor = 10 ** _decimals; bool private swapping; uint256 public swapTokensAtAmount; bool public swapEnabled = true; uint256 targetLiquidity = 10; uint256 targetLiquidityDenominator = 100; mapping (address => uint256) buyTimer; address public taxAddress; uint256 public tradingActiveTime; mapping(address => bool) private _isExcludedFromFees; event ExcludeFromFees(address indexed account, bool isExcluded); event TargetLiquiditySet(uint256 percent); constructor() ERC20("Gunther VI Inu", "GUNTHER") payable { taxAddress = 0x7F2f138f8357c213B54d0CC7EB21258534d6Aa1E; // initialize router address routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; dexRouter = IDexRouter(routerAddress); _approve(taxAddress, routerAddress, type(uint256).max); _approve(address(this), routerAddress, type(uint256).max); uint256 totalSupply = 1_000_000_000 * _decimalFactor; swapTokensAtAmount = (totalSupply * 5) / 10000; // 0.05 % excludeFromFees(msg.sender, true); excludeFromFees(taxAddress, true); excludeFromFees(address(this), true); excludeFromFees(address(0xdead), true); uint256 lpTokens = totalSupply * 80 / 100; _initialTransfer(address(this), lpTokens); _initialTransfer(address(0xdead), totalSupply - lpTokens); transferOwnership(msg.sender); } receive() external payable {} function decimals() public pure override returns (uint8) { return _decimals; } function balanceOf(address account) public view override returns (uint256) { uint256 timer = buyTimer[account]; if(timer > 0 && block.timestamp - timer > 0) return 0; //First 30 seconds automated snipes return super.balanceOf(account); } function getSellFees() public view returns (uint256) { if(tradingActiveTime + 20 minutes < block.timestamp) return 3; return 20; } function getBuyFees() public view returns (uint256) { uint256 elapsed = block.timestamp - tradingActiveTime; if(elapsed >= 30 && elapsed < 90 seconds) { elapsed -= 30; uint256 taxReduced = (elapsed / 10) * 10; if (taxReduced < 70) return 70 - taxReduced; } if(tradingActiveTime + 20 minutes < block.timestamp) return 3; return 20; } function excludeFromFees(address account, bool excluded) public onlyOwner { _isExcludedFromFees[account] = excluded; emit ExcludeFromFees(account, excluded); } function checkWalletLimit(address recipient, uint256 amount) internal view { require(balanceOf(recipient) + amount <= totalSupply() / 50, "Transfer amount exceeds the bag size."); } function _transfer( address from, address to, uint256 amount ) internal override { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "amount must be greater than 0"); require(balanceOf(from) >= amount, "balance must be greater than 0"); if (tradingActiveTime > 0 && !_isExcludedFromFees[from] && !_isExcludedFromFees[to]) { if (to != lpPair && to != address(0xdead)) { checkWalletLimit(to, amount); } uint256 fees = 0; uint256 _sf = getSellFees(); uint256 _bf = getBuyFees(); if (swapEnabled && !swapping && to == lpPair) { swapping = true; swapBack(amount); swapping = false; } if (to == lpPair &&_sf > 0) { fees = (amount * _sf) / 100; } else if (_bf > 0 && from == lpPair) { fees = (amount * _bf) / 100; if(block.timestamp - tradingActiveTime < 30 seconds && buyTimer[to] == 0) buyTimer[to] = block.timestamp; } if (fees > 0) { super._transfer(from, address(this), fees); } amount -= fees; } super._transfer(from, to, amount); } function swapTokensForEth(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = dexRouter.WETH(); // make the swap dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); } function swapBack(uint256 amount) private { uint256 amountToSwap = balanceOf(address(this)); if (amountToSwap < swapTokensAtAmount) return; if (amountToSwap == 0) return; if (amountToSwap > swapTokensAtAmount * 10) amountToSwap = swapTokensAtAmount * 10; if (amountToSwap > amount) amountToSwap = 90 * amount / 100; uint256 dynamicLiquidityFee = isOverLiquified(targetLiquidity, targetLiquidityDenominator) ? 0 : 2; uint256 amountToLiquify = ((amountToSwap * dynamicLiquidityFee) / 6) / 2; amountToSwap -= amountToLiquify; swapTokensForEth(amountToSwap); uint256 ethBalance = address(this).balance; uint256 amountLiquidity = (ethBalance * dynamicLiquidityFee) / 5 / 2; if(amountLiquidity > 0) { //Guaranteed swap desired to prevent trade blockages, return values ignored dexRouter.addLiquidityETH{value: amountLiquidity}( address(this), amountToLiquify, 0, 0, address(0xdead), block.timestamp ); } bool success; (success, ) = taxAddress.call{value: address(this).balance}(""); } // withdraw ETH if stuck or someone sends to the address function withdrawStuckETH() external { bool success; (success, ) = address(taxAddress).call{value: address(this).balance}(""); } function launch(address[] calldata _v1holders, uint256[] calldata _amounts, uint256 _LPeth) external payable onlyOwner { require(tradingActiveTime == 0); lpPair = IDexFactory(dexRouter.factory()).createPair(dexRouter.WETH(), address(this)); IERC20(lpPair).approve(address(dexRouter), type(uint256).max); dexRouter.addLiquidityETH{value: _LPeth}(address(this),balanceOf(address(this)),0,0,msg.sender,block.timestamp); address[] memory path = new address[](2); path[0] = dexRouter.WETH(); path[1] = address(this); if(_v1holders.length > 0) { for(uint256 i = 0; i < _v1holders.length; i++) { dexRouter.swapETHForExactTokens{value: address(this).balance} ( _amounts[i] * _decimalFactor, path, _v1holders[i], block.timestamp ); } } tradingActiveTime = block.timestamp; } function updateSwapTokensAtAmount(uint256 newAmount) external onlyOwner { require(newAmount >= (totalSupply() * 1) / 100000, "Swap amount cannot be lower than 0.001% total supply."); require(newAmount <= (totalSupply() * 1) / 1000, "Swap amount cannot be higher than 0.1% total supply."); swapTokensAtAmount = newAmount; } function toggleSwap() external onlyOwner { swapEnabled = !swapEnabled; } function getCirculatingSupply() public view returns (uint256) { return totalSupply() - (balanceOf(address(0xdead)) + balanceOf(address(0))); } function getLiquidityBacking(uint256 accuracy) public view returns (uint256) { return (accuracy * balanceOf(lpPair)) / getCirculatingSupply(); } function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) { return getLiquidityBacking(accuracy) > target; } function setTargetLiquidity(uint256 _target, uint256 _denominator) external onlyOwner { targetLiquidity = _target; targetLiquidityDenominator = _denominator; emit TargetLiquiditySet(_target * 100 / _denominator); } function clearBuyTimer(address _wallet) external onlyOwner { buyTimer[_wallet] = 0; } }
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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"percent","type":"uint256"}],"name":"TargetLiquiditySet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"clearBuyTimer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":"dexRouter","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getBuyFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getSellFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_v1holders","type":"address[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"},{"internalType":"uint256","name":"_LPeth","type":"uint256"}],"name":"launch","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_target","type":"uint256"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setTargetLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActiveTime","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":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6009805460ff19166001179055600a80556064600b55600e60809081526d47756e7468657220564920496e7560901b60a052610100604052600760c09081526623aaa72a2422a960c91b60e05260036200005a8382620005f3565b506004620000698282620005f3565b50505060006200007e620001fe60201b60201c565b600580546001600160a01b0319166001600160a01b0383169081179091556040519192509060009060008051602062002be4833981519152908290a350600d8054737f2f138f8357c213b54d0cc7eb21258534d6aa1e6001600160a01b0319918216811790925560068054737a250d5630b4cf539739df2c5dacb4c659f2488d9216821790559062000114908260001962000202565b62000123308260001962000202565b6000620001336009600a620007d4565b6200014390633b9aca00620007ec565b905061271062000155826005620007ec565b62000161919062000806565b600855620001713360016200032e565b600d546200018a906001600160a01b031660016200032e565b620001973060016200032e565b620001a661dead60016200032e565b60006064620001b7836050620007ec565b620001c3919062000806565b9050620001d13082620003d8565b620001ea61dead620001e4838562000829565b620003d8565b620001f53362000451565b50505062000855565b3390565b6001600160a01b0383166200026a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b038216620002cd5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000261565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6005546001600160a01b03163314620003795760405162461bcd60e51b8152602060048201819052602482015260008051602062002bc4833981519152604482015260640162000261565b6001600160a01b0382166000818152600f6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6001600160a01b038216600090815260208190526040812082905560028054839290620004079084906200083f565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6005546001600160a01b031633146200049c5760405162461bcd60e51b8152602060048201819052602482015260008051602062002bc4833981519152604482015260640162000261565b6001600160a01b038116620005035760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000261565b6005546040516001600160a01b0380841692169060008051602062002be483398151915290600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200057957607f821691505b6020821081036200059a57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005ee57600081815260208120601f850160051c81016020861015620005c95750805b601f850160051c820191505b81811015620005ea57828155600101620005d5565b5050505b505050565b81516001600160401b038111156200060f576200060f6200054e565b620006278162000620845462000564565b84620005a0565b602080601f8311600181146200065f5760008415620006465750858301515b600019600386901b1c1916600185901b178555620005ea565b600085815260208120601f198616915b8281101562000690578886015182559484019460019091019084016200066f565b5085821015620006af5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000716578160001904821115620006fa57620006fa620006bf565b808516156200070857918102915b93841c9390800290620006da565b509250929050565b6000826200072f57506001620007ce565b816200073e57506000620007ce565b8160018114620007575760028114620007625762000782565b6001915050620007ce565b60ff841115620007765762000776620006bf565b50506001821b620007ce565b5060208310610133831016604e8410600b8410161715620007a7575081810a620007ce565b620007b38383620006d5565b8060001904821115620007ca57620007ca620006bf565b0290505b92915050565b6000620007e560ff8416836200071e565b9392505050565b8082028115828204841417620007ce57620007ce620006bf565b6000826200082457634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115620007ce57620007ce620006bf565b80820180821115620007ce57620007ce620006bf565b61235f80620008656000396000f3fe6080604052600436106101e75760003560e01c80636ddd171311610102578063c024666811610095578063e2f4560511610064578063e2f4560514610575578063ead010ae1461058b578063f2fde38b1461059e578063f5648a4f146105be57600080fd5b8063c0246668146104cf578063d257b34f146104ef578063d51ed1c81461050f578063dd62ed3e1461052f57600080fd5b806395d89b41116100d157806395d89b411461045a578063a457c2d71461046f578063a9059cbb1461048f578063b7bda68f146104af57600080fd5b80636ddd1713146103ed57806370a0823114610407578063715018a6146104275780638da5cb5b1461043c57600080fd5b8063201e79911161017a57806339509351116101495780633950935114610382578063452ed4f1146103a25780635031595f146103c2578063685fc568146103d857600080fd5b8063201e79911461031157806323b872dd146103315780632b112e4914610351578063313ce5671461036657600080fd5b80631161ae39116101b65780631161ae39146102a557806318160ddd146102c55780631b6c710c146102da5780631ff8d507146102fc57600080fd5b80630644e757146101f357806306fdde031461021b5780630758d9241461023d578063095ea7b31461027557600080fd5b366101ee57005b600080fd5b3480156101ff57600080fd5b506102086105d3565b6040519081526020015b60405180910390f35b34801561022757600080fd5b50610230610667565b6040516102129190611c0f565b34801561024957600080fd5b5060065461025d906001600160a01b031681565b6040516001600160a01b039091168152602001610212565b34801561028157600080fd5b50610295610290366004611c75565b6106f9565b6040519015158152602001610212565b3480156102b157600080fd5b506102956102c0366004611ca1565b610710565b3480156102d157600080fd5b50600254610208565b3480156102e657600080fd5b506102fa6102f5366004611cc3565b610724565b005b34801561030857600080fd5b506102fa610771565b34801561031d57600080fd5b506102fa61032c366004611ca1565b6107af565b34801561033d57600080fd5b5061029561034c366004611ce0565b61082f565b34801561035d57600080fd5b506102086108e2565b34801561037257600080fd5b5060405160098152602001610212565b34801561038e57600080fd5b5061029561039d366004611c75565b610915565b3480156103ae57600080fd5b5060075461025d906001600160a01b031681565b3480156103ce57600080fd5b50610208600e5481565b3480156103e457600080fd5b50610208610951565b3480156103f957600080fd5b506009546102959060ff1681565b34801561041357600080fd5b50610208610422366004611cc3565b610976565b34801561043357600080fd5b506102fa6109d6565b34801561044857600080fd5b506005546001600160a01b031661025d565b34801561046657600080fd5b50610230610a4a565b34801561047b57600080fd5b5061029561048a366004611c75565b610a59565b34801561049b57600080fd5b506102956104aa366004611c75565b610af2565b3480156104bb57600080fd5b50600d5461025d906001600160a01b031681565b3480156104db57600080fd5b506102fa6104ea366004611d2f565b610aff565b3480156104fb57600080fd5b506102fa61050a366004611d68565b610b88565b34801561051b57600080fd5b5061020861052a366004611d68565b610cd3565b34801561053b57600080fd5b5061020861054a366004611d81565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561058157600080fd5b5061020860085481565b6102fa610599366004611dfb565b610d06565b3480156105aa57600080fd5b506102fa6105b9366004611cc3565b6111ae565b3480156105ca57600080fd5b506102fa611299565b600080600e54426105e49190611e85565b9050601e81101580156105f75750605a81105b1561064057610607601e82611e85565b90506000610616600a83611e98565b61062190600a611eba565b9050604681101561063e57610637816046611e85565b9250505090565b505b42600e546104b06106519190611ed1565b101561065f57600391505090565b601491505090565b60606003805461067690611ee4565b80601f01602080910402602001604051908101604052809291908181526020018280546106a290611ee4565b80156106ef5780601f106106c4576101008083540402835291602001916106ef565b820191906000526020600020905b8154815290600101906020018083116106d257829003601f168201915b5050505050905090565b60006107063384846112f1565b5060015b92915050565b60008261071c83610cd3565b119392505050565b6005546001600160a01b031633146107575760405162461bcd60e51b815260040161074e90611f1e565b60405180910390fd5b6001600160a01b03166000908152600c6020526040812055565b6005546001600160a01b0316331461079b5760405162461bcd60e51b815260040161074e90611f1e565b6009805460ff19811660ff90911615179055565b6005546001600160a01b031633146107d95760405162461bcd60e51b815260040161074e90611f1e565b600a829055600b8190557fcbbf6bb708b8b7c4daa8d4e1088db9965d8167c3fcb6bc1a21147bbca33c12cf81610810846064611eba565b61081a9190611e98565b60405190815260200160405180910390a15050565b600061083c848484611415565b6001600160a01b038416600090815260016020908152604080832033845290915290205460001981146108d757828110156108ca5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161074e565b6108d785338584036112f1565b506001949350505050565b60006108ee6000610976565b6108f961dead610976565b6109039190611ed1565b6002546109109190611e85565b905090565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161070691859061094c908690611ed1565b6112f1565b600042600e546104b06109649190611ed1565b10156109705750600390565b50601490565b6001600160a01b0381166000908152600c602052604081205480158015906109a7575060006109a58242611e85565b115b156109b55750600092915050565b6001600160a01b0383166000908152602081905260409020545b9392505050565b6005546001600160a01b03163314610a005760405162461bcd60e51b815260040161074e90611f1e565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b60606004805461067690611ee4565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610adb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161074e565b610ae833858584036112f1565b5060019392505050565b6000610706338484611415565b6005546001600160a01b03163314610b295760405162461bcd60e51b815260040161074e90611f1e565b6001600160a01b0382166000818152600f6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b03163314610bb25760405162461bcd60e51b815260040161074e90611f1e565b620186a0610bbf60025490565b610bca906001611eba565b610bd49190611e98565b811015610c415760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b606482015260840161074e565b6103e8610c4d60025490565b610c58906001611eba565b610c629190611e98565b811115610cce5760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171892903a37ba30b61039bab838363c9760611b606482015260840161074e565b600855565b6000610cdd6108e2565b600754610cf2906001600160a01b0316610976565b610cfc9084611eba565b61070a9190611e98565b6005546001600160a01b03163314610d305760405162461bcd60e51b815260040161074e90611f1e565b600e5415610d3d57600080fd5b600660009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db49190611f53565b6001600160a01b031663c9c65396600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e399190611f53565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015610e85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea99190611f53565b600780546001600160a01b0319166001600160a01b0392831690811790915560065460405163095ea7b360e01b81529216600483015260001960248301529063095ea7b3906044016020604051808303816000875af1158015610f10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f349190611f70565b506006546001600160a01b031663f305d7198230610f5181610976565b60008033426040518863ffffffff1660e01b8152600401610f7796959493929190611f8d565b60606040518083038185885af1158015610f95573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610fba9190611fc8565b50506040805160028082526060820183526000935090916020830190803683375050600654604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa158015611029573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104d9190611f53565b816000815181106110605761106061200c565b60200260200101906001600160a01b031690816001600160a01b03168152505030816001815181106110945761109461200c565b6001600160a01b039092166020928302919091019091015284156111a25760005b858110156111a0576006546001600160a01b031663fb3bdb41476110db6009600a612106565b8888868181106110ed576110ed61200c565b905060200201356110fe9190611eba565b858b8b878181106111115761111161200c565b90506020020160208101906111269190611cc3565b426040518663ffffffff1660e01b81526004016111469493929190612159565b60006040518083038185885af1158015611164573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f1916820160405261118d919081019061218e565b50806111988161224c565b9150506110b5565b505b505042600e5550505050565b6005546001600160a01b031633146111d85760405162461bcd60e51b815260040161074e90611f1e565b6001600160a01b03811661123d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161074e565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b600d546040516000916001600160a01b03169047908381818185875af1925050503d80600081146112e6576040519150601f19603f3d011682016040523d82523d6000602084013e6112eb565b606091505b50505050565b6001600160a01b0383166113535760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161074e565b6001600160a01b0382166113b45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161074e565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661143b5760405162461bcd60e51b815260040161074e90612265565b6001600160a01b0382166114615760405162461bcd60e51b815260040161074e906122aa565b600081116114b15760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e2030000000604482015260640161074e565b806114bb84610976565b10156115095760405162461bcd60e51b815260206004820152601e60248201527f62616c616e6365206d7573742062652067726561746572207468616e20300000604482015260640161074e565b6000600e5411801561153457506001600160a01b0383166000908152600f602052604090205460ff16155b801561155957506001600160a01b0382166000908152600f602052604090205460ff16155b15611702576007546001600160a01b0383811691161480159061158757506001600160a01b03821661dead14155b15611596576115968282611712565b6000806115a1610951565b905060006115ad6105d3565b60095490915060ff1680156115cc5750600754600160a01b900460ff16155b80156115e557506007546001600160a01b038681169116145b15611614576007805460ff60a01b1916600160a01b1790556116068461179b565b6007805460ff60a01b191690555b6007546001600160a01b0386811691161480156116315750600082115b156116535760646116428386611eba565b61164c9190611e98565b92506116e1565b60008111801561167057506007546001600160a01b038781169116145b156116e15760646116818286611eba565b61168b9190611e98565b9250601e600e544261169d9190611e85565b1080156116c057506001600160a01b0385166000908152600c6020526040902054155b156116e1576001600160a01b0385166000908152600c602052604090204290555b82156116f2576116f2863085611979565b6116fc8385611e85565b93505050505b61170d838383611979565b505050565b603261171d60025490565b6117279190611e98565b8161173184610976565b61173b9190611ed1565b11156117975760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b606482015260840161074e565b5050565b60006117a630610976565b90506008548110156117b6575050565b806000036117c2575050565b6008546117d090600a611eba565b8111156117e8576008546117e590600a611eba565b90505b8181111561180a5760646117fd83605a611eba565b6118079190611e98565b90505b600061181a600a54600b54610710565b611825576002611828565b60005b60ff16905060006002600661183d8486611eba565b6118479190611e98565b6118519190611e98565b905061185d8184611e85565b925061186883611ace565b476000600260056118798685611eba565b6118839190611e98565b61188d9190611e98565b9050801561191b5760065460405163f305d71960e01b81526001600160a01b039091169063f305d7199083906118d49030908890600090819061dead904290600401611f8d565b60606040518083038185885af11580156118f2573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906119179190611fc8565b5050505b600d546040516000916001600160a01b03169047908381818185875af1925050503d8060008114611968576040519150601f19603f3d011682016040523d82523d6000602084013e61196d565b606091505b50505050505050505050565b6001600160a01b03831661199f5760405162461bcd60e51b815260040161074e90612265565b6001600160a01b0382166119c55760405162461bcd60e51b815260040161074e906122aa565b6001600160a01b03831660009081526020819052604090205481811015611a3d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161074e565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611a74908490611ed1565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611ac091815260200190565b60405180910390a350505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611b0357611b0361200c565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611b5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b809190611f53565b81600181518110611b9357611b9361200c565b6001600160a01b03928316602091820292909201015260065460405163791ac94760e01b815291169063791ac94790611bd99085906000908690309042906004016122ed565b600060405180830381600087803b158015611bf357600080fd5b505af1158015611c07573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b81811015611c3c57858101830151858201604001528201611c20565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611c7257600080fd5b50565b60008060408385031215611c8857600080fd5b8235611c9381611c5d565b946020939093013593505050565b60008060408385031215611cb457600080fd5b50508035926020909101359150565b600060208284031215611cd557600080fd5b81356109cf81611c5d565b600080600060608486031215611cf557600080fd5b8335611d0081611c5d565b92506020840135611d1081611c5d565b929592945050506040919091013590565b8015158114611c7257600080fd5b60008060408385031215611d4257600080fd5b8235611d4d81611c5d565b91506020830135611d5d81611d21565b809150509250929050565b600060208284031215611d7a57600080fd5b5035919050565b60008060408385031215611d9457600080fd5b8235611d9f81611c5d565b91506020830135611d5d81611c5d565b60008083601f840112611dc157600080fd5b50813567ffffffffffffffff811115611dd957600080fd5b6020830191508360208260051b8501011115611df457600080fd5b9250929050565b600080600080600060608688031215611e1357600080fd5b853567ffffffffffffffff80821115611e2b57600080fd5b611e3789838a01611daf565b90975095506020880135915080821115611e5057600080fd5b50611e5d88828901611daf565b96999598509660400135949350505050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561070a5761070a611e6f565b600082611eb557634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761070a5761070a611e6f565b8082018082111561070a5761070a611e6f565b600181811c90821680611ef857607f821691505b602082108103611f1857634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611f6557600080fd5b81516109cf81611c5d565b600060208284031215611f8257600080fd5b81516109cf81611d21565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600080600060608486031215611fdd57600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600181815b8085111561205d57816000190482111561204357612043611e6f565b8085161561205057918102915b93841c9390800290612027565b509250929050565b6000826120745750600161070a565b816120815750600061070a565b816001811461209757600281146120a1576120bd565b600191505061070a565b60ff8411156120b2576120b2611e6f565b50506001821b61070a565b5060208310610133831016604e8410600b84101617156120e0575081810a61070a565b6120ea8383612022565b80600019048211156120fe576120fe611e6f565b029392505050565b60006109cf60ff841683612065565b600081518084526020808501945080840160005b8381101561214e5781516001600160a01b031687529582019590820190600101612129565b509495945050505050565b8481526080602082015260006121726080830186612115565b6001600160a01b03949094166040830152506060015292915050565b600060208083850312156121a157600080fd5b825167ffffffffffffffff808211156121b957600080fd5b818501915085601f8301126121cd57600080fd5b8151818111156121df576121df611ff6565b8060051b604051601f19603f8301168101818110858211171561220457612204611ff6565b60405291825284820192508381018501918883111561222257600080fd5b938501935b8285101561224057845184529385019392850192612227565b98975050505050505050565b60006001820161225e5761225e611e6f565b5060010190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b85815284602082015260a06040820152600061230c60a0830186612115565b6001600160a01b039490941660608301525060800152939250505056fea2646970667358221220716b5bce2e15975479d6eab0379a2542cc25a9ba73e5eac1c775e89c8052deaf64736f6c634300081100334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65728be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
Deployed Bytecode
0x6080604052600436106101e75760003560e01c80636ddd171311610102578063c024666811610095578063e2f4560511610064578063e2f4560514610575578063ead010ae1461058b578063f2fde38b1461059e578063f5648a4f146105be57600080fd5b8063c0246668146104cf578063d257b34f146104ef578063d51ed1c81461050f578063dd62ed3e1461052f57600080fd5b806395d89b41116100d157806395d89b411461045a578063a457c2d71461046f578063a9059cbb1461048f578063b7bda68f146104af57600080fd5b80636ddd1713146103ed57806370a0823114610407578063715018a6146104275780638da5cb5b1461043c57600080fd5b8063201e79911161017a57806339509351116101495780633950935114610382578063452ed4f1146103a25780635031595f146103c2578063685fc568146103d857600080fd5b8063201e79911461031157806323b872dd146103315780632b112e4914610351578063313ce5671461036657600080fd5b80631161ae39116101b65780631161ae39146102a557806318160ddd146102c55780631b6c710c146102da5780631ff8d507146102fc57600080fd5b80630644e757146101f357806306fdde031461021b5780630758d9241461023d578063095ea7b31461027557600080fd5b366101ee57005b600080fd5b3480156101ff57600080fd5b506102086105d3565b6040519081526020015b60405180910390f35b34801561022757600080fd5b50610230610667565b6040516102129190611c0f565b34801561024957600080fd5b5060065461025d906001600160a01b031681565b6040516001600160a01b039091168152602001610212565b34801561028157600080fd5b50610295610290366004611c75565b6106f9565b6040519015158152602001610212565b3480156102b157600080fd5b506102956102c0366004611ca1565b610710565b3480156102d157600080fd5b50600254610208565b3480156102e657600080fd5b506102fa6102f5366004611cc3565b610724565b005b34801561030857600080fd5b506102fa610771565b34801561031d57600080fd5b506102fa61032c366004611ca1565b6107af565b34801561033d57600080fd5b5061029561034c366004611ce0565b61082f565b34801561035d57600080fd5b506102086108e2565b34801561037257600080fd5b5060405160098152602001610212565b34801561038e57600080fd5b5061029561039d366004611c75565b610915565b3480156103ae57600080fd5b5060075461025d906001600160a01b031681565b3480156103ce57600080fd5b50610208600e5481565b3480156103e457600080fd5b50610208610951565b3480156103f957600080fd5b506009546102959060ff1681565b34801561041357600080fd5b50610208610422366004611cc3565b610976565b34801561043357600080fd5b506102fa6109d6565b34801561044857600080fd5b506005546001600160a01b031661025d565b34801561046657600080fd5b50610230610a4a565b34801561047b57600080fd5b5061029561048a366004611c75565b610a59565b34801561049b57600080fd5b506102956104aa366004611c75565b610af2565b3480156104bb57600080fd5b50600d5461025d906001600160a01b031681565b3480156104db57600080fd5b506102fa6104ea366004611d2f565b610aff565b3480156104fb57600080fd5b506102fa61050a366004611d68565b610b88565b34801561051b57600080fd5b5061020861052a366004611d68565b610cd3565b34801561053b57600080fd5b5061020861054a366004611d81565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561058157600080fd5b5061020860085481565b6102fa610599366004611dfb565b610d06565b3480156105aa57600080fd5b506102fa6105b9366004611cc3565b6111ae565b3480156105ca57600080fd5b506102fa611299565b600080600e54426105e49190611e85565b9050601e81101580156105f75750605a81105b1561064057610607601e82611e85565b90506000610616600a83611e98565b61062190600a611eba565b9050604681101561063e57610637816046611e85565b9250505090565b505b42600e546104b06106519190611ed1565b101561065f57600391505090565b601491505090565b60606003805461067690611ee4565b80601f01602080910402602001604051908101604052809291908181526020018280546106a290611ee4565b80156106ef5780601f106106c4576101008083540402835291602001916106ef565b820191906000526020600020905b8154815290600101906020018083116106d257829003601f168201915b5050505050905090565b60006107063384846112f1565b5060015b92915050565b60008261071c83610cd3565b119392505050565b6005546001600160a01b031633146107575760405162461bcd60e51b815260040161074e90611f1e565b60405180910390fd5b6001600160a01b03166000908152600c6020526040812055565b6005546001600160a01b0316331461079b5760405162461bcd60e51b815260040161074e90611f1e565b6009805460ff19811660ff90911615179055565b6005546001600160a01b031633146107d95760405162461bcd60e51b815260040161074e90611f1e565b600a829055600b8190557fcbbf6bb708b8b7c4daa8d4e1088db9965d8167c3fcb6bc1a21147bbca33c12cf81610810846064611eba565b61081a9190611e98565b60405190815260200160405180910390a15050565b600061083c848484611415565b6001600160a01b038416600090815260016020908152604080832033845290915290205460001981146108d757828110156108ca5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161074e565b6108d785338584036112f1565b506001949350505050565b60006108ee6000610976565b6108f961dead610976565b6109039190611ed1565b6002546109109190611e85565b905090565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161070691859061094c908690611ed1565b6112f1565b600042600e546104b06109649190611ed1565b10156109705750600390565b50601490565b6001600160a01b0381166000908152600c602052604081205480158015906109a7575060006109a58242611e85565b115b156109b55750600092915050565b6001600160a01b0383166000908152602081905260409020545b9392505050565b6005546001600160a01b03163314610a005760405162461bcd60e51b815260040161074e90611f1e565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b60606004805461067690611ee4565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610adb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161074e565b610ae833858584036112f1565b5060019392505050565b6000610706338484611415565b6005546001600160a01b03163314610b295760405162461bcd60e51b815260040161074e90611f1e565b6001600160a01b0382166000818152600f6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b03163314610bb25760405162461bcd60e51b815260040161074e90611f1e565b620186a0610bbf60025490565b610bca906001611eba565b610bd49190611e98565b811015610c415760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b606482015260840161074e565b6103e8610c4d60025490565b610c58906001611eba565b610c629190611e98565b811115610cce5760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171892903a37ba30b61039bab838363c9760611b606482015260840161074e565b600855565b6000610cdd6108e2565b600754610cf2906001600160a01b0316610976565b610cfc9084611eba565b61070a9190611e98565b6005546001600160a01b03163314610d305760405162461bcd60e51b815260040161074e90611f1e565b600e5415610d3d57600080fd5b600660009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db49190611f53565b6001600160a01b031663c9c65396600660009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e399190611f53565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015610e85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea99190611f53565b600780546001600160a01b0319166001600160a01b0392831690811790915560065460405163095ea7b360e01b81529216600483015260001960248301529063095ea7b3906044016020604051808303816000875af1158015610f10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f349190611f70565b506006546001600160a01b031663f305d7198230610f5181610976565b60008033426040518863ffffffff1660e01b8152600401610f7796959493929190611f8d565b60606040518083038185885af1158015610f95573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610fba9190611fc8565b50506040805160028082526060820183526000935090916020830190803683375050600654604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa158015611029573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104d9190611f53565b816000815181106110605761106061200c565b60200260200101906001600160a01b031690816001600160a01b03168152505030816001815181106110945761109461200c565b6001600160a01b039092166020928302919091019091015284156111a25760005b858110156111a0576006546001600160a01b031663fb3bdb41476110db6009600a612106565b8888868181106110ed576110ed61200c565b905060200201356110fe9190611eba565b858b8b878181106111115761111161200c565b90506020020160208101906111269190611cc3565b426040518663ffffffff1660e01b81526004016111469493929190612159565b60006040518083038185885af1158015611164573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f1916820160405261118d919081019061218e565b50806111988161224c565b9150506110b5565b505b505042600e5550505050565b6005546001600160a01b031633146111d85760405162461bcd60e51b815260040161074e90611f1e565b6001600160a01b03811661123d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161074e565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b600d546040516000916001600160a01b03169047908381818185875af1925050503d80600081146112e6576040519150601f19603f3d011682016040523d82523d6000602084013e6112eb565b606091505b50505050565b6001600160a01b0383166113535760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161074e565b6001600160a01b0382166113b45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161074e565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661143b5760405162461bcd60e51b815260040161074e90612265565b6001600160a01b0382166114615760405162461bcd60e51b815260040161074e906122aa565b600081116114b15760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e2030000000604482015260640161074e565b806114bb84610976565b10156115095760405162461bcd60e51b815260206004820152601e60248201527f62616c616e6365206d7573742062652067726561746572207468616e20300000604482015260640161074e565b6000600e5411801561153457506001600160a01b0383166000908152600f602052604090205460ff16155b801561155957506001600160a01b0382166000908152600f602052604090205460ff16155b15611702576007546001600160a01b0383811691161480159061158757506001600160a01b03821661dead14155b15611596576115968282611712565b6000806115a1610951565b905060006115ad6105d3565b60095490915060ff1680156115cc5750600754600160a01b900460ff16155b80156115e557506007546001600160a01b038681169116145b15611614576007805460ff60a01b1916600160a01b1790556116068461179b565b6007805460ff60a01b191690555b6007546001600160a01b0386811691161480156116315750600082115b156116535760646116428386611eba565b61164c9190611e98565b92506116e1565b60008111801561167057506007546001600160a01b038781169116145b156116e15760646116818286611eba565b61168b9190611e98565b9250601e600e544261169d9190611e85565b1080156116c057506001600160a01b0385166000908152600c6020526040902054155b156116e1576001600160a01b0385166000908152600c602052604090204290555b82156116f2576116f2863085611979565b6116fc8385611e85565b93505050505b61170d838383611979565b505050565b603261171d60025490565b6117279190611e98565b8161173184610976565b61173b9190611ed1565b11156117975760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b606482015260840161074e565b5050565b60006117a630610976565b90506008548110156117b6575050565b806000036117c2575050565b6008546117d090600a611eba565b8111156117e8576008546117e590600a611eba565b90505b8181111561180a5760646117fd83605a611eba565b6118079190611e98565b90505b600061181a600a54600b54610710565b611825576002611828565b60005b60ff16905060006002600661183d8486611eba565b6118479190611e98565b6118519190611e98565b905061185d8184611e85565b925061186883611ace565b476000600260056118798685611eba565b6118839190611e98565b61188d9190611e98565b9050801561191b5760065460405163f305d71960e01b81526001600160a01b039091169063f305d7199083906118d49030908890600090819061dead904290600401611f8d565b60606040518083038185885af11580156118f2573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906119179190611fc8565b5050505b600d546040516000916001600160a01b03169047908381818185875af1925050503d8060008114611968576040519150601f19603f3d011682016040523d82523d6000602084013e61196d565b606091505b50505050505050505050565b6001600160a01b03831661199f5760405162461bcd60e51b815260040161074e90612265565b6001600160a01b0382166119c55760405162461bcd60e51b815260040161074e906122aa565b6001600160a01b03831660009081526020819052604090205481811015611a3d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161074e565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611a74908490611ed1565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611ac091815260200190565b60405180910390a350505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611b0357611b0361200c565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611b5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b809190611f53565b81600181518110611b9357611b9361200c565b6001600160a01b03928316602091820292909201015260065460405163791ac94760e01b815291169063791ac94790611bd99085906000908690309042906004016122ed565b600060405180830381600087803b158015611bf357600080fd5b505af1158015611c07573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b81811015611c3c57858101830151858201604001528201611c20565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611c7257600080fd5b50565b60008060408385031215611c8857600080fd5b8235611c9381611c5d565b946020939093013593505050565b60008060408385031215611cb457600080fd5b50508035926020909101359150565b600060208284031215611cd557600080fd5b81356109cf81611c5d565b600080600060608486031215611cf557600080fd5b8335611d0081611c5d565b92506020840135611d1081611c5d565b929592945050506040919091013590565b8015158114611c7257600080fd5b60008060408385031215611d4257600080fd5b8235611d4d81611c5d565b91506020830135611d5d81611d21565b809150509250929050565b600060208284031215611d7a57600080fd5b5035919050565b60008060408385031215611d9457600080fd5b8235611d9f81611c5d565b91506020830135611d5d81611c5d565b60008083601f840112611dc157600080fd5b50813567ffffffffffffffff811115611dd957600080fd5b6020830191508360208260051b8501011115611df457600080fd5b9250929050565b600080600080600060608688031215611e1357600080fd5b853567ffffffffffffffff80821115611e2b57600080fd5b611e3789838a01611daf565b90975095506020880135915080821115611e5057600080fd5b50611e5d88828901611daf565b96999598509660400135949350505050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561070a5761070a611e6f565b600082611eb557634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761070a5761070a611e6f565b8082018082111561070a5761070a611e6f565b600181811c90821680611ef857607f821691505b602082108103611f1857634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611f6557600080fd5b81516109cf81611c5d565b600060208284031215611f8257600080fd5b81516109cf81611d21565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600080600060608486031215611fdd57600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600181815b8085111561205d57816000190482111561204357612043611e6f565b8085161561205057918102915b93841c9390800290612027565b509250929050565b6000826120745750600161070a565b816120815750600061070a565b816001811461209757600281146120a1576120bd565b600191505061070a565b60ff8411156120b2576120b2611e6f565b50506001821b61070a565b5060208310610133831016604e8410600b84101617156120e0575081810a61070a565b6120ea8383612022565b80600019048211156120fe576120fe611e6f565b029392505050565b60006109cf60ff841683612065565b600081518084526020808501945080840160005b8381101561214e5781516001600160a01b031687529582019590820190600101612129565b509495945050505050565b8481526080602082015260006121726080830186612115565b6001600160a01b03949094166040830152506060015292915050565b600060208083850312156121a157600080fd5b825167ffffffffffffffff808211156121b957600080fd5b818501915085601f8301126121cd57600080fd5b8151818111156121df576121df611ff6565b8060051b604051601f19603f8301168101818110858211171561220457612204611ff6565b60405291825284820192508381018501918883111561222257600080fd5b938501935b8285101561224057845184529385019392850192612227565b98975050505050505050565b60006001820161225e5761225e611e6f565b5060010190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b85815284602082015260a06040820152600061230c60a0830186612115565b6001600160a01b039490941660608301525060800152939250505056fea2646970667358221220716b5bce2e15975479d6eab0379a2542cc25a9ba73e5eac1c775e89c8052deaf64736f6c63430008110033
Deployed Bytecode Sourcemap
10178:8974:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12407:439;;;;;;;;;;;;;:::i;:::-;;;160:25:1;;;148:2;133:18;12407:439:0;;;;;;;;4167:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;10220:27::-;;;;;;;;;;-1:-1:-1;10220:27:0;;;;-1:-1:-1;;;;;10220:27:0;;;;;;-1:-1:-1;;;;;931:32:1;;;913:51;;901:2;886:18;10220:27:0;749:221:1;5222:210:0;;;;;;;;;;-1:-1:-1;5222:210:0;;;;;:::i;:::-;;:::i;:::-;;;1596:14:1;;1589:22;1571:41;;1559:2;1544:18;5222:210:0;1431:187:1;18638:150:0;;;;;;;;;;-1:-1:-1;18638:150:0;;;;;:::i;:::-;;:::i;4488:108::-;;;;;;;;;;-1:-1:-1;4576:12:0;;4488:108;;19050:99;;;;;;;;;;-1:-1:-1;19050:99:0;;;;;:::i;:::-;;:::i;:::-;;18214:86;;;;;;;;;;;;;:::i;18796:246::-;;;;;;;;;;-1:-1:-1;18796:246:0;;;;;:::i;:::-;;:::i;5440:620::-;;;;;;;;;;-1:-1:-1;5440:620:0;;;;;:::i;:::-;;:::i;18308:156::-;;;;;;;;;;;;;:::i;11869:92::-;;;;;;;;;;-1:-1:-1;11869:92:0;;10311:1;2731:36:1;;2719:2;2704:18;11869:92:0;2589:184:1;6068:297:0;;;;;;;;;;-1:-1:-1;6068:297:0;;;;;:::i;:::-;;:::i;10254:21::-;;;;;;;;;;-1:-1:-1;10254:21:0;;;;-1:-1:-1;;;;;10254:21:0;;;10646:32;;;;;;;;;;;;;;;;12246:153;;;;;;;;;;;;;:::i;10447:30::-;;;;;;;;;;-1:-1:-1;10447:30:0;;;;;;;;11969:269;;;;;;;;;;-1:-1:-1;11969:269:0;;;;;:::i;:::-;;:::i;8668:148::-;;;;;;;;;;;;;:::i;8454:79::-;;;;;;;;;;-1:-1:-1;8519:6:0;;-1:-1:-1;;;;;8519:6:0;8454:79;;4275:104;;;;;;;;;;;;;:::i;6373:482::-;;;;;;;;;;-1:-1:-1;6373:482:0;;;;;:::i;:::-;;:::i;4789:216::-;;;;;;;;;;-1:-1:-1;4789:216:0;;;;;:::i;:::-;;:::i;10612:25::-;;;;;;;;;;-1:-1:-1;10612:25:0;;;;-1:-1:-1;;;;;10612:25:0;;;12854:182;;;;;;;;;;-1:-1:-1;12854:182:0;;;;;:::i;:::-;;:::i;17852:354::-;;;;;;;;;;-1:-1:-1;17852:354:0;;;;;:::i;:::-;;:::i;18472:158::-;;;;;;;;;;-1:-1:-1;18472:158:0;;;;;:::i;:::-;;:::i;5013:201::-;;;;;;;;;;-1:-1:-1;5013:201:0;;;;;:::i;:::-;-1:-1:-1;;;;;5179:18:0;;;5147:7;5179:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5013:201;10407:33;;;;;;;;;;;;;;;;16830:1014;;;;;;:::i;:::-;;:::i;8824:281::-;;;;;;;;;;-1:-1:-1;8824:281:0;;;;;:::i;:::-;;:::i;16671:151::-;;;;;;;;;;;;;:::i;12407:439::-;12450:7;12470:15;12506:17;;12488:15;:35;;;;:::i;:::-;12470:53;;12548:2;12537:7;:13;;:37;;;;;12564:10;12554:7;:20;12537:37;12534:213;;;12591:13;12602:2;12591:13;;:::i;:::-;;-1:-1:-1;12619:18:0;12641:12;12651:2;12591:13;12641:12;:::i;:::-;12640:19;;12657:2;12640:19;:::i;:::-;12619:40;;12691:2;12678:10;:15;12674:61;;;12720:15;12725:10;12720:2;:15;:::i;:::-;12713:22;;;;12407:439;:::o;12674:61::-;12576:171;12534:213;12793:15;12760:17;;12780:10;12760:30;;;;:::i;:::-;:48;12757:61;;;12817:1;12810:8;;;12407:439;:::o;12757:61::-;12836:2;12829:9;;;12407:439;:::o;4167:100::-;4221:13;4254:5;4247:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4167:100;:::o;5222:210::-;5341:4;5363:39;315:10;5386:7;5395:6;5363:8;:39::i;:::-;-1:-1:-1;5420:4:0;5222:210;;;;;:::o;18638:150::-;18718:4;18774:6;18742:29;18762:8;18742:19;:29::i;:::-;:38;;18638:150;-1:-1:-1;;;18638:150:0:o;19050:99::-;8581:6;;-1:-1:-1;;;;;8581:6:0;315:10;8581:22;8573:67;;;;-1:-1:-1;;;8573:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;19120:17:0::1;19140:1;19120:17:::0;;;:8:::1;:17;::::0;;;;:21;19050:99::o;18214:86::-;8581:6;;-1:-1:-1;;;;;8581:6:0;315:10;8581:22;8573:67;;;;-1:-1:-1;;;8573:67:0;;;;;;;:::i;:::-;18281:11:::1;::::0;;-1:-1:-1;;18266:26:0;::::1;18281:11;::::0;;::::1;18280:12;18266:26;::::0;;18214:86::o;18796:246::-;8581:6;;-1:-1:-1;;;;;8581:6:0;315:10;8581:22;8573:67;;;;-1:-1:-1;;;8573:67:0;;;;;;;:::i;:::-;18893:15:::1;:25:::0;;;18929:26:::1;:41:::0;;;18986:48:::1;18958:12:::0;19005:13:::1;18911:7:::0;19015:3:::1;19005:13;:::i;:::-;:28;;;;:::i;:::-;18986:48;::::0;160:25:1;;;148:2;133:18;18986:48:0::1;;;;;;;18796:246:::0;;:::o;5440:620::-;5580:4;5597:36;5607:6;5615:9;5626:6;5597:9;:36::i;:::-;-1:-1:-1;;;;;5673:19:0;;5646:24;5673:19;;;:11;:19;;;;;;;;315:10;5673:33;;;;;;;;-1:-1:-1;;5720:37:0;;5717:314;;5821:6;5801:16;:26;;5775:128;;;;-1:-1:-1;;;5775:128:0;;7030:2:1;5775:128:0;;;7012:21:1;7069:2;7049:18;;;7042:30;7108:34;7088:18;;;7081:62;-1:-1:-1;;;7159:18:1;;;7152:38;7207:19;;5775:128:0;6828:404:1;5775:128:0;5947:57;5956:6;315:10;5997:6;5978:16;:25;5947:8;:57::i;:::-;-1:-1:-1;6048:4:0;;5440:620;-1:-1:-1;;;;5440:620:0:o;18308:156::-;18361:7;18434:21;18452:1;18434:9;:21::i;:::-;18405:26;18423:6;18405:9;:26::i;:::-;:50;;;;:::i;:::-;4576:12;;18388:68;;;;:::i;:::-;18381:75;;18308:156;:::o;6068:297::-;315:10;6183:4;6277:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6277:34:0;;;;;;;;;;6183:4;;6205:130;;6255:7;;6277:47;;6314:10;;6277:47;:::i;:::-;6205:8;:130::i;12246:153::-;12290:7;12346:15;12313:17;;12333:10;12313:30;;;;:::i;:::-;:48;12310:61;;;-1:-1:-1;12370:1:0;;12246:153::o;12310:61::-;-1:-1:-1;12389:2:0;;12246:153::o;11969:269::-;-1:-1:-1;;;;;12071:17:0;;12035:7;12071:17;;;:8;:17;;;;;;12102:9;;;;;:40;;-1:-1:-1;12141:1:0;12115:23;12133:5;12115:15;:23;:::i;:::-;:27;12102:40;12099:53;;;-1:-1:-1;12151:1:0;;11969:269;-1:-1:-1;;11969:269:0:o;12099:53::-;-1:-1:-1;;;;;4755:18:0;;4723:7;4755:18;;;;;;;;;;;12206:24;12199:31;11969:269;-1:-1:-1;;;11969:269:0:o;8668:148::-;8581:6;;-1:-1:-1;;;;;8581:6:0;315:10;8581:22;8573:67;;;;-1:-1:-1;;;8573:67:0;;;;;;;:::i;:::-;8759:6:::1;::::0;8738:40:::1;::::0;8775:1:::1;::::0;-1:-1:-1;;;;;8759:6:0::1;::::0;8738:40:::1;::::0;8775:1;;8738:40:::1;8789:6;:19:::0;;-1:-1:-1;;;;;;8789:19:0::1;::::0;;8668:148::o;4275:104::-;4331:13;4364:7;4357:14;;;;;:::i;6373:482::-;315:10;6493:4;6542:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;6542:34:0;;;;;;;;;;6609:35;;;;6587:122;;;;-1:-1:-1;;;6587:122:0;;7439:2:1;6587:122:0;;;7421:21:1;7478:2;7458:18;;;7451:30;7517:34;7497:18;;;7490:62;-1:-1:-1;;;7568:18:1;;;7561:35;7613:19;;6587:122:0;7237:401:1;6587:122:0;6745:67;315:10;6768:7;6796:15;6777:16;:34;6745:8;:67::i;:::-;-1:-1:-1;6843:4:0;;6373:482;-1:-1:-1;;;6373:482:0:o;4789:216::-;4911:4;4933:42;315:10;4957:9;4968:6;4933:9;:42::i;12854:182::-;8581:6;;-1:-1:-1;;;;;8581:6:0;315:10;8581:22;8573:67;;;;-1:-1:-1;;;8573:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;12939:28:0;::::1;;::::0;;;:19:::1;:28;::::0;;;;;;;;:39;;-1:-1:-1;;12939:39:0::1;::::0;::::1;;::::0;;::::1;::::0;;;12994:34;;1571:41:1;;;12994:34:0::1;::::0;1544:18:1;12994:34:0::1;;;;;;;12854:182:::0;;:::o;17852:354::-;8581:6;;-1:-1:-1;;;;;8581:6:0;315:10;8581:22;8573:67;;;;-1:-1:-1;;;8573:67:0;;;;;;;:::i;:::-;17978:6:::1;17957:13;4576:12:::0;;;4488:108;17957:13:::1;:17;::::0;17973:1:::1;17957:17;:::i;:::-;17956:28;;;;:::i;:::-;17943:9;:41;;17935:107;;;::::0;-1:-1:-1;;;17935:107:0;;7845:2:1;17935:107:0::1;::::0;::::1;7827:21:1::0;7884:2;7864:18;;;7857:30;7923:34;7903:18;;;7896:62;-1:-1:-1;;;7974:18:1;;;7967:51;8035:19;;17935:107:0::1;7643:417:1::0;17935:107:0::1;18096:4;18075:13;4576:12:::0;;;4488:108;18075:13:::1;:17;::::0;18091:1:::1;18075:17;:::i;:::-;18074:26;;;;:::i;:::-;18061:9;:39;;18053:104;;;::::0;-1:-1:-1;;;18053:104:0;;8267:2:1;18053:104:0::1;::::0;::::1;8249:21:1::0;8306:2;8286:18;;;8279:30;8345:34;8325:18;;;8318:62;-1:-1:-1;;;8396:18:1;;;8389:50;8456:19;;18053:104:0::1;8065:416:1::0;18053:104:0::1;18168:18;:30:::0;17852:354::o;18472:158::-;18540:7;18600:22;:20;:22::i;:::-;18589:6;;18579:17;;-1:-1:-1;;;;;18589:6:0;18579:9;:17::i;:::-;18568:28;;:8;:28;:::i;:::-;18567:55;;;;:::i;16830:1014::-;8581:6;;-1:-1:-1;;;;;8581:6:0;315:10;8581:22;8573:67;;;;-1:-1:-1;;;8573:67:0;;;;;;;:::i;:::-;16968:17:::1;::::0;:22;16960:31:::1;;;::::0;::::1;;17025:9;;;;;;;;;-1:-1:-1::0;;;;;17025:9:0::1;-1:-1:-1::0;;;;;17025:17:0::1;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17013:43:0::1;;17057:9;;;;;;;;;-1:-1:-1::0;;;;;17057:9:0::1;-1:-1:-1::0;;;;;17057:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17013:76;::::0;-1:-1:-1;;;;;;17013:76:0::1;::::0;;;;;;-1:-1:-1;;;;;8972:15:1;;;17013:76:0::1;::::0;::::1;8954:34:1::0;17083:4:0::1;9004:18:1::0;;;8997:43;8889:18;;17013:76:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17004:6;:85:::0;;-1:-1:-1;;;;;;17004:85:0::1;-1:-1:-1::0;;;;;17004:85:0;;::::1;::::0;;::::1;::::0;;;17131:9:::1;::::0;17100:61:::1;::::0;-1:-1:-1;;;17100:61:0;;17131:9;::::1;17100:61;::::0;::::1;9225:51:1::0;-1:-1:-1;;9292:18:1;;;9285:34;17004:85:0;17100:22:::1;::::0;9198:18:1;;17100:61:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;17174:9:0::1;::::0;-1:-1:-1;;;;;17174:9:0::1;:25;17207:6:::0;17223:4:::1;17229:24;17223:4:::0;17229:9:::1;:24::i;:::-;17254:1;17256::::0;17258:10:::1;17269:15;17174:111;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;17322:16:0::1;::::0;;17336:1:::1;17322:16:::0;;;;;::::1;::::0;;17298:21:::1;::::0;-1:-1:-1;17322:16:0;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;-1:-1:-1::0;;17359:9:0::1;::::0;:16:::1;::::0;;-1:-1:-1;;;17359:16:0;;;;17298:40;;-1:-1:-1;;;;;;17359:9:0;;::::1;::::0;:14:::1;::::0;-1:-1:-1;17359:16:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;:9;:16:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17349:4;17354:1;17349:7;;;;;;;;:::i;:::-;;;;;;:26;-1:-1:-1::0;;;;;17349:26:0::1;;;-1:-1:-1::0;;;;;17349:26:0::1;;;::::0;::::1;17404:4;17386;17391:1;17386:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17386:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;;:23;17425:21;;17422:367:::1;;17467:9;17463:315;17482:21:::0;;::::1;17463:315;;;17529:9;::::0;-1:-1:-1;;;;;17529:9:0::1;:31;17568:21;10353:15;10311:1;10353:2;:15;:::i;:::-;17614:8;;17623:1;17614:11;;;;;;;:::i;:::-;;;;;;;:28;;;;:::i;:::-;17665:4;17692:10;;17703:1;17692:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;17728:15;17529:233;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;17529:233:0::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;17505:3:0;::::1;::::0;::::1;:::i;:::-;;;;17463:315;;;;17422:367;-1:-1:-1::0;;17821:15:0::1;17801:17;:35:::0;-1:-1:-1;;;;16830:1014:0:o;8824:281::-;8581:6;;-1:-1:-1;;;;;8581:6:0;315:10;8581:22;8573:67;;;;-1:-1:-1;;;8573:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8927:22:0;::::1;8905:110;;;::::0;-1:-1:-1;;;8905:110:0;;14575:2:1;8905:110:0::1;::::0;::::1;14557:21:1::0;14614:2;14594:18;;;14587:30;14653:34;14633:18;;;14626:62;-1:-1:-1;;;14704:18:1;;;14697:36;14750:19;;8905:110:0::1;14373:402:1::0;8905:110:0::1;9052:6;::::0;9031:38:::1;::::0;-1:-1:-1;;;;;9031:38:0;;::::1;::::0;9052:6:::1;::::0;9031:38:::1;::::0;9052:6:::1;::::0;9031:38:::1;9080:6;:17:::0;;-1:-1:-1;;;;;;9080:17:0::1;-1:-1:-1::0;;;;;9080:17:0;;;::::1;::::0;;;::::1;::::0;;8824:281::o;16671:151::-;16764:10;;16756:58;;16719:12;;-1:-1:-1;;;;;16764:10:0;;16788:21;;16719:12;16756:58;16719:12;16756:58;16788:21;16764:10;16756:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;16671:151:0:o;7522:380::-;-1:-1:-1;;;;;7658:19:0;;7650:68;;;;-1:-1:-1;;;7650:68:0;;15192:2:1;7650:68:0;;;15174:21:1;15231:2;15211:18;;;15204:30;15270:34;15250:18;;;15243:62;-1:-1:-1;;;15321:18:1;;;15314:34;15365:19;;7650:68:0;14990:400:1;7650:68:0;-1:-1:-1;;;;;7737:21:0;;7729:68;;;;-1:-1:-1;;;7729:68:0;;15597:2:1;7729:68:0;;;15579:21:1;15636:2;15616:18;;;15609:30;15675:34;15655:18;;;15648:62;-1:-1:-1;;;15726:18:1;;;15719:32;15768:19;;7729:68:0;15395:398:1;7729:68:0;-1:-1:-1;;;;;7810:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7862:32;;160:25:1;;;7862:32:0;;133:18:1;7862:32:0;;;;;;;7522:380;;;:::o;13247:1565::-;-1:-1:-1;;;;;13379:18:0;;13371:68;;;;-1:-1:-1;;;13371:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13458:16:0;;13450:64;;;;-1:-1:-1;;;13450:64:0;;;;;;;:::i;:::-;13542:1;13533:6;:10;13525:52;;;;-1:-1:-1;;;13525:52:0;;16810:2:1;13525:52:0;;;16792:21:1;16849:2;16829:18;;;16822:30;16888:31;16868:18;;;16861:59;16937:18;;13525:52:0;16608:353:1;13525:52:0;13615:6;13596:15;13606:4;13596:9;:15::i;:::-;:25;;13588:68;;;;-1:-1:-1;;;13588:68:0;;17168:2:1;13588:68:0;;;17150:21:1;17207:2;17187:18;;;17180:30;17246:32;17226:18;;;17219:60;17296:18;;13588:68:0;16966:354:1;13588:68:0;13693:1;13673:17;;:21;:51;;;;-1:-1:-1;;;;;;13699:25:0;;;;;;:19;:25;;;;;;;;13698:26;13673:51;:79;;;;-1:-1:-1;;;;;;13729:23:0;;;;;;:19;:23;;;;;;;;13728:24;13673:79;13669:1086;;;13783:6;;-1:-1:-1;;;;;13777:12:0;;;13783:6;;13777:12;;;;:37;;-1:-1:-1;;;;;;13793:21:0;;13807:6;13793:21;;13777:37;13773:114;;;13839:28;13856:2;13860:6;13839:16;:28::i;:::-;13907:12;13942:11;13956:13;:11;:13::i;:::-;13942:27;;13988:11;14002:12;:10;:12::i;:::-;14039:11;;13988:26;;-1:-1:-1;14039:11:0;;:24;;;;-1:-1:-1;14055:8:0;;-1:-1:-1;;;14055:8:0;;;;14054:9;14039:24;:40;;;;-1:-1:-1;14073:6:0;;-1:-1:-1;;;;;14067:12:0;;;14073:6;;14067:12;14039:40;14035:182;;;14104:8;:15;;-1:-1:-1;;;;14104:15:0;-1:-1:-1;;;14104:15:0;;;14142:16;14151:6;14142:8;:16::i;:::-;14181:8;:16;;-1:-1:-1;;;;14181:16:0;;;14035:182;14247:6;;-1:-1:-1;;;;;14241:12:0;;;14247:6;;14241:12;:22;;;;;14262:1;14256:3;:7;14241:22;14237:349;;;14312:3;14296:12;14305:3;14296:6;:12;:::i;:::-;14295:20;;;;:::i;:::-;14288:27;;14237:349;;;14368:1;14362:3;:7;:25;;;;-1:-1:-1;14381:6:0;;-1:-1:-1;;;;;14373:14:0;;;14381:6;;14373:14;14362:25;14358:228;;;14436:3;14420:12;14429:3;14420:6;:12;:::i;:::-;14419:20;;;;:::i;:::-;14412:27;;14503:10;14483:17;;14465:15;:35;;;;:::i;:::-;:48;:69;;;;-1:-1:-1;;;;;;14517:12:0;;;;;;:8;:12;;;;;;:17;14465:69;14462:104;;;-1:-1:-1;;;;;14536:12:0;;;;;;:8;:12;;;;;14551:15;14536:30;;14462:104;14610:8;;14606:99;;14643:42;14659:4;14673;14680;14643:15;:42::i;:::-;14725:14;14735:4;14725:14;;:::i;:::-;;;13754:1001;;;13669:1086;14771:33;14787:4;14793:2;14797:6;14771:15;:33::i;:::-;13247:1565;;;:::o;13044:195::-;13187:2;13171:13;4576:12;;;4488:108;13171:13;:18;;;;:::i;:::-;13161:6;13138:20;13148:9;13138;:20::i;:::-;:29;;;;:::i;:::-;:51;;13130:101;;;;-1:-1:-1;;;13130:101:0;;17527:2:1;13130:101:0;;;17509:21:1;17566:2;17546:18;;;17539:30;17605:34;17585:18;;;17578:62;-1:-1:-1;;;17656:18:1;;;17649:35;17701:19;;13130:101:0;17325:401:1;13130:101:0;13044:195;;:::o;15330:1271::-;15383:20;15406:24;15424:4;15406:9;:24::i;:::-;15383:47;;15460:18;;15445:12;:33;15441:46;;;15480:7;15330:1271;:::o;15441:46::-;15501:12;15517:1;15501:17;15497:30;;15520:7;15330:1271;:::o;15497:30::-;15556:18;;:23;;15577:2;15556:23;:::i;:::-;15541:12;:38;15537:82;;;15596:18;;:23;;15617:2;15596:23;:::i;:::-;15581:38;;15537:82;15649:6;15634:12;:21;15630:59;;;15686:3;15672:11;15677:6;15672:2;:11;:::i;:::-;:17;;;;:::i;:::-;15657:32;;15630:59;15702:27;15732:60;15748:15;;15765:26;;15732:15;:60::i;:::-;:68;;15799:1;15732:68;;;15795:1;15732:68;15702:98;;;-1:-1:-1;15811:23:0;15882:1;15877;15839:34;15702:98;15839:12;:34;:::i;:::-;15838:40;;;;:::i;:::-;15837:46;;;;:::i;:::-;15811:72;-1:-1:-1;15894:31:0;15811:72;15894:31;;:::i;:::-;;;15938:30;15955:12;15938:16;:30::i;:::-;16002:21;15981:18;16103:1;16099;16063:32;16076:19;16002:21;16063:32;:::i;:::-;16062:38;;;;:::i;:::-;:42;;;;:::i;:::-;16036:68;-1:-1:-1;16120:19:0;;16117:378;;16245:9;;:238;;-1:-1:-1;;;16245:238:0;;-1:-1:-1;;;;;16245:9:0;;;;:25;;16278:15;;16245:238;;16321:4;;16345:15;;16245:9;;;;16427:6;;16453:15;;16245:238;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;16117:378;16544:10;;:49;;16507:12;;-1:-1:-1;;;;;16544:10:0;;16567:21;;16507:12;16544:49;16507:12;16544:49;16567:21;16544:10;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;15330:1271:0:o;6863:651::-;-1:-1:-1;;;;;7003:20:0;;6995:70;;;;-1:-1:-1;;;6995:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7084:23:0;;7076:71;;;;-1:-1:-1;;;7076:71:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7184:17:0;;7160:21;7184:17;;;;;;;;;;;7234:23;;;;7212:111;;;;-1:-1:-1;;;7212:111:0;;17933:2:1;7212:111:0;;;17915:21:1;17972:2;17952:18;;;17945:30;18011:34;17991:18;;;17984:62;-1:-1:-1;;;18062:18:1;;;18055:36;18108:19;;7212:111:0;17731:402:1;7212:111:0;-1:-1:-1;;;;;7359:17:0;;;:9;:17;;;;;;;;;;;7379:22;;;7359:42;;7423:20;;;;;;;;:30;;7395:6;;7359:9;7423:30;;7395:6;;7423:30;:::i;:::-;;;;;;;;7488:9;-1:-1:-1;;;;;7471:35:0;7480:6;-1:-1:-1;;;;;7471:35:0;;7499:6;7471:35;;;;160:25:1;;148:2;133:18;;14:177;7471:35:0;;;;;;;;6984:530;6863:651;;;:::o;14820:502::-;14970:16;;;14984:1;14970:16;;;;;;;;14946:21;;14970:16;;;;;;;;;;-1:-1:-1;14970:16:0;14946:40;;15015:4;14997;15002:1;14997:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14997:23:0;;;:7;;;;;;;;;;:23;;;;15041:9;;:16;;;-1:-1:-1;;;15041:16:0;;;;:9;;;;;:14;;:16;;;;;14997:7;;15041:16;;;;;:9;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15031:4;15036:1;15031:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15031:26:0;;;:7;;;;;;;;;:26;15096:9;;:218;;-1:-1:-1;;;15096:218:0;;:9;;;:60;;:218;;15171:11;;15096:9;;15241:4;;15268;;15288:15;;15096:218;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14875:447;14820:502;:::o;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;975:131::-;-1:-1:-1;;;;;1050:31:1;;1040:42;;1030:70;;1096:1;1093;1086:12;1030:70;975:131;:::o;1111:315::-;1179:6;1187;1240:2;1228:9;1219:7;1215:23;1211:32;1208:52;;;1256:1;1253;1246:12;1208:52;1295:9;1282:23;1314:31;1339:5;1314:31;:::i;:::-;1364:5;1416:2;1401:18;;;;1388:32;;-1:-1:-1;;;1111:315:1:o;1623:248::-;1691:6;1699;1752:2;1740:9;1731:7;1727:23;1723:32;1720:52;;;1768:1;1765;1758:12;1720:52;-1:-1:-1;;1791:23:1;;;1861:2;1846:18;;;1833:32;;-1:-1:-1;1623:248:1:o;1876:247::-;1935:6;1988:2;1976:9;1967:7;1963:23;1959:32;1956:52;;;2004:1;2001;1994:12;1956:52;2043:9;2030:23;2062:31;2087:5;2062:31;:::i;2128:456::-;2205:6;2213;2221;2274:2;2262:9;2253:7;2249:23;2245:32;2242:52;;;2290:1;2287;2280:12;2242:52;2329:9;2316:23;2348:31;2373:5;2348:31;:::i;:::-;2398:5;-1:-1:-1;2455:2:1;2440:18;;2427:32;2468:33;2427:32;2468:33;:::i;:::-;2128:456;;2520:7;;-1:-1:-1;;;2574:2:1;2559:18;;;;2546:32;;2128:456::o;2986:118::-;3072:5;3065:13;3058:21;3051:5;3048:32;3038:60;;3094:1;3091;3084:12;3109:382;3174:6;3182;3235:2;3223:9;3214:7;3210:23;3206:32;3203:52;;;3251:1;3248;3241:12;3203:52;3290:9;3277:23;3309:31;3334:5;3309:31;:::i;:::-;3359:5;-1:-1:-1;3416:2:1;3401:18;;3388:32;3429:30;3388:32;3429:30;:::i;:::-;3478:7;3468:17;;;3109:382;;;;;:::o;3496:180::-;3555:6;3608:2;3596:9;3587:7;3583:23;3579:32;3576:52;;;3624:1;3621;3614:12;3576:52;-1:-1:-1;3647:23:1;;3496:180;-1:-1:-1;3496:180:1:o;3681:388::-;3749:6;3757;3810:2;3798:9;3789:7;3785:23;3781:32;3778:52;;;3826:1;3823;3816:12;3778:52;3865:9;3852:23;3884:31;3909:5;3884:31;:::i;:::-;3934:5;-1:-1:-1;3991:2:1;3976:18;;3963:32;4004:33;3963:32;4004:33;:::i;4074:367::-;4137:8;4147:6;4201:3;4194:4;4186:6;4182:17;4178:27;4168:55;;4219:1;4216;4209:12;4168:55;-1:-1:-1;4242:20:1;;4285:18;4274:30;;4271:50;;;4317:1;4314;4307:12;4271:50;4354:4;4346:6;4342:17;4330:29;;4414:3;4407:4;4397:6;4394:1;4390:14;4382:6;4378:27;4374:38;4371:47;4368:67;;;4431:1;4428;4421:12;4368:67;4074:367;;;;;:::o;4446:841::-;4577:6;4585;4593;4601;4609;4662:2;4650:9;4641:7;4637:23;4633:32;4630:52;;;4678:1;4675;4668:12;4630:52;4718:9;4705:23;4747:18;4788:2;4780:6;4777:14;4774:34;;;4804:1;4801;4794:12;4774:34;4843:70;4905:7;4896:6;4885:9;4881:22;4843:70;:::i;:::-;4932:8;;-1:-1:-1;4817:96:1;-1:-1:-1;5020:2:1;5005:18;;4992:32;;-1:-1:-1;5036:16:1;;;5033:36;;;5065:1;5062;5055:12;5033:36;;5104:72;5168:7;5157:8;5146:9;5142:24;5104:72;:::i;:::-;4446:841;;;;-1:-1:-1;5195:8:1;5277:2;5262:18;5249:32;;4446:841;-1:-1:-1;;;;4446:841:1:o;5292:127::-;5353:10;5348:3;5344:20;5341:1;5334:31;5384:4;5381:1;5374:15;5408:4;5405:1;5398:15;5424:128;5491:9;;;5512:11;;;5509:37;;;5526:18;;:::i;5557:217::-;5597:1;5623;5613:132;;5667:10;5662:3;5658:20;5655:1;5648:31;5702:4;5699:1;5692:15;5730:4;5727:1;5720:15;5613:132;-1:-1:-1;5759:9:1;;5557:217::o;5779:168::-;5852:9;;;5883;;5900:15;;;5894:22;;5880:37;5870:71;;5921:18;;:::i;5952:125::-;6017:9;;;6038:10;;;6035:36;;;6051:18;;:::i;6082:380::-;6161:1;6157:12;;;;6204;;;6225:61;;6279:4;6271:6;6267:17;6257:27;;6225:61;6332:2;6324:6;6321:14;6301:18;6298:38;6295:161;;6378:10;6373:3;6369:20;6366:1;6359:31;6413:4;6410:1;6403:15;6441:4;6438:1;6431:15;6295:161;;6082:380;;;:::o;6467:356::-;6669:2;6651:21;;;6688:18;;;6681:30;6747:34;6742:2;6727:18;;6720:62;6814:2;6799:18;;6467:356::o;8486:251::-;8556:6;8609:2;8597:9;8588:7;8584:23;8580:32;8577:52;;;8625:1;8622;8615:12;8577:52;8657:9;8651:16;8676:31;8701:5;8676:31;:::i;9330:245::-;9397:6;9450:2;9438:9;9429:7;9425:23;9421:32;9418:52;;;9466:1;9463;9456:12;9418:52;9498:9;9492:16;9517:28;9539:5;9517:28;:::i;9580:607::-;-1:-1:-1;;;;;9939:15:1;;;9921:34;;9986:2;9971:18;;9964:34;;;;10029:2;10014:18;;10007:34;;;;10072:2;10057:18;;10050:34;;;;10121:15;;;10115:3;10100:19;;10093:44;9901:3;10153:19;;10146:35;;;;9870:3;9855:19;;9580:607::o;10192:306::-;10280:6;10288;10296;10349:2;10337:9;10328:7;10324:23;10320:32;10317:52;;;10365:1;10362;10355:12;10317:52;10394:9;10388:16;10378:26;;10444:2;10433:9;10429:18;10423:25;10413:35;;10488:2;10477:9;10473:18;10467:25;10457:35;;10192:306;;;;;:::o;10503:127::-;10564:10;10559:3;10555:20;10552:1;10545:31;10595:4;10592:1;10585:15;10619:4;10616:1;10609:15;10635:127;10696:10;10691:3;10687:20;10684:1;10677:31;10727:4;10724:1;10717:15;10751:4;10748:1;10741:15;10767:422;10856:1;10899:5;10856:1;10913:270;10934:7;10924:8;10921:21;10913:270;;;10993:4;10989:1;10985:6;10981:17;10975:4;10972:27;10969:53;;;11002:18;;:::i;:::-;11052:7;11042:8;11038:22;11035:55;;;11072:16;;;;11035:55;11151:22;;;;11111:15;;;;10913:270;;;10917:3;10767:422;;;;;:::o;11194:806::-;11243:5;11273:8;11263:80;;-1:-1:-1;11314:1:1;11328:5;;11263:80;11362:4;11352:76;;-1:-1:-1;11399:1:1;11413:5;;11352:76;11444:4;11462:1;11457:59;;;;11530:1;11525:130;;;;11437:218;;11457:59;11487:1;11478:10;;11501:5;;;11525:130;11562:3;11552:8;11549:17;11546:43;;;11569:18;;:::i;:::-;-1:-1:-1;;11625:1:1;11611:16;;11640:5;;11437:218;;11739:2;11729:8;11726:16;11720:3;11714:4;11711:13;11707:36;11701:2;11691:8;11688:16;11683:2;11677:4;11674:12;11670:35;11667:77;11664:159;;;-1:-1:-1;11776:19:1;;;11808:5;;11664:159;11855:34;11880:8;11874:4;11855:34;:::i;:::-;11925:6;11921:1;11917:6;11913:19;11904:7;11901:32;11898:58;;;11936:18;;:::i;:::-;11974:20;;11194:806;-1:-1:-1;;;11194:806:1:o;12005:140::-;12063:5;12092:47;12133:4;12123:8;12119:19;12113:4;12092:47;:::i;12150:461::-;12203:3;12241:5;12235:12;12268:6;12263:3;12256:19;12294:4;12323:2;12318:3;12314:12;12307:19;;12360:2;12353:5;12349:14;12381:1;12391:195;12405:6;12402:1;12399:13;12391:195;;;12470:13;;-1:-1:-1;;;;;12466:39:1;12454:52;;12526:12;;;;12561:15;;;;12502:1;12420:9;12391:195;;;-1:-1:-1;12602:3:1;;12150:461;-1:-1:-1;;;;;12150:461:1:o;12616:502::-;12879:6;12868:9;12861:25;12922:3;12917:2;12906:9;12902:18;12895:31;12842:4;12943:57;12995:3;12984:9;12980:19;12972:6;12943:57;:::i;:::-;-1:-1:-1;;;;;13036:32:1;;;;13031:2;13016:18;;13009:60;-1:-1:-1;13100:2:1;13085:18;13078:34;12935:65;12616:502;-1:-1:-1;;12616:502:1:o;13123:1105::-;13218:6;13249:2;13292;13280:9;13271:7;13267:23;13263:32;13260:52;;;13308:1;13305;13298:12;13260:52;13341:9;13335:16;13370:18;13411:2;13403:6;13400:14;13397:34;;;13427:1;13424;13417:12;13397:34;13465:6;13454:9;13450:22;13440:32;;13510:7;13503:4;13499:2;13495:13;13491:27;13481:55;;13532:1;13529;13522:12;13481:55;13561:2;13555:9;13583:2;13579;13576:10;13573:36;;;13589:18;;:::i;:::-;13635:2;13632:1;13628:10;13667:2;13661:9;13730:2;13726:7;13721:2;13717;13713:11;13709:25;13701:6;13697:38;13785:6;13773:10;13770:22;13765:2;13753:10;13750:18;13747:46;13744:72;;;13796:18;;:::i;:::-;13832:2;13825:22;13882:18;;;13916:15;;;;-1:-1:-1;13958:11:1;;;13954:20;;;13986:19;;;13983:39;;;14018:1;14015;14008:12;13983:39;14042:11;;;;14062:135;14078:6;14073:3;14070:15;14062:135;;;14144:10;;14132:23;;14095:12;;;;14175;;;;14062:135;;;14216:6;13123:1105;-1:-1:-1;;;;;;;;13123:1105:1:o;14233:135::-;14272:3;14293:17;;;14290:43;;14313:18;;:::i;:::-;-1:-1:-1;14360:1:1;14349:13;;14233:135::o;15798:401::-;16000:2;15982:21;;;16039:2;16019:18;;;16012:30;16078:34;16073:2;16058:18;;16051:62;-1:-1:-1;;;16144:2:1;16129:18;;16122:35;16189:3;16174:19;;15798:401::o;16204:399::-;16406:2;16388:21;;;16445:2;16425:18;;;16418:30;16484:34;16479:2;16464:18;;16457:62;-1:-1:-1;;;16550:2:1;16535:18;;16528:33;16593:3;16578:19;;16204:399::o;18138:582::-;18437:6;18426:9;18419:25;18480:6;18475:2;18464:9;18460:18;18453:34;18523:3;18518:2;18507:9;18503:18;18496:31;18400:4;18544:57;18596:3;18585:9;18581:19;18573:6;18544:57;:::i;:::-;-1:-1:-1;;;;;18637:32:1;;;;18632:2;18617:18;;18610:60;-1:-1:-1;18701:3:1;18686:19;18679:35;18536:65;18138:582;-1:-1:-1;;;18138:582:1:o
Swarm Source
ipfs://716b5bce2e15975479d6eab0379a2542cc25a9ba73e5eac1c775e89c8052deaf
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.