Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
420,690,000,000 LEFT
Holders
223
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.797431710390052137 LEFTValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
LeftCurveCoin
Compiler Version
v0.7.6+commit.7338295f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-05-09 */ // SPDX-License-Identifier: MIT // $LEFT CURVE COIN: "left curve see coin, left curve buy coin" // https://t.me/LeftCoin // https://twitter.com/leftcoineth pragma solidity ^0.7.6; 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; } } /** * BEP20 standard interface. */ interface IBEP20 { 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 Auth { address public owner; mapping(address => bool) internal authorizations; constructor(address _owner) { owner = _owner; authorizations[_owner] = true; } modifier onlyOwner() { require(isOwner(msg.sender), "!OWNER"); _; } modifier authorized() { require(isAuthorized(msg.sender), "!AUTHORIZED"); _; } function authorize(address adr) public onlyOwner { authorizations[adr] = true; } function unauthorize(address adr) public onlyOwner { authorizations[adr] = false; } function isOwner(address account) public view returns (bool) { return account == owner; } function isAuthorized(address adr) public view returns (bool) { return authorizations[adr]; } function transferOwnership(address payable adr) public onlyOwner { owner = adr; authorizations[adr] = true; emit OwnershipTransferred(adr); } event OwnershipTransferred(address owner); } interface IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); function getPair(address tokenA, address tokenB) external view returns (address pair); } interface IDEXRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function getAmountOut( uint256 amountIn, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountOut); function getAmountsOut(uint256 amountIn, address[] calldata path) external view returns (uint256[] memory amounts); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function removeLiquidityETH( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountToken, uint256 amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } contract LeftCurveCoin is IBEP20, Auth { using SafeMath for uint256; // WETH 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 address WBNB = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; address DEAD = 0x000000000000000000000000000000000000dEaD; address ZERO = 0x0000000000000000000000000000000000000000; address DEV; string constant _name = "Left Curve Coin"; string constant _symbol = "LEFT"; uint8 constant _decimals = 18; uint256 _totalSupply = 420_690_000_000 * 1e18; uint256 public _maxTxAmount = _totalSupply; uint256 public _maxWalletToken = (_totalSupply * 2) / 100; // 2% of total supply mapping(address => uint256) _balances; mapping(address => mapping(address => uint256)) _allowances; bool public blacklistMode = false; mapping(address => bool) public isBlacklisted; mapping(address => bool) isFeeExempt; mapping(address => bool) isTxLimitExempt; mapping(address => bool) isTimelockExempt; uint256 public liquidityFee = 0; uint256 public marketingFee = 90; uint256 public devFee = 0; uint256 public totalFee = marketingFee + liquidityFee + devFee; uint256 public feeDenominator = 100; uint256 public sellMultiplier = 0; address public autoLiquidityReceiver; address public marketingFeeReceiver; address public devFeeReceiver; uint256 targetLiquidity = 20; uint256 targetLiquidityDenominator = 100; IDEXRouter public router; address public pair; bool public tradingOpen = false; bool public buyCooldownEnabled = false; uint8 public cooldownTimerInterval = 1; mapping(address => uint256) private cooldownTimer; bool public swapEnabled = true; uint256 public swapThreshold = (_totalSupply * 30) / 10000; bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor() Auth(msg.sender) { DEV = msg.sender; // Uniswap V2 - 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); pair = IDEXFactory(router.factory()).createPair(WBNB, address(this)); _allowances[address(this)][address(router)] = uint256(-1); isFeeExempt[msg.sender] = true; isFeeExempt[address(DEV)] = true; isTxLimitExempt[msg.sender] = true; isTxLimitExempt[address(DEV)] = true; isTimelockExempt[msg.sender] = true; isTimelockExempt[address(DEV)] = true; isTimelockExempt[DEAD] = true; isTimelockExempt[address(this)] = true; isTimelockExempt[address(DEV)] = true; autoLiquidityReceiver = address(DEV); marketingFeeReceiver = address(DEV); devFeeReceiver = address(DEV); _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } receive() external payable {} 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, uint256(-1)); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom( address sender, address recipient, uint256 amount ) external override returns (bool) { if (_allowances[sender][msg.sender] != uint256(-1)) { _allowances[sender][msg.sender] = _allowances[sender][msg.sender] .sub(amount, "Insufficient Allowance"); } return _transferFrom(sender, recipient, amount); } function setMaxWalletPercent_base1000(uint256 maxWallPercent_base1000) external onlyOwner { _maxWalletToken = (_totalSupply * maxWallPercent_base1000) / 1000; } function setMaxTxPercent_base1000(uint256 maxTXPercentage_base1000) external onlyOwner { _maxTxAmount = (_totalSupply * maxTXPercentage_base1000) / 1000; } function setTxLimit(uint256 amount) external authorized { _maxTxAmount = amount; } function setSwapPair(address _pair) external authorized { pair = _pair; } function _transferFrom( address sender, address recipient, uint256 amount ) internal returns (bool) { if (inSwap) { return _basicTransfer(sender, recipient, amount); } if (!authorizations[sender] && !authorizations[recipient]) { require(tradingOpen, "Trading not open yet"); } // Blacklist if (blacklistMode) { require( !isBlacklisted[sender] && !isBlacklisted[recipient], "Blacklisted" ); } if ( !authorizations[sender] && recipient != address(this) && recipient != address(DEAD) && recipient != pair && recipient != marketingFeeReceiver && recipient != devFeeReceiver && recipient != autoLiquidityReceiver ) { uint256 heldTokens = balanceOf(recipient); require( (heldTokens + amount) <= _maxWalletToken, "Total Holding is currently limited, you can not buy that much." ); } if ( sender == pair && buyCooldownEnabled && !isTimelockExempt[recipient] ) { require( cooldownTimer[recipient] < block.timestamp, "Please wait for 1min between two buys" ); cooldownTimer[recipient] = block.timestamp + cooldownTimerInterval; } // Checks max transaction limit checkTxLimit(sender, amount); if (shouldSwapBack()) { swapBack(); } //Exchange tokens _balances[sender] = _balances[sender].sub( amount, "Insufficient Balance" ); uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, amount, (recipient == pair)) : amount; _balances[recipient] = _balances[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); 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 checkTxLimit(address sender, uint256 amount) internal view { require( amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded" ); } function shouldTakeFee(address sender) internal view returns (bool) { return !isFeeExempt[sender]; } function takeFee( address sender, uint256 amount, bool isSell ) internal returns (uint256) { uint256 multiplier = isSell ? sellMultiplier : 100; uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div( feeDenominator * 100 ); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount); } function shouldSwapBack() internal view returns (bool) { return msg.sender != pair && !inSwap && swapEnabled && _balances[address(this)] >= swapThreshold; } function clearStuckBalance(uint256 amountPercentage) external authorized { uint256 amountBNB = address(this).balance; payable(marketingFeeReceiver).transfer( (amountBNB * amountPercentage) / 100 ); } function clearStuckBalance_sender(uint256 amountPercentage) external authorized { uint256 amountBNB = address(this).balance; payable(msg.sender).transfer((amountBNB * amountPercentage) / 100); } function set_sell_multiplier(uint256 _multiplier) public onlyOwner { sellMultiplier = _multiplier; } // switch Trading function tradingStatus(bool _status) public onlyOwner { tradingOpen = _status; } // enable cooldown between trades function cooldownEnabled(bool _status, uint8 _interval) public onlyOwner { buyCooldownEnabled = _status; cooldownTimerInterval = _interval; } function swapBack() internal swapping { uint256 dynamicLiquidityFee = isOverLiquified( targetLiquidity, targetLiquidityDenominator ) ? 0 : liquidityFee; uint256 amountToLiquify = swapThreshold .mul(dynamicLiquidityFee) .div(totalFee) .div(2); uint256 amountToSwap = swapThreshold.sub(amountToLiquify); address[] memory path = new address[](2); path[0] = address(this); path[1] = WBNB; uint256 balanceBefore = address(this).balance; router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountBNB = address(this).balance.sub(balanceBefore); uint256 totalBNBFee = totalFee.sub(dynamicLiquidityFee.div(2)); uint256 amountBNBLiquidity = amountBNB .mul(dynamicLiquidityFee) .div(totalBNBFee) .div(2); uint256 amountBNBMarketing = amountBNB.mul(marketingFee).div( totalBNBFee ); uint256 amountBNBDev = amountBNB.mul(devFee).div(totalBNBFee); (bool tmpSuccess, ) = payable(marketingFeeReceiver).call{ value: amountBNBMarketing, gas: 30000 }(""); (tmpSuccess, ) = payable(devFeeReceiver).call{ value: amountBNBDev, gas: 30000 }(""); // Supress warning msg tmpSuccess = false; if (amountToLiquify > 0) { router.addLiquidityETH{value: amountBNBLiquidity}( address(this), amountToLiquify, 0, 0, autoLiquidityReceiver, block.timestamp ); emit AutoLiquify(amountBNBLiquidity, amountToLiquify); } } function enable_blacklist(bool _status) public onlyOwner { blacklistMode = _status; } function manage_blacklist(address[] calldata addresses, bool status) public onlyOwner { for (uint256 i; i < addresses.length; ++i) { isBlacklisted[addresses[i]] = status; } } function setIsFeeExempt(address holder, bool exempt) external authorized { isFeeExempt[holder] = exempt; } function setIsTxLimitExempt(address holder, bool exempt) external authorized { isTxLimitExempt[holder] = exempt; } function setIsTimelockExempt(address holder, bool exempt) external authorized { isTimelockExempt[holder] = exempt; } function setFees( uint256 _liquidityFee, uint256 _marketingFee, uint256 _feeDenominator ) external authorized { liquidityFee = _liquidityFee; marketingFee = _marketingFee; devFee = 0; totalFee = _liquidityFee.add(_marketingFee).add(devFee); feeDenominator = _feeDenominator; require(totalFee < feeDenominator / 3, "Fees cannot be more than 33%"); } function setFeeReceivers( address _autoLiquidityReceiver, address _marketingFeeReceiver, address _devFeeReceiver ) external authorized { autoLiquidityReceiver = _autoLiquidityReceiver; marketingFeeReceiver = _marketingFeeReceiver; devFeeReceiver = _devFeeReceiver; } function setSwapBackSettings(bool _enabled, uint256 _amount) external authorized { swapEnabled = _enabled; swapThreshold = _amount; } function setTargetLiquidity(uint256 _target, uint256 _denominator) external authorized { targetLiquidity = _target; targetLiquidityDenominator = _denominator; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO)); } function getLiquidityBacking(uint256 accuracy) public view returns (uint256) { return accuracy.mul(balanceOf(pair).mul(2)).div(getCirculatingSupply()); } function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) { return getLiquidityBacking(accuracy) > target; } event AutoLiquify(uint256 amountBNB, uint256 amountBOG); }
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":"amountBNB","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","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":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blacklistMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyCooldownEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance_sender","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"},{"internalType":"uint8","name":"_interval","type":"uint8"}],"name":"cooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cooldownTimerInterval","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"devFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enable_blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","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":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMultiplier","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_devFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTimelockExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTXPercentage_base1000","type":"uint256"}],"name":"setMaxTxPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent_base1000","type":"uint256"}],"name":"setMaxWalletPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"setSwapPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_target","type":"uint256"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setTargetLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_multiplier","type":"uint256"}],"name":"set_sell_multiplier","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","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":"totalFee","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":"bool","name":"_status","type":"bool"}],"name":"tradingStatus","outputs":[],"stateMutability":"nonpayable","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 payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506c054f529ca52576bc68920000006006556006546007556064600260065402816200010557fe5b046008556000600b60006101000a81548160ff0219169083151502179055506000601055605a601155600060125560125460105460115401016013556064601455600060155560146019556064601a556000601c60146101000a81548160ff0219169083151502179055506000601c60156101000a81548160ff0219169083151502179055506001601c60166101000a81548160ff021916908360ff1602179055506001601e60006101000a81548160ff021916908315150217905550612710601e6006540281620001d357fe5b04601f55348015620001e457600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505033600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737a250d5630b4cf539739df2c5dacb4c659f2488d601b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200037d57600080fd5b505afa15801562000392573d6000803e3d6000fd5b505050506040513d6020811015620003a957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c9c65396600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156200046357600080fd5b505af115801562000478573d6000803e3d6000fd5b505050506040513d60208110156200048f57600080fd5b8101908080519060200190929190505050601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006546040518082815260200191505060405180910390a36146588062000b4c6000396000f3fe6080604052600436106103855760003560e01c806378109e54116101d1578063d51ed1c811610102578063f0b37c04116100a0578063fe575a871161006f578063fe575a871461135d578063fe9fbb80146113c4578063fed0d2a11461142b578063ffb54a99146114565761038c565b8063f0b37c041461121d578063f2fde38b1461126e578063f84ba65d146112bf578063f887ea401461131c5761038c565b8063dd62ed3e116100dc578063dd62ed3e146110d5578063df20fd491461115a578063e96fada2146111a1578063ec72d65f146111e25761038c565b8063d51ed1c814610fb4578063d7c0103214611003578063dab84ee7146110945761038c565b806398118cb41161016f578063b6a5d7de11610149578063b6a5d7de14610e98578063bd9ab53714610ee9578063ca33e64c14610f24578063cec10c1114610f655761038c565b806398118cb414610dbb578063a8aa1b3114610de6578063a9059cbb14610e275761038c565b8063896648c1116101ab578063896648c114610c2b5780638da5cb5b14610c585780638e2eee8414610c9957806395d89b4114610d2b5761038c565b806378109e5414610b945780637d1db4a514610bbf578063893d20e814610bea5761038c565b80632f54bf6e116102b6578063617fe0ed116102545780636ddd1713116102235780636ddd171314610a8357806370a0823114610ab0578063722b62ad14610b1557806373a432bb14610b435761038c565b8063617fe0ed146109a3578063658d4b7f146109d05780636827e76414610a2d5780636b67c4df14610a585761038c565b806350db71fb1161029057806350db71fb14610867578063571ac8b0146108c45780635c85974f1461092b5780635e562f3b146109665761038c565b80632f54bf6e14610797578063313ce567146107fe57806344a33fd21461082c5761038c565b806318160ddd11610323578063201e7991116102fd578063201e79911461064c57806323b872dd146106915780632b112e49146107225780632d5945671461074d5761038c565b806318160ddd146105bb5780631da1db5e146105e65780631df4ccfc146106215761038c565b8063095ea7b31161035f578063095ea7b3146104875780630d295980146104f85780631161ae3914610535578063180b0d7e146105905761038c565b80630445b6671461039157806306fdde03146103bc57806309302dc61461044c5761038c565b3661038c57005b600080fd5b34801561039d57600080fd5b506103a6611483565b6040518082815260200191505060405180910390f35b3480156103c857600080fd5b506103d1611489565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104115780820151818401526020810190506103f6565b50505050905090810190601f16801561043e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561045857600080fd5b506104856004803603602081101561046f57600080fd5b81019080803590602001909291905050506114c6565b005b34801561049357600080fd5b506104e0600480360360408110156104aa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061155a565b60405180821515815260200191505060405180910390f35b34801561050457600080fd5b506105336004803603602081101561051b57600080fd5b8101908080351515906020019092919050505061164c565b005b34801561054157600080fd5b506105786004803603604081101561055857600080fd5b8101908080359060200190929190803590602001909291905050506116e4565b60405180821515815260200191505060405180910390f35b34801561059c57600080fd5b506105a56116f9565b6040518082815260200191505060405180910390f35b3480156105c757600080fd5b506105d06116ff565b6040518082815260200191505060405180910390f35b3480156105f257600080fd5b5061061f6004803603602081101561060957600080fd5b8101908080359060200190929190505050611709565b005b34801561062d57600080fd5b50610636611802565b6040518082815260200191505060405180910390f35b34801561065857600080fd5b5061068f6004803603604081101561066f57600080fd5b810190808035906020019092919080359060200190929190505050611808565b005b34801561069d57600080fd5b5061070a600480360360608110156106b457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611895565b60405180821515815260200191505060405180910390f35b34801561072e57600080fd5b50610737611a95565b6040518082815260200191505060405180910390f35b34801561075957600080fd5b506107956004803603604081101561077057600080fd5b81019080803515159060200190929190803560ff169060200190929190505050611b17565b005b3480156107a357600080fd5b506107e6600480360360208110156107ba57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611bcb565b60405180821515815260200191505060405180910390f35b34801561080a57600080fd5b50610813611c24565b604051808260ff16815260200191505060405180910390f35b34801561083857600080fd5b506108656004803603602081101561084f57600080fd5b8101908080359060200190929190505050611c2d565b005b34801561087357600080fd5b506108c26004803603604081101561088a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611d04565b005b3480156108d057600080fd5b50610913600480360360208110156108e757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dda565b60405180821515815260200191505060405180910390f35b34801561093757600080fd5b506109646004803603602081101561094e57600080fd5b8101908080359060200190929190505050611e0d565b005b34801561097257600080fd5b506109a16004803603602081101561098957600080fd5b81019080803515159060200190929190505050611e92565b005b3480156109af57600080fd5b506109b8611f2a565b60405180821515815260200191505060405180910390f35b3480156109dc57600080fd5b50610a2b600480360360408110156109f357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611f3d565b005b348015610a3957600080fd5b50610a42612013565b6040518082815260200191505060405180910390f35b348015610a6457600080fd5b50610a6d612019565b6040518082815260200191505060405180910390f35b348015610a8f57600080fd5b50610a9861201f565b60405180821515815260200191505060405180910390f35b348015610abc57600080fd5b50610aff60048036036020811015610ad357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612032565b6040518082815260200191505060405180910390f35b348015610b2157600080fd5b50610b2a61207b565b604051808260ff16815260200191505060405180910390f35b348015610b4f57600080fd5b50610b9260048036036020811015610b6657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061208e565b005b348015610ba057600080fd5b50610ba961214d565b6040518082815260200191505060405180910390f35b348015610bcb57600080fd5b50610bd4612153565b6040518082815260200191505060405180910390f35b348015610bf657600080fd5b50610bff612159565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c3757600080fd5b50610c40612182565b60405180821515815260200191505060405180910390f35b348015610c6457600080fd5b50610c6d612195565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610ca557600080fd5b50610d2960048036036040811015610cbc57600080fd5b8101908080359060200190640100000000811115610cd957600080fd5b820183602082011115610ceb57600080fd5b80359060200191846020830284011164010000000083111715610d0d57600080fd5b90919293919293908035151590602001909291905050506121b9565b005b348015610d3757600080fd5b50610d406122d2565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d80578082015181840152602081019050610d65565b50505050905090810190601f168015610dad5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610dc757600080fd5b50610dd061230f565b6040518082815260200191505060405180910390f35b348015610df257600080fd5b50610dfb612315565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610e3357600080fd5b50610e8060048036036040811015610e4a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061233b565b60405180821515815260200191505060405180910390f35b348015610ea457600080fd5b50610ee760048036036020811015610ebb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612350565b005b348015610ef557600080fd5b50610f2260048036036020811015610f0c57600080fd5b8101908080359060200190929190505050612425565b005b348015610f3057600080fd5b50610f396124b9565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610f7157600080fd5b50610fb260048036036060811015610f8857600080fd5b810190808035906020019092919080359060200190929190803590602001909291905050506124df565b005b348015610fc057600080fd5b50610fed60048036036020811015610fd757600080fd5b810190808035906020019092919050505061262c565b6040518082815260200191505060405180910390f35b34801561100f57600080fd5b506110926004803603606081101561102657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061269e565b005b3480156110a057600080fd5b506110a96127e1565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156110e157600080fd5b50611144600480360360408110156110f857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612807565b6040518082815260200191505060405180910390f35b34801561116657600080fd5b5061119f6004803603604081101561117d57600080fd5b810190808035151590602001909291908035906020019092919050505061288e565b005b3480156111ad57600080fd5b506111b661292e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156111ee57600080fd5b5061121b6004803603602081101561120557600080fd5b8101908080359060200190929190505050612954565b005b34801561122957600080fd5b5061126c6004803603602081101561124057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506129d9565b005b34801561127a57600080fd5b506112bd6004803603602081101561129157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612aaf565b005b3480156112cb57600080fd5b5061131a600480360360408110156112e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050612c11565b005b34801561132857600080fd5b50611331612ce7565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561136957600080fd5b506113ac6004803603602081101561138057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612d0d565b60405180821515815260200191505060405180910390f35b3480156113d057600080fd5b50611413600480360360208110156113e757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612d2d565b60405180821515815260200191505060405180910390f35b34801561143757600080fd5b50611440612d83565b6040518082815260200191505060405180910390f35b34801561146257600080fd5b5061146b612d89565b60405180821515815260200191505060405180910390f35b601f5481565b60606040518060400160405280600f81526020017f4c65667420437572766520436f696e0000000000000000000000000000000000815250905090565b6114cf33611bcb565b611541576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6103e881600654028161155057fe5b0460088190555050565b600081600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b61165533611bcb565b6116c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80601c60146101000a81548160ff02191690831515021790555050565b6000826116f08361262c565b11905092915050565b60145481565b6000600654905090565b61171233612d2d565b611784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000479050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6064848402816117d157fe5b049081150290604051600060405180830381858888f193505050501580156117fd573d6000803e3d6000fd5b505050565b60135481565b61181133612d2d565b611883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b8160198190555080601a819055505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611a8157611a00826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d9c9092919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b611a8c848484612e5c565b90509392505050565b6000611b12611ac5600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612032565b611b04611af3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612032565b6006546137b090919063ffffffff16565b6137b090919063ffffffff16565b905090565b611b2033611bcb565b611b92576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b81601c60156101000a81548160ff02191690831515021790555080601c60166101000a81548160ff021916908360ff1602179055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006012905090565b611c3633612d2d565b611ca8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b60004790503373ffffffffffffffffffffffffffffffffffffffff166108fc606484840281611cd357fe5b049081150290604051600060405180830381858888f19350505050158015611cff573d6000803e3d6000fd5b505050565b611d0d33612d2d565b611d7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000611e06827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61155a565b9050919050565b611e1633612d2d565b611e88576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b8060078190555050565b611e9b33611bcb565b611f0d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600b60006101000a81548160ff02191690831515021790555050565b601c60159054906101000a900460ff1681565b611f4633612d2d565b611fb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60125481565b60115481565b601e60009054906101000a900460ff1681565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b601c60169054906101000a900460ff1681565b61209733612d2d565b612109576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b80601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60085481565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b60009054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6121c233611bcb565b612234576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60005b838390508110156122cc5781600c600086868581811061225357fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550806001019050612237565b50505050565b60606040518060400160405280600481526020017f4c45465400000000000000000000000000000000000000000000000000000000815250905090565b60105481565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000612348338484612e5c565b905092915050565b61235933611bcb565b6123cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61242e33611bcb565b6124a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6103e88160065402816124af57fe5b0460078190555050565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6124e833612d2d565b61255a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b8260108190555081601181905550600060128190555061259760125461258984866137fa90919063ffffffff16565b6137fa90919063ffffffff16565b601381905550806014819055506003601454816125b057fe5b0460135410612627576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f466565732063616e6e6f74206265206d6f7265207468616e203333250000000081525060200191505060405180910390fd5b505050565b6000612697612639611a95565b61268961267a600261266c601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612032565b61388290919063ffffffff16565b8561388290919063ffffffff16565b61390890919063ffffffff16565b9050919050565b6126a733612d2d565b612719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b82601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61289733612d2d565b612909576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b81601e60006101000a81548160ff02191690831515021790555080601f819055505050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61295d33611bcb565b6129cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8060158190555050565b6129e233611bcb565b612a54576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b612ab833611bcb565b612b2a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616381604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b612c1a33612d2d565b612c8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c6020528060005260406000206000915054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60155481565b601c60149054906101000a900460ff1681565b6000838311158290612e49576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612e0e578082015181840152602081019050612df3565b50505050905090810190601f168015612e3b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000602060009054906101000a900460ff1615612e8557612e7e848484613952565b90506137a9565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612f295750600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612fb157601c60149054906101000a900460ff16612fb0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f54726164696e67206e6f74206f70656e2079657400000000000000000000000081525060200191505060405180910390fd5b5b600b60009054906101000a900460ff16156130dd57600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561306a5750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6130dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f426c61636b6c697374656400000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561316357503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156131bd5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156132175750601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156132715750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156132cb5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156133255750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561339657600061333584612032565b90506008548382011115613394576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603e8152602001806145e5603e913960400191505060405180910390fd5b505b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156133ff5750601c60159054906101000a900460ff165b80156134555750600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561354a5742601d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106134f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061459f6025913960400191505060405180910390fd5b601c60169054906101000a900460ff1660ff164201601d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6135548483613b25565b61355c613bf5565b1561356a57613569613ccc565b5b6135f3826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d9c9092919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061364185614312565b61364b57826136a7565b6136a68584601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614614369565b5b90506136fb81600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546137fa90919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a360019150505b9392505050565b60006137f283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612d9c565b905092915050565b600080828401905083811015613878576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000808314156138955760009050613902565b60008284029050828482816138a657fe5b04146138fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806145c46021913960400191505060405180910390fd5b809150505b92915050565b600061394a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506144d8565b905092915050565b60006139dd826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d9c9092919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613a7282600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546137fa90919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60075481111580613b7f5750600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b613bf1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5458204c696d697420457863656564656400000000000000000000000000000081525060200191505060405180910390fd5b5050565b6000601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015613c625750602060009054906101000a900460ff16155b8015613c7a5750601e60009054906101000a900460ff165b8015613cc75750601f54600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001602060006101000a81548160ff0219169083151502179055506000613cf7601954601a546116e4565b613d0357601054613d06565b60005b90506000613d466002613d38601354613d2a86601f5461388290919063ffffffff16565b61390890919063ffffffff16565b61390890919063ffffffff16565b90506000613d5f82601f546137b090919063ffffffff16565b90506000600267ffffffffffffffff81118015613d7b57600080fd5b50604051908082528060200260200182016040528015613daa5781602001602082028036833780820191505090505b5090503081600081518110613dbb57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110613e2557fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015613f28578082015181840152602081019050613f0d565b505050509050019650505050505050600060405180830381600087803b158015613f5157600080fd5b505af1158015613f65573d6000803e3d6000fd5b505050506000613f7e82476137b090919063ffffffff16565b90506000613faa613f9960028961390890919063ffffffff16565b6013546137b090919063ffffffff16565b90506000613fe66002613fd884613fca8c8861388290919063ffffffff16565b61390890919063ffffffff16565b61390890919063ffffffff16565b90506000614011836140036011548761388290919063ffffffff16565b61390890919063ffffffff16565b9050600061403c8461402e6012548861388290919063ffffffff16565b61390890919063ffffffff16565b90506000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168361753090604051806000019050600060405180830381858888f193505050503d80600081146140c5576040519150601f19603f3d011682016040523d82523d6000602084013e6140ca565b606091505b50509050601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168261753090604051806000019050600060405180830381858888f193505050503d8060008114614153576040519150601f19603f3d011682016040523d82523d6000602084013e614158565b606091505b5050809150506000905060008a11156142ea57601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71985308d600080601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b15801561425757600080fd5b505af115801561426b573d6000803e3d6000fd5b50505050506040513d606081101561428257600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050505050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506848b604051808381526020018281526020019250505060405180910390a15b50505050505050505050506000602060006101000a81548160ff021916908315150217905550565b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b6000808261437857606461437c565b6015545b905060006143be6064601454026143b0846143a26013548a61388290919063ffffffff16565b61388290919063ffffffff16565b61390890919063ffffffff16565b905061441281600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546137fa90919063ffffffff16565b600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36144cd81866137b090919063ffffffff16565b925050509392505050565b60008083118290614584576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561454957808201518184015260208101905061452e565b50505050905090810190601f1680156145765780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161459057fe5b04905080915050939250505056fe506c65617365207761697420666f7220316d696e206265747765656e2074776f2062757973536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77546f74616c20486f6c64696e672069732063757272656e746c79206c696d697465642c20796f752063616e206e6f74206275792074686174206d7563682ea2646970667358221220cd2de7f995961322b85a937d23addb4958bd31730789c53c4e139bfc770ba5cf64736f6c63430007060033
Deployed Bytecode
0x6080604052600436106103855760003560e01c806378109e54116101d1578063d51ed1c811610102578063f0b37c04116100a0578063fe575a871161006f578063fe575a871461135d578063fe9fbb80146113c4578063fed0d2a11461142b578063ffb54a99146114565761038c565b8063f0b37c041461121d578063f2fde38b1461126e578063f84ba65d146112bf578063f887ea401461131c5761038c565b8063dd62ed3e116100dc578063dd62ed3e146110d5578063df20fd491461115a578063e96fada2146111a1578063ec72d65f146111e25761038c565b8063d51ed1c814610fb4578063d7c0103214611003578063dab84ee7146110945761038c565b806398118cb41161016f578063b6a5d7de11610149578063b6a5d7de14610e98578063bd9ab53714610ee9578063ca33e64c14610f24578063cec10c1114610f655761038c565b806398118cb414610dbb578063a8aa1b3114610de6578063a9059cbb14610e275761038c565b8063896648c1116101ab578063896648c114610c2b5780638da5cb5b14610c585780638e2eee8414610c9957806395d89b4114610d2b5761038c565b806378109e5414610b945780637d1db4a514610bbf578063893d20e814610bea5761038c565b80632f54bf6e116102b6578063617fe0ed116102545780636ddd1713116102235780636ddd171314610a8357806370a0823114610ab0578063722b62ad14610b1557806373a432bb14610b435761038c565b8063617fe0ed146109a3578063658d4b7f146109d05780636827e76414610a2d5780636b67c4df14610a585761038c565b806350db71fb1161029057806350db71fb14610867578063571ac8b0146108c45780635c85974f1461092b5780635e562f3b146109665761038c565b80632f54bf6e14610797578063313ce567146107fe57806344a33fd21461082c5761038c565b806318160ddd11610323578063201e7991116102fd578063201e79911461064c57806323b872dd146106915780632b112e49146107225780632d5945671461074d5761038c565b806318160ddd146105bb5780631da1db5e146105e65780631df4ccfc146106215761038c565b8063095ea7b31161035f578063095ea7b3146104875780630d295980146104f85780631161ae3914610535578063180b0d7e146105905761038c565b80630445b6671461039157806306fdde03146103bc57806309302dc61461044c5761038c565b3661038c57005b600080fd5b34801561039d57600080fd5b506103a6611483565b6040518082815260200191505060405180910390f35b3480156103c857600080fd5b506103d1611489565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104115780820151818401526020810190506103f6565b50505050905090810190601f16801561043e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561045857600080fd5b506104856004803603602081101561046f57600080fd5b81019080803590602001909291905050506114c6565b005b34801561049357600080fd5b506104e0600480360360408110156104aa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061155a565b60405180821515815260200191505060405180910390f35b34801561050457600080fd5b506105336004803603602081101561051b57600080fd5b8101908080351515906020019092919050505061164c565b005b34801561054157600080fd5b506105786004803603604081101561055857600080fd5b8101908080359060200190929190803590602001909291905050506116e4565b60405180821515815260200191505060405180910390f35b34801561059c57600080fd5b506105a56116f9565b6040518082815260200191505060405180910390f35b3480156105c757600080fd5b506105d06116ff565b6040518082815260200191505060405180910390f35b3480156105f257600080fd5b5061061f6004803603602081101561060957600080fd5b8101908080359060200190929190505050611709565b005b34801561062d57600080fd5b50610636611802565b6040518082815260200191505060405180910390f35b34801561065857600080fd5b5061068f6004803603604081101561066f57600080fd5b810190808035906020019092919080359060200190929190505050611808565b005b34801561069d57600080fd5b5061070a600480360360608110156106b457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611895565b60405180821515815260200191505060405180910390f35b34801561072e57600080fd5b50610737611a95565b6040518082815260200191505060405180910390f35b34801561075957600080fd5b506107956004803603604081101561077057600080fd5b81019080803515159060200190929190803560ff169060200190929190505050611b17565b005b3480156107a357600080fd5b506107e6600480360360208110156107ba57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611bcb565b60405180821515815260200191505060405180910390f35b34801561080a57600080fd5b50610813611c24565b604051808260ff16815260200191505060405180910390f35b34801561083857600080fd5b506108656004803603602081101561084f57600080fd5b8101908080359060200190929190505050611c2d565b005b34801561087357600080fd5b506108c26004803603604081101561088a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611d04565b005b3480156108d057600080fd5b50610913600480360360208110156108e757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dda565b60405180821515815260200191505060405180910390f35b34801561093757600080fd5b506109646004803603602081101561094e57600080fd5b8101908080359060200190929190505050611e0d565b005b34801561097257600080fd5b506109a16004803603602081101561098957600080fd5b81019080803515159060200190929190505050611e92565b005b3480156109af57600080fd5b506109b8611f2a565b60405180821515815260200191505060405180910390f35b3480156109dc57600080fd5b50610a2b600480360360408110156109f357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611f3d565b005b348015610a3957600080fd5b50610a42612013565b6040518082815260200191505060405180910390f35b348015610a6457600080fd5b50610a6d612019565b6040518082815260200191505060405180910390f35b348015610a8f57600080fd5b50610a9861201f565b60405180821515815260200191505060405180910390f35b348015610abc57600080fd5b50610aff60048036036020811015610ad357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612032565b6040518082815260200191505060405180910390f35b348015610b2157600080fd5b50610b2a61207b565b604051808260ff16815260200191505060405180910390f35b348015610b4f57600080fd5b50610b9260048036036020811015610b6657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061208e565b005b348015610ba057600080fd5b50610ba961214d565b6040518082815260200191505060405180910390f35b348015610bcb57600080fd5b50610bd4612153565b6040518082815260200191505060405180910390f35b348015610bf657600080fd5b50610bff612159565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c3757600080fd5b50610c40612182565b60405180821515815260200191505060405180910390f35b348015610c6457600080fd5b50610c6d612195565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610ca557600080fd5b50610d2960048036036040811015610cbc57600080fd5b8101908080359060200190640100000000811115610cd957600080fd5b820183602082011115610ceb57600080fd5b80359060200191846020830284011164010000000083111715610d0d57600080fd5b90919293919293908035151590602001909291905050506121b9565b005b348015610d3757600080fd5b50610d406122d2565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d80578082015181840152602081019050610d65565b50505050905090810190601f168015610dad5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610dc757600080fd5b50610dd061230f565b6040518082815260200191505060405180910390f35b348015610df257600080fd5b50610dfb612315565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610e3357600080fd5b50610e8060048036036040811015610e4a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061233b565b60405180821515815260200191505060405180910390f35b348015610ea457600080fd5b50610ee760048036036020811015610ebb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612350565b005b348015610ef557600080fd5b50610f2260048036036020811015610f0c57600080fd5b8101908080359060200190929190505050612425565b005b348015610f3057600080fd5b50610f396124b9565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610f7157600080fd5b50610fb260048036036060811015610f8857600080fd5b810190808035906020019092919080359060200190929190803590602001909291905050506124df565b005b348015610fc057600080fd5b50610fed60048036036020811015610fd757600080fd5b810190808035906020019092919050505061262c565b6040518082815260200191505060405180910390f35b34801561100f57600080fd5b506110926004803603606081101561102657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061269e565b005b3480156110a057600080fd5b506110a96127e1565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156110e157600080fd5b50611144600480360360408110156110f857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612807565b6040518082815260200191505060405180910390f35b34801561116657600080fd5b5061119f6004803603604081101561117d57600080fd5b810190808035151590602001909291908035906020019092919050505061288e565b005b3480156111ad57600080fd5b506111b661292e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156111ee57600080fd5b5061121b6004803603602081101561120557600080fd5b8101908080359060200190929190505050612954565b005b34801561122957600080fd5b5061126c6004803603602081101561124057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506129d9565b005b34801561127a57600080fd5b506112bd6004803603602081101561129157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612aaf565b005b3480156112cb57600080fd5b5061131a600480360360408110156112e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050612c11565b005b34801561132857600080fd5b50611331612ce7565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561136957600080fd5b506113ac6004803603602081101561138057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612d0d565b60405180821515815260200191505060405180910390f35b3480156113d057600080fd5b50611413600480360360208110156113e757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612d2d565b60405180821515815260200191505060405180910390f35b34801561143757600080fd5b50611440612d83565b6040518082815260200191505060405180910390f35b34801561146257600080fd5b5061146b612d89565b60405180821515815260200191505060405180910390f35b601f5481565b60606040518060400160405280600f81526020017f4c65667420437572766520436f696e0000000000000000000000000000000000815250905090565b6114cf33611bcb565b611541576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6103e881600654028161155057fe5b0460088190555050565b600081600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b61165533611bcb565b6116c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80601c60146101000a81548160ff02191690831515021790555050565b6000826116f08361262c565b11905092915050565b60145481565b6000600654905090565b61171233612d2d565b611784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000479050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6064848402816117d157fe5b049081150290604051600060405180830381858888f193505050501580156117fd573d6000803e3d6000fd5b505050565b60135481565b61181133612d2d565b611883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b8160198190555080601a819055505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611a8157611a00826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d9c9092919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b611a8c848484612e5c565b90509392505050565b6000611b12611ac5600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612032565b611b04611af3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612032565b6006546137b090919063ffffffff16565b6137b090919063ffffffff16565b905090565b611b2033611bcb565b611b92576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b81601c60156101000a81548160ff02191690831515021790555080601c60166101000a81548160ff021916908360ff1602179055505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006012905090565b611c3633612d2d565b611ca8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b60004790503373ffffffffffffffffffffffffffffffffffffffff166108fc606484840281611cd357fe5b049081150290604051600060405180830381858888f19350505050158015611cff573d6000803e3d6000fd5b505050565b611d0d33612d2d565b611d7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000611e06827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61155a565b9050919050565b611e1633612d2d565b611e88576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b8060078190555050565b611e9b33611bcb565b611f0d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600b60006101000a81548160ff02191690831515021790555050565b601c60159054906101000a900460ff1681565b611f4633612d2d565b611fb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60125481565b60115481565b601e60009054906101000a900460ff1681565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b601c60169054906101000a900460ff1681565b61209733612d2d565b612109576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b80601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60085481565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b60009054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6121c233611bcb565b612234576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60005b838390508110156122cc5781600c600086868581811061225357fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550806001019050612237565b50505050565b60606040518060400160405280600481526020017f4c45465400000000000000000000000000000000000000000000000000000000815250905090565b60105481565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000612348338484612e5c565b905092915050565b61235933611bcb565b6123cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61242e33611bcb565b6124a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6103e88160065402816124af57fe5b0460078190555050565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6124e833612d2d565b61255a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b8260108190555081601181905550600060128190555061259760125461258984866137fa90919063ffffffff16565b6137fa90919063ffffffff16565b601381905550806014819055506003601454816125b057fe5b0460135410612627576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f466565732063616e6e6f74206265206d6f7265207468616e203333250000000081525060200191505060405180910390fd5b505050565b6000612697612639611a95565b61268961267a600261266c601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612032565b61388290919063ffffffff16565b8561388290919063ffffffff16565b61390890919063ffffffff16565b9050919050565b6126a733612d2d565b612719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b82601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61289733612d2d565b612909576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b81601e60006101000a81548160ff02191690831515021790555080601f819055505050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61295d33611bcb565b6129cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8060158190555050565b6129e233611bcb565b612a54576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b612ab833611bcb565b612b2a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f214f574e4552000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616381604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b612c1a33612d2d565b612c8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21415554484f52495a454400000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c6020528060005260406000206000915054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60155481565b601c60149054906101000a900460ff1681565b6000838311158290612e49576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612e0e578082015181840152602081019050612df3565b50505050905090810190601f168015612e3b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000602060009054906101000a900460ff1615612e8557612e7e848484613952565b90506137a9565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612f295750600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612fb157601c60149054906101000a900460ff16612fb0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f54726164696e67206e6f74206f70656e2079657400000000000000000000000081525060200191505060405180910390fd5b5b600b60009054906101000a900460ff16156130dd57600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561306a5750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6130dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f426c61636b6c697374656400000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561316357503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156131bd5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156132175750601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156132715750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156132cb5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156133255750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561339657600061333584612032565b90506008548382011115613394576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603e8152602001806145e5603e913960400191505060405180910390fd5b505b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156133ff5750601c60159054906101000a900460ff165b80156134555750600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561354a5742601d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106134f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061459f6025913960400191505060405180910390fd5b601c60169054906101000a900460ff1660ff164201601d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6135548483613b25565b61355c613bf5565b1561356a57613569613ccc565b5b6135f3826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d9c9092919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061364185614312565b61364b57826136a7565b6136a68584601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614614369565b5b90506136fb81600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546137fa90919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a360019150505b9392505050565b60006137f283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612d9c565b905092915050565b600080828401905083811015613878576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000808314156138955760009050613902565b60008284029050828482816138a657fe5b04146138fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806145c46021913960400191505060405180910390fd5b809150505b92915050565b600061394a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506144d8565b905092915050565b60006139dd826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612d9c9092919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613a7282600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546137fa90919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60075481111580613b7f5750600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b613bf1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5458204c696d697420457863656564656400000000000000000000000000000081525060200191505060405180910390fd5b5050565b6000601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015613c625750602060009054906101000a900460ff16155b8015613c7a5750601e60009054906101000a900460ff165b8015613cc75750601f54600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001602060006101000a81548160ff0219169083151502179055506000613cf7601954601a546116e4565b613d0357601054613d06565b60005b90506000613d466002613d38601354613d2a86601f5461388290919063ffffffff16565b61390890919063ffffffff16565b61390890919063ffffffff16565b90506000613d5f82601f546137b090919063ffffffff16565b90506000600267ffffffffffffffff81118015613d7b57600080fd5b50604051908082528060200260200182016040528015613daa5781602001602082028036833780820191505090505b5090503081600081518110613dbb57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110613e2557fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015613f28578082015181840152602081019050613f0d565b505050509050019650505050505050600060405180830381600087803b158015613f5157600080fd5b505af1158015613f65573d6000803e3d6000fd5b505050506000613f7e82476137b090919063ffffffff16565b90506000613faa613f9960028961390890919063ffffffff16565b6013546137b090919063ffffffff16565b90506000613fe66002613fd884613fca8c8861388290919063ffffffff16565b61390890919063ffffffff16565b61390890919063ffffffff16565b90506000614011836140036011548761388290919063ffffffff16565b61390890919063ffffffff16565b9050600061403c8461402e6012548861388290919063ffffffff16565b61390890919063ffffffff16565b90506000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168361753090604051806000019050600060405180830381858888f193505050503d80600081146140c5576040519150601f19603f3d011682016040523d82523d6000602084013e6140ca565b606091505b50509050601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168261753090604051806000019050600060405180830381858888f193505050503d8060008114614153576040519150601f19603f3d011682016040523d82523d6000602084013e614158565b606091505b5050809150506000905060008a11156142ea57601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71985308d600080601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b15801561425757600080fd5b505af115801561426b573d6000803e3d6000fd5b50505050506040513d606081101561428257600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050505050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506848b604051808381526020018281526020019250505060405180910390a15b50505050505050505050506000602060006101000a81548160ff021916908315150217905550565b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b6000808261437857606461437c565b6015545b905060006143be6064601454026143b0846143a26013548a61388290919063ffffffff16565b61388290919063ffffffff16565b61390890919063ffffffff16565b905061441281600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546137fa90919063ffffffff16565b600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36144cd81866137b090919063ffffffff16565b925050509392505050565b60008083118290614584576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561454957808201518184015260208101905061452e565b50505050905090810190601f1680156145765780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161459057fe5b04905080915050939250505056fe506c65617365207761697420666f7220316d696e206265747765656e2074776f2062757973536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77546f74616c20486f6c64696e672069732063757272656e746c79206c696d697465642c20796f752063616e206e6f74206275792074686174206d7563682ea2646970667358221220cd2de7f995961322b85a937d23addb4958bd31730789c53c4e139bfc770ba5cf64736f6c63430007060033
Deployed Bytecode Sourcemap
6002:14594:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7766:58;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9322:94;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10849:197;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9847:248;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15693:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20347:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7189:35;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9004:102;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15048:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7120:62;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19776:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10423:418;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;19990:142;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15834:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3138:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9114:94;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15300:240;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18643:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10103:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11254:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18008:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7581:38;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18356:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7088:25;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7049:32;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7729:30;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9524:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7626:38;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11358:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6577:57;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6528:42;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9424:92;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6777:33;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2531:20;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18115:233;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9216:98;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7011:31;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7513:19;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10227:188;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2931:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11054:192;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7275:36;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;18804:439;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20140:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19251:330;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7360:29;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9651:188;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19589:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7318:35;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;15548:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3033:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3364:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18484:151;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7482:24;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6817:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;3249:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7233:33;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7541:31;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7766:58;;;;:::o;9322:94::-;9370:13;9403:5;;;;;;;;;;;;;;;;;9396:12;;9322:94;:::o;10849:197::-;2764:19;2772:10;2764:7;:19::i;:::-;2756:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11034:4:::1;11007:23;10992:12;;:38;10991:47;;;;;;10973:15;:65;;;;10849:197:::0;:::o;9847:248::-;9949:4;10006:6;9971:11;:23;9983:10;9971:23;;;;;;;;;;;;;;;:32;9995:7;9971:32;;;;;;;;;;;;;;;:41;;;;10049:7;10028:37;;10037:10;10028:37;;;10058:6;10028:37;;;;;;;;;;;;;;;;;;10083:4;10076:11;;9847:248;;;;:::o;15693:94::-;2764:19;2772:10;2764:7;:19::i;:::-;2756:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15772:7:::1;15758:11;;:21;;;;;;;;;;;;;;;;;;15693:94:::0;:::o;20347:182::-;20454:4;20515:6;20483:29;20503:8;20483:19;:29::i;:::-;:38;20476:45;;20347:182;;;;:::o;7189:35::-;;;;:::o;9004:102::-;9059:7;9086:12;;9079:19;;9004:102;:::o;15048:244::-;2863:24;2876:10;2863:12;:24::i;:::-;2855:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15132:17:::1;15152:21;15132:41;;15192:20;;;;;;;;;;;15184:38;;:100;15270:3;15250:16;15238:9;:28;15237:36;;;;;;15184:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;2914:1;15048:244:::0;:::o;7120:62::-;;;;:::o;19776:206::-;2863:24;2876:10;2863:12;:24::i;:::-;2855:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19915:7:::1;19897:15;:25;;;;19962:12;19933:26;:41;;;;19776:206:::0;;:::o;10423:418::-;10557:4;10621:2;10578:11;:19;10590:6;10578:19;;;;;;;;;;;;;;;:31;10598:10;10578:31;;;;;;;;;;;;;;;;:46;10574:200;;10675:87;10729:6;10675:87;;;;;;;;;;;;;;;;;:11;:19;10687:6;10675:19;;;;;;;;;;;;;;;:31;10695:10;10675:31;;;;;;;;;;;;;;;;:53;;:87;;;;;:::i;:::-;10641:11;:19;10653:6;10641:19;;;;;;;;;;;;;;;:31;10661:10;10641:31;;;;;;;;;;;;;;;:121;;;;10574:200;10793:40;10807:6;10815:9;10826:6;10793:13;:40::i;:::-;10786:47;;10423:418;;;;;:::o;19990:142::-;20043:7;20070:54;20108:15;20118:4;;;;;;;;;;;20108:9;:15::i;:::-;20070:33;20087:15;20097:4;;;;;;;;;;;20087:9;:15::i;:::-;20070:12;;:16;;:33;;;;:::i;:::-;:37;;:54;;;;:::i;:::-;20063:61;;19990:142;:::o;15834:164::-;2764:19;2772:10;2764:7;:19::i;:::-;2756:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15939:7:::1;15918:18;;:28;;;;;;;;;;;;;;;;;;15981:9;15957:21;;:33;;;;;;;;;;;;;;;;;;15834:164:::0;;:::o;3138:103::-;3193:4;3228:5;;;;;;;;;;;3217:16;;:7;:16;;;3210:23;;3138:103;;;:::o;9114:94::-;9166:5;6463:2;9184:16;;9114:94;:::o;15300:240::-;2863:24;2876:10;2863:12;:24::i;:::-;2855:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15414:17:::1;15434:21;15414:41;;15474:10;15466:28;;:66;15528:3;15508:16;15496:9;:28;15495:36;;;;;;15466:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;2914:1;15300:240:::0;:::o;18643:153::-;2863:24;2876:10;2863:12;:24::i;:::-;2855:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18782:6:::1;18755:16;:24;18772:6;18755:24;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;18643:153:::0;;:::o;10103:116::-;10158:4;10182:29;10190:7;10207:2;10182:7;:29::i;:::-;10175:36;;10103:116;;;:::o;11254:96::-;2863:24;2876:10;2863:12;:24::i;:::-;2855:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11336:6:::1;11321:12;:21;;;;11254:96:::0;:::o;18008:99::-;2764:19;2772:10;2764:7;:19::i;:::-;2756:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18092:7:::1;18076:13;;:23;;;;;;;;;;;;;;;;;;18008:99:::0;:::o;7581:38::-;;;;;;;;;;;;;:::o;18356:120::-;2863:24;2876:10;2863:12;:24::i;:::-;2855:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18462:6:::1;18440:11;:19;18452:6;18440:19;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;18356:120:::0;;:::o;7088:25::-;;;;:::o;7049:32::-;;;;:::o;7729:30::-;;;;;;;;;;;;;:::o;9524:119::-;9590:7;9617:9;:18;9627:7;9617:18;;;;;;;;;;;;;;;;9610:25;;9524:119;;;:::o;7626:38::-;;;;;;;;;;;;;:::o;11358:87::-;2863:24;2876:10;2863:12;:24::i;:::-;2855:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11432:5:::1;11425:4;;:12;;;;;;;;;;;;;;;;;;11358:87:::0;:::o;6577:57::-;;;;:::o;6528:42::-;;;;:::o;9424:92::-;9476:7;9503:5;;;;;;;;;;;9496:12;;9424:92;:::o;6777:33::-;;;;;;;;;;;;;:::o;2531:20::-;;;;;;;;;;;;:::o;18115:233::-;2764:19;2772:10;2764:7;:19::i;:::-;2756:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18240:9:::1;18235:106;18255:9;;:16;;18251:1;:20;18235:106;;;18323:6;18293:13;:27;18307:9;;18317:1;18307:12;;;;;;;;;;;;;;;18293:27;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;18273:3;;;;;18235:106;;;;18115:233:::0;;;:::o;9216:98::-;9266:13;9299:7;;;;;;;;;;;;;;;;;9292:14;;9216:98;:::o;7011:31::-;;;;:::o;7513:19::-;;;;;;;;;;;;;:::o;10227:188::-;10334:4;10363:44;10377:10;10389:9;10400:6;10363:13;:44::i;:::-;10356:51;;10227:188;;;;:::o;2931:94::-;2764:19;2772:10;2764:7;:19::i;:::-;2756:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3013:4:::1;2991:14:::0;:19:::1;3006:3;2991:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;2931:94:::0;:::o;11054:192::-;2764:19;2772:10;2764:7;:19::i;:::-;2756:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11234:4:::1;11206:24;11191:12;;:39;11190:48;;;;;;11175:12;:63;;;;11054:192:::0;:::o;7275:36::-;;;;;;;;;;;;;:::o;18804:439::-;2863:24;2876:10;2863:12;:24::i;:::-;2855:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18972:13:::1;18957:12;:28;;;;19011:13;18996:12;:28;;;;19044:1;19035:6;:10;;;;19067:44;19104:6;;19067:32;19085:13;19067;:17;;:32;;;;:::i;:::-;:36;;:44;;;;:::i;:::-;19056:8;:55;;;;19139:15;19122:14;:32;;;;19201:1;19184:14;;:18;;;;;;19173:8;;:29;19165:70;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;18804:439:::0;;;:::o;20140:199::-;20235:7;20267:64;20308:22;:20;:22::i;:::-;20267:36;20280:22;20300:1;20280:15;20290:4;;;;;;;;;;;20280:9;:15::i;:::-;:19;;:22;;;;:::i;:::-;20267:8;:12;;:36;;;;:::i;:::-;:40;;:64;;;;:::i;:::-;20260:71;;20140:199;;;:::o;19251:330::-;2863:24;2876:10;2863:12;:24::i;:::-;2855:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19453:22:::1;19429:21;;:46;;;;;;;;;;;;;;;;;;19509:21;19486:20;;:44;;;;;;;;;;;;;;;;;;19558:15;19541:14;;:32;;;;;;;;;;;;;;;;;;19251:330:::0;;;:::o;7360:29::-;;;;;;;;;;;;;:::o;9651:188::-;9771:7;9803:11;:19;9815:6;9803:19;;;;;;;;;;;;;;;:28;9823:7;9803:28;;;;;;;;;;;;;;;;9796:35;;9651:188;;;;:::o;19589:179::-;2863:24;2876:10;2863:12;:24::i;:::-;2855:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19718:8:::1;19704:11;;:22;;;;;;;;;;;;;;;;;;19753:7;19737:13;:23;;;;19589:179:::0;;:::o;7318:35::-;;;;;;;;;;;;;:::o;15548:114::-;2764:19;2772:10;2764:7;:19::i;:::-;2756:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15643:11:::1;15626:14;:28;;;;15548:114:::0;:::o;3033:97::-;2764:19;2772:10;2764:7;:19::i;:::-;2756:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3117:5:::1;3095:14;:19;3110:3;3095:19;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;3033:97:::0;:::o;3364:173::-;2764:19;2772:10;2764:7;:19::i;:::-;2756:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3448:3:::1;3440:5;::::0;:11:::1;;;;;;;;;;;;;;;;;;3484:4;3462:14:::0;:19:::1;3477:3;3462:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;3504:25;3525:3;3504:25;;;;;;;;;;;;;;;;;;;;3364:173:::0;:::o;18484:151::-;2863:24;2876:10;2863:12;:24::i;:::-;2855:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18621:6:::1;18595:15;:23;18611:6;18595:23;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;18484:151:::0;;:::o;7482:24::-;;;;;;;;;;;;;:::o;6817:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;3249:107::-;3305:4;3329:14;:19;3344:3;3329:19;;;;;;;;;;;;;;;;;;;;;;;;;3322:26;;3249:107;;;:::o;7233:33::-;;;;:::o;7541:31::-;;;;;;;;;;;;;:::o;552:226::-;672:7;705:1;700;:6;;708:12;692:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;732:9;748:1;744;:5;732:17;;769:1;762:8;;;552:226;;;;;:::o;11453:2120::-;11579:4;11600:6;;;;;;;;;;;11596:87;;;11630:41;11645:6;11653:9;11664:6;11630:14;:41::i;:::-;11623:48;;;;11596:87;11700:14;:22;11715:6;11700:22;;;;;;;;;;;;;;;;;;;;;;;;;11699:23;:53;;;;;11727:14;:25;11742:9;11727:25;;;;;;;;;;;;;;;;;;;;;;;;;11726:26;11699:53;11695:130;;;11777:11;;;;;;;;;;;11769:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11695:130;11863:13;;;;;;;;;;;11859:170;;;11920:13;:21;11934:6;11920:21;;;;;;;;;;;;;;;;;;;;;;;;;11919:22;:51;;;;;11946:13;:24;11960:9;11946:24;;;;;;;;;;;;;;;;;;;;;;;;;11945:25;11919:51;11893:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11859:170;12060:14;:22;12075:6;12060:22;;;;;;;;;;;;;;;;;;;;;;;;;12059:23;:66;;;;;12120:4;12099:26;;:9;:26;;;;12059:66;:109;;;;;12163:4;;;;;;;;;;;12142:26;;:9;:26;;;;12059:109;:143;;;;;12198:4;;;;;;;;;;;12185:17;;:9;:17;;;;12059:143;:193;;;;;12232:20;;;;;;;;;;;12219:33;;:9;:33;;;;12059:193;:237;;;;;12282:14;;;;;;;;;;;12269:27;;:9;:27;;;;12059:237;:288;;;;;12326:21;;;;;;;;;;;12313:34;;:9;:34;;;;12059:288;12041:565;;;12374:18;12395:20;12405:9;12395;:20::i;:::-;12374:41;;12481:15;;12470:6;12457:10;:19;12456:40;;12430:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12041:565;;12646:4;;;;;;;;;;;12636:14;;:6;:14;;;:36;;;;;12654:18;;;;;;;;;;;12636:36;:68;;;;;12677:16;:27;12694:9;12677:27;;;;;;;;;;;;;;;;;;;;;;;;;12676:28;12636:68;12618:347;;;12784:15;12757:13;:24;12771:9;12757:24;;;;;;;;;;;;;;;;:42;12731:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12932:21;;;;;;;;;;;12914:39;;:15;:39;12887:13;:24;12901:9;12887:24;;;;;;;;;;;;;;;:66;;;;12618:347;13018:28;13031:6;13039;13018:12;:28::i;:::-;13063:16;:14;:16::i;:::-;13059:59;;;13096:10;:8;:10::i;:::-;13059:59;13177:90;13213:6;13177:90;;;;;;;;;;;;;;;;;:9;:17;13187:6;13177:17;;;;;;;;;;;;;;;;:21;;:90;;;;;:::i;:::-;13157:9;:17;13167:6;13157:17;;;;;;;;;;;;;;;:110;;;;13280:22;13305:21;13319:6;13305:13;:21::i;:::-;:103;;13402:6;13305:103;;;13342:44;13350:6;13358;13380:4;;;;;;;;;;;13367:17;;:9;:17;;;13342:7;:44::i;:::-;13305:103;13280:128;;13442:40;13467:14;13442:9;:20;13452:9;13442:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;13419:9;:20;13429:9;13419:20;;;;;;;;;;;;;;;:63;;;;13517:9;13500:43;;13509:6;13500:43;;;13528:14;13500:43;;;;;;;;;;;;;;;;;;13561:4;13554:11;;;11453:2120;;;;;;:::o;408:136::-;466:7;493:43;497:1;500;493:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;486:50;;408:136;;;;:::o;219:181::-;277:7;297:9;313:1;309;:5;297:17;;338:1;333;:6;;325:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;391:1;384:8;;;219:181;;;;:::o;786:250::-;844:7;873:1;868;:6;864:47;;;898:1;891:8;;;;864:47;923:9;939:1;935;:5;923:17;;968:1;963;959;:5;;;;;;:10;951:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1027:1;1020:8;;;786:250;;;;;:::o;1044:132::-;1102:7;1129:39;1133:1;1136;1129:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1122:46;;1044:132;;;;:::o;13581:401::-;13708:4;13745:90;13781:6;13745:90;;;;;;;;;;;;;;;;;:9;:17;13755:6;13745:17;;;;;;;;;;;;;;;;:21;;:90;;;;;:::i;:::-;13725:9;:17;13735:6;13725:17;;;;;;;;;;;;;;;:110;;;;13869:32;13894:6;13869:9;:20;13879:9;13869:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;13846:9;:20;13856:9;13846:20;;;;;;;;;;;;;;;:55;;;;13934:9;13917:35;;13926:6;13917:35;;;13945:6;13917:35;;;;;;;;;;;;;;;;;;13970:4;13963:11;;13581:401;;;;;:::o;13990:203::-;14101:12;;14091:6;:22;;:49;;;;14117:15;:23;14133:6;14117:23;;;;;;;;;;;;;;;;;;;;;;;;;14091:49;14069:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13990:203;;:::o;14818:222::-;14867:4;14918;;;;;;;;;;;14904:18;;:10;:18;;;;:42;;;;;14940:6;;;;;;;;;;;14939:7;14904:42;:70;;;;;14963:11;;;;;;;;;;;14904:70;:128;;;;;15019:13;;14991:9;:24;15009:4;14991:24;;;;;;;;;;;;;;;;:41;;14904:128;14884:148;;14818:222;:::o;16006:1994::-;7889:4;7880:6;;:13;;;;;;;;;;;;;;;;;;16055:27:::1;16085:97;16115:15;;16145:26;;16085:15;:97::i;:::-;:142;;16215:12;;16085:142;;;16198:1;16085:142;16055:172;;16238:23;16264:101;16363:1;16264:80;16335:8;;16264:52;16296:19;16264:13;;:31;;:52;;;;:::i;:::-;:70;;:80;;;;:::i;:::-;:98;;:101;;;;:::i;:::-;16238:127;;16376:20;16399:34;16417:15;16399:13;;:17;;:34;;;;:::i;:::-;16376:57;;16446:21;16484:1;16470:16;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16446:40;;16515:4;16497;16502:1;16497:7;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;16541:4;;;;;;;;;;;16531;16536:1;16531:7;;;;;;;;;;;;;:14;;;;;;;;;::::0;::::1;16558:21;16582;16558:45;;16616:6;;;;;;;;;;;:57;;;16688:12;16715:1;16731:4;16758;16778:15;16616:188;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;16817:17;16837:40;16863:13;16837:21;:25;;:40;;;;:::i;:::-;16817:60;;16890:19;16912:40;16925:26;16949:1;16925:19;:23;;:26;;;;:::i;:::-;16912:8;;:12;;:40;;;;:::i;:::-;16890:62;;16965:26;16994:100;17092:1;16994:79;17061:11;16994:48;17022:19;16994:9;:27;;:48;;;;:::i;:::-;:66;;:79;;;;:::i;:::-;:97;;:100;;;;:::i;:::-;16965:129;;17105:26;17134:68;17180:11;17134:27;17148:12;;17134:9;:13;;:27;;;;:::i;:::-;:31;;:68;;;;:::i;:::-;17105:97;;17213:20;17236:38;17262:11;17236:21;17250:6;;17236:9;:13;;:21;;;;:::i;:::-;:25;;:38;;;;:::i;:::-;17213:61;;17288:15;17317:20;;;;;;;;;;;17309:34;;17365:18;17403:5;17309:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17287:136;;;17459:14;;;;;;;;;;;17451:28;;17501:12;17533:5;17451:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17434:119;;;;;17611:5;17598:18;;17651:1;17633:15;:19;17629:364;;;17669:6;;;;;;;;;;;:22;;;17699:18;17745:4;17769:15;17803:1;17823::::0;17843:21:::1;;;;;;;;;;;17883:15;17669:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17933:48;17945:18;17965:15;17933:48;;;;;;;;;;;;;;;;;;;;;;;;17629:364;7904:1;;;;;;;;;;;7925:5:::0;7916:6;;:14;;;;;;;;;;;;;;;;;;16006:1994::o;14201:114::-;14263:4;14288:11;:19;14300:6;14288:19;;;;;;;;;;;;;;;;;;;;;;;;;14287:20;14280:27;;14201:114;;;:::o;14323:487::-;14437:7;14457:18;14478:6;:29;;14504:3;14478:29;;;14487:14;;14478:29;14457:50;;14518:17;14538:86;14610:3;14593:14;;:20;14538:36;14563:10;14538:20;14549:8;;14538:6;:10;;:20;;;;:::i;:::-;:24;;:36;;;;:::i;:::-;:40;;:86;;;;:::i;:::-;14518:106;;14664:39;14693:9;14664;:24;14682:4;14664:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;14637:9;:24;14655:4;14637:24;;;;;;;;;;;;;;;:66;;;;14744:4;14719:42;;14728:6;14719:42;;;14751:9;14719:42;;;;;;;;;;;;;;;;;;14781:21;14792:9;14781:6;:10;;:21;;;;:::i;:::-;14774:28;;;;14323:487;;;;;:::o;1184:223::-;1304:7;1336:1;1332;:5;1339:12;1324:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1363:9;1379:1;1375;:5;;;;;;1363:17;;1398:1;1391:8;;;1184:223;;;;;:::o
Swarm Source
ipfs://cd2de7f995961322b85a937d23addb4958bd31730789c53c4e139bfc770ba5cf
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.