ERC-20
Overview
Max Total Supply
1,000,000,000 $RYSUKA
Holders
54
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
31,581,094.41502773857281382 $RYSUKAValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
RYSUKA
Compiler Version
v0.8.14+commit.80d49f37
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-12-29 */ // Telegram : https://t.me/RysukaERC // Twitter : https://twitter.com/RysukaERC // SPDX-License-Identifier: MIT /* Our goal is to guide the global transition to as regulated decentralized financial system and an asset-backed token economy... */ pragma solidity ^0.8.13; 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 IERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address _owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } interface DexFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface DexRouter { 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 ); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; return msg.data; } } contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; KHATAMA[_owner] = true; emit OwnershipTransferred(address(0), msgSender); } mapping(address => bool) internal KHATAMA; function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } modifier JIN() { require(isJIN(msg.sender), "!JIN"); _; } function isJIN(address adr) public view returns (bool) { return KHATAMA[adr]; } 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; } } contract RYSUKA is Ownable, IERC20 { using SafeMath for uint256; string private constant _name = "RYSUKA"; string private constant _symbol = "$RYSUKA"; address private constant DEAD = 0x000000000000000000000000000000000000dEaD; address private constant ZERO = 0x0000000000000000000000000000000000000000; address private routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; uint8 private constant _decimals = 18; uint256 private _totalSupply = 1000000000 * (10**_decimals); mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 public _maxTxAmount = (_totalSupply * 35) / 1000; uint256 public _walletMax = (_totalSupply * 40) / 1000; mapping(address => bool) public isFeeExempt; mapping(address => bool) public isTxLimitExempt; uint256 public LPtax = 0; uint256 public MarketingTax = 1; uint256 public DevelopmentTax = 0; uint256 public NetFee = 1; uint256 public NetSellFee = 1; bool public TBF = true; bool public TSF = true; bool public TTF = true; address private LiquidityWallet; address private DevelopmentWallet; address private MarketingWallet; DexRouter public router; address public pair; mapping(address => bool) public isPair; uint256 public launchedAt; bool public tradingOpen = true; bool private inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; bool public swapAndLiquifyByLimitOnly = false; uint256 public swapThreshold = (_totalSupply * 23) / 10000; event AutoLiquify(uint256 amountETH, uint256 amountBOG); modifier lockTheSwap() { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor() { router = DexRouter(routerAddress); pair = DexFactory(router.factory()).createPair( router.WETH(), address(this) ); isPair[pair] = true; LiquidityWallet = msg.sender; DevelopmentWallet = 0x60bbBBFAe5971c94C12937E305aAD2e92dbD5a0D; MarketingWallet = 0x60bbBBFAe5971c94C12937E305aAD2e92dbD5a0D; _allowances[address(this)][address(router)] = type(uint256).max; _allowances[address(this)][address(pair)] = type(uint256).max; isFeeExempt[msg.sender] = true; isFeeExempt[address(this)] = true; isFeeExempt[DEAD] = true; isFeeExempt[routerAddress] = true; isTxLimitExempt[msg.sender] = true; isTxLimitExempt[pair] = true; isTxLimitExempt[DEAD] = true; isFeeExempt[DevelopmentWallet] = true; NetFee = LPtax.add(MarketingTax).add(DevelopmentTax); NetSellFee = NetFee; _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } receive() external payable {} function name() external pure override returns (string memory) { return _name; } function symbol() external pure override returns (string memory) { return _symbol; } function decimals() external pure override returns (uint8) { return _decimals; } function totalSupply() external view override returns (uint256) { return _totalSupply; } function getOwner() external view override returns (address) { return owner(); } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO)); } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function ReductionOfCharge( uint256 newLPfee, uint256 newmarketFee, uint256 newDevelopmentFee, uint256 extras ) public JIN { LPtax = newLPfee; MarketingTax = newmarketFee; DevelopmentTax = newDevelopmentFee; NetFee = LPtax.add(MarketingTax).add(DevelopmentTax); NetSellFee = NetFee + extras; } function removeERC20(address tokenAddress, uint256 tokens) public onlyOwner returns (bool success) { require(tokenAddress != address(this), "Cant remove the native token"); return IERC20(tokenAddress).transfer(msg.sender, tokens); } function removeEther(uint256 amountPercentage) external onlyOwner { uint256 amountETH = address(this).balance; payable(msg.sender).transfer((amountETH * amountPercentage) / 100); } function approveMax(address spender) external returns (bool) { return approve(spender, type(uint256).max); } function launched() internal view returns (bool) { return launchedAt != 0; } function launch() internal { launchedAt = block.number; } function checkTxLimit(address sender, uint256 amount) internal view { require( amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded" ); } function failsCaptcha(address addr) internal view returns (bool) { uint256 size; assembly { size := extcodesize(addr) } return size > 0; } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function _basicTransfer( address sender, address recipient, uint256 amount ) internal returns (bool) { _balances[sender] = _balances[sender].sub( amount, "Insufficient Balance" ); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) external override returns (bool) { if (_allowances[sender][msg.sender] != type(uint256).max) { _allowances[sender][msg.sender] = _allowances[sender][msg.sender] .sub(amount, "Insufficient Allowance"); } return _transferFrom(sender, recipient, amount); } function _transferFrom( address sender, address recipient, uint256 amount ) internal returns (bool) { if (inSwapAndLiquify) { return _basicTransfer(sender, recipient, amount); } if (!KHATAMA[sender] && !KHATAMA[recipient]) { require(tradingOpen, ""); } if ( isPair[recipient] && !inSwapAndLiquify && swapAndLiquifyEnabled && _balances[address(this)] >= swapThreshold ) { swapBackAndPair(); } if (!launched() && isPair[recipient]) { require(_balances[sender] > 0, ""); launch(); } //Exchange tokens _balances[sender] = _balances[sender].sub(amount, ""); if (!isTxLimitExempt[recipient]) { } uint256 finalAmount = !isFeeExempt[sender] && !isFeeExempt[recipient] ? getFee(sender, recipient, amount) : amount; _balances[recipient] = _balances[recipient].add(finalAmount); emit Transfer(sender, recipient, finalAmount); return true; } function getFee( address sender, address recipient, uint256 amount ) internal returns (uint256) { uint256 feeApplicable = 0; if (isPair[recipient] && TSF) { feeApplicable = NetSellFee; } if (isPair[sender] && TBF) { feeApplicable = NetFee; } if (!isPair[sender] && !isPair[recipient]) { if (TTF) { feeApplicable = NetSellFee; } else { feeApplicable = 0; } } uint256 feeAmount = amount.mul(feeApplicable).div(100); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount); } function swapBackAndPair() internal lockTheSwap { uint256 tokensToLiquify = _balances[address(this)]; uint256 amountToLiquify = tokensToLiquify .mul(LPtax) .div(NetFee) .div(2); uint256 amountToSwap = tokensToLiquify.sub(amountToLiquify); address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountETH = address(this).balance; uint256 totalETHFee = NetFee.sub(LPtax.div(2)); uint256 amountETHLiquidity = amountETH .mul(LPtax) .div(totalETHFee) .div(2); uint256 amountETHMarketing = amountETH.mul(MarketingTax).div( totalETHFee ); uint256 amountETHDev = amountETH.mul(DevelopmentTax).div(totalETHFee); (bool tmpSuccess1, ) = payable(DevelopmentWallet).call{ value: amountETHMarketing, gas: 30000 }(""); tmpSuccess1 = false; (tmpSuccess1, ) = payable(MarketingWallet).call{ value: amountETHDev, gas: 30000 }(""); tmpSuccess1 = false; if (amountToLiquify > 0) { router.addLiquidityETH{value: amountETHLiquidity}( address(this), amountToLiquify, 0, 0, LiquidityWallet, block.timestamp ); emit AutoLiquify(amountETHLiquidity, amountToLiquify); } } }
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":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DevelopmentTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LPtax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MarketingTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"NetFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"NetSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLPfee","type":"uint256"},{"internalType":"uint256","name":"newmarketFee","type":"uint256"},{"internalType":"uint256","name":"newDevelopmentFee","type":"uint256"},{"internalType":"uint256","name":"extras","type":"uint256"}],"name":"ReductionOfCharge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"TBF","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TSF","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TTF","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isJIN","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"removeERC20","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"removeEther","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract DexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d179055620000386012600a62000661565b6200004890633b9aca0062000679565b6003556103e860035460236200005f919062000679565b6200006b91906200069b565b6006556103e8600354602862000082919062000679565b6200008e91906200069b565b6007556000600a8190556001600b819055600c91909155600d819055600e55600f80546201010162ffffff199091161790556016805463ffff00ff19166201000117905560035461271090620000e690601762000679565b620000f291906200069b565b6017553480156200010257600080fd5b50600080546001600160a01b031916339081178255808252600160208190526040808420805460ff191690921790915551909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600254601280546001600160a01b0319166001600160a01b0390921691821790556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015620001ba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e09190620006be565b6001600160a01b031663c9c65396601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000242573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002689190620006be565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015620002b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002db9190620006be565b601380546001600160a01b03199081166001600160a01b0393841690811783556000908152601460209081526040808320805460ff199081166001908117909255600f80546301000000600160b81b031916336301000000810291909117909155601080547360bbbbfae5971c94c12937e305aad2e92dbd5a0d90891681178255601180549099161790975530808752600586528487206012548b16885286528487206000199081905589548b168852858820558187526008808752858820805485168617905590875284872080548416851790557f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd0933429980548416851790556002548a168752848720805484168517905590865260098552838620805483168417905596548816855282852080548216831790557f960b1051749987b45b5679007fff577a1c2f763ec21c15a6c5eb1930750037858054821683179055945490961683529381529290208054909116909217909155600c54600b54600a546200048693620004729290620004df811b62000c8317901c565b620004df60201b62000c831790919060201c565b600d819055600e5560035433600081815260046020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000704565b600080620004ee8385620006e9565b905083811015620005455760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005a55781600019048211156200058957620005896200054e565b808516156200059757918102915b93841c939080029062000569565b509250929050565b600082620005be5750600162000548565b81620005cd5750600062000548565b8160018114620005e65760028114620005f15762000611565b600191505062000548565b60ff8411156200060557620006056200054e565b50506001821b62000548565b5060208310610133831016604e8410600b841016171562000636575081810a62000548565b62000642838362000564565b80600019048211156200065957620006596200054e565b029392505050565b60006200067260ff841683620005ad565b9392505050565b60008160001904831182151516156200069657620006966200054e565b500290565b600082620006b957634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620006d157600080fd5b81516001600160a01b03811681146200054557600080fd5b60008219821115620006ff57620006ff6200054e565b500190565b611a6480620007146000396000f3fe6080604052600436106102345760003560e01c80638637b0691161012e578063d15ccc6d116100ab578063e5e31b131161006f578063e5e31b13146106ce578063ed406b47146106fe578063f2fde38b1461071d578063f887ea401461073d578063ffb54a991461075d57600080fd5b8063d15ccc6d14610617578063d321964814610637578063da00097d1461064d578063dd62ed3e1461066e578063dfa3a4fb146106b457600080fd5b8063a8aa1b31116100f2578063a8aa1b3114610572578063a9059cbb14610592578063a98227aa146105b2578063bf44891f146105eb578063bf56b3711461060157600080fd5b80638637b069146104a2578063893d20e8146104c25780638b42507f146104f45780638da5cb5b1461052457806395d89b411461054257600080fd5b806332f638e0116101bc57806370a082311161018057806370a0823114610409578063715018a61461043f578063787a051b146104565780637d1db4a514610476578063807c2d9c1461048c57600080fd5b806332f638e01461036d5780633f4218e0146103835780634a74bb02146103b3578063571ac8b0146103d35780636a76c25a146103f357600080fd5b806314b2e56c1161020357806314b2e56c146102f157806318160ddd1461030757806323b872dd1461031c5780632b112e491461033c578063313ce5671461035157600080fd5b80630445b6671461024057806306fdde0314610269578063095ea7b3146102a15780630f438df6146102d157600080fd5b3661023b57005b600080fd5b34801561024c57600080fd5b5061025660175481565b6040519081526020015b60405180910390f35b34801561027557600080fd5b50604080518082019091526006815265525953554b4160d01b60208201525b6040516102609190611704565b3480156102ad57600080fd5b506102c16102bc366004611771565b610777565b6040519015158152602001610260565b3480156102dd57600080fd5b50600f546102c19062010000900460ff1681565b3480156102fd57600080fd5b50610256600d5481565b34801561031357600080fd5b50600354610256565b34801561032857600080fd5b506102c161033736600461179d565b6107e4565b34801561034857600080fd5b506102566108a6565b34801561035d57600080fd5b5060405160128152602001610260565b34801561037957600080fd5b50610256600a5481565b34801561038f57600080fd5b506102c161039e3660046117de565b60086020526000908152604090205460ff1681565b3480156103bf57600080fd5b506016546102c19062010000900460ff1681565b3480156103df57600080fd5b506102c16103ee3660046117de565b610917565b3480156103ff57600080fd5b50610256600c5481565b34801561041557600080fd5b506102566104243660046117de565b6001600160a01b031660009081526004602052604090205490565b34801561044b57600080fd5b50610454610925565b005b34801561046257600080fd5b506104546104713660046117fb565b6109a2565b34801561048257600080fd5b5061025660065481565b34801561049857600080fd5b5061025660075481565b3480156104ae57600080fd5b506102c16104bd366004611771565b610a14565b3480156104ce57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610260565b34801561050057600080fd5b506102c161050f3660046117de565b60096020526000908152604090205460ff1681565b34801561053057600080fd5b506000546001600160a01b03166104dc565b34801561054e57600080fd5b5060408051808201909152600781526624525953554b4160c81b6020820152610294565b34801561057e57600080fd5b506013546104dc906001600160a01b031681565b34801561059e57600080fd5b506102c16105ad366004611771565b610b08565b3480156105be57600080fd5b506102c16105cd3660046117de565b6001600160a01b031660009081526001602052604090205460ff1690565b3480156105f757600080fd5b50610256600b5481565b34801561060d57600080fd5b5061025660155481565b34801561062357600080fd5b50610454610632366004611814565b610b15565b34801561064357600080fd5b50610256600e5481565b34801561065957600080fd5b506016546102c1906301000000900460ff1681565b34801561067a57600080fd5b50610256610689366004611846565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b3480156106c057600080fd5b50600f546102c19060ff1681565b3480156106da57600080fd5b506102c16106e93660046117de565b60146020526000908152604090205460ff1681565b34801561070a57600080fd5b50600f546102c190610100900460ff1681565b34801561072957600080fd5b506104546107383660046117de565b610b99565b34801561074957600080fd5b506012546104dc906001600160a01b031681565b34801561076957600080fd5b506016546102c19060ff1681565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107d29086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260056020908152604080832033845290915281205460001914610891576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260058252838120338252909152919091205461086c918490610ce2565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b61089c848484610d1c565b90505b9392505050565b60046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec5461dead60009081527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd54600354919261091292909161090c9190610fba565b90610fba565b905090565b60006107de82600019610777565b6000546001600160a01b031633146109585760405162461bcd60e51b815260040161094f9061187f565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109cc5760405162461bcd60e51b815260040161094f9061187f565b47336108fc60646109dd85856118ca565b6109e791906118e9565b6040518115909202916000818181858888f19350505050158015610a0f573d6000803e3d6000fd5b505050565b600080546001600160a01b03163314610a3f5760405162461bcd60e51b815260040161094f9061187f565b306001600160a01b03841603610a975760405162461bcd60e51b815260206004820152601c60248201527f43616e742072656d6f766520746865206e617469766520746f6b656e00000000604482015260640161094f565b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610ae4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089f919061190b565b600061089f338484610d1c565b3360009081526001602052604090205460ff16610b5d5760405162461bcd60e51b815260040161094f9060208082526004908201526310a524a760e11b604082015260600190565b600a849055600b839055600c829055610b8082610b7a8686610c83565b90610c83565b600d819055610b9090829061192d565b600e5550505050565b6000546001600160a01b03163314610bc35760405162461bcd60e51b815260040161094f9061187f565b6001600160a01b038116610c285760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161094f565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600080610c90838561192d565b90508381101561089f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161094f565b60008184841115610d065760405162461bcd60e51b815260040161094f9190611704565b506000610d138486611945565b95945050505050565b601654600090610100900460ff1615610d4157610d3a848484610ffc565b905061089f565b6001600160a01b03841660009081526001602052604090205460ff16158015610d8357506001600160a01b03831660009081526001602052604090205460ff16155b15610db45760165460ff16610db45760405162461bcd60e51b8152602060048201526000602482015260440161094f565b6001600160a01b03831660009081526014602052604090205460ff168015610de45750601654610100900460ff16155b8015610df8575060165462010000900460ff165b8015610e1557506017543060009081526004602052604090205410155b15610e2257610e226110e2565b601554158015610e4a57506001600160a01b03831660009081526014602052604090205460ff165b15610e97576001600160a01b038416600090815260046020526040902054610e8e5760405162461bcd60e51b8152602060048201526000602482015260440161094f565b610e9743601555565b604080516020808201835260008083526001600160a01b038816815260049091529190912054610ec8918490610ce2565b6001600160a01b038516600090815260046020908152604080832093909355600890529081205460ff16158015610f1857506001600160a01b03841660009081526008602052604090205460ff16155b610f225782610f2d565b610f2d8585856114a8565b6001600160a01b038516600090815260046020526040902054909150610f539082610c83565b6001600160a01b0380861660008181526004602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fa79085815260200190565b60405180910390a3506001949350505050565b600061089f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ce2565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260049091529182205461104d918490610ce2565b6001600160a01b03808616600090815260046020526040808220939093559085168152205461107c9083610c83565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110d09086815260200190565b60405180910390a35060019392505050565b6016805461ff00191661010017905530600090815260046020526040812054600d54600a549192916111259160029161111f919082908790611617565b90611699565b905060006111338383610fba565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061116d5761116d61195c565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ea9190611972565b816001815181106111fd576111fd61195c565b6001600160a01b03928316602091820292909201015260125460405163791ac94760e01b815291169063791ac9479061124390859060009086903090429060040161198f565b600060405180830381600087803b15801561125d57600080fd5b505af1158015611271573d6000803e3d6000fd5b5050600a54479250600091506112959061128c906002611699565b600d5490610fba565b905060006112b7600261111f8461111f600a548861161790919063ffffffff16565b905060006112d48361111f600b548761161790919063ffffffff16565b905060006112f18461111f600c548861161790919063ffffffff16565b6010546040519192506000916001600160a01b039091169061753090859084818181858888f193505050503d8060008114611348576040519150601f19603f3d011682016040523d82523d6000602084013e61134d565b606091505b5050601154604051600093506001600160a01b03909116915061753090849084818181858888f193505050503d80600081146113a5576040519150601f19603f3d011682016040523d82523d6000602084013e6113aa565b606091505b5060009250508915905061149157601254600f5460405163f305d71960e01b8152306004820152602481018c905260006044820181905260648201526001600160a01b036301000000909204821660848201524260a482015291169063f305d71990869060c40160606040518083038185885af115801561142f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906114549190611a00565b505060408051868152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506016805461ff00191690555050505050505050565b6001600160a01b038216600090815260146020526040812054819060ff1680156114d95750600f54610100900460ff165b156114e35750600e545b6001600160a01b03851660009081526014602052604090205460ff16801561150d5750600f5460ff165b156115175750600d545b6001600160a01b03851660009081526014602052604090205460ff1615801561155957506001600160a01b03841660009081526014602052604090205460ff16155b1561157c57600f5462010000900460ff16156115785750600e5461157c565b5060005b600061158d606461111f8685611617565b306000908152600460205260409020549091506115aa9082610c83565b30600081815260046020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115fb9085815260200190565b60405180910390a361160d8482610fba565b9695505050505050565b600082600003611629575060006107de565b600061163583856118ca565b90508261164285836118e9565b1461089f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161094f565b600061089f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836116f75760405162461bcd60e51b815260040161094f9190611704565b506000610d1384866118e9565b600060208083528351808285015260005b8181101561173157858101830151858201604001528201611715565b81811115611743576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461176e57600080fd5b50565b6000806040838503121561178457600080fd5b823561178f81611759565b946020939093013593505050565b6000806000606084860312156117b257600080fd5b83356117bd81611759565b925060208401356117cd81611759565b929592945050506040919091013590565b6000602082840312156117f057600080fd5b813561089f81611759565b60006020828403121561180d57600080fd5b5035919050565b6000806000806080858703121561182a57600080fd5b5050823594602084013594506040840135936060013592509050565b6000806040838503121561185957600080fd5b823561186481611759565b9150602083013561187481611759565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156118e4576118e46118b4565b500290565b60008261190657634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561191d57600080fd5b8151801515811461089f57600080fd5b60008219821115611940576119406118b4565b500190565b600082821015611957576119576118b4565b500390565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561198457600080fd5b815161089f81611759565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119df5784516001600160a01b0316835293830193918301916001016119ba565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611a1557600080fd5b835192506020840151915060408401519050925092509256fea264697066735822122020b01d3f220bc64586651377988ac38e2fad53a51f7f2abc068248f97ba3312d64736f6c634300080e0033
Deployed Bytecode
0x6080604052600436106102345760003560e01c80638637b0691161012e578063d15ccc6d116100ab578063e5e31b131161006f578063e5e31b13146106ce578063ed406b47146106fe578063f2fde38b1461071d578063f887ea401461073d578063ffb54a991461075d57600080fd5b8063d15ccc6d14610617578063d321964814610637578063da00097d1461064d578063dd62ed3e1461066e578063dfa3a4fb146106b457600080fd5b8063a8aa1b31116100f2578063a8aa1b3114610572578063a9059cbb14610592578063a98227aa146105b2578063bf44891f146105eb578063bf56b3711461060157600080fd5b80638637b069146104a2578063893d20e8146104c25780638b42507f146104f45780638da5cb5b1461052457806395d89b411461054257600080fd5b806332f638e0116101bc57806370a082311161018057806370a0823114610409578063715018a61461043f578063787a051b146104565780637d1db4a514610476578063807c2d9c1461048c57600080fd5b806332f638e01461036d5780633f4218e0146103835780634a74bb02146103b3578063571ac8b0146103d35780636a76c25a146103f357600080fd5b806314b2e56c1161020357806314b2e56c146102f157806318160ddd1461030757806323b872dd1461031c5780632b112e491461033c578063313ce5671461035157600080fd5b80630445b6671461024057806306fdde0314610269578063095ea7b3146102a15780630f438df6146102d157600080fd5b3661023b57005b600080fd5b34801561024c57600080fd5b5061025660175481565b6040519081526020015b60405180910390f35b34801561027557600080fd5b50604080518082019091526006815265525953554b4160d01b60208201525b6040516102609190611704565b3480156102ad57600080fd5b506102c16102bc366004611771565b610777565b6040519015158152602001610260565b3480156102dd57600080fd5b50600f546102c19062010000900460ff1681565b3480156102fd57600080fd5b50610256600d5481565b34801561031357600080fd5b50600354610256565b34801561032857600080fd5b506102c161033736600461179d565b6107e4565b34801561034857600080fd5b506102566108a6565b34801561035d57600080fd5b5060405160128152602001610260565b34801561037957600080fd5b50610256600a5481565b34801561038f57600080fd5b506102c161039e3660046117de565b60086020526000908152604090205460ff1681565b3480156103bf57600080fd5b506016546102c19062010000900460ff1681565b3480156103df57600080fd5b506102c16103ee3660046117de565b610917565b3480156103ff57600080fd5b50610256600c5481565b34801561041557600080fd5b506102566104243660046117de565b6001600160a01b031660009081526004602052604090205490565b34801561044b57600080fd5b50610454610925565b005b34801561046257600080fd5b506104546104713660046117fb565b6109a2565b34801561048257600080fd5b5061025660065481565b34801561049857600080fd5b5061025660075481565b3480156104ae57600080fd5b506102c16104bd366004611771565b610a14565b3480156104ce57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610260565b34801561050057600080fd5b506102c161050f3660046117de565b60096020526000908152604090205460ff1681565b34801561053057600080fd5b506000546001600160a01b03166104dc565b34801561054e57600080fd5b5060408051808201909152600781526624525953554b4160c81b6020820152610294565b34801561057e57600080fd5b506013546104dc906001600160a01b031681565b34801561059e57600080fd5b506102c16105ad366004611771565b610b08565b3480156105be57600080fd5b506102c16105cd3660046117de565b6001600160a01b031660009081526001602052604090205460ff1690565b3480156105f757600080fd5b50610256600b5481565b34801561060d57600080fd5b5061025660155481565b34801561062357600080fd5b50610454610632366004611814565b610b15565b34801561064357600080fd5b50610256600e5481565b34801561065957600080fd5b506016546102c1906301000000900460ff1681565b34801561067a57600080fd5b50610256610689366004611846565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b3480156106c057600080fd5b50600f546102c19060ff1681565b3480156106da57600080fd5b506102c16106e93660046117de565b60146020526000908152604090205460ff1681565b34801561070a57600080fd5b50600f546102c190610100900460ff1681565b34801561072957600080fd5b506104546107383660046117de565b610b99565b34801561074957600080fd5b506012546104dc906001600160a01b031681565b34801561076957600080fd5b506016546102c19060ff1681565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107d29086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260056020908152604080832033845290915281205460001914610891576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260058252838120338252909152919091205461086c918490610ce2565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b61089c848484610d1c565b90505b9392505050565b60046020527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec5461dead60009081527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd54600354919261091292909161090c9190610fba565b90610fba565b905090565b60006107de82600019610777565b6000546001600160a01b031633146109585760405162461bcd60e51b815260040161094f9061187f565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109cc5760405162461bcd60e51b815260040161094f9061187f565b47336108fc60646109dd85856118ca565b6109e791906118e9565b6040518115909202916000818181858888f19350505050158015610a0f573d6000803e3d6000fd5b505050565b600080546001600160a01b03163314610a3f5760405162461bcd60e51b815260040161094f9061187f565b306001600160a01b03841603610a975760405162461bcd60e51b815260206004820152601c60248201527f43616e742072656d6f766520746865206e617469766520746f6b656e00000000604482015260640161094f565b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610ae4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089f919061190b565b600061089f338484610d1c565b3360009081526001602052604090205460ff16610b5d5760405162461bcd60e51b815260040161094f9060208082526004908201526310a524a760e11b604082015260600190565b600a849055600b839055600c829055610b8082610b7a8686610c83565b90610c83565b600d819055610b9090829061192d565b600e5550505050565b6000546001600160a01b03163314610bc35760405162461bcd60e51b815260040161094f9061187f565b6001600160a01b038116610c285760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161094f565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600080610c90838561192d565b90508381101561089f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161094f565b60008184841115610d065760405162461bcd60e51b815260040161094f9190611704565b506000610d138486611945565b95945050505050565b601654600090610100900460ff1615610d4157610d3a848484610ffc565b905061089f565b6001600160a01b03841660009081526001602052604090205460ff16158015610d8357506001600160a01b03831660009081526001602052604090205460ff16155b15610db45760165460ff16610db45760405162461bcd60e51b8152602060048201526000602482015260440161094f565b6001600160a01b03831660009081526014602052604090205460ff168015610de45750601654610100900460ff16155b8015610df8575060165462010000900460ff165b8015610e1557506017543060009081526004602052604090205410155b15610e2257610e226110e2565b601554158015610e4a57506001600160a01b03831660009081526014602052604090205460ff165b15610e97576001600160a01b038416600090815260046020526040902054610e8e5760405162461bcd60e51b8152602060048201526000602482015260440161094f565b610e9743601555565b604080516020808201835260008083526001600160a01b038816815260049091529190912054610ec8918490610ce2565b6001600160a01b038516600090815260046020908152604080832093909355600890529081205460ff16158015610f1857506001600160a01b03841660009081526008602052604090205460ff16155b610f225782610f2d565b610f2d8585856114a8565b6001600160a01b038516600090815260046020526040902054909150610f539082610c83565b6001600160a01b0380861660008181526004602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fa79085815260200190565b60405180910390a3506001949350505050565b600061089f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ce2565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260049091529182205461104d918490610ce2565b6001600160a01b03808616600090815260046020526040808220939093559085168152205461107c9083610c83565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110d09086815260200190565b60405180910390a35060019392505050565b6016805461ff00191661010017905530600090815260046020526040812054600d54600a549192916111259160029161111f919082908790611617565b90611699565b905060006111338383610fba565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061116d5761116d61195c565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ea9190611972565b816001815181106111fd576111fd61195c565b6001600160a01b03928316602091820292909201015260125460405163791ac94760e01b815291169063791ac9479061124390859060009086903090429060040161198f565b600060405180830381600087803b15801561125d57600080fd5b505af1158015611271573d6000803e3d6000fd5b5050600a54479250600091506112959061128c906002611699565b600d5490610fba565b905060006112b7600261111f8461111f600a548861161790919063ffffffff16565b905060006112d48361111f600b548761161790919063ffffffff16565b905060006112f18461111f600c548861161790919063ffffffff16565b6010546040519192506000916001600160a01b039091169061753090859084818181858888f193505050503d8060008114611348576040519150601f19603f3d011682016040523d82523d6000602084013e61134d565b606091505b5050601154604051600093506001600160a01b03909116915061753090849084818181858888f193505050503d80600081146113a5576040519150601f19603f3d011682016040523d82523d6000602084013e6113aa565b606091505b5060009250508915905061149157601254600f5460405163f305d71960e01b8152306004820152602481018c905260006044820181905260648201526001600160a01b036301000000909204821660848201524260a482015291169063f305d71990869060c40160606040518083038185885af115801561142f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906114549190611a00565b505060408051868152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506016805461ff00191690555050505050505050565b6001600160a01b038216600090815260146020526040812054819060ff1680156114d95750600f54610100900460ff165b156114e35750600e545b6001600160a01b03851660009081526014602052604090205460ff16801561150d5750600f5460ff165b156115175750600d545b6001600160a01b03851660009081526014602052604090205460ff1615801561155957506001600160a01b03841660009081526014602052604090205460ff16155b1561157c57600f5462010000900460ff16156115785750600e5461157c565b5060005b600061158d606461111f8685611617565b306000908152600460205260409020549091506115aa9082610c83565b30600081815260046020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115fb9085815260200190565b60405180910390a361160d8482610fba565b9695505050505050565b600082600003611629575060006107de565b600061163583856118ca565b90508261164285836118e9565b1461089f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161094f565b600061089f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836116f75760405162461bcd60e51b815260040161094f9190611704565b506000610d1384866118e9565b600060208083528351808285015260005b8181101561173157858101830151858201604001528201611715565b81811115611743576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461176e57600080fd5b50565b6000806040838503121561178457600080fd5b823561178f81611759565b946020939093013593505050565b6000806000606084860312156117b257600080fd5b83356117bd81611759565b925060208401356117cd81611759565b929592945050506040919091013590565b6000602082840312156117f057600080fd5b813561089f81611759565b60006020828403121561180d57600080fd5b5035919050565b6000806000806080858703121561182a57600080fd5b5050823594602084013594506040840135936060013592509050565b6000806040838503121561185957600080fd5b823561186481611759565b9150602083013561187481611759565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156118e4576118e46118b4565b500290565b60008261190657634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561191d57600080fd5b8151801515811461089f57600080fd5b60008219821115611940576119406118b4565b500190565b600082821015611957576119576118b4565b500390565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561198457600080fd5b815161089f81611759565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119df5784516001600160a01b0316835293830193918301916001016119ba565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611a1557600080fd5b835192506020840151915060408401519050925092509256fea264697066735822122020b01d3f220bc64586651377988ac38e2fad53a51f7f2abc068248f97ba3312d64736f6c634300080e0033
Deployed Bytecode Sourcemap
4970:10663:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6564:58;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;6564:58:0;;;;;;;;7960:94;;;;;;;;;;-1:-1:-1;8041:5:0;;;;;;;;;;;;-1:-1:-1;;;8041:5:0;;;;7960:94;;;;;;;:::i;8955:248::-;;;;;;;;;;-1:-1:-1;8955:248:0;;;;;:::i;:::-;;:::i;:::-;;;1419:14:1;;1412:22;1394:41;;1382:2;1367:18;8955:248:0;1254:187:1;6104:22:0;;;;;;;;;;-1:-1:-1;6104:22:0;;;;;;;;;;;5976:25;;;;;;;;;;;;;;;;8270:102;;;;;;;;;;-1:-1:-1;8352:12:0;;8270:102;;11436:422;;;;;;;;;;-1:-1:-1;11436:422:0;;;;;:::i;:::-;;:::i;8805:142::-;;;;;;;;;;;;;:::i;8168:94::-;;;;;;;;;;-1:-1:-1;8168:94:0;;5428:2;2049:36:1;;2037:2;2022:18;8168:94:0;1907:184:1;5865:24:0;;;;;;;;;;;;;;;;5759:43;;;;;;;;;;-1:-1:-1;5759:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6463:40;;;;;;;;;;-1:-1:-1;6463:40:0;;;;;;;;;;;10113:122;;;;;;;;;;-1:-1:-1;10113:122:0;;;;;:::i;:::-;;:::i;5934:33::-;;;;;;;;;;;;;;;;8482:119;;;;;;;;;;-1:-1:-1;8482:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;8575:18:0;8548:7;8575:18;;;:9;:18;;;;;;;8482:119;4526:148;;;;;;;;;;;;;:::i;:::-;;9902:203;;;;;;;;;;-1:-1:-1;9902:203:0;;;;;:::i;:::-;;:::i;5633:56::-;;;;;;;;;;;;;;;;5696:54;;;;;;;;;;;;;;;;9607:287;;;;;;;;;;-1:-1:-1;9607:287:0;;;;;:::i;:::-;;:::i;8380:94::-;;;;;;;;;;-1:-1:-1;8432:7:0;4195:6;-1:-1:-1;;;;;4195:6:0;8380:94;;;-1:-1:-1;;;;;2697:32:1;;;2679:51;;2667:2;2652:18;8380:94:0;2533:203:1;5809:47:0;;;;;;;;;;-1:-1:-1;5809:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4130:79;;;;;;;;;;-1:-1:-1;4168:7:0;4195:6;-1:-1:-1;;;;;4195:6:0;4130:79;;8062:98;;;;;;;;;;-1:-1:-1;8145:7:0;;;;;;;;;;;;-1:-1:-1;;;8145:7:0;;;;8062:98;;6283:19;;;;;;;;;;-1:-1:-1;6283:19:0;;;;-1:-1:-1;;;;;6283:19:0;;;10831:188;;;;;;;;;;-1:-1:-1;10831:188:0;;;;;:::i;:::-;;:::i;4421:93::-;;;;;;;;;;-1:-1:-1;4421:93:0;;;;;:::i;:::-;-1:-1:-1;;;;;4494:12:0;4470:4;4494:12;;;:7;:12;;;;;;;;;4421:93;5896:31;;;;;;;;;;;;;;;;6356:25;;;;;;;;;;;;;;;;9211:386;;;;;;;;;;-1:-1:-1;9211:386:0;;;;;:::i;:::-;;:::i;6008:29::-;;;;;;;;;;;;;;;;6510:45;;;;;;;;;;-1:-1:-1;6510:45:0;;;;;;;;;;;8609:188;;;;;;;;;;-1:-1:-1;8609:188:0;;;;;:::i;:::-;-1:-1:-1;;;;;8761:19:0;;;8729:7;8761:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;8609:188;6046:22;;;;;;;;;;-1:-1:-1;6046:22:0;;;;;;;;6309:38;;;;;;;;;;-1:-1:-1;6309:38:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6075:22;;;;;;;;;;-1:-1:-1;6075:22:0;;;;;;;;;;;4682:281;;;;;;;;;;-1:-1:-1;4682:281:0;;;;;:::i;:::-;;:::i;6253:23::-;;;;;;;;;;-1:-1:-1;6253:23:0;;;;-1:-1:-1;;;;;6253:23:0;;;6390:30;;;;;;;;;;-1:-1:-1;6390:30:0;;;;;;;;8955:248;9091:10;9057:4;9079:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;9079:32:0;;;;;;;;;;:41;;;9136:37;9057:4;;9079:32;;9136:37;;;;9114:6;160:25:1;;148:2;133:18;;14:177;9136:37:0;;;;;;;;-1:-1:-1;9191:4:0;8955:248;;;;;:::o;11436:422::-;-1:-1:-1;;;;;11591:19:0;;11570:4;11591:19;;;:11;:19;;;;;;;;11611:10;11591:31;;;;;;;;-1:-1:-1;;11591:52:0;11587:206;;11694:87;;;;;;;;;;;-1:-1:-1;;;11694:87:0;;;;;;;;-1:-1:-1;;;;;11694:19:0;;-1:-1:-1;11694:19:0;;;:11;:19;;;;;11714:10;11694:31;;;;;;;;;;:87;;11748:6;;11694:53;:87::i;:::-;-1:-1:-1;;;;;11660:19:0;;;;;;:11;:19;;;;;;;;11680:10;11660:31;;;;;;;:121;11587:206;11810:40;11824:6;11832:9;11843:6;11810:13;:40::i;:::-;11803:47;;11436:422;;;;;;:::o;8805:142::-;8575:9;:18;;;;5180:42;8858:7;8575:18;;;;;8885:12;;8858:7;;8885:54;;8575:18;;8885:33;;:12;:16;:33::i;:::-;:37;;:54::i;:::-;8878:61;;8805:142;:::o;10113:122::-;10168:4;10192:35;10200:7;-1:-1:-1;;10192:7:0;:35::i;4526:148::-;4257:6;;-1:-1:-1;;;;;4257:6:0;3555:10;4257:22;4249:67;;;;-1:-1:-1;;;4249:67:0;;;;;;;:::i;:::-;;;;;;;;;4633:1:::1;4617:6:::0;;4596:40:::1;::::0;-1:-1:-1;;;;;4617:6:0;;::::1;::::0;4596:40:::1;::::0;4633:1;;4596:40:::1;4664:1;4647:19:::0;;-1:-1:-1;;;;;;4647:19:0::1;::::0;;4526:148::o;9902:203::-;4257:6;;-1:-1:-1;;;;;4257:6:0;3555:10;4257:22;4249:67;;;;-1:-1:-1;;;4249:67:0;;;;;;;:::i;:::-;9999:21:::1;10039:10;10031:66;10093:3;10061:28;10073:16:::0;9999:21;10061:28:::1;:::i;:::-;10060:36;;;;:::i;:::-;10031:66;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;9968:137;9902:203:::0;:::o;9607:287::-;9719:12;4257:6;;-1:-1:-1;;;;;4257:6:0;3555:10;4257:22;4249:67;;;;-1:-1:-1;;;4249:67:0;;;;;;;:::i;:::-;9781:4:::1;-1:-1:-1::0;;;;;9757:29:0;::::1;::::0;9749:70:::1;;;::::0;-1:-1:-1;;;9749:70:0;;4839:2:1;9749:70:0::1;::::0;::::1;4821:21:1::0;4878:2;4858:18;;;4851:30;4917;4897:18;;;4890:58;4965:18;;9749:70:0::1;4637:352:1::0;9749:70:0::1;9837:49;::::0;-1:-1:-1;;;9837:49:0;;9867:10:::1;9837:49;::::0;::::1;5168:51:1::0;5235:18;;;5228:34;;;-1:-1:-1;;;;;9837:29:0;::::1;::::0;::::1;::::0;5141:18:1;;9837:49:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;10831:188::-:0;10938:4;10967:44;10981:10;10993:9;11004:6;10967:13;:44::i;9211:386::-;4382:10;4470:4;4494:12;;;:7;:12;;;;;;;;4368:34;;;;-1:-1:-1;;;4368:34:0;;;;;;5757:2:1;5739:21;;;5796:1;5776:18;;;5769:29;-1:-1:-1;;;5829:2:1;5814:18;;5807:34;5873:2;5858:18;;5555:327;4368:34:0;9386:5:::1;:16:::0;;;9413:12:::1;:27:::0;;;9451:14:::1;:34:::0;;;9507:43:::1;9468:17:::0;9507:23:::1;9394:8:::0;9428:12;9507:9:::1;:23::i;:::-;:27:::0;::::1;:43::i;:::-;9498:6;:52:::0;;;9574:15:::1;::::0;9583:6;;9574:15:::1;:::i;:::-;9561:10;:28:::0;-1:-1:-1;;;;9211:386:0:o;4682:281::-;4257:6;;-1:-1:-1;;;;;4257:6:0;3555:10;4257:22;4249:67;;;;-1:-1:-1;;;4249:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4785:22:0;::::1;4763:110;;;::::0;-1:-1:-1;;;4763:110:0;;6222:2:1;4763:110:0::1;::::0;::::1;6204:21:1::0;6261:2;6241:18;;;6234:30;6300:34;6280:18;;;6273:62;-1:-1:-1;;;6351:18:1;;;6344:36;6397:19;;4763:110:0::1;6020:402:1::0;4763:110:0::1;4910:6;::::0;;4889:38:::1;::::0;-1:-1:-1;;;;;4889:38:0;;::::1;::::0;4910:6;::::1;::::0;4889:38:::1;::::0;::::1;4938:6;:17:::0;;-1:-1:-1;;;;;;4938:17:0::1;-1:-1:-1::0;;;;;4938:17:0;;;::::1;::::0;;;::::1;::::0;;4682:281::o;315:179::-;373:7;;405:5;409:1;405;:5;:::i;:::-;393:17;;434:1;429;:6;;421:46;;;;-1:-1:-1;;;421:46:0;;6629:2:1;421:46:0;;;6611:21:1;6668:2;6648:18;;;6641:30;6707:29;6687:18;;;6680:57;6754:18;;421:46:0;6427:351:1;646:224:0;766:7;802:12;794:6;;;;786:29;;;;-1:-1:-1;;;786:29:0;;;;;;;;:::i;:::-;-1:-1:-1;826:9:0;838:5;842:1;838;:5;:::i;:::-;826:17;646:224;-1:-1:-1;;;;;646:224:0:o;11866:1170::-;12013:16;;11992:4;;12013:16;;;;;12009:97;;;12053:41;12068:6;12076:9;12087:6;12053:14;:41::i;:::-;12046:48;;;;12009:97;-1:-1:-1;;;;;12121:15:0;;;;;;:7;:15;;;;;;;;12120:16;:39;;;;-1:-1:-1;;;;;;12141:18:0;;;;;;:7;:18;;;;;;;;12140:19;12120:39;12116:96;;;12184:11;;;;12176:24;;;;-1:-1:-1;;;12176:24:0;;7115:2:1;12176:24:0;;;7097:21:1;-1:-1:-1;7134:18:1;;;7127:29;7173:18;;12176:24:0;6913:284:1;12176:24:0;-1:-1:-1;;;;;12240:17:0;;;;;;:6;:17;;;;;;;;:51;;;;-1:-1:-1;12275:16:0;;;;;;;12274:17;12240:51;:89;;;;-1:-1:-1;12308:21:0;;;;;;;12240:89;:147;;;;-1:-1:-1;12374:13:0;;12364:4;12346:24;;;;:9;:24;;;;;;:41;;12240:147;12222:221;;;12414:17;:15;:17::i;:::-;10310:10;;:15;;;12457:32;;-1:-1:-1;;;;;;12472:17:0;;;;;;:6;:17;;;;;;;;12457:32;12453:122;;;-1:-1:-1;;;;;12514:17:0;;12534:1;12514:17;;;:9;:17;;;;;;12506:34;;;;-1:-1:-1;;;12506:34:0;;7115:2:1;12506:34:0;;;7097:21:1;-1:-1:-1;7134:18:1;;;7127:29;7173:18;;12506:34:0;6913:284:1;12506:34:0;12555:8;10392:12;10379:10;:25;10341:71;12555:8;12634:33;;;;;;;;;-1:-1:-1;12634:33:0;;;-1:-1:-1;;;;;12634:17:0;;;;:9;:17;;;;;;;;:33;;12656:6;;12634:21;:33::i;:::-;-1:-1:-1;;;;;12614:17:0;;;;;;:9;:17;;;;;;;;:53;;;;12760:11;:19;;;;;;;;12759:20;:47;;;;-1:-1:-1;;;;;;12784:22:0;;;;;;:11;:22;;;;;;;;12783:23;12759:47;:118;;12871:6;12759:118;;;12822:33;12829:6;12837:9;12848:6;12822;:33::i;:::-;-1:-1:-1;;;;;12911:20:0;;;;;;:9;:20;;;;;;12737:140;;-1:-1:-1;12911:37:0;;12737:140;12911:24;:37::i;:::-;-1:-1:-1;;;;;12888:20:0;;;;;;;:9;:20;;;;;;;:60;;;;12966:40;;;;;;;;;;12994:11;160:25:1;;148:2;133:18;;14:177;12966:40:0;;;;;;;;-1:-1:-1;13024:4:0;;11866:1170;-1:-1:-1;;;;11866:1170:0:o;502:136::-;560:7;587:43;591:1;594;587:43;;;;;;;;;;;;;;;;;:3;:43::i;11027:401::-;11191:90;;;;;;;;;;;-1:-1:-1;;;11191:90:0;;;;;;;;-1:-1:-1;;;;;11191:17:0;;11154:4;11191:17;;;:9;:17;;;;;;;:90;;11227:6;;11191:21;:90::i;:::-;-1:-1:-1;;;;;11171:17:0;;;;;;;:9;:17;;;;;;:110;;;;11315:20;;;;;;;:32;;11340:6;11315:24;:32::i;:::-;-1:-1:-1;;;;;11292:20:0;;;;;;;:9;:20;;;;;;;:55;;;;11363:35;;;;;;;;;;11391:6;160:25:1;;148:2;133:18;;14:177;11363:35:0;;;;;;;;-1:-1:-1;11416:4:0;11027:401;;;;;:::o;13855:1773::-;6729:16;:23;;-1:-1:-1;;6729:23:0;;;;;13958:4:::1;6729:23:::0;13940:24;;;:9:::1;:24;::::0;;;;;14060:6:::1;::::0;14035:5:::1;::::0;13940:24;;6729:23;14001:87:::1;::::0;14086:1:::1;::::0;14001:66:::1;::::0;14060:6;14001:66;;13940:24;;14001:33:::1;:40::i;:::-;:58:::0;::::1;:66::i;:87::-;13975:113:::0;-1:-1:-1;14099:20:0::1;14122:36;:15:::0;13975:113;14122:19:::1;:36::i;:::-;14195:16;::::0;;14209:1:::1;14195:16:::0;;;;;::::1;::::0;;14099:59;;-1:-1:-1;14171:21:0::1;::::0;14195:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;14195:16:0::1;14171:40;;14240:4;14222;14227:1;14222:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14222:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;14266:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;14266:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;14222:7;;14266:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14256:4;14261:1;14256:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14256:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;14292:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;14292:188:0;;:6;::::1;::::0;:57:::1;::::0;:188:::1;::::0;14364:12;;14292:6:::1;::::0;14407:4;;14434::::1;::::0;14454:15:::1;::::0;14292:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;14580:5:0::1;::::0;14513:21:::1;::::0;-1:-1:-1;14493:17:0::1;::::0;-1:-1:-1;14569:24:0::1;::::0;14580:12:::1;::::0;14590:1:::1;14580:9;:12::i;:::-;14569:6;::::0;;:10:::1;:24::i;:::-;14547:46;;14606:26;14635:86;14719:1;14635:65;14688:11;14635:34;14663:5;;14635:9;:27;;:34;;;;:::i;:86::-;14606:115;;14732:26;14761:68;14807:11;14761:27;14775:12;;14761:9;:13;;:27;;;;:::i;:68::-;14732:97;;14840:20;14863:46;14897:11;14863:29;14877:14;;14863:9;:13;;:29;;;;:::i;:46::-;14953:17;::::0;14945:111:::1;::::0;14840:69;;-1:-1:-1;14923:16:0::1;::::0;-1:-1:-1;;;;;14953:17:0;;::::1;::::0;15036:5:::1;::::0;14998:18;;14923:16;14945:111;14923:16;14945:111;14998:18;14953:17;15036:5;14945:111:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;15125:15:0::1;::::0;15117:103:::1;::::0;15081:5:::1;::::0;-1:-1:-1;;;;;;15125:15:0;;::::1;::::0;-1:-1:-1;15200:5:0::1;::::0;15168:12;;15081:5;15117:103;15081:5;15117:103;15168:12;15125:15;15200:5;15117:103:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;15245:5:0::1;::::0;-1:-1:-1;;15267:19:0;;;-1:-1:-1;15263:358:0::1;;15303:6;::::0;15477:15:::1;::::0;15303:238:::1;::::0;-1:-1:-1;;;15303:238:0;;15379:4:::1;15303:238;::::0;::::1;9258:34:1::0;9308:18;;;9301:34;;;-1:-1:-1;9351:18:1;;;9344:34;;;9394:18;;;9387:34;-1:-1:-1;;;;;15477:15:0;;;::::1;::::0;::::1;9437:19:1::0;;;9430:44;15511:15:0::1;9490:19:1::0;;;9483:35;15303:6:0;::::1;::::0;:22:::1;::::0;15333:18;;9192:19:1;;15303:238:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;15561:48:0::1;::::0;;10014:25:1;;;10070:2;10055:18;;10048:34;;;15561:48:0::1;::::0;-1:-1:-1;9987:18:1;15561:48:0::1;;;;;;;15263:358;-1:-1:-1::0;;6775:16:0;:24;;-1:-1:-1;;6775:24:0;;;-1:-1:-1;;;;;;;;13855:1773:0:o;13044:803::-;-1:-1:-1;;;;;13223:17:0;;13163:7;13223:17;;;:6;:17;;;;;;13163:7;;13223:17;;:24;;;;-1:-1:-1;13244:3:0;;;;;;;13223:24;13219:83;;;-1:-1:-1;13280:10:0;;13219:83;-1:-1:-1;;;;;13316:14:0;;;;;;:6;:14;;;;;;;;:21;;;;-1:-1:-1;13334:3:0;;;;13316:21;13312:76;;;-1:-1:-1;13370:6:0;;13312:76;-1:-1:-1;;;;;13403:14:0;;;;;;:6;:14;;;;;;;;13402:15;:37;;;;-1:-1:-1;;;;;;13422:17:0;;;;;;:6;:17;;;;;;;;13421:18;13402:37;13398:197;;;13460:3;;;;;;;13456:128;;;-1:-1:-1;13500:10:0;;13456:128;;;-1:-1:-1;13567:1:0;13456:128;13607:17;13627:34;13657:3;13627:25;:6;13638:13;13627:10;:25::i;:34::-;13719:4;13701:24;;;;:9;:24;;;;;;13607:54;;-1:-1:-1;13701:39:0;;13607:54;13701:28;:39::i;:::-;13692:4;13674:24;;;;:9;:24;;;;;;;:66;;;;13756:42;;-1:-1:-1;;;;;13756:42:0;;;;;;;13788:9;160:25:1;;148:2;133:18;;14:177;13756:42:0;;;;;;;;13818:21;:6;13829:9;13818:10;:21::i;:::-;13811:28;13044:803;-1:-1:-1;;;;;;13044:803:0:o;878:246::-;936:7;960:1;965;960:6;956:47;;-1:-1:-1;990:1:0;983:8;;956:47;1013:9;1025:5;1029:1;1025;:5;:::i;:::-;1013:17;-1:-1:-1;1058:1:0;1049:5;1053:1;1013:17;1049:5;:::i;:::-;:10;1041:56;;;;-1:-1:-1;;;1041:56:0;;10295:2:1;1041:56:0;;;10277:21:1;10334:2;10314:18;;;10307:30;10373:34;10353:18;;;10346:62;-1:-1:-1;;;10424:18:1;;;10417:31;10465:19;;1041:56:0;10093:397:1;1132:132:0;1190:7;1217:39;1221:1;1224;1217:39;;;;;;;;;;;;;;;;;1392:7;1427:12;1420:5;1412:28;;;;-1:-1:-1;;;1412:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1451:9:0;1463:5;1467:1;1463;:5;:::i;196:597:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;634:6;631:1;628:13;625:91;;;704:1;699:2;690:6;679:9;675:22;671:31;664:42;625:91;-1:-1:-1;777:2:1;756:15;-1:-1:-1;;752:29:1;737:45;;;;784:2;733:54;;196:597;-1:-1:-1;;;196:597:1:o;798:131::-;-1:-1:-1;;;;;873:31:1;;863:42;;853:70;;919:1;916;909:12;853:70;798:131;:::o;934:315::-;1002:6;1010;1063:2;1051:9;1042:7;1038:23;1034:32;1031:52;;;1079:1;1076;1069:12;1031:52;1118:9;1105:23;1137:31;1162:5;1137:31;:::i;:::-;1187:5;1239:2;1224:18;;;;1211:32;;-1:-1:-1;;;934:315:1:o;1446:456::-;1523:6;1531;1539;1592:2;1580:9;1571:7;1567:23;1563:32;1560:52;;;1608:1;1605;1598:12;1560:52;1647:9;1634:23;1666:31;1691:5;1666:31;:::i;:::-;1716:5;-1:-1:-1;1773:2:1;1758:18;;1745:32;1786:33;1745:32;1786:33;:::i;:::-;1446:456;;1838:7;;-1:-1:-1;;;1892:2:1;1877:18;;;;1864:32;;1446:456::o;2096:247::-;2155:6;2208:2;2196:9;2187:7;2183:23;2179:32;2176:52;;;2224:1;2221;2214:12;2176:52;2263:9;2250:23;2282:31;2307:5;2282:31;:::i;2348:180::-;2407:6;2460:2;2448:9;2439:7;2435:23;2431:32;2428:52;;;2476:1;2473;2466:12;2428:52;-1:-1:-1;2499:23:1;;2348:180;-1:-1:-1;2348:180:1:o;2741:385::-;2827:6;2835;2843;2851;2904:3;2892:9;2883:7;2879:23;2875:33;2872:53;;;2921:1;2918;2911:12;2872:53;-1:-1:-1;;2944:23:1;;;3014:2;2999:18;;2986:32;;-1:-1:-1;3065:2:1;3050:18;;3037:32;;3116:2;3101:18;3088:32;;-1:-1:-1;2741:385:1;-1:-1:-1;2741:385:1:o;3131:388::-;3199:6;3207;3260:2;3248:9;3239:7;3235:23;3231:32;3228:52;;;3276:1;3273;3266:12;3228:52;3315:9;3302:23;3334:31;3359:5;3334:31;:::i;:::-;3384:5;-1:-1:-1;3441:2:1;3426:18;;3413:32;3454:33;3413:32;3454:33;:::i;:::-;3506:7;3496:17;;;3131:388;;;;;:::o;3749:356::-;3951:2;3933:21;;;3970:18;;;3963:30;4029:34;4024:2;4009:18;;4002:62;4096:2;4081:18;;3749:356::o;4110:127::-;4171:10;4166:3;4162:20;4159:1;4152:31;4202:4;4199:1;4192:15;4226:4;4223:1;4216:15;4242:168;4282:7;4348:1;4344;4340:6;4336:14;4333:1;4330:21;4325:1;4318:9;4311:17;4307:45;4304:71;;;4355:18;;:::i;:::-;-1:-1:-1;4395:9:1;;4242:168::o;4415:217::-;4455:1;4481;4471:132;;4525:10;4520:3;4516:20;4513:1;4506:31;4560:4;4557:1;4550:15;4588:4;4585:1;4578:15;4471:132;-1:-1:-1;4617:9:1;;4415:217::o;5273:277::-;5340:6;5393:2;5381:9;5372:7;5368:23;5364:32;5361:52;;;5409:1;5406;5399:12;5361:52;5441:9;5435:16;5494:5;5487:13;5480:21;5473:5;5470:32;5460:60;;5516:1;5513;5506:12;5887:128;5927:3;5958:1;5954:6;5951:1;5948:13;5945:39;;;5964:18;;:::i;:::-;-1:-1:-1;6000:9:1;;5887:128::o;6783:125::-;6823:4;6851:1;6848;6845:8;6842:34;;;6856:18;;:::i;:::-;-1:-1:-1;6893:9:1;;6783:125::o;7334:127::-;7395:10;7390:3;7386:20;7383:1;7376:31;7426:4;7423:1;7416:15;7450:4;7447:1;7440:15;7466:251;7536:6;7589:2;7577:9;7568:7;7564:23;7560:32;7557:52;;;7605:1;7602;7595:12;7557:52;7637:9;7631:16;7656:31;7681:5;7656:31;:::i;7722:980::-;7984:4;8032:3;8021:9;8017:19;8063:6;8052:9;8045:25;8089:2;8127:6;8122:2;8111:9;8107:18;8100:34;8170:3;8165:2;8154:9;8150:18;8143:31;8194:6;8229;8223:13;8260:6;8252;8245:22;8298:3;8287:9;8283:19;8276:26;;8337:2;8329:6;8325:15;8311:29;;8358:1;8368:195;8382:6;8379:1;8376:13;8368:195;;;8447:13;;-1:-1:-1;;;;;8443:39:1;8431:52;;8538:15;;;;8503:12;;;;8479:1;8397:9;8368:195;;;-1:-1:-1;;;;;;;8619:32:1;;;;8614:2;8599:18;;8592:60;-1:-1:-1;;;8683:3:1;8668:19;8661:35;8580:3;7722:980;-1:-1:-1;;;7722:980:1:o;9529:306::-;9617:6;9625;9633;9686:2;9674:9;9665:7;9661:23;9657:32;9654:52;;;9702:1;9699;9692:12;9654:52;9731:9;9725:16;9715:26;;9781:2;9770:9;9766:18;9760:25;9750:35;;9825:2;9814:9;9810:18;9804:25;9794:35;;9529:306;;;;;:::o
Swarm Source
ipfs://20b01d3f220bc64586651377988ac38e2fad53a51f7f2abc068248f97ba3312d
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.