ERC-20
Source Code
Overview
Max Total Supply
420,690,000,000 HOES
Holders
50
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 |
|---|
Contract Name:
HOES
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2023-05-19
*/
// SPDX-License-Identifier: MIT
/*
TG: https://t.me/HOES_Portal
Twitter: https://twitter.com/hoes_erc
*/
pragma solidity 0.8.17;
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 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 Auth {
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() external onlyOwner {
owner = address(0);
}
}
interface IDEXFactory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IDEXRouter {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
}
contract HOES is ERC20, Auth {
using SafeMath for uint256;
address immutable WETH;
address constant DEAD = 0x000000000000000000000000000000000000dEaD;
address constant ZERO = 0x0000000000000000000000000000000000000000;
string public constant name = "Hoes";
string public constant symbol = "HOES";
uint8 public constant decimals = 9;
uint256 public constant totalSupply = 420_690_000_000 * 10**decimals;
uint256 public _maxTxAmount = totalSupply / 100;
uint256 public _maxWalletToken = totalSupply / 50;
mapping (address => uint256) public balanceOf;
mapping (address => mapping (address => uint256)) _allowances;
mapping (address => bool) public isFeeExempt;
mapping (address => bool) public isTxLimitExempt;
mapping (address => bool) public isWalletLimitExempt;
uint256 public marketingFee = 5;
uint256 public operationsFee = 5;
uint256 public totalFee = marketingFee + operationsFee;
uint256 public constant feeDenominator = 100;
uint256 buyMultiplier = 200;
uint256 sellMultiplier = 200;
uint256 transferMultiplier = 0;
address marketingFeeReceiver;
address operationsFeeReceiver;
IDEXRouter public router;
address public immutable pair;
bool swapEnabled = true;
uint256 swapThreshold = totalSupply / 200;
bool inSwap;
modifier swapping() { inSwap = true; _; inSwap = false; }
constructor () Auth(msg.sender) {
router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
WETH = router.WETH();
pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
_allowances[address(this)][address(router)] = type(uint256).max;
marketingFeeReceiver = msg.sender;
operationsFeeReceiver = msg.sender;
isFeeExempt[msg.sender] = true;
isTxLimitExempt[msg.sender] = true;
isTxLimitExempt[DEAD] = true;
isTxLimitExempt[ZERO] = true;
isWalletLimitExempt[msg.sender] = true;
isWalletLimitExempt[address(this)] = true;
isWalletLimitExempt[DEAD] = true;
balanceOf[msg.sender] = totalSupply;
emit Transfer(address(0), msg.sender, totalSupply);
}
receive() external payable { }
function getOwner() external view override returns (address) { return owner; }
function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
function approve(address spender, uint256 amount) public override returns (bool) {
_allowances[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}
function approveMax(address spender) external returns (bool) {
return approve(spender, type(uint256).max);
}
function transfer(address recipient, uint256 amount) external override returns (bool) {
return _transferFrom(msg.sender, recipient, amount);
}
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 _transferFrom(sender, recipient, amount);
}
function setMaxWalletPercent_base1000(uint256 maxWallPercent_base1000) external onlyOwner {
require(maxWallPercent_base1000 >= 5,"Cannot set max wallet less than 0.5%");
_maxWalletToken = (totalSupply * maxWallPercent_base1000 ) / 1000;
}
function setMaxTxPercent_base1000(uint256 maxTXPercentage_base1000) external onlyOwner {
require(maxTXPercentage_base1000 >= 5,"Cannot set max transaction less than 0.5%");
_maxTxAmount = (totalSupply * maxTXPercentage_base1000 ) / 1000;
}
function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
if(inSwap){ return _basicTransfer(sender, recipient, amount); }
if (!isWalletLimitExempt[sender] && !isWalletLimitExempt[recipient] && recipient != pair) {
require((balanceOf[recipient] + amount) <= _maxWalletToken,"max wallet limit reached");
}
require((amount <= _maxTxAmount) || isTxLimitExempt[sender] || isTxLimitExempt[recipient], "Max TX Limit Exceeded");
if(shouldSwapBack()){ swapBack(); }
balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance");
uint256 amountReceived = (isFeeExempt[sender] || isFeeExempt[recipient]) ? amount : takeFee(sender, amount, recipient);
balanceOf[recipient] = balanceOf[recipient].add(amountReceived);
emit Transfer(sender, recipient, amountReceived);
return true;
}
function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance");
balanceOf[recipient] = balanceOf[recipient].add(amount);
emit Transfer(sender, recipient, amount);
return true;
}
function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {
if(amount == 0 || totalFee == 0){
return amount;
}
uint256 multiplier = transferMultiplier;
if(recipient == pair) {
multiplier = sellMultiplier;
} else if(sender == pair) {
multiplier = buyMultiplier;
}
uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100);
if(feeAmount > 0){
balanceOf[address(this)] = balanceOf[address(this)].add(feeAmount);
emit Transfer(sender, address(this), feeAmount);
}
return amount.sub(feeAmount);
}
function shouldSwapBack() internal view returns (bool) {
return msg.sender != pair
&& !inSwap
&& swapEnabled
&& balanceOf[address(this)] >= swapThreshold;
}
function clearStuckBalance(uint256 amountPercentage) external onlyOwner {
uint256 amountETH = address(this).balance;
uint256 amountToClear = ( amountETH * amountPercentage ) / 100;
payable(msg.sender).transfer(amountToClear);
}
function clearStuckToken(address tokenAddress, uint256 tokens) external onlyOwner returns (bool success) {
if(tokens == 0){
tokens = ERC20(tokenAddress).balanceOf(address(this));
}
return ERC20(tokenAddress).transfer(msg.sender, tokens);
}
function swapBack() internal swapping {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = WETH;
router.swapExactTokensForETHSupportingFeeOnTransferTokens(
swapThreshold,
0,
path,
address(this),
block.timestamp
);
uint256 amountETH = address(this).balance;
uint256 amountETHmarketing = (amountETH * marketingFee) / totalFee;
uint256 amountETHOperations = (amountETH * operationsFee) / totalFee;
(bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETHmarketing}("");
(tmpSuccess,) = payable(operationsFeeReceiver).call{value: amountETHOperations}("");
}
function setMultipliers(uint256 _buy, uint256 _sell, uint256 _trans) external onlyOwner {
sellMultiplier = _sell;
buyMultiplier = _buy;
transferMultiplier = _trans;
}
function setSwapBackSettings(bool _enabled, uint256 _denominator) external onlyOwner {
swapEnabled = _enabled;
swapThreshold = totalSupply / _denominator;
}
function getCirculatingSupply() public view returns (uint256) {
return (totalSupply - balanceOf[DEAD] - balanceOf[ZERO]);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","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":"view","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","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":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operationsFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTXPercentage_base1000","type":"uint256"}],"name":"setMaxTxPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent_base1000","type":"uint256"}],"name":"setMaxWalletPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setMultipliers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFee","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":"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
60c06040526064620000146009600a62000520565b62000025906461f313f88062000538565b62000031919062000552565b6001556032620000446009600a62000520565b62000055906461f313f88062000538565b62000061919062000552565b6002556005600881905560098190556200007c908062000575565b600a90815560c8600b819055600c8190556000600d556010805460ff60a01b1916600160a01b17905590620000b49060099062000520565b620000c5906461f313f88062000538565b620000d1919062000552565b601155348015620000e157600080fd5b5060008054336001600160a01b03199182161790915560108054737a250d5630b4cf539739df2c5dacb4c659f2488d921682179055604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa15801562000152573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200017891906200058b565b6001600160a01b039081166080526010546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa158015620001c9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ef91906200058b565b6080516040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af115801562000241573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026791906200058b565b6001600160a01b0390811660a05230600081815260046020908152604080832060105490951683529381528382206000199055600e8054336001600160a01b03199182168117909255600f805490911682179055825260058152838220805460ff1990811660019081179092556006835285842080548216831790557f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e2280548216831790557f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8805482168317905560079092528483208054831682179055928252928120805484168317905561dead90527fb0c2646e02af70b79e3fe9277b98373379f54150e4e26b2b5650139f7a75a65d80549092161790556200038f6009600a62000520565b620003a0906461f313f88062000538565b33600081815260036020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003e36009600a62000520565b620003f4906461f313f88062000538565b60405190815260200160405180910390a3620005b6565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004625781600019048211156200044657620004466200040b565b808516156200045457918102915b93841c939080029062000426565b509250929050565b6000826200047b575060016200051a565b816200048a575060006200051a565b8160018114620004a35760028114620004ae57620004ce565b60019150506200051a565b60ff841115620004c257620004c26200040b565b50506001821b6200051a565b5060208310610133831016604e8410600b8410161715620004f3575081810a6200051a565b620004ff838362000421565b80600019048211156200051657620005166200040b565b0290505b92915050565b60006200053160ff8416836200046a565b9392505050565b80820281158282048414176200051a576200051a6200040b565b6000826200057057634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156200051a576200051a6200040b565b6000602082840312156200059e57600080fd5b81516001600160a01b03811681146200053157600080fd5b60805160a0516119ec620005f86000396000818161054701528181610cf00152818161107901528181611317015261134b0152600061114301526119ec6000f3fe6080604052600436106101dc5760003560e01c80636ce46bc31161010257806395d89b4111610095578063c867d60b11610064578063c867d60b146105a9578063dd62ed3e146105d9578063df20fd491461061f578063f887ea401461063f57600080fd5b806395d89b4114610505578063a8aa1b3114610535578063a9059cbb14610569578063bd9ab5371461058957600080fd5b806378109e54116100d157806378109e54146104775780637d1db4a51461048d578063893d20e8146104a35780638b42507f146104d557600080fd5b80636ce46bc3146103f557806370a0823114610415578063715018a61461044257806377b54bad1461045757600080fd5b80631df4ccfc1161017a578063313ce56711610149578063313ce567146103685780633f4218e01461038f578063571ac8b0146103bf5780636b67c4df146103df57600080fd5b80631df4ccfc146102ee57806323b872dd146103045780632b112e49146103245780632f54bf6e1461033957600080fd5b8063095ea7b3116101b6578063095ea7b314610274578063180b0d7e146102a457806318160ddd146102b95780631da1db5e146102ce57600080fd5b806306fdde03146101e8578063090896be1461022e57806309302dc61461025257600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b5061021860405180604001604052806004815260200163486f657360e01b81525081565b60405161022591906115df565b60405180910390f35b34801561023a57600080fd5b5061024460095481565b604051908152602001610225565b34801561025e57600080fd5b5061027261026d36600461162d565b61065f565b005b34801561028057600080fd5b5061029461028f366004611662565b610728565b6040519015158152602001610225565b3480156102b057600080fd5b50610244606481565b3480156102c557600080fd5b50610244610795565b3480156102da57600080fd5b506102726102e936600461162d565b6107b3565b3480156102fa57600080fd5b50610244600a5481565b34801561031057600080fd5b5061029461031f36600461168c565b61082c565b34801561033057600080fd5b506102446108ee565b34801561034557600080fd5b506102946103543660046116c8565b6000546001600160a01b0391821691161490565b34801561037457600080fd5b5061037d600981565b60405160ff9091168152602001610225565b34801561039b57600080fd5b506102946103aa3660046116c8565b60056020526000908152604090205460ff1681565b3480156103cb57600080fd5b506102946103da3660046116c8565b610976565b3480156103eb57600080fd5b5061024460085481565b34801561040157600080fd5b506102726104103660046116e3565b610984565b34801561042157600080fd5b506102446104303660046116c8565b60036020526000908152604090205481565b34801561044e57600080fd5b506102726109bf565b34801561046357600080fd5b50610294610472366004611662565b6109fb565b34801561048357600080fd5b5061024460025481565b34801561049957600080fd5b5061024460015481565b3480156104af57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610225565b3480156104e157600080fd5b506102946104f03660046116c8565b60066020526000908152604090205460ff1681565b34801561051157600080fd5b5061021860405180604001604052806004815260200163484f455360e01b81525081565b34801561054157600080fd5b506104bd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561057557600080fd5b50610294610584366004611662565b610b0a565b34801561059557600080fd5b506102726105a436600461162d565b610b17565b3480156105b557600080fd5b506102946105c43660046116c8565b60076020526000908152604090205460ff1681565b3480156105e557600080fd5b506102446105f436600461170f565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561062b57600080fd5b5061027261063a366004611753565b610bdd565b34801561064b57600080fd5b506010546104bd906001600160a01b031681565b6000546001600160a01b031633146106925760405162461bcd60e51b815260040161068990611771565b60405180910390fd5b60058110156106ef5760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015263302e352560e01b6064820152608401610689565b6103e8816106ff6009600a61188b565b61070e906461f313f88061189a565b610718919061189a565b61072291906118b1565b60025550565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107839086815260200190565b60405180910390a35060015b92915050565b6107a16009600a61188b565b6107b0906461f313f88061189a565b81565b6000546001600160a01b031633146107dd5760405162461bcd60e51b815260040161068990611771565b47600060646107ec848461189a565b6107f691906118b1565b604051909150339082156108fc029083906000818181858888f19350505050158015610826573d6000803e3d6000fd5b50505050565b6001600160a01b0383166000908152600460209081526040808320338452909152812054600019146108d9576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526004825283812033825290915291909120546108b4918490610c4b565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b6108e4848484610c85565b90505b9392505050565b60036020527f3617319a054d772f909f7c479a2cebe5066e836a939412e32403c99029b92eff5461dead60009081527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c5490919061094e6009600a61188b565b61095d906461f313f88061189a565b61096791906118d3565b61097191906118d3565b905090565b600061078f82600019610728565b6000546001600160a01b031633146109ae5760405162461bcd60e51b815260040161068990611771565b600c91909155600b91909155600d55565b6000546001600160a01b031633146109e95760405162461bcd60e51b815260040161068990611771565b600080546001600160a01b0319169055565b600080546001600160a01b03163314610a265760405162461bcd60e51b815260040161068990611771565b81600003610a99576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610a72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9691906118e6565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610ae6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e791906118ff565b60006108e7338484610c85565b6000546001600160a01b03163314610b415760405162461bcd60e51b815260040161068990611771565b6005811015610ba45760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d6178207472616e73616374696f6e206c657373206044820152687468616e20302e352560b81b6064820152608401610689565b6103e881610bb46009600a61188b565b610bc3906461f313f88061189a565b610bcd919061189a565b610bd791906118b1565b60015550565b6000546001600160a01b03163314610c075760405162461bcd60e51b815260040161068990611771565b6010805460ff60a01b1916600160a01b8415150217905580610c2b6009600a61188b565b610c3a906461f313f88061189a565b610c4491906118b1565b6011555050565b60008184841115610c6f5760405162461bcd60e51b815260040161068991906115df565b506000610c7c84866118d3565b95945050505050565b60125460009060ff1615610ca557610c9e848484610f86565b90506108e7565b6001600160a01b03841660009081526007602052604090205460ff16158015610ce757506001600160a01b03831660009081526007602052604090205460ff16155b8015610d2557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b15610d9f576002546001600160a01b038416600090815260036020526040902054610d5190849061191c565b1115610d9f5760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d6974207265616368656400000000000000006044820152606401610689565b60015482111580610dc857506001600160a01b03841660009081526006602052604090205460ff165b80610deb57506001600160a01b03831660009081526006602052604090205460ff165b610e2f5760405162461bcd60e51b815260206004820152601560248201527413585e08151608131a5b5a5d08115e18d959591959605a1b6044820152606401610689565b610e3761106c565b15610e4457610e446110df565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260039091529190912054610e96918490610c4b565b6001600160a01b038516600090815260036020908152604080832093909355600590529081205460ff1680610ee357506001600160a01b03841660009081526005602052604090205460ff165b610ef757610ef28584866112ef565b610ef9565b825b6001600160a01b038516600090815260036020526040902054909150610f1f908261144c565b6001600160a01b0380861660008181526003602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f739085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600390915291822054610fd7918490610c4b565b6001600160a01b038086166000908152600360205260408082209390935590851681522054611006908361144c565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061105a9086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110aa575060125460ff16155b80156110bf5750601054600160a01b900460ff165b801561097157505060115430600090815260036020526040902054101590565b6012805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111215761112161192f565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000000000000000000000000000000000000000000000816001815181106111755761117561192f565b6001600160a01b03928316602091820292909201015260105460115460405163791ac94760e01b8152919092169163791ac947916111bf9190600090869030904290600401611945565b600060405180830381600087803b1580156111d957600080fd5b505af11580156111ed573d6000803e3d6000fd5b5050600a5460085447935060009250611206908461189a565b61121091906118b1565b90506000600a5460095484611225919061189a565b61122f91906118b1565b600e546040519192506000916001600160a01b039091169084908381818185875af1925050503d8060008114611281576040519150601f19603f3d011682016040523d82523d6000602084013e611286565b606091505b5050600f546040519192506001600160a01b0316908390600081818185875af1925050503d80600081146112d6576040519150601f19603f3d011682016040523d82523d6000602084013e6112db565b606091505b50506012805460ff19169055505050505050565b60008215806112fe5750600a54155b1561130a5750816108e7565b600d546001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116908416036113495750600c54611387565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316036113875750600b545b60006113bc61139760648061189a565b6113b6846113b0600a548a6114ab90919063ffffffff16565b906114ab565b9061152d565b9050801561143857306000908152600360205260409020546113de908261144c565b30600081815260036020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061142f9085815260200190565b60405180910390a35b611442858261156f565b9695505050505050565b600080611459838561191c565b9050838110156108e75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610689565b6000826000036114bd5750600061078f565b60006114c9838561189a565b9050826114d685836118b1565b146108e75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610689565b60006108e783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115b1565b60006108e783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c4b565b600081836115d25760405162461bcd60e51b815260040161068991906115df565b506000610c7c84866118b1565b600060208083528351808285015260005b8181101561160c578581018301518582016040015282016115f0565b506000604082860101526040601f19601f8301168501019250505092915050565b60006020828403121561163f57600080fd5b5035919050565b80356001600160a01b038116811461165d57600080fd5b919050565b6000806040838503121561167557600080fd5b61167e83611646565b946020939093013593505050565b6000806000606084860312156116a157600080fd5b6116aa84611646565b92506116b860208501611646565b9150604084013590509250925092565b6000602082840312156116da57600080fd5b6108e782611646565b6000806000606084860312156116f857600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561172257600080fd5b61172b83611646565b915061173960208401611646565b90509250929050565b801515811461175057600080fd5b50565b6000806040838503121561176657600080fd5b823561167e81611742565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156117e25781600019048211156117c8576117c8611791565b808516156117d557918102915b93841c93908002906117ac565b509250929050565b6000826117f95750600161078f565b816118065750600061078f565b816001811461181c576002811461182657611842565b600191505061078f565b60ff84111561183757611837611791565b50506001821b61078f565b5060208310610133831016604e8410600b8410161715611865575081810a61078f565b61186f83836117a7565b806000190482111561188357611883611791565b029392505050565b60006108e760ff8416836117ea565b808202811582820484141761078f5761078f611791565b6000826118ce57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561078f5761078f611791565b6000602082840312156118f857600080fd5b5051919050565b60006020828403121561191157600080fd5b81516108e781611742565b8082018082111561078f5761078f611791565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119955784516001600160a01b031683529383019391830191600101611970565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122063fa348ae0f5628f8d73ed4e60deb6e120c051413012e90ed84e3bc7e027ef4f64736f6c63430008110033
Deployed Bytecode
0x6080604052600436106101dc5760003560e01c80636ce46bc31161010257806395d89b4111610095578063c867d60b11610064578063c867d60b146105a9578063dd62ed3e146105d9578063df20fd491461061f578063f887ea401461063f57600080fd5b806395d89b4114610505578063a8aa1b3114610535578063a9059cbb14610569578063bd9ab5371461058957600080fd5b806378109e54116100d157806378109e54146104775780637d1db4a51461048d578063893d20e8146104a35780638b42507f146104d557600080fd5b80636ce46bc3146103f557806370a0823114610415578063715018a61461044257806377b54bad1461045757600080fd5b80631df4ccfc1161017a578063313ce56711610149578063313ce567146103685780633f4218e01461038f578063571ac8b0146103bf5780636b67c4df146103df57600080fd5b80631df4ccfc146102ee57806323b872dd146103045780632b112e49146103245780632f54bf6e1461033957600080fd5b8063095ea7b3116101b6578063095ea7b314610274578063180b0d7e146102a457806318160ddd146102b95780631da1db5e146102ce57600080fd5b806306fdde03146101e8578063090896be1461022e57806309302dc61461025257600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b5061021860405180604001604052806004815260200163486f657360e01b81525081565b60405161022591906115df565b60405180910390f35b34801561023a57600080fd5b5061024460095481565b604051908152602001610225565b34801561025e57600080fd5b5061027261026d36600461162d565b61065f565b005b34801561028057600080fd5b5061029461028f366004611662565b610728565b6040519015158152602001610225565b3480156102b057600080fd5b50610244606481565b3480156102c557600080fd5b50610244610795565b3480156102da57600080fd5b506102726102e936600461162d565b6107b3565b3480156102fa57600080fd5b50610244600a5481565b34801561031057600080fd5b5061029461031f36600461168c565b61082c565b34801561033057600080fd5b506102446108ee565b34801561034557600080fd5b506102946103543660046116c8565b6000546001600160a01b0391821691161490565b34801561037457600080fd5b5061037d600981565b60405160ff9091168152602001610225565b34801561039b57600080fd5b506102946103aa3660046116c8565b60056020526000908152604090205460ff1681565b3480156103cb57600080fd5b506102946103da3660046116c8565b610976565b3480156103eb57600080fd5b5061024460085481565b34801561040157600080fd5b506102726104103660046116e3565b610984565b34801561042157600080fd5b506102446104303660046116c8565b60036020526000908152604090205481565b34801561044e57600080fd5b506102726109bf565b34801561046357600080fd5b50610294610472366004611662565b6109fb565b34801561048357600080fd5b5061024460025481565b34801561049957600080fd5b5061024460015481565b3480156104af57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610225565b3480156104e157600080fd5b506102946104f03660046116c8565b60066020526000908152604090205460ff1681565b34801561051157600080fd5b5061021860405180604001604052806004815260200163484f455360e01b81525081565b34801561054157600080fd5b506104bd7f0000000000000000000000000c82771df8098220aae3a2a16ea8caec5a21c16e81565b34801561057557600080fd5b50610294610584366004611662565b610b0a565b34801561059557600080fd5b506102726105a436600461162d565b610b17565b3480156105b557600080fd5b506102946105c43660046116c8565b60076020526000908152604090205460ff1681565b3480156105e557600080fd5b506102446105f436600461170f565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561062b57600080fd5b5061027261063a366004611753565b610bdd565b34801561064b57600080fd5b506010546104bd906001600160a01b031681565b6000546001600160a01b031633146106925760405162461bcd60e51b815260040161068990611771565b60405180910390fd5b60058110156106ef5760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015263302e352560e01b6064820152608401610689565b6103e8816106ff6009600a61188b565b61070e906461f313f88061189a565b610718919061189a565b61072291906118b1565b60025550565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107839086815260200190565b60405180910390a35060015b92915050565b6107a16009600a61188b565b6107b0906461f313f88061189a565b81565b6000546001600160a01b031633146107dd5760405162461bcd60e51b815260040161068990611771565b47600060646107ec848461189a565b6107f691906118b1565b604051909150339082156108fc029083906000818181858888f19350505050158015610826573d6000803e3d6000fd5b50505050565b6001600160a01b0383166000908152600460209081526040808320338452909152812054600019146108d9576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526004825283812033825290915291909120546108b4918490610c4b565b6001600160a01b03851660009081526004602090815260408083203384529091529020555b6108e4848484610c85565b90505b9392505050565b60036020527f3617319a054d772f909f7c479a2cebe5066e836a939412e32403c99029b92eff5461dead60009081527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c5490919061094e6009600a61188b565b61095d906461f313f88061189a565b61096791906118d3565b61097191906118d3565b905090565b600061078f82600019610728565b6000546001600160a01b031633146109ae5760405162461bcd60e51b815260040161068990611771565b600c91909155600b91909155600d55565b6000546001600160a01b031633146109e95760405162461bcd60e51b815260040161068990611771565b600080546001600160a01b0319169055565b600080546001600160a01b03163314610a265760405162461bcd60e51b815260040161068990611771565b81600003610a99576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610a72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9691906118e6565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610ae6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e791906118ff565b60006108e7338484610c85565b6000546001600160a01b03163314610b415760405162461bcd60e51b815260040161068990611771565b6005811015610ba45760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d6178207472616e73616374696f6e206c657373206044820152687468616e20302e352560b81b6064820152608401610689565b6103e881610bb46009600a61188b565b610bc3906461f313f88061189a565b610bcd919061189a565b610bd791906118b1565b60015550565b6000546001600160a01b03163314610c075760405162461bcd60e51b815260040161068990611771565b6010805460ff60a01b1916600160a01b8415150217905580610c2b6009600a61188b565b610c3a906461f313f88061189a565b610c4491906118b1565b6011555050565b60008184841115610c6f5760405162461bcd60e51b815260040161068991906115df565b506000610c7c84866118d3565b95945050505050565b60125460009060ff1615610ca557610c9e848484610f86565b90506108e7565b6001600160a01b03841660009081526007602052604090205460ff16158015610ce757506001600160a01b03831660009081526007602052604090205460ff16155b8015610d2557507f0000000000000000000000000c82771df8098220aae3a2a16ea8caec5a21c16e6001600160a01b0316836001600160a01b031614155b15610d9f576002546001600160a01b038416600090815260036020526040902054610d5190849061191c565b1115610d9f5760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d6974207265616368656400000000000000006044820152606401610689565b60015482111580610dc857506001600160a01b03841660009081526006602052604090205460ff165b80610deb57506001600160a01b03831660009081526006602052604090205460ff165b610e2f5760405162461bcd60e51b815260206004820152601560248201527413585e08151608131a5b5a5d08115e18d959591959605a1b6044820152606401610689565b610e3761106c565b15610e4457610e446110df565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260039091529190912054610e96918490610c4b565b6001600160a01b038516600090815260036020908152604080832093909355600590529081205460ff1680610ee357506001600160a01b03841660009081526005602052604090205460ff165b610ef757610ef28584866112ef565b610ef9565b825b6001600160a01b038516600090815260036020526040902054909150610f1f908261144c565b6001600160a01b0380861660008181526003602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f739085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600390915291822054610fd7918490610c4b565b6001600160a01b038086166000908152600360205260408082209390935590851681522054611006908361144c565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061105a9086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f0000000000000000000000000c82771df8098220aae3a2a16ea8caec5a21c16e16148015906110aa575060125460ff16155b80156110bf5750601054600160a01b900460ff165b801561097157505060115430600090815260036020526040902054101590565b6012805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111215761112161192f565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2816001815181106111755761117561192f565b6001600160a01b03928316602091820292909201015260105460115460405163791ac94760e01b8152919092169163791ac947916111bf9190600090869030904290600401611945565b600060405180830381600087803b1580156111d957600080fd5b505af11580156111ed573d6000803e3d6000fd5b5050600a5460085447935060009250611206908461189a565b61121091906118b1565b90506000600a5460095484611225919061189a565b61122f91906118b1565b600e546040519192506000916001600160a01b039091169084908381818185875af1925050503d8060008114611281576040519150601f19603f3d011682016040523d82523d6000602084013e611286565b606091505b5050600f546040519192506001600160a01b0316908390600081818185875af1925050503d80600081146112d6576040519150601f19603f3d011682016040523d82523d6000602084013e6112db565b606091505b50506012805460ff19169055505050505050565b60008215806112fe5750600a54155b1561130a5750816108e7565b600d546001600160a01b037f0000000000000000000000000c82771df8098220aae3a2a16ea8caec5a21c16e8116908416036113495750600c54611387565b7f0000000000000000000000000c82771df8098220aae3a2a16ea8caec5a21c16e6001600160a01b0316856001600160a01b0316036113875750600b545b60006113bc61139760648061189a565b6113b6846113b0600a548a6114ab90919063ffffffff16565b906114ab565b9061152d565b9050801561143857306000908152600360205260409020546113de908261144c565b30600081815260036020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061142f9085815260200190565b60405180910390a35b611442858261156f565b9695505050505050565b600080611459838561191c565b9050838110156108e75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610689565b6000826000036114bd5750600061078f565b60006114c9838561189a565b9050826114d685836118b1565b146108e75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610689565b60006108e783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115b1565b60006108e783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c4b565b600081836115d25760405162461bcd60e51b815260040161068991906115df565b506000610c7c84866118b1565b600060208083528351808285015260005b8181101561160c578581018301518582016040015282016115f0565b506000604082860101526040601f19601f8301168501019250505092915050565b60006020828403121561163f57600080fd5b5035919050565b80356001600160a01b038116811461165d57600080fd5b919050565b6000806040838503121561167557600080fd5b61167e83611646565b946020939093013593505050565b6000806000606084860312156116a157600080fd5b6116aa84611646565b92506116b860208501611646565b9150604084013590509250925092565b6000602082840312156116da57600080fd5b6108e782611646565b6000806000606084860312156116f857600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561172257600080fd5b61172b83611646565b915061173960208401611646565b90509250929050565b801515811461175057600080fd5b50565b6000806040838503121561176657600080fd5b823561167e81611742565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156117e25781600019048211156117c8576117c8611791565b808516156117d557918102915b93841c93908002906117ac565b509250929050565b6000826117f95750600161078f565b816118065750600061078f565b816001811461181c576002811461182657611842565b600191505061078f565b60ff84111561183757611837611791565b50506001821b61078f565b5060208310610133831016604e8410600b8410161715611865575081810a61078f565b61186f83836117a7565b806000190482111561188357611883611791565b029392505050565b60006108e760ff8416836117ea565b808202811582820484141761078f5761078f611791565b6000826118ce57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561078f5761078f611791565b6000602082840312156118f857600080fd5b5051919050565b60006020828403121561191157600080fd5b81516108e781611742565b8082018082111561078f5761078f611791565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119955784516001600160a01b031683529383019391830191600101611970565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122063fa348ae0f5628f8d73ed4e60deb6e120c051413012e90ed84e3bc7e027ef4f64736f6c63430008110033
Deployed Bytecode Sourcemap
2859:8083:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3107:36;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3107:36:0;;;;;;;;;;;;:::i;:::-;;;;;;;;3754:32;;;;;;;;;;;;;;;;;;;713:25:1;;;701:2;686:18;3754:32:0;567:177:1;6303:261:0;;;;;;;;;;-1:-1:-1;6303:261:0;;;;;:::i;:::-;;:::i;:::-;;5407:216;;;;;;;;;;-1:-1:-1;5407:216:0;;;;;:::i;:::-;;:::i;:::-;;;1536:14:1;;1529:22;1511:41;;1499:2;1484:18;5407:216:0;1371:187:1;3854:44:0;;;;;;;;;;;;3895:3;3854:44;;3238:68;;;;;;;;;;;;;:::i;9077:259::-;;;;;;;;;;-1:-1:-1;9077:259:0;;;;;:::i;:::-;;:::i;3793:54::-;;;;;;;;;;;;;;;;5925:370;;;;;;;;;;-1:-1:-1;5925:370:0;;;;;:::i;:::-;;:::i;10802:137::-;;;;;;;;;;;;;:::i;2179:103::-;;;;;;;;;;-1:-1:-1;2179:103:0;;;;;:::i;:::-;2234:4;2269:5;-1:-1:-1;;;;;2258:16:0;;;2269:5;;2258:16;;2179:103;3195:34;;;;;;;;;;;;3228:1;3195:34;;;;;2259:4:1;2247:17;;;2229:36;;2217:2;2202:18;3195:34:0;2087:184:1;3549:44:0;;;;;;;;;;-1:-1:-1;3549:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5631:122;;;;;;;;;;-1:-1:-1;5631:122:0;;;;;:::i;:::-;;:::i;3716:31::-;;;;;;;;;;;;;;;;10409:198;;;;;;;;;;-1:-1:-1;10409:198:0;;;;;:::i;:::-;;:::i;3427:45::-;;;;;;;;;;-1:-1:-1;3427:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;2290:85;;;;;;;;;;;;;:::i;9344:284::-;;;;;;;;;;-1:-1:-1;9344:284:0;;;;;:::i;:::-;;:::i;3369:49::-;;;;;;;;;;;;;;;;3315:47;;;;;;;;;;;;;;;;5182:78;;;;;;;;;;-1:-1:-1;5234:7:0;5252:5;-1:-1:-1;;;;;5252:5:0;5182:78;;;-1:-1:-1;;;;;2761:32:1;;;2743:51;;2731:2;2716:18;5182:78:0;2597:203:1;3600:48:0;;;;;;;;;;-1:-1:-1;3600:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3150:38;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3150:38:0;;;;;4123:29;;;;;;;;;;;;;;;5761:156;;;;;;;;;;-1:-1:-1;5761:156:0;;;;;:::i;:::-;;:::i;6572:262::-;;;;;;;;;;-1:-1:-1;6572:262:0;;;;;:::i;:::-;;:::i;3655:52::-;;;;;;;;;;-1:-1:-1;3655:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5266:133;;;;;;;;;;-1:-1:-1;5266:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;5368:19:0;;;5350:7;5368:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;5266:133;10615:179;;;;;;;;;;-1:-1:-1;10615:179:0;;;;;:::i;:::-;;:::i;4092:24::-;;;;;;;;;;-1:-1:-1;4092:24:0;;;;-1:-1:-1;;;;;4092:24:0;;;6303:261;2234:4;2269:5;-1:-1:-1;;;;;2269:5:0;2138:10;2258:16;2122:38;;;;-1:-1:-1;;;2122:38:0;;;;;;;:::i;:::-;;;;;;;;;6439:1:::1;6412:23;:28;;6404:76;;;::::0;-1:-1:-1;;;6404:76:0;;4269:2:1;6404:76:0::1;::::0;::::1;4251:21:1::0;4308:2;4288:18;;;4281:30;4347:34;4327:18;;;4320:62;-1:-1:-1;;;4398:18:1;;;4391:34;4442:19;;6404:76:0::1;4067:400:1::0;6404:76:0::1;6552:4;6524:23:::0;3294:12:::1;3228:1;3294:2;:12;:::i;:::-;3276:30;::::0;:15:::1;:30;:::i;:::-;6510:37;;;;:::i;:::-;6509:47;;;;:::i;:::-;6491:15;:65:::0;-1:-1:-1;6303:261:0:o;5407:216::-;5511:10;5482:4;5499:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;5499:32:0;;;;;;;;;;:41;;;5556:37;5482:4;;5499:32;;5556:37;;;;5534:6;713:25:1;;701:2;686:18;;567:177;5556:37:0;;;;;;;;-1:-1:-1;5611:4:0;5407:216;;;;;:::o;3238:68::-;3294:12;3228:1;3294:2;:12;:::i;:::-;3276:30;;:15;:30;:::i;:::-;3238:68;:::o;9077:259::-;2234:4;2269:5;-1:-1:-1;;;;;2269:5:0;2138:10;2258:16;2122:38;;;;-1:-1:-1;;;2122:38:0;;;;;;;:::i;:::-;9180:21:::1;9160:17;9271:3;9238:28;9250:16:::0;9180:21;9238:28:::1;:::i;:::-;9236:38;;;;:::i;:::-;9285:43;::::0;9212:62;;-1:-1:-1;9293:10:0::1;::::0;9285:43;::::1;;;::::0;9212:62;;9285:43:::1;::::0;;;9212:62;9293:10;9285:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;9149:187;;9077:259:::0;:::o;5925:370::-;-1:-1:-1;;;;;6045:19:0;;6025:4;6045:19;;;:11;:19;;;;;;;;6065:10;6045:31;;;;;;;;-1:-1:-1;;6045:52:0;6042:186;;6147:69;;;;;;;;;;;-1:-1:-1;;;6147:69:0;;;;;;;;-1:-1:-1;;;;;6147:19:0;;-1:-1:-1;6147:19:0;;;:11;:19;;;;;6167:10;6147:31;;;;;;;;;;:69;;6183:6;;6147:35;:69::i;:::-;-1:-1:-1;;;;;6113:19:0;;;;;;:11;:19;;;;;;;;6133:10;6113:31;;;;;;;:103;6042:186;6247:40;6261:6;6269:9;6280:6;6247:13;:40::i;:::-;6240:47;;5925:370;;;;;;:::o;10802:137::-;10915:9;:15;;;;2983:42;10855:7;10897:15;;;;;10855:7;;10915:15;3294:12;3228:1;3294:2;:12;:::i;:::-;3276:30;;:15;:30;:::i;:::-;10883:29;;;;:::i;:::-;:47;;;;:::i;:::-;10875:56;;10802:137;:::o;5631:122::-;5686:4;5710:35;5718:7;-1:-1:-1;;5710:7:0;:35::i;10409:198::-;2234:4;2269:5;-1:-1:-1;;;;;2269:5:0;2138:10;2258:16;2122:38;;;;-1:-1:-1;;;2122:38:0;;;;;;;:::i;:::-;10508:14:::1;:22:::0;;;;10541:13:::1;:20:::0;;;;10572:18:::1;:27:::0;10409:198::o;2290:85::-;2234:4;2269:5;-1:-1:-1;;;;;2269:5:0;2138:10;2258:16;2122:38;;;;-1:-1:-1;;;2122:38:0;;;;;;;:::i;:::-;2365:1:::1;2349:18:::0;;-1:-1:-1;;;;;;2349:18:0::1;::::0;;2290:85::o;9344:284::-;9435:12;2269:5;;-1:-1:-1;;;;;2269:5:0;2138:10;2258:16;2122:38;;;;-1:-1:-1;;;2122:38:0;;;;;;;:::i;:::-;9463:6:::1;9473:1;9463:11:::0;9460:95:::1;;9499:44;::::0;-1:-1:-1;;;9499:44:0;;9537:4:::1;9499:44;::::0;::::1;2743:51:1::0;-1:-1:-1;;;;;9499:29:0;::::1;::::0;::::1;::::0;2716:18:1;;9499:44:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9490:53;;9460:95;9572:48;::::0;-1:-1:-1;;;9572:48:0;;9601:10:::1;9572:48;::::0;::::1;6878:51:1::0;6945:18;;;6938:34;;;-1:-1:-1;;;;;9572:28:0;::::1;::::0;::::1;::::0;6851:18:1;;9572:48:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5761:156::-:0;5841:4;5865:44;5879:10;5891:9;5902:6;5865:13;:44::i;6572:262::-;2234:4;2269:5;-1:-1:-1;;;;;2269:5:0;2138:10;2258:16;2122:38;;;;-1:-1:-1;;;2122:38:0;;;;;;;:::i;:::-;6706:1:::1;6678:24;:29;;6670:82;;;::::0;-1:-1:-1;;;6670:82:0;;7435:2:1;6670:82:0::1;::::0;::::1;7417:21:1::0;7474:2;7454:18;;;7447:30;7513:34;7493:18;;;7486:62;-1:-1:-1;;;7564:18:1;;;7557:39;7613:19;;6670:82:0::1;7233:405:1::0;6670:82:0::1;6822:4;6793:24:::0;3294:12:::1;3228:1;3294:2;:12;:::i;:::-;3276:30;::::0;:15:::1;:30;:::i;:::-;6779:38;;;;:::i;:::-;6778:48;;;;:::i;:::-;6763:12;:63:::0;-1:-1:-1;6572:262:0:o;10615:179::-;2234:4;2269:5;-1:-1:-1;;;;;2269:5:0;2138:10;2258:16;2122:38;;;;-1:-1:-1;;;2122:38:0;;;;;;;:::i;:::-;10711:11:::1;:22:::0;;-1:-1:-1;;;;10711:22:0::1;-1:-1:-1::0;;;10711:22:0;::::1;;;;::::0;;10774:12;3294::::1;3228:1;3294:2;:12;:::i;:::-;3276:30;::::0;:15:::1;:30;:::i;:::-;10760:26;;;;:::i;:::-;10744:13;:42:::0;-1:-1:-1;;10615:179:0:o;498:192::-;584:7;620:12;612:6;;;;604:29;;;;-1:-1:-1;;;604:29:0;;;;;;;;:::i;:::-;-1:-1:-1;644:9:0;656:5;660:1;656;:5;:::i;:::-;644:17;498:192;-1:-1:-1;;;;;498:192:0:o;6842:949::-;6954:6;;6934:4;;6954:6;;6951:63;;;6970:41;6985:6;6993:9;7004:6;6970:14;:41::i;:::-;6963:48;;;;6951:63;-1:-1:-1;;;;;7031:27:0;;;;;;:19;:27;;;;;;;;7030:28;:63;;;;-1:-1:-1;;;;;;7063:30:0;;;;;;:19;:30;;;;;;;;7062:31;7030:63;:84;;;;;7110:4;-1:-1:-1;;;;;7097:17:0;:9;-1:-1:-1;;;;;7097:17:0;;;7030:84;7026:203;;;7174:15;;-1:-1:-1;;;;;7140:20:0;;;;;;:9;:20;;;;;;:29;;7163:6;;7140:29;:::i;:::-;7139:50;;7131:86;;;;-1:-1:-1;;;7131:86:0;;7975:2:1;7131:86:0;;;7957:21:1;8014:2;7994:18;;;7987:30;8053:26;8033:18;;;8026:54;8097:18;;7131:86:0;7773:348:1;7131:86:0;7264:12;;7254:6;:22;;7253:51;;;-1:-1:-1;;;;;;7281:23:0;;;;;;:15;:23;;;;;;;;7253:51;:81;;;-1:-1:-1;;;;;;7308:26:0;;;;;;:15;:26;;;;;;;;7253:81;7245:115;;;;-1:-1:-1;;;7245:115:0;;8328:2:1;7245:115:0;;;8310:21:1;8367:2;8347:18;;;8340:30;-1:-1:-1;;;8386:18:1;;;8379:51;8447:18;;7245:115:0;8126:345:1;7245:115:0;7376:16;:14;:16::i;:::-;7373:35;;;7395:10;:8;:10::i;:::-;7440:53;;;;;;;;;;;-1:-1:-1;;;7440:53:0;;;;;;;;-1:-1:-1;;;;;7440:17:0;;-1:-1:-1;7440:17:0;;;:9;:17;;;;;;;;:53;;7462:6;;7440:21;:53::i;:::-;-1:-1:-1;;;;;7420:17:0;;;;;;:9;:17;;;;;;;;:73;;;;7532:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;7555:22:0;;;;;;:11;:22;;;;;;;;7532:45;7531:93;;7590:34;7598:6;7606;7614:9;7590:7;:34::i;:::-;7531:93;;;7581:6;7531:93;-1:-1:-1;;;;;7660:20:0;;;;;;:9;:20;;;;;;7506:118;;-1:-1:-1;7660:40:0;;7506:118;7660:24;:40::i;:::-;-1:-1:-1;;;;;7637:20:0;;;;;;;:9;:20;;;;;;;:63;;;;7718:43;;;;;;;;;;7746:14;713:25:1;;701:2;686:18;;567:177;7718:43:0;;;;;;;;-1:-1:-1;7779:4:0;;6842:949;-1:-1:-1;;;;6842:949:0:o;7803:330::-;7933:53;;;;;;;;;;;-1:-1:-1;;;7933:53:0;;;;;;;;-1:-1:-1;;;;;7933:17:0;;7896:4;7933:17;;;:9;:17;;;;;;;:53;;7955:6;;7933:21;:53::i;:::-;-1:-1:-1;;;;;7913:17:0;;;;;;;:9;:17;;;;;;:73;;;;8020:20;;;;;;;:32;;8045:6;8020:24;:32::i;:::-;-1:-1:-1;;;;;7997:20:0;;;;;;;:9;:20;;;;;;;:55;;;;8068:35;;;;;;;;;;8096:6;713:25:1;;701:2;686:18;;567:177;8068:35:0;;;;;;;;-1:-1:-1;8121:4:0;7803:330;;;;;:::o;8872:197::-;8921:4;8945:10;-1:-1:-1;;;;;8959:4:0;8945:18;;;;;:38;;-1:-1:-1;8977:6:0;;;;8976:7;8945:38;:62;;;;-1:-1:-1;8996:11:0;;-1:-1:-1;;;8996:11:0;;;;8945:62;:116;;;;-1:-1:-1;;9048:13:0;;9038:4;9020:24;;;;:9;:24;;;;;;:41;;;8872:197::o;9636:765::-;4279:6;:13;;-1:-1:-1;;4279:13:0;4288:4;4279:13;;;9711:16:::1;::::0;;9725:1:::1;9711:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9711:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9711:16:0::1;9687:40;;9756:4;9738;9743:1;9738:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;9738:23:0::1;;;-1:-1:-1::0;;;;;9738:23:0::1;;;::::0;::::1;9782:4;9772;9777:1;9772:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9772:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;9799:6:::1;::::0;9871:13:::1;::::0;9799:189:::1;::::0;-1:-1:-1;;;9799:189:0;;:6;;;::::1;::::0;:57:::1;::::0;:189:::1;::::0;9871:13;9799:6:::1;::::0;9915:4;;9942::::1;::::0;9962:15:::1;::::0;9799:189:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;10113:8:0::1;::::0;10097:12:::1;::::0;10021:21:::1;::::0;-1:-1:-1;10001:17:0::1;::::0;-1:-1:-1;10085:24:0::1;::::0;10021:21;10085:24:::1;:::i;:::-;10084:37;;;;:::i;:::-;10055:66;;10132:27;10192:8;;10175:13;;10163:9;:25;;;;:::i;:::-;10162:38;;;;:::i;:::-;10242:20;::::0;10234:65:::1;::::0;10132:68;;-1:-1:-1;10214:15:0::1;::::0;-1:-1:-1;;;;;10242:20:0;;::::1;::::0;10276:18;;10214:15;10234:65;10214:15;10234:65;10276:18;10242:20;10234:65:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;10334:21:0::1;::::0;10326:67:::1;::::0;10213:86;;-1:-1:-1;;;;;;10334:21:0::1;::::0;10369:19;;10326:67:::1;::::0;;;10369:19;10334:21;10326:67:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;4297:6:0;:14;;-1:-1:-1;;4297:14:0;;;-1:-1:-1;;;;;;9636:765:0:o;8141:723::-;8227:7;8250:11;;;:28;;-1:-1:-1;8265:8:0;;:13;8250:28;8247:72;;;-1:-1:-1;8301:6:0;8294:13;;8247:72;8352:18;;-1:-1:-1;;;;;8399:4:0;8386:17;;;;;;8383:154;;-1:-1:-1;8433:14:0;;8383:154;;;8478:4;-1:-1:-1;;;;;8468:14:0;:6;-1:-1:-1;;;;;8468:14:0;;8465:72;;-1:-1:-1;8512:13:0;;8465:72;8549:17;8569:62;8610:20;3895:3;;8610:20;:::i;:::-;8569:36;8594:10;8569:20;8580:8;;8569:6;:10;;:20;;;;:::i;:::-;:24;;:36::i;:::-;:40;;:62::i;:::-;8549:82;-1:-1:-1;8647:13:0;;8644:172;;8721:4;8703:24;;;;:9;:24;;;;;;:39;;8732:9;8703:28;:39::i;:::-;8694:4;8676:24;;;;:9;:24;;;;;;;:66;;;;8762:42;;-1:-1:-1;;;;;8762:42:0;;;;;;;8794:9;713:25:1;;701:2;686:18;;567:177;8762:42:0;;;;;;;;8644:172;8835:21;:6;8846:9;8835:10;:21::i;:::-;8828:28;8141:723;-1:-1:-1;;;;;;8141:723:0:o;169:181::-;227:7;;259:5;263:1;259;:5;:::i;:::-;247:17;;288:1;283;:6;;275:46;;;;-1:-1:-1;;;275:46:0;;10137:2:1;275:46:0;;;10119:21:1;10176:2;10156:18;;;10149:30;10215:29;10195:18;;;10188:57;10262:18;;275:46:0;9935:351:1;696:250:0;754:7;778:1;783;778:6;774:47;;-1:-1:-1;808:1:0;801:8;;774:47;833:9;845:5;849:1;845;:5;:::i;:::-;833:17;-1:-1:-1;878:1:0;869:5;873:1;833:17;869:5;:::i;:::-;:10;861:56;;;;-1:-1:-1;;;861:56:0;;10493:2:1;861:56:0;;;10475:21:1;10532:2;10512:18;;;10505:30;10571:34;10551:18;;;10544:62;-1:-1:-1;;;10622:18:1;;;10615:31;10663:19;;861:56:0;10291:397:1;952:132:0;1010:7;1037:39;1041:1;1044;1037:39;;;;;;;;;;;;;;;;;:3;:39::i;356:136::-;414:7;441:43;445:1;448;441:43;;;;;;;;;;;;;;;;;:3;:43::i;1090:189::-;1176:7;1211:12;1204:5;1196:28;;;;-1:-1:-1;;;1196:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1235:9:0;1247:5;1251:1;1247;: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;749:180::-;808:6;861:2;849:9;840:7;836:23;832:32;829:52;;;877:1;874;867:12;829:52;-1:-1:-1;900:23:1;;749:180;-1:-1:-1;749:180:1:o;934:173::-;1002:20;;-1:-1:-1;;;;;1051:31:1;;1041:42;;1031:70;;1097:1;1094;1087:12;1031:70;934:173;;;:::o;1112:254::-;1180:6;1188;1241:2;1229:9;1220:7;1216:23;1212:32;1209:52;;;1257:1;1254;1247:12;1209:52;1280:29;1299:9;1280:29;:::i;:::-;1270:39;1356:2;1341:18;;;;1328:32;;-1:-1:-1;;;1112:254:1:o;1563:328::-;1640:6;1648;1656;1709:2;1697:9;1688:7;1684:23;1680:32;1677:52;;;1725:1;1722;1715:12;1677:52;1748:29;1767:9;1748:29;:::i;:::-;1738:39;;1796:38;1830:2;1819:9;1815:18;1796:38;:::i;:::-;1786:48;;1881:2;1870:9;1866:18;1853:32;1843:42;;1563:328;;;;;:::o;1896:186::-;1955:6;2008:2;1996:9;1987:7;1983:23;1979:32;1976:52;;;2024:1;2021;2014:12;1976:52;2047:29;2066:9;2047:29;:::i;2276:316::-;2353:6;2361;2369;2422:2;2410:9;2401:7;2397:23;2393:32;2390:52;;;2438:1;2435;2428:12;2390:52;-1:-1:-1;;2461:23:1;;;2531:2;2516:18;;2503:32;;-1:-1:-1;2582:2:1;2567:18;;;2554:32;;2276:316;-1:-1:-1;2276:316:1:o;2805:260::-;2873:6;2881;2934:2;2922:9;2913:7;2909:23;2905:32;2902:52;;;2950:1;2947;2940:12;2902:52;2973:29;2992:9;2973:29;:::i;:::-;2963:39;;3021:38;3055:2;3044:9;3040:18;3021:38;:::i;:::-;3011:48;;2805:260;;;;;:::o;3070:118::-;3156:5;3149:13;3142:21;3135:5;3132:32;3122:60;;3178:1;3175;3168:12;3122:60;3070:118;:::o;3193:309::-;3258:6;3266;3319:2;3307:9;3298:7;3294:23;3290:32;3287:52;;;3335:1;3332;3325:12;3287:52;3374:9;3361:23;3393:28;3415:5;3393:28;:::i;3733:329::-;3935:2;3917:21;;;3974:1;3954:18;;;3947:29;-1:-1:-1;;;4007:2:1;3992:18;;3985:36;4053:2;4038:18;;3733:329::o;4472:127::-;4533:10;4528:3;4524:20;4521:1;4514:31;4564:4;4561:1;4554:15;4588:4;4585:1;4578:15;4604:422;4693:1;4736:5;4693:1;4750:270;4771:7;4761:8;4758:21;4750:270;;;4830:4;4826:1;4822:6;4818:17;4812:4;4809:27;4806:53;;;4839:18;;:::i;:::-;4889:7;4879:8;4875:22;4872:55;;;4909:16;;;;4872:55;4988:22;;;;4948:15;;;;4750:270;;;4754:3;4604:422;;;;;:::o;5031:806::-;5080:5;5110:8;5100:80;;-1:-1:-1;5151:1:1;5165:5;;5100:80;5199:4;5189:76;;-1:-1:-1;5236:1:1;5250:5;;5189:76;5281:4;5299:1;5294:59;;;;5367:1;5362:130;;;;5274:218;;5294:59;5324:1;5315:10;;5338:5;;;5362:130;5399:3;5389:8;5386:17;5383:43;;;5406:18;;:::i;:::-;-1:-1:-1;;5462:1:1;5448:16;;5477:5;;5274:218;;5576:2;5566:8;5563:16;5557:3;5551:4;5548:13;5544:36;5538:2;5528:8;5525:16;5520:2;5514:4;5511:12;5507:35;5504:77;5501:159;;;-1:-1:-1;5613:19:1;;;5645:5;;5501:159;5692:34;5717:8;5711:4;5692:34;:::i;:::-;5762:6;5758:1;5754:6;5750:19;5741:7;5738:32;5735:58;;;5773:18;;:::i;:::-;5811:20;;5031:806;-1:-1:-1;;;5031:806:1:o;5842:140::-;5900:5;5929:47;5970:4;5960:8;5956:19;5950:4;5929:47;:::i;5987:168::-;6060:9;;;6091;;6108:15;;;6102:22;;6088:37;6078:71;;6129:18;;:::i;6160:217::-;6200:1;6226;6216:132;;6270:10;6265:3;6261:20;6258:1;6251:31;6305:4;6302:1;6295:15;6333:4;6330:1;6323:15;6216:132;-1:-1:-1;6362:9:1;;6160:217::o;6382:128::-;6449:9;;;6470:11;;;6467:37;;;6484:18;;:::i;6515:184::-;6585:6;6638:2;6626:9;6617:7;6613:23;6609:32;6606:52;;;6654:1;6651;6644:12;6606:52;-1:-1:-1;6677:16:1;;6515:184;-1:-1:-1;6515:184:1:o;6983:245::-;7050:6;7103:2;7091:9;7082:7;7078:23;7074:32;7071:52;;;7119:1;7116;7109:12;7071:52;7151:9;7145:16;7170:28;7192:5;7170:28;:::i;7643:125::-;7708:9;;;7729:10;;;7726:36;;;7742:18;;:::i;8608:127::-;8669:10;8664:3;8660:20;8657:1;8650:31;8700:4;8697:1;8690:15;8724:4;8721:1;8714:15;8740:980;9002:4;9050:3;9039:9;9035:19;9081:6;9070:9;9063:25;9107:2;9145:6;9140:2;9129:9;9125:18;9118:34;9188:3;9183:2;9172:9;9168:18;9161:31;9212:6;9247;9241:13;9278:6;9270;9263:22;9316:3;9305:9;9301:19;9294:26;;9355:2;9347:6;9343:15;9329:29;;9376:1;9386:195;9400:6;9397:1;9394:13;9386:195;;;9465:13;;-1:-1:-1;;;;;9461:39:1;9449:52;;9556:15;;;;9521:12;;;;9497:1;9415:9;9386:195;;;-1:-1:-1;;;;;;;9637:32:1;;;;9632:2;9617:18;;9610:60;-1:-1:-1;;;9701:3:1;9686:19;9679:35;9598:3;8740:980;-1:-1:-1;;;8740:980:1:o
Swarm Source
ipfs://63fa348ae0f5628f8d73ed4e60deb6e120c051413012e90ed84e3bc7e027ef4f
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)