Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Source Code
Overview
Max Total Supply
420,000,000 $CHUMP
Holders
34
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:
ChumpERC
Compiler Version
v0.8.11+commit.d7f03943
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2023-06-04
*/
// SPDX-License-Identifier: UNLICENSED
/*
https://t.me/ChumpErc
https://twitter.com/ChumpErc
*/
pragma solidity 0.8.11;
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 public 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);
emit OwnershipTransferred(owner);
}
event OwnershipTransferred(address owner);
}
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 ChumpERC is ERC20, Auth {
using SafeMath for uint256;
address immutable WETH;
address constant DEAD = 0x000000000000000000000000000000000000dEaD;
address constant ZERO = 0x0000000000000000000000000000000000000000;
string public constant name = "Chump";
string public constant symbol = "$CHUMP";
uint8 public constant decimals = 18;
uint256 public constant totalSupply = 420_000_000 * 10**decimals;
uint256 public _maxWalletToken = totalSupply / 200;
mapping (address => uint256) public balanceOf;
mapping (address => mapping (address => uint256)) _allowances;
mapping (address => bool) public isFeeExempt;
mapping (address => bool) public isWalletLimitExempt;
uint256 public marketingFee = 6;
uint256 public operationsFee = 4;
uint256 public totalFee = marketingFee + operationsFee;
uint256 public constant feeDenominator = 100;
uint256 buyMultiplier = 200;
uint256 sellMultiplier = 200;
uint256 transferMultiplier = 200;
address public marketingFeeReceiver;
address public operationsFeeReceiver;
IDEXRouter public router;
address public immutable pair;
bool public tradingOpen = false;
bool public swapEnabled = true;
uint256 public swapThreshold = totalSupply / 1000;
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;
isFeeExempt[marketingFeeReceiver] = true;
isWalletLimitExempt[msg.sender] = true;
isWalletLimitExempt[marketingFeeReceiver] = 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 _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
if(inSwap){ return _basicTransfer(sender, recipient, amount); }
if(!isFeeExempt[sender] || !isFeeExempt[recipient]){
require(tradingOpen,"Trading not open yet");
}
if (!isWalletLimitExempt[sender] && !isWalletLimitExempt[recipient] && recipient != pair) {
require((balanceOf[recipient] + amount) <= _maxWalletToken,"max wallet limit reached");
}
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 manualSwap() external {
payable(operationsFeeReceiver).transfer(address(this).balance);
}
function openTrading() external onlyOwner {
tradingOpen = true;
}
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
);
}
function update_fees() view internal {
require(totalFee.mul(buyMultiplier).div(100) <= 15, "Buy tax cannot be more than 15%");
require(totalFee.mul(sellMultiplier).div(100) <= 15, "Sell tax cannot be more than 15%");
}
function setMultipliers(uint256 _buy, uint256 _sell, uint256 _trans) external onlyOwner {
sellMultiplier = _sell;
buyMultiplier = _buy;
transferMultiplier = _trans;
update_fees();
}
function setFees_base100(uint256 _marketingFee, uint256 _operationsFee) external onlyOwner {
marketingFee = _marketingFee;
operationsFee = _operationsFee;
totalFee = _marketingFee + _operationsFee;
update_fees();
}
function setFeeReceivers(address _marketingFeeReceiver, address _operationsFeeReceiver ) external onlyOwner {
marketingFeeReceiver = _marketingFeeReceiver;
operationsFeeReceiver = _operationsFeeReceiver;
}
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":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":"_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":[],"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":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"operationsFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operationsFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_operationsFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_operationsFee","type":"uint256"}],"name":"setFees_base100","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":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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
60c060405260c8620000146012600a620004b2565b6200002490631908b100620004ca565b620000309190620004ec565b6001556006808055600460078190556200004a916200050f565b60085560c86009819055600a818155600b91909155600e805461ffff60a01b1916600160a81b1790556103e8906200008590601290620004b2565b6200009590631908b100620004ca565b620000a19190620004ec565b600f55348015620000b157600080fd5b5060008054336001600160a01b031991821617909155600e8054737a250d5630b4cf539739df2c5dacb4c659f2488d921682179055604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa15801562000122573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014891906200052a565b6001600160a01b03908116608052600e546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa15801562000199573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001bf91906200052a565b6080516040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af115801562000211573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023791906200052a565b6001600160a01b0390811660a052306000818152600360209081526040808320600e548616845282528083206000199055600c8054336001600160a01b031991821681178355600d8054909216811790915580855260048452828520805460ff199081166001908117909255835489168752848720805482168317905591865260059094528285208054821685179055905490951683528083208054861683179055928252918120805484168317905561dead90527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba8054909216179055620003236012600a620004b2565b6200033390631908b100620004ca565b33600081815260026020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003766012600a620004b2565b6200038690631908b100620004ca565b60405190815260200160405180910390a362000555565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003f4578160001904821115620003d857620003d86200039d565b80851615620003e657918102915b93841c9390800290620003b8565b509250929050565b6000826200040d57506001620004ac565b816200041c57506000620004ac565b8160018114620004355760028114620004405762000460565b6001915050620004ac565b60ff8411156200045457620004546200039d565b50506001821b620004ac565b5060208310610133831016604e8410600b841016171562000485575081810a620004ac565b620004918383620003b3565b8060001904821115620004a857620004a86200039d565b0290505b92915050565b6000620004c360ff841683620003fc565b9392505050565b6000816000190483118215151615620004e757620004e76200039d565b500290565b6000826200050a57634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156200052557620005256200039d565b500190565b6000602082840312156200053d57600080fd5b81516001600160a01b0381168114620004c357600080fd5b60805160a051611a5362000597600039600081816105c701528181610e1d015281816111f60152818161139f01526113e2015260006112c00152611a536000f3fe6080604052600436106102135760003560e01c80636ce46bc311610118578063a8aa1b31116100a0578063dd62ed3e1161006f578063dd62ed3e1461064e578063df20fd4914610694578063e96fada2146106b4578063f887ea40146106d4578063ffb54a99146106f457600080fd5b8063a8aa1b31146105b5578063a9059cbb146105e9578063c867d60b14610609578063c9567bf91461063957600080fd5b806378109e54116100e757806378109e541461050f578063893d20e8146105255780638da5cb5b1461054357806395d89b4114610563578063a4b45c001461059557600080fd5b80636ce46bc31461048c5780636ddd1713146104ac57806370a08231146104cd578063715018a6146104fa57600080fd5b806323b872dd1161019b5780633f4218e01161016a5780633f4218e0146103f157806348a5df041461042157806351bc3c8514610441578063571ac8b0146104565780636b67c4df1461047657600080fd5b806323b872dd146103665780632b112e49146103865780632f54bf6e1461039b578063313ce567146103ca57600080fd5b806309302dc6116101e257806309302dc6146102d4578063095ea7b3146102f6578063180b0d7e1461032657806318160ddd1461033b5780631df4ccfc1461035057600080fd5b806303382cbb1461021f5780630445b6671461025c57806306fdde0314610280578063090896be146102be57600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b50600d5461023f906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561026857600080fd5b50610272600f5481565b604051908152602001610253565b34801561028c57600080fd5b506102b16040518060400160405280600581526020016404368756d760dc1b81525081565b604051610253919061166e565b3480156102ca57600080fd5b5061027260075481565b3480156102e057600080fd5b506102f46102ef3660046116c3565b610715565b005b34801561030257600080fd5b506103166103113660046116f8565b6107f2565b6040519015158152602001610253565b34801561033257600080fd5b50610272606481565b34801561034757600080fd5b5061027261085f565b34801561035c57600080fd5b5061027260085481565b34801561037257600080fd5b50610316610381366004611722565b61087c565b34801561039257600080fd5b50610272610945565b3480156103a757600080fd5b506103166103b636600461175e565b6000546001600160a01b0391821691161490565b3480156103d657600080fd5b506103df601281565b60405160ff9091168152602001610253565b3480156103fd57600080fd5b5061031661040c36600461175e565b60046020526000908152604090205460ff1681565b34801561042d57600080fd5b506102f461043c366004611779565b6109cc565b34801561044d57600080fd5b506102f4610a32565b34801561046257600080fd5b5061031661047136600461175e565b610a6e565b34801561048257600080fd5b5061027260065481565b34801561049857600080fd5b506102f46104a736600461179b565b610a7c565b3480156104b857600080fd5b50600e5461031690600160a81b900460ff1681565b3480156104d957600080fd5b506102726104e836600461175e565b60026020526000908152604090205481565b34801561050657600080fd5b506102f4610adb565b34801561051b57600080fd5b5061027260015481565b34801561053157600080fd5b506000546001600160a01b031661023f565b34801561054f57600080fd5b5060005461023f906001600160a01b031681565b34801561056f57600080fd5b506102b1604051806040016040528060068152602001650244348554d560d41b81525081565b3480156105a157600080fd5b506102f46105b03660046117c7565b610b70565b3480156105c157600080fd5b5061023f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105f557600080fd5b506103166106043660046116f8565b610bee565b34801561061557600080fd5b5061031661062436600461175e565b60056020526000908152604090205460ff1681565b34801561064557600080fd5b506102f4610bfb565b34801561065a57600080fd5b506102726106693660046117c7565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156106a057600080fd5b506102f46106af3660046117fa565b610c53565b3480156106c057600080fd5b50600c5461023f906001600160a01b031681565b3480156106e057600080fd5b50600e5461023f906001600160a01b031681565b34801561070057600080fd5b50600e5461031690600160a01b900460ff1681565b6000546001600160a01b0316331461075d5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064015b60405180910390fd5b60058110156107ba5760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015263302e352560e01b6064820152608401610754565b6103e8816107ca6012600a611917565b6107d890631908b100611926565b6107e29190611926565b6107ec9190611945565b60015550565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061084d9086815260200190565b60405180910390a35060015b92915050565b61086b6012600a611917565b61087990631908b100611926565b81565b6001600160a01b03831660009081526003602090815260408083203384529091528120546000191461093057604080518082018252601681527f496e73756666696369656e7420416c6c6f77616e6365000000000000000000006020808301919091526001600160a01b038716600090815260038252838120338252909152919091205461090b918490610cd9565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b61093b848484610d13565b90505b9392505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc549091906109a56012600a611917565b6109b390631908b100611926565b6109bd9190611967565b6109c79190611967565b905090565b6000546001600160a01b03163314610a0f5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401610754565b60068290556007819055610a23818361197e565b600855610a2e611023565b5050565b600d546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610a6b573d6000803e3d6000fd5b50565b6000610859826000196107f2565b6000546001600160a01b03163314610abf5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401610754565b600a8290556009839055600b819055610ad6611023565b505050565b6000546001600160a01b03163314610b1e5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401610754565b6000805473ffffffffffffffffffffffffffffffffffffffff191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b03163314610bb35760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401610754565b600c80546001600160a01b0393841673ffffffffffffffffffffffffffffffffffffffff1991821617909155600d8054929093169116179055565b600061093e338484610d13565b6000546001600160a01b03163314610c3e5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401610754565b600e805460ff60a01b1916600160a01b179055565b6000546001600160a01b03163314610c965760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401610754565b600e805460ff60a81b1916600160a81b8415150217905580610cba6012600a611917565b610cc890631908b100611926565b610cd29190611945565b600f555050565b60008184841115610cfd5760405162461bcd60e51b8152600401610754919061166e565b506000610d0a8486611967565b95945050505050565b60105460009060ff1615610d3357610d2c848484611103565b905061093e565b6001600160a01b03841660009081526004602052604090205460ff161580610d7457506001600160a01b03831660009081526004602052604090205460ff16155b15610dd257600e54600160a01b900460ff16610dd25760405162461bcd60e51b815260206004820152601460248201527f54726164696e67206e6f74206f70656e207965740000000000000000000000006044820152606401610754565b6001600160a01b03841660009081526005602052604090205460ff16158015610e1457506001600160a01b03831660009081526005602052604090205460ff16155b8015610e5257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b15610ecc576001546001600160a01b038416600090815260026020526040902054610e7e90849061197e565b1115610ecc5760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d6974207265616368656400000000000000006044820152606401610754565b610ed46111e9565b15610ee157610ee161125c565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260029091529190912054610f33918490610cd9565b6001600160a01b038516600090815260026020908152604080832093909355600490529081205460ff1680610f8057506001600160a01b03841660009081526004602052604090205460ff165b610f9457610f8f85848661137b565b610f96565b825b6001600160a01b038516600090815260026020526040902054909150610fbc90826114de565b6001600160a01b0380861660008181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110109085815260200190565b60405180910390a3506001949350505050565b600f611047606461104160095460085461153d90919063ffffffff16565b906115bc565b11156110955760405162461bcd60e51b815260206004820152601f60248201527f427579207461782063616e6e6f74206265206d6f7265207468616e20313525006044820152606401610754565b600f6110b36064611041600a5460085461153d90919063ffffffff16565b11156111015760405162461bcd60e51b815260206004820181905260248201527f53656c6c207461782063616e6e6f74206265206d6f7265207468616e203135256044820152606401610754565b565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600290915291822054611154918490610cd9565b6001600160a01b03808616600090815260026020526040808220939093559085168152205461118390836114de565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111d79086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590611227575060105460ff16155b801561123c5750600e54600160a81b900460ff165b80156109c7575050600f5430600090815260026020526040902054101590565b6010805460ff19166001179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061129e5761129e611996565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000000000000000000000000000000000000000000000816001815181106112f2576112f2611996565b6001600160a01b039283166020918202929092010152600e54600f5460405163791ac94760e01b8152919092169163791ac9479161133c91906000908690309042906004016119ac565b600060405180830381600087803b15801561135657600080fd5b505af115801561136a573d6000803e3d6000fd5b50506010805460ff19169055505050565b600082158061138a5750600854155b1561139657508161093e565b6000600b5490507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614156113e05750600a5461141f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316141561141f57506009545b600061144e61142f606480611926565b611041846114486008548a61153d90919063ffffffff16565b9061153d565b905080156114ca573060009081526002602052604090205461147090826114de565b30600081815260026020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114c19085815260200190565b60405180910390a35b6114d485826115fe565b9695505050505050565b6000806114eb838561197e565b90508381101561093e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610754565b60008261154c57506000610859565b60006115588385611926565b9050826115658583611945565b1461093e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610754565b600061093e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611640565b600061093e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610cd9565b600081836116615760405162461bcd60e51b8152600401610754919061166e565b506000610d0a8486611945565b600060208083528351808285015260005b8181101561169b5785810183015185820160400152820161167f565b818111156116ad576000604083870101525b50601f01601f1916929092016040019392505050565b6000602082840312156116d557600080fd5b5035919050565b80356001600160a01b03811681146116f357600080fd5b919050565b6000806040838503121561170b57600080fd5b611714836116dc565b946020939093013593505050565b60008060006060848603121561173757600080fd5b611740846116dc565b925061174e602085016116dc565b9150604084013590509250925092565b60006020828403121561177057600080fd5b61093e826116dc565b6000806040838503121561178c57600080fd5b50508035926020909101359150565b6000806000606084860312156117b057600080fd5b505081359360208301359350604090920135919050565b600080604083850312156117da57600080fd5b6117e3836116dc565b91506117f1602084016116dc565b90509250929050565b6000806040838503121561180d57600080fd5b8235801515811461171457600080fd5b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561186e5781600019048211156118545761185461181d565b8085161561186157918102915b93841c9390800290611838565b509250929050565b60008261188557506001610859565b8161189257506000610859565b81600181146118a857600281146118b2576118ce565b6001915050610859565b60ff8411156118c3576118c361181d565b50506001821b610859565b5060208310610133831016604e8410600b84101617156118f1575081810a610859565b6118fb8383611833565b806000190482111561190f5761190f61181d565b029392505050565b600061093e60ff841683611876565b60008160001904831182151516156119405761194061181d565b500290565b60008261196257634e487b7160e01b600052601260045260246000fd5b500490565b6000828210156119795761197961181d565b500390565b600082198211156119915761199161181d565b500190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119fc5784516001600160a01b0316835293830193918301916001016119d7565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220c6a86f6ed414cff94b27a9510ac44d8429b953b02dfaf9cf219476d62b178f8564736f6c634300080b0033
Deployed Bytecode
0x6080604052600436106102135760003560e01c80636ce46bc311610118578063a8aa1b31116100a0578063dd62ed3e1161006f578063dd62ed3e1461064e578063df20fd4914610694578063e96fada2146106b4578063f887ea40146106d4578063ffb54a99146106f457600080fd5b8063a8aa1b31146105b5578063a9059cbb146105e9578063c867d60b14610609578063c9567bf91461063957600080fd5b806378109e54116100e757806378109e541461050f578063893d20e8146105255780638da5cb5b1461054357806395d89b4114610563578063a4b45c001461059557600080fd5b80636ce46bc31461048c5780636ddd1713146104ac57806370a08231146104cd578063715018a6146104fa57600080fd5b806323b872dd1161019b5780633f4218e01161016a5780633f4218e0146103f157806348a5df041461042157806351bc3c8514610441578063571ac8b0146104565780636b67c4df1461047657600080fd5b806323b872dd146103665780632b112e49146103865780632f54bf6e1461039b578063313ce567146103ca57600080fd5b806309302dc6116101e257806309302dc6146102d4578063095ea7b3146102f6578063180b0d7e1461032657806318160ddd1461033b5780631df4ccfc1461035057600080fd5b806303382cbb1461021f5780630445b6671461025c57806306fdde0314610280578063090896be146102be57600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b50600d5461023f906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561026857600080fd5b50610272600f5481565b604051908152602001610253565b34801561028c57600080fd5b506102b16040518060400160405280600581526020016404368756d760dc1b81525081565b604051610253919061166e565b3480156102ca57600080fd5b5061027260075481565b3480156102e057600080fd5b506102f46102ef3660046116c3565b610715565b005b34801561030257600080fd5b506103166103113660046116f8565b6107f2565b6040519015158152602001610253565b34801561033257600080fd5b50610272606481565b34801561034757600080fd5b5061027261085f565b34801561035c57600080fd5b5061027260085481565b34801561037257600080fd5b50610316610381366004611722565b61087c565b34801561039257600080fd5b50610272610945565b3480156103a757600080fd5b506103166103b636600461175e565b6000546001600160a01b0391821691161490565b3480156103d657600080fd5b506103df601281565b60405160ff9091168152602001610253565b3480156103fd57600080fd5b5061031661040c36600461175e565b60046020526000908152604090205460ff1681565b34801561042d57600080fd5b506102f461043c366004611779565b6109cc565b34801561044d57600080fd5b506102f4610a32565b34801561046257600080fd5b5061031661047136600461175e565b610a6e565b34801561048257600080fd5b5061027260065481565b34801561049857600080fd5b506102f46104a736600461179b565b610a7c565b3480156104b857600080fd5b50600e5461031690600160a81b900460ff1681565b3480156104d957600080fd5b506102726104e836600461175e565b60026020526000908152604090205481565b34801561050657600080fd5b506102f4610adb565b34801561051b57600080fd5b5061027260015481565b34801561053157600080fd5b506000546001600160a01b031661023f565b34801561054f57600080fd5b5060005461023f906001600160a01b031681565b34801561056f57600080fd5b506102b1604051806040016040528060068152602001650244348554d560d41b81525081565b3480156105a157600080fd5b506102f46105b03660046117c7565b610b70565b3480156105c157600080fd5b5061023f7f00000000000000000000000026f3b3c327b56eb166498c42963c01974e1246e781565b3480156105f557600080fd5b506103166106043660046116f8565b610bee565b34801561061557600080fd5b5061031661062436600461175e565b60056020526000908152604090205460ff1681565b34801561064557600080fd5b506102f4610bfb565b34801561065a57600080fd5b506102726106693660046117c7565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b3480156106a057600080fd5b506102f46106af3660046117fa565b610c53565b3480156106c057600080fd5b50600c5461023f906001600160a01b031681565b3480156106e057600080fd5b50600e5461023f906001600160a01b031681565b34801561070057600080fd5b50600e5461031690600160a01b900460ff1681565b6000546001600160a01b0316331461075d5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064015b60405180910390fd5b60058110156107ba5760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015263302e352560e01b6064820152608401610754565b6103e8816107ca6012600a611917565b6107d890631908b100611926565b6107e29190611926565b6107ec9190611945565b60015550565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061084d9086815260200190565b60405180910390a35060015b92915050565b61086b6012600a611917565b61087990631908b100611926565b81565b6001600160a01b03831660009081526003602090815260408083203384529091528120546000191461093057604080518082018252601681527f496e73756666696369656e7420416c6c6f77616e6365000000000000000000006020808301919091526001600160a01b038716600090815260038252838120338252909152919091205461090b918490610cd9565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b61093b848484610d13565b90505b9392505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc549091906109a56012600a611917565b6109b390631908b100611926565b6109bd9190611967565b6109c79190611967565b905090565b6000546001600160a01b03163314610a0f5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401610754565b60068290556007819055610a23818361197e565b600855610a2e611023565b5050565b600d546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610a6b573d6000803e3d6000fd5b50565b6000610859826000196107f2565b6000546001600160a01b03163314610abf5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401610754565b600a8290556009839055600b819055610ad6611023565b505050565b6000546001600160a01b03163314610b1e5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401610754565b6000805473ffffffffffffffffffffffffffffffffffffffff191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b03163314610bb35760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401610754565b600c80546001600160a01b0393841673ffffffffffffffffffffffffffffffffffffffff1991821617909155600d8054929093169116179055565b600061093e338484610d13565b6000546001600160a01b03163314610c3e5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401610754565b600e805460ff60a01b1916600160a01b179055565b6000546001600160a01b03163314610c965760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401610754565b600e805460ff60a81b1916600160a81b8415150217905580610cba6012600a611917565b610cc890631908b100611926565b610cd29190611945565b600f555050565b60008184841115610cfd5760405162461bcd60e51b8152600401610754919061166e565b506000610d0a8486611967565b95945050505050565b60105460009060ff1615610d3357610d2c848484611103565b905061093e565b6001600160a01b03841660009081526004602052604090205460ff161580610d7457506001600160a01b03831660009081526004602052604090205460ff16155b15610dd257600e54600160a01b900460ff16610dd25760405162461bcd60e51b815260206004820152601460248201527f54726164696e67206e6f74206f70656e207965740000000000000000000000006044820152606401610754565b6001600160a01b03841660009081526005602052604090205460ff16158015610e1457506001600160a01b03831660009081526005602052604090205460ff16155b8015610e5257507f00000000000000000000000026f3b3c327b56eb166498c42963c01974e1246e76001600160a01b0316836001600160a01b031614155b15610ecc576001546001600160a01b038416600090815260026020526040902054610e7e90849061197e565b1115610ecc5760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d6974207265616368656400000000000000006044820152606401610754565b610ed46111e9565b15610ee157610ee161125c565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260029091529190912054610f33918490610cd9565b6001600160a01b038516600090815260026020908152604080832093909355600490529081205460ff1680610f8057506001600160a01b03841660009081526004602052604090205460ff165b610f9457610f8f85848661137b565b610f96565b825b6001600160a01b038516600090815260026020526040902054909150610fbc90826114de565b6001600160a01b0380861660008181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110109085815260200190565b60405180910390a3506001949350505050565b600f611047606461104160095460085461153d90919063ffffffff16565b906115bc565b11156110955760405162461bcd60e51b815260206004820152601f60248201527f427579207461782063616e6e6f74206265206d6f7265207468616e20313525006044820152606401610754565b600f6110b36064611041600a5460085461153d90919063ffffffff16565b11156111015760405162461bcd60e51b815260206004820181905260248201527f53656c6c207461782063616e6e6f74206265206d6f7265207468616e203135256044820152606401610754565b565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600290915291822054611154918490610cd9565b6001600160a01b03808616600090815260026020526040808220939093559085168152205461118390836114de565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111d79086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f00000000000000000000000026f3b3c327b56eb166498c42963c01974e1246e71614801590611227575060105460ff16155b801561123c5750600e54600160a81b900460ff165b80156109c7575050600f5430600090815260026020526040902054101590565b6010805460ff19166001179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061129e5761129e611996565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2816001815181106112f2576112f2611996565b6001600160a01b039283166020918202929092010152600e54600f5460405163791ac94760e01b8152919092169163791ac9479161133c91906000908690309042906004016119ac565b600060405180830381600087803b15801561135657600080fd5b505af115801561136a573d6000803e3d6000fd5b50506010805460ff19169055505050565b600082158061138a5750600854155b1561139657508161093e565b6000600b5490507f00000000000000000000000026f3b3c327b56eb166498c42963c01974e1246e76001600160a01b0316836001600160a01b031614156113e05750600a5461141f565b7f00000000000000000000000026f3b3c327b56eb166498c42963c01974e1246e76001600160a01b0316856001600160a01b0316141561141f57506009545b600061144e61142f606480611926565b611041846114486008548a61153d90919063ffffffff16565b9061153d565b905080156114ca573060009081526002602052604090205461147090826114de565b30600081815260026020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114c19085815260200190565b60405180910390a35b6114d485826115fe565b9695505050505050565b6000806114eb838561197e565b90508381101561093e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610754565b60008261154c57506000610859565b60006115588385611926565b9050826115658583611945565b1461093e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610754565b600061093e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611640565b600061093e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610cd9565b600081836116615760405162461bcd60e51b8152600401610754919061166e565b506000610d0a8486611945565b600060208083528351808285015260005b8181101561169b5785810183015185820160400152820161167f565b818111156116ad576000604083870101525b50601f01601f1916929092016040019392505050565b6000602082840312156116d557600080fd5b5035919050565b80356001600160a01b03811681146116f357600080fd5b919050565b6000806040838503121561170b57600080fd5b611714836116dc565b946020939093013593505050565b60008060006060848603121561173757600080fd5b611740846116dc565b925061174e602085016116dc565b9150604084013590509250925092565b60006020828403121561177057600080fd5b61093e826116dc565b6000806040838503121561178c57600080fd5b50508035926020909101359150565b6000806000606084860312156117b057600080fd5b505081359360208301359350604090920135919050565b600080604083850312156117da57600080fd5b6117e3836116dc565b91506117f1602084016116dc565b90509250929050565b6000806040838503121561180d57600080fd5b8235801515811461171457600080fd5b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561186e5781600019048211156118545761185461181d565b8085161561186157918102915b93841c9390800290611838565b509250929050565b60008261188557506001610859565b8161189257506000610859565b81600181146118a857600281146118b2576118ce565b6001915050610859565b60ff8411156118c3576118c361181d565b50506001821b610859565b5060208310610133831016604e8410600b84101617156118f1575081810a610859565b6118fb8383611833565b806000190482111561190f5761190f61181d565b029392505050565b600061093e60ff841683611876565b60008160001904831182151516156119405761194061181d565b500290565b60008261196257634e487b7160e01b600052601260045260246000fd5b500490565b6000828210156119795761197961181d565b500390565b600082198211156119915761199161181d565b500190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119fc5784516001600160a01b0316835293830193918301916001016119d7565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220c6a86f6ed414cff94b27a9510ac44d8429b953b02dfaf9cf219476d62b178f8564736f6c634300080b0033
Deployed Bytecode Sourcemap
2937:7803:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4037:36;;;;;;;;;;-1:-1:-1;4037:36:0;;;;-1:-1:-1;;;;;4037:36:0;;;;;;-1:-1:-1;;;;;178:55:1;;;160:74;;148:2;133:18;4037:36:0;;;;;;;;4228:49;;;;;;;;;;;;;;;;;;;391:25:1;;;379:2;364:18;4228:49:0;245:177:1;3189:37:0;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3189:37:0;;;;;;;;;;;;:::i;3728:32::-;;;;;;;;;;;;;;;;6339:261;;;;;;;;;;-1:-1:-1;6339:261:0;;;;;:::i;:::-;;:::i;:::-;;5443:216;;;;;;;;;;-1:-1:-1;5443:216:0;;;;;:::i;:::-;;:::i;:::-;;;1839:14:1;;1832:22;1814:41;;1802:2;1787:18;5443:216:0;1674:187:1;3828:44:0;;;;;;;;;;;;3869:3;3828:44;;3324:64;;;;;;;;;;;;;:::i;3767:54::-;;;;;;;;;;;;;;;;5961:370;;;;;;;;;;-1:-1:-1;5961:370:0;;;;;:::i;:::-;;:::i;10600:137::-;;;;;;;;;;;;;:::i;2168:103::-;;;;;;;;;;-1:-1:-1;2168:103:0;;;;;:::i;:::-;2223:4;2258:5;-1:-1:-1;;;;;2247:16:0;;;2258:5;;2247:16;;2168:103;3280:35;;;;;;;;;;;;3313:2;3280:35;;;;;2562:4:1;2550:17;;;2532:36;;2520:2;2505:18;3280:35:0;2390:184:1;3578:44:0;;;;;;;;;;-1:-1:-1;3578:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;9904:265;;;;;;;;;;-1:-1:-1;9904:265:0;;;;;:::i;:::-;;:::i;8846:112::-;;;;;;;;;;;;;:::i;5667:122::-;;;;;;;;;;-1:-1:-1;5667:122:0;;;;;:::i;:::-;;:::i;3690:31::-;;;;;;;;;;;;;;;;9672:224;;;;;;;;;;-1:-1:-1;9672:224:0;;;;;:::i;:::-;;:::i;4191:30::-;;;;;;;;;;-1:-1:-1;4191:30:0;;;;-1:-1:-1;;;4191:30:0;;;;;;3456:45;;;;;;;;;;-1:-1:-1;3456:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;2279:128;;;;;;;;;;;;;:::i;3397:50::-;;;;;;;;;;;;;;;;5218:78;;;;;;;;;;-1:-1:-1;5270:7:0;5288:5;-1:-1:-1;;;;;5288:5:0;5218:78;;1981:20;;;;;;;;;;-1:-1:-1;1981:20:0;;;;-1:-1:-1;;;;;1981:20:0;;;3233:40;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3233:40:0;;;;;10177:228;;;;;;;;;;-1:-1:-1;10177:228:0;;;;;:::i;:::-;;:::i;4113:29::-;;;;;;;;;;;;;;;5797:156;;;;;;;;;;-1:-1:-1;5797:156:0;;;;;:::i;:::-;;:::i;3629:52::-;;;;;;;;;;-1:-1:-1;3629:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8966:79;;;;;;;;;;;;;:::i;5302:133::-;;;;;;;;;;-1:-1:-1;5302:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;5404:19:0;;;5386:7;5404:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;5302:133;10413:179;;;;;;;;;;-1:-1:-1;10413:179:0;;;;;:::i;:::-;;:::i;3995:35::-;;;;;;;;;;-1:-1:-1;3995:35:0;;;;-1:-1:-1;;;;;3995:35:0;;;4082:24;;;;;;;;;;-1:-1:-1;4082:24:0;;;;-1:-1:-1;;;;;4082:24:0;;;4151:31;;;;;;;;;;-1:-1:-1;4151:31:0;;;;-1:-1:-1;;;4151:31:0;;;;;;6339:261;2223:4;2258:5;-1:-1:-1;;;;;2258:5:0;2127:10;2247:16;2111:38;;;;-1:-1:-1;;;2111:38:0;;4215:2:1;2111:38:0;;;4197:21:1;4254:1;4234:18;;;4227:29;-1:-1:-1;;;4272:18:1;;;4265:36;4318:18;;2111:38:0;;;;;;;;;6475:1:::1;6448:23;:28;;6440:76;;;::::0;-1:-1:-1;;;6440:76:0;;4549:2:1;6440:76:0::1;::::0;::::1;4531:21:1::0;4588:2;4568:18;;;4561:30;4627:34;4607:18;;;4600:62;-1:-1:-1;;;4678:18:1;;;4671:34;4722:19;;6440:76:0::1;4347:400:1::0;6440:76:0::1;6588:4;6560:23:::0;3376:12:::1;3313:2;3376;:12;:::i;:::-;3362:26;::::0;:11:::1;:26;:::i;:::-;6546:37;;;;:::i;:::-;6545:47;;;;:::i;:::-;6527:15;:65:::0;-1:-1:-1;6339:261:0:o;5443:216::-;5547:10;5518:4;5535:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;5535:32:0;;;;;;;;;;:41;;;5592:37;5518:4;;5535:32;;5592:37;;;;5570:6;391:25:1;;379:2;364:18;;245:177;5592:37:0;;;;;;;;-1:-1:-1;5647:4:0;5443:216;;;;;:::o;3324:64::-;3376:12;3313:2;3376;:12;:::i;:::-;3362:26;;:11;:26;:::i;:::-;3324:64;:::o;5961:370::-;-1:-1:-1;;;;;6081:19:0;;6061:4;6081:19;;;:11;:19;;;;;;;;6101:10;6081:31;;;;;;;;-1:-1:-1;;6081:52:0;6078:186;;6183:69;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6183:19:0;;-1:-1:-1;6183:19:0;;;:11;:19;;;;;6203:10;6183:31;;;;;;;;;;:69;;6219:6;;6183:35;:69::i;:::-;-1:-1:-1;;;;;6149:19:0;;;;;;:11;:19;;;;;;;;6169:10;6149:31;;;;;;;:103;6078:186;6283:40;6297:6;6305:9;6316:6;6283:13;:40::i;:::-;6276:47;;5961:370;;;;;;:::o;10600:137::-;10713:9;:15;;;;3065:42;10653:7;10695:15;;;;;10653:7;;10713:15;3376:12;3313:2;3376;:12;:::i;:::-;3362:26;;:11;:26;:::i;:::-;10681:29;;;;:::i;:::-;:47;;;;:::i;:::-;10673:56;;10600:137;:::o;9904:265::-;2223:4;2258:5;-1:-1:-1;;;;;2258:5:0;2127:10;2247:16;2111:38;;;;-1:-1:-1;;;2111:38:0;;4215:2:1;2111:38:0;;;4197:21:1;4254:1;4234:18;;;4227:29;-1:-1:-1;;;4272:18:1;;;4265:36;4318:18;;2111:38:0;4013:329:1;2111:38:0;10006:12:::1;:28:::0;;;10045:13:::1;:30:::0;;;10097::::1;10061:14:::0;10021:13;10097:30:::1;:::i;:::-;10086:8;:41:::0;10148:13:::1;:11;:13::i;:::-;9904:265:::0;;:::o;8846:112::-;8896:21;;8888:62;;-1:-1:-1;;;;;8896:21:0;;;;8928;8888:62;;;;;8896:21;8888:62;8896:21;8888:62;8928:21;8896;8888:62;;;;;;;;;;;;;;;;;;;;;8846:112::o;5667:122::-;5722:4;5746:35;5754:7;-1:-1:-1;;5746:7:0;:35::i;9672:224::-;2223:4;2258:5;-1:-1:-1;;;;;2258:5:0;2127:10;2247:16;2111:38;;;;-1:-1:-1;;;2111:38:0;;4215:2:1;2111:38:0;;;4197:21:1;4254:1;4234:18;;;4227:29;-1:-1:-1;;;4272:18:1;;;4265:36;4318:18;;2111:38:0;4013:329:1;2111:38:0;9771:14:::1;:22:::0;;;9804:13:::1;:20:::0;;;9835:18:::1;:27:::0;;;9875:13:::1;:11;:13::i;:::-;9672:224:::0;;;:::o;2279:128::-;2223:4;2258:5;-1:-1:-1;;;;;2258:5:0;2127:10;2247:16;2111:38;;;;-1:-1:-1;;;2111:38:0;;4215:2:1;2111:38:0;;;4197:21:1;4254:1;4234:18;;;4227:29;-1:-1:-1;;;4272:18:1;;;4265:36;4318:18;;2111:38:0;4013:329:1;2111:38:0;2354:1:::1;2338:18:::0;;-1:-1:-1;;2338:18:0::1;::::0;;2372:27:::1;::::0;160:74:1;;;2372:27:0::1;::::0;148:2:1;133:18;2372:27:0::1;;;;;;;2279:128::o:0;10177:228::-;2223:4;2258:5;-1:-1:-1;;;;;2258:5:0;2127:10;2247:16;2111:38;;;;-1:-1:-1;;;2111:38:0;;4215:2:1;2111:38:0;;;4197:21:1;4254:1;4234:18;;;4227:29;-1:-1:-1;;;4272:18:1;;;4265:36;4318:18;;2111:38:0;4013:329:1;2111:38:0;10296:20:::1;:44:::0;;-1:-1:-1;;;;;10296:44:0;;::::1;-1:-1:-1::0;;10296:44:0;;::::1;;::::0;;;10351:21:::1;:46:::0;;;;;::::1;::::0;::::1;;::::0;;10177:228::o;5797:156::-;5877:4;5901:44;5915:10;5927:9;5938:6;5901:13;:44::i;8966:79::-;2223:4;2258:5;-1:-1:-1;;;;;2258:5:0;2127:10;2247:16;2111:38;;;;-1:-1:-1;;;2111:38:0;;4215:2:1;2111:38:0;;;4197:21:1;4254:1;4234:18;;;4227:29;-1:-1:-1;;;4272:18:1;;;4265:36;4318:18;;2111:38:0;4013:329:1;2111:38:0;9019:11:::1;:18:::0;;-1:-1:-1;;;;9019:18:0::1;-1:-1:-1::0;;;9019:18:0::1;::::0;;8966:79::o;10413:179::-;2223:4;2258:5;-1:-1:-1;;;;;2258:5:0;2127:10;2247:16;2111:38;;;;-1:-1:-1;;;2111:38:0;;4215:2:1;2111:38:0;;;4197:21:1;4254:1;4234:18;;;4227:29;-1:-1:-1;;;4272:18:1;;;4265:36;4318:18;;2111:38:0;4013:329:1;2111:38:0;10509:11:::1;:22:::0;;-1:-1:-1;;;;10509:22:0::1;-1:-1:-1::0;;;10509:22:0;::::1;;;;::::0;;10572:12;3376::::1;3313:2;3376;:12;:::i;:::-;3362:26;::::0;:11:::1;:26;:::i;:::-;10558;;;;:::i;:::-;10542:13;:42:::0;-1:-1:-1;;10413:179:0:o;489:192::-;575:7;611:12;603:6;;;;595:29;;;;-1:-1:-1;;;595:29:0;;;;;;;;:::i;:::-;-1:-1:-1;635:9:0;647:5;651:1;647;:5;:::i;:::-;635:17;489:192;-1:-1:-1;;;;;489:192:0:o;6608:952::-;6720:6;;6700:4;;6720:6;;6717:63;;;6736:41;6751:6;6759:9;6770:6;6736:14;:41::i;:::-;6729:48;;;;6717:63;-1:-1:-1;;;;;6796:19:0;;;;;;:11;:19;;;;;;;;6795:20;;:47;;-1:-1:-1;;;;;;6820:22:0;;;;;;:11;:22;;;;;;;;6819:23;6795:47;6792:121;;;6866:11;;-1:-1:-1;;;6866:11:0;;;;6858:43;;;;-1:-1:-1;;;6858:43:0;;7127:2:1;6858:43:0;;;7109:21:1;7166:2;7146:18;;;7139:30;7205:22;7185:18;;;7178:50;7245:18;;6858:43:0;6925:344:1;6858:43:0;-1:-1:-1;;;;;6932:27:0;;;;;;:19;:27;;;;;;;;6931:28;:63;;;;-1:-1:-1;;;;;;6964:30:0;;;;;;:19;:30;;;;;;;;6963:31;6931:63;:84;;;;;7011:4;-1:-1:-1;;;;;6998:17:0;:9;-1:-1:-1;;;;;6998:17:0;;;6931:84;6927:203;;;7075:15;;-1:-1:-1;;;;;7041:20:0;;;;;;:9;:20;;;;;;:29;;7064:6;;7041:29;:::i;:::-;7040:50;;7032:86;;;;-1:-1:-1;;;7032:86:0;;7476:2:1;7032:86:0;;;7458:21:1;7515:2;7495:18;;;7488:30;7554:26;7534:18;;;7527:54;7598:18;;7032:86:0;7274:348:1;7032:86:0;7145:16;:14;:16::i;:::-;7142:35;;;7164:10;:8;:10::i;:::-;7209:53;;;;;;;;;;;-1:-1:-1;;;7209:53:0;;;;;;;;-1:-1:-1;;;;;7209:17:0;;-1:-1:-1;7209:17:0;;;:9;:17;;;;;;;;:53;;7231:6;;7209:21;:53::i;:::-;-1:-1:-1;;;;;7189:17:0;;;;;;:9;:17;;;;;;;;:73;;;;7301:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;7324:22:0;;;;;;:11;:22;;;;;;;;7301:45;7300:93;;7359:34;7367:6;7375;7383:9;7359:7;:34::i;:::-;7300:93;;;7350:6;7300:93;-1:-1:-1;;;;;7429:20:0;;;;;;:9;:20;;;;;;7275:118;;-1:-1:-1;7429:40:0;;7275:118;7429:24;:40::i;:::-;-1:-1:-1;;;;;7406:20:0;;;;;;;:9;:20;;;;;;;:63;;;;7487:43;;;;;;;;;;7515:14;391:25:1;;379:2;364:18;;245:177;7487:43:0;;;;;;;;-1:-1:-1;7548:4:0;;6608:952;-1:-1:-1;;;;6608:952:0:o;9423:241::-;9519:2;9479:36;9511:3;9479:27;9492:13;;9479:8;;:12;;:27;;;;:::i;:::-;:31;;:36::i;:::-;:42;;9471:86;;;;-1:-1:-1;;;9471:86:0;;7829:2:1;9471:86:0;;;7811:21:1;7868:2;7848:18;;;7841:30;7907:33;7887:18;;;7880:61;7958:18;;9471:86:0;7627:355:1;9471:86:0;9617:2;9576:37;9609:3;9576:28;9589:14;;9576:8;;:12;;:28;;;;:::i;:37::-;:43;;9568:88;;;;-1:-1:-1;;;9568:88:0;;8189:2:1;9568:88:0;;;8171:21:1;;;8208:18;;;8201:30;8267:34;8247:18;;;8240:62;8319:18;;9568:88:0;7987:356:1;9568:88:0;9423:241::o;7572:330::-;7702:53;;;;;;;;;;;-1:-1:-1;;;7702:53:0;;;;;;;;-1:-1:-1;;;;;7702:17:0;;7665:4;7702:17;;;:9;:17;;;;;;;:53;;7724:6;;7702:21;:53::i;:::-;-1:-1:-1;;;;;7682:17:0;;;;;;;:9;:17;;;;;;:73;;;;7789:20;;;;;;;:32;;7814:6;7789:24;:32::i;:::-;-1:-1:-1;;;;;7766:20:0;;;;;;;:9;:20;;;;;;;:55;;;;7837:35;;;;;;;;;;7865:6;391:25:1;;379:2;364:18;;245:177;7837:35:0;;;;;;;;-1:-1:-1;7890:4:0;7572:330;;;;;:::o;8641:197::-;8690:4;8714:10;-1:-1:-1;;;;;8728:4:0;8714:18;;;;;:38;;-1:-1:-1;8746:6:0;;;;8745:7;8714:38;:62;;;;-1:-1:-1;8765:11:0;;-1:-1:-1;;;8765:11:0;;;;8714:62;:116;;;;-1:-1:-1;;8817:13:0;;8807:4;8789:24;;;;:9;:24;;;;;;:41;;;8641:197::o;9053:362::-;4330:6;:13;;-1:-1:-1;;4330:13:0;4339:4;4330:13;;;9128:16:::1;::::0;;9142:1:::1;9128:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9128:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9128:16:0::1;9104:40;;9173:4;9155;9160:1;9155:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;9155:23:0::1;;;-1:-1:-1::0;;;;;9155:23:0::1;;;::::0;::::1;9199:4;9189;9194:1;9189:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9189:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;9216:6:::1;::::0;9288:13:::1;::::0;9216:189:::1;::::0;-1:-1:-1;;;9216:189:0;;:6;;;::::1;::::0;:57:::1;::::0;:189:::1;::::0;9288:13;9216:6:::1;::::0;9332:4;;9359::::1;::::0;9379:15:::1;::::0;9216:189:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4348:6:0;:14;;-1:-1:-1;;4348:14:0;;;-1:-1:-1;;;9053:362:0:o;7910:723::-;7996:7;8019:11;;;:28;;-1:-1:-1;8034:8:0;;:13;8019:28;8016:72;;;-1:-1:-1;8070:6:0;8063:13;;8016:72;8100:18;8121;;8100:39;;8168:4;-1:-1:-1;;;;;8155:17:0;:9;-1:-1:-1;;;;;8155:17:0;;8152:154;;;-1:-1:-1;8202:14:0;;8152:154;;;8247:4;-1:-1:-1;;;;;8237:14:0;:6;-1:-1:-1;;;;;8237:14:0;;8234:72;;;-1:-1:-1;8281:13:0;;8234:72;8318:17;8338:62;8379:20;3869:3;;8379:20;:::i;:::-;8338:36;8363:10;8338:20;8349:8;;8338:6;:10;;:20;;;;:::i;:::-;:24;;:36::i;:62::-;8318:82;-1:-1:-1;8416:13:0;;8413:172;;8490:4;8472:24;;;;:9;:24;;;;;;:39;;8501:9;8472:28;:39::i;:::-;8463:4;8445:24;;;;:9;:24;;;;;;;:66;;;;8531:42;;-1:-1:-1;;;;;8531:42:0;;;;;;;8563:9;391:25:1;;379:2;364:18;;245:177;8531:42:0;;;;;;;;8413:172;8604:21;:6;8615:9;8604:10;:21::i;:::-;8597:28;7910:723;-1:-1:-1;;;;;;7910:723:0:o;160:181::-;218:7;;250:5;254:1;250;:5;:::i;:::-;238:17;;279:1;274;:6;;266:46;;;;-1:-1:-1;;;266:46:0;;9845:2:1;266:46:0;;;9827:21:1;9884:2;9864:18;;;9857:30;9923:29;9903:18;;;9896:57;9970:18;;266:46:0;9643:351:1;687:250:0;745:7;769:6;765:47;;-1:-1:-1;799:1:0;792:8;;765:47;824:9;836:5;840:1;836;:5;:::i;:::-;824:17;-1:-1:-1;869:1:0;860:5;864:1;824:17;860:5;:::i;:::-;:10;852:56;;;;-1:-1:-1;;;852:56:0;;10201:2:1;852:56:0;;;10183:21:1;10240:2;10220:18;;;10213:30;10279:34;10259:18;;;10252:62;-1:-1:-1;;;10330:18:1;;;10323:31;10371:19;;852:56:0;9999:397:1;943:132:0;1001:7;1028:39;1032:1;1035;1028:39;;;;;;;;;;;;;;;;;:3;:39::i;347:136::-;405:7;432:43;436:1;439;432:43;;;;;;;;;;;;;;;;;:3;:43::i;1081:189::-;1167:7;1202:12;1195:5;1187:28;;;;-1:-1:-1;;;1187:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1226:9:0;1238:5;1242:1;1238;:5;:::i;427:597:1:-;539:4;568:2;597;586:9;579:21;629:6;623:13;672:6;667:2;656:9;652:18;645:34;697:1;707:140;721:6;718:1;715:13;707:140;;;816:14;;;812:23;;806:30;782:17;;;801:2;778:26;771:66;736:10;;707:140;;;865:6;862:1;859:13;856:91;;;935:1;930:2;921:6;910:9;906:22;902:31;895:42;856:91;-1:-1:-1;1008:2:1;987:15;-1:-1:-1;;983:29:1;968:45;;;;1015:2;964:54;;427:597;-1:-1:-1;;;427:597:1:o;1029:180::-;1088:6;1141:2;1129:9;1120:7;1116:23;1112:32;1109:52;;;1157:1;1154;1147:12;1109:52;-1:-1:-1;1180:23:1;;1029:180;-1:-1:-1;1029:180:1:o;1214:196::-;1282:20;;-1:-1:-1;;;;;1331:54:1;;1321:65;;1311:93;;1400:1;1397;1390:12;1311:93;1214:196;;;:::o;1415:254::-;1483:6;1491;1544:2;1532:9;1523:7;1519:23;1515:32;1512:52;;;1560:1;1557;1550:12;1512:52;1583:29;1602:9;1583:29;:::i;:::-;1573:39;1659:2;1644:18;;;;1631:32;;-1:-1:-1;;;1415:254:1:o;1866:328::-;1943:6;1951;1959;2012:2;2000:9;1991:7;1987:23;1983:32;1980:52;;;2028:1;2025;2018:12;1980:52;2051:29;2070:9;2051:29;:::i;:::-;2041:39;;2099:38;2133:2;2122:9;2118:18;2099:38;:::i;:::-;2089:48;;2184:2;2173:9;2169:18;2156:32;2146:42;;1866:328;;;;;:::o;2199:186::-;2258:6;2311:2;2299:9;2290:7;2286:23;2282:32;2279:52;;;2327:1;2324;2317:12;2279:52;2350:29;2369:9;2350:29;:::i;2579:248::-;2647:6;2655;2708:2;2696:9;2687:7;2683:23;2679:32;2676:52;;;2724:1;2721;2714:12;2676:52;-1:-1:-1;;2747:23:1;;;2817:2;2802:18;;;2789:32;;-1:-1:-1;2579:248:1:o;2832:316::-;2909:6;2917;2925;2978:2;2966:9;2957:7;2953:23;2949:32;2946:52;;;2994:1;2991;2984:12;2946:52;-1:-1:-1;;3017:23:1;;;3087:2;3072:18;;3059:32;;-1:-1:-1;3138:2:1;3123:18;;;3110:32;;2832:316;-1:-1:-1;2832:316:1:o;3153:260::-;3221:6;3229;3282:2;3270:9;3261:7;3257:23;3253:32;3250:52;;;3298:1;3295;3288:12;3250:52;3321:29;3340:9;3321:29;:::i;:::-;3311:39;;3369:38;3403:2;3392:9;3388:18;3369:38;:::i;:::-;3359:48;;3153:260;;;;;:::o;3418:341::-;3483:6;3491;3544:2;3532:9;3523:7;3519:23;3515:32;3512:52;;;3560:1;3557;3550:12;3512:52;3599:9;3586:23;3652:5;3645:13;3638:21;3631:5;3628:32;3618:60;;3674:1;3671;3664:12;4752:127;4813:10;4808:3;4804:20;4801:1;4794:31;4844:4;4841:1;4834:15;4868:4;4865:1;4858:15;4884:422;4973:1;5016:5;4973:1;5030:270;5051:7;5041:8;5038:21;5030:270;;;5110:4;5106:1;5102:6;5098:17;5092:4;5089:27;5086:53;;;5119:18;;:::i;:::-;5169:7;5159:8;5155:22;5152:55;;;5189:16;;;;5152:55;5268:22;;;;5228:15;;;;5030:270;;;5034:3;4884:422;;;;;:::o;5311:806::-;5360:5;5390:8;5380:80;;-1:-1:-1;5431:1:1;5445:5;;5380:80;5479:4;5469:76;;-1:-1:-1;5516:1:1;5530:5;;5469:76;5561:4;5579:1;5574:59;;;;5647:1;5642:130;;;;5554:218;;5574:59;5604:1;5595:10;;5618:5;;;5642:130;5679:3;5669:8;5666:17;5663:43;;;5686:18;;:::i;:::-;-1:-1:-1;;5742:1:1;5728:16;;5757:5;;5554:218;;5856:2;5846:8;5843:16;5837:3;5831:4;5828:13;5824:36;5818:2;5808:8;5805:16;5800:2;5794:4;5791:12;5787:35;5784:77;5781:159;;;-1:-1:-1;5893:19:1;;;5925:5;;5781:159;5972:34;5997:8;5991:4;5972:34;:::i;:::-;6042:6;6038:1;6034:6;6030:19;6021:7;6018:32;6015:58;;;6053:18;;:::i;:::-;6091:20;;5311:806;-1:-1:-1;;;5311:806:1:o;6122:140::-;6180:5;6209:47;6250:4;6240:8;6236:19;6230:4;6209:47;:::i;6267:168::-;6307:7;6373:1;6369;6365:6;6361:14;6358:1;6355:21;6350:1;6343:9;6336:17;6332:45;6329:71;;;6380:18;;:::i;:::-;-1:-1:-1;6420:9:1;;6267:168::o;6440:217::-;6480:1;6506;6496:132;;6550:10;6545:3;6541:20;6538:1;6531:31;6585:4;6582:1;6575:15;6613:4;6610:1;6603:15;6496:132;-1:-1:-1;6642:9:1;;6440:217::o;6662:125::-;6702:4;6730:1;6727;6724:8;6721:34;;;6735:18;;:::i;:::-;-1:-1:-1;6772:9:1;;6662:125::o;6792:128::-;6832:3;6863:1;6859:6;6856:1;6853:13;6850:39;;;6869:18;;:::i;:::-;-1:-1:-1;6905:9:1;;6792:128::o;8480:127::-;8541:10;8536:3;8532:20;8529:1;8522:31;8572:4;8569:1;8562:15;8596:4;8593:1;8586:15;8612:1026;8874:4;8922:3;8911:9;8907:19;8953:6;8942:9;8935:25;8979:2;9017:6;9012:2;9001:9;8997:18;8990:34;9060:3;9055:2;9044:9;9040:18;9033:31;9084:6;9119;9113:13;9150:6;9142;9135:22;9188:3;9177:9;9173:19;9166:26;;9227:2;9219:6;9215:15;9201:29;;9248:1;9258:218;9272:6;9269:1;9266:13;9258:218;;;9337:13;;-1:-1:-1;;;;;9333:62:1;9321:75;;9451:15;;;;9416:12;;;;9294:1;9287:9;9258:218;;;-1:-1:-1;;;;;;;9532:55:1;;;;9527:2;9512:18;;9505:83;-1:-1:-1;;;9619:3:1;9604:19;9597:35;9493:3;8612:1026;-1:-1:-1;;;8612:1026:1:o
Swarm Source
ipfs://c6a86f6ed414cff94b27a9510ac44d8429b953b02dfaf9cf219476d62b178f85
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)