Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 170 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 14461296 | 1324 days ago | IN | 0 ETH | 0.00054208 | ||||
| Approve | 14378096 | 1337 days ago | IN | 0 ETH | 0.00080545 | ||||
| Approve | 14282953 | 1352 days ago | IN | 0 ETH | 0.00165445 | ||||
| Approve | 14278249 | 1353 days ago | IN | 0 ETH | 0.00317194 | ||||
| Approve | 14270001 | 1354 days ago | IN | 0 ETH | 0.0037813 | ||||
| Approve | 14267772 | 1355 days ago | IN | 0 ETH | 0.00293793 | ||||
| Approve | 14267344 | 1355 days ago | IN | 0 ETH | 0.00432472 | ||||
| Approve | 14266537 | 1355 days ago | IN | 0 ETH | 0.0123655 | ||||
| Approve | 14266445 | 1355 days ago | IN | 0 ETH | 0.00924109 | ||||
| Approve | 14266161 | 1355 days ago | IN | 0 ETH | 0.00265015 | ||||
| Approve | 14265871 | 1355 days ago | IN | 0 ETH | 0.00311266 | ||||
| Approve | 14265674 | 1355 days ago | IN | 0 ETH | 0.00288958 | ||||
| Approve | 14265587 | 1355 days ago | IN | 0 ETH | 0.00195597 | ||||
| Approve | 14265575 | 1355 days ago | IN | 0 ETH | 0.00417551 | ||||
| Approve | 14265568 | 1355 days ago | IN | 0 ETH | 0.00328727 | ||||
| Approve | 14265566 | 1355 days ago | IN | 0 ETH | 0.00373008 | ||||
| Approve | 14265566 | 1355 days ago | IN | 0 ETH | 0.00373008 | ||||
| Approve | 14265566 | 1355 days ago | IN | 0 ETH | 0.00373008 | ||||
| Approve | 14265480 | 1355 days ago | IN | 0 ETH | 0.00413618 | ||||
| Approve | 14265352 | 1355 days ago | IN | 0 ETH | 0.00302148 | ||||
| Approve | 14265335 | 1355 days ago | IN | 0 ETH | 0.0093252 | ||||
| Approve | 14265327 | 1355 days ago | IN | 0 ETH | 0.00401983 | ||||
| Approve | 14265323 | 1355 days ago | IN | 0 ETH | 0.00629451 | ||||
| Approve | 14265305 | 1355 days ago | IN | 0 ETH | 0.00422678 | ||||
| Approve | 14265301 | 1355 days ago | IN | 0 ETH | 0.00422335 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| - | 14414229 | 1332 days ago | 0.00064381 ETH | ||||
| - | 14414229 | 1332 days ago | 0.00064381 ETH | ||||
| - | 14378101 | 1337 days ago | 0.0003769 ETH | ||||
| - | 14378101 | 1337 days ago | 0.0003769 ETH | ||||
| - | 14376819 | 1338 days ago | 0.00218113 ETH | ||||
| - | 14376819 | 1338 days ago | 0.00218113 ETH | ||||
| - | 14312399 | 1348 days ago | 0.00346042 ETH | ||||
| - | 14312399 | 1348 days ago | 0.00346042 ETH | ||||
| - | 14284530 | 1352 days ago | 0.00346042 ETH | ||||
| - | 14284530 | 1352 days ago | 0.00346042 ETH | ||||
| - | 14284530 | 1352 days ago | 0.00250874 ETH | ||||
| - | 14284530 | 1352 days ago | 0.00250874 ETH | ||||
| - | 14284523 | 1352 days ago | 0.00164794 ETH | ||||
| - | 14284523 | 1352 days ago | 0.00164794 ETH | ||||
| - | 14282955 | 1352 days ago | 0.00264241 ETH | ||||
| - | 14282955 | 1352 days ago | 0.00264241 ETH | ||||
| - | 14279358 | 1353 days ago | 0.00408457 ETH | ||||
| - | 14279358 | 1353 days ago | 0.00408457 ETH | ||||
| - | 14278251 | 1353 days ago | 0.00202644 ETH | ||||
| - | 14278251 | 1353 days ago | 0.00202644 ETH | ||||
| - | 14276572 | 1353 days ago | 0.00480885 ETH | ||||
| - | 14276572 | 1353 days ago | 0.00480885 ETH | ||||
| - | 14276251 | 1353 days ago | 0.00358653 ETH | ||||
| - | 14276251 | 1353 days ago | 0.00358653 ETH | ||||
| - | 14272784 | 1354 days ago | 0.00137042 ETH |
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Charmatama
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2022-02-23
*/
/*
_____ _____ _____ _____ _____ _____ _____ _____ _____ _____
| | | | _ | __ | | _ |_ _| _ | | _ |
| --| | | -| | | | | | | | | | | | |
|_____|__|__|__|__|__|__|_|_|_|__|__| |_| |__|__|_|_|_|__|__|
https://t.me/Charmatama
*/
// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.9;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(
address sender,
address recipient,
uint256 amount
) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
}
contract Ownable is Context {
address private _owner;
address private _previousOwner;
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;
}
}
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;
}
}
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB)
external
returns (address pair);
}
interface IUniswapV2Router02 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint256 amountTokenDesired,
uint256 amountTokenMin,
uint256 amountETHMin,
address to,
uint256 deadline
)
external
payable
returns (
uint256 amountToken,
uint256 amountETH,
uint256 liquidity
);
}
contract Charmatama is Context, IERC20, Ownable {
using SafeMath for uint256;
string private constant _name = "Charmatama";//
string private constant _symbol = "CHARMATAMA";//
uint8 private constant _decimals = 9;
mapping(address => uint256) private _rOwned;
mapping(address => uint256) private _tOwned;
mapping(address => mapping(address => uint256)) private _allowances;
mapping(address => bool) private _isExcludedFromFee;
uint256 private constant MAX = ~uint256(0);
uint256 private constant _tTotal = 1000000000 * 10**9;
uint256 private _rTotal = (MAX - (MAX % _tTotal));
uint256 private _tFeeTotal;
uint256 public launchBlock;
//Buy Fee
uint256 private _redisFeeOnBuy = 0;//
uint256 private _taxFeeOnBuy = 5;//
//Sell Fee
uint256 private _redisFeeOnSell = 0;//
uint256 private _taxFeeOnSell = 5;//
//Original Fee
uint256 private _redisFee = _redisFeeOnSell;
uint256 private _taxFee = _taxFeeOnSell;
uint256 private _previousredisFee = _redisFee;
uint256 private _previoustaxFee = _taxFee;
mapping(address => bool) public bots;
mapping(address => uint256) private cooldown;
address payable private _developmentAddress = payable(0x52872A1F0d348a0e136fF885711f2876C4Cf0aa2);//
address payable private _marketingAddress = payable(0x99b074c09Ed0e6eB9B66A52D36be5aff0E916dc1);//
IUniswapV2Router02 public uniswapV2Router;
address public uniswapV2Pair;
bool private tradingOpen;
bool private inSwap = false;
bool private swapEnabled = true;
uint256 public _maxTxAmount = 2500000 * 10**9; //
uint256 public _maxWalletSize = 15000000 * 10**9; //
uint256 public _swapTokensAtAmount = 10000 * 10**9; //
event MaxTxAmountUpdated(uint256 _maxTxAmount);
modifier lockTheSwap {
inSwap = true;
_;
inSwap = false;
}
constructor() {
_rOwned[_msgSender()] = _rTotal;
IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
uniswapV2Router = _uniswapV2Router;
uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
.createPair(address(this), _uniswapV2Router.WETH());
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_developmentAddress] = true;
_isExcludedFromFee[_marketingAddress] = true;
emit Transfer(address(0), _msgSender(), _tTotal);
}
function name() public pure returns (string memory) {
return _name;
}
function symbol() public pure returns (string memory) {
return _symbol;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function totalSupply() public pure override returns (uint256) {
return _tTotal;
}
function balanceOf(address account) public view override returns (uint256) {
return tokenFromReflection(_rOwned[account]);
}
function transfer(address recipient, uint256 amount)
public
override
returns (bool)
{
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address owner, address spender)
public
view
override
returns (uint256)
{
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount)
public
override
returns (bool)
{
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(
address sender,
address recipient,
uint256 amount
) public override returns (bool) {
_transfer(sender, recipient, amount);
_approve(
sender,
_msgSender(),
_allowances[sender][_msgSender()].sub(
amount,
"ERC20: transfer amount exceeds allowance"
)
);
return true;
}
function tokenFromReflection(uint256 rAmount)
private
view
returns (uint256)
{
require(
rAmount <= _rTotal,
"Amount must be less than total reflections"
);
uint256 currentRate = _getRate();
return rAmount.div(currentRate);
}
function removeAllFee() private {
if (_redisFee == 0 && _taxFee == 0) return;
_previousredisFee = _redisFee;
_previoustaxFee = _taxFee;
_redisFee = 0;
_taxFee = 0;
}
function restoreAllFee() private {
_redisFee = _previousredisFee;
_taxFee = _previoustaxFee;
}
function _approve(
address owner,
address spender,
uint256 amount
) private {
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 _transfer(
address from,
address to,
uint256 amount
) private {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");
if (from != owner() && to != owner()) {
//Trade start check
if (!tradingOpen) {
require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
}
require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");
if(block.number <= launchBlock && from == uniswapV2Pair && to != address(uniswapV2Router) && to != address(this)){
bots[to] = true;
}
if(to != uniswapV2Pair) {
require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
}
uint256 contractTokenBalance = balanceOf(address(this));
bool canSwap = contractTokenBalance >= _swapTokensAtAmount;
if(contractTokenBalance >= _maxTxAmount)
{
contractTokenBalance = _maxTxAmount;
}
if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
swapTokensForEth(contractTokenBalance);
uint256 contractETHBalance = address(this).balance;
if (contractETHBalance > 0) {
sendETHToFee(address(this).balance);
}
}
}
bool takeFee = true;
//Transfer Tokens
if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
takeFee = false;
} else {
//Set Fee for Buys
if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
_redisFee = _redisFeeOnBuy;
_taxFee = _taxFeeOnBuy;
}
//Set Fee for Sells
if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
_redisFee = _redisFeeOnSell;
_taxFee = _taxFeeOnSell;
}
}
_tokenTransfer(from, to, amount, takeFee);
}
function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
_approve(address(this), address(uniswapV2Router), tokenAmount);
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp
);
}
function sendETHToFee(uint256 amount) private {
_marketingAddress.transfer(amount);
}
function setTrading(bool _tradingOpen) public onlyOwner {
tradingOpen = _tradingOpen;
launchBlock = block.number;
}
function manualswap() external {
require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
uint256 contractBalance = balanceOf(address(this));
swapTokensForEth(contractBalance);
}
function manualsend() external {
require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
uint256 contractETHBalance = address(this).balance;
sendETHToFee(contractETHBalance);
}
function blockBots(address[] memory bots_) public onlyOwner {
for (uint256 i = 0; i < bots_.length; i++) {
bots[bots_[i]] = true;
}
}
function unblockBot(address notbot) public onlyOwner {
bots[notbot] = false;
}
function _tokenTransfer(
address sender,
address recipient,
uint256 amount,
bool takeFee
) private {
if (!takeFee) removeAllFee();
_transferStandard(sender, recipient, amount);
if (!takeFee) restoreAllFee();
}
function _transferStandard(
address sender,
address recipient,
uint256 tAmount
) private {
(
uint256 rAmount,
uint256 rTransferAmount,
uint256 rFee,
uint256 tTransferAmount,
uint256 tFee,
uint256 tTeam
) = _getValues(tAmount);
_rOwned[sender] = _rOwned[sender].sub(rAmount);
_rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
_takeTeam(tTeam);
_reflectFee(rFee, tFee);
emit Transfer(sender, recipient, tTransferAmount);
}
function _takeTeam(uint256 tTeam) private {
uint256 currentRate = _getRate();
uint256 rTeam = tTeam.mul(currentRate);
_rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
}
function _reflectFee(uint256 rFee, uint256 tFee) private {
_rTotal = _rTotal.sub(rFee);
_tFeeTotal = _tFeeTotal.add(tFee);
}
receive() external payable {}
function _getValues(uint256 tAmount)
private
view
returns (
uint256,
uint256,
uint256,
uint256,
uint256,
uint256
)
{
(uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
_getTValues(tAmount, _redisFee, _taxFee);
uint256 currentRate = _getRate();
(uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
_getRValues(tAmount, tFee, tTeam, currentRate);
return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
}
function _getTValues(
uint256 tAmount,
uint256 redisFee,
uint256 taxFee
)
private
pure
returns (
uint256,
uint256,
uint256
)
{
uint256 tFee = tAmount.mul(redisFee).div(100);
uint256 tTeam = tAmount.mul(taxFee).div(100);
uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
return (tTransferAmount, tFee, tTeam);
}
function _getRValues(
uint256 tAmount,
uint256 tFee,
uint256 tTeam,
uint256 currentRate
)
private
pure
returns (
uint256,
uint256,
uint256
)
{
uint256 rAmount = tAmount.mul(currentRate);
uint256 rFee = tFee.mul(currentRate);
uint256 rTeam = tTeam.mul(currentRate);
uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
return (rAmount, rTransferAmount, rFee);
}
function _getRate() private view returns (uint256) {
(uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
return rSupply.div(tSupply);
}
function _getCurrentSupply() private view returns (uint256, uint256) {
uint256 rSupply = _rTotal;
uint256 tSupply = _tTotal;
if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
return (rSupply, tSupply);
}
function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
require(redisFeeOnBuy >= 0 && redisFeeOnBuy <= 2, "Buy rewards must be between 0% and 2%");
require(taxFeeOnBuy >= 0 && taxFeeOnBuy <= 7, "Buy tax must be between 0% and 7%");
require(redisFeeOnSell >= 0 && redisFeeOnSell <= 2, "Sell rewards must be between 0% and 2%");
require(taxFeeOnSell >= 0 && taxFeeOnSell <= 7, "Sell tax must be between 0% and 7%");
_redisFeeOnBuy = redisFeeOnBuy;
_redisFeeOnSell = redisFeeOnSell;
_taxFeeOnBuy = taxFeeOnBuy;
_taxFeeOnSell = taxFeeOnSell;
}
//Set minimum tokens required to swap.
function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
_swapTokensAtAmount = swapTokensAtAmount;
}
//Set minimum tokens required to swap.
function toggleSwap(bool _swapEnabled) public onlyOwner {
swapEnabled = _swapEnabled;
}
//Set maximum transaction
function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
if (maxTxAmount > 5000000 * 10**9) {
_maxTxAmount = maxTxAmount;
}
}
function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
_maxWalletSize = maxWalletSize;
}
function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
for(uint256 i = 0; i < accounts.length; i++) {
_isExcludedFromFee[accounts[i]] = excluded;
}
}
}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":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launchBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60806040526200001a670de0b6b3a7640000600019620003a9565b6200002890600019620003cc565b600655600060098190556005600a819055600b829055600c819055600d829055600e819055600f91909155601055601380546001600160a01b03199081167352872a1f0d348a0e136ff885711f2876c4cf0aa217909155601480549091167399b074c09ed0e6eb9b66a52d36be5aff0e916dc11790556016805461ffff60a81b1916600160b01b1790556608e1bc9bf0400060175566354a6ba7a180006018556509184e72a000601955348015620000df57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006543360009081526002602090815260409182902092909255601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a01559260048083019392829003018186803b1580156200019857600080fd5b505afa158015620001ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d39190620003f2565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200021c57600080fd5b505afa15801562000231573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002579190620003f2565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015620002a057600080fd5b505af1158015620002b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002db9190620003f2565b601680546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055601354851684528284208054821683179055601454909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a76400006040516200039a91815260200190565b60405180910390a35062000424565b600082620003c757634e487b7160e01b600052601260045260246000fd5b500690565b600082821015620003ed57634e487b7160e01b600052601160045260246000fd5b500390565b6000602082840312156200040557600080fd5b81516001600160a01b03811681146200041d57600080fd5b9392505050565b611ffd80620004346000396000f3fe6080604052600436106101d05760003560e01c80637d1db4a5116100f7578063a9059cbb11610095578063d00efb2f11610064578063d00efb2f1461054e578063dd62ed3e14610564578063ea1644d5146105aa578063f2fde38b146105ca57600080fd5b8063a9059cbb146104c9578063bfd79284146104e9578063c3c8cd8014610519578063c492f0461461052e57600080fd5b80638f9a55c0116100d15780638f9a55c01461044057806395d89b411461045657806398a5c31514610489578063a2a957bb146104a957600080fd5b80637d1db4a5146103ec5780638da5cb5b146104025780638f70ccf71461042057600080fd5b8063313ce5671161016f5780636fc3eaec1161013e5780636fc3eaec1461038257806370a0823114610397578063715018a6146103b757806374010ece146103cc57600080fd5b8063313ce5671461030657806349bd5a5e146103225780636b999053146103425780636d8aa8f81461036257600080fd5b80631694505e116101ab5780631694505e1461027357806318160ddd146102ab57806323b872dd146102d05780632fd689e3146102f057600080fd5b8062b8cf2a146101dc57806306fdde03146101fe578063095ea7b31461024357600080fd5b366101d757005b600080fd5b3480156101e857600080fd5b506101fc6101f7366004611b4e565b6105ea565b005b34801561020a57600080fd5b5060408051808201909152600a815269436861726d6174616d6160b01b60208201525b60405161023a9190611c13565b60405180910390f35b34801561024f57600080fd5b5061026361025e366004611c68565b610689565b604051901515815260200161023a565b34801561027f57600080fd5b50601554610293906001600160a01b031681565b6040516001600160a01b03909116815260200161023a565b3480156102b757600080fd5b50670de0b6b3a76400005b60405190815260200161023a565b3480156102dc57600080fd5b506102636102eb366004611c94565b6106a0565b3480156102fc57600080fd5b506102c260195481565b34801561031257600080fd5b506040516009815260200161023a565b34801561032e57600080fd5b50601654610293906001600160a01b031681565b34801561034e57600080fd5b506101fc61035d366004611cd5565b610709565b34801561036e57600080fd5b506101fc61037d366004611d02565b610754565b34801561038e57600080fd5b506101fc61079c565b3480156103a357600080fd5b506102c26103b2366004611cd5565b6107e7565b3480156103c357600080fd5b506101fc610809565b3480156103d857600080fd5b506101fc6103e7366004611d1d565b61087d565b3480156103f857600080fd5b506102c260175481565b34801561040e57600080fd5b506000546001600160a01b0316610293565b34801561042c57600080fd5b506101fc61043b366004611d02565b6108bb565b34801561044c57600080fd5b506102c260185481565b34801561046257600080fd5b5060408051808201909152600a815269434841524d4154414d4160b01b602082015261022d565b34801561049557600080fd5b506101fc6104a4366004611d1d565b610907565b3480156104b557600080fd5b506101fc6104c4366004611d36565b610936565b3480156104d557600080fd5b506102636104e4366004611c68565b610aea565b3480156104f557600080fd5b50610263610504366004611cd5565b60116020526000908152604090205460ff1681565b34801561052557600080fd5b506101fc610af7565b34801561053a57600080fd5b506101fc610549366004611d68565b610b4b565b34801561055a57600080fd5b506102c260085481565b34801561057057600080fd5b506102c261057f366004611dec565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105b657600080fd5b506101fc6105c5366004611d1d565b610bec565b3480156105d657600080fd5b506101fc6105e5366004611cd5565b610c1b565b6000546001600160a01b0316331461061d5760405162461bcd60e51b815260040161061490611e25565b60405180910390fd5b60005b81518110156106855760016011600084848151811061064157610641611e5a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061067d81611e86565b915050610620565b5050565b6000610696338484610d05565b5060015b92915050565b60006106ad848484610e29565b6106ff84336106fa85604051806060016040528060288152602001611fa0602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906113dc565b610d05565b5060019392505050565b6000546001600160a01b031633146107335760405162461bcd60e51b815260040161061490611e25565b6001600160a01b03166000908152601160205260409020805460ff19169055565b6000546001600160a01b0316331461077e5760405162461bcd60e51b815260040161061490611e25565b60168054911515600160b01b0260ff60b01b19909216919091179055565b6013546001600160a01b0316336001600160a01b031614806107d157506014546001600160a01b0316336001600160a01b0316145b6107da57600080fd5b476107e481611416565b50565b6001600160a01b03811660009081526002602052604081205461069a90611450565b6000546001600160a01b031633146108335760405162461bcd60e51b815260040161061490611e25565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108a75760405162461bcd60e51b815260040161061490611e25565b6611c37937e080008111156107e457601755565b6000546001600160a01b031633146108e55760405162461bcd60e51b815260040161061490611e25565b60168054911515600160a01b0260ff60a01b1990921691909117905543600855565b6000546001600160a01b031633146109315760405162461bcd60e51b815260040161061490611e25565b601955565b6000546001600160a01b031633146109605760405162461bcd60e51b815260040161061490611e25565b60028411156109bf5760405162461bcd60e51b815260206004820152602560248201527f4275792072657761726473206d757374206265206265747765656e20302520616044820152646e6420322560d81b6064820152608401610614565b6007821115610a1a5760405162461bcd60e51b815260206004820152602160248201527f42757920746178206d757374206265206265747765656e20302520616e6420376044820152602560f81b6064820152608401610614565b6002831115610a7a5760405162461bcd60e51b815260206004820152602660248201527f53656c6c2072657761726473206d757374206265206265747765656e20302520604482015265616e6420322560d01b6064820152608401610614565b6007811115610ad65760405162461bcd60e51b815260206004820152602260248201527f53656c6c20746178206d757374206265206265747765656e20302520616e6420604482015261372560f01b6064820152608401610614565b600993909355600b91909155600a55600c55565b6000610696338484610e29565b6013546001600160a01b0316336001600160a01b03161480610b2c57506014546001600160a01b0316336001600160a01b0316145b610b3557600080fd5b6000610b40306107e7565b90506107e4816114d4565b6000546001600160a01b03163314610b755760405162461bcd60e51b815260040161061490611e25565b60005b82811015610be6578160056000868685818110610b9757610b97611e5a565b9050602002016020810190610bac9190611cd5565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610bde81611e86565b915050610b78565b50505050565b6000546001600160a01b03163314610c165760405162461bcd60e51b815260040161061490611e25565b601855565b6000546001600160a01b03163314610c455760405162461bcd60e51b815260040161061490611e25565b6001600160a01b038116610caa5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610614565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610d675760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610614565b6001600160a01b038216610dc85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610614565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e8d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610614565b6001600160a01b038216610eef5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610614565b60008111610f515760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610614565b6000546001600160a01b03848116911614801590610f7d57506000546001600160a01b03838116911614155b156112d557601654600160a01b900460ff16611016576000546001600160a01b038481169116146110165760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610614565b6017548111156110685760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610614565b6001600160a01b03831660009081526011602052604090205460ff161580156110aa57506001600160a01b03821660009081526011602052604090205460ff16155b6111025760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b6064820152608401610614565b600854431115801561112157506016546001600160a01b038481169116145b801561113b57506015546001600160a01b03838116911614155b801561115057506001600160a01b0382163014155b15611179576001600160a01b0382166000908152601160205260409020805460ff191660011790555b6016546001600160a01b038381169116146111fe576018548161119b846107e7565b6111a59190611ea1565b106111fe5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610614565b6000611209306107e7565b6019546017549192508210159082106112225760175491505b8080156112395750601654600160a81b900460ff16155b801561125357506016546001600160a01b03868116911614155b80156112685750601654600160b01b900460ff165b801561128d57506001600160a01b03851660009081526005602052604090205460ff16155b80156112b257506001600160a01b03841660009081526005602052604090205460ff16155b156112d2576112c0826114d4565b4780156112d0576112d047611416565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061131757506001600160a01b03831660009081526005602052604090205460ff165b8061134957506016546001600160a01b0385811691161480159061134957506016546001600160a01b03848116911614155b15611356575060006113d0565b6016546001600160a01b03858116911614801561138157506015546001600160a01b03848116911614155b1561139357600954600d55600a54600e555b6016546001600160a01b0384811691161480156113be57506015546001600160a01b03858116911614155b156113d057600b54600d55600c54600e555b610be68484848461165d565b600081848411156114005760405162461bcd60e51b81526004016106149190611c13565b50600061140d8486611eb9565b95945050505050565b6014546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610685573d6000803e3d6000fd5b60006006548211156114b75760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610614565b60006114c161168b565b90506114cd83826116ae565b9392505050565b6016805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061151c5761151c611e5a565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561157057600080fd5b505afa158015611584573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a89190611ed0565b816001815181106115bb576115bb611e5a565b6001600160a01b0392831660209182029290920101526015546115e19130911684610d05565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac9479061161a908590600090869030904290600401611eed565b600060405180830381600087803b15801561163457600080fd5b505af1158015611648573d6000803e3d6000fd5b50506016805460ff60a81b1916905550505050565b8061166a5761166a6116f0565b61167584848461171e565b80610be657610be6600f54600d55601054600e55565b6000806000611698611815565b90925090506116a782826116ae565b9250505090565b60006114cd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611855565b600d541580156117005750600e54155b1561170757565b600d8054600f55600e805460105560009182905555565b60008060008060008061173087611883565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061176290876118e0565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546117919086611922565b6001600160a01b0389166000908152600260205260409020556117b381611981565b6117bd84836119cb565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161180291815260200190565b60405180910390a3505050505050505050565b6006546000908190670de0b6b3a764000061183082826116ae565b82101561184c57505060065492670de0b6b3a764000092509050565b90939092509050565b600081836118765760405162461bcd60e51b81526004016106149190611c13565b50600061140d8486611f5e565b60008060008060008060008060006118a08a600d54600e546119ef565b92509250925060006118b061168b565b905060008060006118c38e878787611a44565b919e509c509a509598509396509194505050505091939550919395565b60006114cd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113dc565b60008061192f8385611ea1565b9050838110156114cd5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610614565b600061198b61168b565b905060006119998383611a94565b306000908152600260205260409020549091506119b69082611922565b30600090815260026020526040902055505050565b6006546119d890836118e0565b6006556007546119e89082611922565b6007555050565b6000808080611a096064611a038989611a94565b906116ae565b90506000611a1c6064611a038a89611a94565b90506000611a3482611a2e8b866118e0565b906118e0565b9992985090965090945050505050565b6000808080611a538886611a94565b90506000611a618887611a94565b90506000611a6f8888611a94565b90506000611a8182611a2e86866118e0565b939b939a50919850919650505050505050565b600082611aa35750600061069a565b6000611aaf8385611f80565b905082611abc8583611f5e565b146114cd5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610614565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146107e457600080fd5b8035611b4981611b29565b919050565b60006020808385031215611b6157600080fd5b823567ffffffffffffffff80821115611b7957600080fd5b818501915085601f830112611b8d57600080fd5b813581811115611b9f57611b9f611b13565b8060051b604051601f19603f83011681018181108582111715611bc457611bc4611b13565b604052918252848201925083810185019188831115611be257600080fd5b938501935b82851015611c0757611bf885611b3e565b84529385019392850192611be7565b98975050505050505050565b600060208083528351808285015260005b81811015611c4057858101830151858201604001528201611c24565b81811115611c52576000604083870101525b50601f01601f1916929092016040019392505050565b60008060408385031215611c7b57600080fd5b8235611c8681611b29565b946020939093013593505050565b600080600060608486031215611ca957600080fd5b8335611cb481611b29565b92506020840135611cc481611b29565b929592945050506040919091013590565b600060208284031215611ce757600080fd5b81356114cd81611b29565b80358015158114611b4957600080fd5b600060208284031215611d1457600080fd5b6114cd82611cf2565b600060208284031215611d2f57600080fd5b5035919050565b60008060008060808587031215611d4c57600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611d7d57600080fd5b833567ffffffffffffffff80821115611d9557600080fd5b818601915086601f830112611da957600080fd5b813581811115611db857600080fd5b8760208260051b8501011115611dcd57600080fd5b602092830195509350611de39186019050611cf2565b90509250925092565b60008060408385031215611dff57600080fd5b8235611e0a81611b29565b91506020830135611e1a81611b29565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611e9a57611e9a611e70565b5060010190565b60008219821115611eb457611eb4611e70565b500190565b600082821015611ecb57611ecb611e70565b500390565b600060208284031215611ee257600080fd5b81516114cd81611b29565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611f3d5784516001600160a01b031683529383019391830191600101611f18565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611f7b57634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611f9a57611f9a611e70565b50029056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208195ccc2313e7301ea110c310678a1f5644f0050accec8ca684c66157f2ba1f964736f6c63430008090033
Deployed Bytecode
0x6080604052600436106101d05760003560e01c80637d1db4a5116100f7578063a9059cbb11610095578063d00efb2f11610064578063d00efb2f1461054e578063dd62ed3e14610564578063ea1644d5146105aa578063f2fde38b146105ca57600080fd5b8063a9059cbb146104c9578063bfd79284146104e9578063c3c8cd8014610519578063c492f0461461052e57600080fd5b80638f9a55c0116100d15780638f9a55c01461044057806395d89b411461045657806398a5c31514610489578063a2a957bb146104a957600080fd5b80637d1db4a5146103ec5780638da5cb5b146104025780638f70ccf71461042057600080fd5b8063313ce5671161016f5780636fc3eaec1161013e5780636fc3eaec1461038257806370a0823114610397578063715018a6146103b757806374010ece146103cc57600080fd5b8063313ce5671461030657806349bd5a5e146103225780636b999053146103425780636d8aa8f81461036257600080fd5b80631694505e116101ab5780631694505e1461027357806318160ddd146102ab57806323b872dd146102d05780632fd689e3146102f057600080fd5b8062b8cf2a146101dc57806306fdde03146101fe578063095ea7b31461024357600080fd5b366101d757005b600080fd5b3480156101e857600080fd5b506101fc6101f7366004611b4e565b6105ea565b005b34801561020a57600080fd5b5060408051808201909152600a815269436861726d6174616d6160b01b60208201525b60405161023a9190611c13565b60405180910390f35b34801561024f57600080fd5b5061026361025e366004611c68565b610689565b604051901515815260200161023a565b34801561027f57600080fd5b50601554610293906001600160a01b031681565b6040516001600160a01b03909116815260200161023a565b3480156102b757600080fd5b50670de0b6b3a76400005b60405190815260200161023a565b3480156102dc57600080fd5b506102636102eb366004611c94565b6106a0565b3480156102fc57600080fd5b506102c260195481565b34801561031257600080fd5b506040516009815260200161023a565b34801561032e57600080fd5b50601654610293906001600160a01b031681565b34801561034e57600080fd5b506101fc61035d366004611cd5565b610709565b34801561036e57600080fd5b506101fc61037d366004611d02565b610754565b34801561038e57600080fd5b506101fc61079c565b3480156103a357600080fd5b506102c26103b2366004611cd5565b6107e7565b3480156103c357600080fd5b506101fc610809565b3480156103d857600080fd5b506101fc6103e7366004611d1d565b61087d565b3480156103f857600080fd5b506102c260175481565b34801561040e57600080fd5b506000546001600160a01b0316610293565b34801561042c57600080fd5b506101fc61043b366004611d02565b6108bb565b34801561044c57600080fd5b506102c260185481565b34801561046257600080fd5b5060408051808201909152600a815269434841524d4154414d4160b01b602082015261022d565b34801561049557600080fd5b506101fc6104a4366004611d1d565b610907565b3480156104b557600080fd5b506101fc6104c4366004611d36565b610936565b3480156104d557600080fd5b506102636104e4366004611c68565b610aea565b3480156104f557600080fd5b50610263610504366004611cd5565b60116020526000908152604090205460ff1681565b34801561052557600080fd5b506101fc610af7565b34801561053a57600080fd5b506101fc610549366004611d68565b610b4b565b34801561055a57600080fd5b506102c260085481565b34801561057057600080fd5b506102c261057f366004611dec565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105b657600080fd5b506101fc6105c5366004611d1d565b610bec565b3480156105d657600080fd5b506101fc6105e5366004611cd5565b610c1b565b6000546001600160a01b0316331461061d5760405162461bcd60e51b815260040161061490611e25565b60405180910390fd5b60005b81518110156106855760016011600084848151811061064157610641611e5a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061067d81611e86565b915050610620565b5050565b6000610696338484610d05565b5060015b92915050565b60006106ad848484610e29565b6106ff84336106fa85604051806060016040528060288152602001611fa0602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906113dc565b610d05565b5060019392505050565b6000546001600160a01b031633146107335760405162461bcd60e51b815260040161061490611e25565b6001600160a01b03166000908152601160205260409020805460ff19169055565b6000546001600160a01b0316331461077e5760405162461bcd60e51b815260040161061490611e25565b60168054911515600160b01b0260ff60b01b19909216919091179055565b6013546001600160a01b0316336001600160a01b031614806107d157506014546001600160a01b0316336001600160a01b0316145b6107da57600080fd5b476107e481611416565b50565b6001600160a01b03811660009081526002602052604081205461069a90611450565b6000546001600160a01b031633146108335760405162461bcd60e51b815260040161061490611e25565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108a75760405162461bcd60e51b815260040161061490611e25565b6611c37937e080008111156107e457601755565b6000546001600160a01b031633146108e55760405162461bcd60e51b815260040161061490611e25565b60168054911515600160a01b0260ff60a01b1990921691909117905543600855565b6000546001600160a01b031633146109315760405162461bcd60e51b815260040161061490611e25565b601955565b6000546001600160a01b031633146109605760405162461bcd60e51b815260040161061490611e25565b60028411156109bf5760405162461bcd60e51b815260206004820152602560248201527f4275792072657761726473206d757374206265206265747765656e20302520616044820152646e6420322560d81b6064820152608401610614565b6007821115610a1a5760405162461bcd60e51b815260206004820152602160248201527f42757920746178206d757374206265206265747765656e20302520616e6420376044820152602560f81b6064820152608401610614565b6002831115610a7a5760405162461bcd60e51b815260206004820152602660248201527f53656c6c2072657761726473206d757374206265206265747765656e20302520604482015265616e6420322560d01b6064820152608401610614565b6007811115610ad65760405162461bcd60e51b815260206004820152602260248201527f53656c6c20746178206d757374206265206265747765656e20302520616e6420604482015261372560f01b6064820152608401610614565b600993909355600b91909155600a55600c55565b6000610696338484610e29565b6013546001600160a01b0316336001600160a01b03161480610b2c57506014546001600160a01b0316336001600160a01b0316145b610b3557600080fd5b6000610b40306107e7565b90506107e4816114d4565b6000546001600160a01b03163314610b755760405162461bcd60e51b815260040161061490611e25565b60005b82811015610be6578160056000868685818110610b9757610b97611e5a565b9050602002016020810190610bac9190611cd5565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610bde81611e86565b915050610b78565b50505050565b6000546001600160a01b03163314610c165760405162461bcd60e51b815260040161061490611e25565b601855565b6000546001600160a01b03163314610c455760405162461bcd60e51b815260040161061490611e25565b6001600160a01b038116610caa5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610614565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610d675760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610614565b6001600160a01b038216610dc85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610614565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e8d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610614565b6001600160a01b038216610eef5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610614565b60008111610f515760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610614565b6000546001600160a01b03848116911614801590610f7d57506000546001600160a01b03838116911614155b156112d557601654600160a01b900460ff16611016576000546001600160a01b038481169116146110165760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610614565b6017548111156110685760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610614565b6001600160a01b03831660009081526011602052604090205460ff161580156110aa57506001600160a01b03821660009081526011602052604090205460ff16155b6111025760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b6064820152608401610614565b600854431115801561112157506016546001600160a01b038481169116145b801561113b57506015546001600160a01b03838116911614155b801561115057506001600160a01b0382163014155b15611179576001600160a01b0382166000908152601160205260409020805460ff191660011790555b6016546001600160a01b038381169116146111fe576018548161119b846107e7565b6111a59190611ea1565b106111fe5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610614565b6000611209306107e7565b6019546017549192508210159082106112225760175491505b8080156112395750601654600160a81b900460ff16155b801561125357506016546001600160a01b03868116911614155b80156112685750601654600160b01b900460ff165b801561128d57506001600160a01b03851660009081526005602052604090205460ff16155b80156112b257506001600160a01b03841660009081526005602052604090205460ff16155b156112d2576112c0826114d4565b4780156112d0576112d047611416565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061131757506001600160a01b03831660009081526005602052604090205460ff165b8061134957506016546001600160a01b0385811691161480159061134957506016546001600160a01b03848116911614155b15611356575060006113d0565b6016546001600160a01b03858116911614801561138157506015546001600160a01b03848116911614155b1561139357600954600d55600a54600e555b6016546001600160a01b0384811691161480156113be57506015546001600160a01b03858116911614155b156113d057600b54600d55600c54600e555b610be68484848461165d565b600081848411156114005760405162461bcd60e51b81526004016106149190611c13565b50600061140d8486611eb9565b95945050505050565b6014546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610685573d6000803e3d6000fd5b60006006548211156114b75760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610614565b60006114c161168b565b90506114cd83826116ae565b9392505050565b6016805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061151c5761151c611e5a565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561157057600080fd5b505afa158015611584573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a89190611ed0565b816001815181106115bb576115bb611e5a565b6001600160a01b0392831660209182029290920101526015546115e19130911684610d05565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac9479061161a908590600090869030904290600401611eed565b600060405180830381600087803b15801561163457600080fd5b505af1158015611648573d6000803e3d6000fd5b50506016805460ff60a81b1916905550505050565b8061166a5761166a6116f0565b61167584848461171e565b80610be657610be6600f54600d55601054600e55565b6000806000611698611815565b90925090506116a782826116ae565b9250505090565b60006114cd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611855565b600d541580156117005750600e54155b1561170757565b600d8054600f55600e805460105560009182905555565b60008060008060008061173087611883565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061176290876118e0565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546117919086611922565b6001600160a01b0389166000908152600260205260409020556117b381611981565b6117bd84836119cb565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161180291815260200190565b60405180910390a3505050505050505050565b6006546000908190670de0b6b3a764000061183082826116ae565b82101561184c57505060065492670de0b6b3a764000092509050565b90939092509050565b600081836118765760405162461bcd60e51b81526004016106149190611c13565b50600061140d8486611f5e565b60008060008060008060008060006118a08a600d54600e546119ef565b92509250925060006118b061168b565b905060008060006118c38e878787611a44565b919e509c509a509598509396509194505050505091939550919395565b60006114cd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113dc565b60008061192f8385611ea1565b9050838110156114cd5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610614565b600061198b61168b565b905060006119998383611a94565b306000908152600260205260409020549091506119b69082611922565b30600090815260026020526040902055505050565b6006546119d890836118e0565b6006556007546119e89082611922565b6007555050565b6000808080611a096064611a038989611a94565b906116ae565b90506000611a1c6064611a038a89611a94565b90506000611a3482611a2e8b866118e0565b906118e0565b9992985090965090945050505050565b6000808080611a538886611a94565b90506000611a618887611a94565b90506000611a6f8888611a94565b90506000611a8182611a2e86866118e0565b939b939a50919850919650505050505050565b600082611aa35750600061069a565b6000611aaf8385611f80565b905082611abc8583611f5e565b146114cd5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610614565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146107e457600080fd5b8035611b4981611b29565b919050565b60006020808385031215611b6157600080fd5b823567ffffffffffffffff80821115611b7957600080fd5b818501915085601f830112611b8d57600080fd5b813581811115611b9f57611b9f611b13565b8060051b604051601f19603f83011681018181108582111715611bc457611bc4611b13565b604052918252848201925083810185019188831115611be257600080fd5b938501935b82851015611c0757611bf885611b3e565b84529385019392850192611be7565b98975050505050505050565b600060208083528351808285015260005b81811015611c4057858101830151858201604001528201611c24565b81811115611c52576000604083870101525b50601f01601f1916929092016040019392505050565b60008060408385031215611c7b57600080fd5b8235611c8681611b29565b946020939093013593505050565b600080600060608486031215611ca957600080fd5b8335611cb481611b29565b92506020840135611cc481611b29565b929592945050506040919091013590565b600060208284031215611ce757600080fd5b81356114cd81611b29565b80358015158114611b4957600080fd5b600060208284031215611d1457600080fd5b6114cd82611cf2565b600060208284031215611d2f57600080fd5b5035919050565b60008060008060808587031215611d4c57600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611d7d57600080fd5b833567ffffffffffffffff80821115611d9557600080fd5b818601915086601f830112611da957600080fd5b813581811115611db857600080fd5b8760208260051b8501011115611dcd57600080fd5b602092830195509350611de39186019050611cf2565b90509250925092565b60008060408385031215611dff57600080fd5b8235611e0a81611b29565b91506020830135611e1a81611b29565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611e9a57611e9a611e70565b5060010190565b60008219821115611eb457611eb4611e70565b500190565b600082821015611ecb57611ecb611e70565b500390565b600060208284031215611ee257600080fd5b81516114cd81611b29565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611f3d5784516001600160a01b031683529383019391830191600101611f18565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611f7b57634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615611f9a57611f9a611e70565b50029056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208195ccc2313e7301ea110c310678a1f5644f0050accec8ca684c66157f2ba1f964736f6c63430008090033
Deployed Bytecode Sourcemap
4518:14356:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13567:169;;;;;;;;;;-1:-1:-1;13567:169:0;;;;;:::i;:::-;;:::i;:::-;;7140:83;;;;;;;;;;-1:-1:-1;7210:5:0;;;;;;;;;;;;-1:-1:-1;;;7210:5:0;;;;7140:83;;;;;;;:::i;:::-;;;;;;;;8072:193;;;;;;;;;;-1:-1:-1;8072:193:0;;;;;:::i;:::-;;:::i;:::-;;;2634:14:1;;2627:22;2609:41;;2597:2;2582:18;8072:193:0;2469:187:1;5971:41:0;;;;;;;;;;-1:-1:-1;5971:41:0;;;;-1:-1:-1;;;;;5971:41:0;;;;;;-1:-1:-1;;;;;2851:32:1;;;2833:51;;2821:2;2806:18;5971:41:0;2661:229:1;7420:95:0;;;;;;;;;;-1:-1:-1;5082:18:0;7420:95;;;3041:25:1;;;3029:2;3014:18;7420:95:0;2895:177:1;8274:446:0;;;;;;;;;;-1:-1:-1;8274:446:0;;;;;:::i;:::-;;:::i;6276:50::-;;;;;;;;;;;;;;;;7328:83;;;;;;;;;;-1:-1:-1;7328:83:0;;4755:1;3680:36:1;;3668:2;3653:18;7328:83:0;3538:184:1;6019:28:0;;;;;;;;;;-1:-1:-1;6019:28:0;;;;-1:-1:-1;;;;;6019:28:0;;;13745:92;;;;;;;;;;-1:-1:-1;13745:92:0;;;;;:::i;:::-;;:::i;18199:101::-;;;;;;;;;;-1:-1:-1;18199:101:0;;;;;:::i;:::-;;:::i;13323:235::-;;;;;;;;;;;;;:::i;7524:138::-;;;;;;;;;;-1:-1:-1;7524:138:0;;;;;:::i;:::-;;:::i;1991:148::-;;;;;;;;;;;;;:::i;18343:161::-;;;;;;;;;;-1:-1:-1;18343:161:0;;;;;:::i;:::-;;:::i;6163:45::-;;;;;;;;;;;;;;;;1775:79;;;;;;;;;;-1:-1:-1;1813:7:0;1840:6;-1:-1:-1;;;;;1840:6:0;1775:79;;12931:138;;;;;;;;;;-1:-1:-1;12931:138:0;;;;;:::i;:::-;;:::i;6218:48::-;;;;;;;;;;;;;;;;7232:87;;;;;;;;;;-1:-1:-1;7304:7:0;;;;;;;;;;;;-1:-1:-1;;;7304:7:0;;;;7232:87;;18007:139;;;;;;;;;;-1:-1:-1;18007:139:0;;;;;:::i;:::-;;:::i;17269:685::-;;;;;;;;;;-1:-1:-1;17269:685:0;;;;;:::i;:::-;;:::i;7671:199::-;;;;;;;;;;-1:-1:-1;7671:199:0;;;;;:::i;:::-;;:::i;5661:36::-;;;;;;;;;;-1:-1:-1;5661:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13078:236;;;;;;;;;;;;;:::i;18637:234::-;;;;;;;;;;-1:-1:-1;18637:234:0;;;;;:::i;:::-;;:::i;5196:26::-;;;;;;;;;;;;;;;;7879:184;;;;;;;;;;-1:-1:-1;7879:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;8028:18:0;;;7996:7;8028:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7879:184;18513:115;;;;;;;;;;-1:-1:-1;18513:115:0;;;;;:::i;:::-;;:::i;2148:244::-;;;;;;;;;;-1:-1:-1;2148:244:0;;;;;:::i;:::-;;:::i;13567:169::-;1903:6;;-1:-1:-1;;;;;1903:6:0;604:10;1903:22;1895:67;;;;-1:-1:-1;;;1895:67:0;;;;;;;:::i;:::-;;;;;;;;;13643:9:::1;13638:91;13662:5;:12;13658:1;:16;13638:91;;;13713:4;13696;:14;13701:5;13707:1;13701:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13696:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;13696:14:0;:21;;-1:-1:-1;;13696:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13676:3;::::1;::::0;::::1;:::i;:::-;;;;13638:91;;;;13567:169:::0;:::o;8072:193::-;8174:4;8196:39;604:10;8219:7;8228:6;8196:8;:39::i;:::-;-1:-1:-1;8253:4:0;8072:193;;;;;:::o;8274:446::-;8406:4;8423:36;8433:6;8441:9;8452:6;8423:9;:36::i;:::-;8470:220;8493:6;604:10;8541:138;8597:6;8541:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8541:19:0;;;;;;:11;:19;;;;;;;;604:10;8541:33;;;;;;;;;;:37;:138::i;:::-;8470:8;:220::i;:::-;-1:-1:-1;8708:4:0;8274:446;;;;;:::o;13745:92::-;1903:6;;-1:-1:-1;;;;;1903:6:0;604:10;1903:22;1895:67;;;;-1:-1:-1;;;1895:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13809:12:0::1;13824:5;13809:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;13809:20:0::1;::::0;;13745:92::o;18199:101::-;1903:6;;-1:-1:-1;;;;;1903:6:0;604:10;1903:22;1895:67;;;;-1:-1:-1;;;1895:67:0;;;;;;;:::i;:::-;18266:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;18266:26:0::1;-1:-1:-1::0;;;;18266:26:0;;::::1;::::0;;;::::1;::::0;;18199:101::o;13323:235::-;13389:19;;-1:-1:-1;;;;;13389:19:0;604:10;-1:-1:-1;;;;;13373:35:0;;:72;;;-1:-1:-1;13428:17:0;;-1:-1:-1;;;;;13428:17:0;604:10;-1:-1:-1;;;;;13412:33:0;;13373:72;13365:81;;;;;;13486:21;13518:32;13486:21;13518:12;:32::i;:::-;13354:204;13323:235::o;7524:138::-;-1:-1:-1;;;;;7637:16:0;;7590:7;7637:16;;;:7;:16;;;;;;7617:37;;:19;:37::i;1991:148::-;1903:6;;-1:-1:-1;;;;;1903:6:0;604:10;1903:22;1895:67;;;;-1:-1:-1;;;1895:67:0;;;;;;;:::i;:::-;2098:1:::1;2082:6:::0;;2061:40:::1;::::0;-1:-1:-1;;;;;2082:6:0;;::::1;::::0;2061:40:::1;::::0;2098:1;;2061:40:::1;2129:1;2112:19:::0;;-1:-1:-1;;;;;;2112:19:0::1;::::0;;1991:148::o;18343:161::-;1903:6;;-1:-1:-1;;;;;1903:6:0;604:10;1903:22;1895:67;;;;-1:-1:-1;;;1895:67:0;;;;;;;:::i;:::-;18433:15:::1;18419:11;:29;18415:82;;;18461:12;:26:::0;18343:161::o;12931:138::-;1903:6;;-1:-1:-1;;;;;1903:6:0;604:10;1903:22;1895:67;;;;-1:-1:-1;;;1895:67:0;;;;;;;:::i;:::-;12998:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;12998:26:0::1;-1:-1:-1::0;;;;12998:26:0;;::::1;::::0;;;::::1;::::0;;13049:12:::1;13035:11;:26:::0;12931:138::o;18007:139::-;1903:6;;-1:-1:-1;;;;;1903:6:0;604:10;1903:22;1895:67;;;;-1:-1:-1;;;1895:67:0;;;;;;;:::i;:::-;18098:19:::1;:40:::0;18007:139::o;17269:685::-;1903:6;;-1:-1:-1;;;;;1903:6:0;604:10;1903:22;1895:67;;;;-1:-1:-1;;;1895:67:0;;;;;;;:::i;:::-;17450:1:::1;17433:13;:18;;17403:90;;;::::0;-1:-1:-1;;;17403:90:0;;7166:2:1;17403:90:0::1;::::0;::::1;7148:21:1::0;7205:2;7185:18;;;7178:30;7244:34;7224:18;;;7217:62;-1:-1:-1;;;7295:18:1;;;7288:35;7340:19;;17403:90:0::1;6964:401:1::0;17403:90:0::1;17547:1;17532:11;:16;;17504:82;;;::::0;-1:-1:-1;;;17504:82:0;;7572:2:1;17504:82:0::1;::::0;::::1;7554:21:1::0;7611:2;7591:18;;;7584:30;7650:34;7630:18;;;7623:62;-1:-1:-1;;;7701:18:1;;;7694:31;7742:19;;17504:82:0::1;7370:397:1::0;17504:82:0::1;17646:1;17628:14;:19;;17597:93;;;::::0;-1:-1:-1;;;17597:93:0;;7974:2:1;17597:93:0::1;::::0;::::1;7956:21:1::0;8013:2;7993:18;;;7986:30;8052:34;8032:18;;;8025:62;-1:-1:-1;;;8103:18:1;;;8096:36;8149:19;;17597:93:0::1;7772:402:1::0;17597:93:0::1;17746:1;17730:12;:17;;17701:85;;;::::0;-1:-1:-1;;;17701:85:0;;8381:2:1;17701:85:0::1;::::0;::::1;8363:21:1::0;8420:2;8400:18;;;8393:30;8459:34;8439:18;;;8432:62;-1:-1:-1;;;8510:18:1;;;8503:32;8552:19;;17701:85:0::1;8179:398:1::0;17701:85:0::1;17797:14;:30:::0;;;;17838:15:::1;:32:::0;;;;17881:12:::1;:26:::0;17918:13:::1;:28:::0;17269:685::o;7671:199::-;7776:4;7798:42;604:10;7822:9;7833:6;7798:9;:42::i;13078:236::-;13144:19;;-1:-1:-1;;;;;13144:19:0;604:10;-1:-1:-1;;;;;13128:35:0;;:72;;;-1:-1:-1;13183:17:0;;-1:-1:-1;;;;;13183:17:0;604:10;-1:-1:-1;;;;;13167:33:0;;13128:72;13120:81;;;;;;13212:23;13238:24;13256:4;13238:9;:24::i;:::-;13212:50;;13273:33;13290:15;13273:16;:33::i;18637:234::-;1903:6;;-1:-1:-1;;;;;1903:6:0;604:10;1903:22;1895:67;;;;-1:-1:-1;;;1895:67:0;;;;;;;:::i;:::-;18754:9:::1;18750:114;18769:19:::0;;::::1;18750:114;;;18844:8;18810:18;:31;18829:8;;18838:1;18829:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18810:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;18810:31:0;:42;;-1:-1:-1;;18810:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18790:3;::::1;::::0;::::1;:::i;:::-;;;;18750:114;;;;18637:234:::0;;;:::o;18513:115::-;1903:6;;-1:-1:-1;;;;;1903:6:0;604:10;1903:22;1895:67;;;;-1:-1:-1;;;1895:67:0;;;;;;;:::i;:::-;18590:14:::1;:30:::0;18513:115::o;2148:244::-;1903:6;;-1:-1:-1;;;;;1903:6:0;604:10;1903:22;1895:67;;;;-1:-1:-1;;;1895:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2237:22:0;::::1;2229:73;;;::::0;-1:-1:-1;;;2229:73:0;;8784:2:1;2229:73:0::1;::::0;::::1;8766:21:1::0;8823:2;8803:18;;;8796:30;8862:34;8842:18;;;8835:62;-1:-1:-1;;;8913:18:1;;;8906:36;8959:19;;2229:73:0::1;8582:402:1::0;2229:73:0::1;2339:6;::::0;;2318:38:::1;::::0;-1:-1:-1;;;;;2318:38:0;;::::1;::::0;2339:6;::::1;::::0;2318:38:::1;::::0;::::1;2367:6;:17:::0;;-1:-1:-1;;;;;;2367:17:0::1;-1:-1:-1::0;;;;;2367:17:0;;;::::1;::::0;;;::::1;::::0;;2148:244::o;9417:369::-;-1:-1:-1;;;;;9544:19:0;;9536:68;;;;-1:-1:-1;;;9536:68:0;;9191:2:1;9536:68:0;;;9173:21:1;9230:2;9210:18;;;9203:30;9269:34;9249:18;;;9242:62;-1:-1:-1;;;9320:18:1;;;9313:34;9364:19;;9536:68:0;8989:400:1;9536:68:0;-1:-1:-1;;;;;9623:21:0;;9615:68;;;;-1:-1:-1;;;9615:68:0;;9596:2:1;9615:68:0;;;9578:21:1;9635:2;9615:18;;;9608:30;9674:34;9654:18;;;9647:62;-1:-1:-1;;;9725:18:1;;;9718:32;9767:19;;9615:68:0;9394:398:1;9615:68:0;-1:-1:-1;;;;;9694:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9746:32;;3041:25:1;;;9746:32:0;;3014:18:1;9746:32:0;;;;;;;9417:369;;;:::o;9795:2527::-;-1:-1:-1;;;;;9917:18:0;;9909:68;;;;-1:-1:-1;;;9909:68:0;;9999:2:1;9909:68:0;;;9981:21:1;10038:2;10018:18;;;10011:30;10077:34;10057:18;;;10050:62;-1:-1:-1;;;10128:18:1;;;10121:35;10173:19;;9909:68:0;9797:401:1;9909:68:0;-1:-1:-1;;;;;9996:16:0;;9988:64;;;;-1:-1:-1;;;9988:64:0;;10405:2:1;9988:64:0;;;10387:21:1;10444:2;10424:18;;;10417:30;10483:34;10463:18;;;10456:62;-1:-1:-1;;;10534:18:1;;;10527:33;10577:19;;9988:64:0;10203:399:1;9988:64:0;10080:1;10071:6;:10;10063:64;;;;-1:-1:-1;;;10063:64:0;;10809:2:1;10063:64:0;;;10791:21:1;10848:2;10828:18;;;10821:30;10887:34;10867:18;;;10860:62;-1:-1:-1;;;10938:18:1;;;10931:39;10987:19;;10063:64:0;10607:405:1;10063:64:0;1813:7;1840:6;-1:-1:-1;;;;;10145:15:0;;;1840:6;;10145:15;;;;:32;;-1:-1:-1;1813:7:0;1840:6;-1:-1:-1;;;;;10164:13:0;;;1840:6;;10164:13;;10145:32;10141:1449;;;10235:11;;-1:-1:-1;;;10235:11:0;;;;10230:144;;1813:7;1840:6;-1:-1:-1;;;;;10275:15:0;;;1840:6;;10275:15;10267:91;;;;-1:-1:-1;;;10267:91:0;;11219:2:1;10267:91:0;;;11201:21:1;11258:2;11238:18;;;11231:30;11297:34;11277:18;;;11270:62;11368:33;11348:18;;;11341:61;11419:19;;10267:91:0;11017:427:1;10267:91:0;10409:12;;10399:6;:22;;10391:63;;;;-1:-1:-1;;;10391:63:0;;11651:2:1;10391:63:0;;;11633:21:1;11690:2;11670:18;;;11663:30;11729;11709:18;;;11702:58;11777:18;;10391:63:0;11449:352:1;10391:63:0;-1:-1:-1;;;;;10478:10:0;;;;;;:4;:10;;;;;;;;10477:11;:24;;;;-1:-1:-1;;;;;;10493:8:0;;;;;;:4;:8;;;;;;;;10492:9;10477:24;10469:72;;;;-1:-1:-1;;;10469:72:0;;12008:2:1;10469:72:0;;;11990:21:1;12047:2;12027:18;;;12020:30;12086:34;12066:18;;;12059:62;-1:-1:-1;;;12137:18:1;;;12130:33;12180:19;;10469:72:0;11806:399:1;10469:72:0;10578:11;;10562:12;:27;;:52;;;;-1:-1:-1;10601:13:0;;-1:-1:-1;;;;;10593:21:0;;;10601:13;;10593:21;10562:52;:86;;;;-1:-1:-1;10632:15:0;;-1:-1:-1;;;;;10618:30:0;;;10632:15;;10618:30;;10562:86;:109;;;;-1:-1:-1;;;;;;10652:19:0;;10666:4;10652:19;;10562:109;10559:166;;;-1:-1:-1;;;;;10694:8:0;;;;;;:4;:8;;;;;:15;;-1:-1:-1;;10694:15:0;10705:4;10694:15;;;10559:166;10752:13;;-1:-1:-1;;;;;10746:19:0;;;10752:13;;10746:19;10743:146;;10819:14;;10810:6;10794:13;10804:2;10794:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10786:87;;;;-1:-1:-1;;;10786:87:0;;12545:2:1;10786:87:0;;;12527:21:1;12584:2;12564:18;;;12557:30;12623:34;12603:18;;;12596:62;-1:-1:-1;;;12674:18:1;;;12667:33;12717:19;;10786:87:0;12343:399:1;10786:87:0;10906:28;10937:24;10955:4;10937:9;:24::i;:::-;11015:19;;11079:12;;10906:55;;-1:-1:-1;10991:43:0;;;;11055:36;;11052:124;;11148:12;;11125:35;;11052:124;11197:7;:18;;;;-1:-1:-1;11209:6:0;;-1:-1:-1;;;11209:6:0;;;;11208:7;11197:18;:43;;;;-1:-1:-1;11227:13:0;;-1:-1:-1;;;;;11219:21:0;;;11227:13;;11219:21;;11197:43;:58;;;;-1:-1:-1;11244:11:0;;-1:-1:-1;;;11244:11:0;;;;11197:58;:87;;;;-1:-1:-1;;;;;;11260:24:0;;;;;;:18;:24;;;;;;;;11259:25;11197:87;:114;;;;-1:-1:-1;;;;;;11289:22:0;;;;;;:18;:22;;;;;;;;11288:23;11197:114;11193:386;;;11332:38;11349:20;11332:16;:38::i;:::-;11418:21;11462:22;;11458:106;;11509:35;11522:21;11509:12;:35::i;:::-;11313:266;11193:386;10179:1411;;10141:1449;-1:-1:-1;;;;;11668:24:0;;11603:12;11668:24;;;:18;:24;;;;;;11618:4;;11668:24;;;:50;;-1:-1:-1;;;;;;11696:22:0;;;;;;:18;:22;;;;;;;;11668:50;11667:102;;;-1:-1:-1;11732:13:0;;-1:-1:-1;;;;;11724:21:0;;;11732:13;;11724:21;;;;:44;;-1:-1:-1;11755:13:0;;-1:-1:-1;;;;;11749:19:0;;;11755:13;;11749:19;;11724:44;11663:597;;;-1:-1:-1;11796:5:0;11663:597;;;11880:13;;-1:-1:-1;;;;;11872:21:0;;;11880:13;;11872:21;:55;;;;-1:-1:-1;11911:15:0;;-1:-1:-1;;;;;11897:30:0;;;11911:15;;11897:30;;11872:55;11869:162;;;11960:14;;11948:9;:26;12003:12;;11993:7;:22;11869:162;12091:13;;-1:-1:-1;;;;;12085:19:0;;;12091:13;;12085:19;:55;;;;-1:-1:-1;12124:15:0;;-1:-1:-1;;;;;12108:32:0;;;12124:15;;12108:32;;12085:55;12081:165;;;12173:15;;12161:9;:27;12217:13;;12207:7;:23;12081:165;12273:41;12288:4;12294:2;12298:6;12306:7;12273:14;:41::i;2760:224::-;2880:7;2916:12;2908:6;;;;2900:29;;;;-1:-1:-1;;;2900:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2940:9:0;2952:5;2956:1;2952;:5;:::i;:::-;2940:17;2760:224;-1:-1:-1;;;;;2760:224:0:o;12823:99::-;12880:17;;:34;;-1:-1:-1;;;;;12880:17:0;;;;:34;;;;;12907:6;;12880:17;:34;:17;:34;12907:6;12880:17;:34;;;;;;;;;;;;;;;;;;;8729:323;8824:7;8882;;8871;:18;;8849:110;;;;-1:-1:-1;;;8849:110:0;;13079:2:1;8849:110:0;;;13061:21:1;13118:2;13098:18;;;13091:30;13157:34;13137:18;;;13130:62;-1:-1:-1;;;13208:18:1;;;13201:40;13258:19;;8849:110:0;12877:406:1;8849:110:0;8970:19;8992:10;:8;:10::i;:::-;8970:32;-1:-1:-1;9020:24:0;:7;8970:32;9020:11;:24::i;:::-;9013:31;8729:323;-1:-1:-1;;;8729:323:0:o;12331:483::-;6424:6;:13;;-1:-1:-1;;;;6424:13:0;-1:-1:-1;;;6424:13:0;;;12433:16:::1;::::0;;12447:1:::1;12433:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12433:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12433:16:0::1;12409:40;;12478:4;12460;12465:1;12460:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12460:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12504:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12504:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12460:7;;12504:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12494:4;12499:1;12494:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12494:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12569:15:::1;::::0;12537:62:::1;::::0;12554:4:::1;::::0;12569:15:::1;12587:11:::0;12537:8:::1;:62::i;:::-;12610:15;::::0;:196:::1;::::0;-1:-1:-1;;;12610:196:0;;-1:-1:-1;;;;;12610:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12691:11;;12610:15:::1;::::0;12733:4;;12760::::1;::::0;12780:15:::1;::::0;12610:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6460:6:0;:14;;-1:-1:-1;;;;6460:14:0;;;-1:-1:-1;;;;12331:483:0:o;13846:282::-;14002:7;13997:28;;14011:14;:12;:14::i;:::-;14036:44;14054:6;14062:9;14073:6;14036:17;:44::i;:::-;14096:7;14091:29;;14105:15;9347:17;;9335:9;:29;9385:15;;9375:7;:25;9291:117;16824:167;16866:7;16887:15;16904;16923:19;:17;:19::i;:::-;16886:56;;-1:-1:-1;16886:56:0;-1:-1:-1;16963:20:0;16886:56;;16963:11;:20::i;:::-;16956:27;;;;16824:167;:::o;3248:132::-;3306:7;3333:39;3337:1;3340;3333:39;;;;;;;;;;;;;;;;;:3;:39::i;9061:221::-;9108:9;;:14;:30;;;;-1:-1:-1;9126:7:0;;:12;9108:30;9104:43;;;9061:221::o;9104:43::-;9180:9;;;9160:17;:29;9218:7;;;9200:15;:25;-1:-1:-1;9239:13:0;;;;9263:11;9061:221::o;14137:610::-;14284:15;14314:23;14352:12;14379:23;14417:12;14444:13;14471:19;14482:7;14471:10;:19::i;:::-;-1:-1:-1;;;;;14519:15:0;;;;;;:7;:15;;;;;;14269:221;;-1:-1:-1;14269:221:0;;-1:-1:-1;14269:221:0;;-1:-1:-1;14269:221:0;-1:-1:-1;14269:221:0;-1:-1:-1;14269:221:0;-1:-1:-1;14519:28:0;;14269:221;14519:19;:28::i;:::-;-1:-1:-1;;;;;14501:15:0;;;;;;;:7;:15;;;;;;:46;;;;14579:18;;;;;;;:39;;14602:15;14579:22;:39::i;:::-;-1:-1:-1;;;;;14558:18:0;;;;;;:7;:18;;;;;:60;14629:16;14639:5;14629:9;:16::i;:::-;14656:23;14668:4;14674;14656:11;:23::i;:::-;14712:9;-1:-1:-1;;;;;14695:44:0;14704:6;-1:-1:-1;;;;;14695:44:0;;14723:15;14695:44;;;;3041:25:1;;3029:2;3014:18;;2895:177;14695:44:0;;;;;;;;14258:489;;;;;;14137:610;;;:::o;17000:260::-;17098:7;;17051;;;;5082:18;17166:20;17098:7;5082:18;17166:11;:20::i;:::-;17156:7;:30;17152:61;;;-1:-1:-1;;17196:7:0;;;5082:18;;-1:-1:-1;17000:260:0;-1:-1:-1;17000:260:0:o;17152:61::-;17235:7;;17244;;-1:-1:-1;17000:260:0;-1:-1:-1;17000:260:0:o;3389:223::-;3509:7;3544:12;3537:5;3529:28;;;;-1:-1:-1;;;3529:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3568:9:0;3580:5;3584:1;3580;:5;:::i;15170:618::-;15270:7;15292;15314;15336;15358;15380;15416:23;15441:12;15455:13;15485:40;15497:7;15506:9;;15517:7;;15485:11;:40::i;:::-;15415:110;;;;;;15536:19;15558:10;:8;:10::i;:::-;15536:32;;15580:15;15597:23;15622:12;15651:46;15663:7;15672:4;15678:5;15685:11;15651;:46::i;:::-;15579:118;;-1:-1:-1;15579:118:0;-1:-1:-1;15579:118:0;-1:-1:-1;15751:15:0;;-1:-1:-1;15768:4:0;;-1:-1:-1;15774:5:0;;-1:-1:-1;;;;;15170:618:0;;;;;;;:::o;2615:136::-;2673:7;2700:43;2704:1;2707;2700:43;;;;;;;;;;;;;;;;;:3;:43::i;2427:179::-;2485:7;;2517:5;2521:1;2517;:5;:::i;:::-;2505:17;;2546:1;2541;:6;;2533:46;;;;-1:-1:-1;;;2533:46:0;;14953:2:1;2533:46:0;;;14935:21:1;14992:2;14972:18;;;14965:30;15031:29;15011:18;;;15004:57;15078:18;;2533:46:0;14751:351:1;14756:211:0;14809:19;14831:10;:8;:10::i;:::-;14809:32;-1:-1:-1;14852:13:0;14868:22;:5;14809:32;14868:9;:22::i;:::-;14942:4;14926:22;;;;:7;:22;;;;;;14852:38;;-1:-1:-1;14926:33:0;;14852:38;14926:26;:33::i;:::-;14917:4;14901:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;14756:211:0:o;14976:147::-;15054:7;;:17;;15066:4;15054:11;:17::i;:::-;15044:7;:27;15095:10;;:20;;15110:4;15095:14;:20::i;:::-;15082:10;:33;-1:-1:-1;;14976:147:0:o;15797:472::-;15966:7;;;;16060:30;16086:3;16060:21;:7;16072:8;16060:11;:21::i;:::-;:25;;:30::i;:::-;16045:45;-1:-1:-1;16101:13:0;16117:28;16141:3;16117:19;:7;16129:6;16117:11;:19::i;:28::-;16101:44;-1:-1:-1;16156:23:0;16182:28;16101:44;16182:17;:7;16194:4;16182:11;:17::i;:::-;:21;;:28::i;:::-;16156:54;16249:4;;-1:-1:-1;16255:5:0;;-1:-1:-1;15797:472:0;;-1:-1:-1;;;;;15797:472:0:o;16278:537::-;16472:7;;;;16569:24;:7;16581:11;16569;:24::i;:::-;16551:42;-1:-1:-1;16604:12:0;16619:21;:4;16628:11;16619:8;:21::i;:::-;16604:36;-1:-1:-1;16651:13:0;16667:22;:5;16677:11;16667:9;:22::i;:::-;16651:38;-1:-1:-1;16700:23:0;16726:28;16651:38;16726:17;:7;16738:4;16726:11;:17::i;:28::-;16776:7;;;;-1:-1:-1;16802:4:0;;-1:-1:-1;16278:537:0;;-1:-1:-1;;;;;;;16278:537:0:o;2993:246::-;3051:7;3075:6;3071:47;;-1:-1:-1;3105:1:0;3098:8;;3071:47;3128:9;3140:5;3144:1;3140;:5;:::i;:::-;3128:17;-1:-1:-1;3173:1:0;3164:5;3168:1;3128:17;3164:5;:::i;:::-;:10;3156:56;;;;-1:-1:-1;;;3156:56:0;;15482:2:1;3156:56:0;;;15464:21:1;15521:2;15501:18;;;15494:30;15560:34;15540:18;;;15533:62;-1:-1:-1;;;15611:18:1;;;15604:31;15652:19;;3156:56:0;15280:397:1;14:127;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:131;-1:-1:-1;;;;;221:31:1;;211:42;;201:70;;267:1;264;257:12;282:134;350:20;;379:31;350:20;379:31;:::i;:::-;282:134;;;:::o;421:1121::-;505:6;536:2;579;567:9;558:7;554:23;550:32;547:52;;;595:1;592;585:12;547:52;635:9;622:23;664:18;705:2;697:6;694:14;691:34;;;721:1;718;711:12;691:34;759:6;748:9;744:22;734:32;;804:7;797:4;793:2;789:13;785:27;775:55;;826:1;823;816:12;775:55;862:2;849:16;884:2;880;877:10;874:36;;;890:18;;:::i;:::-;936:2;933:1;929:10;968:2;962:9;1031:2;1027:7;1022:2;1018;1014:11;1010:25;1002:6;998:38;1086:6;1074:10;1071:22;1066:2;1054:10;1051:18;1048:46;1045:72;;;1097:18;;:::i;:::-;1133:2;1126:22;1183:18;;;1217:15;;;;-1:-1:-1;1259:11:1;;;1255:20;;;1287:19;;;1284:39;;;1319:1;1316;1309:12;1284:39;1343:11;;;;1363:148;1379:6;1374:3;1371:15;1363:148;;;1445:23;1464:3;1445:23;:::i;:::-;1433:36;;1396:12;;;;1489;;;;1363:148;;;1530:6;421:1121;-1:-1:-1;;;;;;;;421:1121:1:o;1547:597::-;1659:4;1688:2;1717;1706:9;1699:21;1749:6;1743:13;1792:6;1787:2;1776:9;1772:18;1765:34;1817:1;1827:140;1841:6;1838:1;1835:13;1827:140;;;1936:14;;;1932:23;;1926:30;1902:17;;;1921:2;1898:26;1891:66;1856:10;;1827:140;;;1985:6;1982:1;1979:13;1976:91;;;2055:1;2050:2;2041:6;2030:9;2026:22;2022:31;2015:42;1976:91;-1:-1:-1;2128:2:1;2107:15;-1:-1:-1;;2103:29:1;2088:45;;;;2135:2;2084:54;;1547:597;-1:-1:-1;;;1547:597:1:o;2149:315::-;2217:6;2225;2278:2;2266:9;2257:7;2253:23;2249:32;2246:52;;;2294:1;2291;2284:12;2246:52;2333:9;2320:23;2352:31;2377:5;2352:31;:::i;:::-;2402:5;2454:2;2439:18;;;;2426:32;;-1:-1:-1;;;2149:315:1:o;3077:456::-;3154:6;3162;3170;3223:2;3211:9;3202:7;3198:23;3194:32;3191:52;;;3239:1;3236;3229:12;3191:52;3278:9;3265:23;3297:31;3322:5;3297:31;:::i;:::-;3347:5;-1:-1:-1;3404:2:1;3389:18;;3376:32;3417:33;3376:32;3417:33;:::i;:::-;3077:456;;3469:7;;-1:-1:-1;;;3523:2:1;3508:18;;;;3495:32;;3077:456::o;3935:247::-;3994:6;4047:2;4035:9;4026:7;4022:23;4018:32;4015:52;;;4063:1;4060;4053:12;4015:52;4102:9;4089:23;4121:31;4146:5;4121:31;:::i;4187:160::-;4252:20;;4308:13;;4301:21;4291:32;;4281:60;;4337:1;4334;4327:12;4352:180;4408:6;4461:2;4449:9;4440:7;4436:23;4432:32;4429:52;;;4477:1;4474;4467:12;4429:52;4500:26;4516:9;4500:26;:::i;4537:180::-;4596:6;4649:2;4637:9;4628:7;4624:23;4620:32;4617:52;;;4665:1;4662;4655:12;4617:52;-1:-1:-1;4688:23:1;;4537:180;-1:-1:-1;4537:180:1:o;4722:385::-;4808:6;4816;4824;4832;4885:3;4873:9;4864:7;4860:23;4856:33;4853:53;;;4902:1;4899;4892:12;4853:53;-1:-1:-1;;4925:23:1;;;4995:2;4980:18;;4967:32;;-1:-1:-1;5046:2:1;5031:18;;5018:32;;5097:2;5082:18;5069:32;;-1:-1:-1;4722:385:1;-1:-1:-1;4722:385:1:o;5112:689::-;5204:6;5212;5220;5273:2;5261:9;5252:7;5248:23;5244:32;5241:52;;;5289:1;5286;5279:12;5241:52;5329:9;5316:23;5358:18;5399:2;5391:6;5388:14;5385:34;;;5415:1;5412;5405:12;5385:34;5453:6;5442:9;5438:22;5428:32;;5498:7;5491:4;5487:2;5483:13;5479:27;5469:55;;5520:1;5517;5510:12;5469:55;5560:2;5547:16;5586:2;5578:6;5575:14;5572:34;;;5602:1;5599;5592:12;5572:34;5657:7;5650:4;5640:6;5637:1;5633:14;5629:2;5625:23;5621:34;5618:47;5615:67;;;5678:1;5675;5668:12;5615:67;5709:4;5701:13;;;;-1:-1:-1;5733:6:1;-1:-1:-1;5758:37:1;;5774:20;;;-1:-1:-1;5758:37:1;:::i;:::-;5748:47;;5112:689;;;;;:::o;5806:388::-;5874:6;5882;5935:2;5923:9;5914:7;5910:23;5906:32;5903:52;;;5951:1;5948;5941:12;5903:52;5990:9;5977:23;6009:31;6034:5;6009:31;:::i;:::-;6059:5;-1:-1:-1;6116:2:1;6101:18;;6088:32;6129:33;6088:32;6129:33;:::i;:::-;6181:7;6171:17;;;5806:388;;;;;:::o;6199:356::-;6401:2;6383:21;;;6420:18;;;6413:30;6479:34;6474:2;6459:18;;6452:62;6546:2;6531:18;;6199:356::o;6560:127::-;6621:10;6616:3;6612:20;6609:1;6602:31;6652:4;6649:1;6642:15;6676:4;6673:1;6666:15;6692:127;6753:10;6748:3;6744:20;6741:1;6734:31;6784:4;6781:1;6774:15;6808:4;6805:1;6798:15;6824:135;6863:3;-1:-1:-1;;6884:17:1;;6881:43;;;6904:18;;:::i;:::-;-1:-1:-1;6951:1:1;6940:13;;6824:135::o;12210:128::-;12250:3;12281:1;12277:6;12274:1;12271:13;12268:39;;;12287:18;;:::i;:::-;-1:-1:-1;12323:9:1;;12210:128::o;12747:125::-;12787:4;12815:1;12812;12809:8;12806:34;;;12820:18;;:::i;:::-;-1:-1:-1;12857:9:1;;12747:125::o;13288:251::-;13358:6;13411:2;13399:9;13390:7;13386:23;13382:32;13379:52;;;13427:1;13424;13417:12;13379:52;13459:9;13453:16;13478:31;13503:5;13478:31;:::i;13544:980::-;13806:4;13854:3;13843:9;13839:19;13885:6;13874:9;13867:25;13911:2;13949:6;13944:2;13933:9;13929:18;13922:34;13992:3;13987:2;13976:9;13972:18;13965:31;14016:6;14051;14045:13;14082:6;14074;14067:22;14120:3;14109:9;14105:19;14098:26;;14159:2;14151:6;14147:15;14133:29;;14180:1;14190:195;14204:6;14201:1;14198:13;14190:195;;;14269:13;;-1:-1:-1;;;;;14265:39:1;14253:52;;14360:15;;;;14325:12;;;;14301:1;14219:9;14190:195;;;-1:-1:-1;;;;;;;14441:32:1;;;;14436:2;14421:18;;14414:60;-1:-1:-1;;;14505:3:1;14490:19;14483:35;14402:3;13544:980;-1:-1:-1;;;13544:980:1:o;14529:217::-;14569:1;14595;14585:132;;14639:10;14634:3;14630:20;14627:1;14620:31;14674:4;14671:1;14664:15;14702:4;14699:1;14692:15;14585:132;-1:-1:-1;14731:9:1;;14529:217::o;15107:168::-;15147:7;15213:1;15209;15205:6;15201:14;15198:1;15195:21;15190:1;15183:9;15176:17;15172:45;15169:71;;;15220:18;;:::i;:::-;-1:-1:-1;15260:9:1;;15107:168::o
Swarm Source
ipfs://8195ccc2313e7301ea110c310678a1f5644f0050accec8ca684c66157f2ba1f9
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
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.