ERC-20
Overview
Max Total Supply
1,000,000 DJI
Holders
42
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
5,094.358924145379038751 DJIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
dontjeetinu
Compiler Version
v0.8.13+commit.abaa5c0e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-12-29 */ // SPDX-License-Identifier: Unlicensed /** * DONT JEET SERS I DEPLOY TWITTER RAIDERS AND GET CMC DEXT TRENDING! * * Join us sers on this undertaking to discourage and dispel the jeets.. * $DJI - Dont Jeet Inu features a unique, safu contract that discourages jeeting! * * If you jeet within the first 2 hours, you will incur a 12% sell fee * If you jeet 2-12 hours after your last tx, your sell fee will be 9% * If you jeet after 12-24 hours, your sell fee will be 6% * If you manage to HODL more than 24 hours, your sell fee will be reduced to 3% * * ALL BUY FEES 3% * * All fees will be used to rekt jeets and reward diamond ballz * * t.me/dontjeetinu * twitter.com/dontjeetinu */ pragma solidity 0.8.13; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } /** * Standard SafeMath, stripped down to just add/sub/mul/div */ 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) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } } /** * ERC20 standard interface. */ 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); } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDEXRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract dontjeetinu is IERC20, Ownable { using SafeMath for uint256; string private constant _name = "Dont Jeet Inu"; string private constant _symbol = "DJI"; uint8 private constant _decimals = 18; uint256 private _totalSupply = 1_000_000 * (10 ** _decimals); mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; mapping (address => uint256) private cooldown; address private WETH; address DEAD = 0x000000000000000000000000000000000000dEaD; address ZERO = 0x0000000000000000000000000000000000000000; bool public antiBot = true; mapping (address => bool) private bots; mapping (address => bool) public isFeeExempt; mapping (address => bool) public isTxLimitExempt; uint256 public launchedAt; address private lpWallet = DEAD; uint256 public buyFee = 10; uint256 public sellFeeGigaJeet = 12; uint256 public sellFeeMegaJeet = 9; uint256 public sellFeeDemiJeet = 6; uint256 public sellFeeDiamondBallz = 3; mapping (address => uint256) public lastTxTimestamp; uint256 public toLiquidity = 10; uint256 public toDev = 90; uint256 private feeSum = 100; IDEXRouter public router; address public pair; address public factory; address private tokenOwner; address public devWallet = payable(0x9e823BaA6330B8c288Ee56371D897A4C116B723c); bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; bool public tradingOpen = false; modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } uint256 public maxTx = _totalSupply.div(50); uint256 public maxWallet = _totalSupply.div(50); uint256 public swapThreshold = _totalSupply.div(400); constructor () { router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); WETH = router.WETH(); pair = IDEXFactory(router.factory()).createPair(WETH, address(this)); _allowances[address(this)][address(router)] = type(uint256).max; isFeeExempt[owner()] = true; isFeeExempt[devWallet] = true; isTxLimitExempt[owner()] = true; isTxLimitExempt[devWallet] = true; isTxLimitExempt[pair] = true; isTxLimitExempt[DEAD] = true; _balances[owner()] = _totalSupply; emit Transfer(address(0), owner(), _totalSupply); } receive() external payable { } function setBots(address[] memory bots_) external onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } //once enabled, cannot be reversed function openTrading() external onlyOwner { launchedAt = block.number; tradingOpen = true; } function changeBuyFees(uint256 newBuyFee) external onlyOwner { buyFee = newBuyFee; require(buyFee <= 5); } function changeSellFees(uint256 newSellFeeGigaJeet, uint256 newSellFeeMegaJeet, uint256 newSellFeeDemiJeet, uint256 newSellFeeDiamondBallz) external onlyOwner { sellFeeGigaJeet = newSellFeeGigaJeet; sellFeeMegaJeet = newSellFeeMegaJeet; sellFeeDemiJeet = newSellFeeDemiJeet; sellFeeDiamondBallz = newSellFeeDiamondBallz; require(sellFeeGigaJeet <= 12); require(sellFeeMegaJeet <= 9); require(sellFeeDemiJeet <= 6); require(sellFeeDiamondBallz <= 3); } function changeFeeAllocation(uint256 newDevFee, uint256 newLpFee) external onlyOwner { toDev = newDevFee; toLiquidity = newLpFee; } function updateDevWallet (address newDevWallet) external onlyOwner { devWallet = newDevWallet; } function changeTxLimit(uint256 newLimit) external onlyOwner { maxTx = newLimit; } function changeWalletLimit(uint256 newLimit) external onlyOwner { maxWallet = newLimit; } function changeIsFeeExempt(address holder, bool exempt) external onlyOwner { isFeeExempt[holder] = exempt; } function changeIsTxLimitExempt(address holder, bool exempt) external onlyOwner { isTxLimitExempt[holder] = exempt; } function changeSwapBackSettings(bool enableSwapBack, uint256 newSwapBackLimit) external onlyOwner { swapAndLiquifyEnabled = enableSwapBack; swapThreshold = newSwapBackLimit; } function delBot(address notbot) external onlyOwner { bots[notbot] = false; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO)); } function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } 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 approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, type(uint256).max); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transfer(msg.sender, recipient, amount); } 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 _transfer(sender, recipient, amount); } function _transfer(address sender, address recipient, uint256 amount) internal returns (bool) { if (sender!= owner() && recipient!= owner()) require(tradingOpen, "patience is a virtue."); //transfers disabled before tradingActive require(!bots[sender] && !bots[recipient]); if(inSwapAndLiquify){ return _basicTransfer(sender, recipient, amount); } require(amount <= maxTx || isTxLimitExempt[sender], "tx"); if(!isTxLimitExempt[recipient] && antiBot) { require(_balances[recipient].add(amount) <= maxWallet, "wallet"); } if(msg.sender != pair && !inSwapAndLiquify && swapAndLiquifyEnabled && _balances[address(this)] >= swapThreshold){ swapBack(); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 finalAmount = !isFeeExempt[sender] && !isFeeExempt[recipient] ? takeFee(sender, recipient, amount) : amount; _balances[recipient] = _balances[recipient].add(finalAmount); emit Transfer(sender, recipient, finalAmount); lastTxTimestamp[sender] = block.timestamp; lastTxTimestamp[recipient] = block.timestamp; return true; } 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 takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 _sellTotalFees = sellFeeGigaJeet; uint256 hodlTime = block.timestamp-lastTxTimestamp[sender]; if (hodlTime > 2 hours && hodlTime <= 12 hours) { _sellTotalFees = sellFeeMegaJeet; } else if (hodlTime > 12 hours && hodlTime <= 24 hours) { _sellTotalFees = sellFeeDemiJeet; } else if (hodlTime > 24 hours) { _sellTotalFees = sellFeeDiamondBallz; } uint256 feeApplicable = pair == recipient ? _sellTotalFees : buyFee; 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 swapTokensForEth(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); approve(address(this), tokenAmount); router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, 0, lpWallet, block.timestamp ); } function swapBack() internal lockTheSwap { uint256 tokenBalance = _balances[address(this)]; uint256 tokensForLiquidity = tokenBalance.mul(toLiquidity).div(100).div(2); uint256 amountToSwap = tokenBalance.sub(tokensForLiquidity); swapTokensForEth(amountToSwap); uint256 totalEthBalance = address(this).balance; uint256 ethForDev = totalEthBalance.mul(toDev).div(100); uint256 ethForLiquidity = totalEthBalance.mul(toLiquidity).div(100).div(2); if (totalEthBalance > 0){ payable(devWallet).transfer(ethForDev); } if (tokensForLiquidity > 0){ addLiquidity(tokensForLiquidity, ethForLiquidity); } } function manualSwapBack() external onlyOwner { swapBack(); } function clearStuckEth() external onlyOwner { uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0){ payable(address(devWallet)).transfer(contractETHBalance); } } }
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":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":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"antiBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyFee","type":"uint256"}],"name":"changeBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newDevFee","type":"uint256"},{"internalType":"uint256","name":"newLpFee","type":"uint256"}],"name":"changeFeeAllocation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"changeIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"changeIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSellFeeGigaJeet","type":"uint256"},{"internalType":"uint256","name":"newSellFeeMegaJeet","type":"uint256"},{"internalType":"uint256","name":"newSellFeeDemiJeet","type":"uint256"},{"internalType":"uint256","name":"newSellFeeDiamondBallz","type":"uint256"}],"name":"changeSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enableSwapBack","type":"bool"},{"internalType":"uint256","name":"newSwapBackLimit","type":"uint256"}],"name":"changeSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"changeTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"changeWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lastTxTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwapBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","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":"openTrading","outputs":[],"stateMutability":"nonpayable","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":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFeeDemiJeet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFeeDiamondBallz","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFeeGigaJeet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFeeMegaJeet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","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":"toDev","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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"},{"inputs":[{"internalType":"address","name":"newDevWallet","type":"address"}],"name":"updateDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052620000126012600a620005b8565b6200002190620f4240620005c9565b6001819055600680546001600160a01b031990811661dead9081178355600780546001600160a81b031916600160a01b179055600c8054909216178155600a600d819055600e919091556009600f556010919091556003601155601355605a6014556064601555601a8054600162ffff0160a01b0319167501009e823baa6330b8c288ee56371d897a4c116b723c179055620000ce90603262000ffa620003bd602090811b91909117901c565b601b55620000ee6032600154620003bd60201b62000ffa1790919060201c565b601c556200010f610190600154620003bd60201b62000ffa1790919060201c565b601d553480156200011f57600080fd5b506200012b3362000410565b601680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa15801562000190573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b69190620005eb565b600580546001600160a01b0319166001600160a01b039283161790556016546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa15801562000215573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023b9190620005eb565b6005546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af11580156200028d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b39190620005eb565b601780546001600160a01b0319166001600160a01b03928316178155306000908152600360209081526040808320601654861684528252808320600019905582548516835260098252808320805460ff199081166001908117909255601a8054881686528386208054831684179055855488168652600a85528386208054831684179055548716855282852080548216831790559454861684528184208054861682179055600654861684528184208054909516811790945592548254851683526002825283832081905582549351908152929093169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000698565b60006200040783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200046060201b60201c565b90505b92915050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600081836200048d5760405162461bcd60e51b81526004016200048491906200061d565b60405180910390fd5b5060006200049c848662000675565b95945050505050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004fc578160001904821115620004e057620004e0620004a5565b80851615620004ee57918102915b93841c9390800290620004c0565b509250929050565b60008262000515575060016200040a565b8162000524575060006200040a565b81600181146200053d5760028114620005485762000568565b60019150506200040a565b60ff8411156200055c576200055c620004a5565b50506001821b6200040a565b5060208310610133831016604e8410600b84101617156200058d575081810a6200040a565b620005998383620004bb565b8060001904821115620005b057620005b0620004a5565b029392505050565b60006200040760ff84168362000504565b6000816000190483118215151615620005e657620005e6620004a5565b500290565b600060208284031215620005fe57600080fd5b81516001600160a01b03811681146200061657600080fd5b9392505050565b600060208083528351808285015260005b818110156200064c578581018301518582016040015282016200062e565b818111156200065f576000604083870101525b50601f01601f1916929092016040019392505050565b6000826200069357634e487b7160e01b600052601260045260246000fd5b500490565b611fac80620006a86000396000f3fe6080604052600436106102cd5760003560e01c80638b42507f11610175578063c8d1293d116100dc578063f2fde38b11610095578063f8b45b051161006f578063f8b45b05146108ba578063fa05db0f146108d0578063fabe6283146108f0578063ffb54a991461091057600080fd5b8063f2fde38b14610864578063f5e1859314610884578063f887ea401461089a57600080fd5b8063c8d1293d1461079d578063c9567bf9146107b3578063c96412ac146107c8578063ca19e830146107de578063d920334e146107fe578063dd62ed3e1461081e57600080fd5b8063a3a2e89e1161012e578063a3a2e89e146106e7578063a8aa1b3114610707578063a9059cbb14610727578063b515566a14610747578063bf56b37114610767578063c45a01551461077d57600080fd5b80638b42507f146106215780638da5cb5b146106515780638ea5220f1461066f57806394e13b9d1461068f57806395d89b41146106a55780639d5c14bc146106d157600080fd5b80634706240211610234578063715018a6116101ed5780637dfcbe34116101c75780637dfcbe34146105a357806389215317146105c457806389291a8f146105da578063893d20e8146105ef57600080fd5b8063715018a6146105585780637437681e1461056d5780637db1342c1461058357600080fd5b806347062402146104965780634a74bb02146104ac578063571ac8b0146104cd5780635e54eee2146104ed57806366eb37851461050d57806370a082311461052257600080fd5b8063273123b711610286578063273123b7146103c85780632b112e49146103e8578063313ce567146103fd5780633dab5269146104195780633f4218e0146104395780634551bbe91461046957600080fd5b80630445b667146102d957806306fdde0314610302578063095ea7b31461034157806318160ddd146103715780631816467f1461038657806323b872dd146103a857600080fd5b366102d457005b600080fd5b3480156102e557600080fd5b506102ef601d5481565b6040519081526020015b60405180910390f35b34801561030e57600080fd5b5060408051808201909152600d81526c446f6e74204a65657420496e7560981b60208201525b6040516102f99190611af6565b34801561034d57600080fd5b5061036161035c366004611b70565b610931565b60405190151581526020016102f9565b34801561037d57600080fd5b506001546102ef565b34801561039257600080fd5b506103a66103a1366004611b9c565b61099e565b005b3480156103b457600080fd5b506103616103c3366004611bb9565b6109f3565b3480156103d457600080fd5b506103a66103e3366004611b9c565b610ab5565b3480156103f457600080fd5b506102ef610b00565b34801561040957600080fd5b50604051601281526020016102f9565b34801561042557600080fd5b506103a6610434366004611c0a565b610b52565b34801561044557600080fd5b50610361610454366004611b9c565b60096020526000908152604090205460ff1681565b34801561047557600080fd5b506102ef610484366004611b9c565b60126020526000908152604090205481565b3480156104a257600080fd5b506102ef600d5481565b3480156104b857600080fd5b50601a5461036190600160a81b900460ff1681565b3480156104d957600080fd5b506103616104e8366004611b9c565b610b9e565b3480156104f957600080fd5b506103a6610508366004611c26565b610bac565b34801561051957600080fd5b506103a6610c2e565b34801561052e57600080fd5b506102ef61053d366004611b9c565b6001600160a01b031660009081526002602052604090205490565b34801561056457600080fd5b506103a6610c62565b34801561057957600080fd5b506102ef601b5481565b34801561058f57600080fd5b506103a661059e366004611c58565b610c96565b3480156105af57600080fd5b5060075461036190600160a01b900460ff1681565b3480156105d057600080fd5b506102ef60145481565b3480156105e657600080fd5b506103a6610cc5565b3480156105fb57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016102f9565b34801561062d57600080fd5b5061036161063c366004611b9c565b600a6020526000908152604090205460ff1681565b34801561065d57600080fd5b506000546001600160a01b0316610609565b34801561067b57600080fd5b50601a54610609906001600160a01b031681565b34801561069b57600080fd5b506102ef600f5481565b3480156106b157600080fd5b50604080518082019091526003815262444a4960e81b6020820152610334565b3480156106dd57600080fd5b506102ef60115481565b3480156106f357600080fd5b506103a6610702366004611c71565b610d35565b34801561071357600080fd5b50601754610609906001600160a01b031681565b34801561073357600080fd5b50610361610742366004611b70565b610d8a565b34801561075357600080fd5b506103a6610762366004611cbc565b610d97565b34801561077357600080fd5b506102ef600b5481565b34801561078957600080fd5b50601854610609906001600160a01b031681565b3480156107a957600080fd5b506102ef60135481565b3480156107bf57600080fd5b506103a6610e29565b3480156107d457600080fd5b506102ef60105481565b3480156107ea57600080fd5b506103a66107f9366004611d75565b610e6c565b34801561080a57600080fd5b506103a6610819366004611c58565b610ea1565b34801561082a57600080fd5b506102ef610839366004611d97565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561087057600080fd5b506103a661087f366004611b9c565b610ed0565b34801561089057600080fd5b506102ef600e5481565b3480156108a657600080fd5b50601654610609906001600160a01b031681565b3480156108c657600080fd5b506102ef601c5481565b3480156108dc57600080fd5b506103a66108eb366004611c58565b610f68565b3480156108fc57600080fd5b506103a661090b366004611c71565b610fa5565b34801561091c57600080fd5b50601a5461036190600160b01b900460ff1681565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061098c9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146109d15760405162461bcd60e51b81526004016109c890611dd0565b60405180910390fd5b601a80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316600090815260036020908152604080832033845290915281205460001914610aa0576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600382528381203382529091529190912054610a7b91849061103c565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b610aab848484611076565b90505b9392505050565b6000546001600160a01b03163314610adf5760405162461bcd60e51b81526004016109c890611dd0565b6001600160a01b03166000908152600860205260409020805460ff19169055565b6007546001600160a01b0316600090815260026020526040812054610b4d906006546001600160a01b0316600090815260026020526040902054610b479060015490611425565b90611425565b905090565b6000546001600160a01b03163314610b7c5760405162461bcd60e51b81526004016109c890611dd0565b601a8054921515600160a81b0260ff60a81b1990931692909217909155601d55565b600061099882600019610931565b6000546001600160a01b03163314610bd65760405162461bcd60e51b81526004016109c890611dd0565b600e849055600f83905560108290556011819055600c841115610bf857600080fd5b6009600f541115610c0857600080fd5b60066010541115610c1857600080fd5b60036011541115610c2857600080fd5b50505050565b6000546001600160a01b03163314610c585760405162461bcd60e51b81526004016109c890611dd0565b610c60611467565b565b6000546001600160a01b03163314610c8c5760405162461bcd60e51b81526004016109c890611dd0565b610c606000611572565b6000546001600160a01b03163314610cc05760405162461bcd60e51b81526004016109c890611dd0565b601c55565b6000546001600160a01b03163314610cef5760405162461bcd60e51b81526004016109c890611dd0565b478015610d3257601a546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610d30573d6000803e3d6000fd5b505b50565b6000546001600160a01b03163314610d5f5760405162461bcd60e51b81526004016109c890611dd0565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000610aae338484611076565b6000546001600160a01b03163314610dc15760405162461bcd60e51b81526004016109c890611dd0565b60005b8151811015610d3057600160086000848481518110610de557610de5611e05565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610e2181611e31565b915050610dc4565b6000546001600160a01b03163314610e535760405162461bcd60e51b81526004016109c890611dd0565b43600b55601a805460ff60b01b1916600160b01b179055565b6000546001600160a01b03163314610e965760405162461bcd60e51b81526004016109c890611dd0565b601491909155601355565b6000546001600160a01b03163314610ecb5760405162461bcd60e51b81526004016109c890611dd0565b601b55565b6000546001600160a01b03163314610efa5760405162461bcd60e51b81526004016109c890611dd0565b6001600160a01b038116610f5f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109c8565b610d3281611572565b6000546001600160a01b03163314610f925760405162461bcd60e51b81526004016109c890611dd0565b600d8190556005811115610d3257600080fd5b6000546001600160a01b03163314610fcf5760405162461bcd60e51b81526004016109c890611dd0565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000610aae83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115c2565b600081848411156110605760405162461bcd60e51b81526004016109c89190611af6565b50600061106d8486611e4a565b95945050505050565b600080546001600160a01b038581169116148015906110a357506000546001600160a01b03848116911614155b156110f957601a54600160b01b900460ff166110f95760405162461bcd60e51b81526020600482015260156024820152743830ba34b2b731b29034b99030903b34b93a3ab29760591b60448201526064016109c8565b6001600160a01b03841660009081526008602052604090205460ff1615801561113b57506001600160a01b03831660009081526008602052604090205460ff16155b61114457600080fd5b601a54600160a01b900460ff1615611168576111618484846115f0565b9050610aae565b601b548211158061119157506001600160a01b0384166000908152600a602052604090205460ff165b6111c25760405162461bcd60e51b81526020600482015260026024820152610e8f60f31b60448201526064016109c8565b6001600160a01b0383166000908152600a602052604090205460ff161580156111f45750600754600160a01b900460ff165b1561125657601c546001600160a01b03841660009081526002602052604090205461121f90846116d6565b11156112565760405162461bcd60e51b81526020600482015260066024820152651dd85b1b195d60d21b60448201526064016109c8565b6017546001600160a01b0316331480159061127b5750601a54600160a01b900460ff16155b80156112905750601a54600160a81b900460ff165b80156112ad5750601d543060009081526002602052604090205410155b156112ba576112ba611467565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526002909152919091205461130c91849061103c565b6001600160a01b038516600090815260026020908152604080832093909355600990529081205460ff1615801561135c57506001600160a01b03841660009081526009602052604090205460ff16155b6113665782611371565b611371858585611735565b6001600160a01b03851660009081526002602052604090205490915061139790826116d6565b6001600160a01b0380861660008181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113eb9085815260200190565b60405180910390a350506001600160a01b038084166000908152601260205260408082204290819055928516825290205560019392505050565b6000610aae83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061103c565b601a805460ff60a01b1916600160a01b1790553060009081526002602081905260408220546013549092916114ac916114a69060649082908790611879565b90610ffa565b905060006114ba8383611425565b90506114c5816118fb565b600047905060006114e660646114a66014548561187990919063ffffffff16565b9050600061150960026114a660646114a66013548861187990919063ffffffff16565b9050821561154d57601a546040516001600160a01b039091169083156108fc029084906000818181858888f1935050505015801561154b573d6000803e3d6000fd5b505b841561155d5761155d8582611a5a565b5050601a805460ff60a01b1916905550505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600081836115e35760405162461bcd60e51b81526004016109c89190611af6565b50600061106d8486611e61565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260029091529182205461164191849061103c565b6001600160a01b03808616600090815260026020526040808220939093559085168152205461167090836116d6565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116c49086815260200190565b60405180910390a35060019392505050565b6000806116e38385611e83565b905083811015610aae5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016109c8565b600e546001600160a01b03841660009081526012602052604081205490919082906117609042611e4a565b9050611c2081118015611775575061a8c08111155b1561178457600f5491506117b8565b61a8c0811180156117985750620151808111155b156117a75760105491506117b8565b620151808111156117b85760115491505b6017546000906001600160a01b038781169116146117d857600d546117da565b825b905060006117ed60646114a68885611879565b3060009081526002602052604090205490915061180a90826116d6565b30600081815260026020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061185b9085815260200190565b60405180910390a361186d8682611425565b98975050505050505050565b60008260000361188b57506000610998565b60006118978385611e9b565b9050826118a48583611e61565b14610aae5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016109c8565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061193057611930611e05565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611989573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ad9190611eba565b816001815181106119c0576119c0611e05565b60200260200101906001600160a01b031690816001600160a01b0316815250506119ea3083610931565b5060165460405163791ac94760e01b81526001600160a01b039091169063791ac94790611a24908590600090869030904290600401611ed7565b600060405180830381600087803b158015611a3e57600080fd5b505af1158015611a52573d6000803e3d6000fd5b505050505050565b601654600c5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611aca573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611aef9190611f48565b5050505050565b600060208083528351808285015260005b81811015611b2357858101830151858201604001528201611b07565b81811115611b35576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114610d3257600080fd5b8035611b6b81611b4b565b919050565b60008060408385031215611b8357600080fd5b8235611b8e81611b4b565b946020939093013593505050565b600060208284031215611bae57600080fd5b8135610aae81611b4b565b600080600060608486031215611bce57600080fd5b8335611bd981611b4b565b92506020840135611be981611b4b565b929592945050506040919091013590565b80358015158114611b6b57600080fd5b60008060408385031215611c1d57600080fd5b611b8e83611bfa565b60008060008060808587031215611c3c57600080fd5b5050823594602084013594506040840135936060013592509050565b600060208284031215611c6a57600080fd5b5035919050565b60008060408385031215611c8457600080fd5b8235611c8f81611b4b565b9150611c9d60208401611bfa565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215611ccf57600080fd5b823567ffffffffffffffff80821115611ce757600080fd5b818501915085601f830112611cfb57600080fd5b813581811115611d0d57611d0d611ca6565b8060051b604051601f19603f83011681018181108582111715611d3257611d32611ca6565b604052918252848201925083810185019188831115611d5057600080fd5b938501935b8285101561186d57611d6685611b60565b84529385019392850192611d55565b60008060408385031215611d8857600080fd5b50508035926020909101359150565b60008060408385031215611daa57600080fd5b8235611db581611b4b565b91506020830135611dc581611b4b565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611e4357611e43611e1b565b5060010190565b600082821015611e5c57611e5c611e1b565b500390565b600082611e7e57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611e9657611e96611e1b565b500190565b6000816000190483118215151615611eb557611eb5611e1b565b500290565b600060208284031215611ecc57600080fd5b8151610aae81611b4b565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611f275784516001600160a01b031683529383019391830191600101611f02565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611f5d57600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212204987c07efc9ccb58a73d6cb6c4dca52e1b52e4d64e2ceb0c6c8cbe64a64e858564736f6c634300080d0033
Deployed Bytecode
0x6080604052600436106102cd5760003560e01c80638b42507f11610175578063c8d1293d116100dc578063f2fde38b11610095578063f8b45b051161006f578063f8b45b05146108ba578063fa05db0f146108d0578063fabe6283146108f0578063ffb54a991461091057600080fd5b8063f2fde38b14610864578063f5e1859314610884578063f887ea401461089a57600080fd5b8063c8d1293d1461079d578063c9567bf9146107b3578063c96412ac146107c8578063ca19e830146107de578063d920334e146107fe578063dd62ed3e1461081e57600080fd5b8063a3a2e89e1161012e578063a3a2e89e146106e7578063a8aa1b3114610707578063a9059cbb14610727578063b515566a14610747578063bf56b37114610767578063c45a01551461077d57600080fd5b80638b42507f146106215780638da5cb5b146106515780638ea5220f1461066f57806394e13b9d1461068f57806395d89b41146106a55780639d5c14bc146106d157600080fd5b80634706240211610234578063715018a6116101ed5780637dfcbe34116101c75780637dfcbe34146105a357806389215317146105c457806389291a8f146105da578063893d20e8146105ef57600080fd5b8063715018a6146105585780637437681e1461056d5780637db1342c1461058357600080fd5b806347062402146104965780634a74bb02146104ac578063571ac8b0146104cd5780635e54eee2146104ed57806366eb37851461050d57806370a082311461052257600080fd5b8063273123b711610286578063273123b7146103c85780632b112e49146103e8578063313ce567146103fd5780633dab5269146104195780633f4218e0146104395780634551bbe91461046957600080fd5b80630445b667146102d957806306fdde0314610302578063095ea7b31461034157806318160ddd146103715780631816467f1461038657806323b872dd146103a857600080fd5b366102d457005b600080fd5b3480156102e557600080fd5b506102ef601d5481565b6040519081526020015b60405180910390f35b34801561030e57600080fd5b5060408051808201909152600d81526c446f6e74204a65657420496e7560981b60208201525b6040516102f99190611af6565b34801561034d57600080fd5b5061036161035c366004611b70565b610931565b60405190151581526020016102f9565b34801561037d57600080fd5b506001546102ef565b34801561039257600080fd5b506103a66103a1366004611b9c565b61099e565b005b3480156103b457600080fd5b506103616103c3366004611bb9565b6109f3565b3480156103d457600080fd5b506103a66103e3366004611b9c565b610ab5565b3480156103f457600080fd5b506102ef610b00565b34801561040957600080fd5b50604051601281526020016102f9565b34801561042557600080fd5b506103a6610434366004611c0a565b610b52565b34801561044557600080fd5b50610361610454366004611b9c565b60096020526000908152604090205460ff1681565b34801561047557600080fd5b506102ef610484366004611b9c565b60126020526000908152604090205481565b3480156104a257600080fd5b506102ef600d5481565b3480156104b857600080fd5b50601a5461036190600160a81b900460ff1681565b3480156104d957600080fd5b506103616104e8366004611b9c565b610b9e565b3480156104f957600080fd5b506103a6610508366004611c26565b610bac565b34801561051957600080fd5b506103a6610c2e565b34801561052e57600080fd5b506102ef61053d366004611b9c565b6001600160a01b031660009081526002602052604090205490565b34801561056457600080fd5b506103a6610c62565b34801561057957600080fd5b506102ef601b5481565b34801561058f57600080fd5b506103a661059e366004611c58565b610c96565b3480156105af57600080fd5b5060075461036190600160a01b900460ff1681565b3480156105d057600080fd5b506102ef60145481565b3480156105e657600080fd5b506103a6610cc5565b3480156105fb57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016102f9565b34801561062d57600080fd5b5061036161063c366004611b9c565b600a6020526000908152604090205460ff1681565b34801561065d57600080fd5b506000546001600160a01b0316610609565b34801561067b57600080fd5b50601a54610609906001600160a01b031681565b34801561069b57600080fd5b506102ef600f5481565b3480156106b157600080fd5b50604080518082019091526003815262444a4960e81b6020820152610334565b3480156106dd57600080fd5b506102ef60115481565b3480156106f357600080fd5b506103a6610702366004611c71565b610d35565b34801561071357600080fd5b50601754610609906001600160a01b031681565b34801561073357600080fd5b50610361610742366004611b70565b610d8a565b34801561075357600080fd5b506103a6610762366004611cbc565b610d97565b34801561077357600080fd5b506102ef600b5481565b34801561078957600080fd5b50601854610609906001600160a01b031681565b3480156107a957600080fd5b506102ef60135481565b3480156107bf57600080fd5b506103a6610e29565b3480156107d457600080fd5b506102ef60105481565b3480156107ea57600080fd5b506103a66107f9366004611d75565b610e6c565b34801561080a57600080fd5b506103a6610819366004611c58565b610ea1565b34801561082a57600080fd5b506102ef610839366004611d97565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561087057600080fd5b506103a661087f366004611b9c565b610ed0565b34801561089057600080fd5b506102ef600e5481565b3480156108a657600080fd5b50601654610609906001600160a01b031681565b3480156108c657600080fd5b506102ef601c5481565b3480156108dc57600080fd5b506103a66108eb366004611c58565b610f68565b3480156108fc57600080fd5b506103a661090b366004611c71565b610fa5565b34801561091c57600080fd5b50601a5461036190600160b01b900460ff1681565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061098c9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146109d15760405162461bcd60e51b81526004016109c890611dd0565b60405180910390fd5b601a80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316600090815260036020908152604080832033845290915281205460001914610aa0576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600382528381203382529091529190912054610a7b91849061103c565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b610aab848484611076565b90505b9392505050565b6000546001600160a01b03163314610adf5760405162461bcd60e51b81526004016109c890611dd0565b6001600160a01b03166000908152600860205260409020805460ff19169055565b6007546001600160a01b0316600090815260026020526040812054610b4d906006546001600160a01b0316600090815260026020526040902054610b479060015490611425565b90611425565b905090565b6000546001600160a01b03163314610b7c5760405162461bcd60e51b81526004016109c890611dd0565b601a8054921515600160a81b0260ff60a81b1990931692909217909155601d55565b600061099882600019610931565b6000546001600160a01b03163314610bd65760405162461bcd60e51b81526004016109c890611dd0565b600e849055600f83905560108290556011819055600c841115610bf857600080fd5b6009600f541115610c0857600080fd5b60066010541115610c1857600080fd5b60036011541115610c2857600080fd5b50505050565b6000546001600160a01b03163314610c585760405162461bcd60e51b81526004016109c890611dd0565b610c60611467565b565b6000546001600160a01b03163314610c8c5760405162461bcd60e51b81526004016109c890611dd0565b610c606000611572565b6000546001600160a01b03163314610cc05760405162461bcd60e51b81526004016109c890611dd0565b601c55565b6000546001600160a01b03163314610cef5760405162461bcd60e51b81526004016109c890611dd0565b478015610d3257601a546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610d30573d6000803e3d6000fd5b505b50565b6000546001600160a01b03163314610d5f5760405162461bcd60e51b81526004016109c890611dd0565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000610aae338484611076565b6000546001600160a01b03163314610dc15760405162461bcd60e51b81526004016109c890611dd0565b60005b8151811015610d3057600160086000848481518110610de557610de5611e05565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610e2181611e31565b915050610dc4565b6000546001600160a01b03163314610e535760405162461bcd60e51b81526004016109c890611dd0565b43600b55601a805460ff60b01b1916600160b01b179055565b6000546001600160a01b03163314610e965760405162461bcd60e51b81526004016109c890611dd0565b601491909155601355565b6000546001600160a01b03163314610ecb5760405162461bcd60e51b81526004016109c890611dd0565b601b55565b6000546001600160a01b03163314610efa5760405162461bcd60e51b81526004016109c890611dd0565b6001600160a01b038116610f5f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109c8565b610d3281611572565b6000546001600160a01b03163314610f925760405162461bcd60e51b81526004016109c890611dd0565b600d8190556005811115610d3257600080fd5b6000546001600160a01b03163314610fcf5760405162461bcd60e51b81526004016109c890611dd0565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000610aae83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115c2565b600081848411156110605760405162461bcd60e51b81526004016109c89190611af6565b50600061106d8486611e4a565b95945050505050565b600080546001600160a01b038581169116148015906110a357506000546001600160a01b03848116911614155b156110f957601a54600160b01b900460ff166110f95760405162461bcd60e51b81526020600482015260156024820152743830ba34b2b731b29034b99030903b34b93a3ab29760591b60448201526064016109c8565b6001600160a01b03841660009081526008602052604090205460ff1615801561113b57506001600160a01b03831660009081526008602052604090205460ff16155b61114457600080fd5b601a54600160a01b900460ff1615611168576111618484846115f0565b9050610aae565b601b548211158061119157506001600160a01b0384166000908152600a602052604090205460ff165b6111c25760405162461bcd60e51b81526020600482015260026024820152610e8f60f31b60448201526064016109c8565b6001600160a01b0383166000908152600a602052604090205460ff161580156111f45750600754600160a01b900460ff165b1561125657601c546001600160a01b03841660009081526002602052604090205461121f90846116d6565b11156112565760405162461bcd60e51b81526020600482015260066024820152651dd85b1b195d60d21b60448201526064016109c8565b6017546001600160a01b0316331480159061127b5750601a54600160a01b900460ff16155b80156112905750601a54600160a81b900460ff165b80156112ad5750601d543060009081526002602052604090205410155b156112ba576112ba611467565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526002909152919091205461130c91849061103c565b6001600160a01b038516600090815260026020908152604080832093909355600990529081205460ff1615801561135c57506001600160a01b03841660009081526009602052604090205460ff16155b6113665782611371565b611371858585611735565b6001600160a01b03851660009081526002602052604090205490915061139790826116d6565b6001600160a01b0380861660008181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113eb9085815260200190565b60405180910390a350506001600160a01b038084166000908152601260205260408082204290819055928516825290205560019392505050565b6000610aae83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061103c565b601a805460ff60a01b1916600160a01b1790553060009081526002602081905260408220546013549092916114ac916114a69060649082908790611879565b90610ffa565b905060006114ba8383611425565b90506114c5816118fb565b600047905060006114e660646114a66014548561187990919063ffffffff16565b9050600061150960026114a660646114a66013548861187990919063ffffffff16565b9050821561154d57601a546040516001600160a01b039091169083156108fc029084906000818181858888f1935050505015801561154b573d6000803e3d6000fd5b505b841561155d5761155d8582611a5a565b5050601a805460ff60a01b1916905550505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600081836115e35760405162461bcd60e51b81526004016109c89190611af6565b50600061106d8486611e61565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260029091529182205461164191849061103c565b6001600160a01b03808616600090815260026020526040808220939093559085168152205461167090836116d6565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116c49086815260200190565b60405180910390a35060019392505050565b6000806116e38385611e83565b905083811015610aae5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016109c8565b600e546001600160a01b03841660009081526012602052604081205490919082906117609042611e4a565b9050611c2081118015611775575061a8c08111155b1561178457600f5491506117b8565b61a8c0811180156117985750620151808111155b156117a75760105491506117b8565b620151808111156117b85760115491505b6017546000906001600160a01b038781169116146117d857600d546117da565b825b905060006117ed60646114a68885611879565b3060009081526002602052604090205490915061180a90826116d6565b30600081815260026020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061185b9085815260200190565b60405180910390a361186d8682611425565b98975050505050505050565b60008260000361188b57506000610998565b60006118978385611e9b565b9050826118a48583611e61565b14610aae5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016109c8565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061193057611930611e05565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611989573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ad9190611eba565b816001815181106119c0576119c0611e05565b60200260200101906001600160a01b031690816001600160a01b0316815250506119ea3083610931565b5060165460405163791ac94760e01b81526001600160a01b039091169063791ac94790611a24908590600090869030904290600401611ed7565b600060405180830381600087803b158015611a3e57600080fd5b505af1158015611a52573d6000803e3d6000fd5b505050505050565b601654600c5460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015611aca573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611aef9190611f48565b5050505050565b600060208083528351808285015260005b81811015611b2357858101830151858201604001528201611b07565b81811115611b35576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114610d3257600080fd5b8035611b6b81611b4b565b919050565b60008060408385031215611b8357600080fd5b8235611b8e81611b4b565b946020939093013593505050565b600060208284031215611bae57600080fd5b8135610aae81611b4b565b600080600060608486031215611bce57600080fd5b8335611bd981611b4b565b92506020840135611be981611b4b565b929592945050506040919091013590565b80358015158114611b6b57600080fd5b60008060408385031215611c1d57600080fd5b611b8e83611bfa565b60008060008060808587031215611c3c57600080fd5b5050823594602084013594506040840135936060013592509050565b600060208284031215611c6a57600080fd5b5035919050565b60008060408385031215611c8457600080fd5b8235611c8f81611b4b565b9150611c9d60208401611bfa565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215611ccf57600080fd5b823567ffffffffffffffff80821115611ce757600080fd5b818501915085601f830112611cfb57600080fd5b813581811115611d0d57611d0d611ca6565b8060051b604051601f19603f83011681018181108582111715611d3257611d32611ca6565b604052918252848201925083810185019188831115611d5057600080fd5b938501935b8285101561186d57611d6685611b60565b84529385019392850192611d55565b60008060408385031215611d8857600080fd5b50508035926020909101359150565b60008060408385031215611daa57600080fd5b8235611db581611b4b565b91506020830135611dc581611b4b565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611e4357611e43611e1b565b5060010190565b600082821015611e5c57611e5c611e1b565b500390565b600082611e7e57634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115611e9657611e96611e1b565b500190565b6000816000190483118215151615611eb557611eb5611e1b565b500290565b600060208284031215611ecc57600080fd5b8151610aae81611b4b565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611f275784516001600160a01b031683529383019391830191600101611f02565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611f5d57600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212204987c07efc9ccb58a73d6cb6c4dca52e1b52e4d64e2ceb0c6c8cbe64a64e858564736f6c634300080d0033
Deployed Bytecode Sourcemap
6411:10827:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8226:52;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;8226:52:0;;;;;;;;11553:80;;;;;;;;;;-1:-1:-1;11625:5:0;;;;;;;;;;;;-1:-1:-1;;;11625:5:0;;;;11553:80;;;;;;;:::i;11981:216::-;;;;;;;;;;-1:-1:-1;11981:216:0;;;;;:::i;:::-;;:::i;:::-;;;1558:14:1;;1551:22;1533:41;;1521:2;1506:18;11981:216:0;1393:187:1;11283:88:0;;;;;;;;;;-1:-1:-1;11356:12:0;;11283:88;;10217:110;;;;;;;;;;-1:-1:-1;10217:110:0;;;;;:::i;:::-;;:::i;:::-;;12495:366;;;;;;;;;;-1:-1:-1;12495:366:0;;;;;:::i;:::-;;:::i;11035:90::-;;;;;;;;;;-1:-1:-1;11035:90:0;;;;;:::i;:::-;;:::i;11133:142::-;;;;;;;;;;;;;:::i;11377:80::-;;;;;;;;;;-1:-1:-1;11377:80:0;;6628:2;2440:36:1;;2428:2;2413:18;11377:80:0;2298:184:1;10828:199:0;;;;;;;;;;-1:-1:-1;10828:199:0;;;;;:::i;:::-;;:::i;7130:44::-;;;;;;;;;;-1:-1:-1;7130:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7514:51;;;;;;;;;;-1:-1:-1;7514:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;7310:26;;;;;;;;;;;;;;;;7917:40;;;;;;;;;;-1:-1:-1;7917:40:0;;;;-1:-1:-1;;;7917:40:0;;;;;;12205:122;;;;;;;;;;-1:-1:-1;12205:122:0;;;;;:::i;:::-;;:::i;9514:528::-;;;;;;;;;;-1:-1:-1;9514:528:0;;;;;:::i;:::-;;:::i;16911:74::-;;;;;;;;;;;;;:::i;11725:105::-;;;;;;;;;;-1:-1:-1;11725:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;11809:18:0;11791:7;11809:18;;;:9;:18;;;;;;;11725:105;4300:103;;;;;;;;;;;;;:::i;8122:43::-;;;;;;;;;;;;;;;;10438:104;;;;;;;;;;-1:-1:-1;10438:104:0;;;;;:::i;:::-;;:::i;7049:26::-;;;;;;;;;;-1:-1:-1;7049:26:0;;;;-1:-1:-1;;;7049:26:0;;;;;;7612:25;;;;;;;;;;;;;;;;16993:242;;;;;;;;;;;;;:::i;11639:80::-;;;;;;;;;;-1:-1:-1;11691:7:0;3722:6;-1:-1:-1;;;;;3722:6:0;11639:80;;;-1:-1:-1;;;;;3644:32:1;;;3626:51;;3614:2;3599:18;11639:80:0;3480:203:1;7181:48:0;;;;;;;;;;-1:-1:-1;7181:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3649:87;;;;;;;;;;-1:-1:-1;3695:7:0;3722:6;-1:-1:-1;;;;;3722:6:0;3649:87;;7802:78;;;;;;;;;;-1:-1:-1;7802:78:0;;;;-1:-1:-1;;;;;7802:78:0;;;7385:34;;;;;;;;;;;;;;;;11463:84;;;;;;;;;;-1:-1:-1;11537:7:0;;;;;;;;;;;;-1:-1:-1;;;11537:7:0;;;;11463:84;;7467:38;;;;;;;;;;;;;;;;10554:122;;;;;;;;;;-1:-1:-1;10554:122:0;;;;;:::i;:::-;;:::i;7714:19::-;;;;;;;;;;-1:-1:-1;7714:19:0;;;;-1:-1:-1;;;;;7714:19:0;;;12335:152;;;;;;;;;;-1:-1:-1;12335:152:0;;;;;:::i;:::-;;:::i;9030:166::-;;;;;;;;;;-1:-1:-1;9030:166:0;;;;;:::i;:::-;;:::i;7238:25::-;;;;;;;;;;;;;;;;7740:22;;;;;;;;;;-1:-1:-1;7740:22:0;;;;-1:-1:-1;;;;;7740:22:0;;;7574:31;;;;;;;;;;;;;;;;9248:115;;;;;;;;;;;;;:::i;7426:34::-;;;;;;;;;;;;;;;;10055:154;;;;;;;;;;-1:-1:-1;10055:154:0;;;;;:::i;:::-;;:::i;10335:95::-;;;;;;;;;;-1:-1:-1;10335:95:0;;;;;:::i;:::-;;:::i;11836:133::-;;;;;;;;;;-1:-1:-1;11836:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;11938:19:0;;;11920:7;11938:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;11836:133;4558:238;;;;;;;;;;-1:-1:-1;4558:238:0;;;;;:::i;:::-;;:::i;7343:35::-;;;;;;;;;;;;;;;;7683:24;;;;;;;;;;-1:-1:-1;7683:24:0;;;;-1:-1:-1;;;;;7683:24:0;;;8172:47;;;;;;;;;;;;;;;;9377:129;;;;;;;;;;-1:-1:-1;9377:129:0;;;;;:::i;:::-;;:::i;10684:136::-;;;;;;;;;;-1:-1:-1;10684:136:0;;;;;:::i;:::-;;:::i;7964:31::-;;;;;;;;;;-1:-1:-1;7964:31:0;;;;-1:-1:-1;;;7964:31:0;;;;;;11981:216;12085:10;12056:4;12073:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;12073:32:0;;;;;;;;;;:41;;;12130:37;12056:4;;12073:32;;12130:37;;;;12108:6;160:25:1;;148:2;133:18;;14:177;12130:37:0;;;;;;;;-1:-1:-1;12185:4:0;11981:216;;;;;:::o;10217:110::-;3695:7;3722:6;-1:-1:-1;;;;;3722:6:0;865:10;3869:23;3861:68;;;;-1:-1:-1;;;3861:68:0;;;;;;;:::i;:::-;;;;;;;;;10295:9:::1;:24:::0;;-1:-1:-1;;;;;;10295:24:0::1;-1:-1:-1::0;;;;;10295:24:0;;;::::1;::::0;;;::::1;::::0;;10217:110::o;12495:366::-;-1:-1:-1;;;;;12615:19:0;;12595:4;12615:19;;;:11;:19;;;;;;;;12635:10;12615:31;;;;;;;;-1:-1:-1;;12615:52:0;12612:186;;12717:69;;;;;;;;;;;-1:-1:-1;;;12717:69:0;;;;;;;;-1:-1:-1;;;;;12717:19:0;;-1:-1:-1;12717:19:0;;;:11;:19;;;;;12737:10;12717:31;;;;;;;;;;:69;;12753:6;;12717:35;:69::i;:::-;-1:-1:-1;;;;;12683:19:0;;;;;;:11;:19;;;;;;;;12703:10;12683:31;;;;;;;:103;12612:186;12817:36;12827:6;12835:9;12846:6;12817:9;:36::i;:::-;12810:43;;12495:366;;;;;;:::o;11035:90::-;3695:7;3722:6;-1:-1:-1;;;;;3722:6:0;865:10;3869:23;3861:68;;;;-1:-1:-1;;;3861:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11097:12:0::1;11112:5;11097:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;11097:20:0::1;::::0;;11035:90::o;11133:142::-;11261:4;;-1:-1:-1;;;;;11261:4:0;11186:7;11809:18;;;:9;:18;;;;;;11213:54;;11240:4;;-1:-1:-1;;;;;11240:4:0;11791:7;11809:18;;;:9;:18;;;;;;11213:33;;:12;;;:16;:33::i;:::-;:37;;:54::i;:::-;11206:61;;11133:142;:::o;10828:199::-;3695:7;3722:6;-1:-1:-1;;;;;3722:6:0;865:10;3869:23;3861:68;;;;-1:-1:-1;;;3861:68:0;;;;;;;:::i;:::-;10937:21:::1;:39:::0;;;::::1;;-1:-1:-1::0;;;10937:39:0::1;-1:-1:-1::0;;;;10937:39:0;;::::1;::::0;;;::::1;::::0;;;10987:13:::1;:32:::0;10828:199::o;12205:122::-;12260:4;12284:35;12292:7;-1:-1:-1;;12284:7:0;:35::i;9514:528::-;3695:7;3722:6;-1:-1:-1;;;;;3722:6:0;865:10;3869:23;3861:68;;;;-1:-1:-1;;;3861:68:0;;;;;;;:::i;:::-;9684:15:::1;:36:::0;;;9731:15:::1;:36:::0;;;9778:15:::1;:36:::0;;;9825:19:::1;:44:::0;;;9907:2:::1;9888:21:::0;::::1;;9880:30;;;::::0;::::1;;9948:1;9929:15;;:20;;9921:29;;;::::0;::::1;;9988:1;9969:15;;:20;;9961:29;;;::::0;::::1;;10032:1;10009:19;;:24;;10001:33;;;::::0;::::1;;9514:528:::0;;;;:::o;16911:74::-;3695:7;3722:6;-1:-1:-1;;;;;3722:6:0;865:10;3869:23;3861:68;;;;-1:-1:-1;;;3861:68:0;;;;;;;:::i;:::-;16967:10:::1;:8;:10::i;:::-;16911:74::o:0;4300:103::-;3695:7;3722:6;-1:-1:-1;;;;;3722:6:0;865:10;3869:23;3861:68;;;;-1:-1:-1;;;3861:68:0;;;;;;;:::i;:::-;4365:30:::1;4392:1;4365:18;:30::i;10438:104::-:0;3695:7;3722:6;-1:-1:-1;;;;;3722:6:0;865:10;3869:23;3861:68;;;;-1:-1:-1;;;3861:68:0;;;;;;;:::i;:::-;10513:9:::1;:21:::0;10438:104::o;16993:242::-;3695:7;3722:6;-1:-1:-1;;;;;3722:6:0;865:10;3869:23;3861:68;;;;-1:-1:-1;;;3861:68:0;;;;;;;:::i;:::-;17077:21:::1;17112:22:::0;;17109:119:::1;;17176:9;::::0;17160:56:::1;::::0;-1:-1:-1;;;;;17176:9:0;;::::1;::::0;17160:56;::::1;;;::::0;17197:18;;17176:9:::1;17160:56:::0;17176:9;17160:56;17197:18;17176:9;17160:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;17109:119;17037:198;16993:242::o:0;10554:122::-;3695:7;3722:6;-1:-1:-1;;;;;3722:6:0;865:10;3869:23;3861:68;;;;-1:-1:-1;;;3861:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10640:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;10640:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10554:122::o;12335:152::-;12415:4;12439:40;12449:10;12461:9;12472:6;12439:9;:40::i;9030:166::-;3695:7;3722:6;-1:-1:-1;;;;;3722:6:0;865:10;3869:23;3861:68;;;;-1:-1:-1;;;3861:68:0;;;;;;;:::i;:::-;9106:6:::1;9101:88;9122:5;:12;9118:1;:16;9101:88;;;9173:4;9156;:14;9161:5;9167:1;9161:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;9156:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;9156:14:0;:21;;-1:-1:-1;;9156:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9136:3;::::1;::::0;::::1;:::i;:::-;;;;9101:88;;9248:115:::0;3695:7;3722:6;-1:-1:-1;;;;;3722:6:0;865:10;3869:23;3861:68;;;;-1:-1:-1;;;3861:68:0;;;;;;;:::i;:::-;9314:12:::1;9301:10;:25:::0;9337:11:::1;:18:::0;;-1:-1:-1;;;;9337:18:0::1;-1:-1:-1::0;;;9337:18:0::1;::::0;;9248:115::o;10055:154::-;3695:7;3722:6;-1:-1:-1;;;;;3722:6:0;865:10;3869:23;3861:68;;;;-1:-1:-1;;;3861:68:0;;;;;;;:::i;:::-;10151:5:::1;:17:::0;;;;10179:11:::1;:22:::0;10055:154::o;10335:95::-;3695:7;3722:6;-1:-1:-1;;;;;3722:6:0;865:10;3869:23;3861:68;;;;-1:-1:-1;;;3861:68:0;;;;;;;:::i;:::-;10406:5:::1;:16:::0;10335:95::o;4558:238::-;3695:7;3722:6;-1:-1:-1;;;;;3722:6:0;865:10;3869:23;3861:68;;;;-1:-1:-1;;;3861:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4661:22:0;::::1;4639:110;;;::::0;-1:-1:-1;;;4639:110:0;;7105:2:1;4639:110:0::1;::::0;::::1;7087:21:1::0;7144:2;7124:18;;;7117:30;7183:34;7163:18;;;7156:62;-1:-1:-1;;;7234:18:1;;;7227:36;7280:19;;4639:110:0::1;6903:402:1::0;4639:110:0::1;4760:28;4779:8;4760:18;:28::i;9377:129::-:0;3695:7;3722:6;-1:-1:-1;;;;;3722:6:0;865:10;3869:23;3861:68;;;;-1:-1:-1;;;3861:68:0;;;;;;;:::i;:::-;9449:6:::1;:18:::0;;;9496:1:::1;9486:11:::0;::::1;;9478:20;;;::::0;::::1;10684:136:::0;3695:7;3722:6;-1:-1:-1;;;;;3722:6:0;865:10;3869:23;3861:68;;;;-1:-1:-1;;;3861:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;10780:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;10780:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10684:136::o;1768:132::-;1826:7;1853:39;1857:1;1860;1853:39;;;;;;;;;;;;;;;;;:3;:39::i;1314:192::-;1400:7;1436:12;1428:6;;;;1420:29;;;;-1:-1:-1;;;1420:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1460:9:0;1472:5;1476:1;1472;:5;:::i;:::-;1460:17;1314:192;-1:-1:-1;;;;;1314:192:0:o;12869:1228::-;12957:4;3722:6;;-1:-1:-1;;;;;12978:16:0;;;3722:6;;12978:16;;;;:39;;-1:-1:-1;3695:7:0;3722:6;-1:-1:-1;;;;;12998:19:0;;;3722:6;;12998:19;;12978:39;12974:90;;;13027:11;;-1:-1:-1;;;13027:11:0;;;;13019:45;;;;-1:-1:-1;;;13019:45:0;;7642:2:1;13019:45:0;;;7624:21:1;7681:2;7661:18;;;7654:30;-1:-1:-1;;;7700:18:1;;;7693:51;7761:18;;13019:45:0;7440:345:1;13019:45:0;-1:-1:-1;;;;;13126:12:0;;;;;;:4;:12;;;;;;;;13125:13;:33;;;;-1:-1:-1;;;;;;13143:15:0;;;;;;:4;:15;;;;;;;;13142:16;13125:33;13117:42;;;;;;13175:16;;-1:-1:-1;;;13175:16:0;;;;13172:73;;;13201:41;13216:6;13224:9;13235:6;13201:14;:41::i;:::-;13194:48;;;;13172:73;13275:5;;13265:6;:15;;:42;;;-1:-1:-1;;;;;;13284:23:0;;;;;;:15;:23;;;;;;;;13265:42;13257:57;;;;-1:-1:-1;;;13257:57:0;;7992:2:1;13257:57:0;;;7974:21:1;8031:1;8011:18;;;8004:29;-1:-1:-1;;;8049:18:1;;;8042:32;8091:18;;13257:57:0;7790:325:1;13257:57:0;-1:-1:-1;;;;;13331:26:0;;;;;;:15;:26;;;;;;;;13330:27;:38;;;;-1:-1:-1;13361:7:0;;-1:-1:-1;;;13361:7:0;;;;13330:38;13327:143;;;13438:9;;-1:-1:-1;;;;;13402:20:0;;;;;;:9;:20;;;;;;:32;;13427:6;13402:24;:32::i;:::-;:45;;13394:64;;;;-1:-1:-1;;;13394:64:0;;8322:2:1;13394:64:0;;;8304:21:1;8361:1;8341:18;;;8334:29;-1:-1:-1;;;8379:18:1;;;8372:36;8425:18;;13394:64:0;8120:329:1;13394:64:0;13499:4;;-1:-1:-1;;;;;13499:4:0;13485:10;:18;;;;:39;;-1:-1:-1;13508:16:0;;-1:-1:-1;;;13508:16:0;;;;13507:17;13485:39;:64;;;;-1:-1:-1;13528:21:0;;-1:-1:-1;;;13528:21:0;;;;13485:64;:109;;;;-1:-1:-1;13581:13:0;;13571:4;13553:24;;;;:9;:24;;;;;;:41;;13485:109;13482:128;;;13597:10;:8;:10::i;:::-;13642:53;;;;;;;;;;;-1:-1:-1;;;13642:53:0;;;;;;;;-1:-1:-1;;;;;13642:17:0;;-1:-1:-1;13642:17:0;;;:9;:17;;;;;;;;:53;;13664:6;;13642:21;:53::i;:::-;-1:-1:-1;;;;;13622:17:0;;;;;;:9;:17;;;;;;;;:73;;;;13739:11;:19;;;;;;;;13738:20;:47;;;;-1:-1:-1;;;;;;13763:22:0;;;;;;:11;:22;;;;;;;;13762:23;13738:47;:93;;13825:6;13738:93;;;13788:34;13796:6;13804:9;13815:6;13788:7;:34::i;:::-;-1:-1:-1;;;;;13865:20:0;;;;;;:9;:20;;;;;;13716:115;;-1:-1:-1;13865:37:0;;13716:115;13865:24;:37::i;:::-;-1:-1:-1;;;;;13842:20:0;;;;;;;:9;:20;;;;;;;:60;;;;13920:40;;;;;;;;;;13948:11;160:25:1;;148:2;133:18;;14:177;13920:40:0;;;;;;;;-1:-1:-1;;;;;;;13971:23:0;;;;;;;:15;:23;;;;;;13997:15;13971:41;;;;14023:26;;;;;;;:44;14085:4;12869:1228;;;;;:::o;1172:136::-;1230:7;1257:43;1261:1;1264;1257:43;;;;;;;;;;;;;;;;;:3;:43::i;16145:758::-;8036:16;:23;;-1:-1:-1;;;;8036:23:0;-1:-1:-1;;;8036:23:0;;;16244:4:::1;8036:23:::0;16226:24;;;:9:::1;:24;::::0;;;;;;;16308:11:::1;::::0;16226:24;;8036:23;16291:45:::1;::::0;:38:::1;::::0;16325:3:::1;::::0;16291:38;;16226:24;;16291:16:::1;:29::i;:::-;:33:::0;::::1;:38::i;:45::-;16262:74:::0;-1:-1:-1;16352:20:0::1;16375:36;:12:::0;16262:74;16375:16:::1;:36::i;:::-;16352:59;;16424:30;16441:12;16424:16;:30::i;:::-;16467:23;16493:21;16467:47;;16525:17;16545:35;16576:3;16545:26;16565:5;;16545:15;:19;;:26;;;;:::i;:35::-;16525:55;;16591:23;16617:48;16663:1;16617:41;16654:3;16617:32;16637:11;;16617:15;:19;;:32;;;;:::i;:48::-;16591:74:::0;-1:-1:-1;16688:19:0;;16684:89:::1;;16731:9;::::0;16723:38:::1;::::0;-1:-1:-1;;;;;16731:9:0;;::::1;::::0;16723:38;::::1;;;::::0;16751:9;;16731::::1;16723:38:::0;16731:9;16723:38;16751:9;16731;16723:38;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;16684:89;16797:22:::0;;16793:103:::1;;16835:49;16848:18;16868:15;16835:12;:49::i;:::-;-1:-1:-1::0;;8082:16:0;:24;;-1:-1:-1;;;;8082:24:0;;;-1:-1:-1;;;;16145:758:0:o;4956:191::-;5030:16;5049:6;;-1:-1:-1;;;;;5066:17:0;;;-1:-1:-1;;;;;;5066:17:0;;;;;;5099:40;;5049:6;;;;;;;5099:40;;5030:16;5099:40;5019:128;4956:191;:::o;1906:345::-;1992:7;2094:12;2087:5;2079:28;;;;-1:-1:-1;;;2079:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2118:9:0;2130:5;2134:1;2130;:5;:::i;14109:330::-;14239:53;;;;;;;;;;;-1:-1:-1;;;14239:53:0;;;;;;;;-1:-1:-1;;;;;14239:17:0;;14202:4;14239:17;;;:9;:17;;;;;;;:53;;14261:6;;14239:21;:53::i;:::-;-1:-1:-1;;;;;14219:17:0;;;;;;;:9;:17;;;;;;:73;;;;14326:20;;;;;;;:32;;14351:6;14326:24;:32::i;:::-;-1:-1:-1;;;;;14303:20:0;;;;;;;:9;:20;;;;;;;:55;;;;14374:35;;;;;;;;;;14402:6;160:25:1;;148:2;133:18;;14:177;14374:35:0;;;;;;;;-1:-1:-1;14427:4:0;14109:330;;;;;:::o;985:181::-;1043:7;;1075:5;1079:1;1075;:5;:::i;:::-;1063:17;;1104:1;1099;:6;;1091:46;;;;-1:-1:-1;;;1091:46:0;;9011:2:1;1091:46:0;;;8993:21:1;9050:2;9030:18;;;9023:30;9089:29;9069:18;;;9062:57;9136:18;;1091:46:0;8809:351:1;14453:925:0;14584:15;;-1:-1:-1;;;;;14645:23:0;;14539:7;14645:23;;;:15;:23;;;;;;14539:7;;14584:15;14539:7;;14629:39;;:15;:39;:::i;:::-;14610:58;;14698:7;14687:8;:18;:42;;;;;14721:8;14709;:20;;14687:42;14683:365;;;14767:15;;14750:32;;14683:365;;;14832:8;14821;:19;:43;;;;;14856:8;14844;:20;;14821:43;14817:231;;;14902:15;;14885:32;;14817:231;;;14967:8;14956;:19;14952:96;;;15013:19;;14996:36;;14952:96;15084:4;;15060:21;;-1:-1:-1;;;;;15084:17:0;;;:4;;:17;:43;;15121:6;;15084:43;;;15104:14;15084:43;15060:67;-1:-1:-1;15138:17:0;15158:34;15188:3;15158:25;:6;15060:67;15158:10;:25::i;:34::-;15250:4;15232:24;;;;:9;:24;;;;;;15138:54;;-1:-1:-1;15232:39:0;;15138:54;15232:28;:39::i;:::-;15223:4;15205:24;;;;:9;:24;;;;;;;:66;;;;15287:42;;-1:-1:-1;;;;;15287:42:0;;;;;;;15319:9;160:25:1;;148:2;133:18;;14:177;15287:42:0;;;;;;;;15349:21;:6;15360:9;15349:10;:21::i;:::-;15342:28;14453:925;-1:-1:-1;;;;;;;;14453:925:0:o;1512:250::-;1570:7;1594:1;1599;1594:6;1590:47;;-1:-1:-1;1624:1:0;1617:8;;1590:47;1649:9;1661:5;1665:1;1661;:5;:::i;:::-;1649:17;-1:-1:-1;1694:1:0;1685:5;1689:1;1649:17;1685:5;:::i;:::-;:10;1677:56;;;;-1:-1:-1;;;1677:56:0;;9540:2:1;1677:56:0;;;9522:21:1;9579:2;9559:18;;;9552:30;9618:34;9598:18;;;9591:62;-1:-1:-1;;;9669:18:1;;;9662:31;9710:19;;1677:56:0;9338:397:1;15390:460:0;15482:16;;;15496:1;15482:16;;;;;;;;15458:21;;15482:16;;;;;;;;;;-1:-1:-1;15482:16:0;15458:40;;15527:4;15509;15514:1;15509:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15509:23:0;;;:7;;;;;;;;;;:23;;;;15553:6;;:13;;;-1:-1:-1;;;15553:13:0;;;;:6;;;;;:11;;:13;;;;;15509:7;;15553:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15543:4;15548:1;15543:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;15543:23:0;;;-1:-1:-1;;;;;15543:23:0;;;;;15579:35;15595:4;15602:11;15579:7;:35::i;:::-;-1:-1:-1;15627:6:0;;:215;;-1:-1:-1;;;15627:215:0;;-1:-1:-1;;;;;15627:6:0;;;;:57;;:215;;15699:11;;15627:6;;15769:4;;15796;;15816:15;;15627:215;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15445:405;15390:460;:::o;15858:279::-;15939:6;;16080:8;;15939:190;;-1:-1:-1;;;15939:190:0;;16002:4;15939:190;;;11322:34:1;11372:18;;;11365:34;;;15939:6:0;11415:18:1;;;11408:34;;;11458:18;;;11451:34;-1:-1:-1;;;;;16080:8:0;;;11501:19:1;;;11494:44;16103:15:0;11554:19:1;;;11547:35;15939:6:0;;;:22;;15969:9;;11256:19:1;;15939:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;15858:279;;:::o;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;934:134;1002:20;;1031:31;1002:20;1031:31;:::i;:::-;934:134;;;:::o;1073:315::-;1141:6;1149;1202:2;1190:9;1181:7;1177:23;1173:32;1170:52;;;1218:1;1215;1208:12;1170:52;1257:9;1244:23;1276:31;1301:5;1276:31;:::i;:::-;1326:5;1378:2;1363:18;;;;1350:32;;-1:-1:-1;;;1073:315:1:o;1585:247::-;1644:6;1697:2;1685:9;1676:7;1672:23;1668:32;1665:52;;;1713:1;1710;1703:12;1665:52;1752:9;1739:23;1771:31;1796:5;1771:31;:::i;1837:456::-;1914:6;1922;1930;1983:2;1971:9;1962:7;1958:23;1954:32;1951:52;;;1999:1;1996;1989:12;1951:52;2038:9;2025:23;2057:31;2082:5;2057:31;:::i;:::-;2107:5;-1:-1:-1;2164:2:1;2149:18;;2136:32;2177:33;2136:32;2177:33;:::i;:::-;1837:456;;2229:7;;-1:-1:-1;;;2283:2:1;2268:18;;;;2255:32;;1837:456::o;2487:160::-;2552:20;;2608:13;;2601:21;2591:32;;2581:60;;2637:1;2634;2627:12;2652:248;2717:6;2725;2778:2;2766:9;2757:7;2753:23;2749:32;2746:52;;;2794:1;2791;2784:12;2746:52;2817:26;2833:9;2817:26;:::i;2905:385::-;2991:6;2999;3007;3015;3068:3;3056:9;3047:7;3043:23;3039:33;3036:53;;;3085:1;3082;3075:12;3036:53;-1:-1:-1;;3108:23:1;;;3178:2;3163:18;;3150:32;;-1:-1:-1;3229:2:1;3214:18;;3201:32;;3280:2;3265:18;3252:32;;-1:-1:-1;2905:385:1;-1:-1:-1;2905:385:1:o;3295:180::-;3354:6;3407:2;3395:9;3386:7;3382:23;3378:32;3375:52;;;3423:1;3420;3413:12;3375:52;-1:-1:-1;3446:23:1;;3295:180;-1:-1:-1;3295:180:1:o;3688:315::-;3753:6;3761;3814:2;3802:9;3793:7;3789:23;3785:32;3782:52;;;3830:1;3827;3820:12;3782:52;3869:9;3856:23;3888:31;3913:5;3888:31;:::i;:::-;3938:5;-1:-1:-1;3962:35:1;3993:2;3978:18;;3962:35;:::i;:::-;3952:45;;3688:315;;;;;:::o;4008:127::-;4069:10;4064:3;4060:20;4057:1;4050:31;4100:4;4097:1;4090:15;4124:4;4121:1;4114:15;4140:1121;4224:6;4255:2;4298;4286:9;4277:7;4273:23;4269:32;4266:52;;;4314:1;4311;4304:12;4266:52;4354:9;4341:23;4383:18;4424:2;4416:6;4413:14;4410:34;;;4440:1;4437;4430:12;4410:34;4478:6;4467:9;4463:22;4453:32;;4523:7;4516:4;4512:2;4508:13;4504:27;4494:55;;4545:1;4542;4535:12;4494:55;4581:2;4568:16;4603:2;4599;4596:10;4593:36;;;4609:18;;:::i;:::-;4655:2;4652:1;4648:10;4687:2;4681:9;4750:2;4746:7;4741:2;4737;4733:11;4729:25;4721:6;4717:38;4805:6;4793:10;4790:22;4785:2;4773:10;4770:18;4767:46;4764:72;;;4816:18;;:::i;:::-;4852:2;4845:22;4902:18;;;4936:15;;;;-1:-1:-1;4978:11:1;;;4974:20;;;5006:19;;;5003:39;;;5038:1;5035;5028:12;5003:39;5062:11;;;;5082:148;5098:6;5093:3;5090:15;5082:148;;;5164:23;5183:3;5164:23;:::i;:::-;5152:36;;5115:12;;;;5208;;;;5082:148;;5266:248;5334:6;5342;5395:2;5383:9;5374:7;5370:23;5366:32;5363:52;;;5411:1;5408;5401:12;5363:52;-1:-1:-1;;5434:23:1;;;5504:2;5489:18;;;5476:32;;-1:-1:-1;5266:248:1:o;5519:388::-;5587:6;5595;5648:2;5636:9;5627:7;5623:23;5619:32;5616:52;;;5664:1;5661;5654:12;5616:52;5703:9;5690:23;5722:31;5747:5;5722:31;:::i;:::-;5772:5;-1:-1:-1;5829:2:1;5814:18;;5801:32;5842:33;5801:32;5842:33;:::i;:::-;5894:7;5884:17;;;5519:388;;;;;:::o;6138:356::-;6340:2;6322:21;;;6359:18;;;6352:30;6418:34;6413:2;6398:18;;6391:62;6485:2;6470:18;;6138:356::o;6499:127::-;6560:10;6555:3;6551:20;6548:1;6541:31;6591:4;6588:1;6581:15;6615:4;6612:1;6605:15;6631:127;6692:10;6687:3;6683:20;6680:1;6673:31;6723:4;6720:1;6713:15;6747:4;6744:1;6737:15;6763:135;6802:3;6823:17;;;6820:43;;6843:18;;:::i;:::-;-1:-1:-1;6890:1:1;6879:13;;6763:135::o;7310:125::-;7350:4;7378:1;7375;7372:8;7369:34;;;7383:18;;:::i;:::-;-1:-1:-1;7420:9:1;;7310:125::o;8454:217::-;8494:1;8520;8510:132;;8564:10;8559:3;8555:20;8552:1;8545:31;8599:4;8596:1;8589:15;8627:4;8624:1;8617:15;8510:132;-1:-1:-1;8656:9:1;;8454:217::o;8676:128::-;8716:3;8747:1;8743:6;8740:1;8737:13;8734:39;;;8753:18;;:::i;:::-;-1:-1:-1;8789:9:1;;8676:128::o;9165:168::-;9205:7;9271:1;9267;9263:6;9259:14;9256:1;9253:21;9248:1;9241:9;9234:17;9230:45;9227:71;;;9278:18;;:::i;:::-;-1:-1:-1;9318:9:1;;9165:168::o;9740:251::-;9810:6;9863:2;9851:9;9842:7;9838:23;9834:32;9831:52;;;9879:1;9876;9869:12;9831:52;9911:9;9905:16;9930:31;9955:5;9930:31;:::i;9996:980::-;10258:4;10306:3;10295:9;10291:19;10337:6;10326:9;10319:25;10363:2;10401:6;10396:2;10385:9;10381:18;10374:34;10444:3;10439:2;10428:9;10424:18;10417:31;10468:6;10503;10497:13;10534:6;10526;10519:22;10572:3;10561:9;10557:19;10550:26;;10611:2;10603:6;10599:15;10585:29;;10632:1;10642:195;10656:6;10653:1;10650:13;10642:195;;;10721:13;;-1:-1:-1;;;;;10717:39:1;10705:52;;10812:15;;;;10777:12;;;;10753:1;10671:9;10642:195;;;-1:-1:-1;;;;;;;10893:32:1;;;;10888:2;10873:18;;10866:60;-1:-1:-1;;;10957:3:1;10942:19;10935:35;10854:3;9996:980;-1:-1:-1;;;9996:980:1:o;11593:306::-;11681:6;11689;11697;11750:2;11738:9;11729:7;11725:23;11721:32;11718:52;;;11766:1;11763;11756:12;11718:52;11795:9;11789:16;11779:26;;11845:2;11834:9;11830:18;11824:25;11814:35;;11889:2;11878:9;11874:18;11868:25;11858:35;;11593:306;;;;;:::o
Swarm Source
ipfs://4987c07efc9ccb58a73d6cb6c4dca52e1b52e4d64e2ceb0c6c8cbe64a64e8585
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.