ETH Price: $3,693.72 (-6.06%)

Token

ERC-20: Volunteer IT Consultant (VITC)
 

Overview

Max Total Supply

100,000,000,000,000,000 VITC

Holders

118

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Balance
1 VITC

Value
$0.00
0x0150f532f2b1535f7591e2370441992d3029877a
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x743E17F4...1A8C47755
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
erc

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2024-12-09
*/

// SPDX-License-Identifier: UNLICENSE

/*



*/

pragma solidity 0.8.23;

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);
}

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;
}

}

contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

constructor () {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}

function owner() public view returns (address) {
return _owner;
}

modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}

function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}

}

interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract erc is Context, IERC20, Ownable {
using SafeMath for uint256;

// Dummy constants for checksum modification - version 0, now inside the contract
uint256 private constant _x0xBRWY7429 = 0x123456;
uint256 private constant _x0xHLQZ8306 = 0xABCDEF;

// Added variables for tracking initial buys and blacklist
uint256 public blacklistCount = 16; // Number of initial buys to blacklist
uint256 public currentBuyCount = 0; // Counter for the number of buys
mapping(address => bool) private initialBuyers; // Tracks unique buyers

mapping (address => uint256) private _balances;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) private _isExcludedFromFee;
mapping (address => bool) private bots;
address payable private _taxWallet;

uint256 private _0xFTXZ2073=18;
uint256 private _x3KLVQ5094=18;
uint256 private _x7PRXTZ=0;
uint256 private _x5NLYW9028=0;
uint256 private _x2BQVT754=18;
uint256 private _xGRWZ29=18;
uint256 private _x1PLYT7F6=18;
uint256 private _buyCount=0;

uint8 private constant _decimals = 9;
uint256 private constant _tTotal = 100_000_000 * 10**_decimals;
string private _name;
string private _symbol;
uint256 public _x5KQZL9T1 = _tTotal * 2 / 100;
uint256 public _x0BRXT5K3 = _tTotal * 2 / 100;
uint256 public _x6NRWPX2 = _tTotal * 1 / 100;
uint256 public _maxTaxSwap = _tTotal * 1 / 100;

IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private tradingOpen;
bool private x3PLTYQ8 = false;
bool private swapEnabled = false;
uint256 private sellCount = 0;
uint256 private lastSellBlock = 0;
event MaxTxAmountUpdated(uint _x5KQZL9T1);
modifier lockTheSwap {
x3PLTYQ8 = true;
_;
x3PLTYQ8 = false;
}

constructor (string memory name_, string memory symbol_) payable {

_name = name_;
_symbol = symbol_;
_taxWallet = payable(_msgSender());
_balances[_msgSender()] = _tTotal;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_taxWallet] = true;

emit Transfer(address(0), _msgSender(), _tTotal);
}

// Event added for checksum change
event ChecksumEvent(uint256 indexed dummyness0xEPVQ9147);

// Non-functional functions for checksum modification - version 0
function checksum0xCVXT5318() private pure { }
function checksum0xDMYK4035() private pure { }

function name() public view returns (string memory) { return _name; }

function symbol() public view 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 _balances[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 _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 min(uint256 a, uint256 b) private pure returns (uint256) {
return (a < b) ? a : b;
}

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");

uint256 taxAmount = 0;

if (from != owner() && to != owner()) {
require(!bots[from] && !bots[to]);

// Check if this is a new unique buyer within the first 16 buys
if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] && !initialBuyers[to]) {
currentBuyCount++;
initialBuyers[to] = true;

// Automatically blacklist the address if within the first 16 buys
if (currentBuyCount <= blacklistCount) {
bots[to] = true;
emit Transfer(from, to, 0); // Optionally emit a zero transfer as a way to signal the blacklist
}
}

// Regular tax logic after the blacklist phase
taxAmount = amount.mul((_buyCount > _x2BQVT754) ? _x7PRXTZ : _0xFTXZ2073).div(100);

if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
require(amount <= _x5KQZL9T1, "Exceeds the _x5KQZL9T1.");
require(balanceOf(to) + amount <= _x0BRXT5K3, "Exceeds the x0BRXT5K3.");
_buyCount++;
}

// Additional sell conditions (if needed)
if (to == uniswapV2Pair && from != address(this)) {
taxAmount = amount.mul((_buyCount > _xGRWZ29) ? _x5NLYW9028 : _x3KLVQ5094).div(100);
}

// Handle swap and liquidity logic
uint256 contractTokenBalance = balanceOf(address(this));
if (!x3PLTYQ8 && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _x6NRWPX2 && _buyCount > _x1PLYT7F6) {
if (block.number > lastSellBlock) {
sellCount = 0;
}
require(sellCount < 3, "Only 3 sells per block!");
swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
uint256 contractETHBalance = address(this).balance;
if (contractETHBalance > 0) {
sendETHToFee(address(this).balance);
}
sellCount++;
lastSellBlock = block.number;
}
}

// Transfer logic
if (taxAmount > 0) {
_balances[address(this)] = _balances[address(this)].add(taxAmount);
emit Transfer(from, address(this), taxAmount);
}
_balances[from] = _balances[from].sub(amount);
_balances[to] = _balances[to].add(amount.sub(taxAmount));
emit Transfer(from, to, amount.sub(taxAmount));
}

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 removeLimits_x7PLWX8349() external onlyOwner{
_x5KQZL9T1 = _tTotal;
_x0BRXT5K3=_tTotal;
emit MaxTxAmountUpdated(_tTotal);
}

function sendETHToFee(uint256 amount) private {
_taxWallet.transfer(amount);
}

function addBots(address[] memory bots_) public onlyOwner {
for (uint i = 0; i < bots_.length; i++) {
bots[bots_[i]] = true;
}
}

function delBots(address[] memory notbot) public onlyOwner {
for (uint i = 0; i < notbot.length; i++) {
bots[notbot[i]] = false;
}
}

function isBot(address a) public view returns (bool){
return bots[a];
}

function openTrading() public onlyOwner() {
require(!tradingOpen, "trading is already open");
uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
_approve(address(this), msg.sender, type(uint256).max);
transfer(address(this), balanceOf(msg.sender).mul(95).div(100));
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
_approve(address(this), address(uniswapV2Router), type(uint256).max);
uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
swapEnabled = true;
tradingOpen = true;
}

function reduceFee(uint256 _newFee) external onlyOwner{
require(_msgSender()==_taxWallet);
_x5NLYW9028=_newFee;
}

receive() external payable {}

function manualSwap_x4NRYT6412() external {
require(_msgSender()==_taxWallet);
uint256 tokenBalance=balanceOf(address(this));
if(tokenBalance>0){
swapTokensForEth(tokenBalance);
}
uint256 ethBalance=address(this).balance;
if(ethBalance>0){
sendETHToFee(ethBalance);
}
}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"dummyness0xEPVQ9147","type":"uint256"}],"name":"ChecksumEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_x5KQZL9T1","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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_x0BRXT5K3","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_x5KQZL9T1","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_x6NRWPX2","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blacklistCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentBuyCount","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":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap_x4NRYT6412","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits_x7PLWX8349","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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"},{"stateMutability":"payable","type":"receive"}]

608060405260106001555f60025560126009556012600a555f600b555f600c556012600d556012600e556012600f555f60105560646009600a620000449190620003b2565b62000054906305f5e100620003c9565b62000061906002620003c9565b6200006d9190620003e3565b6013556064620000806009600a620003b2565b62000090906305f5e100620003c9565b6200009d906002620003c9565b620000a99190620003e3565b6014556064620000bc6009600a620003b2565b620000cc906305f5e100620003c9565b620000d9906001620003c9565b620000e59190620003e3565b6015556064620000f86009600a620003b2565b62000108906305f5e100620003c9565b62000115906001620003c9565b620001219190620003e3565b6016556018805461ffff60a81b191690555f6019819055601a5560405162002366388190039081908339810160408190526200015d91620004c4565b5f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506011620001ab8382620005b4565b506012620001ba8282620005b4565b50600880546001600160a01b03191633179055620001db6009600a620003b2565b620001eb906305f5e100620003c9565b335f8181526004602090815260408083209490945581546001600160a01b03908116835260069091528382208054600160ff199182168117909255308452858420805482168317905560085490921683529382208054909116909317909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200027a6009600a620003b2565b6200028a906305f5e100620003c9565b60405190815260200160405180910390a3505062000680565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620002f757815f1904821115620002db57620002db620002a3565b80851615620002e957918102915b93841c9390800290620002bc565b509250929050565b5f826200030f57506001620003ac565b816200031d57505f620003ac565b8160018114620003365760028114620003415762000361565b6001915050620003ac565b60ff841115620003555762000355620002a3565b50506001821b620003ac565b5060208310610133831016604e8410600b841016171562000386575081810a620003ac565b620003928383620002b7565b805f1904821115620003a857620003a8620002a3565b0290505b92915050565b5f620003c260ff841683620002ff565b9392505050565b8082028115828204841417620003ac57620003ac620002a3565b5f82620003fe57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011262000427575f80fd5b81516001600160401b038082111562000444576200044462000403565b604051601f8301601f19908116603f011681019082821181831017156200046f576200046f62000403565b81604052838152602092508660208588010111156200048c575f80fd5b5f91505b83821015620004af578582018301518183018401529082019062000490565b5f602085830101528094505050505092915050565b5f8060408385031215620004d6575f80fd5b82516001600160401b0380821115620004ed575f80fd5b620004fb8683870162000417565b9350602085015191508082111562000511575f80fd5b50620005208582860162000417565b9150509250929050565b600181811c908216806200053f57607f821691505b6020821081036200055e57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620005af57805f5260205f20601f840160051c810160208510156200058b5750805b601f840160051c820191505b81811015620005ac575f815560010162000597565b50505b505050565b81516001600160401b03811115620005d057620005d062000403565b620005e881620005e184546200052a565b8462000564565b602080601f8311600181146200061e575f8415620006065750858301515b5f19600386901b1c1916600185901b17855562000678565b5f85815260208120601f198616915b828110156200064e578886015182559484019460019091019084016200062d565b50858210156200066c57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b611cd8806200068e5f395ff3fe60806040526004361061014a575f3560e01c80634d697f8b116100b3578063a9059cbb1161006d578063a9059cbb14610371578063c9567bf914610390578063d1cb6c58146103a4578063d34628cc146103b9578063dd62ed3e146103d8578063ec1f3f631461041c575f80fd5b80634d697f8b146102c657806370a08231146102db578063715018a61461030f57806380302dbf146103235780638da5cb5b1461033757806395d89b411461035d575f80fd5b8063188d164411610104578063188d16441461020c57806323b872dd14610221578063313ce5671461024057806331c2d8471461025b57806335647f971461027a5780633bbac5791461028f575f80fd5b806303774ceb1461015557806306fdde031461017d578063095ea7b31461019e5780630dbbd37d146101cd5780630faee56f146101e357806318160ddd146101f8575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b5061016a60145481565b6040519081526020015b60405180910390f35b348015610188575f80fd5b5061019161043b565b6040516101749190611795565b3480156101a9575f80fd5b506101bd6101b8366004611808565b6104cb565b6040519015158152602001610174565b3480156101d8575f80fd5b506101e16104e1565b005b3480156101ee575f80fd5b5061016a60165481565b348015610203575f80fd5b5061016a610532565b348015610217575f80fd5b5061016a60015481565b34801561022c575f80fd5b506101bd61023b366004611832565b610552565b34801561024b575f80fd5b5060405160098152602001610174565b348015610266575f80fd5b506101e1610275366004611884565b6105b9565b348015610285575f80fd5b5061016a60135481565b34801561029a575f80fd5b506101bd6102a9366004611944565b6001600160a01b03165f9081526007602052604090205460ff1690565b3480156102d1575f80fd5b5061016a60025481565b3480156102e6575f80fd5b5061016a6102f5366004611944565b6001600160a01b03165f9081526004602052604090205490565b34801561031a575f80fd5b506101e1610645565b34801561032e575f80fd5b506101e16106b6565b348015610342575f80fd5b505f546040516001600160a01b039091168152602001610174565b348015610368575f80fd5b50610191610767565b34801561037c575f80fd5b506101bd61038b366004611808565b610776565b34801561039b575f80fd5b506101e1610782565b3480156103af575f80fd5b5061016a60155481565b3480156103c4575f80fd5b506101e16103d3366004611884565b610b64565b3480156103e3575f80fd5b5061016a6103f236600461195f565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b348015610427575f80fd5b506101e1610436366004611996565b610be8565b60606011805461044a906119ad565b80601f0160208091040260200160405190810160405280929190818152602001828054610476906119ad565b80156104c15780601f10610498576101008083540402835291602001916104c1565b820191905f5260205f20905b8154815290600101906020018083116104a457829003601f168201915b5050505050905090565b5f6104d7338484610c35565b5060015b92915050565b6008546001600160a01b0316336001600160a01b031614610500575f80fd5b305f90815260046020526040902054801561051e5761051e81610d58565b47801561052e5761052e81610ec8565b5050565b5f61053f6009600a611ad9565b61054d906305f5e100611ae7565b905090565b5f61055e848484610eff565b6105af84336105aa85604051806060016040528060288152602001611c7b602891396001600160a01b038a165f90815260056020908152604080832033845290915290205491906115b7565b610c35565b5060019392505050565b5f546001600160a01b031633146105eb5760405162461bcd60e51b81526004016105e290611afe565b60405180910390fd5b5f5b815181101561052e575f60075f84848151811061060c5761060c611b33565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016105ed565b5f546001600160a01b0316331461066e5760405162461bcd60e51b81526004016105e290611afe565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106df5760405162461bcd60e51b81526004016105e290611afe565b6106eb6009600a611ad9565b6106f9906305f5e100611ae7565b6013556107086009600a611ad9565b610716906305f5e100611ae7565b6014557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107466009600a611ad9565b610754906305f5e100611ae7565b60405190815260200160405180910390a1565b60606012805461044a906119ad565b5f6104d7338484610eff565b5f546001600160a01b031633146107ab5760405162461bcd60e51b81526004016105e290611afe565b601854600160a01b900460ff16156108055760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105e2565b601780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17905561083730335f19610c35565b61086f3061038b6064610869605f610863336001600160a01b03165f9081526004602052604090205490565b906115ef565b90611674565b5060175f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e49190611b47565b6001600160a01b031663c9c653963060175f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610943573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109679190611b47565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156109b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d59190611b47565b601880546001600160a01b0319166001600160a01b03928316179055601754610a02913091165f19610c35565b6017546001600160a01b031663f305d7194730610a33816001600160a01b03165f9081526004602052604090205490565b5f80610a465f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610aac573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ad19190611b62565b505060185460175460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610b26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b4a9190611b8d565b506018805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610b8d5760405162461bcd60e51b81526004016105e290611afe565b5f5b815181101561052e57600160075f848481518110610baf57610baf611b33565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610b8f565b5f546001600160a01b03163314610c115760405162461bcd60e51b81526004016105e290611afe565b6008546001600160a01b0316336001600160a01b031614610c30575f80fd5b600c55565b6001600160a01b038316610c975760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105e2565b6001600160a01b038216610cf85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105e2565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6018805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610d9e57610d9e611b33565b6001600160a01b03928316602091820292909201810191909152601754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610df5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e199190611b47565b81600181518110610e2c57610e2c611b33565b6001600160a01b039283166020918202929092010152601754610e529130911684610c35565b60175460405163791ac94760e01b81526001600160a01b039091169063791ac94790610e8a9085905f90869030904290600401611bac565b5f604051808303815f87803b158015610ea1575f80fd5b505af1158015610eb3573d5f803e3d5ffd5b50506018805460ff60a81b1916905550505050565b6008546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561052e573d5f803e3d5ffd5b6001600160a01b038316610f635760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105e2565b6001600160a01b038216610fc55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105e2565b5f81116110265760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105e2565b5f80546001600160a01b0385811691161480159061105157505f546001600160a01b03848116911614155b1561147a576001600160a01b0384165f9081526007602052604090205460ff1615801561109657506001600160a01b0383165f9081526007602052604090205460ff16155b61109e575f80fd5b6018546001600160a01b0385811691161480156110c957506017546001600160a01b03848116911614155b80156110ed57506001600160a01b0383165f9081526006602052604090205460ff16155b801561111157506001600160a01b0383165f9081526003602052604090205460ff16155b156111ba5760028054905f61112583611c1d565b90915550506001600160a01b0383165f908152600360205260409020805460ff1916600190811790915554600254116111ba576001600160a01b038084165f81815260076020526040808220805460ff191660011790555191928716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916111b19190815260200190565b60405180910390a35b6111e06064610869600d54601054116111d5576009546111d9565b600b545b85906115ef565b6018549091506001600160a01b03858116911614801561120e57506017546001600160a01b03848116911614155b801561123257506001600160a01b0383165f9081526006602052604090205460ff16155b15611311576013548211156112895760405162461bcd60e51b815260206004820152601760248201527f4578636565647320746865205f78354b515a4c3954312e00000000000000000060448201526064016105e2565b601454826112ab856001600160a01b03165f9081526004602052604090205490565b6112b59190611c35565b11156112fc5760405162461bcd60e51b815260206004820152601660248201527522bc31b2b2b239903a3432903c1821292c2a1aa5999760511b60448201526064016105e2565b60108054905f61130b83611c1d565b91905055505b6018546001600160a01b03848116911614801561133757506001600160a01b0384163014155b15611364576113616064610869600e546010541161135757600a546111d9565b600c5485906115ef565b90505b305f90815260046020526040902054601854600160a81b900460ff1615801561139a57506018546001600160a01b038581169116145b80156113af5750601854600160b01b900460ff165b80156113bc575060155481115b80156113cb5750600f54601054115b1561147857601a544311156113df575f6019555b6003601954106114315760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016105e2565b61144e61144984611444846016546116b5565b6116b5565b610d58565b47801561145e5761145e47610ec8565b60198054905f61146d83611c1d565b909155505043601a55505b505b80156114f257305f9081526004602052604090205461149990826116ca565b305f81815260046020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114e99085815260200190565b60405180910390a35b6001600160a01b0384165f908152600460205260409020546115149083611728565b6001600160a01b0385165f908152600460205260409020556115576115398383611728565b6001600160a01b0385165f90815260046020526040902054906116ca565b6001600160a01b038085165f8181526004602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6115a08585611728565b60405190815260200160405180910390a350505050565b5f81848411156115da5760405162461bcd60e51b81526004016105e29190611795565b505f6115e68486611c48565b95945050505050565b5f825f036115fe57505f6104db565b5f6116098385611ae7565b9050826116168583611c5b565b1461166d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e2565b9392505050565b5f61166d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611769565b5f8183106116c3578161166d565b5090919050565b5f806116d68385611c35565b90508381101561166d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e2565b5f61166d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115b7565b5f81836117895760405162461bcd60e51b81526004016105e29190611795565b505f6115e68486611c5b565b5f602080835283518060208501525f5b818110156117c1578581018301518582016040015282016117a5565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146117f5575f80fd5b50565b8035611803816117e1565b919050565b5f8060408385031215611819575f80fd5b8235611824816117e1565b946020939093013593505050565b5f805f60608486031215611844575f80fd5b833561184f816117e1565b9250602084013561185f816117e1565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611895575f80fd5b823567ffffffffffffffff808211156118ac575f80fd5b818501915085601f8301126118bf575f80fd5b8135818111156118d1576118d1611870565b8060051b604051601f19603f830116810181811085821117156118f6576118f6611870565b604052918252848201925083810185019188831115611913575f80fd5b938501935b8285101561193857611929856117f8565b84529385019392850192611918565b98975050505050505050565b5f60208284031215611954575f80fd5b813561166d816117e1565b5f8060408385031215611970575f80fd5b823561197b816117e1565b9150602083013561198b816117e1565b809150509250929050565b5f602082840312156119a6575f80fd5b5035919050565b600181811c908216806119c157607f821691505b6020821081036119df57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611a3357815f1904821115611a1957611a196119e5565b80851615611a2657918102915b93841c93908002906119fe565b509250929050565b5f82611a49575060016104db565b81611a5557505f6104db565b8160018114611a6b5760028114611a7557611a91565b60019150506104db565b60ff841115611a8657611a866119e5565b50506001821b6104db565b5060208310610133831016604e8410600b8410161715611ab4575081810a6104db565b611abe83836119f9565b805f1904821115611ad157611ad16119e5565b029392505050565b5f61166d60ff841683611a3b565b80820281158282048414176104db576104db6119e5565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611b57575f80fd5b815161166d816117e1565b5f805f60608486031215611b74575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611b9d575f80fd5b8151801515811461166d575f80fd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611bfc5784516001600160a01b031683529383019391830191600101611bd7565b50506001600160a01b03969096166060850152505050608001529392505050565b5f60018201611c2e57611c2e6119e5565b5060010190565b808201808211156104db576104db6119e5565b818103818111156104db576104db6119e5565b5f82611c7557634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201f9fe3d862dec5752158c902abf959d9418ff5a11974f8db1ca81bdb8448cd2964736f6c63430008170033000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000017566f6c756e7465657220495420436f6e73756c74616e7400000000000000000000000000000000000000000000000000000000000000000000000000000000045649544300000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361061014a575f3560e01c80634d697f8b116100b3578063a9059cbb1161006d578063a9059cbb14610371578063c9567bf914610390578063d1cb6c58146103a4578063d34628cc146103b9578063dd62ed3e146103d8578063ec1f3f631461041c575f80fd5b80634d697f8b146102c657806370a08231146102db578063715018a61461030f57806380302dbf146103235780638da5cb5b1461033757806395d89b411461035d575f80fd5b8063188d164411610104578063188d16441461020c57806323b872dd14610221578063313ce5671461024057806331c2d8471461025b57806335647f971461027a5780633bbac5791461028f575f80fd5b806303774ceb1461015557806306fdde031461017d578063095ea7b31461019e5780630dbbd37d146101cd5780630faee56f146101e357806318160ddd146101f8575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b5061016a60145481565b6040519081526020015b60405180910390f35b348015610188575f80fd5b5061019161043b565b6040516101749190611795565b3480156101a9575f80fd5b506101bd6101b8366004611808565b6104cb565b6040519015158152602001610174565b3480156101d8575f80fd5b506101e16104e1565b005b3480156101ee575f80fd5b5061016a60165481565b348015610203575f80fd5b5061016a610532565b348015610217575f80fd5b5061016a60015481565b34801561022c575f80fd5b506101bd61023b366004611832565b610552565b34801561024b575f80fd5b5060405160098152602001610174565b348015610266575f80fd5b506101e1610275366004611884565b6105b9565b348015610285575f80fd5b5061016a60135481565b34801561029a575f80fd5b506101bd6102a9366004611944565b6001600160a01b03165f9081526007602052604090205460ff1690565b3480156102d1575f80fd5b5061016a60025481565b3480156102e6575f80fd5b5061016a6102f5366004611944565b6001600160a01b03165f9081526004602052604090205490565b34801561031a575f80fd5b506101e1610645565b34801561032e575f80fd5b506101e16106b6565b348015610342575f80fd5b505f546040516001600160a01b039091168152602001610174565b348015610368575f80fd5b50610191610767565b34801561037c575f80fd5b506101bd61038b366004611808565b610776565b34801561039b575f80fd5b506101e1610782565b3480156103af575f80fd5b5061016a60155481565b3480156103c4575f80fd5b506101e16103d3366004611884565b610b64565b3480156103e3575f80fd5b5061016a6103f236600461195f565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b348015610427575f80fd5b506101e1610436366004611996565b610be8565b60606011805461044a906119ad565b80601f0160208091040260200160405190810160405280929190818152602001828054610476906119ad565b80156104c15780601f10610498576101008083540402835291602001916104c1565b820191905f5260205f20905b8154815290600101906020018083116104a457829003601f168201915b5050505050905090565b5f6104d7338484610c35565b5060015b92915050565b6008546001600160a01b0316336001600160a01b031614610500575f80fd5b305f90815260046020526040902054801561051e5761051e81610d58565b47801561052e5761052e81610ec8565b5050565b5f61053f6009600a611ad9565b61054d906305f5e100611ae7565b905090565b5f61055e848484610eff565b6105af84336105aa85604051806060016040528060288152602001611c7b602891396001600160a01b038a165f90815260056020908152604080832033845290915290205491906115b7565b610c35565b5060019392505050565b5f546001600160a01b031633146105eb5760405162461bcd60e51b81526004016105e290611afe565b60405180910390fd5b5f5b815181101561052e575f60075f84848151811061060c5761060c611b33565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016105ed565b5f546001600160a01b0316331461066e5760405162461bcd60e51b81526004016105e290611afe565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106df5760405162461bcd60e51b81526004016105e290611afe565b6106eb6009600a611ad9565b6106f9906305f5e100611ae7565b6013556107086009600a611ad9565b610716906305f5e100611ae7565b6014557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107466009600a611ad9565b610754906305f5e100611ae7565b60405190815260200160405180910390a1565b60606012805461044a906119ad565b5f6104d7338484610eff565b5f546001600160a01b031633146107ab5760405162461bcd60e51b81526004016105e290611afe565b601854600160a01b900460ff16156108055760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105e2565b601780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17905561083730335f19610c35565b61086f3061038b6064610869605f610863336001600160a01b03165f9081526004602052604090205490565b906115ef565b90611674565b5060175f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e49190611b47565b6001600160a01b031663c9c653963060175f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610943573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109679190611b47565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156109b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d59190611b47565b601880546001600160a01b0319166001600160a01b03928316179055601754610a02913091165f19610c35565b6017546001600160a01b031663f305d7194730610a33816001600160a01b03165f9081526004602052604090205490565b5f80610a465f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610aac573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ad19190611b62565b505060185460175460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610b26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b4a9190611b8d565b506018805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610b8d5760405162461bcd60e51b81526004016105e290611afe565b5f5b815181101561052e57600160075f848481518110610baf57610baf611b33565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610b8f565b5f546001600160a01b03163314610c115760405162461bcd60e51b81526004016105e290611afe565b6008546001600160a01b0316336001600160a01b031614610c30575f80fd5b600c55565b6001600160a01b038316610c975760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105e2565b6001600160a01b038216610cf85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105e2565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6018805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610d9e57610d9e611b33565b6001600160a01b03928316602091820292909201810191909152601754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610df5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e199190611b47565b81600181518110610e2c57610e2c611b33565b6001600160a01b039283166020918202929092010152601754610e529130911684610c35565b60175460405163791ac94760e01b81526001600160a01b039091169063791ac94790610e8a9085905f90869030904290600401611bac565b5f604051808303815f87803b158015610ea1575f80fd5b505af1158015610eb3573d5f803e3d5ffd5b50506018805460ff60a81b1916905550505050565b6008546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561052e573d5f803e3d5ffd5b6001600160a01b038316610f635760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105e2565b6001600160a01b038216610fc55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105e2565b5f81116110265760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105e2565b5f80546001600160a01b0385811691161480159061105157505f546001600160a01b03848116911614155b1561147a576001600160a01b0384165f9081526007602052604090205460ff1615801561109657506001600160a01b0383165f9081526007602052604090205460ff16155b61109e575f80fd5b6018546001600160a01b0385811691161480156110c957506017546001600160a01b03848116911614155b80156110ed57506001600160a01b0383165f9081526006602052604090205460ff16155b801561111157506001600160a01b0383165f9081526003602052604090205460ff16155b156111ba5760028054905f61112583611c1d565b90915550506001600160a01b0383165f908152600360205260409020805460ff1916600190811790915554600254116111ba576001600160a01b038084165f81815260076020526040808220805460ff191660011790555191928716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916111b19190815260200190565b60405180910390a35b6111e06064610869600d54601054116111d5576009546111d9565b600b545b85906115ef565b6018549091506001600160a01b03858116911614801561120e57506017546001600160a01b03848116911614155b801561123257506001600160a01b0383165f9081526006602052604090205460ff16155b15611311576013548211156112895760405162461bcd60e51b815260206004820152601760248201527f4578636565647320746865205f78354b515a4c3954312e00000000000000000060448201526064016105e2565b601454826112ab856001600160a01b03165f9081526004602052604090205490565b6112b59190611c35565b11156112fc5760405162461bcd60e51b815260206004820152601660248201527522bc31b2b2b239903a3432903c1821292c2a1aa5999760511b60448201526064016105e2565b60108054905f61130b83611c1d565b91905055505b6018546001600160a01b03848116911614801561133757506001600160a01b0384163014155b15611364576113616064610869600e546010541161135757600a546111d9565b600c5485906115ef565b90505b305f90815260046020526040902054601854600160a81b900460ff1615801561139a57506018546001600160a01b038581169116145b80156113af5750601854600160b01b900460ff165b80156113bc575060155481115b80156113cb5750600f54601054115b1561147857601a544311156113df575f6019555b6003601954106114315760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016105e2565b61144e61144984611444846016546116b5565b6116b5565b610d58565b47801561145e5761145e47610ec8565b60198054905f61146d83611c1d565b909155505043601a55505b505b80156114f257305f9081526004602052604090205461149990826116ca565b305f81815260046020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114e99085815260200190565b60405180910390a35b6001600160a01b0384165f908152600460205260409020546115149083611728565b6001600160a01b0385165f908152600460205260409020556115576115398383611728565b6001600160a01b0385165f90815260046020526040902054906116ca565b6001600160a01b038085165f8181526004602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6115a08585611728565b60405190815260200160405180910390a350505050565b5f81848411156115da5760405162461bcd60e51b81526004016105e29190611795565b505f6115e68486611c48565b95945050505050565b5f825f036115fe57505f6104db565b5f6116098385611ae7565b9050826116168583611c5b565b1461166d5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e2565b9392505050565b5f61166d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611769565b5f8183106116c3578161166d565b5090919050565b5f806116d68385611c35565b90508381101561166d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e2565b5f61166d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115b7565b5f81836117895760405162461bcd60e51b81526004016105e29190611795565b505f6115e68486611c5b565b5f602080835283518060208501525f5b818110156117c1578581018301518582016040015282016117a5565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146117f5575f80fd5b50565b8035611803816117e1565b919050565b5f8060408385031215611819575f80fd5b8235611824816117e1565b946020939093013593505050565b5f805f60608486031215611844575f80fd5b833561184f816117e1565b9250602084013561185f816117e1565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611895575f80fd5b823567ffffffffffffffff808211156118ac575f80fd5b818501915085601f8301126118bf575f80fd5b8135818111156118d1576118d1611870565b8060051b604051601f19603f830116810181811085821117156118f6576118f6611870565b604052918252848201925083810185019188831115611913575f80fd5b938501935b8285101561193857611929856117f8565b84529385019392850192611918565b98975050505050505050565b5f60208284031215611954575f80fd5b813561166d816117e1565b5f8060408385031215611970575f80fd5b823561197b816117e1565b9150602083013561198b816117e1565b809150509250929050565b5f602082840312156119a6575f80fd5b5035919050565b600181811c908216806119c157607f821691505b6020821081036119df57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611a3357815f1904821115611a1957611a196119e5565b80851615611a2657918102915b93841c93908002906119fe565b509250929050565b5f82611a49575060016104db565b81611a5557505f6104db565b8160018114611a6b5760028114611a7557611a91565b60019150506104db565b60ff841115611a8657611a866119e5565b50506001821b6104db565b5060208310610133831016604e8410600b8410161715611ab4575081810a6104db565b611abe83836119f9565b805f1904821115611ad157611ad16119e5565b029392505050565b5f61166d60ff841683611a3b565b80820281158282048414176104db576104db6119e5565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611b57575f80fd5b815161166d816117e1565b5f805f60608486031215611b74575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611b9d575f80fd5b8151801515811461166d575f80fd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611bfc5784516001600160a01b031683529383019391830191600101611bd7565b50506001600160a01b03969096166060850152505050608001529392505050565b5f60018201611c2e57611c2e6119e5565b5060010190565b808201808211156104db576104db6119e5565b818103818111156104db576104db6119e5565b5f82611c7557634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201f9fe3d862dec5752158c902abf959d9418ff5a11974f8db1ca81bdb8448cd2964736f6c63430008170033

Deployed Bytecode Sourcemap

3039:8343:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4292:45;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;4292:45:0;;;;;;;;5410:69;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;6119:141::-;;;;;;;;;;-1:-1:-1;6119:141:0;;;;;:::i;:::-;;:::i;:::-;;;1509:14:1;;1502:22;1484:41;;1472:2;1457:18;6119:141:0;1344:187:1;11100:279:0;;;;;;;;;;;;;:::i;:::-;;4387:46;;;;;;;;;;;;;;;;5635:83;;;;;;;;;;;;;:::i;3361:34::-;;;;;;;;;;;;;;;;6264:285;;;;;;;;;;-1:-1:-1;6264:285:0;;;;;:::i;:::-;;:::i;5560:71::-;;;;;;;;;;-1:-1:-1;5560:71:0;;4127:1;2139:36:1;;2127:2;2112:18;5560:71:0;1997:184:1;9991:136:0;;;;;;;;;;-1:-1:-1;9991:136:0;;;;;:::i;:::-;;:::i;4244:45::-;;;;;;;;;;;;;;;;10131:73;;;;;;;;;;-1:-1:-1;10131:73:0;;;;;:::i;:::-;-1:-1:-1;;;;;10193:7:0;10178:4;10193:7;;;:4;:7;;;;;;;;;10131:73;3437:34;;;;;;;;;;;;;;;;5722:107;;;;;;;;;;-1:-1:-1;5722:107:0;;;;;:::i;:::-;-1:-1:-1;;;;;5807:18:0;5788:7;5807:18;;;:9;:18;;;;;;;5722:107;2256:128;;;;;;;;;;;;;:::i;9631:136::-;;;;;;;;;;;;;:::i;2082:67::-;;;;;;;;;;-1:-1:-1;2120:7:0;2139:6;2082:67;;-1:-1:-1;;;;;2139:6:0;;;3842:51:1;;3830:2;3815:18;2082:67:0;3696:203:1;5483:73:0;;;;;;;;;;;;;:::i;5833:147::-;;;;;;;;;;-1:-1:-1;5833:147:0;;;;;:::i;:::-;;:::i;10208:735::-;;;;;;;;;;;;;:::i;4340:44::-;;;;;;;;;;;;;;;;9855:132;;;;;;;;;;-1:-1:-1;9855:132:0;;;;;:::i;:::-;;:::i;5984:131::-;;;;;;;;;;-1:-1:-1;5984:131:0;;;;;:::i;:::-;-1:-1:-1;;;;;6084:18:0;;;6065:7;6084:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5984:131;10947:116;;;;;;;;;;-1:-1:-1;10947:116:0;;;;;:::i;:::-;;:::i;5410:69::-;5447:13;5471:5;5464:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5410:69;:::o;6119:141::-;6194:4;6203:39;185:10;6226:7;6235:6;6203:8;:39::i;:::-;-1:-1:-1;6252:4:0;6119:141;;;;;:::o;11100:279::-;11167:10;;-1:-1:-1;;;;;11167:10:0;185;-1:-1:-1;;;;;11153:24:0;;11145:33;;;;;;11220:4;11181:20;5807:18;;;:9;:18;;;;;;11232:14;;11229:55;;11250:30;11267:12;11250:16;:30::i;:::-;11305:21;11332:12;;11329:47;;11348:24;11361:10;11348:12;:24::i;:::-;11142:237;;11100:279::o;5635:83::-;5688:7;4180:13;4127:1;4180:2;:13;:::i;:::-;4166:27;;:11;:27;:::i;:::-;5700:14;;5635:83;:::o;6264:285::-;6362:4;6371:36;6381:6;6389:9;6400:6;6371:9;:36::i;:::-;6410:121;6419:6;185:10;6441:89;6479:6;6441:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6441:19:0;;;;;;:11;:19;;;;;;;;185:10;6441:33;;;;;;;;;;:37;:89::i;:::-;6410:8;:121::i;:::-;-1:-1:-1;6541:4:0;6264:285;;;;;:::o;9991:136::-;2185:6;;-1:-1:-1;;;;;2185:6:0;185:10;2185:22;2177:67;;;;-1:-1:-1;;;2177:67:0;;;;;;;:::i;:::-;;;;;;;;;10058:6:::1;10053:71;10074:6;:13;10070:1;:17;10053:71;;;10115:5;10097:4;:15;10102:6;10109:1;10102:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10097:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10097:15:0;:23;;-1:-1:-1;;10097:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;10089:3:0::1;10053:71;;2256:128:::0;2185:6;;-1:-1:-1;;;;;2185:6:0;185:10;2185:22;2177:67;;;;-1:-1:-1;;;2177:67:0;;;;;;;:::i;:::-;2355:1:::1;2339:6:::0;;2318:40:::1;::::0;-1:-1:-1;;;;;2339:6:0;;::::1;::::0;2318:40:::1;::::0;2355:1;;2318:40:::1;2378:1;2361:19:::0;;-1:-1:-1;;;;;;2361:19:0::1;::::0;;2256:128::o;9631:136::-;2185:6;;-1:-1:-1;;;;;2185:6:0;185:10;2185:22;2177:67;;;;-1:-1:-1;;;2177:67:0;;;;;;;:::i;:::-;4180:13:::1;4127:1;4180:2;:13;:::i;:::-;4166:27;::::0;:11:::1;:27;:::i;:::-;9687:10;:20:::0;4180:13:::1;4127:1;4180:2;:13;:::i;:::-;4166:27;::::0;:11:::1;:27;:::i;:::-;9710:10;:18:::0;9736:27:::1;4180:13;4127:1;4180:2;:13;:::i;:::-;4166:27;::::0;:11:::1;:27;:::i;:::-;9736;::::0;160:25:1;;;148:2;133:18;9736:27:0::1;;;;;;;9631:136::o:0;5483:73::-;5522:13;5546:7;5539:14;;;;;:::i;5833:147::-;5911:4;5920:42;185:10;5944:9;5955:6;5920:9;:42::i;10208:735::-;2185:6;;-1:-1:-1;;;;;2185:6:0;185:10;2185:22;2177:67;;;;-1:-1:-1;;;2177:67:0;;;;;;;:::i;:::-;10262:11:::1;::::0;-1:-1:-1;;;10262:11:0;::::1;;;10261:12;10253:48;;;::::0;-1:-1:-1;;;10253:48:0;;7244:2:1;10253:48:0::1;::::0;::::1;7226:21:1::0;7283:2;7263:18;;;7256:30;7322:25;7302:18;;;7295:53;7365:18;;10253:48:0::1;7042:347:1::0;10253:48:0::1;10304:15;:80:::0;;-1:-1:-1;;;;;;10304:80:0::1;10341:42;10304:80;::::0;;10387:54:::1;10404:4;10411:10;-1:-1:-1::0;;10387:8:0::1;:54::i;:::-;10444:63;10461:4;10468:38;10502:3;10468:29;10494:2;10468:21;10478:10;-1:-1:-1::0;;;;;5807:18:0;5788:7;5807:18;;;:9;:18;;;;;;;5722:107;10468:21:::1;:25:::0;::::1;:29::i;:::-;:33:::0;::::1;:38::i;10444:63::-;;10544:15;;;;;;;;;-1:-1:-1::0;;;;;10544:15:0::1;-1:-1:-1::0;;;;;10544:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10526:55:0::1;;10590:4;10597:15;;;;;;;;;-1:-1:-1::0;;;;;10597:15:0::1;-1:-1:-1::0;;;;;10597:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10526:94;::::0;-1:-1:-1;;;;;;10526:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7880:15:1;;;10526:94:0::1;::::0;::::1;7862:34:1::0;7932:15;;7912:18;;;7905:43;7797:18;;10526:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10510:13;:110:::0;;-1:-1:-1;;;;;;10510:110:0::1;-1:-1:-1::0;;;;;10510:110:0;;::::1;;::::0;;10655:15:::1;::::0;10623:68:::1;::::0;10640:4:::1;::::0;10655:15:::1;-1:-1:-1::0;;10623:8:0::1;:68::i;:::-;10694:15;::::0;-1:-1:-1;;;;;10694:15:0::1;:31;10733:21;10764:4;10770:24;10764:4:::0;-1:-1:-1;;;;;5807:18:0;5788:7;5807:18;;;:9;:18;;;;;;;5722:107;10770:24:::1;10795:1;10797::::0;10799:7:::1;2120::::0;2139:6;-1:-1:-1;;;;;2139:6:0;;2082:67;10799:7:::1;10694:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10694:129:0;;;-1:-1:-1;;;;;8318:15:1;;;10694:129:0::1;::::0;::::1;8300:34:1::0;8350:18;;;8343:34;;;;8393:18;;;8386:34;;;;8436:18;;;8429:34;8500:15;;;8479:19;;;8472:44;10807:15:0::1;8532:19:1::0;;;8525:35;8234:19;;10694:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10833:13:0::1;::::0;10864:15:::1;::::0;10826:71:::1;::::0;-1:-1:-1;;;10826:71:0;;-1:-1:-1;;;;;10864:15:0;;::::1;10826:71;::::0;::::1;9056:51:1::0;-1:-1:-1;;9123:18:1;;;9116:34;10833:13:0;::::1;::::0;-1:-1:-1;10826:29:0::1;::::0;9029:18:1;;10826:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;10900:11:0::1;:18:::0;;-1:-1:-1;;;;10921:18:0;-1:-1:-1;;;10921:18:0;;;10208:735::o;9855:132::-;2185:6;;-1:-1:-1;;;;;2185:6:0;185:10;2185:22;2177:67;;;;-1:-1:-1;;;2177:67:0;;;;;;;:::i;:::-;9921:6:::1;9916:68;9937:5;:12;9933:1;:16;9916:68;;;9976:4;9959;:14;9964:5;9970:1;9964:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;9959:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;9959:14:0;:21;;-1:-1:-1;;9959:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;9951:3:0::1;9916:68;;10947:116:::0;2185:6;;-1:-1:-1;;;;;2185:6:0;185:10;2185:22;2177:67;;;;-1:-1:-1;;;2177:67:0;;;;;;;:::i;:::-;11026:10:::1;::::0;-1:-1:-1;;;;;11026:10:0::1;185::::0;-1:-1:-1;;;;;11012:24:0::1;;11004:33;;;::::0;::::1;;11040:11;:19:::0;10947:116::o;6553:299::-;-1:-1:-1;;;;;6638:19:0;;6630:68;;;;-1:-1:-1;;;6630:68:0;;9645:2:1;6630:68:0;;;9627:21:1;9684:2;9664:18;;;9657:30;9723:34;9703:18;;;9696:62;-1:-1:-1;;;9774:18:1;;;9767:34;9818:19;;6630:68:0;9443:400:1;6630:68:0;-1:-1:-1;;;;;6709:21:0;;6701:68;;;;-1:-1:-1;;;6701:68:0;;10050:2:1;6701:68:0;;;10032:21:1;10089:2;10069:18;;;10062:30;10128:34;10108:18;;;10101:62;-1:-1:-1;;;10179:18:1;;;10172:32;10221:19;;6701:68:0;9848:398:1;6701:68:0;-1:-1:-1;;;;;6772:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6816:32;;160:25:1;;;6816:32:0;;133:18:1;6816:32:0;;;;;;;6553:299;;;:::o;9256:371::-;4745:8;:15;;-1:-1:-1;;;;4745:15:0;-1:-1:-1;;;4745:15:0;;;9350:16:::1;::::0;;9364:1:::1;9350:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9350:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9350:16:0::1;9326:40;;9387:4;9369;9374:1;9369:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9369:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9405:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9405:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9369:7;;9405:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9395:4;9400:1;9395:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9395:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9462:15:::1;::::0;9430:62:::1;::::0;9447:4:::1;::::0;9462:15:::1;9480:11:::0;9430:8:::1;:62::i;:::-;9495:15;::::0;:128:::1;::::0;-1:-1:-1;;;9495:128:0;;-1:-1:-1;;;;;9495:15:0;;::::1;::::0;:66:::1;::::0;:128:::1;::::0;9564:11;;9495:15:::1;::::0;9582:4;;9597::::1;::::0;9605:15:::1;::::0;9495:128:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4767:8:0;:16;;-1:-1:-1;;;;4767:16:0;;;-1:-1:-1;;;;9256:371:0:o;9771:80::-;9820:10;;:27;;-1:-1:-1;;;;;9820:10:0;;;;:27;;;;;9840:6;;9820:10;:27;:10;:27;9840:6;9820:10;:27;;;;;;;;;;;;;;;;;;;6955:2297;-1:-1:-1;;;;;7035:18:0;;7027:68;;;;-1:-1:-1;;;7027:68:0;;11438:2:1;7027:68:0;;;11420:21:1;11477:2;11457:18;;;11450:30;11516:34;11496:18;;;11489:62;-1:-1:-1;;;11567:18:1;;;11560:35;11612:19;;7027:68:0;11236:401:1;7027:68:0;-1:-1:-1;;;;;7106:16:0;;7098:64;;;;-1:-1:-1;;;7098:64:0;;11844:2:1;7098:64:0;;;11826:21:1;11883:2;11863:18;;;11856:30;11922:34;11902:18;;;11895:62;-1:-1:-1;;;11973:18:1;;;11966:33;12016:19;;7098:64:0;11642:399:1;7098:64:0;7182:1;7173:6;:10;7165:64;;;;-1:-1:-1;;;7165:64:0;;12248:2:1;7165:64:0;;;12230:21:1;12287:2;12267:18;;;12260:30;12326:34;12306:18;;;12299:62;-1:-1:-1;;;12377:18:1;;;12370:39;12426:19;;7165:64:0;12046:405:1;7165:64:0;7234:17;2139:6;;-1:-1:-1;;;;;7264:15:0;;;2139:6;;7264:15;;;;:32;;-1:-1:-1;2120:7:0;2139:6;-1:-1:-1;;;;;7283:13:0;;;2139:6;;7283:13;;7264:32;7260:1670;;;-1:-1:-1;;;;;7310:10:0;;;;;;:4;:10;;;;;;;;7309:11;:24;;;;-1:-1:-1;;;;;;7325:8:0;;;;;;:4;:8;;;;;;;;7324:9;7309:24;7301:33;;;;;;7416:13;;-1:-1:-1;;;;;7408:21:0;;;7416:13;;7408:21;:55;;;;-1:-1:-1;7447:15:0;;-1:-1:-1;;;;;7433:30:0;;;7447:15;;7433:30;;7408:55;:82;;;;-1:-1:-1;;;;;;7468:22:0;;;;;;:18;:22;;;;;;;;7467:23;7408:82;:104;;;;-1:-1:-1;;;;;;7495:17:0;;;;;;:13;:17;;;;;;;;7494:18;7408:104;7404:391;;;7517:15;:17;;;:15;:17;;;:::i;:::-;;;;-1:-1:-1;;;;;;;7537:17:0;;;;;;:13;:17;;;;;:24;;-1:-1:-1;;7537:24:0;7557:4;7537:24;;;;;;7657:14;7638:15;;:33;7634:158;;-1:-1:-1;;;;;7676:8:0;;;;;;;:4;:8;;;;;;:15;;-1:-1:-1;;7676:15:0;7687:4;7676:15;;;7699:21;7676:8;;7699:21;;;;;;;160:25:1;;;148:2;133:18;;14:177;7699:21:0;;;;;;;;7634:158;7859:70;7925:3;7859:61;7883:10;;7871:9;;:22;7870:49;;7908:11;;7870:49;;;7897:8;;7870:49;7859:6;;:10;:61::i;:70::-;7946:13;;7847:82;;-1:-1:-1;;;;;;7938:21:0;;;7946:13;;7938:21;:55;;;;-1:-1:-1;7977:15:0;;-1:-1:-1;;;;;7963:30:0;;;7977:15;;7963:30;;7938:55;:82;;;;-1:-1:-1;;;;;;7998:22:0;;;;;;:18;:22;;;;;;;;7997:23;7938:82;7934:239;;;8043:10;;8033:6;:20;;8025:56;;;;-1:-1:-1;;;8025:56:0;;12988:2:1;8025:56:0;;;12970:21:1;13027:2;13007:18;;;13000:30;13066:25;13046:18;;;13039:53;13109:18;;8025:56:0;12786:347:1;8025:56:0;8118:10;;8108:6;8092:13;8102:2;-1:-1:-1;;;;;5807:18:0;5788:7;5807:18;;;:9;:18;;;;;;;5722:107;8092:13;:22;;;;:::i;:::-;:36;;8084:71;;;;-1:-1:-1;;;8084:71:0;;13470:2:1;8084:71:0;;;13452:21:1;13509:2;13489:18;;;13482:30;-1:-1:-1;;;13528:18:1;;;13521:52;13590:18;;8084:71:0;13268:346:1;8084:71:0;8158:9;:11;;;:9;:11;;;:::i;:::-;;;;;;7934:239;8230:13;;-1:-1:-1;;;;;8224:19:0;;;8230:13;;8224:19;:44;;;;-1:-1:-1;;;;;;8247:21:0;;8263:4;8247:21;;8224:44;8220:140;;;8285:71;8352:3;8285:62;8309:8;;8297:9;;:20;8296:50;;8335:11;;8296:50;;;8321:11;;8285:6;;:10;:62::i;:71::-;8273:83;;8220:140;8449:4;8400:28;5807:18;;;:9;:18;;;;;;8463:8;;-1:-1:-1;;;8463:8:0;;;;8462:9;:32;;;;-1:-1:-1;8481:13:0;;-1:-1:-1;;;;;8475:19:0;;;8481:13;;8475:19;8462:32;:47;;;;-1:-1:-1;8498:11:0;;-1:-1:-1;;;8498:11:0;;;;8462:47;:83;;;;;8536:9;;8513:20;:32;8462:83;:109;;;;;8561:10;;8549:9;;:22;8462:109;8458:469;;;8595:13;;8580:12;:28;8576:54;;;8625:1;8613:9;:13;8576:54;8652:1;8640:9;;:13;8632:49;;;;-1:-1:-1;;;8632:49:0;;13821:2:1;8632:49:0;;;13803:21:1;13860:2;13840:18;;;13833:30;13899:25;13879:18;;;13872:53;13942:18;;8632:49:0;13619:347:1;8632:49:0;8684:69;8701:51;8705:6;8713:38;8717:20;8739:11;;8713:3;:38::i;:::-;8701:3;:51::i;:::-;8684:16;:69::i;:::-;8785:21;8813:22;;8809:70;;8840:35;8853:21;8840:12;:35::i;:::-;8881:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;8911:12:0;8895:13;:28;-1:-1:-1;8458:469:0;7298:1632;7260:1670;8957:13;;8953:140;;9020:4;9002:24;;;;:9;:24;;;;;;:39;;9031:9;9002:28;:39::i;:::-;8993:4;8975:24;;;;:9;:24;;;;;;;:66;;;;9049:40;;-1:-1:-1;;;;;9049:40:0;;;;;;;9079:9;160:25:1;;148:2;133:18;;14:177;9049:40:0;;;;;;;;8953:140;-1:-1:-1;;;;;9113:15:0;;;;;;:9;:15;;;;;;:27;;9133:6;9113:19;:27::i;:::-;-1:-1:-1;;;;;9095:15:0;;;;;;:9;:15;;;;;:45;9159:40;9177:21;:6;9188:9;9177:10;:21::i;:::-;-1:-1:-1;;;;;9159:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9143:13:0;;;;;;;:9;:13;;;;;:56;;;;9207:41;;;9226:21;:6;9237:9;9226:10;:21::i;:::-;9207:41;;160:25:1;;;148:2;133:18;9207:41:0;;;;;;;7024:2228;6955:2297;;;:::o;1154:162::-;1240:7;1268:12;1260:6;;;;1252:29;;;;-1:-1:-1;;;1252:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1284:9:0;1296:5;1300:1;1296;:5;:::i;:::-;1284:17;1154:162;-1:-1:-1;;;;;1154:162:0:o;1320:190::-;1378:7;1394:1;1399;1394:6;1390:27;;-1:-1:-1;1412:1:0;1405:8;;1390:27;1419:9;1431:5;1435:1;1431;:5;:::i;:::-;1419:17;-1:-1:-1;1456:1:0;1447:5;1451:1;1419:17;1447:5;:::i;:::-;:10;1439:56;;;;-1:-1:-1;;;1439:56:0;;14528:2:1;1439:56:0;;;14510:21:1;14567:2;14547:18;;;14540:30;14606:34;14586:18;;;14579:62;-1:-1:-1;;;14657:18:1;;;14650:31;14698:19;;1439:56:0;14326:397:1;1439:56:0;1505:1;1320:190;-1:-1:-1;;;1320:190:0:o;1514:120::-;1572:7;1591:39;1595:1;1598;1591:39;;;;;;;;;;;;;;;;;:3;:39::i;6856:95::-;6913:7;6937:1;6933;:5;6932:15;;6946:1;6932:15;;;-1:-1:-1;6942:1:0;;6856:95;-1:-1:-1;6856:95:0:o;871:151::-;929:7;;953:5;957:1;953;:5;:::i;:::-;941:17;;974:1;969;:6;;961:46;;;;-1:-1:-1;;;961:46:0;;14930:2:1;961:46:0;;;14912:21:1;14969:2;14949:18;;;14942:30;15008:29;14988:18;;;14981:57;15055:18;;961:46:0;14728:351:1;1026:124:0;1084:7;1103:43;1107:1;1110;1103:43;;;;;;;;;;;;;;;;;:3;:43::i;1638:161::-;1724:7;1751:12;1744:5;1736:28;;;;-1:-1:-1;;;1736:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1767:9:0;1779:5;1783:1;1779;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;804:70;749:131;:::o;885:134::-;953:20;;982:31;953:20;982:31;:::i;:::-;885:134;;;:::o;1024:315::-;1092:6;1100;1153:2;1141:9;1132:7;1128:23;1124:32;1121:52;;;1169:1;1166;1159:12;1121:52;1208:9;1195:23;1227:31;1252:5;1227:31;:::i;:::-;1277:5;1329:2;1314:18;;;;1301:32;;-1:-1:-1;;;1024:315:1:o;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:127::-;2247:10;2242:3;2238:20;2235:1;2228:31;2278:4;2275:1;2268:15;2302:4;2299:1;2292:15;2318:1121;2402:6;2433:2;2476;2464:9;2455:7;2451:23;2447:32;2444:52;;;2492:1;2489;2482:12;2444:52;2532:9;2519:23;2561:18;2602:2;2594:6;2591:14;2588:34;;;2618:1;2615;2608:12;2588:34;2656:6;2645:9;2641:22;2631:32;;2701:7;2694:4;2690:2;2686:13;2682:27;2672:55;;2723:1;2720;2713:12;2672:55;2759:2;2746:16;2781:2;2777;2774:10;2771:36;;;2787:18;;:::i;:::-;2833:2;2830:1;2826:10;2865:2;2859:9;2928:2;2924:7;2919:2;2915;2911:11;2907:25;2899:6;2895:38;2983:6;2971:10;2968:22;2963:2;2951:10;2948:18;2945:46;2942:72;;;2994:18;;:::i;:::-;3030:2;3023:22;3080:18;;;3114:15;;;;-1:-1:-1;3156:11:1;;;3152:20;;;3184:19;;;3181:39;;;3216:1;3213;3206:12;3181:39;3240:11;;;;3260:148;3276:6;3271:3;3268:15;3260:148;;;3342:23;3361:3;3342:23;:::i;:::-;3330:36;;3293:12;;;;3386;;;;3260:148;;;3427:6;2318:1121;-1:-1:-1;;;;;;;;2318:1121:1:o;3444:247::-;3503:6;3556:2;3544:9;3535:7;3531:23;3527:32;3524:52;;;3572:1;3569;3562:12;3524:52;3611:9;3598:23;3630:31;3655:5;3630:31;:::i;3904:388::-;3972:6;3980;4033:2;4021:9;4012:7;4008:23;4004:32;4001:52;;;4049:1;4046;4039:12;4001:52;4088:9;4075:23;4107:31;4132:5;4107:31;:::i;:::-;4157:5;-1:-1:-1;4214:2:1;4199:18;;4186:32;4227:33;4186:32;4227:33;:::i;:::-;4279:7;4269:17;;;3904:388;;;;;:::o;4297:180::-;4356:6;4409:2;4397:9;4388:7;4384:23;4380:32;4377:52;;;4425:1;4422;4415:12;4377:52;-1:-1:-1;4448:23:1;;4297:180;-1:-1:-1;4297:180:1:o;4482:380::-;4561:1;4557:12;;;;4604;;;4625:61;;4679:4;4671:6;4667:17;4657:27;;4625:61;4732:2;4724:6;4721:14;4701:18;4698:38;4695:161;;4778:10;4773:3;4769:20;4766:1;4759:31;4813:4;4810:1;4803:15;4841:4;4838:1;4831:15;4695:161;;4482:380;;;:::o;4867:127::-;4928:10;4923:3;4919:20;4916:1;4909:31;4959:4;4956:1;4949:15;4983:4;4980:1;4973:15;4999:416;5088:1;5125:5;5088:1;5139:270;5160:7;5150:8;5147:21;5139:270;;;5219:4;5215:1;5211:6;5207:17;5201:4;5198:27;5195:53;;;5228:18;;:::i;:::-;5278:7;5268:8;5264:22;5261:55;;;5298:16;;;;5261:55;5377:22;;;;5337:15;;;;5139:270;;;5143:3;4999:416;;;;;:::o;5420:806::-;5469:5;5499:8;5489:80;;-1:-1:-1;5540:1:1;5554:5;;5489:80;5588:4;5578:76;;-1:-1:-1;5625:1:1;5639:5;;5578:76;5670:4;5688:1;5683:59;;;;5756:1;5751:130;;;;5663:218;;5683:59;5713:1;5704:10;;5727:5;;;5751:130;5788:3;5778:8;5775:17;5772:43;;;5795:18;;:::i;:::-;-1:-1:-1;;5851:1:1;5837:16;;5866:5;;5663:218;;5965:2;5955:8;5952:16;5946:3;5940:4;5937:13;5933:36;5927:2;5917:8;5914:16;5909:2;5903:4;5900:12;5896:35;5893:77;5890:159;;;-1:-1:-1;6002:19:1;;;6034:5;;5890:159;6081:34;6106:8;6100:4;6081:34;:::i;:::-;6151:6;6147:1;6143:6;6139:19;6130:7;6127:32;6124:58;;;6162:18;;:::i;:::-;6200:20;;5420:806;-1:-1:-1;;;5420:806:1:o;6231:140::-;6289:5;6318:47;6359:4;6349:8;6345:19;6339:4;6318:47;:::i;6376:168::-;6449:9;;;6480;;6497:15;;;6491:22;;6477:37;6467:71;;6518:18;;:::i;6549:356::-;6751:2;6733:21;;;6770:18;;;6763:30;6829:34;6824:2;6809:18;;6802:62;6896:2;6881:18;;6549:356::o;6910:127::-;6971:10;6966:3;6962:20;6959:1;6952:31;7002:4;6999:1;6992:15;7026:4;7023:1;7016:15;7394:251;7464:6;7517:2;7505:9;7496:7;7492:23;7488:32;7485:52;;;7533:1;7530;7523:12;7485:52;7565:9;7559:16;7584:31;7609:5;7584:31;:::i;8571:306::-;8659:6;8667;8675;8728:2;8716:9;8707:7;8703:23;8699:32;8696:52;;;8744:1;8741;8734:12;8696:52;8773:9;8767:16;8757:26;;8823:2;8812:9;8808:18;8802:25;8792:35;;8867:2;8856:9;8852:18;8846:25;8836:35;;8571:306;;;;;:::o;9161:277::-;9228:6;9281:2;9269:9;9260:7;9256:23;9252:32;9249:52;;;9297:1;9294;9287:12;9249:52;9329:9;9323:16;9382:5;9375:13;9368:21;9361:5;9358:32;9348:60;;9404:1;9401;9394:12;10251:980;10513:4;10561:3;10550:9;10546:19;10592:6;10581:9;10574:25;10618:2;10656:6;10651:2;10640:9;10636:18;10629:34;10699:3;10694:2;10683:9;10679:18;10672:31;10723:6;10758;10752:13;10789:6;10781;10774:22;10827:3;10816:9;10812:19;10805:26;;10866:2;10858:6;10854:15;10840:29;;10887:1;10897:195;10911:6;10908:1;10905:13;10897:195;;;10976:13;;-1:-1:-1;;;;;10972:39:1;10960:52;;11067:15;;;;11032:12;;;;11008:1;10926:9;10897:195;;;-1:-1:-1;;;;;;;11148:32:1;;;;11143:2;11128:18;;11121:60;-1:-1:-1;;;11212:3:1;11197:19;11190:35;11109:3;10251:980;-1:-1:-1;;;10251:980:1:o;12456:135::-;12495:3;12516:17;;;12513:43;;12536:18;;:::i;:::-;-1:-1:-1;12583:1:1;12572:13;;12456:135::o;13138:125::-;13203:9;;;13224:10;;;13221:36;;;13237:18;;:::i;13971:128::-;14038:9;;;14059:11;;;14056:37;;;14073:18;;:::i;14104:217::-;14144:1;14170;14160:132;;14214:10;14209:3;14205:20;14202:1;14195:31;14249:4;14246:1;14239:15;14277:4;14274:1;14267:15;14160:132;-1:-1:-1;14306:9:1;;14104:217::o

Swarm Source

ipfs://1f9fe3d862dec5752158c902abf959d9418ff5a11974f8db1ca81bdb8448cd29
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.