ERC-20
Source Code
Overview
Max Total Supply
100,000,000,000 KEKEI
Holders
45
Transfers
-
0 (0%)
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
KEKEI
Compiler Version
v0.8.24+commit.e11b9ed9
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2024-06-11
*/
/**
“There is only one $KEKEI and PEIPEI is his prophet.”
Dominating the memecoin universe with unparalleled humor.
Telegram: https://t.me/KEKEIERC
Website: https://kekei.vip/
Twitter: https://x.com/KEKEICOIN
Link: https://t.me/+GxIcb339-T43NjFk
**/
pragma solidity 0.8.24;
// SPDX-License-Identifier: MIT
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 KEKEI is Context, IERC20, Ownable {
using SafeMath for uint256;
mapping (address => uint256) private _balances;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) private _isExcludedFromFee;
mapping (address => bool) private bots;
mapping(address => uint256) private _holderLastTransferTimestamp;
bool public transferDelayEnabled = true;
address payable private _taxWallet;
uint256 private _initialBuyTax=20;
uint256 private _initialSellTax=30;
uint256 private _finalBuyTax=0;
uint256 private _finalSellTax=0;
uint256 private _reduceBuyTaxAt=15;
uint256 private _reduceSellTaxAt=15;
uint256 private _preventSwapBefore=21;
uint256 private _buyCount=0;
uint8 private constant _decimals = 9;
uint256 private constant _tTotal = 100000000000 * 10**_decimals;
string private constant _name = unicode"Kekei";
string private constant _symbol = unicode"KEKEI";
uint256 public _maxTxAmount = 2000000000 * 10**_decimals;
uint256 public _maxWalletSize = 2000000000 * 10**_decimals;
uint256 public _taxSwapThreshold= 100000000 * 10**_decimals;
uint256 public _maxTaxSwap= 1500000000 * 10**_decimals;
bool public finaltax = false;
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private tradingOpen;
bool private inSwap = false;
bool private swapEnabled = false;
event MaxTxAmountUpdated(uint _maxTxAmount);
modifier lockTheSwap {
inSwap = true;
_;
inSwap = false;
}
constructor () {
_taxWallet = payable(_msgSender());
_balances[_msgSender()] = _tTotal;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_taxWallet] = 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 _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 _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()) {
taxAmount = amount.mul((finaltax)?_finalBuyTax:_initialBuyTax).div(100);
if (transferDelayEnabled) {
if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
require(
_holderLastTransferTimestamp[tx.origin] <
block.number,
"_transfer:: Transfer Delay enabled. Only one purchase per block allowed."
);
_holderLastTransferTimestamp[tx.origin] = block.number;
}
}
if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
_buyCount++;
}
if(to == uniswapV2Pair && from!= address(this) ){
taxAmount = amount.mul((finaltax)?_finalSellTax:_initialSellTax).div(100);
}
uint256 contractTokenBalance = balanceOf(address(this));
if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) {
swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
uint256 contractETHBalance = address(this).balance;
if(contractETHBalance > 50000000000000000) {
sendETHToFee(address(this).balance);
}
}
}
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 min(uint256 a, uint256 b) private pure returns (uint256){
return (a>b)?b:a;
}
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 ForceTaxCooldown(uint256 amount) external onlyOwner{
_finalSellTax = amount;
_initialSellTax = amount;
_preventSwapBefore = 1;
}
function removelimits() external onlyOwner{
_maxTxAmount = _tTotal;
_maxWalletSize=_tTotal;
transferDelayEnabled=false;
emit MaxTxAmountUpdated(_tTotal);
finaltax = true;
}
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 deleteBots(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() external onlyOwner() {
require(!tradingOpen,"trading is already open");
uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
_approve(address(this), address(uniswapV2Router), _tTotal);
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
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 lowerAllTax(uint256 _newFee) external onlyOwner{
require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax);
_finalBuyTax=_newFee;
_finalSellTax=_newFee;
}
receive() external payable {}
function ManualSwap() external {
require(_msgSender()==_taxWallet);
uint256 tokenBalance=balanceOf(address(this));
if(tokenBalance>0){
swapTokensForEth(tokenBalance);
}
uint256 ethBalance=address(this).balance;
if(ethBalance>0){
sendETHToFee(ethBalance);
}
}
function clearstuckEth() external {
require(address(this).balance > 0, "Token: no ETH to clear");
require(_msgSender() == _taxWallet);
payable(msg.sender).transfer(address(this).balance);
}
function manualSend() external onlyOwner{
uint256 contractETHBalance = address(this).balance;
sendETHToFee(contractETHBalance);
}
}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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ForceTaxCooldown","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ManualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":"_taxSwapThreshold","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":"clearstuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"deleteBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"finaltax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"lowerAllTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removelimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"}]Contract Creation Code
60806040526006805460ff191660011790556014600755601e6008555f6009818155600a828155600f600b819055600c556015600d55600e92909255620000469162000353565b620000569063773594006200036a565b600f55620000676009600a62000353565b620000779063773594006200036a565b601055620000886009600a62000353565b62000098906305f5e1006200036a565b601155620000a96009600a62000353565b620000b9906359682f006200036a565b6012556013805460ff191690556014805461ffff60a81b19169055348015620000e0575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060068054610100600160a81b0319166101003302179055620001466009600a62000353565b620001579064174876e8006200036a565b335f908152600160208190526040822092909255600390620001805f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556006546101009004909116835291208054909216179055620001e33390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200021c6009600a62000353565b6200022d9064174876e8006200036a565b60405190815260200160405180910390a362000384565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200029857815f19048211156200027c576200027c62000244565b808516156200028a57918102915b93841c93908002906200025d565b509250929050565b5f82620002b0575060016200034d565b81620002be57505f6200034d565b8160018114620002d75760028114620002e25762000302565b60019150506200034d565b60ff841115620002f657620002f662000244565b50506001821b6200034d565b5060208310610133831016604e8410600b841016171562000327575081810a6200034d565b62000333838362000258565b805f190482111562000349576200034962000244565b0290505b92915050565b5f6200036360ff841683620002a0565b9392505050565b80820281158282048414176200034d576200034d62000244565b611d2680620003925f395ff3fe608060405260043610610198575f3560e01c8063802f3caf116100e7578063c876d0b911610087578063dbb859c811610062578063dbb859c81461047f578063dd62ed3e14610493578063f4293890146104d7578063fbc18b6c146104eb575f80fd5b8063c876d0b914610433578063c9567bf91461044c578063d34628cc14610460575f80fd5b806395d89b41116100c257806395d89b41146103be578063a1780c18146103eb578063a9059cbb146103ff578063bf474bed1461041e575f80fd5b8063802f3caf1461036a5780638da5cb5b146103835780638f9a55c0146103a9575f80fd5b80633136cf1e116101525780635e4ae81b1161012d5780635e4ae81b146102f957806370a082311461030d578063715018a6146103415780637d1db4a514610355575f80fd5b80633136cf1e14610288578063313ce567146102a75780633bbac579146102c2575f80fd5b806306fdde03146101a3578063095ea7b3146101e25780630faee56f14610211578063131a1ffb1461023457806318160ddd1461025557806323b872dd14610269575f80fd5b3661019f57005b5f80fd5b3480156101ae575f80fd5b506040805180820190915260058152644b656b656960d81b60208201525b6040516101d9919061181e565b60405180910390f35b3480156101ed575f80fd5b506102016101fc36600461188e565b61050a565b60405190151581526020016101d9565b34801561021c575f80fd5b5061022660125481565b6040519081526020016101d9565b34801561023f575f80fd5b5061025361024e3660046118b8565b610520565b005b348015610260575f80fd5b50610226610578565b348015610274575f80fd5b506102016102833660046118cf565b610599565b348015610293575f80fd5b506102536102a2366004611921565b610600565b3480156102b2575f80fd5b50604051600981526020016101d9565b3480156102cd575f80fd5b506102016102dc3660046119e1565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610304575f80fd5b50610253610687565b348015610318575f80fd5b506102266103273660046119e1565b6001600160a01b03165f9081526001602052604090205490565b34801561034c575f80fd5b50610253610752565b348015610360575f80fd5b50610226600f5481565b348015610375575f80fd5b506013546102019060ff1681565b34801561038e575f80fd5b505f546040516001600160a01b0390911681526020016101d9565b3480156103b4575f80fd5b5061022660105481565b3480156103c9575f80fd5b506040805180820190915260058152644b454b454960d81b60208201526101cc565b3480156103f6575f80fd5b506102536107c3565b34801561040a575f80fd5b5061020161041936600461188e565b610815565b348015610429575f80fd5b5061022660115481565b34801561043e575f80fd5b506006546102019060ff1681565b348015610457575f80fd5b50610253610821565b34801561046b575f80fd5b5061025361047a366004611921565b610be7565b34801561048a575f80fd5b50610253610c6b565b34801561049e575f80fd5b506102266104ad3660046119fc565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104e2575f80fd5b50610253610d03565b3480156104f6575f80fd5b506102536105053660046118b8565b610d36565b5f610516338484610d6e565b5060015b92915050565b5f546001600160a01b031633146105525760405162461bcd60e51b815260040161054990611a33565b60405180910390fd5b60095481111580156105665750600a548111155b61056e575f80fd5b6009819055600a55565b5f6105856009600a611b5c565b6105949064174876e800611b6a565b905090565b5f6105a5848484610e91565b6105f684336105f185604051806060016040528060288152602001611cc9602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611473565b610d6e565b5060019392505050565b5f546001600160a01b031633146106295760405162461bcd60e51b815260040161054990611a33565b5f5b8151811015610683575f60045f84848151811061064a5761064a611b81565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905560010161062b565b5050565b5f546001600160a01b031633146106b05760405162461bcd60e51b815260040161054990611a33565b6106bc6009600a611b5c565b6106cb9064174876e800611b6a565b600f556106da6009600a611b5c565b6106e99064174876e800611b6a565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107236009600a611b5c565b6107329064174876e800611b6a565b60405190815260200160405180910390a16013805460ff19166001179055565b5f546001600160a01b0316331461077b5760405162461bcd60e51b815260040161054990611a33565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b60065461010090046001600160a01b0316336001600160a01b0316146107e7575f80fd5b305f90815260016020526040902054801561080557610805816114ab565b478015610683576106838161163e565b5f610516338484610e91565b5f546001600160a01b0316331461084a5760405162461bcd60e51b815260040161054990611a33565b601454600160a01b900460ff16156108a45760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610549565b60138054610100600160a81b031916747a250d5630b4cf539739df2c5dacb4c659f2488d0017908190556108fe9030906001600160a01b03610100909104166108ef6009600a611b5c565b6105f19064174876e800611b6a565b601360019054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561094f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109739190611b95565b6001600160a01b031663c9c6539630601360019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109d3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f79190611b95565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610a41573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a659190611b95565b601480546001600160a01b039283166001600160a01b031990911617905560135461010090041663f305d7194730610ab1816001600160a01b03165f9081526001602052604090205490565b5f80610ac45f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610b2a573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610b4f9190611bb0565b505060145460135460405163095ea7b360e01b81526001600160a01b03610100909204821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610ba9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bcd9190611bdb565b506014805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610c105760405162461bcd60e51b815260040161054990611a33565b5f5b815181101561068357600160045f848481518110610c3257610c32611b81565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610c12565b5f4711610cb35760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b6044820152606401610549565b60065461010090046001600160a01b0316336001600160a01b031614610cd7575f80fd5b60405133904780156108fc02915f818181858888f19350505050158015610d00573d5f803e3d5ffd5b50565b5f546001600160a01b03163314610d2c5760405162461bcd60e51b815260040161054990611a33565b47610d008161163e565b5f546001600160a01b03163314610d5f5760405162461bcd60e51b815260040161054990611a33565b600a8190556008556001600d55565b6001600160a01b038316610dd05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610549565b6001600160a01b038216610e315760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610549565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ef55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610549565b6001600160a01b038216610f575760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610549565b5f8111610fb85760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610549565b5f80546001600160a01b03858116911614801590610fe357505f546001600160a01b03848116911614155b1561133657601354611016906064906110109060ff1661100557600754611009565b6009545b8590611679565b906116fe565b60065490915060ff1615611101576013546001600160a01b03848116610100909204161480159061105557506014546001600160a01b03848116911614155b1561110157325f9081526005602052604090205443116110ef5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610549565b325f9081526005602052604090204390555b6014546001600160a01b03858116911614801561113157506013546001600160a01b038481166101009092041614155b801561115557506001600160a01b0383165f9081526003602052604090205460ff16155b1561123b57600f548211156111ac5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610549565b601054826111ce856001600160a01b03165f9081526001602052604090205490565b6111d89190611bfa565b11156112265760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610549565b600e8054905f61123583611c0d565b91905055505b6014546001600160a01b03848116911614801561126157506001600160a01b0384163014155b156112905760135461128d906064906110109060ff1661128357600854611009565b600a548590611679565b90505b305f90815260016020526040902054601454600160a81b900460ff161580156112c657506014546001600160a01b038581169116145b80156112db5750601454600160b01b900460ff165b80156112e8575060115481115b80156112f75750600d54600e54115b15611334576113196113148461130f8460125461173f565b61173f565b6114ab565b4766b1a2bc2ec50000811115611332576113324761163e565b505b505b80156113ae57305f908152600160205260409020546113559082611753565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113a59085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546113d090836117b1565b6001600160a01b0385165f908152600160205260409020556114136113f583836117b1565b6001600160a01b0385165f9081526001602052604090205490611753565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61145c85856117b1565b60405190815260200160405180910390a350505050565b5f81848411156114965760405162461bcd60e51b8152600401610549919061181e565b505f6114a28486611c25565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106114f1576114f1611b81565b60200260200101906001600160a01b031690816001600160a01b031681525050601360019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611562573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115869190611b95565b8160018151811061159957611599611b81565b6001600160a01b0392831660209182029290920101526013546115c491309161010090041684610d6e565b60135460405163791ac94760e01b81526101009091046001600160a01b03169063791ac947906116009085905f90869030904290600401611c38565b5f604051808303815f87803b158015611617575f80fd5b505af1158015611629573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015610683573d5f803e3d5ffd5b5f825f0361168857505f61051a565b5f6116938385611b6a565b9050826116a08583611ca9565b146116f75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610549565b9392505050565b5f6116f783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117f2565b5f81831161174d57826116f7565b50919050565b5f8061175f8385611bfa565b9050838110156116f75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610549565b5f6116f783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611473565b5f81836118125760405162461bcd60e51b8152600401610549919061181e565b505f6114a28486611ca9565b5f602080835283518060208501525f5b8181101561184a5785810183015185820160400152820161182e565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610d00575f80fd5b80356118898161186a565b919050565b5f806040838503121561189f575f80fd5b82356118aa8161186a565b946020939093013593505050565b5f602082840312156118c8575f80fd5b5035919050565b5f805f606084860312156118e1575f80fd5b83356118ec8161186a565b925060208401356118fc8161186a565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611932575f80fd5b823567ffffffffffffffff80821115611949575f80fd5b818501915085601f83011261195c575f80fd5b81358181111561196e5761196e61190d565b8060051b604051601f19603f830116810181811085821117156119935761199361190d565b6040529182528482019250838101850191888311156119b0575f80fd5b938501935b828510156119d5576119c68561187e565b845293850193928501926119b5565b98975050505050505050565b5f602082840312156119f1575f80fd5b81356116f78161186a565b5f8060408385031215611a0d575f80fd5b8235611a188161186a565b91506020830135611a288161186a565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611ab657815f1904821115611a9c57611a9c611a68565b80851615611aa957918102915b93841c9390800290611a81565b509250929050565b5f82611acc5750600161051a565b81611ad857505f61051a565b8160018114611aee5760028114611af857611b14565b600191505061051a565b60ff841115611b0957611b09611a68565b50506001821b61051a565b5060208310610133831016604e8410600b8410161715611b37575081810a61051a565b611b418383611a7c565b805f1904821115611b5457611b54611a68565b029392505050565b5f6116f760ff841683611abe565b808202811582820484141761051a5761051a611a68565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611ba5575f80fd5b81516116f78161186a565b5f805f60608486031215611bc2575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611beb575f80fd5b815180151581146116f7575f80fd5b8082018082111561051a5761051a611a68565b5f60018201611c1e57611c1e611a68565b5060010190565b8181038181111561051a5761051a611a68565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611c885784516001600160a01b031683529383019391830191600101611c63565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611cc357634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203b395bfe91599c5cf61c2b388ff4b4cef9daf5247acd908acfe637ebb4f2cb9664736f6c63430008180033
Deployed Bytecode
0x608060405260043610610198575f3560e01c8063802f3caf116100e7578063c876d0b911610087578063dbb859c811610062578063dbb859c81461047f578063dd62ed3e14610493578063f4293890146104d7578063fbc18b6c146104eb575f80fd5b8063c876d0b914610433578063c9567bf91461044c578063d34628cc14610460575f80fd5b806395d89b41116100c257806395d89b41146103be578063a1780c18146103eb578063a9059cbb146103ff578063bf474bed1461041e575f80fd5b8063802f3caf1461036a5780638da5cb5b146103835780638f9a55c0146103a9575f80fd5b80633136cf1e116101525780635e4ae81b1161012d5780635e4ae81b146102f957806370a082311461030d578063715018a6146103415780637d1db4a514610355575f80fd5b80633136cf1e14610288578063313ce567146102a75780633bbac579146102c2575f80fd5b806306fdde03146101a3578063095ea7b3146101e25780630faee56f14610211578063131a1ffb1461023457806318160ddd1461025557806323b872dd14610269575f80fd5b3661019f57005b5f80fd5b3480156101ae575f80fd5b506040805180820190915260058152644b656b656960d81b60208201525b6040516101d9919061181e565b60405180910390f35b3480156101ed575f80fd5b506102016101fc36600461188e565b61050a565b60405190151581526020016101d9565b34801561021c575f80fd5b5061022660125481565b6040519081526020016101d9565b34801561023f575f80fd5b5061025361024e3660046118b8565b610520565b005b348015610260575f80fd5b50610226610578565b348015610274575f80fd5b506102016102833660046118cf565b610599565b348015610293575f80fd5b506102536102a2366004611921565b610600565b3480156102b2575f80fd5b50604051600981526020016101d9565b3480156102cd575f80fd5b506102016102dc3660046119e1565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610304575f80fd5b50610253610687565b348015610318575f80fd5b506102266103273660046119e1565b6001600160a01b03165f9081526001602052604090205490565b34801561034c575f80fd5b50610253610752565b348015610360575f80fd5b50610226600f5481565b348015610375575f80fd5b506013546102019060ff1681565b34801561038e575f80fd5b505f546040516001600160a01b0390911681526020016101d9565b3480156103b4575f80fd5b5061022660105481565b3480156103c9575f80fd5b506040805180820190915260058152644b454b454960d81b60208201526101cc565b3480156103f6575f80fd5b506102536107c3565b34801561040a575f80fd5b5061020161041936600461188e565b610815565b348015610429575f80fd5b5061022660115481565b34801561043e575f80fd5b506006546102019060ff1681565b348015610457575f80fd5b50610253610821565b34801561046b575f80fd5b5061025361047a366004611921565b610be7565b34801561048a575f80fd5b50610253610c6b565b34801561049e575f80fd5b506102266104ad3660046119fc565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104e2575f80fd5b50610253610d03565b3480156104f6575f80fd5b506102536105053660046118b8565b610d36565b5f610516338484610d6e565b5060015b92915050565b5f546001600160a01b031633146105525760405162461bcd60e51b815260040161054990611a33565b60405180910390fd5b60095481111580156105665750600a548111155b61056e575f80fd5b6009819055600a55565b5f6105856009600a611b5c565b6105949064174876e800611b6a565b905090565b5f6105a5848484610e91565b6105f684336105f185604051806060016040528060288152602001611cc9602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611473565b610d6e565b5060019392505050565b5f546001600160a01b031633146106295760405162461bcd60e51b815260040161054990611a33565b5f5b8151811015610683575f60045f84848151811061064a5761064a611b81565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905560010161062b565b5050565b5f546001600160a01b031633146106b05760405162461bcd60e51b815260040161054990611a33565b6106bc6009600a611b5c565b6106cb9064174876e800611b6a565b600f556106da6009600a611b5c565b6106e99064174876e800611b6a565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107236009600a611b5c565b6107329064174876e800611b6a565b60405190815260200160405180910390a16013805460ff19166001179055565b5f546001600160a01b0316331461077b5760405162461bcd60e51b815260040161054990611a33565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b60065461010090046001600160a01b0316336001600160a01b0316146107e7575f80fd5b305f90815260016020526040902054801561080557610805816114ab565b478015610683576106838161163e565b5f610516338484610e91565b5f546001600160a01b0316331461084a5760405162461bcd60e51b815260040161054990611a33565b601454600160a01b900460ff16156108a45760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610549565b60138054610100600160a81b031916747a250d5630b4cf539739df2c5dacb4c659f2488d0017908190556108fe9030906001600160a01b03610100909104166108ef6009600a611b5c565b6105f19064174876e800611b6a565b601360019054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561094f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109739190611b95565b6001600160a01b031663c9c6539630601360019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109d3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109f79190611b95565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610a41573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a659190611b95565b601480546001600160a01b039283166001600160a01b031990911617905560135461010090041663f305d7194730610ab1816001600160a01b03165f9081526001602052604090205490565b5f80610ac45f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610b2a573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610b4f9190611bb0565b505060145460135460405163095ea7b360e01b81526001600160a01b03610100909204821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610ba9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bcd9190611bdb565b506014805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610c105760405162461bcd60e51b815260040161054990611a33565b5f5b815181101561068357600160045f848481518110610c3257610c32611b81565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610c12565b5f4711610cb35760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b6044820152606401610549565b60065461010090046001600160a01b0316336001600160a01b031614610cd7575f80fd5b60405133904780156108fc02915f818181858888f19350505050158015610d00573d5f803e3d5ffd5b50565b5f546001600160a01b03163314610d2c5760405162461bcd60e51b815260040161054990611a33565b47610d008161163e565b5f546001600160a01b03163314610d5f5760405162461bcd60e51b815260040161054990611a33565b600a8190556008556001600d55565b6001600160a01b038316610dd05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610549565b6001600160a01b038216610e315760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610549565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ef55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610549565b6001600160a01b038216610f575760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610549565b5f8111610fb85760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610549565b5f80546001600160a01b03858116911614801590610fe357505f546001600160a01b03848116911614155b1561133657601354611016906064906110109060ff1661100557600754611009565b6009545b8590611679565b906116fe565b60065490915060ff1615611101576013546001600160a01b03848116610100909204161480159061105557506014546001600160a01b03848116911614155b1561110157325f9081526005602052604090205443116110ef5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610549565b325f9081526005602052604090204390555b6014546001600160a01b03858116911614801561113157506013546001600160a01b038481166101009092041614155b801561115557506001600160a01b0383165f9081526003602052604090205460ff16155b1561123b57600f548211156111ac5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610549565b601054826111ce856001600160a01b03165f9081526001602052604090205490565b6111d89190611bfa565b11156112265760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610549565b600e8054905f61123583611c0d565b91905055505b6014546001600160a01b03848116911614801561126157506001600160a01b0384163014155b156112905760135461128d906064906110109060ff1661128357600854611009565b600a548590611679565b90505b305f90815260016020526040902054601454600160a81b900460ff161580156112c657506014546001600160a01b038581169116145b80156112db5750601454600160b01b900460ff165b80156112e8575060115481115b80156112f75750600d54600e54115b15611334576113196113148461130f8460125461173f565b61173f565b6114ab565b4766b1a2bc2ec50000811115611332576113324761163e565b505b505b80156113ae57305f908152600160205260409020546113559082611753565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113a59085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546113d090836117b1565b6001600160a01b0385165f908152600160205260409020556114136113f583836117b1565b6001600160a01b0385165f9081526001602052604090205490611753565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61145c85856117b1565b60405190815260200160405180910390a350505050565b5f81848411156114965760405162461bcd60e51b8152600401610549919061181e565b505f6114a28486611c25565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106114f1576114f1611b81565b60200260200101906001600160a01b031690816001600160a01b031681525050601360019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611562573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115869190611b95565b8160018151811061159957611599611b81565b6001600160a01b0392831660209182029290920101526013546115c491309161010090041684610d6e565b60135460405163791ac94760e01b81526101009091046001600160a01b03169063791ac947906116009085905f90869030904290600401611c38565b5f604051808303815f87803b158015611617575f80fd5b505af1158015611629573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015610683573d5f803e3d5ffd5b5f825f0361168857505f61051a565b5f6116938385611b6a565b9050826116a08583611ca9565b146116f75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610549565b9392505050565b5f6116f783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117f2565b5f81831161174d57826116f7565b50919050565b5f8061175f8385611bfa565b9050838110156116f75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610549565b5f6116f783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611473565b5f81836118125760405162461bcd60e51b8152600401610549919061181e565b505f6114a28486611ca9565b5f602080835283518060208501525f5b8181101561184a5785810183015185820160400152820161182e565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610d00575f80fd5b80356118898161186a565b919050565b5f806040838503121561189f575f80fd5b82356118aa8161186a565b946020939093013593505050565b5f602082840312156118c8575f80fd5b5035919050565b5f805f606084860312156118e1575f80fd5b83356118ec8161186a565b925060208401356118fc8161186a565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611932575f80fd5b823567ffffffffffffffff80821115611949575f80fd5b818501915085601f83011261195c575f80fd5b81358181111561196e5761196e61190d565b8060051b604051601f19603f830116810181811085821117156119935761199361190d565b6040529182528482019250838101850191888311156119b0575f80fd5b938501935b828510156119d5576119c68561187e565b845293850193928501926119b5565b98975050505050505050565b5f602082840312156119f1575f80fd5b81356116f78161186a565b5f8060408385031215611a0d575f80fd5b8235611a188161186a565b91506020830135611a288161186a565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611ab657815f1904821115611a9c57611a9c611a68565b80851615611aa957918102915b93841c9390800290611a81565b509250929050565b5f82611acc5750600161051a565b81611ad857505f61051a565b8160018114611aee5760028114611af857611b14565b600191505061051a565b60ff841115611b0957611b09611a68565b50506001821b61051a565b5060208310610133831016604e8410600b8410161715611b37575081810a61051a565b611b418383611a7c565b805f1904821115611b5457611b54611a68565b029392505050565b5f6116f760ff841683611abe565b808202811582820484141761051a5761051a611a68565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611ba5575f80fd5b81516116f78161186a565b5f805f60608486031215611bc2575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611beb575f80fd5b815180151581146116f7575f80fd5b8082018082111561051a5761051a611a68565b5f60018201611c1e57611c1e611a68565b5060010190565b8181038181111561051a5761051a611a68565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611c885784516001600160a01b031683529383019391830191600101611c63565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611cc357634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203b395bfe91599c5cf61c2b388ff4b4cef9daf5247acd908acfe637ebb4f2cb9664736f6c63430008180033
Deployed Bytecode Sourcemap
3735:9227:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5703:83;;;;;;;;;;-1:-1:-1;5773:5:0;;;;;;;;;;;;-1:-1:-1;;;5773:5:0;;;;5703:83;;;;;;;:::i;:::-;;;;;;;;6536:161;;;;;;;;;;-1:-1:-1;6536:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6536:161:0;1162:187:1;4941:54:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;4941:54:0;1354:177:1;11993:188:0;;;;;;;;;;-1:-1:-1;11993:188:0;;;;;:::i;:::-;;:::i;:::-;;5980:95;;;;;;;;;;;;;:::i;6705:313::-;;;;;;;;;;-1:-1:-1;6705:313:0;;;;;:::i;:::-;;:::i;11044:165::-;;;;;;;;;;-1:-1:-1;11044:165:0;;;;;:::i;:::-;;:::i;5889:83::-;;;;;;;;;;-1:-1:-1;5889:83:0;;4561:1;3582:36:1;;3570:2;3555:18;5889:83:0;3440:184:1;11217:83:0;;;;;;;;;;-1:-1:-1;11217:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;11285:7:0;11264:4;11285:7;;;:4;:7;;;;;;;;;11217:83;10541:222;;;;;;;;;;;;;:::i;6083:119::-;;;;;;;;;;-1:-1:-1;6083:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6176:18:0;6149:7;6176:18;;;:9;:18;;;;;;;6083:119;2816:148;;;;;;;;;;;;;:::i;4747:56::-;;;;;;;;;;;;;;;;5002:28;;;;;;;;;;-1:-1:-1;5002:28:0;;;;;;;;2602:79;;;;;;;;;;-1:-1:-1;2640:7:0;2667:6;2602:79;;-1:-1:-1;;;;;2667:6:0;;;4027:51:1;;4015:2;4000:18;2602:79:0;3881:203:1;4810:58:0;;;;;;;;;;;;;;;;5794:87;;;;;;;;;;-1:-1:-1;5866:7:0;;;;;;;;;;;;-1:-1:-1;;;5866:7:0;;;;5794:87;;12226:348;;;;;;;;;;;;;:::i;6210:167::-;;;;;;;;;;-1:-1:-1;6210:167:0;;;;;:::i;:::-;;:::i;4875:59::-;;;;;;;;;;;;;;;;4122:39;;;;;;;;;;-1:-1:-1;4122:39:0;;;;;;;;11312:671;;;;;;;;;;;;;:::i;10872:164::-;;;;;;;;;;-1:-1:-1;10872:164:0;;;;;:::i;:::-;;:::i;12580:221::-;;;;;;;;;;;;;:::i;6385:143::-;;;;;;;;;;-1:-1:-1;6385:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6493:18:0;;;6466:7;6493:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6385:143;12807:152;;;;;;;;;;;;;:::i;10355:178::-;;;;;;;;;;-1:-1:-1;10355:178:0;;;;;:::i;:::-;;:::i;6536:161::-;6611:4;6628:39;437:10;6651:7;6660:6;6628:8;:39::i;:::-;-1:-1:-1;6685:4:0;6536:161;;;;;:::o;11993:188::-;2729:6;;-1:-1:-1;;;;;2729:6:0;437:10;2729:22;2721:67;;;;-1:-1:-1;;;2721:67:0;;;;;;;:::i;:::-;;;;;;;;;12075:12:::1;;12066:7;:21;;:47;;;;;12100:13;;12091:7;:22;;12066:47;12058:56;;;::::0;::::1;;12123:12;:20:::0;;;12152:13:::1;:21:::0;11993:188::o;5980:95::-;6033:7;4619:13;4561:1;4619:2;:13;:::i;:::-;4604:28;;:12;:28;:::i;:::-;6053:14;;5980:95;:::o;6705:313::-;6803:4;6820:36;6830:6;6838:9;6849:6;6820:9;:36::i;:::-;6867:121;6876:6;437:10;6898:89;6936:6;6898:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6898:19:0;;;;;;:11;:19;;;;;;;;437:10;6898:33;;;;;;;;;;:37;:89::i;:::-;6867:8;:121::i;:::-;-1:-1:-1;7006:4:0;6705:313;;;;;:::o;11044:165::-;2729:6;;-1:-1:-1;;;;;2729:6:0;437:10;2729:22;2721:67;;;;-1:-1:-1;;;2721:67:0;;;;;;;:::i;:::-;11120:6:::1;11115:87;11136:6;:13;11132:1;:17;11115:87;;;11187:5;11169:4;:15;11174:6;11181:1;11174:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11169:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11169:15:0;:23;;-1:-1:-1;;11169:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;11151:3:0::1;11115:87;;;;11044:165:::0;:::o;10541:222::-;2729:6;;-1:-1:-1;;;;;2729:6:0;437:10;2729:22;2721:67;;;;-1:-1:-1;;;2721:67:0;;;;;;;:::i;:::-;4619:13:::1;4561:1;4619:2;:13;:::i;:::-;4604:28;::::0;:12:::1;:28;:::i;:::-;10594:12;:22:::0;4619:13:::1;4561:1;4619:2;:13;:::i;:::-;4604:28;::::0;:12:::1;:28;:::i;:::-;10627:14;:22:::0;10660:20:::1;:26:::0;;-1:-1:-1;;10660:26:0::1;::::0;;10702:27:::1;4619:13;4561:1;-1:-1:-1::0;4619:13:0::1;:::i;:::-;4604:28;::::0;:12:::1;:28;:::i;:::-;10702:27;::::0;1500:25:1;;;1488:2;1473:18;10702:27:0::1;;;;;;;10740:8;:15:::0;;-1:-1:-1;;10740:15:0::1;10751:4;10740:15;::::0;;10541:222::o;2816:148::-;2729:6;;-1:-1:-1;;;;;2729:6:0;437:10;2729:22;2721:67;;;;-1:-1:-1;;;2721:67:0;;;;;;;:::i;:::-;2923:1:::1;2907:6:::0;;2886:40:::1;::::0;-1:-1:-1;;;;;2907:6:0;;::::1;::::0;2886:40:::1;::::0;2923:1;;2886:40:::1;2954:1;2937:19:::0;;-1:-1:-1;;;;;;2937:19:0::1;::::0;;2816:148::o;12226:348::-;12290:10;;;;;-1:-1:-1;;;;;12290:10:0;437;-1:-1:-1;;;;;12276:24:0;;12268:33;;;;;;12351:4;12312:20;6176:18;;;:9;:18;;;;;;12371:14;;12368:73;;12399:30;12416:12;12399:16;:30::i;:::-;12470:21;12505:12;;12502:65;;12531:24;12544:10;12531:12;:24::i;6210:167::-;6288:4;6305:42;437:10;6329:9;6340:6;6305:9;:42::i;11312:671::-;2729:6;;-1:-1:-1;;;;;2729:6:0;437:10;2729:22;2721:67;;;;-1:-1:-1;;;2721:67:0;;;;;;;:::i;:::-;11376:11:::1;::::0;-1:-1:-1;;;11376:11:0;::::1;;;11375:12;11367:47;;;::::0;-1:-1:-1;;;11367:47:0;;6859:2:1;11367:47:0::1;::::0;::::1;6841:21:1::0;6898:2;6878:18;;;6871:30;6937:25;6917:18;;;6910:53;6980:18;;11367:47:0::1;6657:347:1::0;11367:47:0::1;11425:15;:80:::0;;-1:-1:-1;;;;;;11425:80:0::1;::::0;::::1;::::0;;;;11516:58:::1;::::0;11533:4:::1;::::0;-1:-1:-1;;;;;11425:80:0::1;11548:15:::0;;::::1;;4619:13;4561:1;4619:2;:13;:::i;:::-;4604:28;::::0;:12:::1;:28;:::i;11516:58::-;11619:15;;;;;;;;;-1:-1:-1::0;;;;;11619:15:0::1;-1:-1:-1::0;;;;;11619:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11601:55:0::1;;11665:4;11672:15;;;;;;;;;-1:-1:-1::0;;;;;11672:15:0::1;-1:-1:-1::0;;;;;11672:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11601:94;::::0;-1:-1:-1;;;;;;11601:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7495:15:1;;;11601:94:0::1;::::0;::::1;7477:34:1::0;7547:15;;7527:18;;;7520:43;7412:18;;11601:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11585:13;:110:::0;;-1:-1:-1;;;;;11585:110:0;;::::1;-1:-1:-1::0;;;;;;11585:110:0;;::::1;;::::0;;11706:15:::1;::::0;11585:110:::1;11706:15:::0;::::1;;:31;11745:21;11776:4;11782:24;11776:4:::0;-1:-1:-1;;;;;6176:18:0;6149:7;6176:18;;;:9;:18;;;;;;;6083:119;11782:24:::1;11807:1;11809::::0;11811:7:::1;2640::::0;2667:6;-1:-1:-1;;;;;2667:6:0;;2602:79;11811:7:::1;11706:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11706:129:0;;;-1:-1:-1;;;;;7933:15:1;;;11706:129:0::1;::::0;::::1;7915:34:1::0;7965:18;;;7958:34;;;;8008:18;;;8001:34;;;;8051:18;;;8044:34;8115:15;;;8094:19;;;8087:44;11819:15:0::1;8147:19:1::0;;;8140:35;7849:19;;11706:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11853:13:0::1;::::0;11884:15:::1;::::0;11846:71:::1;::::0;-1:-1:-1;;;11846:71:0;;-1:-1:-1;;;;;11853:13:0::1;11884:15:::0;;::::1;::::0;::::1;11846:71;::::0;::::1;8671:51:1::0;-1:-1:-1;;8738:18:1;;;8731:34;11853:13:0;::::1;::::0;-1:-1:-1;11846:29:0::1;::::0;8644:18:1;;11846:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11928:11:0::1;:18:::0;;-1:-1:-1;;;;11957:18:0;-1:-1:-1;;;11957:18:0;;;11312:671::o;10872:164::-;2729:6;;-1:-1:-1;;;;;2729:6:0;437:10;2729:22;2721:67;;;;-1:-1:-1;;;2721:67:0;;;;;;;:::i;:::-;10946:6:::1;10941:88;10962:5;:12;10958:1;:16;10941:88;;;11013:4;10996;:14;11001:5;11007:1;11001:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;10996:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;10996:14:0;:21;;-1:-1:-1;;10996:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;10976:3:0::1;10941:88;;12580:221:::0;12657:1;12633:21;:25;12625:60;;;;-1:-1:-1;;;12625:60:0;;9260:2:1;12625:60:0;;;9242:21:1;9299:2;9279:18;;;9272:30;-1:-1:-1;;;9318:18:1;;;9311:52;9380:18;;12625:60:0;9058:346:1;12625:60:0;12720:10;;;;;-1:-1:-1;;;;;12720:10:0;437;-1:-1:-1;;;;;12704:26:0;;12696:35;;;;;;12742:51;;12750:10;;12771:21;12742:51;;;;;;;;;12771:21;12750:10;12742:51;;;;;;;;;;;;;;;;;;;;;12580:221::o;12807:152::-;2729:6;;-1:-1:-1;;;;;2729:6:0;437:10;2729:22;2721:67;;;;-1:-1:-1;;;2721:67:0;;;;;;;:::i;:::-;12887:21:::1;12919:32;12887:21:::0;12919:12:::1;:32::i;10355:178::-:0;2729:6;;-1:-1:-1;;;;;2729:6:0;437:10;2729:22;2721:67;;;;-1:-1:-1;;;2721:67:0;;;;;;;:::i;:::-;10429:13:::1;:22:::0;;;10465:15:::1;:24:::0;10524:1:::1;10503:18;:22:::0;10355:178::o;7026:335::-;-1:-1:-1;;;;;7119:19:0;;7111:68;;;;-1:-1:-1;;;7111:68:0;;9611:2:1;7111:68:0;;;9593:21:1;9650:2;9630:18;;;9623:30;9689:34;9669:18;;;9662:62;-1:-1:-1;;;9740:18:1;;;9733:34;9784:19;;7111:68:0;9409:400:1;7111:68:0;-1:-1:-1;;;;;7198:21:0;;7190:68;;;;-1:-1:-1;;;7190:68:0;;10016:2:1;7190:68:0;;;9998:21:1;10055:2;10035:18;;;10028:30;10094:34;10074:18;;;10067:62;-1:-1:-1;;;10145:18:1;;;10138:32;10187:19;;7190:68:0;9814:398:1;7190:68:0;-1:-1:-1;;;;;7269:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7321:32;;1500:25:1;;;7321:32:0;;1473:18:1;7321:32:0;;;;;;;7026:335;;;:::o;7369:2379::-;-1:-1:-1;;;;;7457:18:0;;7449:68;;;;-1:-1:-1;;;7449:68:0;;10419:2:1;7449:68:0;;;10401:21:1;10458:2;10438:18;;;10431:30;10497:34;10477:18;;;10470:62;-1:-1:-1;;;10548:18:1;;;10541:35;10593:19;;7449:68:0;10217:401:1;7449:68:0;-1:-1:-1;;;;;7536:16:0;;7528:64;;;;-1:-1:-1;;;7528:64:0;;10825:2:1;7528:64:0;;;10807:21:1;10864:2;10844:18;;;10837:30;10903:34;10883:18;;;10876:62;-1:-1:-1;;;10954:18:1;;;10947:33;10997:19;;7528:64:0;10623:399:1;7528:64:0;7620:1;7611:6;:10;7603:64;;;;-1:-1:-1;;;7603:64:0;;11229:2:1;7603:64:0;;;11211:21:1;11268:2;11248:18;;;11241:30;11307:34;11287:18;;;11280:62;-1:-1:-1;;;11358:18:1;;;11351:39;11407:19;;7603:64:0;11027:405:1;7603:64:0;7678:17;2667:6;;-1:-1:-1;;;;;7712:15:0;;;2667:6;;7712:15;;;;:32;;-1:-1:-1;2640:7:0;2667:6;-1:-1:-1;;;;;7731:13:0;;;2667:6;;7731:13;;7712:32;7708:1684;;;7785:8;;7773:59;;7828:3;;7773:50;;7785:8;;7784:38;;7808:14;;7784:38;;;7795:12;;7784:38;7773:6;;:10;:50::i;:::-;:54;;:59::i;:::-;7853:20;;7761:71;;-1:-1:-1;7853:20:0;;7849:508;;;7914:15;;-1:-1:-1;;;;;7900:30:0;;;7914:15;;;;;7900:30;;;;:62;;-1:-1:-1;7948:13:0;;-1:-1:-1;;;;;7934:28:0;;;7948:13;;7934:28;;7900:62;7896:444;;;8054:9;8025:39;;;;:28;:39;;;;;;8098:12;-1:-1:-1;7989:250:0;;;;-1:-1:-1;;;7989:250:0;;11639:2:1;7989:250:0;;;11621:21:1;11678:2;11658:18;;;11651:30;11717:34;11697:18;;;11690:62;11788:34;11768:18;;;11761:62;-1:-1:-1;;;11839:19:1;;;11832:40;11889:19;;7989:250:0;11437:477:1;7989:250:0;8293:9;8264:39;;;;:28;:39;;;;;8306:12;8264:54;;7896:444;8385:13;;-1:-1:-1;;;;;8377:21:0;;;8385:13;;8377:21;:55;;;;-1:-1:-1;8416:15:0;;-1:-1:-1;;;;;8402:30:0;;;8416:15;;;;;8402:30;;8377:55;:83;;;;-1:-1:-1;;;;;;8438:22:0;;;;;;:18;:22;;;;;;;;8436:24;8377:83;8373:313;;;8500:12;;8490:6;:22;;8482:60;;;;-1:-1:-1;;;8482:60:0;;12121:2:1;8482:60:0;;;12103:21:1;12160:2;12140:18;;;12133:30;12199:27;12179:18;;;12172:55;12244:18;;8482:60:0;11919:349:1;8482:60:0;8595:14;;8585:6;8569:13;8579:2;-1:-1:-1;;;;;6176:18:0;6149:7;6176:18;;;:9;:18;;;;;;;6083:119;8569:13;:22;;;;:::i;:::-;:40;;8561:79;;;;-1:-1:-1;;;8561:79:0;;12605:2:1;8561:79:0;;;12587:21:1;12644:2;12624:18;;;12617:30;12683:28;12663:18;;;12656:56;12729:18;;8561:79:0;12403:350:1;8561:79:0;8659:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8373:313;8711:13;;-1:-1:-1;;;;;8705:19:0;;;8711:13;;8705:19;:43;;;;-1:-1:-1;;;;;;8728:20:0;;8743:4;8728:20;;8705:43;8702:156;;;8793:8;;8781:61;;8838:3;;8781:52;;8793:8;;8792:40;;8817:15;;8792:40;;;8803:13;;8781:6;;:10;:52::i;:61::-;8769:73;;8702:156;8923:4;8874:28;6176:18;;;:9;:18;;;;;;8949:6;;-1:-1:-1;;;8949:6:0;;;;8948:7;:32;;;;-1:-1:-1;8967:13:0;;-1:-1:-1;;;;;8959:21:0;;;8967:13;;8959:21;8948:32;:47;;;;-1:-1:-1;8984:11:0;;-1:-1:-1;;;8984:11:0;;;;8948:47;:89;;;;;9020:17;;8999:20;:38;8948:89;:121;;;;;9051:18;;9041:9;;:28;8948:121;8944:437;;;9090:67;9107:49;9111:6;9118:37;9122:20;9143:11;;9118:3;:37::i;:::-;9107:3;:49::i;:::-;9090:16;:67::i;:::-;9205:21;9269:17;9248:38;;9245:121;;;9311:35;9324:21;9311:12;:35::i;:::-;9071:310;8944:437;7746:1646;7708:1684;9407:11;;9404:161;;9475:4;9457:24;;;;:9;:24;;;;;;:39;;9486:9;9457:28;:39::i;:::-;9450:4;9432:24;;;;:9;:24;;;;;;;:64;;;;9514:39;;-1:-1:-1;;;;;9514:39:0;;;;;;;9543:9;1500:25:1;;1488:2;1473:18;;1354:177;9514:39:0;;;;;;;;9404:161;-1:-1:-1;;;;;9591:15:0;;;;;;:9;:15;;;;;;:27;;9611:6;9591:19;:27::i;:::-;-1:-1:-1;;;;;9575:15:0;;;;;;:9;:15;;;;;:43;9643:40;9661:21;:6;9672:9;9661:10;:21::i;:::-;-1:-1:-1;;;;;9643:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9629:13:0;;;;;;;:9;:13;;;;;:54;;;;9699:41;;;9718:21;:6;9729:9;9718:10;:21::i;:::-;9699:41;;1500:25:1;;;1488:2;1473:18;9699:41:0;;;;;;;7438:2310;7369:2379;;;:::o;1494:190::-;1580:7;1616:12;1608:6;;;;1600:29;;;;-1:-1:-1;;;1600:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1640:9:0;1652:5;1656:1;1652;:5;:::i;:::-;1640:17;1494:190;-1:-1:-1;;;;;1494:190:0:o;9864:483::-;5312:6;:13;;-1:-1:-1;;;;5312:13:0;-1:-1:-1;;;5312:13:0;;;9966:16:::1;::::0;;9980:1:::1;9966:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9966:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9966:16:0::1;9942:40;;10011:4;9993;9998:1;9993:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;9993:23:0::1;;;-1:-1:-1::0;;;;;9993:23:0::1;;;::::0;::::1;10037:15;;;;;;;;;-1:-1:-1::0;;;;;10037:15:0::1;-1:-1:-1::0;;;;;10037:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10027:4;10032:1;10027:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10027:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10102:15:::1;::::0;10070:62:::1;::::0;10087:4:::1;::::0;10102:15:::1;::::0;::::1;;10120:11:::0;10070:8:::1;:62::i;:::-;10143:15;::::0;:196:::1;::::0;-1:-1:-1;;;10143:196:0;;:15:::1;::::0;;::::1;-1:-1:-1::0;;;;;10143:15:0::1;::::0;:66:::1;::::0;:196:::1;::::0;10224:11;;10250:1:::1;::::0;10266:4;;10293::::1;::::0;10313:15:::1;::::0;10143:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5348:6:0;:14;;-1:-1:-1;;;;5348:14:0;;;-1:-1:-1;;;;9864:483:0:o;10771:92::-;10828:10;;:27;;:10;;;;-1:-1:-1;;;;;10828:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;1692:246;1750:7;1774:1;1779;1774:6;1770:47;;-1:-1:-1;1804:1:0;1797:8;;1770:47;1827:9;1839:5;1843:1;1839;:5;:::i;:::-;1827:17;-1:-1:-1;1872:1:0;1863:5;1867:1;1827:17;1863:5;:::i;:::-;:10;1855:56;;;;-1:-1:-1;;;1855:56:0;;14440:2:1;1855:56:0;;;14422:21:1;14479:2;14459:18;;;14452:30;14518:34;14498:18;;;14491:62;-1:-1:-1;;;14569:18:1;;;14562:31;14610:19;;1855:56:0;14238:397:1;1855:56:0;1929:1;1692:246;-1:-1:-1;;;1692:246:0:o;1946:132::-;2004:7;2031:39;2035:1;2038;2031:39;;;;;;;;;;;;;;;;;:3;:39::i;9758:98::-;9815:7;9842:1;9840;:3;9839:9;;9847:1;9839:9;;;-1:-1:-1;9845:1:0;9758:98;-1:-1:-1;9758:98:0:o;1163:179::-;1221:7;;1253:5;1257:1;1253;:5;:::i;:::-;1241:17;;1282:1;1277;:6;;1269:46;;;;-1:-1:-1;;;1269:46:0;;14842:2:1;1269:46:0;;;14824:21:1;14881:2;14861:18;;;14854:30;14920:29;14900:18;;;14893:57;14967:18;;1269:46:0;14640:351:1;1350:136:0;1408:7;1435:43;1439:1;1442;1435:43;;;;;;;;;;;;;;;;;:3;:43::i;2086:189::-;2172:7;2207:12;2200:5;2192:28;;;;-1:-1:-1;;;2192:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2231:9:0;2243:5;2247:1;2243;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:134;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:180::-;1595:6;1648:2;1636:9;1627:7;1623:23;1619:32;1616:52;;;1664:1;1661;1654:12;1616:52;-1:-1:-1;1687:23:1;;1536:180;-1:-1:-1;1536:180:1:o;1721:456::-;1798:6;1806;1814;1867:2;1855:9;1846:7;1842:23;1838:32;1835:52;;;1883:1;1880;1873:12;1835:52;1922:9;1909:23;1941:31;1966:5;1941:31;:::i;:::-;1991:5;-1:-1:-1;2048:2:1;2033:18;;2020:32;2061:33;2020:32;2061:33;:::i;:::-;1721:456;;2113:7;;-1:-1:-1;;;2167:2:1;2152:18;;;;2139:32;;1721:456::o;2182:127::-;2243:10;2238:3;2234:20;2231:1;2224:31;2274:4;2271:1;2264:15;2298:4;2295:1;2288:15;2314:1121;2398:6;2429:2;2472;2460:9;2451:7;2447:23;2443:32;2440:52;;;2488:1;2485;2478:12;2440:52;2528:9;2515:23;2557:18;2598:2;2590:6;2587:14;2584:34;;;2614:1;2611;2604:12;2584:34;2652:6;2641:9;2637:22;2627:32;;2697:7;2690:4;2686:2;2682:13;2678:27;2668:55;;2719:1;2716;2709:12;2668:55;2755:2;2742:16;2777:2;2773;2770:10;2767:36;;;2783:18;;:::i;:::-;2829:2;2826:1;2822:10;2861:2;2855:9;2924:2;2920:7;2915:2;2911;2907:11;2903:25;2895:6;2891:38;2979:6;2967:10;2964:22;2959:2;2947:10;2944:18;2941:46;2938:72;;;2990:18;;:::i;:::-;3026:2;3019:22;3076:18;;;3110:15;;;;-1:-1:-1;3152:11:1;;;3148:20;;;3180:19;;;3177:39;;;3212:1;3209;3202:12;3177:39;3236:11;;;;3256:148;3272:6;3267:3;3264:15;3256:148;;;3338:23;3357:3;3338:23;:::i;:::-;3326:36;;3289:12;;;;3382;;;;3256:148;;;3423:6;2314:1121;-1:-1:-1;;;;;;;;2314:1121:1:o;3629:247::-;3688:6;3741:2;3729:9;3720:7;3716:23;3712:32;3709:52;;;3757:1;3754;3747:12;3709:52;3796:9;3783:23;3815:31;3840:5;3815:31;:::i;4089:388::-;4157:6;4165;4218:2;4206:9;4197:7;4193:23;4189:32;4186:52;;;4234:1;4231;4224:12;4186:52;4273:9;4260:23;4292:31;4317:5;4292:31;:::i;:::-;4342:5;-1:-1:-1;4399:2:1;4384:18;;4371:32;4412:33;4371:32;4412:33;:::i;:::-;4464:7;4454:17;;;4089:388;;;;;:::o;4482:356::-;4684:2;4666:21;;;4703:18;;;4696:30;4762:34;4757:2;4742:18;;4735:62;4829:2;4814:18;;4482:356::o;4843:127::-;4904:10;4899:3;4895:20;4892:1;4885:31;4935:4;4932:1;4925:15;4959:4;4956:1;4949:15;4975:416;5064:1;5101:5;5064:1;5115:270;5136:7;5126:8;5123:21;5115:270;;;5195:4;5191:1;5187:6;5183:17;5177:4;5174:27;5171:53;;;5204:18;;:::i;:::-;5254:7;5244:8;5240:22;5237:55;;;5274:16;;;;5237:55;5353:22;;;;5313:15;;;;5115:270;;;5119:3;4975:416;;;;;:::o;5396:806::-;5445:5;5475:8;5465:80;;-1:-1:-1;5516:1:1;5530:5;;5465:80;5564:4;5554:76;;-1:-1:-1;5601:1:1;5615:5;;5554:76;5646:4;5664:1;5659:59;;;;5732:1;5727:130;;;;5639:218;;5659:59;5689:1;5680:10;;5703:5;;;5727:130;5764:3;5754:8;5751:17;5748:43;;;5771:18;;:::i;:::-;-1:-1:-1;;5827:1:1;5813:16;;5842:5;;5639:218;;5941:2;5931:8;5928:16;5922:3;5916:4;5913:13;5909:36;5903:2;5893:8;5890:16;5885:2;5879:4;5876:12;5872:35;5869:77;5866:159;;;-1:-1:-1;5978:19:1;;;6010:5;;5866:159;6057:34;6082:8;6076:4;6057:34;:::i;:::-;6127:6;6123:1;6119:6;6115:19;6106:7;6103:32;6100:58;;;6138:18;;:::i;:::-;6176:20;;5396:806;-1:-1:-1;;;5396:806:1:o;6207:140::-;6265:5;6294:47;6335:4;6325:8;6321:19;6315:4;6294:47;:::i;6352:168::-;6425:9;;;6456;;6473:15;;;6467:22;;6453:37;6443:71;;6494:18;;:::i;6525:127::-;6586:10;6581:3;6577:20;6574:1;6567:31;6617:4;6614:1;6607:15;6641:4;6638:1;6631:15;7009:251;7079:6;7132:2;7120:9;7111:7;7107:23;7103:32;7100:52;;;7148:1;7145;7138:12;7100:52;7180:9;7174:16;7199:31;7224:5;7199:31;:::i;8186:306::-;8274:6;8282;8290;8343:2;8331:9;8322:7;8318:23;8314:32;8311:52;;;8359:1;8356;8349:12;8311:52;8388:9;8382:16;8372:26;;8438:2;8427:9;8423:18;8417:25;8407:35;;8482:2;8471:9;8467:18;8461:25;8451:35;;8186:306;;;;;:::o;8776:277::-;8843:6;8896:2;8884:9;8875:7;8871:23;8867:32;8864:52;;;8912:1;8909;8902:12;8864:52;8944:9;8938:16;8997:5;8990:13;8983:21;8976:5;8973:32;8963:60;;9019:1;9016;9009:12;12273:125;12338:9;;;12359:10;;;12356:36;;;12372:18;;:::i;12758:135::-;12797:3;12818:17;;;12815:43;;12838:18;;:::i;:::-;-1:-1:-1;12885:1:1;12874:13;;12758:135::o;12898:128::-;12965:9;;;12986:11;;;12983:37;;;13000:18;;:::i;13031:980::-;13293:4;13341:3;13330:9;13326:19;13372:6;13361:9;13354:25;13398:2;13436:6;13431:2;13420:9;13416:18;13409:34;13479:3;13474:2;13463:9;13459:18;13452:31;13503:6;13538;13532:13;13569:6;13561;13554:22;13607:3;13596:9;13592:19;13585:26;;13646:2;13638:6;13634:15;13620:29;;13667:1;13677:195;13691:6;13688:1;13685:13;13677:195;;;13756:13;;-1:-1:-1;;;;;13752:39:1;13740:52;;13847:15;;;;13812:12;;;;13788:1;13706:9;13677:195;;;-1:-1:-1;;;;;;;13928:32:1;;;;13923:2;13908:18;;13901:60;-1:-1:-1;;;13992:3:1;13977:19;13970:35;13889:3;13031:980;-1:-1:-1;;;13031:980:1:o;14016:217::-;14056:1;14082;14072:132;;14126:10;14121:3;14117:20;14114:1;14107:31;14161:4;14158:1;14151:15;14189:4;14186:1;14179:15;14072:132;-1:-1:-1;14218:9:1;;14016:217::o
Swarm Source
ipfs://3b395bfe91599c5cf61c2b388ff4b4cef9daf5247acd908acfe637ebb4f2cb96
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.
Add Token to MetaMask (Web3)