ERC-20
Overview
Max Total Supply
111,111,111,000 MEMBR
Holders
28
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
1,120,906,775.563578735 MEMBRValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
MEMBR
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-05-21 */ // SPDX-License-Identifier: Unlicensed /* Twitter: https://twitter.com/Membercoineth Telegram: https://t.me/MemberCoinAnnouncements Website: https://membercoin.io/ bbbbbbbb MMMMMMMM MMMMMMMM b::::::b M:::::::M M:::::::M b::::::b M::::::::M M::::::::M b::::::b M:::::::::M M:::::::::M b:::::b M::::::::::M M::::::::::M eeeeeeeeeeee mmmmmmm mmmmmmm b:::::bbbbbbbbb eeeeeeeeeeee rrrrr rrrrrrrrr M:::::::::::M M:::::::::::M ee::::::::::::ee mm:::::::m m:::::::mm b::::::::::::::bb ee::::::::::::ee r::::rrr:::::::::r M:::::::M::::M M::::M:::::::M e::::::eeeee:::::eem::::::::::mm::::::::::mb::::::::::::::::b e::::::eeeee:::::eer:::::::::::::::::r M::::::M M::::M M::::M M::::::Me::::::e e:::::em::::::::::::::::::::::mb:::::bbbbb:::::::be::::::e e:::::err::::::rrrrr::::::r M::::::M M::::M::::M M::::::Me:::::::eeeee::::::em:::::mmm::::::mmm:::::mb:::::b b::::::be:::::::eeeee::::::e r:::::r r:::::r M::::::M M:::::::M M::::::Me:::::::::::::::::e m::::m m::::m m::::mb:::::b b:::::be:::::::::::::::::e r:::::r rrrrrrr M::::::M M:::::M M::::::Me::::::eeeeeeeeeee m::::m m::::m m::::mb:::::b b:::::be::::::eeeeeeeeeee r:::::r M::::::M MMMMM M::::::Me:::::::e m::::m m::::m m::::mb:::::b b:::::be:::::::e r:::::r M::::::M M::::::Me::::::::e m::::m m::::m m::::mb:::::bbbbbb::::::be::::::::e r:::::r M::::::M M::::::M e::::::::eeeeeeee m::::m m::::m m::::mb::::::::::::::::b e::::::::eeeeeeee r:::::r M::::::M M::::::M ee:::::::::::::e m::::m m::::m m::::mb:::::::::::::::b ee:::::::::::::e r:::::r MMMMMMMM MMMMMMMM eeeeeeeeeeeeee mmmmmm mmmmmm mmmmmmbbbbbbbbbbbbbbbb eeeeeeeeeeeeee rrrrrrr */ 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 MEMBR is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "Member Coin"; string private constant _symbol = "MEMBR"; 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 = 111111111 * 10**12; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _redisFeeOnBuy = 0; uint256 private _taxFeeOnBuy = 15; uint256 private _redisFeeOnSell = 0; uint256 private _taxFeeOnSell = 50; //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(0x96c8f498A02226fAB9bDC9F2Ac835eCb81fEC9AF); address payable private _marketingAddress = payable(0x96c8f498A02226fAB9bDC9F2Ac835eCb81fEC9AF); IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool private tradingOpen = false; bool private inSwap = false; bool private swapEnabled = true; uint256 public _maxTxAmount = 2222222 * 10**12; uint256 public _maxWalletSize = 2222222 * 10**12; uint256 public _swapTokensAtAmount = 11111 * 10**12 ; 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 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[] memory bots_) public onlyOwner { for (uint256 i = 0; i < bots_.length; i++) { bots[bots_[i]] = 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 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":"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":"bots_","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":"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
60806040526200001b680605f9f6c339ff700060001962000367565b62000029906000196200038a565b60065560006008819055600f6009819055600a8290556032600b819055600c839055600d819055600e9290925555601280546001600160a01b03199081167396c8f498a02226fab9bdc9f2ac835ecb81fec9af9081179092556013805490911690911790556015805462ffffff60a01b1916600160b01b179055671ed6eb229a0ee00060168190556017556627796548197000601855348015620000cc57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006543360009081526002602090815260409182902092909255601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa1580156200018a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b09190620003b2565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002249190620003b2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000272573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002989190620003b2565b601580546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055601254851684528284208054821683179055601354909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef680605f9f6c339ff70006040516200035891815260200190565b60405180910390a350620003e4565b6000826200038557634e487b7160e01b600052601260045260246000fd5b500690565b81810381811115620003ac57634e487b7160e01b600052601160045260246000fd5b92915050565b600060208284031215620003c557600080fd5b81516001600160a01b0381168114620003dd57600080fd5b9392505050565b61216480620003f46000396000f3fe6080604052600436106101d05760003560e01c80637d1db4a5116100f7578063a2a957bb11610095578063c492f04611610064578063c492f04614610582578063dd62ed3e146105a2578063ea1644d5146105e8578063f2fde38b1461060857600080fd5b8063a2a957bb146104fd578063a9059cbb1461051d578063bfd792841461053d578063c3c8cd801461056d57600080fd5b80638f70ccf7116100d15780638f70ccf7146104615780638f9a55c01461048157806395d89b411461049757806398a5c315146104dd57600080fd5b80637d1db4a5146104005780637f2feddc146104165780638da5cb5b1461044357600080fd5b8063313ce5671161016f5780636fc3eaec1161013e5780636fc3eaec1461039657806370a08231146103ab578063715018a6146103cb57806374010ece146103e057600080fd5b8063313ce5671461031a57806349bd5a5e146103365780636b999053146103565780636d8aa8f81461037657600080fd5b80631694505e116101ab5780631694505e1461028657806318160ddd146102be57806323b872dd146102e45780632fd689e31461030457600080fd5b8062b8cf2a146101dc57806306fdde03146101fe578063095ea7b31461025657600080fd5b366101d757005b600080fd5b3480156101e857600080fd5b506101fc6101f7366004611d04565b610628565b005b34801561020a57600080fd5b5060408051808201909152600b81527f4d656d62657220436f696e00000000000000000000000000000000000000000060208201525b60405161024d9190611dc9565b60405180910390f35b34801561026257600080fd5b50610276610271366004611e17565b6106f3565b604051901515815260200161024d565b34801561029257600080fd5b506014546102a6906001600160a01b031681565b6040516001600160a01b03909116815260200161024d565b3480156102ca57600080fd5b50680605f9f6c339ff70005b60405190815260200161024d565b3480156102f057600080fd5b506102766102ff366004611e43565b61070a565b34801561031057600080fd5b506102d660185481565b34801561032657600080fd5b506040516009815260200161024d565b34801561034257600080fd5b506015546102a6906001600160a01b031681565b34801561036257600080fd5b506101fc610371366004611e84565b610773565b34801561038257600080fd5b506101fc610391366004611eb1565b6107ee565b3480156103a257600080fd5b506101fc610881565b3480156103b757600080fd5b506102d66103c6366004611e84565b6108cc565b3480156103d757600080fd5b506101fc6108ee565b3480156103ec57600080fd5b506101fc6103fb366004611ecc565b61099f565b34801561040c57600080fd5b506102d660165481565b34801561042257600080fd5b506102d6610431366004611e84565b60116020526000908152604090205481565b34801561044f57600080fd5b506000546001600160a01b03166102a6565b34801561046d57600080fd5b506101fc61047c366004611eb1565b6109fe565b34801561048d57600080fd5b506102d660175481565b3480156104a357600080fd5b5060408051808201909152600581527f4d454d42520000000000000000000000000000000000000000000000000000006020820152610240565b3480156104e957600080fd5b506101fc6104f8366004611ecc565b610a91565b34801561050957600080fd5b506101fc610518366004611ee5565b610af0565b34801561052957600080fd5b50610276610538366004611e17565b610b5e565b34801561054957600080fd5b50610276610558366004611e84565b60106020526000908152604090205460ff1681565b34801561057957600080fd5b506101fc610b6b565b34801561058e57600080fd5b506101fc61059d366004611f17565b610bbf565b3480156105ae57600080fd5b506102d66105bd366004611f9b565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105f457600080fd5b506101fc610603366004611ecc565b610c90565b34801561061457600080fd5b506101fc610623366004611e84565b610cef565b6000546001600160a01b031633146106875760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b60005b81518110156106ef576001601060008484815181106106ab576106ab611fd4565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806106e781612000565b91505061068a565b5050565b6000610700338484610e2d565b5060015b92915050565b6000610717848484610f85565b610769843361076485604051806060016040528060288152602001612107602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061153b565b610e2d565b5060019392505050565b6000546001600160a01b031633146107cd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161067e565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b031633146108485760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161067e565b60158054911515600160b01b027fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff909216919091179055565b6012546001600160a01b0316336001600160a01b031614806108b657506013546001600160a01b0316336001600160a01b0316145b6108bf57600080fd5b476108c981611575565b50565b6001600160a01b038116600090815260026020526040812054610704906115af565b6000546001600160a01b031633146109485760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161067e565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b6000546001600160a01b031633146109f95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161067e565b601655565b6000546001600160a01b03163314610a585760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161067e565b60158054911515600160a01b027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff909216919091179055565b6000546001600160a01b03163314610aeb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161067e565b601855565b6000546001600160a01b03163314610b4a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161067e565b600893909355600a91909155600955600b55565b6000610700338484610f85565b6012546001600160a01b0316336001600160a01b03161480610ba057506013546001600160a01b0316336001600160a01b0316145b610ba957600080fd5b6000610bb4306108cc565b90506108c981611646565b6000546001600160a01b03163314610c195760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161067e565b60005b82811015610c8a578160056000868685818110610c3b57610c3b611fd4565b9050602002016020810190610c509190611e84565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610c8281612000565b915050610c1c565b50505050565b6000546001600160a01b03163314610cea5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161067e565b601755565b6000546001600160a01b03163314610d495760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161067e565b6001600160a01b038116610dc55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161067e565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6001600160a01b038316610ea85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161067e565b6001600160a01b038216610f245760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161067e565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166110015760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161067e565b6001600160a01b03821661107d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161067e565b600081116110f35760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f0000000000000000000000000000000000000000000000606482015260840161067e565b6000546001600160a01b0384811691161480159061111f57506000546001600160a01b03838116911614155b1561143457601554600160a01b900460ff166111b8576000546001600160a01b038481169116146111b85760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161067e565b60165481111561120a5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161067e565b6001600160a01b03831660009081526010602052604090205460ff1615801561124c57506001600160a01b03821660009081526010602052604090205460ff16155b6112be5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201527f6564210000000000000000000000000000000000000000000000000000000000606482015260840161067e565b6015546001600160a01b0383811691161461135d57601754816112e0846108cc565b6112ea9190612019565b1061135d5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960448201527f7a65210000000000000000000000000000000000000000000000000000000000606482015260840161067e565b6000611368306108cc565b6018546016549192508210159082106113815760165491505b8080156113985750601554600160a81b900460ff16155b80156113b257506015546001600160a01b03868116911614155b80156113c75750601554600160b01b900460ff165b80156113ec57506001600160a01b03851660009081526005602052604090205460ff16155b801561141157506001600160a01b03841660009081526005602052604090205460ff16155b156114315761141f82611646565b47801561142f5761142f47611575565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061147657506001600160a01b03831660009081526005602052604090205460ff165b806114a857506015546001600160a01b038581169116148015906114a857506015546001600160a01b03848116911614155b156114b55750600061152f565b6015546001600160a01b0385811691161480156114e057506014546001600160a01b03848116911614155b156114f257600854600c55600954600d555b6015546001600160a01b03848116911614801561151d57506014546001600160a01b03858116911614155b1561152f57600a54600c55600b54600d555b610c8a848484846117f2565b6000818484111561155f5760405162461bcd60e51b815260040161067e9190611dc9565b50600061156c848661202c565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156106ef573d6000803e3d6000fd5b60006006548211156116295760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201527f65666c656374696f6e7300000000000000000000000000000000000000000000606482015260840161067e565b6000611633611820565b905061163f8382611843565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061168e5761168e611fd4565b6001600160a01b03928316602091820292909201810191909152601454604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c46489260048083019391928290030181865afa158015611700573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611724919061203f565b8160018151811061173757611737611fd4565b6001600160a01b03928316602091820292909201015260145461175d9130911684610e2d565b6014546040517f791ac9470000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063791ac947906117af90859060009086903090429060040161205c565b600060405180830381600087803b1580156117c957600080fd5b505af11580156117dd573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b806117ff576117ff611885565b61180a8484846118b3565b80610c8a57610c8a600e54600c55600f54600d55565b600080600061182d6119aa565b909250905061183c8282611843565b9250505090565b600061163f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119ec565b600c541580156118955750600d54155b1561189c57565b600c8054600e55600d8054600f5560009182905555565b6000806000806000806118c587611a1a565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506118f79087611a77565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546119269086611ab9565b6001600160a01b03891660009081526002602052604090205561194881611b18565b6119528483611b62565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161199791815260200190565b60405180910390a3505050505050505050565b6006546000908190680605f9f6c339ff70006119c68282611843565b8210156119e357505060065492680605f9f6c339ff700092509050565b90939092509050565b60008183611a0d5760405162461bcd60e51b815260040161067e9190611dc9565b50600061156c84866120cd565b6000806000806000806000806000611a378a600c54600d54611b86565b9250925092506000611a47611820565b90506000806000611a5a8e878787611bdb565b919e509c509a509598509396509194505050505091939550919395565b600061163f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061153b565b600080611ac68385612019565b90508381101561163f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161067e565b6000611b22611820565b90506000611b308383611c2b565b30600090815260026020526040902054909150611b4d9082611ab9565b30600090815260026020526040902055505050565b600654611b6f9083611a77565b600655600754611b7f9082611ab9565b6007555050565b6000808080611ba06064611b9a8989611c2b565b90611843565b90506000611bb36064611b9a8a89611c2b565b90506000611bcb82611bc58b86611a77565b90611a77565b9992985090965090945050505050565b6000808080611bea8886611c2b565b90506000611bf88887611c2b565b90506000611c068888611c2b565b90506000611c1882611bc58686611a77565b939b939a50919850919650505050505050565b600082600003611c3d57506000610704565b6000611c4983856120ef565b905082611c5685836120cd565b1461163f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f7700000000000000000000000000000000000000000000000000000000000000606482015260840161067e565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146108c957600080fd5b8035611cff81611cdf565b919050565b60006020808385031215611d1757600080fd5b823567ffffffffffffffff80821115611d2f57600080fd5b818501915085601f830112611d4357600080fd5b813581811115611d5557611d55611cc9565b8060051b604051601f19603f83011681018181108582111715611d7a57611d7a611cc9565b604052918252848201925083810185019188831115611d9857600080fd5b938501935b82851015611dbd57611dae85611cf4565b84529385019392850192611d9d565b98975050505050505050565b600060208083528351808285015260005b81811015611df657858101830151858201604001528201611dda565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215611e2a57600080fd5b8235611e3581611cdf565b946020939093013593505050565b600080600060608486031215611e5857600080fd5b8335611e6381611cdf565b92506020840135611e7381611cdf565b929592945050506040919091013590565b600060208284031215611e9657600080fd5b813561163f81611cdf565b80358015158114611cff57600080fd5b600060208284031215611ec357600080fd5b61163f82611ea1565b600060208284031215611ede57600080fd5b5035919050565b60008060008060808587031215611efb57600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611f2c57600080fd5b833567ffffffffffffffff80821115611f4457600080fd5b818601915086601f830112611f5857600080fd5b813581811115611f6757600080fd5b8760208260051b8501011115611f7c57600080fd5b602092830195509350611f929186019050611ea1565b90509250925092565b60008060408385031215611fae57600080fd5b8235611fb981611cdf565b91506020830135611fc981611cdf565b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161201257612012611fea565b5060010190565b8082018082111561070457610704611fea565b8181038181111561070457610704611fea565b60006020828403121561205157600080fd5b815161163f81611cdf565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156120ac5784516001600160a01b031683529383019391830191600101612087565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826120ea57634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761070457610704611fea56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c0c02a4928236a81fbf1777c4aec62522833f3db40d2cac213b559abceaaa19264736f6c63430008130033
Deployed Bytecode
0x6080604052600436106101d05760003560e01c80637d1db4a5116100f7578063a2a957bb11610095578063c492f04611610064578063c492f04614610582578063dd62ed3e146105a2578063ea1644d5146105e8578063f2fde38b1461060857600080fd5b8063a2a957bb146104fd578063a9059cbb1461051d578063bfd792841461053d578063c3c8cd801461056d57600080fd5b80638f70ccf7116100d15780638f70ccf7146104615780638f9a55c01461048157806395d89b411461049757806398a5c315146104dd57600080fd5b80637d1db4a5146104005780637f2feddc146104165780638da5cb5b1461044357600080fd5b8063313ce5671161016f5780636fc3eaec1161013e5780636fc3eaec1461039657806370a08231146103ab578063715018a6146103cb57806374010ece146103e057600080fd5b8063313ce5671461031a57806349bd5a5e146103365780636b999053146103565780636d8aa8f81461037657600080fd5b80631694505e116101ab5780631694505e1461028657806318160ddd146102be57806323b872dd146102e45780632fd689e31461030457600080fd5b8062b8cf2a146101dc57806306fdde03146101fe578063095ea7b31461025657600080fd5b366101d757005b600080fd5b3480156101e857600080fd5b506101fc6101f7366004611d04565b610628565b005b34801561020a57600080fd5b5060408051808201909152600b81527f4d656d62657220436f696e00000000000000000000000000000000000000000060208201525b60405161024d9190611dc9565b60405180910390f35b34801561026257600080fd5b50610276610271366004611e17565b6106f3565b604051901515815260200161024d565b34801561029257600080fd5b506014546102a6906001600160a01b031681565b6040516001600160a01b03909116815260200161024d565b3480156102ca57600080fd5b50680605f9f6c339ff70005b60405190815260200161024d565b3480156102f057600080fd5b506102766102ff366004611e43565b61070a565b34801561031057600080fd5b506102d660185481565b34801561032657600080fd5b506040516009815260200161024d565b34801561034257600080fd5b506015546102a6906001600160a01b031681565b34801561036257600080fd5b506101fc610371366004611e84565b610773565b34801561038257600080fd5b506101fc610391366004611eb1565b6107ee565b3480156103a257600080fd5b506101fc610881565b3480156103b757600080fd5b506102d66103c6366004611e84565b6108cc565b3480156103d757600080fd5b506101fc6108ee565b3480156103ec57600080fd5b506101fc6103fb366004611ecc565b61099f565b34801561040c57600080fd5b506102d660165481565b34801561042257600080fd5b506102d6610431366004611e84565b60116020526000908152604090205481565b34801561044f57600080fd5b506000546001600160a01b03166102a6565b34801561046d57600080fd5b506101fc61047c366004611eb1565b6109fe565b34801561048d57600080fd5b506102d660175481565b3480156104a357600080fd5b5060408051808201909152600581527f4d454d42520000000000000000000000000000000000000000000000000000006020820152610240565b3480156104e957600080fd5b506101fc6104f8366004611ecc565b610a91565b34801561050957600080fd5b506101fc610518366004611ee5565b610af0565b34801561052957600080fd5b50610276610538366004611e17565b610b5e565b34801561054957600080fd5b50610276610558366004611e84565b60106020526000908152604090205460ff1681565b34801561057957600080fd5b506101fc610b6b565b34801561058e57600080fd5b506101fc61059d366004611f17565b610bbf565b3480156105ae57600080fd5b506102d66105bd366004611f9b565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105f457600080fd5b506101fc610603366004611ecc565b610c90565b34801561061457600080fd5b506101fc610623366004611e84565b610cef565b6000546001600160a01b031633146106875760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b60005b81518110156106ef576001601060008484815181106106ab576106ab611fd4565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806106e781612000565b91505061068a565b5050565b6000610700338484610e2d565b5060015b92915050565b6000610717848484610f85565b610769843361076485604051806060016040528060288152602001612107602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061153b565b610e2d565b5060019392505050565b6000546001600160a01b031633146107cd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161067e565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b031633146108485760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161067e565b60158054911515600160b01b027fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff909216919091179055565b6012546001600160a01b0316336001600160a01b031614806108b657506013546001600160a01b0316336001600160a01b0316145b6108bf57600080fd5b476108c981611575565b50565b6001600160a01b038116600090815260026020526040812054610704906115af565b6000546001600160a01b031633146109485760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161067e565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b6000546001600160a01b031633146109f95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161067e565b601655565b6000546001600160a01b03163314610a585760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161067e565b60158054911515600160a01b027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff909216919091179055565b6000546001600160a01b03163314610aeb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161067e565b601855565b6000546001600160a01b03163314610b4a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161067e565b600893909355600a91909155600955600b55565b6000610700338484610f85565b6012546001600160a01b0316336001600160a01b03161480610ba057506013546001600160a01b0316336001600160a01b0316145b610ba957600080fd5b6000610bb4306108cc565b90506108c981611646565b6000546001600160a01b03163314610c195760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161067e565b60005b82811015610c8a578160056000868685818110610c3b57610c3b611fd4565b9050602002016020810190610c509190611e84565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610c8281612000565b915050610c1c565b50505050565b6000546001600160a01b03163314610cea5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161067e565b601755565b6000546001600160a01b03163314610d495760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161067e565b6001600160a01b038116610dc55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161067e565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6001600160a01b038316610ea85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161067e565b6001600160a01b038216610f245760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161067e565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166110015760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161067e565b6001600160a01b03821661107d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161067e565b600081116110f35760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f0000000000000000000000000000000000000000000000606482015260840161067e565b6000546001600160a01b0384811691161480159061111f57506000546001600160a01b03838116911614155b1561143457601554600160a01b900460ff166111b8576000546001600160a01b038481169116146111b85760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161067e565b60165481111561120a5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161067e565b6001600160a01b03831660009081526010602052604090205460ff1615801561124c57506001600160a01b03821660009081526010602052604090205460ff16155b6112be5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201527f6564210000000000000000000000000000000000000000000000000000000000606482015260840161067e565b6015546001600160a01b0383811691161461135d57601754816112e0846108cc565b6112ea9190612019565b1061135d5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960448201527f7a65210000000000000000000000000000000000000000000000000000000000606482015260840161067e565b6000611368306108cc565b6018546016549192508210159082106113815760165491505b8080156113985750601554600160a81b900460ff16155b80156113b257506015546001600160a01b03868116911614155b80156113c75750601554600160b01b900460ff165b80156113ec57506001600160a01b03851660009081526005602052604090205460ff16155b801561141157506001600160a01b03841660009081526005602052604090205460ff16155b156114315761141f82611646565b47801561142f5761142f47611575565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061147657506001600160a01b03831660009081526005602052604090205460ff165b806114a857506015546001600160a01b038581169116148015906114a857506015546001600160a01b03848116911614155b156114b55750600061152f565b6015546001600160a01b0385811691161480156114e057506014546001600160a01b03848116911614155b156114f257600854600c55600954600d555b6015546001600160a01b03848116911614801561151d57506014546001600160a01b03858116911614155b1561152f57600a54600c55600b54600d555b610c8a848484846117f2565b6000818484111561155f5760405162461bcd60e51b815260040161067e9190611dc9565b50600061156c848661202c565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156106ef573d6000803e3d6000fd5b60006006548211156116295760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201527f65666c656374696f6e7300000000000000000000000000000000000000000000606482015260840161067e565b6000611633611820565b905061163f8382611843565b9392505050565b6015805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061168e5761168e611fd4565b6001600160a01b03928316602091820292909201810191909152601454604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c46489260048083019391928290030181865afa158015611700573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611724919061203f565b8160018151811061173757611737611fd4565b6001600160a01b03928316602091820292909201015260145461175d9130911684610e2d565b6014546040517f791ac9470000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063791ac947906117af90859060009086903090429060040161205c565b600060405180830381600087803b1580156117c957600080fd5b505af11580156117dd573d6000803e3d6000fd5b50506015805460ff60a81b1916905550505050565b806117ff576117ff611885565b61180a8484846118b3565b80610c8a57610c8a600e54600c55600f54600d55565b600080600061182d6119aa565b909250905061183c8282611843565b9250505090565b600061163f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119ec565b600c541580156118955750600d54155b1561189c57565b600c8054600e55600d8054600f5560009182905555565b6000806000806000806118c587611a1a565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506118f79087611a77565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546119269086611ab9565b6001600160a01b03891660009081526002602052604090205561194881611b18565b6119528483611b62565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161199791815260200190565b60405180910390a3505050505050505050565b6006546000908190680605f9f6c339ff70006119c68282611843565b8210156119e357505060065492680605f9f6c339ff700092509050565b90939092509050565b60008183611a0d5760405162461bcd60e51b815260040161067e9190611dc9565b50600061156c84866120cd565b6000806000806000806000806000611a378a600c54600d54611b86565b9250925092506000611a47611820565b90506000806000611a5a8e878787611bdb565b919e509c509a509598509396509194505050505091939550919395565b600061163f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061153b565b600080611ac68385612019565b90508381101561163f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161067e565b6000611b22611820565b90506000611b308383611c2b565b30600090815260026020526040902054909150611b4d9082611ab9565b30600090815260026020526040902055505050565b600654611b6f9083611a77565b600655600754611b7f9082611ab9565b6007555050565b6000808080611ba06064611b9a8989611c2b565b90611843565b90506000611bb36064611b9a8a89611c2b565b90506000611bcb82611bc58b86611a77565b90611a77565b9992985090965090945050505050565b6000808080611bea8886611c2b565b90506000611bf88887611c2b565b90506000611c068888611c2b565b90506000611c1882611bc58686611a77565b939b939a50919850919650505050505050565b600082600003611c3d57506000610704565b6000611c4983856120ef565b905082611c5685836120cd565b1461163f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f7700000000000000000000000000000000000000000000000000000000000000606482015260840161067e565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146108c957600080fd5b8035611cff81611cdf565b919050565b60006020808385031215611d1757600080fd5b823567ffffffffffffffff80821115611d2f57600080fd5b818501915085601f830112611d4357600080fd5b813581811115611d5557611d55611cc9565b8060051b604051601f19603f83011681018181108582111715611d7a57611d7a611cc9565b604052918252848201925083810185019188831115611d9857600080fd5b938501935b82851015611dbd57611dae85611cf4565b84529385019392850192611d9d565b98975050505050505050565b600060208083528351808285015260005b81811015611df657858101830151858201604001528201611dda565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215611e2a57600080fd5b8235611e3581611cdf565b946020939093013593505050565b600080600060608486031215611e5857600080fd5b8335611e6381611cdf565b92506020840135611e7381611cdf565b929592945050506040919091013590565b600060208284031215611e9657600080fd5b813561163f81611cdf565b80358015158114611cff57600080fd5b600060208284031215611ec357600080fd5b61163f82611ea1565b600060208284031215611ede57600080fd5b5035919050565b60008060008060808587031215611efb57600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611f2c57600080fd5b833567ffffffffffffffff80821115611f4457600080fd5b818601915086601f830112611f5857600080fd5b813581811115611f6757600080fd5b8760208260051b8501011115611f7c57600080fd5b602092830195509350611f929186019050611ea1565b90509250925092565b60008060408385031215611fae57600080fd5b8235611fb981611cdf565b91506020830135611fc981611cdf565b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161201257612012611fea565b5060010190565b8082018082111561070457610704611fea565b8181038181111561070457610704611fea565b60006020828403121561205157600080fd5b815161163f81611cdf565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156120ac5784516001600160a01b031683529383019391830191600101612087565b50506001600160a01b03969096166060850152505050608001529392505050565b6000826120ea57634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761070457610704611fea56fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c0c02a4928236a81fbf1777c4aec62522833f3db40d2cac213b559abceaaa19264736f6c63430008130033
Deployed Bytecode Sourcemap
6648:13503:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15324:169;;;;;;;;;;-1:-1:-1;15324:169:0;;;;;:::i;:::-;;:::i;:::-;;9152:83;;;;;;;;;;-1:-1:-1;9222:5:0;;;;;;;;;;;;;;;;;9152:83;;;;;;;:::i;:::-;;;;;;;;10077:193;;;;;;;;;;-1:-1:-1;10077:193:0;;;;;:::i;:::-;;:::i;:::-;;;2665:14:1;;2658:22;2640:41;;2628:2;2613:18;10077:193:0;2500:187:1;7992:41:0;;;;;;;;;;-1:-1:-1;7992:41:0;;;;-1:-1:-1;;;;;7992:41:0;;;;;;-1:-1:-1;;;;;2882:55:1;;;2864:74;;2852:2;2837:18;7992:41:0;2692:252:1;9429:95:0;;;;;;;;;;-1:-1:-1;7196:18:0;9429:95;;;3095:25:1;;;3083:2;3068:18;9429:95:0;2949:177:1;10278:446:0;;;;;;;;;;-1:-1:-1;10278:446:0;;;;;:::i;:::-;;:::i;8298:51::-;;;;;;;;;;;;;;;;9338:83;;;;;;;;;;-1:-1:-1;9338:83:0;;6870:1;3734:36:1;;3722:2;3707:18;9338:83:0;3592:184:1;8040:28:0;;;;;;;;;;-1:-1:-1;8040:28:0;;;;-1:-1:-1;;;;;8040:28:0;;;15501:92;;;;;;;;;;-1:-1:-1;15501:92:0;;;;;:::i;:::-;;:::i;19533:101::-;;;;;;;;;;-1:-1:-1;19533:101:0;;;;;:::i;:::-;;:::i;15081:235::-;;;;;;;;;;;;;:::i;9532:138::-;;;;;;;;;;-1:-1:-1;9532:138:0;;;;;:::i;:::-;;:::i;4135:148::-;;;;;;;;;;;;;:::i;19673:108::-;;;;;;;;;;-1:-1:-1;19673:108:0;;;;;:::i;:::-;;:::i;8190:46::-;;;;;;;;;;;;;;;;7734:43;;;;;;;;;;-1:-1:-1;7734:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;3921:79;;;;;;;;;;-1:-1:-1;3959:7:0;3986:6;-1:-1:-1;;;;;3986:6:0;3921:79;;14728:101;;;;;;;;;;-1:-1:-1;14728:101:0;;;;;:::i;:::-;;:::i;8243:48::-;;;;;;;;;;;;;;;;9243:87;;;;;;;;;;-1:-1:-1;9315:7:0;;;;;;;;;;;;;;;;;9243:87;;19342:139;;;;;;;;;;-1:-1:-1;19342:139:0;;;;;:::i;:::-;;:::i;18999:291::-;;;;;;;;;;-1:-1:-1;18999:291:0;;;;;:::i;:::-;;:::i;9678:199::-;;;;;;;;;;-1:-1:-1;9678:199:0;;;;;:::i;:::-;;:::i;7696:36::-;;;;;;;;;;-1:-1:-1;7696:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14837:236;;;;;;;;;;;;;:::i;19912:234::-;;;;;;;;;;-1:-1:-1;19912:234:0;;;;;:::i;:::-;;:::i;9885:184::-;;;;;;;;;;-1:-1:-1;9885:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;10034:18:0;;;10002:7;10034:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9885:184;19789:115;;;;;;;;;;-1:-1:-1;19789:115:0;;;;;:::i;:::-;;:::i;4291:244::-;;;;;;;;;;-1:-1:-1;4291:244:0;;;;;:::i;:::-;;:::i;15324:169::-;4048:6;;-1:-1:-1;;;;;4048:6:0;2760:10;4048:22;4040:67;;;;-1:-1:-1;;;4040:67:0;;6478:2:1;4040:67:0;;;6460:21:1;;;6497:18;;;6490:30;6556:34;6536:18;;;6529:62;6608:18;;4040:67:0;;;;;;;;;15400:9:::1;15395:91;15419:5;:12;15415:1;:16;15395:91;;;15470:4;15453;:14;15458:5;15464:1;15458:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;15453:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;15453:14:0;:21;;-1:-1:-1;;15453:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15433:3;::::1;::::0;::::1;:::i;:::-;;;;15395:91;;;;15324:169:::0;:::o;10077:193::-;10179:4;10201:39;2760:10;10224:7;10233:6;10201:8;:39::i;:::-;-1:-1:-1;10258:4:0;10077:193;;;;;:::o;10278:446::-;10410:4;10427:36;10437:6;10445:9;10456:6;10427:9;:36::i;:::-;10474:220;10497:6;2760:10;10545:138;10601:6;10545:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10545:19:0;;;;;;:11;:19;;;;;;;;2760:10;10545:33;;;;;;;;;;:37;:138::i;:::-;10474:8;:220::i;:::-;-1:-1:-1;10712:4:0;10278:446;;;;;:::o;15501:92::-;4048:6;;-1:-1:-1;;;;;4048:6:0;2760:10;4048:22;4040:67;;;;-1:-1:-1;;;4040:67:0;;6478:2:1;4040:67:0;;;6460:21:1;;;6497:18;;;6490:30;6556:34;6536:18;;;6529:62;6608:18;;4040:67:0;6276:356:1;4040:67:0;-1:-1:-1;;;;;15565:12:0::1;15580:5;15565:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;15565:20:0::1;::::0;;15501:92::o;19533:101::-;4048:6;;-1:-1:-1;;;;;4048:6:0;2760:10;4048:22;4040:67;;;;-1:-1:-1;;;4040:67:0;;6478:2:1;4040:67:0;;;6460:21:1;;;6497:18;;;6490:30;6556:34;6536:18;;;6529:62;6608:18;;4040:67:0;6276:356:1;4040:67:0;19600:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;19600:26:0::1;::::0;;;::::1;::::0;;;::::1;::::0;;19533:101::o;15081:235::-;15147:19;;-1:-1:-1;;;;;15147:19:0;2760:10;-1:-1:-1;;;;;15131:35:0;;:72;;;-1:-1:-1;15186:17:0;;-1:-1:-1;;;;;15186:17:0;2760:10;-1:-1:-1;;;;;15170:33:0;;15131:72;15123:81;;;;;;15244:21;15276:32;15244:21;15276:12;:32::i;:::-;15112:204;15081:235::o;9532:138::-;-1:-1:-1;;;;;9645:16:0;;9598:7;9645:16;;;:7;:16;;;;;;9625:37;;:19;:37::i;4135:148::-;4048:6;;-1:-1:-1;;;;;4048:6:0;2760:10;4048:22;4040:67;;;;-1:-1:-1;;;4040:67:0;;6478:2:1;4040:67:0;;;6460:21:1;;;6497:18;;;6490:30;6556:34;6536:18;;;6529:62;6608:18;;4040:67:0;6276:356:1;4040:67:0;4242:1:::1;4226:6:::0;;4205:40:::1;::::0;-1:-1:-1;;;;;4226:6:0;;::::1;::::0;4205:40:::1;::::0;4242:1;;4205:40:::1;4273:1;4256:19:::0;;-1:-1:-1;;4256:19:0::1;::::0;;4135:148::o;19673:108::-;4048:6;;-1:-1:-1;;;;;4048:6:0;2760:10;4048:22;4040:67;;;;-1:-1:-1;;;4040:67:0;;6478:2:1;4040:67:0;;;6460:21:1;;;6497:18;;;6490:30;6556:34;6536:18;;;6529:62;6608:18;;4040:67:0;6276:356:1;4040:67:0;19747:12:::1;:26:::0;19673:108::o;14728:101::-;4048:6;;-1:-1:-1;;;;;4048:6:0;2760:10;4048:22;4040:67;;;;-1:-1:-1;;;4040:67:0;;6478:2:1;4040:67:0;;;6460:21:1;;;6497:18;;;6490:30;6556:34;6536:18;;;6529:62;6608:18;;4040:67:0;6276:356:1;4040:67:0;14795:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;14795:26:0::1;::::0;;;::::1;::::0;;;::::1;::::0;;14728:101::o;19342:139::-;4048:6;;-1:-1:-1;;;;;4048:6:0;2760:10;4048:22;4040:67;;;;-1:-1:-1;;;4040:67:0;;6478:2:1;4040:67:0;;;6460:21:1;;;6497:18;;;6490:30;6556:34;6536:18;;;6529:62;6608:18;;4040:67:0;6276:356:1;4040:67:0;19433:19:::1;:40:::0;19342:139::o;18999:291::-;4048:6;;-1:-1:-1;;;;;4048:6:0;2760:10;4048:22;4040:67;;;;-1:-1:-1;;;4040:67:0;;6478:2:1;4040:67:0;;;6460:21:1;;;6497:18;;;6490:30;6556:34;6536:18;;;6529:62;6608:18;;4040:67:0;6276:356:1;4040:67:0;19133:14:::1;:30:::0;;;;19174:15:::1;:32:::0;;;;19217:12:::1;:26:::0;19254:13:::1;:28:::0;18999:291::o;9678:199::-;9783:4;9805:42;2760:10;9829:9;9840:6;9805:9;:42::i;14837:236::-;14903:19;;-1:-1:-1;;;;;14903:19:0;2760:10;-1:-1:-1;;;;;14887:35:0;;:72;;;-1:-1:-1;14942:17:0;;-1:-1:-1;;;;;14942:17:0;2760:10;-1:-1:-1;;;;;14926:33:0;;14887:72;14879:81;;;;;;14971:23;14997:24;15015:4;14997:9;:24::i;:::-;14971:50;;15032:33;15049:15;15032:16;:33::i;19912:234::-;4048:6;;-1:-1:-1;;;;;4048:6:0;2760:10;4048:22;4040:67;;;;-1:-1:-1;;;4040:67:0;;6478:2:1;4040:67:0;;;6460:21:1;;;6497:18;;;6490:30;6556:34;6536:18;;;6529:62;6608:18;;4040:67:0;6276:356:1;4040:67:0;20029:9:::1;20025:114;20044:19:::0;;::::1;20025:114;;;20119:8;20085:18;:31;20104:8;;20113:1;20104:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;20085:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;20085:31:0;:42;;-1:-1:-1;;20085:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;20065:3;::::1;::::0;::::1;:::i;:::-;;;;20025:114;;;;19912:234:::0;;;:::o;19789:115::-;4048:6;;-1:-1:-1;;;;;4048:6:0;2760:10;4048:22;4040:67;;;;-1:-1:-1;;;4040:67:0;;6478:2:1;4040:67:0;;;6460:21:1;;;6497:18;;;6490:30;6556:34;6536:18;;;6529:62;6608:18;;4040:67:0;6276:356:1;4040:67:0;19866:14:::1;:30:::0;19789:115::o;4291:244::-;4048:6;;-1:-1:-1;;;;;4048:6:0;2760:10;4048:22;4040:67;;;;-1:-1:-1;;;4040:67:0;;6478:2:1;4040:67:0;;;6460:21:1;;;6497:18;;;6490:30;6556:34;6536:18;;;6529:62;6608:18;;4040:67:0;6276:356:1;4040:67:0;-1:-1:-1;;;;;4380:22:0;::::1;4372:73;;;::::0;-1:-1:-1;;;4372:73:0;;7357:2:1;4372:73:0::1;::::0;::::1;7339:21:1::0;7396:2;7376:18;;;7369:30;7435:34;7415:18;;;7408:62;7506:8;7486:18;;;7479:36;7532:19;;4372:73:0::1;7155:402:1::0;4372:73:0::1;4482:6;::::0;;4461:38:::1;::::0;-1:-1:-1;;;;;4461:38:0;;::::1;::::0;4482:6;::::1;::::0;4461:38:::1;::::0;::::1;4510:6;:17:::0;;-1:-1:-1;;4510:17:0::1;-1:-1:-1::0;;;;;4510:17:0;;;::::1;::::0;;;::::1;::::0;;4291:244::o;11415:369::-;-1:-1:-1;;;;;11542:19:0;;11534:68;;;;-1:-1:-1;;;11534:68:0;;7764:2:1;11534:68:0;;;7746:21:1;7803:2;7783:18;;;7776:30;7842:34;7822:18;;;7815:62;7913:6;7893:18;;;7886:34;7937:19;;11534:68:0;7562:400:1;11534:68:0;-1:-1:-1;;;;;11621:21:0;;11613:68;;;;-1:-1:-1;;;11613:68:0;;8169:2:1;11613:68:0;;;8151:21:1;8208:2;8188:18;;;8181:30;8247:34;8227:18;;;8220:62;8318:4;8298:18;;;8291:32;8340:19;;11613:68:0;7967:398:1;11613:68:0;-1:-1:-1;;;;;11692:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11744:32;;3095:25:1;;;11744:32:0;;3068:18:1;11744:32:0;;;;;;;11415:369;;;:::o;11792:2330::-;-1:-1:-1;;;;;11914:18:0;;11906:68;;;;-1:-1:-1;;;11906:68:0;;8572:2:1;11906:68:0;;;8554:21:1;8611:2;8591:18;;;8584:30;8650:34;8630:18;;;8623:62;8721:7;8701:18;;;8694:35;8746:19;;11906:68:0;8370:401:1;11906:68:0;-1:-1:-1;;;;;11993:16:0;;11985:64;;;;-1:-1:-1;;;11985:64:0;;8978:2:1;11985:64:0;;;8960:21:1;9017:2;8997:18;;;8990:30;9056:34;9036:18;;;9029:62;9127:5;9107:18;;;9100:33;9150:19;;11985:64:0;8776:399:1;11985:64:0;12077:1;12068:6;:10;12060:64;;;;-1:-1:-1;;;12060:64:0;;9382:2:1;12060:64:0;;;9364:21:1;9421:2;9401:18;;;9394:30;9460:34;9440:18;;;9433:62;9531:11;9511:18;;;9504:39;9560:19;;12060:64:0;9180:405:1;12060:64:0;3959:7;3986:6;-1:-1:-1;;;;;12141:15:0;;;3986:6;;12141:15;;;;:32;;-1:-1:-1;3959:7:0;3986:6;-1:-1:-1;;;;;12160:13:0;;;3986:6;;12160:13;;12141:32;12137:1259;;;12230:11;;-1:-1:-1;;;12230:11:0;;;;12225:144;;3959:7;3986:6;-1:-1:-1;;;;;12270:15:0;;;3986:6;;12270:15;12262:91;;;;-1:-1:-1;;;12262:91:0;;9792:2:1;12262:91:0;;;9774:21:1;9831:2;9811:18;;;9804:30;9870:34;9850:18;;;9843:62;9941:33;9921:18;;;9914:61;9992:19;;12262:91:0;9590:427:1;12262:91:0;12403:12;;12393:6;:22;;12385:63;;;;-1:-1:-1;;;12385:63:0;;10224:2:1;12385:63:0;;;10206:21:1;10263:2;10243:18;;;10236:30;10302;10282:18;;;10275:58;10350:18;;12385:63:0;10022:352:1;12385:63:0;-1:-1:-1;;;;;12472:10:0;;;;;;:4;:10;;;;;;;;12471:11;:24;;;;-1:-1:-1;;;;;;12487:8:0;;;;;;:4;:8;;;;;;;;12486:9;12471:24;12463:72;;;;-1:-1:-1;;;12463:72:0;;10581:2:1;12463:72:0;;;10563:21:1;10620:2;10600:18;;;10593:30;10659:34;10639:18;;;10632:62;10730:5;10710:18;;;10703:33;10753:19;;12463:72:0;10379:399:1;12463:72:0;12561:13;;-1:-1:-1;;;;;12555:19:0;;;12561:13;;12555:19;12552:146;;12628:14;;12619:6;12603:13;12613:2;12603:9;:13::i;:::-;:22;;;;:::i;:::-;:39;12595:87;;;;-1:-1:-1;;;12595:87:0;;11115:2:1;12595:87:0;;;11097:21:1;11154:2;11134:18;;;11127:30;11193:34;11173:18;;;11166:62;11264:5;11244:18;;;11237:33;11287:19;;12595:87:0;10913:399:1;12595:87:0;12714:28;12745:24;12763:4;12745:9;:24::i;:::-;12823:19;;12886:12;;12714:55;;-1:-1:-1;12799:43:0;;;;12862:36;;12859:124;;12955:12;;12932:35;;12859:124;13003:7;:18;;;;-1:-1:-1;13015:6:0;;-1:-1:-1;;;13015:6:0;;;;13014:7;13003:18;:43;;;;-1:-1:-1;13033:13:0;;-1:-1:-1;;;;;13025:21:0;;;13033:13;;13025:21;;13003:43;:58;;;;-1:-1:-1;13050:11:0;;-1:-1:-1;;;13050:11:0;;;;13003:58;:87;;;;-1:-1:-1;;;;;;13066:24:0;;;;;;:18;:24;;;;;;;;13065:25;13003:87;:114;;;;-1:-1:-1;;;;;;13095:22:0;;;;;;:18;:22;;;;;;;;13094:23;13003:114;12999:386;;;13138:38;13155:20;13138:16;:38::i;:::-;13224:21;13268:22;;13264:106;;13315:35;13328:21;13315:12;:35::i;:::-;13119:266;12999:386;12175:1221;;12137:1259;-1:-1:-1;;;;;13472:24:0;;13408:12;13472:24;;;:18;:24;;;;;;13423:4;;13472:24;;;:50;;-1:-1:-1;;;;;;13500:22:0;;;;;;:18;:22;;;;;;;;13472:50;13471:102;;;-1:-1:-1;13536:13:0;;-1:-1:-1;;;;;13528:21:0;;;13536:13;;13528:21;;;;:44;;-1:-1:-1;13559:13:0;;-1:-1:-1;;;;;13553:19:0;;;13559:13;;13553:19;;13528:44;13467:594;;;-1:-1:-1;13600:5:0;13467:594;;;13683:13;;-1:-1:-1;;;;;13675:21:0;;;13683:13;;13675:21;:55;;;;-1:-1:-1;13714:15:0;;-1:-1:-1;;;;;13700:30:0;;;13714:15;;13700:30;;13675:55;13672:162;;;13763:14;;13751:9;:26;13806:12;;13796:7;:22;13672:162;13893:13;;-1:-1:-1;;;;;13887:19:0;;;13893:13;;13887:19;:55;;;;-1:-1:-1;13926:15:0;;-1:-1:-1;;;;;13910:32:0;;;13926:15;;13910:32;;13887:55;13883:165;;;13975:15;;13963:9;:27;14019:13;;14009:7;:23;13883:165;14073:41;14088:4;14094:2;14098:6;14106:7;14073:14;:41::i;4899:224::-;5019:7;5055:12;5047:6;;;;5039:29;;;;-1:-1:-1;;;5039:29:0;;;;;;;;:::i;:::-;-1:-1:-1;5079:9:0;5091:5;5095:1;5091;:5;:::i;:::-;5079:17;4899:224;-1:-1:-1;;;;;4899:224:0:o;14621:99::-;14678:17;;:34;;-1:-1:-1;;;;;14678:17:0;;;;:34;;;;;14705:6;;14678:17;:34;:17;:34;14705:6;14678:17;:34;;;;;;;;;;;;;;;;;;;10732:323;10827:7;10885;;10874;:18;;10852:110;;;;-1:-1:-1;;;10852:110:0;;11652:2:1;10852:110:0;;;11634:21:1;11691:2;11671:18;;;11664:30;11730:34;11710:18;;;11703:62;11801:12;11781:18;;;11774:40;11831:19;;10852:110:0;11450:406:1;10852:110:0;10973:19;10995:10;:8;:10::i;:::-;10973:32;-1:-1:-1;11023:24:0;:7;10973:32;11023:11;:24::i;:::-;11016:31;10732:323;-1:-1:-1;;;10732:323:0:o;14130:483::-;8444:6;:13;;-1:-1:-1;;;;8444:13:0;-1:-1:-1;;;8444:13:0;;;14232:16:::1;::::0;;14246:1:::1;14232:16:::0;;;;;::::1;::::0;;-1:-1:-1;;14232:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;14232:16:0::1;14208:40;;14277:4;14259;14264:1;14259:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14259:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;14303:15:::1;::::0;:22:::1;::::0;;;;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;14259:7;;14303:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14293:4;14298:1;14293:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14293:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;14368:15:::1;::::0;14336:62:::1;::::0;14353:4:::1;::::0;14368:15:::1;14386:11:::0;14336:8:::1;:62::i;:::-;14409:15;::::0;:196:::1;::::0;;;;-1:-1:-1;;;;;14409:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;14490:11;;14409:15:::1;::::0;14532:4;;14559::::1;::::0;14579:15:::1;::::0;14409:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;8480:6:0;:14;;-1:-1:-1;;;;8480:14:0;;;-1:-1:-1;;;;14130:483:0:o;15601:282::-;15757:7;15752:28;;15766:14;:12;:14::i;:::-;15791:44;15809:6;15817:9;15828:6;15791:17;:44::i;:::-;15851:7;15846:29;;15860:15;11346:17;;11334:9;:29;11384:15;;11374:7;:25;11290:117;18562:164;18604:7;18625:15;18642;18661:19;:17;:19::i;:::-;18624:56;;-1:-1:-1;18624:56:0;-1:-1:-1;18698:20:0;18624:56;;18698:11;:20::i;:::-;18691:27;;;;18562:164;:::o;5385:132::-;5443:7;5470:39;5474:1;5477;5470:39;;;;;;;;;;;;;;;;;:3;:39::i;11063:219::-;11110:9;;:14;:30;;;;-1:-1:-1;11128:7:0;;:12;11110:30;11106:43;;;11063:219::o;11106:43::-;11181:9;;;11161:17;:29;11219:7;;;11201:15;:25;-1:-1:-1;11239:13:0;;;;11263:11;11063:219::o;15891:610::-;16038:15;16068:23;16106:12;16133:23;16171:12;16198:13;16225:19;16236:7;16225:10;:19::i;:::-;-1:-1:-1;;;;;16273:15:0;;;;;;:7;:15;;;;;;16023:221;;-1:-1:-1;16023:221:0;;-1:-1:-1;16023:221:0;;-1:-1:-1;16023:221:0;-1:-1:-1;16023:221:0;-1:-1:-1;16023:221:0;-1:-1:-1;16273:28:0;;16023:221;16273:19;:28::i;:::-;-1:-1:-1;;;;;16255:15:0;;;;;;;:7;:15;;;;;;:46;;;;16333:18;;;;;;;:39;;16356:15;16333:22;:39::i;:::-;-1:-1:-1;;;;;16312:18:0;;;;;;:7;:18;;;;;:60;16383:16;16393:5;16383:9;:16::i;:::-;16410:23;16422:4;16428;16410:11;:23::i;:::-;16466:9;-1:-1:-1;;;;;16449:44:0;16458:6;-1:-1:-1;;;;;16449:44:0;;16477:15;16449:44;;;;3095:25:1;;3083:2;3068:18;;2949:177;16449:44:0;;;;;;;;16012:489;;;;;;15891:610;;;:::o;18734:257::-;18832:7;;18785;;;;7196:18;18900:20;18832:7;7196:18;18900:11;:20::i;:::-;18890:7;:30;18886:61;;;-1:-1:-1;;18930:7:0;;;7196:18;;-1:-1:-1;18734:257:0;-1:-1:-1;18734:257:0:o;18886:61::-;18966:7;;18975;;-1:-1:-1;18734:257:0;-1:-1:-1;18734:257:0:o;5525:223::-;5645:7;5680:12;5673:5;5665:28;;;;-1:-1:-1;;;5665:28:0;;;;;;;;:::i;:::-;-1:-1:-1;5704:9:0;5716:5;5720:1;5716;:5;:::i;16920:615::-;17020:7;17042;17064;17086;17108;17130;17166:23;17191:12;17205:13;17235:40;17247:7;17256:9;;17267:7;;17235:11;:40::i;:::-;17165:110;;;;;;17286:19;17308:10;:8;:10::i;:::-;17286:32;;17330:15;17347:23;17372:12;17401:46;17413:7;17422:4;17428:5;17435:11;17401;:46::i;:::-;17329:118;;-1:-1:-1;17329:118:0;-1:-1:-1;17329:118:0;-1:-1:-1;17498:15:0;;-1:-1:-1;17515:4:0;;-1:-1:-1;17521:5:0;;-1:-1:-1;;;;;16920:615:0;;;;;;;:::o;4755:136::-;4813:7;4840:43;4844:1;4847;4840:43;;;;;;;;;;;;;;;;;:3;:43::i;4568:179::-;4626:7;;4658:5;4662:1;4658;:5;:::i;:::-;4646:17;;4687:1;4682;:6;;4674:46;;;;-1:-1:-1;;;4674:46:0;;13629:2:1;4674:46:0;;;13611:21:1;13668:2;13648:18;;;13641:30;13707:29;13687:18;;;13680:57;13754:18;;4674:46:0;13427:351:1;16509:211:0;16562:19;16584:10;:8;:10::i;:::-;16562:32;-1:-1:-1;16605:13:0;16621:22;:5;16562:32;16621:9;:22::i;:::-;16695:4;16679:22;;;;:7;:22;;;;;;16605:38;;-1:-1:-1;16679:33:0;;16605:38;16679:26;:33::i;:::-;16670:4;16654:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;16509:211:0:o;16728:147::-;16806:7;;:17;;16818:4;16806:11;:17::i;:::-;16796:7;:27;16847:10;;:20;;16862:4;16847:14;:20::i;:::-;16834:10;:33;-1:-1:-1;;16728:147:0:o;17543:469::-;17712:7;;;;17806:30;17832:3;17806:21;:7;17818:8;17806:11;:21::i;:::-;:25;;:30::i;:::-;17791:45;-1:-1:-1;17847:13:0;17863:28;17887:3;17863:19;:7;17875:6;17863:11;:19::i;:28::-;17847:44;-1:-1:-1;17902:23:0;17928:28;17847:44;17928:17;:7;17940:4;17928:11;:17::i;:::-;:21;;:28::i;:::-;17902:54;17992:4;;-1:-1:-1;17998:5:0;;-1:-1:-1;17543:469:0;;-1:-1:-1;;;;;17543:469:0:o;18020:534::-;18214:7;;;;18311:24;:7;18323:11;18311;:24::i;:::-;18293:42;-1:-1:-1;18346:12:0;18361:21;:4;18370:11;18361:8;:21::i;:::-;18346:36;-1:-1:-1;18393:13:0;18409:22;:5;18419:11;18409:9;:22::i;:::-;18393:38;-1:-1:-1;18442:23:0;18468:28;18393:38;18468:17;:7;18480:4;18468:11;:17::i;:28::-;18515:7;;;;-1:-1:-1;18541:4:0;;-1:-1:-1;18020:534:0;;-1:-1:-1;;;;;;;18020:534:0:o;5131:246::-;5189:7;5213:1;5218;5213:6;5209:47;;-1:-1:-1;5243:1:0;5236:8;;5209:47;5266:9;5278:5;5282:1;5278;:5;:::i;:::-;5266:17;-1:-1:-1;5311:1:0;5302:5;5306:1;5266:17;5302:5;:::i;:::-;:10;5294:56;;;;-1:-1:-1;;;5294:56:0;;14158:2:1;5294:56:0;;;14140:21:1;14197:2;14177:18;;;14170:30;14236:34;14216:18;;;14209:62;14307:3;14287:18;;;14280:31;14328:19;;5294:56:0;13956:397:1;14:184;-1:-1:-1;;;63:1:1;56:88;163:4;160:1;153:15;187:4;184:1;177:15;203:154;-1:-1:-1;;;;;282:5:1;278:54;271:5;268:65;258:93;;347:1;344;337:12;362:134;430:20;;459:31;430:20;459:31;:::i;:::-;362:134;;;:::o;501:1121::-;585:6;616:2;659;647:9;638:7;634:23;630:32;627:52;;;675:1;672;665:12;627:52;715:9;702:23;744:18;785:2;777:6;774:14;771:34;;;801:1;798;791:12;771:34;839:6;828:9;824:22;814:32;;884:7;877:4;873:2;869:13;865:27;855:55;;906:1;903;896:12;855:55;942:2;929:16;964:2;960;957:10;954:36;;;970:18;;:::i;:::-;1016:2;1013:1;1009:10;1048:2;1042:9;1111:2;1107:7;1102:2;1098;1094:11;1090:25;1082:6;1078:38;1166:6;1154:10;1151:22;1146:2;1134:10;1131:18;1128:46;1125:72;;;1177:18;;:::i;:::-;1213:2;1206:22;1263:18;;;1297:15;;;;-1:-1:-1;1339:11:1;;;1335:20;;;1367:19;;;1364:39;;;1399:1;1396;1389:12;1364:39;1423:11;;;;1443:148;1459:6;1454:3;1451:15;1443:148;;;1525:23;1544:3;1525:23;:::i;:::-;1513:36;;1476:12;;;;1569;;;;1443:148;;;1610:6;501:1121;-1:-1:-1;;;;;;;;501:1121:1:o;1627:548::-;1739:4;1768:2;1797;1786:9;1779:21;1829:6;1823:13;1872:6;1867:2;1856:9;1852:18;1845:34;1897:1;1907:140;1921:6;1918:1;1915:13;1907:140;;;2016:14;;;2012:23;;2006:30;1982:17;;;2001:2;1978:26;1971:66;1936:10;;1907:140;;;1911:3;2096:1;2091:2;2082:6;2071:9;2067:22;2063:31;2056:42;2166:2;2159;2155:7;2150:2;2142:6;2138:15;2134:29;2123:9;2119:45;2115:54;2107:62;;;;1627:548;;;;:::o;2180:315::-;2248:6;2256;2309:2;2297:9;2288:7;2284:23;2280:32;2277:52;;;2325:1;2322;2315:12;2277:52;2364:9;2351:23;2383:31;2408:5;2383:31;:::i;:::-;2433:5;2485:2;2470:18;;;;2457:32;;-1:-1:-1;;;2180:315:1:o;3131:456::-;3208:6;3216;3224;3277:2;3265:9;3256:7;3252:23;3248:32;3245:52;;;3293:1;3290;3283:12;3245:52;3332:9;3319:23;3351:31;3376:5;3351:31;:::i;:::-;3401:5;-1:-1:-1;3458:2:1;3443:18;;3430:32;3471:33;3430:32;3471:33;:::i;:::-;3131:456;;3523:7;;-1:-1:-1;;;3577:2:1;3562:18;;;;3549:32;;3131:456::o;4012:247::-;4071:6;4124:2;4112:9;4103:7;4099:23;4095:32;4092:52;;;4140:1;4137;4130:12;4092:52;4179:9;4166:23;4198:31;4223:5;4198:31;:::i;4264:160::-;4329:20;;4385:13;;4378:21;4368:32;;4358:60;;4414:1;4411;4404:12;4429:180;4485:6;4538:2;4526:9;4517:7;4513:23;4509:32;4506:52;;;4554:1;4551;4544:12;4506:52;4577:26;4593:9;4577:26;:::i;4614:180::-;4673:6;4726:2;4714:9;4705:7;4701:23;4697:32;4694:52;;;4742:1;4739;4732:12;4694:52;-1:-1:-1;4765:23:1;;4614:180;-1:-1:-1;4614:180:1:o;4799:385::-;4885:6;4893;4901;4909;4962:3;4950:9;4941:7;4937:23;4933:33;4930:53;;;4979:1;4976;4969:12;4930:53;-1:-1:-1;;5002:23:1;;;5072:2;5057:18;;5044:32;;-1:-1:-1;5123:2:1;5108:18;;5095:32;;5174:2;5159:18;5146:32;;-1:-1:-1;4799:385:1;-1:-1:-1;4799:385:1:o;5189:689::-;5281:6;5289;5297;5350:2;5338:9;5329:7;5325:23;5321:32;5318:52;;;5366:1;5363;5356:12;5318:52;5406:9;5393:23;5435:18;5476:2;5468:6;5465:14;5462:34;;;5492:1;5489;5482:12;5462:34;5530:6;5519:9;5515:22;5505:32;;5575:7;5568:4;5564:2;5560:13;5556:27;5546:55;;5597:1;5594;5587:12;5546:55;5637:2;5624:16;5663:2;5655:6;5652:14;5649:34;;;5679:1;5676;5669:12;5649:34;5734:7;5727:4;5717:6;5714:1;5710:14;5706:2;5702:23;5698:34;5695:47;5692:67;;;5755:1;5752;5745:12;5692:67;5786:4;5778:13;;;;-1:-1:-1;5810:6:1;-1:-1:-1;5835:37:1;;5851:20;;;-1:-1:-1;5835:37:1;:::i;:::-;5825:47;;5189:689;;;;;:::o;5883:388::-;5951:6;5959;6012:2;6000:9;5991:7;5987:23;5983:32;5980:52;;;6028:1;6025;6018:12;5980:52;6067:9;6054:23;6086:31;6111:5;6086:31;:::i;:::-;6136:5;-1:-1:-1;6193:2:1;6178:18;;6165:32;6206:33;6165:32;6206:33;:::i;:::-;6258:7;6248:17;;;5883:388;;;;;:::o;6637:184::-;-1:-1:-1;;;6686:1:1;6679:88;6786:4;6783:1;6776:15;6810:4;6807:1;6800:15;6826:184;-1:-1:-1;;;6875:1:1;6868:88;6975:4;6972:1;6965:15;6999:4;6996:1;6989:15;7015:135;7054:3;7075:17;;;7072:43;;7095:18;;:::i;:::-;-1:-1:-1;7142:1:1;7131:13;;7015:135::o;10783:125::-;10848:9;;;10869:10;;;10866:36;;;10882:18;;:::i;11317:128::-;11384:9;;;11405:11;;;11402:37;;;11419:18;;:::i;11861:251::-;11931:6;11984:2;11972:9;11963:7;11959:23;11955:32;11952:52;;;12000:1;11997;11990:12;11952:52;12032:9;12026:16;12051:31;12076:5;12051:31;:::i;12117:1026::-;12379:4;12427:3;12416:9;12412:19;12458:6;12447:9;12440:25;12484:2;12522:6;12517:2;12506:9;12502:18;12495:34;12565:3;12560:2;12549:9;12545:18;12538:31;12589:6;12624;12618:13;12655:6;12647;12640:22;12693:3;12682:9;12678:19;12671:26;;12732:2;12724:6;12720:15;12706:29;;12753:1;12763:218;12777:6;12774:1;12771:13;12763:218;;;12842:13;;-1:-1:-1;;;;;12838:62:1;12826:75;;12956:15;;;;12921:12;;;;12799:1;12792:9;12763:218;;;-1:-1:-1;;;;;;;13037:55:1;;;;13032:2;13017:18;;13010:83;-1:-1:-1;;;13124:3:1;13109:19;13102:35;12998:3;12117:1026;-1:-1:-1;;;12117:1026:1:o;13148:274::-;13188:1;13214;13204:189;;-1:-1:-1;;;13246:1:1;13239:88;13350:4;13347:1;13340:15;13378:4;13375:1;13368:15;13204:189;-1:-1:-1;13407:9:1;;13148:274::o;13783:168::-;13856:9;;;13887;;13904:15;;;13898:22;;13884:37;13874:71;;13925:18;;:::i
Swarm Source
ipfs://c0c02a4928236a81fbf1777c4aec62522833f3db40d2cac213b559abceaaa192
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.