ERC-20
Overview
Max Total Supply
69,000,000,000,000,000,000,000 SBD
Holders
30
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
1,928,242,759,461,788,549,373.943228046 SBDValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Shibabydoge
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-03-30 */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.9; 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 ); } contract Ownable is Context { address private _owner; address private _previousOwner; 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; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } 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 swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); } contract Shibabydoge is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "Shibabydoge"; string private constant _symbol = "SBD"; uint8 private constant _decimals = 9; mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 69000000000000000000000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _redisFeeOnBuy = 0; uint256 private _taxFeeOnBuy = 15; uint256 private _redisFeeOnSell = 0; uint256 private _taxFeeOnSell = 30; //Original Fee uint256 private _redisFee = _redisFeeOnSell; uint256 private _taxFee = _taxFeeOnSell; uint256 private _previousredisFee = _redisFee; uint256 private _previoustaxFee = _taxFee; mapping(address => bool) public bots; mapping (address => uint256) public _buyMap; address payable private _developmentAddress = payable(0x9E7542dD83a51B2f2C22460437B478c3ffe1Dc12); address payable private _marketingAddress = payable(0x9E7542dD83a51B2f2C22460437B478c3ffe1Dc12); IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = true; uint256 public _maxTxAmount = 3450000000000000000000 * 10**9; uint256 public _maxWalletSize = 3450000000000000000000 * 10**9; uint256 public _swapTokensAtAmount = 100000000 * 10**9; event MaxTxAmountUpdated(uint256 _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor() { _rOwned[_msgSender()] = _rTotal; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);// uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_developmentAddress] = true; _isExcludedFromFee[_marketingAddress] = true; 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 totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[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 airdrop(address recipient, uint256 amount) external onlyOwner() { removeAllFee(); _transfer(_msgSender(), recipient, amount * 10**9); restoreAllFee(); } function airdropInternal(address recipient, uint256 amount) internal { removeAllFee(); _transfer(_msgSender(), recipient, amount); restoreAllFee(); } function airdropArray(address[] calldata newholders, uint256[] calldata amounts) external onlyOwner(){ uint256 iterator = 0; require(newholders.length == amounts.length, "must be the same length"); while(iterator < newholders.length){ airdropInternal(newholders[iterator], amounts[iterator] * 10**9); iterator += 1; } } 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 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 removeAllFee() private { if (_redisFee == 0 && _taxFee == 0) return; _previousredisFee = _redisFee; _previoustaxFee = _taxFee; _redisFee = 0; _taxFee = 0; } function restoreAllFee() private { _redisFee = _previousredisFee; _taxFee = _previoustaxFee; } 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 _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"); require(amount > 0, "Transfer amount must be greater than zero"); if (from != owner() && to != owner()) { //Trade start check if (!tradingOpen) { require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled"); } require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit"); require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!"); if(to != uniswapV2Pair) { require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!"); } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= _swapTokensAtAmount; if(contractTokenBalance >= _maxTxAmount) { contractTokenBalance = _maxTxAmount; } if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } bool takeFee = true; //Transfer Tokens if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) { takeFee = false; } else { //Set Fee for Buys if(from == uniswapV2Pair && to != address(uniswapV2Router)) { _redisFee = _redisFeeOnBuy; _taxFee = _taxFeeOnBuy; } //Set Fee for Sells if (to == uniswapV2Pair && from != address(uniswapV2Router)) { _redisFee = _redisFeeOnSell; _taxFee = _taxFeeOnSell; } } _tokenTransfer(from, to, amount, takeFee); } 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 sendETHToFee(uint256 amount) private { _marketingAddress.transfer(amount); } function setTrading(bool _tradingOpen) public onlyOwner { tradingOpen = _tradingOpen; } function manualswap() external { require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function blockBots(address botwallet) external onlyOwner { bots[botwallet] = true; } function unblockBot(address notbot) public onlyOwner { bots[notbot] = false; } function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { if (!takeFee) removeAllFee(); _transferStandard(sender, recipient, amount); if (!takeFee) restoreAllFee(); } function _transferStandard( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam ) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function _getValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256, uint256, uint256 ) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _redisFee, _taxFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues( uint256 tAmount, uint256 redisFee, uint256 taxFee ) private pure returns ( uint256, uint256, uint256 ) { uint256 tFee = tAmount.mul(redisFee).div(100); uint256 tTeam = tAmount.mul(taxFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } 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 setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner { _redisFeeOnBuy = redisFeeOnBuy; _redisFeeOnSell = redisFeeOnSell; _taxFeeOnBuy = taxFeeOnBuy; _taxFeeOnSell = taxFeeOnSell; } //Set minimum tokens required to swap. function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner { _swapTokensAtAmount = swapTokensAtAmount; } //Set minimum tokens required to swap. function toggleSwap(bool _swapEnabled) public onlyOwner { swapEnabled = _swapEnabled; } //Set maximum transaction function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner { _maxTxAmount = maxTxAmount; } function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner { _maxWalletSize = maxWalletSize; } function excludeFromFee(address account, bool excluded) public onlyOwner { _isExcludedFromFee[account] = excluded; } function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner { for(uint256 i = 0; i < accounts.length; i++) { _isExcludedFromFee[accounts[i]] = excluded; } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":"_maxTxAmount","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":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"airdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"newholders","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"airdropArray","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":[{"internalType":"address","name":"botwallet","type":"address"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","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
6080604052620000206d0366e7064422fd84202340000000600019620003a6565b6200002e90600019620003c9565b60065560006008819055600f6009819055600a829055601e600b819055600c839055600d819055600e9290925555601280546001600160a01b0319908116739e7542dd83a51b2f2c22460437b478c3ffe1dc129081179092556013805490911690911790556015805461ffff60a81b1916600160b01b1790556c2b8b8d1d01bfe034ce90000000601681905560175567016345785d8a0000601855348015620000d657600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006543360009081526002602090815260409182902092909255601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a01559260048083019392829003018186803b1580156200018f57600080fd5b505afa158015620001a4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ca9190620003ef565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200021357600080fd5b505afa15801562000228573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024e9190620003ef565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200029757600080fd5b505af1158015620002ac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d29190620003ef565b601580546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055601254851684528284208054821683179055601354909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6d0366e7064422fd842023400000006040516200039791815260200190565b60405180910390a35062000421565b600082620003c457634e487b7160e01b600052601260045260246000fd5b500690565b600082821015620003ea57634e487b7160e01b600052601160045260246000fd5b500390565b6000602082840312156200040257600080fd5b81516001600160a01b03811681146200041a57600080fd5b9392505050565b611feb80620004316000396000f3fe6080604052600436106101f25760003560e01c80637f2feddc1161010d578063a9059cbb116100a0578063d4a3883f1161006f578063d4a3883f146105bd578063dd62ed3e146105dd578063df8408fe14610623578063ea1644d514610643578063f2fde38b1461066357600080fd5b8063a9059cbb14610538578063bfd7928414610558578063c3c8cd8014610588578063c492f0461461059d57600080fd5b80638f9a55c0116100dc5780638f9a55c0146104b657806395d89b41146104cc57806398a5c315146104f8578063a2a957bb1461051857600080fd5b80637f2feddc1461042b5780638ba4cc3c146104585780638da5cb5b146104785780638f70ccf71461049657600080fd5b806363c6f9121161018557806370a082311161015457806370a08231146103c0578063715018a6146103e057806374010ece146103f55780637d1db4a51461041557600080fd5b806363c6f912146103495780636b9990531461036b5780636d8aa8f81461038b5780636fc3eaec146103ab57600080fd5b806323b872dd116101c157806323b872dd146102d75780632fd689e3146102f7578063313ce5671461030d57806349bd5a5e1461032957600080fd5b806306fdde03146101fe578063095ea7b3146102445780631694505e1461027457806318160ddd146102ac57600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b5060408051808201909152600b81526a53686962616279646f676560a81b60208201525b60405161023b9190611b2a565b60405180910390f35b34801561025057600080fd5b5061026461025f366004611b94565b610683565b604051901515815260200161023b565b34801561028057600080fd5b50601454610294906001600160a01b031681565b6040516001600160a01b03909116815260200161023b565b3480156102b857600080fd5b506d0366e7064422fd842023400000005b60405190815260200161023b565b3480156102e357600080fd5b506102646102f2366004611bc0565b61069a565b34801561030357600080fd5b506102c960185481565b34801561031957600080fd5b506040516009815260200161023b565b34801561033557600080fd5b50601554610294906001600160a01b031681565b34801561035557600080fd5b50610369610364366004611c01565b610703565b005b34801561037757600080fd5b50610369610386366004611c01565b61075a565b34801561039757600080fd5b506103696103a6366004611c33565b6107a5565b3480156103b757600080fd5b506103696107ed565b3480156103cc57600080fd5b506102c96103db366004611c01565b610838565b3480156103ec57600080fd5b5061036961085a565b34801561040157600080fd5b50610369610410366004611c4e565b6108ce565b34801561042157600080fd5b506102c960165481565b34801561043757600080fd5b506102c9610446366004611c01565b60116020526000908152604090205481565b34801561046457600080fd5b50610369610473366004611b94565b6108fd565b34801561048457600080fd5b506000546001600160a01b0316610294565b3480156104a257600080fd5b506103696104b1366004611c33565b61095c565b3480156104c257600080fd5b506102c960175481565b3480156104d857600080fd5b5060408051808201909152600381526214d09160ea1b602082015261022e565b34801561050457600080fd5b50610369610513366004611c4e565b6109a4565b34801561052457600080fd5b50610369610533366004611c67565b6109d3565b34801561054457600080fd5b50610264610553366004611b94565b610a11565b34801561056457600080fd5b50610264610573366004611c01565b60106020526000908152604090205460ff1681565b34801561059457600080fd5b50610369610a1e565b3480156105a957600080fd5b506103696105b8366004611ce5565b610a72565b3480156105c957600080fd5b506103696105d8366004611d39565b610b13565b3480156105e957600080fd5b506102c96105f8366004611da5565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561062f57600080fd5b5061036961063e366004611dde565b610c06565b34801561064f57600080fd5b5061036961065e366004611c4e565b610c5b565b34801561066f57600080fd5b5061036961067e366004611c01565b610c8a565b6000610690338484610d74565b5060015b92915050565b60006106a7848484610e98565b6106f984336106f485604051806060016040528060288152602001611f8e602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906113d4565b610d74565b5060019392505050565b6000546001600160a01b031633146107365760405162461bcd60e51b815260040161072d90611e13565b60405180910390fd5b6001600160a01b03166000908152601060205260409020805460ff19166001179055565b6000546001600160a01b031633146107845760405162461bcd60e51b815260040161072d90611e13565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b031633146107cf5760405162461bcd60e51b815260040161072d90611e13565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b0316148061082257506013546001600160a01b0316336001600160a01b0316145b61082b57600080fd5b476108358161140e565b50565b6001600160a01b03811660009081526002602052604081205461069490611448565b6000546001600160a01b031633146108845760405162461bcd60e51b815260040161072d90611e13565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108f85760405162461bcd60e51b815260040161072d90611e13565b601655565b6000546001600160a01b031633146109275760405162461bcd60e51b815260040161072d90611e13565b61092f6114cc565b610947338361094284633b9aca00611e5e565b610e98565b610958600e54600c55600f54600d55565b5050565b6000546001600160a01b031633146109865760405162461bcd60e51b815260040161072d90611e13565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146109ce5760405162461bcd60e51b815260040161072d90611e13565b601855565b6000546001600160a01b031633146109fd5760405162461bcd60e51b815260040161072d90611e13565b600893909355600a91909155600955600b55565b6000610690338484610e98565b6012546001600160a01b0316336001600160a01b03161480610a5357506013546001600160a01b0316336001600160a01b0316145b610a5c57600080fd5b6000610a6730610838565b9050610835816114fa565b6000546001600160a01b03163314610a9c5760405162461bcd60e51b815260040161072d90611e13565b60005b82811015610b0d578160056000868685818110610abe57610abe611e7d565b9050602002016020810190610ad39190611c01565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610b0581611e93565b915050610a9f565b50505050565b6000546001600160a01b03163314610b3d5760405162461bcd60e51b815260040161072d90611e13565b6000838214610b8e5760405162461bcd60e51b815260206004820152601760248201527f6d757374206265207468652073616d65206c656e677468000000000000000000604482015260640161072d565b83811015610bff57610bed858583818110610bab57610bab611e7d565b9050602002016020810190610bc09190611c01565b848484818110610bd257610bd2611e7d565b90506020020135633b9aca00610be89190611e5e565b611683565b610bf8600182611eae565b9050610b8e565b5050505050565b6000546001600160a01b03163314610c305760405162461bcd60e51b815260040161072d90611e13565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610c855760405162461bcd60e51b815260040161072d90611e13565b601755565b6000546001600160a01b03163314610cb45760405162461bcd60e51b815260040161072d90611e13565b6001600160a01b038116610d195760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161072d565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610dd65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161072d565b6001600160a01b038216610e375760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161072d565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610efc5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161072d565b6001600160a01b038216610f5e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161072d565b60008111610fc05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161072d565b6000546001600160a01b03848116911614801590610fec57506000546001600160a01b03838116911614155b156112cd57601554600160a01b900460ff16611085576000546001600160a01b038481169116146110855760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161072d565b6016548111156110d75760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161072d565b6001600160a01b03831660009081526010602052604090205460ff1615801561111957506001600160a01b03821660009081526010602052604090205460ff16155b6111715760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b606482015260840161072d565b6015546001600160a01b038381169116146111f6576017548161119384610838565b61119d9190611eae565b106111f65760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161072d565b600061120130610838565b60185460165491925082101590821061121a5760165491505b8080156112315750601554600160a81b900460ff16155b801561124b57506015546001600160a01b03868116911614155b80156112605750601554600160b01b900460ff165b801561128557506001600160a01b03851660009081526005602052604090205460ff16155b80156112aa57506001600160a01b03841660009081526005602052604090205460ff16155b156112ca576112b8826114fa565b4780156112c8576112c84761140e565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061130f57506001600160a01b03831660009081526005602052604090205460ff165b8061134157506015546001600160a01b0385811691161480159061134157506015546001600160a01b03848116911614155b1561134e575060006113c8565b6015546001600160a01b03858116911614801561137957506014546001600160a01b03848116911614155b1561138b57600854600c55600954600d555b6015546001600160a01b0384811691161480156113b657506014546001600160a01b03858116911614155b156113c857600a54600c55600b54600d555b610b0d84848484611696565b600081848411156113f85760405162461bcd60e51b815260040161072d9190611b2a565b5060006114058486611ec6565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610958573d6000803e3d6000fd5b60006006548211156114af5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161072d565b60006114b96116c4565b90506114c583826116e7565b9392505050565b600c541580156114dc5750600d54155b156114e357565b600c8054600e55600d8054600f5560009182905555565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061154257611542611e7d565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561159657600080fd5b505afa1580156115aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ce9190611edd565b816001815181106115e1576115e1611e7d565b6001600160a01b0392831660209182029290920101526014546116079130911684610d74565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac94790611640908590600090869030904290600401611efa565b600060405180830381600087803b15801561165a57600080fd5b505af115801561166e573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b61168b6114cc565b610947338383610e98565b806116a3576116a36114cc565b6116ae848484611729565b80610b0d57610b0d600e54600c55600f54600d55565b60008060006116d1611820565b90925090506116e082826116e7565b9250505090565b60006114c583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061186c565b60008060008060008061173b8761189a565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061176d90876118f7565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461179c9086611939565b6001600160a01b0389166000908152600260205260409020556117be81611998565b6117c884836119e2565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161180d91815260200190565b60405180910390a3505050505050505050565b60065460009081906d0366e7064422fd8420234000000061184182826116e7565b821015611863575050600654926d0366e7064422fd8420234000000092509050565b90939092509050565b6000818361188d5760405162461bcd60e51b815260040161072d9190611b2a565b5060006114058486611f6b565b60008060008060008060008060006118b78a600c54600d54611a06565b92509250925060006118c76116c4565b905060008060006118da8e878787611a5b565b919e509c509a509598509396509194505050505091939550919395565b60006114c583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113d4565b6000806119468385611eae565b9050838110156114c55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161072d565b60006119a26116c4565b905060006119b08383611aab565b306000908152600260205260409020549091506119cd9082611939565b30600090815260026020526040902055505050565b6006546119ef90836118f7565b6006556007546119ff9082611939565b6007555050565b6000808080611a206064611a1a8989611aab565b906116e7565b90506000611a336064611a1a8a89611aab565b90506000611a4b82611a458b866118f7565b906118f7565b9992985090965090945050505050565b6000808080611a6a8886611aab565b90506000611a788887611aab565b90506000611a868888611aab565b90506000611a9882611a4586866118f7565b939b939a50919850919650505050505050565b600082611aba57506000610694565b6000611ac68385611e5e565b905082611ad38583611f6b565b146114c55760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161072d565b600060208083528351808285015260005b81811015611b5757858101830151858201604001528201611b3b565b81811115611b69576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461083557600080fd5b60008060408385031215611ba757600080fd5b8235611bb281611b7f565b946020939093013593505050565b600080600060608486031215611bd557600080fd5b8335611be081611b7f565b92506020840135611bf081611b7f565b929592945050506040919091013590565b600060208284031215611c1357600080fd5b81356114c581611b7f565b80358015158114611c2e57600080fd5b919050565b600060208284031215611c4557600080fd5b6114c582611c1e565b600060208284031215611c6057600080fd5b5035919050565b60008060008060808587031215611c7d57600080fd5b5050823594602084013594506040840135936060013592509050565b60008083601f840112611cab57600080fd5b50813567ffffffffffffffff811115611cc357600080fd5b6020830191508360208260051b8501011115611cde57600080fd5b9250929050565b600080600060408486031215611cfa57600080fd5b833567ffffffffffffffff811115611d1157600080fd5b611d1d86828701611c99565b9094509250611d30905060208501611c1e565b90509250925092565b60008060008060408587031215611d4f57600080fd5b843567ffffffffffffffff80821115611d6757600080fd5b611d7388838901611c99565b90965094506020870135915080821115611d8c57600080fd5b50611d9987828801611c99565b95989497509550505050565b60008060408385031215611db857600080fd5b8235611dc381611b7f565b91506020830135611dd381611b7f565b809150509250929050565b60008060408385031215611df157600080fd5b8235611dfc81611b7f565b9150611e0a60208401611c1e565b90509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615611e7857611e78611e48565b500290565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611ea757611ea7611e48565b5060010190565b60008219821115611ec157611ec1611e48565b500190565b600082821015611ed857611ed8611e48565b500390565b600060208284031215611eef57600080fd5b81516114c581611b7f565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611f4a5784516001600160a01b031683529383019391830191600101611f25565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611f8857634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122048ef422596cc9bc1d1ab2f7804e3e2ee09cb445b4ca6c8acae62d94fdbcca06e64736f6c63430008090033
Deployed Bytecode
0x6080604052600436106101f25760003560e01c80637f2feddc1161010d578063a9059cbb116100a0578063d4a3883f1161006f578063d4a3883f146105bd578063dd62ed3e146105dd578063df8408fe14610623578063ea1644d514610643578063f2fde38b1461066357600080fd5b8063a9059cbb14610538578063bfd7928414610558578063c3c8cd8014610588578063c492f0461461059d57600080fd5b80638f9a55c0116100dc5780638f9a55c0146104b657806395d89b41146104cc57806398a5c315146104f8578063a2a957bb1461051857600080fd5b80637f2feddc1461042b5780638ba4cc3c146104585780638da5cb5b146104785780638f70ccf71461049657600080fd5b806363c6f9121161018557806370a082311161015457806370a08231146103c0578063715018a6146103e057806374010ece146103f55780637d1db4a51461041557600080fd5b806363c6f912146103495780636b9990531461036b5780636d8aa8f81461038b5780636fc3eaec146103ab57600080fd5b806323b872dd116101c157806323b872dd146102d75780632fd689e3146102f7578063313ce5671461030d57806349bd5a5e1461032957600080fd5b806306fdde03146101fe578063095ea7b3146102445780631694505e1461027457806318160ddd146102ac57600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b5060408051808201909152600b81526a53686962616279646f676560a81b60208201525b60405161023b9190611b2a565b60405180910390f35b34801561025057600080fd5b5061026461025f366004611b94565b610683565b604051901515815260200161023b565b34801561028057600080fd5b50601454610294906001600160a01b031681565b6040516001600160a01b03909116815260200161023b565b3480156102b857600080fd5b506d0366e7064422fd842023400000005b60405190815260200161023b565b3480156102e357600080fd5b506102646102f2366004611bc0565b61069a565b34801561030357600080fd5b506102c960185481565b34801561031957600080fd5b506040516009815260200161023b565b34801561033557600080fd5b50601554610294906001600160a01b031681565b34801561035557600080fd5b50610369610364366004611c01565b610703565b005b34801561037757600080fd5b50610369610386366004611c01565b61075a565b34801561039757600080fd5b506103696103a6366004611c33565b6107a5565b3480156103b757600080fd5b506103696107ed565b3480156103cc57600080fd5b506102c96103db366004611c01565b610838565b3480156103ec57600080fd5b5061036961085a565b34801561040157600080fd5b50610369610410366004611c4e565b6108ce565b34801561042157600080fd5b506102c960165481565b34801561043757600080fd5b506102c9610446366004611c01565b60116020526000908152604090205481565b34801561046457600080fd5b50610369610473366004611b94565b6108fd565b34801561048457600080fd5b506000546001600160a01b0316610294565b3480156104a257600080fd5b506103696104b1366004611c33565b61095c565b3480156104c257600080fd5b506102c960175481565b3480156104d857600080fd5b5060408051808201909152600381526214d09160ea1b602082015261022e565b34801561050457600080fd5b50610369610513366004611c4e565b6109a4565b34801561052457600080fd5b50610369610533366004611c67565b6109d3565b34801561054457600080fd5b50610264610553366004611b94565b610a11565b34801561056457600080fd5b50610264610573366004611c01565b60106020526000908152604090205460ff1681565b34801561059457600080fd5b50610369610a1e565b3480156105a957600080fd5b506103696105b8366004611ce5565b610a72565b3480156105c957600080fd5b506103696105d8366004611d39565b610b13565b3480156105e957600080fd5b506102c96105f8366004611da5565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561062f57600080fd5b5061036961063e366004611dde565b610c06565b34801561064f57600080fd5b5061036961065e366004611c4e565b610c5b565b34801561066f57600080fd5b5061036961067e366004611c01565b610c8a565b6000610690338484610d74565b5060015b92915050565b60006106a7848484610e98565b6106f984336106f485604051806060016040528060288152602001611f8e602891396001600160a01b038a16600090815260046020908152604080832033845290915290205491906113d4565b610d74565b5060019392505050565b6000546001600160a01b031633146107365760405162461bcd60e51b815260040161072d90611e13565b60405180910390fd5b6001600160a01b03166000908152601060205260409020805460ff19166001179055565b6000546001600160a01b031633146107845760405162461bcd60e51b815260040161072d90611e13565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b031633146107cf5760405162461bcd60e51b815260040161072d90611e13565b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b0316148061082257506013546001600160a01b0316336001600160a01b0316145b61082b57600080fd5b476108358161140e565b50565b6001600160a01b03811660009081526002602052604081205461069490611448565b6000546001600160a01b031633146108845760405162461bcd60e51b815260040161072d90611e13565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108f85760405162461bcd60e51b815260040161072d90611e13565b601655565b6000546001600160a01b031633146109275760405162461bcd60e51b815260040161072d90611e13565b61092f6114cc565b610947338361094284633b9aca00611e5e565b610e98565b610958600e54600c55600f54600d55565b5050565b6000546001600160a01b031633146109865760405162461bcd60e51b815260040161072d90611e13565b60158054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146109ce5760405162461bcd60e51b815260040161072d90611e13565b601855565b6000546001600160a01b031633146109fd5760405162461bcd60e51b815260040161072d90611e13565b600893909355600a91909155600955600b55565b6000610690338484610e98565b6012546001600160a01b0316336001600160a01b03161480610a5357506013546001600160a01b0316336001600160a01b0316145b610a5c57600080fd5b6000610a6730610838565b9050610835816114fa565b6000546001600160a01b03163314610a9c5760405162461bcd60e51b815260040161072d90611e13565b60005b82811015610b0d578160056000868685818110610abe57610abe611e7d565b9050602002016020810190610ad39190611c01565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610b0581611e93565b915050610a9f565b50505050565b6000546001600160a01b03163314610b3d5760405162461bcd60e51b815260040161072d90611e13565b6000838214610b8e5760405162461bcd60e51b815260206004820152601760248201527f6d757374206265207468652073616d65206c656e677468000000000000000000604482015260640161072d565b83811015610bff57610bed858583818110610bab57610bab611e7d565b9050602002016020810190610bc09190611c01565b848484818110610bd257610bd2611e7d565b90506020020135633b9aca00610be89190611e5e565b611683565b610bf8600182611eae565b9050610b8e565b5050505050565b6000546001600160a01b03163314610c305760405162461bcd60e51b815260040161072d90611e13565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610c855760405162461bcd60e51b815260040161072d90611e13565b601755565b6000546001600160a01b03163314610cb45760405162461bcd60e51b815260040161072d90611e13565b6001600160a01b038116610d195760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161072d565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610dd65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161072d565b6001600160a01b038216610e375760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161072d565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610efc5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161072d565b6001600160a01b038216610f5e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161072d565b60008111610fc05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161072d565b6000546001600160a01b03848116911614801590610fec57506000546001600160a01b03838116911614155b156112cd57601554600160a01b900460ff16611085576000546001600160a01b038481169116146110855760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161072d565b6016548111156110d75760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161072d565b6001600160a01b03831660009081526010602052604090205460ff1615801561111957506001600160a01b03821660009081526010602052604090205460ff16155b6111715760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b606482015260840161072d565b6015546001600160a01b038381169116146111f6576017548161119384610838565b61119d9190611eae565b106111f65760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161072d565b600061120130610838565b60185460165491925082101590821061121a5760165491505b8080156112315750601554600160a81b900460ff16155b801561124b57506015546001600160a01b03868116911614155b80156112605750601554600160b01b900460ff165b801561128557506001600160a01b03851660009081526005602052604090205460ff16155b80156112aa57506001600160a01b03841660009081526005602052604090205460ff16155b156112ca576112b8826114fa565b4780156112c8576112c84761140e565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061130f57506001600160a01b03831660009081526005602052604090205460ff165b8061134157506015546001600160a01b0385811691161480159061134157506015546001600160a01b03848116911614155b1561134e575060006113c8565b6015546001600160a01b03858116911614801561137957506014546001600160a01b03848116911614155b1561138b57600854600c55600954600d555b6015546001600160a01b0384811691161480156113b657506014546001600160a01b03858116911614155b156113c857600a54600c55600b54600d555b610b0d84848484611696565b600081848411156113f85760405162461bcd60e51b815260040161072d9190611b2a565b5060006114058486611ec6565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610958573d6000803e3d6000fd5b60006006548211156114af5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161072d565b60006114b96116c4565b90506114c583826116e7565b9392505050565b600c541580156114dc5750600d54155b156114e357565b600c8054600e55600d8054600f5560009182905555565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061154257611542611e7d565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561159657600080fd5b505afa1580156115aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ce9190611edd565b816001815181106115e1576115e1611e7d565b6001600160a01b0392831660209182029290920101526014546116079130911684610d74565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac94790611640908590600090869030904290600401611efa565b600060405180830381600087803b15801561165a57600080fd5b505af115801561166e573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b61168b6114cc565b610947338383610e98565b806116a3576116a36114cc565b6116ae848484611729565b80610b0d57610b0d600e54600c55600f54600d55565b60008060006116d1611820565b90925090506116e082826116e7565b9250505090565b60006114c583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061186c565b60008060008060008061173b8761189a565b6001600160a01b038f16600090815260026020526040902054959b5093995091975095509350915061176d90876118f7565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461179c9086611939565b6001600160a01b0389166000908152600260205260409020556117be81611998565b6117c884836119e2565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161180d91815260200190565b60405180910390a3505050505050505050565b60065460009081906d0366e7064422fd8420234000000061184182826116e7565b821015611863575050600654926d0366e7064422fd8420234000000092509050565b90939092509050565b6000818361188d5760405162461bcd60e51b815260040161072d9190611b2a565b5060006114058486611f6b565b60008060008060008060008060006118b78a600c54600d54611a06565b92509250925060006118c76116c4565b905060008060006118da8e878787611a5b565b919e509c509a509598509396509194505050505091939550919395565b60006114c583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113d4565b6000806119468385611eae565b9050838110156114c55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161072d565b60006119a26116c4565b905060006119b08383611aab565b306000908152600260205260409020549091506119cd9082611939565b30600090815260026020526040902055505050565b6006546119ef90836118f7565b6006556007546119ff9082611939565b6007555050565b6000808080611a206064611a1a8989611aab565b906116e7565b90506000611a336064611a1a8a89611aab565b90506000611a4b82611a458b866118f7565b906118f7565b9992985090965090945050505050565b6000808080611a6a8886611aab565b90506000611a788887611aab565b90506000611a868888611aab565b90506000611a9882611a4586866118f7565b939b939a50919850919650505050505050565b600082611aba57506000610694565b6000611ac68385611e5e565b905082611ad38583611f6b565b146114c55760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161072d565b600060208083528351808285015260005b81811015611b5757858101830151858201604001528201611b3b565b81811115611b69576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461083557600080fd5b60008060408385031215611ba757600080fd5b8235611bb281611b7f565b946020939093013593505050565b600080600060608486031215611bd557600080fd5b8335611be081611b7f565b92506020840135611bf081611b7f565b929592945050506040919091013590565b600060208284031215611c1357600080fd5b81356114c581611b7f565b80358015158114611c2e57600080fd5b919050565b600060208284031215611c4557600080fd5b6114c582611c1e565b600060208284031215611c6057600080fd5b5035919050565b60008060008060808587031215611c7d57600080fd5b5050823594602084013594506040840135936060013592509050565b60008083601f840112611cab57600080fd5b50813567ffffffffffffffff811115611cc357600080fd5b6020830191508360208260051b8501011115611cde57600080fd5b9250929050565b600080600060408486031215611cfa57600080fd5b833567ffffffffffffffff811115611d1157600080fd5b611d1d86828701611c99565b9094509250611d30905060208501611c1e565b90509250925092565b60008060008060408587031215611d4f57600080fd5b843567ffffffffffffffff80821115611d6757600080fd5b611d7388838901611c99565b90965094506020870135915080821115611d8c57600080fd5b50611d9987828801611c99565b95989497509550505050565b60008060408385031215611db857600080fd5b8235611dc381611b7f565b91506020830135611dd381611b7f565b809150509250929050565b60008060408385031215611df157600080fd5b8235611dfc81611b7f565b9150611e0a60208401611c1e565b90509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615611e7857611e78611e48565b500290565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611ea757611ea7611e48565b5060010190565b60008219821115611ec157611ec1611e48565b500190565b600082821015611ed857611ed8611e48565b500390565b600060208284031215611eef57600080fd5b81516114c581611b7f565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611f4a5784516001600160a01b031683529383019391830191600101611f25565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611f8857634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122048ef422596cc9bc1d1ab2f7804e3e2ee09cb445b4ca6c8acae62d94fdbcca06e64736f6c63430008090033
Deployed Bytecode Sourcemap
4070:14423:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6625:83;;;;;;;;;;-1:-1:-1;6695:5:0;;;;;;;;;;;;-1:-1:-1;;;6695:5:0;;;;6625:83;;;;;;;:::i;:::-;;;;;;;;7550:193;;;;;;;;;;-1:-1:-1;7550:193:0;;;;;:::i;:::-;;:::i;:::-;;;1237:14:1;;1230:22;1212:41;;1200:2;1185:18;7550:193:0;1072:187:1;5431:41:0;;;;;;;;;;-1:-1:-1;5431:41:0;;;;-1:-1:-1;;;;;5431:41:0;;;;;;-1:-1:-1;;;;;1454:32:1;;;1436:51;;1424:2;1409:18;5431:41:0;1264:229:1;6902:95:0;;;;;;;;;;-1:-1:-1;4622:31:0;6902:95;;;1644:25:1;;;1632:2;1617:18;6902:95:0;1498:177:1;8543:446:0;;;;;;;;;;-1:-1:-1;8543:446:0;;;;;:::i;:::-;;:::i;5757:54::-;;;;;;;;;;;;;;;;6811:83;;;;;;;;;;-1:-1:-1;6811:83:0;;4296:1;2283:36:1;;2271:2;2256:18;6811:83:0;2141:184:1;5479:28:0;;;;;;;;;;-1:-1:-1;5479:28:0;;;;-1:-1:-1;;;;;5479:28:0;;;13589:98;;;;;;;;;;-1:-1:-1;13589:98:0;;;;;:::i;:::-;;:::i;:::-;;13695:92;;;;;;;;;;-1:-1:-1;13695:92:0;;;;;:::i;:::-;;:::i;17727:101::-;;;;;;;;;;-1:-1:-1;17727:101:0;;;;;:::i;:::-;;:::i;13346:235::-;;;;;;;;;;;;;:::i;7005:138::-;;;;;;;;;;-1:-1:-1;7005:138:0;;;;;:::i;:::-;;:::i;1557:148::-;;;;;;;;;;;;;:::i;17867:108::-;;;;;;;;;;-1:-1:-1;17867:108:0;;;;;:::i;:::-;;:::i;5621:60::-;;;;;;;;;;;;;;;;5173:43;;;;;;;;;;-1:-1:-1;5173:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;7751:193;;;;;;;;;;-1:-1:-1;7751:193:0;;;;;:::i;:::-;;:::i;1343:79::-;;;;;;;;;;-1:-1:-1;1381:7:0;1408:6;-1:-1:-1;;;;;1408:6:0;1343:79;;12993:101;;;;;;;;;;-1:-1:-1;12993:101:0;;;;;:::i;:::-;;:::i;5688:62::-;;;;;;;;;;;;;;;;6716:87;;;;;;;;;;-1:-1:-1;6788:7:0;;;;;;;;;;;;-1:-1:-1;;;6788:7:0;;;;6716:87;;17536:139;;;;;;;;;;-1:-1:-1;17536:139:0;;;;;:::i;:::-;;:::i;17193:291::-;;;;;;;;;;-1:-1:-1;17193:291:0;;;;;:::i;:::-;;:::i;7151:199::-;;;;;;;;;;-1:-1:-1;7151:199:0;;;;;:::i;:::-;;:::i;5135:36::-;;;;;;;;;;-1:-1:-1;5135:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13102:236;;;;;;;;;;;;;:::i;18254:234::-;;;;;;;;;;-1:-1:-1;18254:234:0;;;;;:::i;:::-;;:::i;8149:386::-;;;;;;;;;;-1:-1:-1;8149:386:0;;;;;:::i;:::-;;:::i;7358:184::-;;;;;;;;;;-1:-1:-1;7358:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7507:18:0;;;7475:7;7507:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7358:184;18106:130;;;;;;;;;;-1:-1:-1;18106:130:0;;;;;:::i;:::-;;:::i;17983:115::-;;;;;;;;;;-1:-1:-1;17983:115:0;;;;;:::i;:::-;;:::i;1713:244::-;;;;;;;;;;-1:-1:-1;1713:244:0;;;;;:::i;:::-;;:::i;7550:193::-;7652:4;7674:39;182:10;7697:7;7706:6;7674:8;:39::i;:::-;-1:-1:-1;7731:4:0;7550:193;;;;;:::o;8543:446::-;8675:4;8692:36;8702:6;8710:9;8721:6;8692:9;:36::i;:::-;8739:220;8762:6;182:10;8810:138;8866:6;8810:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8810:19:0;;;;;;:11;:19;;;;;;;;182:10;8810:33;;;;;;;;;;:37;:138::i;:::-;8739:8;:220::i;:::-;-1:-1:-1;8977:4:0;8543:446;;;;;:::o;13589:98::-;1470:6;;-1:-1:-1;;;;;1470:6:0;182:10;1470:22;1462:67;;;;-1:-1:-1;;;1462:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;13657:15:0::1;;::::0;;;:4:::1;:15;::::0;;;;:22;;-1:-1:-1;;13657:22:0::1;13675:4;13657:22;::::0;;13589:98::o;13695:92::-;1470:6;;-1:-1:-1;;;;;1470:6:0;182:10;1470:22;1462:67;;;;-1:-1:-1;;;1462:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13759:12:0::1;13774:5;13759:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;13759:20:0::1;::::0;;13695:92::o;17727:101::-;1470:6;;-1:-1:-1;;;;;1470:6:0;182:10;1470:22;1462:67;;;;-1:-1:-1;;;1462:67:0;;;;;;;:::i;:::-;17794:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;17794:26:0::1;-1:-1:-1::0;;;;17794:26:0;;::::1;::::0;;;::::1;::::0;;17727:101::o;13346:235::-;13412:19;;-1:-1:-1;;;;;13412:19:0;182:10;-1:-1:-1;;;;;13396:35:0;;:72;;;-1:-1:-1;13451:17:0;;-1:-1:-1;;;;;13451:17:0;182:10;-1:-1:-1;;;;;13435:33:0;;13396:72;13388:81;;;;;;13509:21;13541:32;13509:21;13541:12;:32::i;:::-;13377:204;13346:235::o;7005:138::-;-1:-1:-1;;;;;7118:16:0;;7071:7;7118:16;;;:7;:16;;;;;;7098:37;;:19;:37::i;1557:148::-;1470:6;;-1:-1:-1;;;;;1470:6:0;182:10;1470:22;1462:67;;;;-1:-1:-1;;;1462:67:0;;;;;;;:::i;:::-;1664:1:::1;1648:6:::0;;1627:40:::1;::::0;-1:-1:-1;;;;;1648:6:0;;::::1;::::0;1627:40:::1;::::0;1664:1;;1627:40:::1;1695:1;1678:19:::0;;-1:-1:-1;;;;;;1678:19:0::1;::::0;;1557:148::o;17867:108::-;1470:6;;-1:-1:-1;;;;;1470:6:0;182:10;1470:22;1462:67;;;;-1:-1:-1;;;1462:67:0;;;;;;;:::i;:::-;17941:12:::1;:26:::0;17867:108::o;7751:193::-;1470:6;;-1:-1:-1;;;;;1470:6:0;182:10;1470:22;1462:67;;;;-1:-1:-1;;;1462:67:0;;;;;;;:::i;:::-;7835:14:::1;:12;:14::i;:::-;7860:50;182:10:::0;7884:9;7895:14:::1;:6:::0;7904:5:::1;7895:14;:::i;:::-;7860:9;:50::i;:::-;7921:15;9611:17:::0;;9599:9;:29;9649:15;;9639:7;:25;9555:117;7921:15:::1;7751:193:::0;;:::o;12993:101::-;1470:6;;-1:-1:-1;;;;;1470:6:0;182:10;1470:22;1462:67;;;;-1:-1:-1;;;1462:67:0;;;;;;;:::i;:::-;13060:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;13060:26:0::1;-1:-1:-1::0;;;;13060:26:0;;::::1;::::0;;;::::1;::::0;;12993:101::o;17536:139::-;1470:6;;-1:-1:-1;;;;;1470:6:0;182:10;1470:22;1462:67;;;;-1:-1:-1;;;1462:67:0;;;;;;;:::i;:::-;17627:19:::1;:40:::0;17536:139::o;17193:291::-;1470:6;;-1:-1:-1;;;;;1470:6:0;182:10;1470:22;1462:67;;;;-1:-1:-1;;;1462:67:0;;;;;;;:::i;:::-;17327:14:::1;:30:::0;;;;17368:15:::1;:32:::0;;;;17411:12:::1;:26:::0;17448:13:::1;:28:::0;17193:291::o;7151:199::-;7256:4;7278:42;182:10;7302:9;7313:6;7278:9;:42::i;13102:236::-;13168:19;;-1:-1:-1;;;;;13168:19:0;182:10;-1:-1:-1;;;;;13152:35:0;;:72;;;-1:-1:-1;13207:17:0;;-1:-1:-1;;;;;13207:17:0;182:10;-1:-1:-1;;;;;13191:33:0;;13152:72;13144:81;;;;;;13236:23;13262:24;13280:4;13262:9;:24::i;:::-;13236:50;;13297:33;13314:15;13297:16;:33::i;18254:234::-;1470:6;;-1:-1:-1;;;;;1470:6:0;182:10;1470:22;1462:67;;;;-1:-1:-1;;;1462:67:0;;;;;;;:::i;:::-;18371:9:::1;18367:114;18386:19:::0;;::::1;18367:114;;;18461:8;18427:18;:31;18446:8;;18455:1;18446:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18427:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;18427:31:0;:42;;-1:-1:-1;;18427:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18407:3;::::1;::::0;::::1;:::i;:::-;;;;18367:114;;;;18254:234:::0;;;:::o;8149:386::-;1470:6;;-1:-1:-1;;;;;1470:6:0;182:10;1470:22;1462:67;;;;-1:-1:-1;;;1462:67:0;;;;;;;:::i;:::-;8261:16:::1;8300:35:::0;;::::1;8292:71;;;::::0;-1:-1:-1;;;8292:71:0;;7228:2:1;8292:71:0::1;::::0;::::1;7210:21:1::0;7267:2;7247:18;;;7240:30;7306:25;7286:18;;;7279:53;7349:18;;8292:71:0::1;7026:347:1::0;8292:71:0::1;8380:28:::0;;::::1;8374:154;;;8424:64;8440:10;;8451:8;8440:20;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;8462:7;;8470:8;8462:17;;;;;;;:::i;:::-;;;;;;;8482:5;8462:25;;;;:::i;:::-;8424:15;:64::i;:::-;8503:13;8515:1;8503:13:::0;::::1;:::i;:::-;;;8374:154;;;8250:285;8149:386:::0;;;;:::o;18106:130::-;1470:6;;-1:-1:-1;;;;;1470:6:0;182:10;1470:22;1462:67;;;;-1:-1:-1;;;1462:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18190:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:38;;-1:-1:-1;;18190:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18106:130::o;17983:115::-;1470:6;;-1:-1:-1;;;;;1470:6:0;182:10;1470:22;1462:67;;;;-1:-1:-1;;;1462:67:0;;;;;;;:::i;:::-;18060:14:::1;:30:::0;17983:115::o;1713:244::-;1470:6;;-1:-1:-1;;;;;1470:6:0;182:10;1470:22;1462:67;;;;-1:-1:-1;;;1462:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1802:22:0;::::1;1794:73;;;::::0;-1:-1:-1;;;1794:73:0;;7713:2:1;1794:73:0::1;::::0;::::1;7695:21:1::0;7752:2;7732:18;;;7725:30;7791:34;7771:18;;;7764:62;-1:-1:-1;;;7842:18:1;;;7835:36;7888:19;;1794:73:0::1;7511:402:1::0;1794:73:0::1;1904:6;::::0;;1883:38:::1;::::0;-1:-1:-1;;;;;1883:38:0;;::::1;::::0;1904:6;::::1;::::0;1883:38:::1;::::0;::::1;1932:6;:17:::0;;-1:-1:-1;;;;;;1932:17:0::1;-1:-1:-1::0;;;;;1932:17:0;;;::::1;::::0;;;::::1;::::0;;1713:244::o;9680:369::-;-1:-1:-1;;;;;9807:19:0;;9799:68;;;;-1:-1:-1;;;9799:68:0;;8120:2:1;9799:68:0;;;8102:21:1;8159:2;8139:18;;;8132:30;8198:34;8178:18;;;8171:62;-1:-1:-1;;;8249:18:1;;;8242:34;8293:19;;9799:68:0;7918:400:1;9799:68:0;-1:-1:-1;;;;;9886:21:0;;9878:68;;;;-1:-1:-1;;;9878:68:0;;8525:2:1;9878:68:0;;;8507:21:1;8564:2;8544:18;;;8537:30;8603:34;8583:18;;;8576:62;-1:-1:-1;;;8654:18:1;;;8647:32;8696:19;;9878:68:0;8323:398:1;9878:68:0;-1:-1:-1;;;;;9957:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10009:32;;1644:25:1;;;10009:32:0;;1617:18:1;10009:32:0;;;;;;;9680:369;;;:::o;10057:2330::-;-1:-1:-1;;;;;10179:18:0;;10171:68;;;;-1:-1:-1;;;10171:68:0;;8928:2:1;10171:68:0;;;8910:21:1;8967:2;8947:18;;;8940:30;9006:34;8986:18;;;8979:62;-1:-1:-1;;;9057:18:1;;;9050:35;9102:19;;10171:68:0;8726:401:1;10171:68:0;-1:-1:-1;;;;;10258:16:0;;10250:64;;;;-1:-1:-1;;;10250:64:0;;9334:2:1;10250:64:0;;;9316:21:1;9373:2;9353:18;;;9346:30;9412:34;9392:18;;;9385:62;-1:-1:-1;;;9463:18:1;;;9456:33;9506:19;;10250:64:0;9132:399:1;10250:64:0;10342:1;10333:6;:10;10325:64;;;;-1:-1:-1;;;10325:64:0;;9738:2:1;10325:64:0;;;9720:21:1;9777:2;9757:18;;;9750:30;9816:34;9796:18;;;9789:62;-1:-1:-1;;;9867:18:1;;;9860:39;9916:19;;10325:64:0;9536:405:1;10325:64:0;1381:7;1408:6;-1:-1:-1;;;;;10406:15:0;;;1408:6;;10406:15;;;;:32;;-1:-1:-1;1381:7:0;1408:6;-1:-1:-1;;;;;10425:13:0;;;1408:6;;10425:13;;10406:32;10402:1259;;;10495:11;;-1:-1:-1;;;10495:11:0;;;;10490:144;;1381:7;1408:6;-1:-1:-1;;;;;10535:15:0;;;1408:6;;10535:15;10527:91;;;;-1:-1:-1;;;10527:91:0;;10148:2:1;10527:91:0;;;10130:21:1;10187:2;10167:18;;;10160:30;10226:34;10206:18;;;10199:62;10297:33;10277:18;;;10270:61;10348:19;;10527:91:0;9946:427:1;10527:91:0;10668:12;;10658:6;:22;;10650:63;;;;-1:-1:-1;;;10650:63:0;;10580:2:1;10650:63:0;;;10562:21:1;10619:2;10599:18;;;10592:30;10658;10638:18;;;10631:58;10706:18;;10650:63:0;10378:352:1;10650:63:0;-1:-1:-1;;;;;10737:10:0;;;;;;:4;:10;;;;;;;;10736:11;:24;;;;-1:-1:-1;;;;;;10752:8:0;;;;;;:4;:8;;;;;;;;10751:9;10736:24;10728:72;;;;-1:-1:-1;;;10728:72:0;;10937:2:1;10728:72:0;;;10919:21:1;10976:2;10956:18;;;10949:30;11015:34;10995:18;;;10988:62;-1:-1:-1;;;11066:18:1;;;11059:33;11109:19;;10728:72:0;10735:399:1;10728:72:0;10826:13;;-1:-1:-1;;;;;10820:19:0;;;10826:13;;10820:19;10817:146;;10893:14;;10884:6;10868:13;10878:2;10868:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10860:87;;;;-1:-1:-1;;;10860:87:0;;11341:2:1;10860:87:0;;;11323:21:1;11380:2;11360:18;;;11353:30;11419:34;11399:18;;;11392:62;-1:-1:-1;;;11470:18:1;;;11463:33;11513:19;;10860:87:0;11139:399:1;10860:87:0;10979:28;11010:24;11028:4;11010:9;:24::i;:::-;11088:19;;11151:12;;10979:55;;-1:-1:-1;11064:43:0;;;;11127:36;;11124:124;;11220:12;;11197:35;;11124:124;11268:7;:18;;;;-1:-1:-1;11280:6:0;;-1:-1:-1;;;11280:6:0;;;;11279:7;11268:18;:43;;;;-1:-1:-1;11298:13:0;;-1:-1:-1;;;;;11290:21:0;;;11298:13;;11290:21;;11268:43;:58;;;;-1:-1:-1;11315:11:0;;-1:-1:-1;;;11315:11:0;;;;11268:58;:87;;;;-1:-1:-1;;;;;;11331:24:0;;;;;;:18;:24;;;;;;;;11330:25;11268:87;:114;;;;-1:-1:-1;;;;;;11360:22:0;;;;;;:18;:22;;;;;;;;11359:23;11268:114;11264:386;;;11403:38;11420:20;11403:16;:38::i;:::-;11489:21;11533:22;;11529:106;;11580:35;11593:21;11580:12;:35::i;:::-;11384:266;11264:386;10440:1221;;10402:1259;-1:-1:-1;;;;;11737:24:0;;11673:12;11737:24;;;:18;:24;;;;;;11688:4;;11737:24;;;:50;;-1:-1:-1;;;;;;11765:22:0;;;;;;:18;:22;;;;;;;;11737:50;11736:102;;;-1:-1:-1;11801:13:0;;-1:-1:-1;;;;;11793:21:0;;;11801:13;;11793:21;;;;:44;;-1:-1:-1;11824:13:0;;-1:-1:-1;;;;;11818:19:0;;;11824:13;;11818:19;;11793:44;11732:594;;;-1:-1:-1;11865:5:0;11732:594;;;11948:13;;-1:-1:-1;;;;;11940:21:0;;;11948:13;;11940:21;:55;;;;-1:-1:-1;11979:15:0;;-1:-1:-1;;;;;11965:30:0;;;11979:15;;11965:30;;11940:55;11937:162;;;12028:14;;12016:9;:26;12071:12;;12061:7;:22;11937:162;12158:13;;-1:-1:-1;;;;;12152:19:0;;;12158:13;;12152:19;:55;;;;-1:-1:-1;12191:15:0;;-1:-1:-1;;;;;12175:32:0;;;12191:15;;12175:32;;12152:55;12148:165;;;12240:15;;12228:9;:27;12284:13;;12274:7;:23;12148:165;12338:41;12353:4;12359:2;12363:6;12371:7;12338:14;:41::i;2321:224::-;2441:7;2477:12;2469:6;;;;2461:29;;;;-1:-1:-1;;;2461:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2501:9:0;2513:5;2517:1;2513;:5;:::i;:::-;2501:17;2321:224;-1:-1:-1;;;;;2321:224:0:o;12886:99::-;12943:17;;:34;;-1:-1:-1;;;;;12943:17:0;;;;:34;;;;;12970:6;;12943:17;:34;:17;:34;12970:6;12943:17;:34;;;;;;;;;;;;;;;;;;;8997:323;9092:7;9150;;9139;:18;;9117:110;;;;-1:-1:-1;;;9117:110:0;;11875:2:1;9117:110:0;;;11857:21:1;11914:2;11894:18;;;11887:30;11953:34;11933:18;;;11926:62;-1:-1:-1;;;12004:18:1;;;11997:40;12054:19;;9117:110:0;11673:406:1;9117:110:0;9238:19;9260:10;:8;:10::i;:::-;9238:32;-1:-1:-1;9288:24:0;:7;9238:32;9288:11;:24::i;:::-;9281:31;8997:323;-1:-1:-1;;;8997:323:0:o;9328:219::-;9375:9;;:14;:30;;;;-1:-1:-1;9393:7:0;;:12;9375:30;9371:43;;;9328:219::o;9371:43::-;9446:9;;;9426:17;:29;9484:7;;;9466:15;:25;-1:-1:-1;9504:13:0;;;;9528:11;9328:219::o;12395:483::-;5905:6;:13;;-1:-1:-1;;;;5905:13:0;-1:-1:-1;;;5905:13:0;;;12497:16:::1;::::0;;12511:1:::1;12497:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12497:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12497:16:0::1;12473:40;;12542:4;12524;12529:1;12524:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12524:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12568:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12568:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12524:7;;12568:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12558:4;12563:1;12558:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12558:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12633:15:::1;::::0;12601:62:::1;::::0;12618:4:::1;::::0;12633:15:::1;12651:11:::0;12601:8:::1;:62::i;:::-;12674:15;::::0;:196:::1;::::0;-1:-1:-1;;;12674:196:0;;-1:-1:-1;;;;;12674:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12755:11;;12674:15:::1;::::0;12797:4;;12824::::1;::::0;12844:15:::1;::::0;12674:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5941:6:0;:14;;-1:-1:-1;;;;5941:14:0;;;-1:-1:-1;;;;12395:483:0:o;7956:181::-;8036:14;:12;:14::i;:::-;8061:42;182:10;8085:9;8096:6;8061:9;:42::i;13795:282::-;13951:7;13946:28;;13960:14;:12;:14::i;:::-;13985:44;14003:6;14011:9;14022:6;13985:17;:44::i;:::-;14045:7;14040:29;;14054:15;9611:17;;9599:9;:29;9649:15;;9639:7;:25;9555:117;16756:164;16798:7;16819:15;16836;16855:19;:17;:19::i;:::-;16818:56;;-1:-1:-1;16818:56:0;-1:-1:-1;16892:20:0;16818:56;;16892:11;:20::i;:::-;16885:27;;;;16756:164;:::o;2807:132::-;2865:7;2892:39;2896:1;2899;2892:39;;;;;;;;;;;;;;;;;:3;:39::i;14085:610::-;14232:15;14262:23;14300:12;14327:23;14365:12;14392:13;14419:19;14430:7;14419:10;:19::i;:::-;-1:-1:-1;;;;;14467:15:0;;;;;;:7;:15;;;;;;14217:221;;-1:-1:-1;14217:221:0;;-1:-1:-1;14217:221:0;;-1:-1:-1;14217:221:0;-1:-1:-1;14217:221:0;-1:-1:-1;14217:221:0;-1:-1:-1;14467:28:0;;14217:221;14467:19;:28::i;:::-;-1:-1:-1;;;;;14449:15:0;;;;;;;:7;:15;;;;;;:46;;;;14527:18;;;;;;;:39;;14550:15;14527:22;:39::i;:::-;-1:-1:-1;;;;;14506:18:0;;;;;;:7;:18;;;;;:60;14577:16;14587:5;14577:9;:16::i;:::-;14604:23;14616:4;14622;14604:11;:23::i;:::-;14660:9;-1:-1:-1;;;;;14643:44:0;14652:6;-1:-1:-1;;;;;14643:44:0;;14671:15;14643:44;;;;1644:25:1;;1632:2;1617:18;;1498:177;14643:44:0;;;;;;;;14206:489;;;;;;14085:610;;;:::o;16928:257::-;17026:7;;16979;;;;4622:31;17094:20;17026:7;4622:31;17094:11;:20::i;:::-;17084:7;:30;17080:61;;;-1:-1:-1;;17124:7:0;;;4622:31;;-1:-1:-1;16928:257:0;-1:-1:-1;16928:257:0:o;17080:61::-;17160:7;;17169;;-1:-1:-1;16928:257:0;-1:-1:-1;16928:257:0:o;2947:223::-;3067:7;3102:12;3095:5;3087:28;;;;-1:-1:-1;;;3087:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3126:9:0;3138:5;3142:1;3138;:5;:::i;15114:615::-;15214:7;15236;15258;15280;15302;15324;15360:23;15385:12;15399:13;15429:40;15441:7;15450:9;;15461:7;;15429:11;:40::i;:::-;15359:110;;;;;;15480:19;15502:10;:8;:10::i;:::-;15480:32;;15524:15;15541:23;15566:12;15595:46;15607:7;15616:4;15622:5;15629:11;15595;:46::i;:::-;15523:118;;-1:-1:-1;15523:118:0;-1:-1:-1;15523:118:0;-1:-1:-1;15692:15:0;;-1:-1:-1;15709:4:0;;-1:-1:-1;15715:5:0;;-1:-1:-1;;;;;15114:615:0;;;;;;;:::o;2177:136::-;2235:7;2262:43;2266:1;2269;2262:43;;;;;;;;;;;;;;;;;:3;:43::i;1990:179::-;2048:7;;2080:5;2084:1;2080;:5;:::i;:::-;2068:17;;2109:1;2104;:6;;2096:46;;;;-1:-1:-1;;;2096:46:0;;13881:2:1;2096:46:0;;;13863:21:1;13920:2;13900:18;;;13893:30;13959:29;13939:18;;;13932:57;14006:18;;2096:46:0;13679:351:1;14703:211:0;14756:19;14778:10;:8;:10::i;:::-;14756:32;-1:-1:-1;14799:13:0;14815:22;:5;14756:32;14815:9;:22::i;:::-;14889:4;14873:22;;;;:7;:22;;;;;;14799:38;;-1:-1:-1;14873:33:0;;14799:38;14873:26;:33::i;:::-;14864:4;14848:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;14703:211:0:o;14922:147::-;15000:7;;:17;;15012:4;15000:11;:17::i;:::-;14990:7;:27;15041:10;;:20;;15056:4;15041:14;:20::i;:::-;15028:10;:33;-1:-1:-1;;14922:147:0:o;15737:469::-;15906:7;;;;16000:30;16026:3;16000:21;:7;16012:8;16000:11;:21::i;:::-;:25;;:30::i;:::-;15985:45;-1:-1:-1;16041:13:0;16057:28;16081:3;16057:19;:7;16069:6;16057:11;:19::i;:28::-;16041:44;-1:-1:-1;16096:23:0;16122:28;16041:44;16122:17;:7;16134:4;16122:11;:17::i;:::-;:21;;:28::i;:::-;16096:54;16186:4;;-1:-1:-1;16192:5:0;;-1:-1:-1;15737:469:0;;-1:-1:-1;;;;;15737:469:0:o;16214:534::-;16408:7;;;;16505:24;:7;16517:11;16505;:24::i;:::-;16487:42;-1:-1:-1;16540:12:0;16555:21;:4;16564:11;16555:8;:21::i;:::-;16540:36;-1:-1:-1;16587:13:0;16603:22;:5;16613:11;16603:9;:22::i;:::-;16587:38;-1:-1:-1;16636:23:0;16662:28;16587:38;16662:17;:7;16674:4;16662:11;:17::i;:28::-;16709:7;;;;-1:-1:-1;16735:4:0;;-1:-1:-1;16214:534:0;;-1:-1:-1;;;;;;;16214:534:0:o;2553:246::-;2611:7;2635:6;2631:47;;-1:-1:-1;2665:1:0;2658:8;;2631:47;2688:9;2700:5;2704:1;2700;:5;:::i;:::-;2688:17;-1:-1:-1;2733:1:0;2724:5;2728:1;2688:17;2724:5;:::i;:::-;:10;2716:56;;;;-1:-1:-1;;;2716:56:0;;14237:2:1;2716:56:0;;;14219:21:1;14276:2;14256:18;;;14249:30;14315:34;14295:18;;;14288:62;-1:-1:-1;;;14366:18:1;;;14359:31;14407:19;;2716:56:0;14035:397:1;14:597;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;752:315;820:6;828;881:2;869:9;860:7;856:23;852:32;849:52;;;897:1;894;887:12;849:52;936:9;923:23;955:31;980:5;955:31;:::i;:::-;1005:5;1057:2;1042:18;;;;1029:32;;-1:-1:-1;;;752:315:1:o;1680:456::-;1757:6;1765;1773;1826:2;1814:9;1805:7;1801:23;1797:32;1794:52;;;1842:1;1839;1832:12;1794:52;1881:9;1868:23;1900:31;1925:5;1900:31;:::i;:::-;1950:5;-1:-1:-1;2007:2:1;1992:18;;1979:32;2020:33;1979:32;2020:33;:::i;:::-;1680:456;;2072:7;;-1:-1:-1;;;2126:2:1;2111:18;;;;2098:32;;1680:456::o;2538:247::-;2597:6;2650:2;2638:9;2629:7;2625:23;2621:32;2618:52;;;2666:1;2663;2656:12;2618:52;2705:9;2692:23;2724:31;2749:5;2724:31;:::i;2790:160::-;2855:20;;2911:13;;2904:21;2894:32;;2884:60;;2940:1;2937;2930:12;2884:60;2790:160;;;:::o;2955:180::-;3011:6;3064:2;3052:9;3043:7;3039:23;3035:32;3032:52;;;3080:1;3077;3070:12;3032:52;3103:26;3119:9;3103:26;:::i;3140:180::-;3199:6;3252:2;3240:9;3231:7;3227:23;3223:32;3220:52;;;3268:1;3265;3258:12;3220:52;-1:-1:-1;3291:23:1;;3140:180;-1:-1:-1;3140:180:1:o;3325:385::-;3411:6;3419;3427;3435;3488:3;3476:9;3467:7;3463:23;3459:33;3456:53;;;3505:1;3502;3495:12;3456:53;-1:-1:-1;;3528:23:1;;;3598:2;3583:18;;3570:32;;-1:-1:-1;3649:2:1;3634:18;;3621:32;;3700:2;3685:18;3672:32;;-1:-1:-1;3325:385:1;-1:-1:-1;3325:385:1:o;3715:367::-;3778:8;3788:6;3842:3;3835:4;3827:6;3823:17;3819:27;3809:55;;3860:1;3857;3850:12;3809:55;-1:-1:-1;3883:20:1;;3926:18;3915:30;;3912:50;;;3958:1;3955;3948:12;3912:50;3995:4;3987:6;3983:17;3971:29;;4055:3;4048:4;4038:6;4035:1;4031:14;4023:6;4019:27;4015:38;4012:47;4009:67;;;4072:1;4069;4062:12;4009:67;3715:367;;;;;:::o;4087:505::-;4179:6;4187;4195;4248:2;4236:9;4227:7;4223:23;4219:32;4216:52;;;4264:1;4261;4254:12;4216:52;4304:9;4291:23;4337:18;4329:6;4326:30;4323:50;;;4369:1;4366;4359:12;4323:50;4408:70;4470:7;4461:6;4450:9;4446:22;4408:70;:::i;:::-;4497:8;;-1:-1:-1;4382:96:1;-1:-1:-1;4551:35:1;;-1:-1:-1;4582:2:1;4567:18;;4551:35;:::i;:::-;4541:45;;4087:505;;;;;:::o;4597:773::-;4719:6;4727;4735;4743;4796:2;4784:9;4775:7;4771:23;4767:32;4764:52;;;4812:1;4809;4802:12;4764:52;4852:9;4839:23;4881:18;4922:2;4914:6;4911:14;4908:34;;;4938:1;4935;4928:12;4908:34;4977:70;5039:7;5030:6;5019:9;5015:22;4977:70;:::i;:::-;5066:8;;-1:-1:-1;4951:96:1;-1:-1:-1;5154:2:1;5139:18;;5126:32;;-1:-1:-1;5170:16:1;;;5167:36;;;5199:1;5196;5189:12;5167:36;;5238:72;5302:7;5291:8;5280:9;5276:24;5238:72;:::i;:::-;4597:773;;;;-1:-1:-1;5329:8:1;-1:-1:-1;;;;4597:773:1:o;5375:388::-;5443:6;5451;5504:2;5492:9;5483:7;5479:23;5475:32;5472:52;;;5520:1;5517;5510:12;5472:52;5559:9;5546:23;5578:31;5603:5;5578:31;:::i;:::-;5628:5;-1:-1:-1;5685:2:1;5670:18;;5657:32;5698:33;5657:32;5698:33;:::i;:::-;5750:7;5740:17;;;5375:388;;;;;:::o;5768:315::-;5833:6;5841;5894:2;5882:9;5873:7;5869:23;5865:32;5862:52;;;5910:1;5907;5900:12;5862:52;5949:9;5936:23;5968:31;5993:5;5968:31;:::i;:::-;6018:5;-1:-1:-1;6042:35:1;6073:2;6058:18;;6042:35;:::i;:::-;6032:45;;5768:315;;;;;:::o;6088:356::-;6290:2;6272:21;;;6309:18;;;6302:30;6368:34;6363:2;6348:18;;6341:62;6435:2;6420:18;;6088:356::o;6449:127::-;6510:10;6505:3;6501:20;6498:1;6491:31;6541:4;6538:1;6531:15;6565:4;6562:1;6555:15;6581:168;6621:7;6687:1;6683;6679:6;6675:14;6672:1;6669:21;6664:1;6657:9;6650:17;6646:45;6643:71;;;6694:18;;:::i;:::-;-1:-1:-1;6734:9:1;;6581:168::o;6754:127::-;6815:10;6810:3;6806:20;6803:1;6796:31;6846:4;6843:1;6836:15;6870:4;6867:1;6860:15;6886:135;6925:3;-1:-1:-1;;6946:17:1;;6943:43;;;6966:18;;:::i;:::-;-1:-1:-1;7013:1:1;7002:13;;6886:135::o;7378:128::-;7418:3;7449:1;7445:6;7442:1;7439:13;7436:39;;;7455:18;;:::i;:::-;-1:-1:-1;7491:9:1;;7378:128::o;11543:125::-;11583:4;11611:1;11608;11605:8;11602:34;;;11616:18;;:::i;:::-;-1:-1:-1;11653:9:1;;11543:125::o;12216:251::-;12286:6;12339:2;12327:9;12318:7;12314:23;12310:32;12307:52;;;12355:1;12352;12345:12;12307:52;12387:9;12381:16;12406:31;12431:5;12406:31;:::i;12472:980::-;12734:4;12782:3;12771:9;12767:19;12813:6;12802:9;12795:25;12839:2;12877:6;12872:2;12861:9;12857:18;12850:34;12920:3;12915:2;12904:9;12900:18;12893:31;12944:6;12979;12973:13;13010:6;13002;12995:22;13048:3;13037:9;13033:19;13026:26;;13087:2;13079:6;13075:15;13061:29;;13108:1;13118:195;13132:6;13129:1;13126:13;13118:195;;;13197:13;;-1:-1:-1;;;;;13193:39:1;13181:52;;13288:15;;;;13253:12;;;;13229:1;13147:9;13118:195;;;-1:-1:-1;;;;;;;13369:32:1;;;;13364:2;13349:18;;13342:60;-1:-1:-1;;;13433:3:1;13418:19;13411:35;13330:3;12472:980;-1:-1:-1;;;12472:980:1:o;13457:217::-;13497:1;13523;13513:132;;13567:10;13562:3;13558:20;13555:1;13548:31;13602:4;13599:1;13592:15;13630:4;13627:1;13620:15;13513:132;-1:-1:-1;13659:9:1;;13457:217::o
Swarm Source
ipfs://48ef422596cc9bc1d1ab2f7804e3e2ee09cb445b4ca6c8acae62d94fdbcca06e
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.