ERC-20
Source Code
Overview
Max Total Supply
100,000,000 SF
Holders
2
Transfers
-
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 |
|---|
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x199b3a35...cA7b01af8 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
SocialFlow
Compiler Version
v0.8.23+commit.f704f362
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2025-05-29
*/
// SPDX-License-Identifier: MIT
/*
AI-native platform that streamlines content creation, scheduling, and
growth through adaptive intelligence & predictive, Quantum Probabilistic Forecasting (QPF).
TG: https://t.me/SocialFlow_Ai
X: https://twitter.com/SocialFlow_Ai
Web: https:/sfai.pro/
*/
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 SocialFlow 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;
address payable private _taxWallet;
uint256 private _initialBuyTax = 20;
uint256 private _initialSellTax = 30;
uint256 private _finalBuyTax = 5;
uint256 private _finalSellTax = 5;
uint256 private _reduceBuyTaxAt = 30;
uint256 private _reduceSellTaxAt = 30;
uint256 private _preventSwapBefore = 20;
uint256 private _transferTax = 0;
uint256 private _buyCount = 0;
uint8 private constant _decimals = 9;
uint256 private constant _tTotal = 100_000_000 * 10**_decimals;
string private constant _name = unicode"Social Flow";
string private constant _symbol = unicode"SF";
uint256 public _maxTxAmount= (_tTotal * 2) / 100;
uint256 public _maxWalletSize= (_tTotal * 2) / 100;
uint256 public _taxSwapThreshold= (_tTotal * 35) / 10000;
uint256 public _maxTaxSwap= (_tTotal * 6) / 100;
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private tradingOpen;
bool private inSwap = false;
bool private swapEnabled = false;
uint256 private sellCount = 0;
uint256 private lastSellBlock = 0;
uint256 private firstBlock = 0;
event MaxTxAmountUpdated(uint _maxTxAmount);
event TransferTaxUpdated(uint _tax);
event ClearToken(address TokenAddressCleared, uint256 Amount);
modifier lockTheSwap {
inSwap = true;
_;
inSwap = false;
}
constructor () payable {
_taxWallet = payable(_msgSender());
_balances[address(this)] = _tTotal;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_taxWallet] = true;
uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
_approve(address(this), address(uniswapV2Router), _tTotal);
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
emit Transfer(address(0), address(this), _balances[address(this)]);
}
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()) {
if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to]){
require(tradingOpen, "Trading not opened");
}
if(_buyCount == 0){
taxAmount = amount.mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax).div(100);
}
if(_buyCount > 0){
taxAmount = amount.mul(_transferTax).div(100);
}
if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
taxAmount = amount.mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax).div(100);
_buyCount++;
if(block.number == firstBlock){
require(_buyCount <= 28, "Exceeds buys on the first block.");
}
}
if(to == uniswapV2Pair && from != address(this) ){
taxAmount = amount.mul((_buyCount > _reduceSellTaxAt) ? _finalSellTax : _initialSellTax).div(100);
}
uint256 contractTokenBalance = balanceOf(address(this));
if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) {
if (block.number > lastSellBlock) {
sellCount = 0;
}
require(sellCount < 5, "Only 5 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;
}
}
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 removeALLLimit() external onlyOwner{
_maxTxAmount = _tTotal;
_maxWalletSize = _tTotal;
emit MaxTxAmountUpdated(_tTotal);
}
function removeTransferTax() external onlyOwner{
_transferTax = 0;
emit TransferTaxUpdated(0);
}
function sendETHToFee(uint256 amount) private {
_taxWallet.transfer(amount);
}
function addLP() external onlyOwner() {
uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp);
}
function openTrading() external onlyOwner() {
require(!tradingOpen,"trading is already open");
IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
swapEnabled = true;
tradingOpen = true;
firstBlock = block.number;
}
receive() external payable {}
function reduceFee(uint256 _newFee) external{
require(_msgSender() == _taxWallet);
require(_newFee <= _finalBuyTax && _newFee <= _finalSellTax);
_finalBuyTax = _newFee;
_finalSellTax = _newFee;
}
function clearStuckToken(address tokenAddress, uint256 tokens) external returns (bool success) {
require(_msgSender() == _taxWallet);
if(tokens == 0){
tokens = IERC20(tokenAddress).balanceOf(address(this));
}
emit ClearToken(tokenAddress,tokens);
return IERC20(tokenAddress).transfer(_taxWallet, tokens);
}
function manualSend() external {
require(_msgSender() == _taxWallet);
uint256 ethBalance= address(this).balance;
require(ethBalance > 0, "Contract balance must be greater than zero");
sendETHToFee(ethBalance);
}
function manualunclog() 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
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"TokenAddressCleared","type":"address"},{"indexed":false,"internalType":"uint256","name":"Amount","type":"uint256"}],"name":"ClearToken","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"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":[],"name":"addLP","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":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualunclog","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":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeALLLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferTax","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":[{"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
0x60806040526014600555601e60065560056007556005600855601e600955601e600a556014600b555f600c555f600d5560646009600a62000041919062000695565b62000051906305f5e100620006ac565b6200005e906002620006ac565b6200006a9190620006c6565b600e5560646200007d6009600a62000695565b6200008d906305f5e100620006ac565b6200009a906002620006ac565b620000a69190620006c6565b600f55612710620000ba6009600a62000695565b620000ca906305f5e100620006ac565b620000d7906023620006ac565b620000e39190620006c6565b6010556064620000f66009600a62000695565b62000106906305f5e100620006ac565b62000113906006620006ac565b6200011f9190620006c6565b6011556013805461ffff60a81b191690555f60148190556015819055601681905580546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b031916331790556200019f6009600a62000695565b620001af906305f5e100620006ac565b305f908152600160208190526040822092909255600390620001d85f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055308082526003909452828120805486166001908117909155600454909216815291909120805490931617909155601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556200028591906200026f6009600a62000695565b6200027f906305f5e100620006ac565b6200045b565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002d6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002fc9190620006e6565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200035c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003829190620006e6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620003cd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620003f39190620006e6565b601380546001600160a01b0319166001600160a01b0392909216919091179055305f8181526001602090815260408083205490519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36200070e565b6001600160a01b038316620004c35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b038216620005265760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401620004ba565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620005da57815f1904821115620005be57620005be62000586565b80851615620005cc57918102915b93841c93908002906200059f565b509250929050565b5f82620005f2575060016200068f565b816200060057505f6200068f565b8160018114620006195760028114620006245762000644565b60019150506200068f565b60ff84111562000638576200063862000586565b50506001821b6200068f565b5060208310610133831016604e8410600b841016171562000669575081810a6200068f565b6200067583836200059a565b805f19048211156200068b576200068b62000586565b0290505b92915050565b5f620006a560ff841683620005e2565b9392505050565b80820281158282048414176200068f576200068f62000586565b5f82620006e157634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215620006f7575f80fd5b81516001600160a01b0381168114620006a5575f80fd5b611a50806200071c5f395ff3fe60806040526004361061013f575f3560e01c80637d1db4a5116100b3578063bf474bed1161006d578063bf474bed1461036d578063c9567bf914610382578063dd62ed3e14610396578063ec1f3f63146103da578063f4293890146103f9578063faf3eea91461040d575f80fd5b80637d1db4a5146102c05780638da5cb5b146102d55780638f9a55c0146102fb57806395d89b4114610310578063a9059cbb1461033a578063bc37e1a314610359575f80fd5b806323b872dd1161010457806323b872dd1461020b578063313ce5671461022a5780633ba9ab191461024557806370a0823114610259578063715018a61461028d57806377b54bad146102a1575f80fd5b806306fdde031461014a578063095ea7b31461018f5780630faee56f146101be578063109daa99146101e157806318160ddd146101f7575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b5060408051808201909152600b81526a536f6369616c20466c6f7760a81b60208201525b6040516101869190611615565b60405180910390f35b34801561019a575f80fd5b506101ae6101a9366004611675565b610421565b6040519015158152602001610186565b3480156101c9575f80fd5b506101d360115481565b604051908152602001610186565b3480156101ec575f80fd5b506101f5610437565b005b348015610202575f80fd5b506101d36104a5565b348015610216575f80fd5b506101ae61022536600461169f565b6104c5565b348015610235575f80fd5b5060405160098152602001610186565b348015610250575f80fd5b506101f561052c565b348015610264575f80fd5b506101d36102733660046116dd565b6001600160a01b03165f9081526001602052604090205490565b348015610298575f80fd5b506101f561057d565b3480156102ac575f80fd5b506101ae6102bb366004611675565b6105ee565b3480156102cb575f80fd5b506101d3600e5481565b3480156102e0575f80fd5b505f546040516001600160a01b039091168152602001610186565b348015610306575f80fd5b506101d3600f5481565b34801561031b575f80fd5b5060408051808201909152600281526129a360f11b6020820152610179565b348015610345575f80fd5b506101ae610354366004611675565b61073e565b348015610364575f80fd5b506101f561074a565b348015610378575f80fd5b506101d360105481565b34801561038d575f80fd5b506101f5610847565b3480156103a1575f80fd5b506101d36103b03660046116f8565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103e5575f80fd5b506101f56103f436600461172f565b61095e565b348015610404575f80fd5b506101f56109a3565b348015610418575f80fd5b506101f5610a2f565b5f61042d338484610adb565b5060015b92915050565b5f546001600160a01b031633146104695760405162461bcd60e51b815260040161046090611746565b60405180910390fd5b5f600c8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6104b26009600a61186f565b6104c0906305f5e10061187d565b905090565b5f6104d1848484610bfe565b610522843361051d856040518060600160405280602881526020016119f3602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611298565b610adb565b5060019392505050565b6004546001600160a01b0316336001600160a01b03161461054b575f80fd5b305f90815260016020526040902054801561056957610569816112d0565b4780156105795761057981611440565b5050565b5f546001600160a01b031633146105a65760405162461bcd60e51b815260040161046090611746565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6004545f906001600160a01b0316336001600160a01b03161461060f575f80fd5b815f0361067f576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610658573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067c9190611894565b91505b604080516001600160a01b0385168152602081018490527fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f910160405180910390a16004805460405163a9059cbb60e01b81526001600160a01b03918216928101929092526024820184905284169063a9059cbb906044016020604051808303815f875af1158015610713573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061073791906118ab565b9392505050565b5f61042d338484610bfe565b5f546001600160a01b031633146107735760405162461bcd60e51b815260040161046090611746565b6012546001600160a01b031663f305d71947306107a4816001600160a01b03165f9081526001602052604090205490565b5f806107b75f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561081d573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061084291906118ca565b505050565b5f546001600160a01b031633146108705760405162461bcd60e51b815260040161046090611746565b601354600160a01b900460ff16156108ca5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610460565b60135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af115801561091c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061094091906118ab565b506013805462ff00ff60a01b19166201000160a01b17905543601655565b6004546001600160a01b0316336001600160a01b03161461097d575f80fd5b600754811115801561099157506008548111155b610999575f80fd5b6007819055600855565b6004546001600160a01b0316336001600160a01b0316146109c2575f80fd5b4780610a235760405162461bcd60e51b815260206004820152602a60248201527f436f6e74726163742062616c616e6365206d7573742062652067726561746572604482015269207468616e207a65726f60b01b6064820152608401610460565b610a2c81611440565b50565b5f546001600160a01b03163314610a585760405162461bcd60e51b815260040161046090611746565b610a646009600a61186f565b610a72906305f5e10061187d565b600e55610a816009600a61186f565b610a8f906305f5e10061187d565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610abf6009600a61186f565b610acd906305f5e10061187d565b60405190815260200161049b565b6001600160a01b038316610b3d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610460565b6001600160a01b038216610b9e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610460565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c625760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610460565b6001600160a01b038216610cc45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610460565b5f8111610d255760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610460565b5f80546001600160a01b03858116911614801590610d5057505f546001600160a01b03848116911614155b1561115b576001600160a01b0384165f9081526003602052604090205460ff16158015610d9557506001600160a01b0383165f9081526003602052604090205460ff16155b15610de857601354600160a01b900460ff16610de85760405162461bcd60e51b8152602060048201526012602482015271151c98591a5b99c81b9bdd081bdc195b995960721b6044820152606401610460565b600d545f03610e2057610e1d6064610e17600954600d5411610e0c57600554610e10565b6007545b8590611477565b906114f5565b90505b600d5415610e4557610e426064610e17600c548561147790919063ffffffff16565b90505b6013546001600160a01b038581169116148015610e7057506012546001600160a01b03848116911614155b8015610e9457506001600160a01b0383165f9081526003602052604090205460ff16155b15610ff257600e54821115610eeb5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610460565b600f5482610f0d856001600160a01b03165f9081526001602052604090205490565b610f1791906118f5565b1115610f655760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610460565b610f806064610e17600954600d5411610e0c57600554610e10565b600d80549192505f610f9183611908565b91905055506016544303610ff257601c600d541115610ff25760405162461bcd60e51b815260206004820181905260248201527f457863656564732062757973206f6e2074686520666972737420626c6f636b2e6044820152606401610460565b6013546001600160a01b03848116911614801561101857506001600160a01b0384163014155b15611045576110426064610e17600a54600d541161103857600654610e10565b6008548590611477565b90505b305f90815260016020526040902054601354600160a81b900460ff1615801561107b57506013546001600160a01b038581169116145b80156110905750601354600160b01b900460ff165b801561109d575060105481115b80156110ac5750600b54600d54115b15611159576015544311156110c0575f6014555b6005601454106111125760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920352073656c6c732070657220626c6f636b210000000000000000006044820152606401610460565b61112f61112a8461112584601154611536565b611536565b6112d0565b47801561113f5761113f47611440565b60148054905f61114e83611908565b909155505043601555505b505b80156111d357305f9081526001602052604090205461117a908261154a565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111ca9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546111f590836115a8565b6001600160a01b0385165f9081526001602052604090205561123861121a83836115a8565b6001600160a01b0385165f908152600160205260409020549061154a565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61128185856115a8565b60405190815260200160405180910390a350505050565b5f81848411156112bb5760405162461bcd60e51b81526004016104609190611615565b505f6112c78486611920565b95945050505050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061131657611316611933565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561136d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113919190611947565b816001815181106113a4576113a4611933565b6001600160a01b0392831660209182029290920101526012546113ca9130911684610adb565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906114029085905f90869030904290600401611962565b5f604051808303815f87803b158015611419575f80fd5b505af115801561142b573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610579573d5f803e3d5ffd5b5f825f0361148657505f610431565b5f611491838561187d565b90508261149e85836119d3565b146107375760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610460565b5f61073783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115e9565b5f8183116115445782610737565b50919050565b5f8061155683856118f5565b9050838110156107375760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610460565b5f61073783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611298565b5f81836116095760405162461bcd60e51b81526004016104609190611615565b505f6112c784866119d3565b5f602080835283518060208501525f5b8181101561164157858101830151858201604001528201611625565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a2c575f80fd5b5f8060408385031215611686575f80fd5b823561169181611661565b946020939093013593505050565b5f805f606084860312156116b1575f80fd5b83356116bc81611661565b925060208401356116cc81611661565b929592945050506040919091013590565b5f602082840312156116ed575f80fd5b813561073781611661565b5f8060408385031215611709575f80fd5b823561171481611661565b9150602083013561172481611661565b809150509250929050565b5f6020828403121561173f575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117c957815f19048211156117af576117af61177b565b808516156117bc57918102915b93841c9390800290611794565b509250929050565b5f826117df57506001610431565b816117eb57505f610431565b8160018114611801576002811461180b57611827565b6001915050610431565b60ff84111561181c5761181c61177b565b50506001821b610431565b5060208310610133831016604e8410600b841016171561184a575081810a610431565b611854838361178f565b805f19048211156118675761186761177b565b029392505050565b5f61073760ff8416836117d1565b80820281158282048414176104315761043161177b565b5f602082840312156118a4575f80fd5b5051919050565b5f602082840312156118bb575f80fd5b81518015158114610737575f80fd5b5f805f606084860312156118dc575f80fd5b8351925060208401519150604084015190509250925092565b808201808211156104315761043161177b565b5f600182016119195761191961177b565b5060010190565b818103818111156104315761043161177b565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611957575f80fd5b815161073781611661565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119b25784516001600160a01b03168352938301939183019160010161198d565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826119ed57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bdb768f139a6527ae44073a48b6adc696c4391df4cf6b9e1f24020f6adf1eacb64736f6c63430008170033
Deployed Bytecode
0x60806040526004361061013f575f3560e01c80637d1db4a5116100b3578063bf474bed1161006d578063bf474bed1461036d578063c9567bf914610382578063dd62ed3e14610396578063ec1f3f63146103da578063f4293890146103f9578063faf3eea91461040d575f80fd5b80637d1db4a5146102c05780638da5cb5b146102d55780638f9a55c0146102fb57806395d89b4114610310578063a9059cbb1461033a578063bc37e1a314610359575f80fd5b806323b872dd1161010457806323b872dd1461020b578063313ce5671461022a5780633ba9ab191461024557806370a0823114610259578063715018a61461028d57806377b54bad146102a1575f80fd5b806306fdde031461014a578063095ea7b31461018f5780630faee56f146101be578063109daa99146101e157806318160ddd146101f7575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b5060408051808201909152600b81526a536f6369616c20466c6f7760a81b60208201525b6040516101869190611615565b60405180910390f35b34801561019a575f80fd5b506101ae6101a9366004611675565b610421565b6040519015158152602001610186565b3480156101c9575f80fd5b506101d360115481565b604051908152602001610186565b3480156101ec575f80fd5b506101f5610437565b005b348015610202575f80fd5b506101d36104a5565b348015610216575f80fd5b506101ae61022536600461169f565b6104c5565b348015610235575f80fd5b5060405160098152602001610186565b348015610250575f80fd5b506101f561052c565b348015610264575f80fd5b506101d36102733660046116dd565b6001600160a01b03165f9081526001602052604090205490565b348015610298575f80fd5b506101f561057d565b3480156102ac575f80fd5b506101ae6102bb366004611675565b6105ee565b3480156102cb575f80fd5b506101d3600e5481565b3480156102e0575f80fd5b505f546040516001600160a01b039091168152602001610186565b348015610306575f80fd5b506101d3600f5481565b34801561031b575f80fd5b5060408051808201909152600281526129a360f11b6020820152610179565b348015610345575f80fd5b506101ae610354366004611675565b61073e565b348015610364575f80fd5b506101f561074a565b348015610378575f80fd5b506101d360105481565b34801561038d575f80fd5b506101f5610847565b3480156103a1575f80fd5b506101d36103b03660046116f8565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103e5575f80fd5b506101f56103f436600461172f565b61095e565b348015610404575f80fd5b506101f56109a3565b348015610418575f80fd5b506101f5610a2f565b5f61042d338484610adb565b5060015b92915050565b5f546001600160a01b031633146104695760405162461bcd60e51b815260040161046090611746565b60405180910390fd5b5f600c8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6104b26009600a61186f565b6104c0906305f5e10061187d565b905090565b5f6104d1848484610bfe565b610522843361051d856040518060600160405280602881526020016119f3602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611298565b610adb565b5060019392505050565b6004546001600160a01b0316336001600160a01b03161461054b575f80fd5b305f90815260016020526040902054801561056957610569816112d0565b4780156105795761057981611440565b5050565b5f546001600160a01b031633146105a65760405162461bcd60e51b815260040161046090611746565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6004545f906001600160a01b0316336001600160a01b03161461060f575f80fd5b815f0361067f576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610658573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067c9190611894565b91505b604080516001600160a01b0385168152602081018490527fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f910160405180910390a16004805460405163a9059cbb60e01b81526001600160a01b03918216928101929092526024820184905284169063a9059cbb906044016020604051808303815f875af1158015610713573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061073791906118ab565b9392505050565b5f61042d338484610bfe565b5f546001600160a01b031633146107735760405162461bcd60e51b815260040161046090611746565b6012546001600160a01b031663f305d71947306107a4816001600160a01b03165f9081526001602052604090205490565b5f806107b75f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561081d573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061084291906118ca565b505050565b5f546001600160a01b031633146108705760405162461bcd60e51b815260040161046090611746565b601354600160a01b900460ff16156108ca5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610460565b60135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af115801561091c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061094091906118ab565b506013805462ff00ff60a01b19166201000160a01b17905543601655565b6004546001600160a01b0316336001600160a01b03161461097d575f80fd5b600754811115801561099157506008548111155b610999575f80fd5b6007819055600855565b6004546001600160a01b0316336001600160a01b0316146109c2575f80fd5b4780610a235760405162461bcd60e51b815260206004820152602a60248201527f436f6e74726163742062616c616e6365206d7573742062652067726561746572604482015269207468616e207a65726f60b01b6064820152608401610460565b610a2c81611440565b50565b5f546001600160a01b03163314610a585760405162461bcd60e51b815260040161046090611746565b610a646009600a61186f565b610a72906305f5e10061187d565b600e55610a816009600a61186f565b610a8f906305f5e10061187d565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610abf6009600a61186f565b610acd906305f5e10061187d565b60405190815260200161049b565b6001600160a01b038316610b3d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610460565b6001600160a01b038216610b9e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610460565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c625760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610460565b6001600160a01b038216610cc45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610460565b5f8111610d255760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610460565b5f80546001600160a01b03858116911614801590610d5057505f546001600160a01b03848116911614155b1561115b576001600160a01b0384165f9081526003602052604090205460ff16158015610d9557506001600160a01b0383165f9081526003602052604090205460ff16155b15610de857601354600160a01b900460ff16610de85760405162461bcd60e51b8152602060048201526012602482015271151c98591a5b99c81b9bdd081bdc195b995960721b6044820152606401610460565b600d545f03610e2057610e1d6064610e17600954600d5411610e0c57600554610e10565b6007545b8590611477565b906114f5565b90505b600d5415610e4557610e426064610e17600c548561147790919063ffffffff16565b90505b6013546001600160a01b038581169116148015610e7057506012546001600160a01b03848116911614155b8015610e9457506001600160a01b0383165f9081526003602052604090205460ff16155b15610ff257600e54821115610eeb5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610460565b600f5482610f0d856001600160a01b03165f9081526001602052604090205490565b610f1791906118f5565b1115610f655760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610460565b610f806064610e17600954600d5411610e0c57600554610e10565b600d80549192505f610f9183611908565b91905055506016544303610ff257601c600d541115610ff25760405162461bcd60e51b815260206004820181905260248201527f457863656564732062757973206f6e2074686520666972737420626c6f636b2e6044820152606401610460565b6013546001600160a01b03848116911614801561101857506001600160a01b0384163014155b15611045576110426064610e17600a54600d541161103857600654610e10565b6008548590611477565b90505b305f90815260016020526040902054601354600160a81b900460ff1615801561107b57506013546001600160a01b038581169116145b80156110905750601354600160b01b900460ff165b801561109d575060105481115b80156110ac5750600b54600d54115b15611159576015544311156110c0575f6014555b6005601454106111125760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920352073656c6c732070657220626c6f636b210000000000000000006044820152606401610460565b61112f61112a8461112584601154611536565b611536565b6112d0565b47801561113f5761113f47611440565b60148054905f61114e83611908565b909155505043601555505b505b80156111d357305f9081526001602052604090205461117a908261154a565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111ca9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546111f590836115a8565b6001600160a01b0385165f9081526001602052604090205561123861121a83836115a8565b6001600160a01b0385165f908152600160205260409020549061154a565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61128185856115a8565b60405190815260200160405180910390a350505050565b5f81848411156112bb5760405162461bcd60e51b81526004016104609190611615565b505f6112c78486611920565b95945050505050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061131657611316611933565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561136d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113919190611947565b816001815181106113a4576113a4611933565b6001600160a01b0392831660209182029290920101526012546113ca9130911684610adb565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906114029085905f90869030904290600401611962565b5f604051808303815f87803b158015611419575f80fd5b505af115801561142b573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610579573d5f803e3d5ffd5b5f825f0361148657505f610431565b5f611491838561187d565b90508261149e85836119d3565b146107375760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610460565b5f61073783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115e9565b5f8183116115445782610737565b50919050565b5f8061155683856118f5565b9050838110156107375760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610460565b5f61073783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611298565b5f81836116095760405162461bcd60e51b81526004016104609190611615565b505f6112c784866119d3565b5f602080835283518060208501525f5b8181101561164157858101830151858201604001528201611625565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a2c575f80fd5b5f8060408385031215611686575f80fd5b823561169181611661565b946020939093013593505050565b5f805f606084860312156116b1575f80fd5b83356116bc81611661565b925060208401356116cc81611661565b929592945050506040919091013590565b5f602082840312156116ed575f80fd5b813561073781611661565b5f8060408385031215611709575f80fd5b823561171481611661565b9150602083013561172481611661565b809150509250929050565b5f6020828403121561173f575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117c957815f19048211156117af576117af61177b565b808516156117bc57918102915b93841c9390800290611794565b509250929050565b5f826117df57506001610431565b816117eb57505f610431565b8160018114611801576002811461180b57611827565b6001915050610431565b60ff84111561181c5761181c61177b565b50506001821b610431565b5060208310610133831016604e8410600b841016171561184a575081810a610431565b611854838361178f565b805f19048211156118675761186761177b565b029392505050565b5f61073760ff8416836117d1565b80820281158282048414176104315761043161177b565b5f602082840312156118a4575f80fd5b5051919050565b5f602082840312156118bb575f80fd5b81518015158114610737575f80fd5b5f805f606084860312156118dc575f80fd5b8351925060208401519150604084015190509250925092565b808201808211156104315761043161177b565b5f600182016119195761191961177b565b5060010190565b818103818111156104315761043161177b565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611957575f80fd5b815161073781611661565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119b25784516001600160a01b03168352938301939183019160010161198d565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826119ed57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bdb768f139a6527ae44073a48b6adc696c4391df4cf6b9e1f24020f6adf1eacb64736f6c63430008170033
Deployed Bytecode Sourcemap
3746:9545:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6103:83;;;;;;;;;;-1:-1:-1;6173:5:0;;;;;;;;;;;;-1:-1:-1;;;6173:5:0;;;;6103:83;;;;;;;:::i;:::-;;;;;;;;6936:161;;;;;;;;;;-1:-1:-1;6936:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6936:161:0;1023:187:1;4837:47:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4837:47:0;1215:177:1;11293:119:0;;;;;;;;;;;;;:::i;:::-;;6380:95;;;;;;;;;;;;;:::i;7105:313::-;;;;;;;;;;-1:-1:-1;7105:313:0;;;;;:::i;:::-;;:::i;6289:83::-;;;;;;;;;;-1:-1:-1;6289:83:0;;4474:1;2000:36:1;;1988:2;1973:18;6289:83:0;1858:184:1;12944:344:0;;;;;;;;;;;;;:::i;6483:119::-;;;;;;;;;;-1:-1:-1;6483:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6576:18:0;6549:7;6576:18;;;:9;:18;;;;;;;6483:119;2827:148;;;;;;;;;;;;;:::i;12301:373::-;;;;;;;;;;-1:-1:-1;12301:373:0;;;;;:::i;:::-;;:::i;4662:48::-;;;;;;;;;;;;;;;;2613:79;;;;;;;;;;-1:-1:-1;2651:7:0;2678:6;2613:79;;-1:-1:-1;;;;;2678:6:0;;;2445:51:1;;2433:2;2418:18;2613:79:0;2299:203:1;4717:50:0;;;;;;;;;;;;;;;;6194:87;;;;;;;;;;-1:-1:-1;6266:7:0;;;;;;;;;;;;-1:-1:-1;;;6266:7:0;;;;6194:87;;6610:167;;;;;;;;;;-1:-1:-1;6610:167:0;;;;;:::i;:::-;;:::i;11520:192::-;;;;;;;;;;;;;:::i;4774:56::-;;;;;;;;;;;;;;;;11720:286;;;;;;;;;;;;;:::i;6785:143::-;;;;;;;;;;-1:-1:-1;6785:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6893:18:0;;;6866:7;6893:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6785:143;12055:238;;;;;;;;;;-1:-1:-1;12055:238:0;;;;;:::i;:::-;;:::i;12682:254::-;;;;;;;;;;;;;:::i;11122:163::-;;;;;;;;;;;;;:::i;6936:161::-;7011:4;7028:39;448:10;7051:7;7060:6;7028:8;:39::i;:::-;-1:-1:-1;7085:4:0;6936:161;;;;;:::o;11293:119::-;2740:6;;-1:-1:-1;;;;;2740:6:0;448:10;2740:22;2732:67;;;;-1:-1:-1;;;2732:67:0;;;;;;;:::i;:::-;;;;;;;;;11366:1:::1;11351:12;:16:::0;;;11383:21:::1;::::0;1361:25:1;;;11383:21:0::1;::::0;1349:2:1;1334:18;11383:21:0::1;;;;;;;;11293:119::o:0;6380:95::-;6433:7;4531:13;4474:1;4531:2;:13;:::i;:::-;4517:27;;:11;:27;:::i;:::-;6453:14;;6380:95;:::o;7105:313::-;7203:4;7220:36;7230:6;7238:9;7249:6;7220:9;:36::i;:::-;7267:121;7276:6;448:10;7298:89;7336:6;7298:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7298:19:0;;;;;;:11;:19;;;;;;;;448:10;7298:33;;;;;;;;;;:37;:89::i;:::-;7267:8;:121::i;:::-;-1:-1:-1;7406:4:0;7105:313;;;;;:::o;12944:344::-;13012:10;;-1:-1:-1;;;;;13012:10:0;448;-1:-1:-1;;;;;12996:26:0;;12988:35;;;;;;13077:4;13036:20;6576:18;;;:9;:18;;;;;;13097:16;;13094:75;;13127:30;13144:12;13127:16;:30::i;:::-;13202:21;13237:14;;13234:47;;13254:24;13267:10;13254:12;:24::i;:::-;12977:311;;12944:344::o;2827:148::-;2740:6;;-1:-1:-1;;;;;2740:6:0;448:10;2740:22;2732:67;;;;-1:-1:-1;;;2732:67:0;;;;;;;:::i;:::-;2934:1:::1;2918:6:::0;;2897:40:::1;::::0;-1:-1:-1;;;;;2918:6:0;;::::1;::::0;2897:40:::1;::::0;2934:1;;2897:40:::1;2965:1;2948:19:::0;;-1:-1:-1;;;;;;2948:19:0::1;::::0;;2827:148::o;12301:373::-;12431:10;;12382:12;;-1:-1:-1;;;;;12431:10:0;448;-1:-1:-1;;;;;12415:26:0;;12407:35;;;;;;12458:6;12468:1;12458:11;12455:96;;12494:45;;-1:-1:-1;;;12494:45:0;;12533:4;12494:45;;;2445:51:1;-1:-1:-1;;;;;12494:30:0;;;;;2418:18:1;;12494:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12485:54;;12455:96;12568:31;;;-1:-1:-1;;;;;5699:32:1;;5681:51;;5763:2;5748:18;;5741:34;;;12568:31:0;;5654:18:1;12568:31:0;;;;;;;12647:10;;;12617:49;;-1:-1:-1;;;12617:49:0;;-1:-1:-1;;;;;12647:10:0;;;12617:49;;;5681:51:1;;;;5748:18;;;5741:34;;;12617:29:0;;;;;5654:18:1;;12617:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12610:56;12301:373;-1:-1:-1;;;12301:373:0:o;6610:167::-;6688:4;6705:42;448:10;6729:9;6740:6;6705:9;:42::i;11520:192::-;2740:6;;-1:-1:-1;;;;;2740:6:0;448:10;2740:22;2732:67;;;;-1:-1:-1;;;2732:67:0;;;;;;;:::i;:::-;11570:15:::1;::::0;-1:-1:-1;;;;;11570:15:0::1;:31;11609:21;11640:4;11647:24;11640:4:::0;-1:-1:-1;;;;;6576:18:0;6549:7;6576:18;;;:9;:18;;;;;;;6483:119;11647:24:::1;11673:1;11676::::0;11679:7:::1;2651::::0;2678:6;-1:-1:-1;;;;;2678:6:0;;2613:79;11679:7:::1;11570:134;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11570:134:0;;;-1:-1:-1;;;;;6714:15:1;;;11570:134:0::1;::::0;::::1;6696:34:1::0;6746:18;;;6739:34;;;;6789:18;;;6782:34;;;;6832:18;;;6825:34;6896:15;;;6875:19;;;6868:44;11688:15:0::1;6928:19:1::0;;;6921:35;6630:19;;11570:134:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11520:192::o:0;11720:286::-;2740:6;;-1:-1:-1;;;;;2740:6:0;448:10;2740:22;2732:67;;;;-1:-1:-1;;;2732:67:0;;;;;;;:::i;:::-;11784:11:::1;::::0;-1:-1:-1;;;11784:11:0;::::1;;;11783:12;11775:47;;;::::0;-1:-1:-1;;;11775:47:0;;7480:2:1;11775:47:0::1;::::0;::::1;7462:21:1::0;7519:2;7499:18;;;7492:30;7558:25;7538:18;;;7531:53;7601:18;;11775:47:0::1;7278:347:1::0;11775:47:0::1;11840:13;::::0;11871:15:::1;::::0;11833:71:::1;::::0;-1:-1:-1;;;11833:71:0;;-1:-1:-1;;;;;11871:15:0;;::::1;11833:71;::::0;::::1;5681:51:1::0;-1:-1:-1;;5748:18:1;;;5741:34;11840:13:0;::::1;::::0;11833:29:::1;::::0;5654:18:1;;11833:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11915:11:0::1;:18:::0;;-1:-1:-1;;;;11944:18:0;-1:-1:-1;;;11944:18:0;;;11986:12:::1;11915:11;11973:25:::0;11720:286::o;12055:238::-;12134:10;;-1:-1:-1;;;;;12134:10:0;448;-1:-1:-1;;;;;12118:26:0;;12110:35;;;;;;12175:12;;12164:7;:23;;:51;;;;;12202:13;;12191:7;:24;;12164:51;12156:60;;;;;;12229:12;:22;;;12262:13;:23;12055:238::o;12682:254::-;12748:10;;-1:-1:-1;;;;;12748:10:0;448;-1:-1:-1;;;;;12732:26:0;;12724:35;;;;;;12792:21;12832:14;12824:69;;;;-1:-1:-1;;;12824:69:0;;7832:2:1;12824:69:0;;;7814:21:1;7871:2;7851:18;;;7844:30;7910:34;7890:18;;;7883:62;-1:-1:-1;;;7961:18:1;;;7954:40;8011:19;;12824:69:0;7630:406:1;12824:69:0;12904:24;12917:10;12904:12;:24::i;:::-;12713:223;12682:254::o;11122:163::-;2740:6;;-1:-1:-1;;;;;2740:6:0;448:10;2740:22;2732:67;;;;-1:-1:-1;;;2732:67:0;;;;;;;:::i;:::-;4531:13:::1;4474:1;4531:2;:13;:::i;:::-;4517:27;::::0;:11:::1;:27;:::i;:::-;11177:12;:22:::0;4531:13:::1;4474:1;4531:2;:13;:::i;:::-;4517:27;::::0;:11:::1;:27;:::i;:::-;11210:14;:24:::0;11250:27:::1;4531:13;4474:1;4531:2;:13;:::i;:::-;4517:27;::::0;:11:::1;:27;:::i;:::-;11250;::::0;1361:25:1;;;1349:2;1334:18;11250:27:0::1;1215:177:1::0;7426:335:0;-1:-1:-1;;;;;7519:19:0;;7511:68;;;;-1:-1:-1;;;7511:68:0;;8243:2:1;7511:68:0;;;8225:21:1;8282:2;8262:18;;;8255:30;8321:34;8301:18;;;8294:62;-1:-1:-1;;;8372:18:1;;;8365:34;8416:19;;7511:68:0;8041:400:1;7511:68:0;-1:-1:-1;;;;;7598:21:0;;7590:68;;;;-1:-1:-1;;;7590:68:0;;8648:2:1;7590:68:0;;;8630:21:1;8687:2;8667:18;;;8660:30;8726:34;8706:18;;;8699:62;-1:-1:-1;;;8777:18:1;;;8770:32;8819:19;;7590:68:0;8446:398:1;7590:68:0;-1:-1:-1;;;;;7669:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7721:32;;1361:25:1;;;7721:32:0;;1334:18:1;7721:32:0;;;;;;;7426:335;;;:::o;7769:2740::-;-1:-1:-1;;;;;7857:18:0;;7849:68;;;;-1:-1:-1;;;7849:68:0;;9051:2:1;7849:68:0;;;9033:21:1;9090:2;9070:18;;;9063:30;9129:34;9109:18;;;9102:62;-1:-1:-1;;;9180:18:1;;;9173:35;9225:19;;7849:68:0;8849:401:1;7849:68:0;-1:-1:-1;;;;;7936:16:0;;7928:64;;;;-1:-1:-1;;;7928:64:0;;9457:2:1;7928:64:0;;;9439:21:1;9496:2;9476:18;;;9469:30;9535:34;9515:18;;;9508:62;-1:-1:-1;;;9586:18:1;;;9579:33;9629:19;;7928:64:0;9255:399:1;7928:64:0;8020:1;8011:6;:10;8003:64;;;;-1:-1:-1;;;8003:64:0;;9861:2:1;8003:64:0;;;9843:21:1;9900:2;9880:18;;;9873:30;9939:34;9919:18;;;9912:62;-1:-1:-1;;;9990:18:1;;;9983:39;10039:19;;8003:64:0;9659:405:1;8003:64:0;8078:17;2678:6;;-1:-1:-1;;;;;8114:15:0;;;2678:6;;8114:15;;;;:32;;-1:-1:-1;2651:7:0;2678:6;-1:-1:-1;;;;;8133:13:0;;;2678:6;;8133:13;;8114:32;8110:2032;;;-1:-1:-1;;;;;8169:24:0;;;;;;:18;:24;;;;;;;;8168:25;:52;;;;-1:-1:-1;;;;;;8198:22:0;;;;;;:18;:22;;;;;;;;8197:23;8168:52;8165:133;;;8248:11;;-1:-1:-1;;;8248:11:0;;;;8240:42;;;;-1:-1:-1;;;8240:42:0;;10271:2:1;8240:42:0;;;10253:21:1;10310:2;10290:18;;;10283:30;-1:-1:-1;;;10329:18:1;;;10322:48;10387:18;;8240:42:0;10069:342:1;8240:42:0;8317:9;;8330:1;8317:14;8314:147;;8363:82;8441:3;8363:73;8387:15;;8375:9;;:27;8374:61;;8421:14;;8374:61;;;8406:12;;8374:61;8363:6;;:10;:73::i;:::-;:77;;:82::i;:::-;8351:94;;8314:147;8480:9;;:13;8477:97;;8525:33;8554:3;8525:24;8536:12;;8525:6;:10;;:24;;;;:::i;:33::-;8513:45;;8477:97;8602:13;;-1:-1:-1;;;;;8594:21:0;;;8602:13;;8594:21;:55;;;;-1:-1:-1;8633:15:0;;-1:-1:-1;;;;;8619:30:0;;;8633:15;;8619:30;;8594:55;:83;;;;-1:-1:-1;;;;;;8655:22:0;;;;;;:18;:22;;;;;;;;8653:24;8594:83;8590:577;;;8717:12;;8707:6;:22;;8699:60;;;;-1:-1:-1;;;8699:60:0;;10618:2:1;8699:60:0;;;10600:21:1;10657:2;10637:18;;;10630:30;10696:27;10676:18;;;10669:55;10741:18;;8699:60:0;10416:349:1;8699:60:0;8812:14;;8802:6;8786:13;8796:2;-1:-1:-1;;;;;6576:18:0;6549:7;6576:18;;;:9;:18;;;;;;;6483:119;8786:13;:22;;;;:::i;:::-;:40;;8778:79;;;;-1:-1:-1;;;8778:79:0;;11102:2:1;8778:79:0;;;11084:21:1;11141:2;11121:18;;;11114:30;11180:28;11160:18;;;11153:56;11226:18;;8778:79:0;10900:350:1;8778:79:0;8888:82;8966:3;8888:73;8912:15;;8900:9;;:27;8899:61;;8946:14;;8899:61;;8888:82;8989:9;:11;;8876:94;;-1:-1:-1;8989:9:0;:11;;;:::i;:::-;;;;;;9038:10;;9022:12;:26;9019:133;;9093:2;9080:9;;:15;;9072:60;;;;-1:-1:-1;;;9072:60:0;;11597:2:1;9072:60:0;;;11579:21:1;;;11616:18;;;11609:30;11675:34;11655:18;;;11648:62;11727:18;;9072:60:0;11395:356:1;9072:60:0;9192:13;;-1:-1:-1;;;;;9186:19:0;;;9192:13;;9186:19;:44;;;;-1:-1:-1;;;;;;9209:21:0;;9225:4;9209:21;;9186:44;9183:181;;;9263:85;9344:3;9263:76;9287:16;;9275:9;;:28;9274:64;;9323:15;;9274:64;;;9307:13;;9263:6;;:10;:76::i;:85::-;9251:97;;9183:181;9429:4;9380:28;6576:18;;;:9;:18;;;;;;9455:6;;-1:-1:-1;;;9455:6:0;;;;9454:7;:30;;;;-1:-1:-1;9471:13:0;;-1:-1:-1;;;;;9465:19:0;;;9471:13;;9465:19;9454:30;:45;;;;-1:-1:-1;9488:11:0;;-1:-1:-1;;;9488:11:0;;;;9454:45;:89;;;;;9526:17;;9503:20;:40;9454:89;:123;;;;;9559:18;;9547:9;;:30;9454:123;9450:681;;;9617:13;;9602:12;:28;9598:90;;;9667:1;9655:9;:13;9598:90;9726:1;9714:9;;:13;9706:49;;;;-1:-1:-1;;;9706:49:0;;11958:2:1;9706:49:0;;;11940:21:1;11997:2;11977:18;;;11970:30;12036:25;12016:18;;;12009:53;12079:18;;9706:49:0;11756:347:1;9706:49:0;9776:68;9793:50;9797:6;9804:38;9808:20;9830:11;;9804:3;:38::i;:::-;9793:3;:50::i;:::-;9776:16;:68::i;:::-;9892:21;9936:22;;9932:106;;9983:35;9996:21;9983:12;:35::i;:::-;10058:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;10103:12:0;10088:13;:27;-1:-1:-1;9450:681:0;8148:1994;8110:2032;10157:13;;10154:166;;10229:4;10211:24;;;;:9;:24;;;;;;:39;;10240:9;10211:28;:39::i;:::-;10202:4;10184:24;;;;:9;:24;;;;;;;:66;;;;10268:40;;-1:-1:-1;;;;;10268:40:0;;;;;;;10298:9;1361:25:1;;1349:2;1334:18;;1215:177;10268:40:0;;;;;;;;10154:166;-1:-1:-1;;;;;10350:15:0;;;;;;:9;:15;;;;;;:27;;10370:6;10350:19;:27::i;:::-;-1:-1:-1;;;;;10332:15:0;;;;;;:9;:15;;;;;:45;10404:40;10422:21;:6;10433:9;10422:10;:21::i;:::-;-1:-1:-1;;;;;10404:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10388:13:0;;;;;;;:9;:13;;;;;:56;;;;10460:41;;;10479:21;:6;10490:9;10479:10;:21::i;:::-;10460:41;;1361:25:1;;;1349:2;1334:18;10460:41:0;;;;;;;7838:2671;7769:2740;;;:::o;1505:190::-;1591:7;1627:12;1619:6;;;;1611:29;;;;-1:-1:-1;;;1611:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1651:9:0;1663:5;1667:1;1663;:5;:::i;:::-;1651:17;1505:190;-1:-1:-1;;;;;1505:190:0:o;10631:483::-;5391:6;:13;;-1:-1:-1;;;;5391:13:0;-1:-1:-1;;;5391:13:0;;;10733:16:::1;::::0;;10747:1:::1;10733:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10733:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10733:16:0::1;10709:40;;10778:4;10760;10765:1;10760:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10760:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10804:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10804:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10760:7;;10804:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10794:4;10799:1;10794:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10794:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10869:15:::1;::::0;10837:62:::1;::::0;10854:4:::1;::::0;10869:15:::1;10887:11:::0;10837:8:::1;:62::i;:::-;10910:15;::::0;:196:::1;::::0;-1:-1:-1;;;10910:196:0;;-1:-1:-1;;;;;10910:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10991:11;;10910:15:::1;::::0;11033:4;;11060::::1;::::0;11080:15:::1;::::0;10910:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5427:6:0;:14;;-1:-1:-1;;;;5427:14:0;;;-1:-1:-1;;;;10631:483:0:o;11420:92::-;11477:10;;:27;;-1:-1:-1;;;;;11477:10:0;;;;:27;;;;;11497:6;;11477:10;:27;:10;:27;11497:6;11477:10;:27;;;;;;;;;;;;;;;;;;;1703:246;1761:7;1785:1;1790;1785:6;1781:47;;-1:-1:-1;1815:1:0;1808:8;;1781:47;1838:9;1850:5;1854:1;1850;:5;:::i;:::-;1838:17;-1:-1:-1;1883:1:0;1874:5;1878:1;1838:17;1874:5;:::i;:::-;:10;1866:56;;;;-1:-1:-1;;;1866:56:0;;14170:2:1;1866:56:0;;;14152:21:1;14209:2;14189:18;;;14182:30;14248:34;14228:18;;;14221:62;-1:-1:-1;;;14299:18:1;;;14292:31;14340:19;;1866:56:0;13968:397:1;1957:132:0;2015:7;2042:39;2046:1;2049;2042:39;;;;;;;;;;;;;;;;;:3;:39::i;10519:104::-;10576:7;10605:1;10601;:5;10600:15;;10614:1;10600:15;;;-1:-1:-1;10610:1:0;10519:104;-1:-1:-1;10519:104:0:o;1174:179::-;1232:7;;1264:5;1268:1;1264;:5;:::i;:::-;1252:17;;1293:1;1288;:6;;1280:46;;;;-1:-1:-1;;;1280:46:0;;14572:2:1;1280:46:0;;;14554:21:1;14611:2;14591:18;;;14584:30;14650:29;14630:18;;;14623:57;14697:18;;1280:46:0;14370:351:1;1361:136:0;1419:7;1446:43;1450:1;1453;1446:43;;;;;;;;;;;;;;;;;:3;:43::i;2097:189::-;2183:7;2218:12;2211:5;2203:28;;;;-1:-1:-1;;;2203:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2242:9:0;2254:5;2258:1;2254;: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:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:180::-;2959:6;3012:2;3000:9;2991:7;2987:23;2983:32;2980:52;;;3028:1;3025;3018:12;2980:52;-1:-1:-1;3051:23:1;;2900:180;-1:-1:-1;2900:180:1:o;3085:356::-;3287:2;3269:21;;;3306:18;;;3299:30;3365:34;3360:2;3345:18;;3338:62;3432:2;3417:18;;3085:356::o;3636:127::-;3697:10;3692:3;3688:20;3685:1;3678:31;3728:4;3725:1;3718:15;3752:4;3749:1;3742:15;3768:416;3857:1;3894:5;3857:1;3908:270;3929:7;3919:8;3916:21;3908:270;;;3988:4;3984:1;3980:6;3976:17;3970:4;3967:27;3964:53;;;3997:18;;:::i;:::-;4047:7;4037:8;4033:22;4030:55;;;4067:16;;;;4030:55;4146:22;;;;4106:15;;;;3908:270;;;3912:3;3768:416;;;;;:::o;4189:806::-;4238:5;4268:8;4258:80;;-1:-1:-1;4309:1:1;4323:5;;4258:80;4357:4;4347:76;;-1:-1:-1;4394:1:1;4408:5;;4347:76;4439:4;4457:1;4452:59;;;;4525:1;4520:130;;;;4432:218;;4452:59;4482:1;4473:10;;4496:5;;;4520:130;4557:3;4547:8;4544:17;4541:43;;;4564:18;;:::i;:::-;-1:-1:-1;;4620:1:1;4606:16;;4635:5;;4432:218;;4734:2;4724:8;4721:16;4715:3;4709:4;4706:13;4702:36;4696:2;4686:8;4683:16;4678:2;4672:4;4669:12;4665:35;4662:77;4659:159;;;-1:-1:-1;4771:19:1;;;4803:5;;4659:159;4850:34;4875:8;4869:4;4850:34;:::i;:::-;4920:6;4916:1;4912:6;4908:19;4899:7;4896:32;4893:58;;;4931:18;;:::i;:::-;4969:20;;4189:806;-1:-1:-1;;;4189:806:1:o;5000:140::-;5058:5;5087:47;5128:4;5118:8;5114:19;5108:4;5087:47;:::i;5145:168::-;5218:9;;;5249;;5266:15;;;5260:22;;5246:37;5236:71;;5287:18;;:::i;5318:184::-;5388:6;5441:2;5429:9;5420:7;5416:23;5412:32;5409:52;;;5457:1;5454;5447:12;5409:52;-1:-1:-1;5480:16:1;;5318:184;-1:-1:-1;5318:184:1:o;6073:277::-;6140:6;6193:2;6181:9;6172:7;6168:23;6164:32;6161:52;;;6209:1;6206;6199:12;6161:52;6241:9;6235:16;6294:5;6287:13;6280:21;6273:5;6270:32;6260:60;;6316:1;6313;6306:12;6967:306;7055:6;7063;7071;7124:2;7112:9;7103:7;7099:23;7095:32;7092:52;;;7140:1;7137;7130:12;7092:52;7169:9;7163:16;7153:26;;7219:2;7208:9;7204:18;7198:25;7188:35;;7263:2;7252:9;7248:18;7242:25;7232:35;;6967:306;;;;;:::o;10770:125::-;10835:9;;;10856:10;;;10853:36;;;10869:18;;:::i;11255:135::-;11294:3;11315:17;;;11312:43;;11335:18;;:::i;:::-;-1:-1:-1;11382:1:1;11371:13;;11255:135::o;12108:128::-;12175:9;;;12196:11;;;12193:37;;;12210:18;;:::i;12373:127::-;12434:10;12429:3;12425:20;12422:1;12415:31;12465:4;12462:1;12455:15;12489:4;12486:1;12479:15;12505:251;12575:6;12628:2;12616:9;12607:7;12603:23;12599:32;12596:52;;;12644:1;12641;12634:12;12596:52;12676:9;12670:16;12695:31;12720:5;12695:31;:::i;12761:980::-;13023:4;13071:3;13060:9;13056:19;13102:6;13091:9;13084:25;13128:2;13166:6;13161:2;13150:9;13146:18;13139:34;13209:3;13204:2;13193:9;13189:18;13182:31;13233:6;13268;13262:13;13299:6;13291;13284:22;13337:3;13326:9;13322:19;13315:26;;13376:2;13368:6;13364:15;13350:29;;13397:1;13407:195;13421:6;13418:1;13415:13;13407:195;;;13486:13;;-1:-1:-1;;;;;13482:39:1;13470:52;;13577:15;;;;13542:12;;;;13518:1;13436:9;13407:195;;;-1:-1:-1;;;;;;;13658:32:1;;;;13653:2;13638:18;;13631:60;-1:-1:-1;;;13722:3:1;13707:19;13700:35;13619:3;12761:980;-1:-1:-1;;;12761:980:1:o;13746:217::-;13786:1;13812;13802:132;;13856:10;13851:3;13847:20;13844:1;13837:31;13891:4;13888:1;13881:15;13919:4;13916:1;13909:15;13802:132;-1:-1:-1;13948:9:1;;13746:217::o
Swarm Source
ipfs://bdb768f139a6527ae44073a48b6adc696c4391df4cf6b9e1f24020f6adf1eacb
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)