ERC-20
Overview
Max Total Supply
100,000,000,000 $101
Holders
8
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
894,373,900.461805092535921073 $101Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Millionaire
Compiler Version
v0.8.11+commit.d7f03943
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-11-30 */ /** 101 Dollar Millionaire - $101 $101 token will add exactly 100$ worth of ethereum against all of the supply. We will start off with 101$ worth of liquidity. But to boost it as we grow we will add 10% liqudity tax for buying and selling which will in return grow our initial liquidity. Dollar tokens only utility is to reach 1 million marketcap starting out with just 100$ worth of liquidity. */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender,address recipient,uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library Address { function isContract(address account) internal view returns (bool) { // According to EIP-1052, 0x0 is the value returned for not-yet created accounts // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned // for accounts without code, i.e. `keccak256('')` bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{ value: weiValue }(data); if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _setOwner(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } contract Millionaire is Context,IERC20, Ownable{ using Address for address; string private _name = "101 Dollar Millionaire"; string private _symbol = "$101"; uint8 private _decimals = 18; uint256 totalFeeFortx = 0; uint256 maxWalletTreshold = 2; uint256 maxTxTreshold = 1; uint256 private swapTreshold =1; uint256 private currentThreshold = 10; //Once the token value goes up this number can be decreased (To reduce price impact on asset) uint256 private _totalSupply = (10000000 * 10**4) * 10**_decimals; // uint256 public requiredTokensToSwap = _totalSupply * swapTreshold /1000; mapping (address => uint256) private _balances; mapping (address => bool) private _excludedFromFees; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public automatedMarketMakerPairs; address _owner; address payable public marketingAddress = payable(0xE7358E3A9097059D214116d33Af7FB1Effd0b29F); uint256 maxWalletAmount = _totalSupply*maxWalletTreshold/200; // starting 2% uint256 maxTxAmount = _totalSupply*maxTxTreshold/100; mapping (address => bool) botWallets; bool botTradeEnabled = false; bool checkWalletSize = true; mapping (address => bool) private _liquidityHolders; mapping (address => bool) private presaleAddresses; uint256 private buyliqFee = 8; //1 uint256 private buyprevLiqFee = 0; uint256 private buymktFee = 1;//1 uint256 private buyPrevmktFee = 0; bool private tradeEnabled = false; uint256 private sellliqFee = 8; uint256 private sellprevLiqFee = 0; uint256 private sellmktFee = 1; uint256 private sellPrevmktFee = 0; bool public inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; uint256 private mktTokens = 0; uint256 private liqTokens = 0; event SwapAndLiquify(uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiquidity ); event tokensSwappedDuringTokenomics(uint256 amount); event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); // 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D IUniswapV2Router02 _router; address public uniswapV2Pair; //Balances tracker modifier lockTheSwap{ inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor(){ _balances[_msgSender()] = _totalSupply; //0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D mainnet and all networks IUniswapV2Router02 _uniRouter = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Pair = IUniswapV2Factory(_uniRouter.factory()) .createPair(address(this), _uniRouter.WETH()); _excludedFromFees[owner()] = true; _excludedFromFees[address(this)] = true;// exclude owner and contract instance from fees _router = _uniRouter; _liquidityHolders[address(_router)] = true; _liquidityHolders[owner()] = true; _liquidityHolders[address(this)] = true; _setAutomatedMarketMakerPair(address(uniswapV2Pair), true); emit Transfer(address(0),_msgSender(),_totalSupply); } receive() external payable{} //general token data and tracking of balances to be swapped. function getOwner()external view returns(address){ return owner(); } function currentmktTokens() external view returns (uint256){ return mktTokens; } function currentLiqTokens() external view returns (uint256){ return liqTokens; } function totalSupply() external view override returns (uint256){ return _totalSupply; } function balanceOf(address account) public view override returns (uint256){ return _balances[account]; } function transfer(address recipient, uint256 amount) external override returns (bool){ _transfer(_msgSender(),recipient,amount); return true; } function allowance(address owner, address spender) external view override returns (uint256){ return _allowances[owner][spender]; } function approve(address spender, uint256 amount) external override returns (bool){ _approve(_msgSender(),spender,amount); return true; } function decimals()external view returns(uint256){ return _decimals; } function name() external view returns (string memory) { return _name; } function symbol() external view returns (string memory){ return _symbol; } function updateMaxTxTreshold(uint256 newVal) public onlyOwner{ maxTxTreshold = newVal; maxTxAmount = _totalSupply*maxTxTreshold/100;// 1% } function updateMaxWalletTreshold(uint256 newVal) public onlyOwner{ maxWalletTreshold = newVal; maxWalletAmount = _totalSupply*maxWalletTreshold/100; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool){ require(amount <= _allowances[sender][_msgSender()], "ERC20: transfer amount exceeds allowance"); _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount); return true; } //Tokenomics related functions function addBotWallet (address payable detectedBot, bool isBot) public onlyOwner{ botWallets[detectedBot] = isBot; } function currentbuyliqFee() public view returns (uint256){ return buyliqFee; } function currentbuymktfee() public view returns (uint256){ return buymktFee; } function currentsellLiqFee() public view returns (uint256){ return sellliqFee; } function currentsellmktfee() public view returns (uint256){ return sellmktFee; } function currentThresholdInt()public view returns (uint256){ return currentThreshold; } function isExcluded(address toCheck)public view returns (bool){ return _excludedFromFees[toCheck]; } function _transfer(address from, address to, uint256 amount) internal{ require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0,"ERC20: transfered amount must be greater than zero"); uint256 senderBalance = _balances[from]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); if(tradeEnabled == false){ require(_liquidityHolders[to] || _liquidityHolders[from],"Cant trade, trade is disabled"); } if(_liquidityHolders[to]==false && _liquidityHolders[from]==false){ require(amount <= maxTxAmount, "Transfer amount exceeds the maxTxAmount."); if(from == uniswapV2Pair){ require(balanceOf(to)+amount <= maxWalletAmount); } } uint256 inContractBalance = balanceOf(address(this)); if(inContractBalance >=requiredTokensToSwap && !inSwapAndLiquify && from != uniswapV2Pair && swapAndLiquifyEnabled){ if(inContractBalance >= requiredTokensToSwap ){ inContractBalance = requiredTokensToSwap; swapForTokenomics(inContractBalance); } } bool takeFees = true; if(_excludedFromFees[from] || _excludedFromFees[to]) { totalFeeFortx = 0; takeFees = false; } uint256 mktAmount = 0; uint256 liqAmount = 0; // Amount to be added to liquidity. if(takeFees){ //bot fees if(botWallets[from] == true||botWallets[to]==true){ revert("No bots can trade"); } //Selling fees if (automatedMarketMakerPairs[to] && to != address(_router) ){ totalFeeFortx = 0; mktAmount = amount * sellmktFee/100; liqAmount = amount * sellliqFee/100; totalFeeFortx = mktAmount + liqAmount; } //Buy Fees else if(automatedMarketMakerPairs[from] && from != address(_router)) { totalFeeFortx = 0; mktAmount = amount * buymktFee/100; liqAmount = amount * buyliqFee/100; totalFeeFortx = mktAmount + liqAmount ; } } _balances[from] = senderBalance - amount; _balances[to] += amount - mktAmount - liqAmount; if(liqAmount != 0) { _balances[address(this)] += totalFeeFortx; //tLiqTotal += liqAmount; liqTokens += liqAmount; mktTokens += mktAmount; emit Transfer(from, address(this), totalFeeFortx); } emit Transfer(from, to,amount-totalFeeFortx); } function swapForTokenomics(uint256 balanceToswap) private lockTheSwap{ swapAndLiquify(liqTokens); swapTokensForETHmkt(mktTokens); emit tokensSwappedDuringTokenomics(balanceToswap); mktTokens = 0; liqTokens = 0; } function addLimitExempt(address newAddress)external onlyOwner{ _liquidityHolders[newAddress] = true; } function swapTokensForETHmkt(uint256 amount)private { address[] memory path = new address[](2); path[0] = address(this); path[1] = _router.WETH(); _approve(address(this), address(_router), amount); _router.swapExactTokensForETHSupportingFeeOnTransferTokens( amount, 0, // Accept any amount of ETH. path, marketingAddress, block.timestamp ); } function tradeStatus(bool status) public onlyOwner{ tradeEnabled = status; } function swapAndLiquify(uint256 liqTokensPassed) private { uint256 half = liqTokensPassed / 2; uint256 otherHalf = liqTokensPassed - half; uint256 initialBalance = address(this).balance; swapTokensForETH(half); uint256 newBalance = address(this).balance - (initialBalance); addLiquidity(otherHalf, newBalance); emit SwapAndLiquify(half,newBalance,otherHalf); } function swapTokensForETH(uint256 tokenAmount) private{ address[] memory path = new address[](2); path[0] = address(this); path[1] = _router.WETH(); _approve(address(this), address(_router), tokenAmount); _router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // Accept any amount of ETH. path, address(this), block.timestamp ); } function addLiquidity(uint256 tokenAmount,uint256 ethAmount) private{ _approve(address(this), address(_router), tokenAmount); _router.addLiquidityETH{value:ethAmount}( address(this), tokenAmount, 0, 0, deadAddress,// tr block.timestamp ); } function _approve(address owner,address spender, uint256 amount) internal{ require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } //Fees related functions function addToExcluded(address toExclude) public onlyOwner{ _excludedFromFees[toExclude] = true; } function removeFromExcluded(address toRemove) public onlyOwner{ _excludedFromFees[toRemove] = false; } function updateThreshold(uint newThreshold) public onlyOwner{ currentThreshold = newThreshold; } function setSwapAndLiquify(bool _enabled) public onlyOwner{ swapAndLiquifyEnabled = _enabled; } //Marketing related function transferAssetsETH(address payable to, uint256 amount) internal{ to.transfer(amount); } function setAutomatedMarketMakerPair(address pair, bool value) public onlyOwner { require(pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs"); _setAutomatedMarketMakerPair(pair, value); } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; emit SetAutomatedMarketMakerPair(pair, value); } function setPair(uint256 newAmount)public onlyOwner{ sellmktFee= newAmount; } function currentMaxWallet() public view returns(uint256){ return maxWalletAmount; } function currentMaxTx() public view returns(uint256){ return maxTxAmount; } function updateSwapTreshold(uint256 newVal) public onlyOwner{ swapTreshold = newVal; requiredTokensToSwap = _totalSupply*swapTreshold/1000; } function currentTradeStatus() public view returns (bool){ return tradeEnabled; } function currentSwapTreshold() public view returns(uint256){ return swapTreshold; } function currentTokensToSwap() public view returns(uint256){ return requiredTokensToSwap; } } interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Mint(address indexed sender, uint amount0, uint amount1); event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function mint(address to) external returns (uint liquidity); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"tokensSwappedDuringTokenomics","type":"event"},{"inputs":[{"internalType":"address payable","name":"detectedBot","type":"address"},{"internalType":"bool","name":"isBot","type":"bool"}],"name":"addBotWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"addLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"toExclude","type":"address"}],"name":"addToExcluded","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"currentLiqTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentMaxTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentMaxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentSwapTreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentThresholdInt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentTokensToSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentTradeStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentbuyliqFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentbuymktfee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentmktTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentsellLiqFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentsellmktfee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"toCheck","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"toRemove","type":"address"}],"name":"removeFromExcluded","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"requiredTokensToSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"setPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquify","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"name":"tradeStatus","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","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newVal","type":"uint256"}],"name":"updateMaxTxTreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newVal","type":"uint256"}],"name":"updateMaxWalletTreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newVal","type":"uint256"}],"name":"updateSwapTreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newThreshold","type":"uint256"}],"name":"updateThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a06040526040518060400160405280601681526020017f31303120446f6c6c6172204d696c6c696f6e616972650000000000000000000081525060019080519060200190620000519291906200095f565b506040518060400160405280600481526020017f2431303100000000000000000000000000000000000000000000000000000000815250600290805190602001906200009f9291906200095f565b506012600360006101000a81548160ff021916908360ff1602179055506000600455600260055560016006556001600755600a600855600360009054906101000a900460ff16600a620000f3919062000ba9565b64174876e80062000105919062000bfa565b6009556103e86007546009546200011d919062000bfa565b62000129919062000c8a565b600a5573e7358e3a9097059d214116d33af7fb1effd0b29f601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c860055460095462000195919062000bfa565b620001a1919062000c8a565b6011556064600654600954620001b8919062000bfa565b620001c4919062000c8a565b6012556000601460006101000a81548160ff0219169083151502179055506001601460016101000a81548160ff0219169083151502179055506008601755600060185560016019556000601a556000601b60006101000a81548160ff0219169083151502179055506008601c556000601d556001601e556000601f556001602060016101000a81548160ff02191690831515021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1681525060006021556000602255348015620002a757600080fd5b50620002c8620002bc620007c960201b60201c565b620007d160201b60201c565b600954600b6000620002df620007c960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000382573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003a8919062000d2c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000410573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000436919062000d2c565b6040518363ffffffff1660e01b81526004016200045592919062000d6f565b6020604051808303816000875af115801562000475573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200049b919062000d2c565b602460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c6000620004f16200089560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080602360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160156000602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601560006200066b6200089560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000749602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001620008be60201b60201c565b62000759620007c960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600954604051620007ba919062000dad565b60405180910390a35062000e2f565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b8280546200096d9062000df9565b90600052602060002090601f016020900481019282620009915760008555620009dd565b82601f10620009ac57805160ff1916838001178555620009dd565b82800160010185558215620009dd579182015b82811115620009dc578251825591602001919060010190620009bf565b5b509050620009ec9190620009f0565b5090565b5b8082111562000a0b576000816000905550600101620009f1565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000a9d5780860481111562000a755762000a7462000a0f565b5b600185161562000a855780820291505b808102905062000a958562000a3e565b945062000a55565b94509492505050565b60008262000ab8576001905062000b8b565b8162000ac8576000905062000b8b565b816001811462000ae1576002811462000aec5762000b22565b600191505062000b8b565b60ff84111562000b015762000b0062000a0f565b5b8360020a91508482111562000b1b5762000b1a62000a0f565b5b5062000b8b565b5060208310610133831016604e8410600b841016171562000b5c5782820a90508381111562000b565762000b5562000a0f565b5b62000b8b565b62000b6b848484600162000a4b565b9250905081840481111562000b855762000b8462000a0f565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000bb68262000b92565b915062000bc38362000b9c565b925062000bf27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000aa6565b905092915050565b600062000c078262000b92565b915062000c148362000b92565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000c505762000c4f62000a0f565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000c978262000b92565b915062000ca48362000b92565b92508262000cb75762000cb662000c5b565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000cf48262000cc7565b9050919050565b62000d068162000ce7565b811462000d1257600080fd5b50565b60008151905062000d268162000cfb565b92915050565b60006020828403121562000d455762000d4462000cc2565b5b600062000d558482850162000d15565b91505092915050565b62000d698162000ce7565b82525050565b600060408201905062000d86600083018562000d5e565b62000d95602083018462000d5e565b9392505050565b62000da78162000b92565b82525050565b600060208201905062000dc4600083018462000d9c565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000e1257607f821691505b6020821081141562000e295762000e2862000dca565b5b50919050565b608051613fe662000e5260003960008181610cb80152612e610152613fe66000f3fe6080604052600436106102765760003560e01c8063893d20e81161014f578063b4d95a93116100c1578063d15bcf0f1161007a578063d15bcf0f14610951578063d7d7442f1461097c578063dd62ed3e146109a5578063ddcf9b98146109e2578063e1370dd314610a0d578063f2fde38b14610a385761027d565b8063b4d95a9314610831578063b62496f51461085a578063bf9b015914610897578063cb664534146108c2578063cba0e996146108eb578063d1294d4c146109285761027d565b80639b136da4116101135780639b136da414610721578063a04bdc811461074c578063a5ece94114610777578063a6c38f59146107a2578063a7a07452146107cb578063a9059cbb146107f45761027d565b8063893d20e81461064c5780638da5cb5b1461067757806390f50283146106a257806395d89b41146106cd5780639a7a23d6146106f85761027d565b80634a0e963c116101e857806364c16163116101ac57806364c16163146105505780636573c4df1461057b5780636df3333a146105a457806370a08231146105cf578063715018a61461060c578063801527ce146106235761027d565b80634a0e963c1461047d5780634a74bb02146104a65780634bd7ace5146104d15780635297defd146104fc57806362bb7324146105275761027d565b806323b872dd1161023a57806323b872dd1461036b57806327c8f835146103a85780632d03420b146103d3578063313ce567146103fc578063487a69051461042757806349bd5a5e146104525761027d565b806306fdde0314610282578063095ea7b3146102ad57806318160ddd146102ea578063220f66961461031557806322788f86146103405761027d565b3661027d57005b600080fd5b34801561028e57600080fd5b50610297610a61565b6040516102a49190612f85565b60405180910390f35b3480156102b957600080fd5b506102d460048036038101906102cf9190613040565b610af3565b6040516102e1919061309b565b60405180910390f35b3480156102f657600080fd5b506102ff610b11565b60405161030c91906130c5565b60405180910390f35b34801561032157600080fd5b5061032a610b1b565b604051610337919061309b565b60405180910390f35b34801561034c57600080fd5b50610355610b2e565b60405161036291906130c5565b60405180910390f35b34801561037757600080fd5b50610392600480360381019061038d91906130e0565b610b38565b60405161039f919061309b565b60405180910390f35b3480156103b457600080fd5b506103bd610cb6565b6040516103ca9190613142565b60405180910390f35b3480156103df57600080fd5b506103fa60048036038101906103f59190613189565b610cda565b005b34801561040857600080fd5b50610411610d73565b60405161041e91906130c5565b60405180910390f35b34801561043357600080fd5b5061043c610d8d565b60405161044991906130c5565b60405180910390f35b34801561045e57600080fd5b50610467610d97565b6040516104749190613142565b60405180910390f35b34801561048957600080fd5b506104a4600480360381019061049f91906131b6565b610dbd565b005b3480156104b257600080fd5b506104bb610e94565b6040516104c8919061309b565b60405180910390f35b3480156104dd57600080fd5b506104e6610ea7565b6040516104f391906130c5565b60405180910390f35b34801561050857600080fd5b50610511610eb1565b60405161051e91906130c5565b60405180910390f35b34801561053357600080fd5b5061054e600480360381019061054991906131e3565b610ebb565b005b34801561055c57600080fd5b50610565610f41565b60405161057291906130c5565b60405180910390f35b34801561058757600080fd5b506105a2600480360381019061059d91906131e3565b610f4b565b005b3480156105b057600080fd5b506105b9610ff3565b6040516105c691906130c5565b60405180910390f35b3480156105db57600080fd5b506105f660048036038101906105f191906131b6565b610ffd565b60405161060391906130c5565b60405180910390f35b34801561061857600080fd5b50610621611046565b005b34801561062f57600080fd5b5061064a60048036038101906106459190613189565b6110ce565b005b34801561065857600080fd5b50610661611167565b60405161066e9190613142565b60405180910390f35b34801561068357600080fd5b5061068c611176565b6040516106999190613142565b60405180910390f35b3480156106ae57600080fd5b506106b761119f565b6040516106c491906130c5565b60405180910390f35b3480156106d957600080fd5b506106e26111a9565b6040516106ef9190612f85565b60405180910390f35b34801561070457600080fd5b5061071f600480360381019061071a9190613210565b61123b565b005b34801561072d57600080fd5b50610736611356565b60405161074391906130c5565b60405180910390f35b34801561075857600080fd5b50610761611360565b60405161076e91906130c5565b60405180910390f35b34801561078357600080fd5b5061078c611366565b6040516107999190613271565b60405180910390f35b3480156107ae57600080fd5b506107c960048036038101906107c491906132b8565b61138c565b005b3480156107d757600080fd5b506107f260048036038101906107ed91906131e3565b611463565b005b34801561080057600080fd5b5061081b60048036038101906108169190613040565b61150b565b604051610828919061309b565b60405180910390f35b34801561083d57600080fd5b50610858600480360381019061085391906131b6565b611529565b005b34801561086657600080fd5b50610881600480360381019061087c91906131b6565b611600565b60405161088e919061309b565b60405180910390f35b3480156108a357600080fd5b506108ac611620565b6040516108b991906130c5565b60405180910390f35b3480156108ce57600080fd5b506108e960048036038101906108e491906131b6565b61162a565b005b3480156108f757600080fd5b50610912600480360381019061090d91906131b6565b611701565b60405161091f919061309b565b60405180910390f35b34801561093457600080fd5b5061094f600480360381019061094a91906131e3565b611757565b005b34801561095d57600080fd5b50610966611800565b604051610973919061309b565b60405180910390f35b34801561098857600080fd5b506109a3600480360381019061099e91906131e3565b611817565b005b3480156109b157600080fd5b506109cc60048036038101906109c791906132f8565b61189d565b6040516109d991906130c5565b60405180910390f35b3480156109ee57600080fd5b506109f7611924565b604051610a0491906130c5565b60405180910390f35b348015610a1957600080fd5b50610a2261192e565b604051610a2f91906130c5565b60405180910390f35b348015610a4457600080fd5b50610a5f6004803603810190610a5a91906131b6565b611938565b005b606060018054610a7090613367565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9c90613367565b8015610ae95780601f10610abe57610100808354040283529160200191610ae9565b820191906000526020600020905b815481529060010190602001808311610acc57829003601f168201915b5050505050905090565b6000610b07610b00611a30565b8484611a38565b6001905092915050565b6000600954905090565b602060009054906101000a900460ff1681565b6000600854905090565b6000600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b83611a30565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610c00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf79061340b565b60405180910390fd5b610c0b848484611c03565b610cab84610c17611a30565b84600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c61611a30565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ca6919061345a565b611a38565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b610ce2611a30565b73ffffffffffffffffffffffffffffffffffffffff16610d00611176565b73ffffffffffffffffffffffffffffffffffffffff1614610d56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4d906134da565b60405180910390fd5b80601b60006101000a81548160ff02191690831515021790555050565b6000600360009054906101000a900460ff1660ff16905090565b6000600a54905090565b602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610dc5611a30565b73ffffffffffffffffffffffffffffffffffffffff16610de3611176565b73ffffffffffffffffffffffffffffffffffffffff1614610e39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e30906134da565b60405180910390fd5b6001600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b602060019054906101000a900460ff1681565b6000601754905090565b6000601e54905090565b610ec3611a30565b73ffffffffffffffffffffffffffffffffffffffff16610ee1611176565b73ffffffffffffffffffffffffffffffffffffffff1614610f37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2e906134da565b60405180910390fd5b80601e8190555050565b6000602254905090565b610f53611a30565b73ffffffffffffffffffffffffffffffffffffffff16610f71611176565b73ffffffffffffffffffffffffffffffffffffffff1614610fc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbe906134da565b60405180910390fd5b806005819055506064600554600954610fe091906134fa565b610fea9190613583565b60118190555050565b6000600754905090565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61104e611a30565b73ffffffffffffffffffffffffffffffffffffffff1661106c611176565b73ffffffffffffffffffffffffffffffffffffffff16146110c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b9906134da565b60405180910390fd5b6110cc60006126c0565b565b6110d6611a30565b73ffffffffffffffffffffffffffffffffffffffff166110f4611176565b73ffffffffffffffffffffffffffffffffffffffff161461114a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611141906134da565b60405180910390fd5b80602060016101000a81548160ff02191690831515021790555050565b6000611171611176565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601c54905090565b6060600280546111b890613367565b80601f01602080910402602001604051908101604052809291908181526020018280546111e490613367565b80156112315780601f1061120657610100808354040283529160200191611231565b820191906000526020600020905b81548152906001019060200180831161121457829003601f168201915b5050505050905090565b611243611a30565b73ffffffffffffffffffffffffffffffffffffffff16611261611176565b73ffffffffffffffffffffffffffffffffffffffff16146112b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ae906134da565b60405180910390fd5b602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611348576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133f90613626565b60405180910390fd5b6113528282612784565b5050565b6000601954905090565b600a5481565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611394611a30565b73ffffffffffffffffffffffffffffffffffffffff166113b2611176565b73ffffffffffffffffffffffffffffffffffffffff1614611408576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ff906134da565b60405180910390fd5b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61146b611a30565b73ffffffffffffffffffffffffffffffffffffffff16611489611176565b73ffffffffffffffffffffffffffffffffffffffff16146114df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d6906134da565b60405180910390fd5b8060068190555060646006546009546114f891906134fa565b6115029190613583565b60128190555050565b600061151f611518611a30565b8484611c03565b6001905092915050565b611531611a30565b73ffffffffffffffffffffffffffffffffffffffff1661154f611176565b73ffffffffffffffffffffffffffffffffffffffff16146115a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159c906134da565b60405180910390fd5b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600e6020528060005260406000206000915054906101000a900460ff1681565b6000601254905090565b611632611a30565b73ffffffffffffffffffffffffffffffffffffffff16611650611176565b73ffffffffffffffffffffffffffffffffffffffff16146116a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169d906134da565b60405180910390fd5b6001601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61175f611a30565b73ffffffffffffffffffffffffffffffffffffffff1661177d611176565b73ffffffffffffffffffffffffffffffffffffffff16146117d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ca906134da565b60405180910390fd5b806007819055506103e86007546009546117ed91906134fa565b6117f79190613583565b600a8190555050565b6000601b60009054906101000a900460ff16905090565b61181f611a30565b73ffffffffffffffffffffffffffffffffffffffff1661183d611176565b73ffffffffffffffffffffffffffffffffffffffff1614611893576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188a906134da565b60405180910390fd5b8060088190555050565b6000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000602154905090565b6000601154905090565b611940611a30565b73ffffffffffffffffffffffffffffffffffffffff1661195e611176565b73ffffffffffffffffffffffffffffffffffffffff16146119b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ab906134da565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1b906136b8565b60405180910390fd5b611a2d816126c0565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9f9061374a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0f906137dc565b60405180910390fd5b80600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611bf691906130c5565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611c73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6a9061386e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ce3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cda90613900565b60405180910390fd5b60008111611d26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1d90613992565b60405180910390fd5b6000600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611dad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da490613a24565b60405180910390fd5b60001515601b60009054906101000a900460ff1615151415611eaa57601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611e6a5750601560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611ea9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea090613a90565b60405180910390fd5b5b60001515601560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515148015611f5a575060001515601560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b1561201e57601254821115611fa4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9b90613b22565b60405180910390fd5b602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561201d576011548261200785610ffd565b6120119190613b42565b111561201c57600080fd5b5b5b600061202930610ffd565b9050600a54811015801561204a5750602060009054906101000a900460ff16155b80156120a45750602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156120bc5750602060019054906101000a900460ff165b156120da57600a5481106120d957600a5490506120d881612825565b5b5b600060019050600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806121815750600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612193576000600481905550600090505b600080821561248f5760011515601360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515148061224b575060011515601360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b1561228b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161228290613be4565b60405180910390fd5b600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156123325750602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b1561238e5760006004819055506064601e548761234f91906134fa565b6123599190613583565b91506064601c548761236b91906134fa565b6123759190613583565b905080826123839190613b42565b60048190555061248e565b600e60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156124355750602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1561248d57600060048190555060646019548761245291906134fa565b61245c9190613583565b915060646017548761246e91906134fa565b6124789190613583565b905080826124869190613b42565b6004819055505b5b5b858561249b919061345a565b600b60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508082876124eb919061345a565b6124f5919061345a565b600b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546125439190613b42565b925050819055506000811461264457600454600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546125a39190613b42565b9250508190555080602260008282546125bc9190613b42565b9250508190555081602160008282546125d59190613b42565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60045460405161263b91906130c5565b60405180910390a35b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600454896126a1919061345a565b6040516126ae91906130c5565b60405180910390a35050505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6001602060006101000a81548160ff02191690831515021790555061284b6022546128bb565b612856602154612946565b7f4596ef7337c1c88bb740707471cfc0ec6d0212036b05ab1bdbb09cf3e3f019048160405161288591906130c5565b60405180910390a1600060218190555060006022819055506000602060006101000a81548160ff02191690831515021790555050565b60006002826128ca9190613583565b9050600081836128da919061345a565b905060004790506128ea83612bab565b600081476128f8919061345a565b90506129048382612dee565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb56184828560405161293793929190613c04565b60405180910390a15050505050565b6000600267ffffffffffffffff81111561296357612962613c3b565b5b6040519080825280602002602001820160405280156129915781602001602082028036833780820191505090505b50905030816000815181106129a9576129a8613c6a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a749190613cae565b81600181518110612a8857612a87613c6a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612aef30602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611a38565b602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401612b75959493929190613e33565b600060405180830381600087803b158015612b8f57600080fd5b505af1158015612ba3573d6000803e3d6000fd5b505050505050565b6000600267ffffffffffffffff811115612bc857612bc7613c3b565b5b604051908082528060200260200182016040528015612bf65781602001602082028036833780820191505090505b5090503081600081518110612c0e57612c0d613c6a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612cb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cd99190613cae565b81600181518110612ced57612cec613c6a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612d5430602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611a38565b602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612db8959493929190613e8d565b600060405180830381600087803b158015612dd257600080fd5b505af1158015612de6573d6000803e3d6000fd5b505050505050565b612e1b30602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611a38565b602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230856000807f0000000000000000000000000000000000000000000000000000000000000000426040518863ffffffff1660e01b8152600401612ea296959493929190613ee7565b60606040518083038185885af1158015612ec0573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612ee59190613f5d565b5050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612f26578082015181840152602081019050612f0b565b83811115612f35576000848401525b50505050565b6000601f19601f8301169050919050565b6000612f5782612eec565b612f618185612ef7565b9350612f71818560208601612f08565b612f7a81612f3b565b840191505092915050565b60006020820190508181036000830152612f9f8184612f4c565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612fd782612fac565b9050919050565b612fe781612fcc565b8114612ff257600080fd5b50565b60008135905061300481612fde565b92915050565b6000819050919050565b61301d8161300a565b811461302857600080fd5b50565b60008135905061303a81613014565b92915050565b6000806040838503121561305757613056612fa7565b5b600061306585828601612ff5565b92505060206130768582860161302b565b9150509250929050565b60008115159050919050565b61309581613080565b82525050565b60006020820190506130b0600083018461308c565b92915050565b6130bf8161300a565b82525050565b60006020820190506130da60008301846130b6565b92915050565b6000806000606084860312156130f9576130f8612fa7565b5b600061310786828701612ff5565b935050602061311886828701612ff5565b92505060406131298682870161302b565b9150509250925092565b61313c81612fcc565b82525050565b60006020820190506131576000830184613133565b92915050565b61316681613080565b811461317157600080fd5b50565b6000813590506131838161315d565b92915050565b60006020828403121561319f5761319e612fa7565b5b60006131ad84828501613174565b91505092915050565b6000602082840312156131cc576131cb612fa7565b5b60006131da84828501612ff5565b91505092915050565b6000602082840312156131f9576131f8612fa7565b5b60006132078482850161302b565b91505092915050565b6000806040838503121561322757613226612fa7565b5b600061323585828601612ff5565b925050602061324685828601613174565b9150509250929050565b600061325b82612fac565b9050919050565b61326b81613250565b82525050565b60006020820190506132866000830184613262565b92915050565b61329581613250565b81146132a057600080fd5b50565b6000813590506132b28161328c565b92915050565b600080604083850312156132cf576132ce612fa7565b5b60006132dd858286016132a3565b92505060206132ee85828601613174565b9150509250929050565b6000806040838503121561330f5761330e612fa7565b5b600061331d85828601612ff5565b925050602061332e85828601612ff5565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061337f57607f821691505b6020821081141561339357613392613338565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006133f5602883612ef7565b915061340082613399565b604082019050919050565b60006020820190508181036000830152613424816133e8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006134658261300a565b91506134708361300a565b9250828210156134835761348261342b565b5b828203905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006134c4602083612ef7565b91506134cf8261348e565b602082019050919050565b600060208201905081810360008301526134f3816134b7565b9050919050565b60006135058261300a565b91506135108361300a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156135495761354861342b565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061358e8261300a565b91506135998361300a565b9250826135a9576135a8613554565b5b828204905092915050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b6000613610603983612ef7565b915061361b826135b4565b604082019050919050565b6000602082019050818103600083015261363f81613603565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006136a2602683612ef7565b91506136ad82613646565b604082019050919050565b600060208201905081810360008301526136d181613695565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613734602483612ef7565b915061373f826136d8565b604082019050919050565b6000602082019050818103600083015261376381613727565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006137c6602283612ef7565b91506137d18261376a565b604082019050919050565b600060208201905081810360008301526137f5816137b9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613858602583612ef7565b9150613863826137fc565b604082019050919050565b600060208201905081810360008301526138878161384b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006138ea602383612ef7565b91506138f58261388e565b604082019050919050565b60006020820190508181036000830152613919816138dd565b9050919050565b7f45524332303a207472616e73666572656420616d6f756e74206d75737420626560008201527f2067726561746572207468616e207a65726f0000000000000000000000000000602082015250565b600061397c603283612ef7565b915061398782613920565b604082019050919050565b600060208201905081810360008301526139ab8161396f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613a0e602683612ef7565b9150613a19826139b2565b604082019050919050565b60006020820190508181036000830152613a3d81613a01565b9050919050565b7f43616e742074726164652c2074726164652069732064697361626c6564000000600082015250565b6000613a7a601d83612ef7565b9150613a8582613a44565b602082019050919050565b60006020820190508181036000830152613aa981613a6d565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b6000613b0c602883612ef7565b9150613b1782613ab0565b604082019050919050565b60006020820190508181036000830152613b3b81613aff565b9050919050565b6000613b4d8261300a565b9150613b588361300a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613b8d57613b8c61342b565b5b828201905092915050565b7f4e6f20626f74732063616e207472616465000000000000000000000000000000600082015250565b6000613bce601183612ef7565b9150613bd982613b98565b602082019050919050565b60006020820190508181036000830152613bfd81613bc1565b9050919050565b6000606082019050613c1960008301866130b6565b613c2660208301856130b6565b613c3360408301846130b6565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613ca881612fde565b92915050565b600060208284031215613cc457613cc3612fa7565b5b6000613cd284828501613c99565b91505092915050565b6000819050919050565b6000819050919050565b6000613d0a613d05613d0084613cdb565b613ce5565b61300a565b9050919050565b613d1a81613cef565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613d5581612fcc565b82525050565b6000613d678383613d4c565b60208301905092915050565b6000602082019050919050565b6000613d8b82613d20565b613d958185613d2b565b9350613da083613d3c565b8060005b83811015613dd1578151613db88882613d5b565b9750613dc383613d73565b925050600181019050613da4565b5085935050505092915050565b6000613df9613df4613def84612fac565b613ce5565b612fac565b9050919050565b6000613e0b82613dde565b9050919050565b6000613e1d82613e00565b9050919050565b613e2d81613e12565b82525050565b600060a082019050613e4860008301886130b6565b613e556020830187613d11565b8181036040830152613e678186613d80565b9050613e766060830185613e24565b613e8360808301846130b6565b9695505050505050565b600060a082019050613ea260008301886130b6565b613eaf6020830187613d11565b8181036040830152613ec18186613d80565b9050613ed06060830185613133565b613edd60808301846130b6565b9695505050505050565b600060c082019050613efc6000830189613133565b613f0960208301886130b6565b613f166040830187613d11565b613f236060830186613d11565b613f306080830185613133565b613f3d60a08301846130b6565b979650505050505050565b600081519050613f5781613014565b92915050565b600080600060608486031215613f7657613f75612fa7565b5b6000613f8486828701613f48565b9350506020613f9586828701613f48565b9250506040613fa686828701613f48565b915050925092509256fea2646970667358221220f2f3dda5009c65d262aaf041d7aa7e517ada112856f9b3724f6f46ed63aacb7b64736f6c634300080b0033
Deployed Bytecode
0x6080604052600436106102765760003560e01c8063893d20e81161014f578063b4d95a93116100c1578063d15bcf0f1161007a578063d15bcf0f14610951578063d7d7442f1461097c578063dd62ed3e146109a5578063ddcf9b98146109e2578063e1370dd314610a0d578063f2fde38b14610a385761027d565b8063b4d95a9314610831578063b62496f51461085a578063bf9b015914610897578063cb664534146108c2578063cba0e996146108eb578063d1294d4c146109285761027d565b80639b136da4116101135780639b136da414610721578063a04bdc811461074c578063a5ece94114610777578063a6c38f59146107a2578063a7a07452146107cb578063a9059cbb146107f45761027d565b8063893d20e81461064c5780638da5cb5b1461067757806390f50283146106a257806395d89b41146106cd5780639a7a23d6146106f85761027d565b80634a0e963c116101e857806364c16163116101ac57806364c16163146105505780636573c4df1461057b5780636df3333a146105a457806370a08231146105cf578063715018a61461060c578063801527ce146106235761027d565b80634a0e963c1461047d5780634a74bb02146104a65780634bd7ace5146104d15780635297defd146104fc57806362bb7324146105275761027d565b806323b872dd1161023a57806323b872dd1461036b57806327c8f835146103a85780632d03420b146103d3578063313ce567146103fc578063487a69051461042757806349bd5a5e146104525761027d565b806306fdde0314610282578063095ea7b3146102ad57806318160ddd146102ea578063220f66961461031557806322788f86146103405761027d565b3661027d57005b600080fd5b34801561028e57600080fd5b50610297610a61565b6040516102a49190612f85565b60405180910390f35b3480156102b957600080fd5b506102d460048036038101906102cf9190613040565b610af3565b6040516102e1919061309b565b60405180910390f35b3480156102f657600080fd5b506102ff610b11565b60405161030c91906130c5565b60405180910390f35b34801561032157600080fd5b5061032a610b1b565b604051610337919061309b565b60405180910390f35b34801561034c57600080fd5b50610355610b2e565b60405161036291906130c5565b60405180910390f35b34801561037757600080fd5b50610392600480360381019061038d91906130e0565b610b38565b60405161039f919061309b565b60405180910390f35b3480156103b457600080fd5b506103bd610cb6565b6040516103ca9190613142565b60405180910390f35b3480156103df57600080fd5b506103fa60048036038101906103f59190613189565b610cda565b005b34801561040857600080fd5b50610411610d73565b60405161041e91906130c5565b60405180910390f35b34801561043357600080fd5b5061043c610d8d565b60405161044991906130c5565b60405180910390f35b34801561045e57600080fd5b50610467610d97565b6040516104749190613142565b60405180910390f35b34801561048957600080fd5b506104a4600480360381019061049f91906131b6565b610dbd565b005b3480156104b257600080fd5b506104bb610e94565b6040516104c8919061309b565b60405180910390f35b3480156104dd57600080fd5b506104e6610ea7565b6040516104f391906130c5565b60405180910390f35b34801561050857600080fd5b50610511610eb1565b60405161051e91906130c5565b60405180910390f35b34801561053357600080fd5b5061054e600480360381019061054991906131e3565b610ebb565b005b34801561055c57600080fd5b50610565610f41565b60405161057291906130c5565b60405180910390f35b34801561058757600080fd5b506105a2600480360381019061059d91906131e3565b610f4b565b005b3480156105b057600080fd5b506105b9610ff3565b6040516105c691906130c5565b60405180910390f35b3480156105db57600080fd5b506105f660048036038101906105f191906131b6565b610ffd565b60405161060391906130c5565b60405180910390f35b34801561061857600080fd5b50610621611046565b005b34801561062f57600080fd5b5061064a60048036038101906106459190613189565b6110ce565b005b34801561065857600080fd5b50610661611167565b60405161066e9190613142565b60405180910390f35b34801561068357600080fd5b5061068c611176565b6040516106999190613142565b60405180910390f35b3480156106ae57600080fd5b506106b761119f565b6040516106c491906130c5565b60405180910390f35b3480156106d957600080fd5b506106e26111a9565b6040516106ef9190612f85565b60405180910390f35b34801561070457600080fd5b5061071f600480360381019061071a9190613210565b61123b565b005b34801561072d57600080fd5b50610736611356565b60405161074391906130c5565b60405180910390f35b34801561075857600080fd5b50610761611360565b60405161076e91906130c5565b60405180910390f35b34801561078357600080fd5b5061078c611366565b6040516107999190613271565b60405180910390f35b3480156107ae57600080fd5b506107c960048036038101906107c491906132b8565b61138c565b005b3480156107d757600080fd5b506107f260048036038101906107ed91906131e3565b611463565b005b34801561080057600080fd5b5061081b60048036038101906108169190613040565b61150b565b604051610828919061309b565b60405180910390f35b34801561083d57600080fd5b50610858600480360381019061085391906131b6565b611529565b005b34801561086657600080fd5b50610881600480360381019061087c91906131b6565b611600565b60405161088e919061309b565b60405180910390f35b3480156108a357600080fd5b506108ac611620565b6040516108b991906130c5565b60405180910390f35b3480156108ce57600080fd5b506108e960048036038101906108e491906131b6565b61162a565b005b3480156108f757600080fd5b50610912600480360381019061090d91906131b6565b611701565b60405161091f919061309b565b60405180910390f35b34801561093457600080fd5b5061094f600480360381019061094a91906131e3565b611757565b005b34801561095d57600080fd5b50610966611800565b604051610973919061309b565b60405180910390f35b34801561098857600080fd5b506109a3600480360381019061099e91906131e3565b611817565b005b3480156109b157600080fd5b506109cc60048036038101906109c791906132f8565b61189d565b6040516109d991906130c5565b60405180910390f35b3480156109ee57600080fd5b506109f7611924565b604051610a0491906130c5565b60405180910390f35b348015610a1957600080fd5b50610a2261192e565b604051610a2f91906130c5565b60405180910390f35b348015610a4457600080fd5b50610a5f6004803603810190610a5a91906131b6565b611938565b005b606060018054610a7090613367565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9c90613367565b8015610ae95780601f10610abe57610100808354040283529160200191610ae9565b820191906000526020600020905b815481529060010190602001808311610acc57829003601f168201915b5050505050905090565b6000610b07610b00611a30565b8484611a38565b6001905092915050565b6000600954905090565b602060009054906101000a900460ff1681565b6000600854905090565b6000600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b83611a30565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610c00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf79061340b565b60405180910390fd5b610c0b848484611c03565b610cab84610c17611a30565b84600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c61611a30565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ca6919061345a565b611a38565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b610ce2611a30565b73ffffffffffffffffffffffffffffffffffffffff16610d00611176565b73ffffffffffffffffffffffffffffffffffffffff1614610d56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4d906134da565b60405180910390fd5b80601b60006101000a81548160ff02191690831515021790555050565b6000600360009054906101000a900460ff1660ff16905090565b6000600a54905090565b602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610dc5611a30565b73ffffffffffffffffffffffffffffffffffffffff16610de3611176565b73ffffffffffffffffffffffffffffffffffffffff1614610e39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e30906134da565b60405180910390fd5b6001600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b602060019054906101000a900460ff1681565b6000601754905090565b6000601e54905090565b610ec3611a30565b73ffffffffffffffffffffffffffffffffffffffff16610ee1611176565b73ffffffffffffffffffffffffffffffffffffffff1614610f37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2e906134da565b60405180910390fd5b80601e8190555050565b6000602254905090565b610f53611a30565b73ffffffffffffffffffffffffffffffffffffffff16610f71611176565b73ffffffffffffffffffffffffffffffffffffffff1614610fc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbe906134da565b60405180910390fd5b806005819055506064600554600954610fe091906134fa565b610fea9190613583565b60118190555050565b6000600754905090565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61104e611a30565b73ffffffffffffffffffffffffffffffffffffffff1661106c611176565b73ffffffffffffffffffffffffffffffffffffffff16146110c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b9906134da565b60405180910390fd5b6110cc60006126c0565b565b6110d6611a30565b73ffffffffffffffffffffffffffffffffffffffff166110f4611176565b73ffffffffffffffffffffffffffffffffffffffff161461114a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611141906134da565b60405180910390fd5b80602060016101000a81548160ff02191690831515021790555050565b6000611171611176565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601c54905090565b6060600280546111b890613367565b80601f01602080910402602001604051908101604052809291908181526020018280546111e490613367565b80156112315780601f1061120657610100808354040283529160200191611231565b820191906000526020600020905b81548152906001019060200180831161121457829003601f168201915b5050505050905090565b611243611a30565b73ffffffffffffffffffffffffffffffffffffffff16611261611176565b73ffffffffffffffffffffffffffffffffffffffff16146112b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ae906134da565b60405180910390fd5b602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611348576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133f90613626565b60405180910390fd5b6113528282612784565b5050565b6000601954905090565b600a5481565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611394611a30565b73ffffffffffffffffffffffffffffffffffffffff166113b2611176565b73ffffffffffffffffffffffffffffffffffffffff1614611408576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ff906134da565b60405180910390fd5b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61146b611a30565b73ffffffffffffffffffffffffffffffffffffffff16611489611176565b73ffffffffffffffffffffffffffffffffffffffff16146114df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d6906134da565b60405180910390fd5b8060068190555060646006546009546114f891906134fa565b6115029190613583565b60128190555050565b600061151f611518611a30565b8484611c03565b6001905092915050565b611531611a30565b73ffffffffffffffffffffffffffffffffffffffff1661154f611176565b73ffffffffffffffffffffffffffffffffffffffff16146115a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159c906134da565b60405180910390fd5b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600e6020528060005260406000206000915054906101000a900460ff1681565b6000601254905090565b611632611a30565b73ffffffffffffffffffffffffffffffffffffffff16611650611176565b73ffffffffffffffffffffffffffffffffffffffff16146116a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169d906134da565b60405180910390fd5b6001601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61175f611a30565b73ffffffffffffffffffffffffffffffffffffffff1661177d611176565b73ffffffffffffffffffffffffffffffffffffffff16146117d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ca906134da565b60405180910390fd5b806007819055506103e86007546009546117ed91906134fa565b6117f79190613583565b600a8190555050565b6000601b60009054906101000a900460ff16905090565b61181f611a30565b73ffffffffffffffffffffffffffffffffffffffff1661183d611176565b73ffffffffffffffffffffffffffffffffffffffff1614611893576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188a906134da565b60405180910390fd5b8060088190555050565b6000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000602154905090565b6000601154905090565b611940611a30565b73ffffffffffffffffffffffffffffffffffffffff1661195e611176565b73ffffffffffffffffffffffffffffffffffffffff16146119b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ab906134da565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1b906136b8565b60405180910390fd5b611a2d816126c0565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9f9061374a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b0f906137dc565b60405180910390fd5b80600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611bf691906130c5565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611c73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6a9061386e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ce3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cda90613900565b60405180910390fd5b60008111611d26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1d90613992565b60405180910390fd5b6000600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611dad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da490613a24565b60405180910390fd5b60001515601b60009054906101000a900460ff1615151415611eaa57601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611e6a5750601560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611ea9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea090613a90565b60405180910390fd5b5b60001515601560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515148015611f5a575060001515601560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b1561201e57601254821115611fa4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9b90613b22565b60405180910390fd5b602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561201d576011548261200785610ffd565b6120119190613b42565b111561201c57600080fd5b5b5b600061202930610ffd565b9050600a54811015801561204a5750602060009054906101000a900460ff16155b80156120a45750602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156120bc5750602060019054906101000a900460ff165b156120da57600a5481106120d957600a5490506120d881612825565b5b5b600060019050600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806121815750600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612193576000600481905550600090505b600080821561248f5760011515601360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515148061224b575060011515601360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b1561228b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161228290613be4565b60405180910390fd5b600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156123325750602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614155b1561238e5760006004819055506064601e548761234f91906134fa565b6123599190613583565b91506064601c548761236b91906134fa565b6123759190613583565b905080826123839190613b42565b60048190555061248e565b600e60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156124355750602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b1561248d57600060048190555060646019548761245291906134fa565b61245c9190613583565b915060646017548761246e91906134fa565b6124789190613583565b905080826124869190613b42565b6004819055505b5b5b858561249b919061345a565b600b60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508082876124eb919061345a565b6124f5919061345a565b600b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546125439190613b42565b925050819055506000811461264457600454600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546125a39190613b42565b9250508190555080602260008282546125bc9190613b42565b9250508190555081602160008282546125d59190613b42565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60045460405161263b91906130c5565b60405180910390a35b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600454896126a1919061345a565b6040516126ae91906130c5565b60405180910390a35050505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6001602060006101000a81548160ff02191690831515021790555061284b6022546128bb565b612856602154612946565b7f4596ef7337c1c88bb740707471cfc0ec6d0212036b05ab1bdbb09cf3e3f019048160405161288591906130c5565b60405180910390a1600060218190555060006022819055506000602060006101000a81548160ff02191690831515021790555050565b60006002826128ca9190613583565b9050600081836128da919061345a565b905060004790506128ea83612bab565b600081476128f8919061345a565b90506129048382612dee565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb56184828560405161293793929190613c04565b60405180910390a15050505050565b6000600267ffffffffffffffff81111561296357612962613c3b565b5b6040519080825280602002602001820160405280156129915781602001602082028036833780820191505090505b50905030816000815181106129a9576129a8613c6a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a749190613cae565b81600181518110612a8857612a87613c6a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612aef30602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611a38565b602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401612b75959493929190613e33565b600060405180830381600087803b158015612b8f57600080fd5b505af1158015612ba3573d6000803e3d6000fd5b505050505050565b6000600267ffffffffffffffff811115612bc857612bc7613c3b565b5b604051908082528060200260200182016040528015612bf65781602001602082028036833780820191505090505b5090503081600081518110612c0e57612c0d613c6a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612cb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cd99190613cae565b81600181518110612ced57612cec613c6a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612d5430602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611a38565b602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612db8959493929190613e8d565b600060405180830381600087803b158015612dd257600080fd5b505af1158015612de6573d6000803e3d6000fd5b505050505050565b612e1b30602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611a38565b602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230856000807f000000000000000000000000000000000000000000000000000000000000dead426040518863ffffffff1660e01b8152600401612ea296959493929190613ee7565b60606040518083038185885af1158015612ec0573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612ee59190613f5d565b5050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612f26578082015181840152602081019050612f0b565b83811115612f35576000848401525b50505050565b6000601f19601f8301169050919050565b6000612f5782612eec565b612f618185612ef7565b9350612f71818560208601612f08565b612f7a81612f3b565b840191505092915050565b60006020820190508181036000830152612f9f8184612f4c565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612fd782612fac565b9050919050565b612fe781612fcc565b8114612ff257600080fd5b50565b60008135905061300481612fde565b92915050565b6000819050919050565b61301d8161300a565b811461302857600080fd5b50565b60008135905061303a81613014565b92915050565b6000806040838503121561305757613056612fa7565b5b600061306585828601612ff5565b92505060206130768582860161302b565b9150509250929050565b60008115159050919050565b61309581613080565b82525050565b60006020820190506130b0600083018461308c565b92915050565b6130bf8161300a565b82525050565b60006020820190506130da60008301846130b6565b92915050565b6000806000606084860312156130f9576130f8612fa7565b5b600061310786828701612ff5565b935050602061311886828701612ff5565b92505060406131298682870161302b565b9150509250925092565b61313c81612fcc565b82525050565b60006020820190506131576000830184613133565b92915050565b61316681613080565b811461317157600080fd5b50565b6000813590506131838161315d565b92915050565b60006020828403121561319f5761319e612fa7565b5b60006131ad84828501613174565b91505092915050565b6000602082840312156131cc576131cb612fa7565b5b60006131da84828501612ff5565b91505092915050565b6000602082840312156131f9576131f8612fa7565b5b60006132078482850161302b565b91505092915050565b6000806040838503121561322757613226612fa7565b5b600061323585828601612ff5565b925050602061324685828601613174565b9150509250929050565b600061325b82612fac565b9050919050565b61326b81613250565b82525050565b60006020820190506132866000830184613262565b92915050565b61329581613250565b81146132a057600080fd5b50565b6000813590506132b28161328c565b92915050565b600080604083850312156132cf576132ce612fa7565b5b60006132dd858286016132a3565b92505060206132ee85828601613174565b9150509250929050565b6000806040838503121561330f5761330e612fa7565b5b600061331d85828601612ff5565b925050602061332e85828601612ff5565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061337f57607f821691505b6020821081141561339357613392613338565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006133f5602883612ef7565b915061340082613399565b604082019050919050565b60006020820190508181036000830152613424816133e8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006134658261300a565b91506134708361300a565b9250828210156134835761348261342b565b5b828203905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006134c4602083612ef7565b91506134cf8261348e565b602082019050919050565b600060208201905081810360008301526134f3816134b7565b9050919050565b60006135058261300a565b91506135108361300a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156135495761354861342b565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061358e8261300a565b91506135998361300a565b9250826135a9576135a8613554565b5b828204905092915050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b6000613610603983612ef7565b915061361b826135b4565b604082019050919050565b6000602082019050818103600083015261363f81613603565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006136a2602683612ef7565b91506136ad82613646565b604082019050919050565b600060208201905081810360008301526136d181613695565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613734602483612ef7565b915061373f826136d8565b604082019050919050565b6000602082019050818103600083015261376381613727565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006137c6602283612ef7565b91506137d18261376a565b604082019050919050565b600060208201905081810360008301526137f5816137b9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613858602583612ef7565b9150613863826137fc565b604082019050919050565b600060208201905081810360008301526138878161384b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006138ea602383612ef7565b91506138f58261388e565b604082019050919050565b60006020820190508181036000830152613919816138dd565b9050919050565b7f45524332303a207472616e73666572656420616d6f756e74206d75737420626560008201527f2067726561746572207468616e207a65726f0000000000000000000000000000602082015250565b600061397c603283612ef7565b915061398782613920565b604082019050919050565b600060208201905081810360008301526139ab8161396f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613a0e602683612ef7565b9150613a19826139b2565b604082019050919050565b60006020820190508181036000830152613a3d81613a01565b9050919050565b7f43616e742074726164652c2074726164652069732064697361626c6564000000600082015250565b6000613a7a601d83612ef7565b9150613a8582613a44565b602082019050919050565b60006020820190508181036000830152613aa981613a6d565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b6000613b0c602883612ef7565b9150613b1782613ab0565b604082019050919050565b60006020820190508181036000830152613b3b81613aff565b9050919050565b6000613b4d8261300a565b9150613b588361300a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613b8d57613b8c61342b565b5b828201905092915050565b7f4e6f20626f74732063616e207472616465000000000000000000000000000000600082015250565b6000613bce601183612ef7565b9150613bd982613b98565b602082019050919050565b60006020820190508181036000830152613bfd81613bc1565b9050919050565b6000606082019050613c1960008301866130b6565b613c2660208301856130b6565b613c3360408301846130b6565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613ca881612fde565b92915050565b600060208284031215613cc457613cc3612fa7565b5b6000613cd284828501613c99565b91505092915050565b6000819050919050565b6000819050919050565b6000613d0a613d05613d0084613cdb565b613ce5565b61300a565b9050919050565b613d1a81613cef565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613d5581612fcc565b82525050565b6000613d678383613d4c565b60208301905092915050565b6000602082019050919050565b6000613d8b82613d20565b613d958185613d2b565b9350613da083613d3c565b8060005b83811015613dd1578151613db88882613d5b565b9750613dc383613d73565b925050600181019050613da4565b5085935050505092915050565b6000613df9613df4613def84612fac565b613ce5565b612fac565b9050919050565b6000613e0b82613dde565b9050919050565b6000613e1d82613e00565b9050919050565b613e2d81613e12565b82525050565b600060a082019050613e4860008301886130b6565b613e556020830187613d11565b8181036040830152613e678186613d80565b9050613e766060830185613e24565b613e8360808301846130b6565b9695505050505050565b600060a082019050613ea260008301886130b6565b613eaf6020830187613d11565b8181036040830152613ec18186613d80565b9050613ed06060830185613133565b613edd60808301846130b6565b9695505050505050565b600060c082019050613efc6000830189613133565b613f0960208301886130b6565b613f166040830187613d11565b613f236060830186613d11565b613f306080830185613133565b613f3d60a08301846130b6565b979650505050505050565b600081519050613f5781613014565b92915050565b600080600060608486031215613f7657613f75612fa7565b5b6000613f8486828701613f48565b9350506020613f9586828701613f48565b9250506040613fa686828701613f48565b915050925092509256fea2646970667358221220f2f3dda5009c65d262aaf041d7aa7e517ada112856f9b3724f6f46ed63aacb7b64736f6c634300080b0033
Deployed Bytecode Sourcemap
5271:12406:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9420:76;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9187:154;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8675:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6874:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10776:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9893:363;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6948:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14500;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9343:75;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17578:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7410:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16034:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6905:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10415:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10685:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16988:87;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8584:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9732:159;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17488:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8773:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4717:85;;;;;;;;;;;;;:::i;:::-;;16351:104;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8414:77;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4149:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10594:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9498:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16584:228;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10504:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5792:71;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6119:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10292:121;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9582:148;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8884:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16139:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6041:58;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17167:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13981:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10870:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17249:150;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17401:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16248:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9046:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8493:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17077:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4932:178;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9420:76;9459:13;9487:5;9480:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9420:76;:::o;9187:154::-;9264:4;9279:37;9288:12;:10;:12::i;:::-;9301:7;9309:6;9279:8;:37::i;:::-;9333:4;9326:11;;9187:154;;;;:::o;8675:96::-;8730:7;8755:12;;8748:19;;8675:96;:::o;6874:28::-;;;;;;;;;;;;;:::o;10776:92::-;10827:7;10848:16;;10841:23;;10776:92;:::o;9893:363::-;10006:4;10035:11;:19;10047:6;10035:19;;;;;;;;;;;;;;;:33;10055:12;:10;:12::i;:::-;10035:33;;;;;;;;;;;;;;;;10025:6;:43;;10017:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;10119:36;10129:6;10137:9;10148:6;10119:9;:36::i;:::-;10161:74;10170:6;10178:12;:10;:12::i;:::-;10228:6;10192:11;:19;10204:6;10192:19;;;;;;;;;;;;;;;:33;10212:12;:10;:12::i;:::-;10192:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;10161:8;:74::i;:::-;10248:4;10241:11;;9893:363;;;;;:::o;6948:81::-;;;:::o;14500:::-;4346:12;:10;:12::i;:::-;4335:23;;:7;:5;:7::i;:::-;:23;;;4327:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14571:6:::1;14556:12;;:21;;;;;;;;;;;;;;;;;;14500:81:::0;:::o;9343:75::-;9384:7;9405:9;;;;;;;;;;;9398:16;;;;9343:75;:::o;17578:96::-;17629:7;17650:20;;17643:27;;17578:96;:::o;7410:28::-;;;;;;;;;;;;;:::o;16034:103::-;4346:12;:10;:12::i;:::-;4335:23;;:7;:5;:7::i;:::-;:23;;;4327:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16129:4:::1;16098:17;:28;16116:9;16098:28;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;16034:103:::0;:::o;6905:40::-;;;;;;;;;;;;;:::o;10415:87::-;10464:7;10489:9;;10482:16;;10415:87;:::o;10685:89::-;10735:7;10760:10;;10753:17;;10685:89;:::o;16988:87::-;4346:12;:10;:12::i;:::-;4335:23;;:7;:5;:7::i;:::-;:23;;;4327:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17062:9:::1;17050:10;:21;;;;16988:87:::0;:::o;8584:89::-;8635:7;8660:9;;8653:16;;8584:89;:::o;9732:159::-;4346:12;:10;:12::i;:::-;4335:23;;:7;:5;:7::i;:::-;:23;;;4327:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9823:6:::1;9803:17;:26;;;;9884:3;9866:17;;9853:12;;:30;;;;:::i;:::-;:34;;;;:::i;:::-;9835:15;:52;;;;9732:159:::0;:::o;17488:88::-;17539:7;17560:12;;17553:19;;17488:88;:::o;8773:109::-;8839:7;8860:9;:18;8870:7;8860:18;;;;;;;;;;;;;;;;8853:25;;8773:109;;;:::o;4717:85::-;4346:12;:10;:12::i;:::-;4335:23;;:7;:5;:7::i;:::-;:23;;;4327:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4777:21:::1;4795:1;4777:9;:21::i;:::-;4717:85::o:0;16351:104::-;4346:12;:10;:12::i;:::-;4335:23;;:7;:5;:7::i;:::-;:23;;;4327:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16443:8:::1;16419:21;;:32;;;;;;;;;;;;;;;;;;16351:104:::0;:::o;8414:77::-;8455:7;8480;:5;:7::i;:::-;8473:14;;8414:77;:::o;4149:78::-;4195:7;4217:6;;;;;;;;;;;4210:13;;4149:78;:::o;10594:89::-;10644:7;10669:10;;10662:17;;10594:89;:::o;9498:79::-;9539:13;9566:7;9559:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9498:79;:::o;16584:228::-;4346:12;:10;:12::i;:::-;4335:23;;:7;:5;:7::i;:::-;:23;;;4327:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16686:13:::1;;;;;;;;;;;16678:21;;:4;:21;;;;16670:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;16767:41;16796:4;16802:5;16767:28;:41::i;:::-;16584:228:::0;;:::o;10504:87::-;10553:7;10578:9;;10571:16;;10504:87;:::o;5792:71::-;;;;:::o;6119:93::-;;;;;;;;;;;;;:::o;10292:121::-;4346:12;:10;:12::i;:::-;4335:23;;:7;:5;:7::i;:::-;:23;;;4327:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10404:5:::1;10378:10;:23;10389:11;10378:23;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;10292:121:::0;;:::o;9582:148::-;4346:12;:10;:12::i;:::-;4335:23;;:7;:5;:7::i;:::-;:23;;;4327:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9665:6:::1;9649:13;:22;;;;9718:3;9704:13;;9691:12;;:26;;;;:::i;:::-;:30;;;;:::i;:::-;9677:11;:44;;;;9582:148:::0;:::o;8884:160::-;8964:4;8979:40;8989:12;:10;:12::i;:::-;9002:9;9012:6;8979:9;:40::i;:::-;9036:4;9029:11;;8884:160;;;;:::o;16139:107::-;4346:12;:10;:12::i;:::-;4335:23;;:7;:5;:7::i;:::-;:23;;;4327:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16237:5:::1;16207:17;:27;16225:8;16207:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;16139:107:::0;:::o;6041:58::-;;;;;;;;;;;;;;;;;;;;;;:::o;17167:80::-;17211:7;17232:11;;17225:18;;17167:80;:::o;13981:107::-;4346:12;:10;:12::i;:::-;4335:23;;:7;:5;:7::i;:::-;:23;;;4327:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14080:4:::1;14048:17;:29;14066:10;14048:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;13981:107:::0;:::o;10870:109::-;10927:4;10949:17;:26;10967:7;10949:26;;;;;;;;;;;;;;;;;;;;;;;;;10942:33;;10870:109;;;:::o;17249:150::-;4346:12;:10;:12::i;:::-;4335:23;;:7;:5;:7::i;:::-;:23;;;4327:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17330:6:::1;17315:12;:21;;;;17391:4;17378:12;;17365;;:25;;;;:::i;:::-;:30;;;;:::i;:::-;17342:20;:53;;;;17249:150:::0;:::o;17401:85::-;17452:4;17470:12;;;;;;;;;;;17463:19;;17401:85;:::o;16248:101::-;4346:12;:10;:12::i;:::-;4335:23;;:7;:5;:7::i;:::-;:23;;;4327:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16333:12:::1;16314:16;:31;;;;16248:101:::0;:::o;9046:139::-;9129:7;9154:11;:18;9166:5;9154:18;;;;;;;;;;;;;;;:27;9173:7;9154:27;;;;;;;;;;;;;;;;9147:34;;9046:139;;;;:::o;8493:89::-;8544:7;8569:9;;8562:16;;8493:89;:::o;17077:88::-;17125:7;17146:15;;17139:22;;17077:88;:::o;4932:178::-;4346:12;:10;:12::i;:::-;4335:23;;:7;:5;:7::i;:::-;:23;;;4327:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5036:1:::1;5016:22;;:8;:22;;;;5008:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;5087:19;5097:8;5087:9;:19::i;:::-;4932:178:::0;:::o;504:89::-;557:7;579:10;572:17;;504:89;:::o;15696:310::-;15800:1;15783:19;;:5;:19;;;;15775:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15876:1;15857:21;;:7;:21;;;;15849:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15953:6;15923:11;:18;15935:5;15923:18;;;;;;;;;;;;;;;:27;15942:7;15923:27;;;;;;;;;;;;;;;:36;;;;15986:7;15970:32;;15979:5;15970:32;;;15995:6;15970:32;;;;;;:::i;:::-;;;;;;;;15696:310;;;:::o;10981:2763::-;11081:1;11065:18;;:4;:18;;;;11057:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11153:1;11139:16;;:2;:16;;;;11131:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11218:1;11209:6;:10;11201:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;11279:21;11303:9;:15;11313:4;11303:15;;;;;;;;;;;;;;;;11279:39;;11349:6;11332:13;:23;;11324:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;11423:5;11407:21;;:12;;;;;;;;;;;:21;;;11404:131;;;11447:17;:21;11465:2;11447:21;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;11472:17;:23;11490:4;11472:23;;;;;;;;;;;;;;;;;;;;;;;;;11447:48;11439:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;11404:131;11566:5;11543:28;;:17;:21;11561:2;11543:21;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;:62;;;;;11600:5;11575:30;;:17;:23;11593:4;11575:23;;;;;;;;;;;;;;;;;;;;;;;;;:30;;;11543:62;11540:257;;;11630:11;;11620:6;:21;;11612:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;11704:13;;;;;;;;;;;11696:21;;:4;:21;;;11693:98;;;11764:15;;11754:6;11740:13;11750:2;11740:9;:13::i;:::-;:20;;;;:::i;:::-;:39;;11732:48;;;;;;11693:98;11540:257;11802:25;11830:24;11848:4;11830:9;:24::i;:::-;11802:52;;11883:20;;11863:17;:40;;:69;;;;;11916:16;;;;;;;;;;;11915:17;11863:69;:102;;;;;11952:13;;;;;;;;;;;11944:21;;:4;:21;;;;11863:102;:135;;;;;11977:21;;;;;;;;;;;11863:135;11860:336;;;12037:20;;12016:17;:41;12013:173;;12097:20;;12077:40;;12135:36;12153:17;12135;:36::i;:::-;12013:173;11860:336;12205:13;12221:4;12205:20;;12246:17;:23;12264:4;12246:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;12273:17;:21;12291:2;12273:21;;;;;;;;;;;;;;;;;;;;;;;;;12246:48;12243:132;;;12326:1;12310:13;:17;;;;12352:5;12341:16;;12243:132;12384:17;12415;12486:8;12483:844;;;12571:4;12551:24;;:10;:16;12562:4;12551:16;;;;;;;;;;;;;;;;;;;;;;;;;:24;;;:46;;;;12593:4;12577:20;;:10;:14;12588:2;12577:14;;;;;;;;;;;;;;;;;;;;;;;;;:20;;;12551:46;12548:110;;;12616:27;;;;;;;;;;:::i;:::-;;;;;;;;12548:110;12702:25;:29;12728:2;12702:29;;;;;;;;;;;;;;;;;;;;;;;;;:55;;;;;12749:7;;;;;;;;;;;12735:22;;:2;:22;;;;12702:55;12698:611;;;12797:1;12781:13;:17;;;;12852:3;12841:10;;12832:6;:19;;;;:::i;:::-;:23;;;;:::i;:::-;12820:35;;12909:3;12898:10;;12889:6;:19;;;;:::i;:::-;:23;;;;:::i;:::-;12877:35;;12962:9;12950;:21;;;;:::i;:::-;12934:13;:37;;;;12698:611;;;13030:25;:31;13056:4;13030:31;;;;;;;;;;;;;;;;;;;;;;;;;:59;;;;;13081:7;;;;;;;;;;;13065:24;;:4;:24;;;;13030:59;13027:282;;;13133:1;13117:13;:17;;;;13183:3;13173:9;;13164:6;:18;;;;:::i;:::-;:22;;;;:::i;:::-;13152:34;;13235:3;13225:9;;13216:6;:18;;;;:::i;:::-;:22;;;;:::i;:::-;13204:34;;13284:9;13272;:21;;;;:::i;:::-;13256:13;:37;;;;13027:282;12698:611;12483:844;13370:6;13354:13;:22;;;;:::i;:::-;13336:9;:15;13346:4;13336:15;;;;;;;;;;;;;;;:40;;;;13424:9;13412;13403:6;:18;;;;:::i;:::-;:30;;;;:::i;:::-;13386:9;:13;13396:2;13386:13;;;;;;;;;;;;;;;;:47;;;;;;;:::i;:::-;;;;;;;;13457:1;13444:9;:14;13441:242;;13498:13;;13470:9;:24;13488:4;13470:24;;;;;;;;;;;;;;;;:41;;;;;;;:::i;:::-;;;;;;;;13568:9;13555;;:22;;;;;;;:::i;:::-;;;;;;;;13600:9;13587;;:22;;;;;;;:::i;:::-;;;;;;;;13647:4;13624:44;;13633:4;13624:44;;;13654:13;;13624:44;;;;;;:::i;:::-;;;;;;;;13441:242;13712:2;13697:39;;13706:4;13697:39;;;13722:13;;13715:6;:20;;;;:::i;:::-;13697:39;;;;;;:::i;:::-;;;;;;;;11050:2694;;;;;10981:2763;;;:::o;5112:154::-;5163:16;5182:6;;;;;;;;;;;5163:25;;5203:8;5194:6;;:17;;;;;;;;;;;;;;;;;;5253:8;5222:40;;5243:8;5222:40;;;;;;;;;;;;5157:109;5112:154;:::o;16814:172::-;16926:5;16892:25;:31;16918:4;16892:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;16976:5;16942:40;;16970:4;16942:40;;;;;;;;;;;;16814:172;;:::o;13746:233::-;7506:4;7487:16;;:23;;;;;;;;;;;;;;;;;;13821:25:::1;13836:9;;13821:14;:25::i;:::-;13852:30;13872:9;;13852:19;:30::i;:::-;13893:44;13923:13;13893:44;;;;;;:::i;:::-;;;;;;;;13955:1;13943:9;:13;;;;13974:1;13962:9;:13;;;;7542:5:::0;7523:16;;:24;;;;;;;;;;;;;;;;;;13746:233;:::o;14583:389::-;14646:12;14679:1;14661:15;:19;;;;:::i;:::-;14646:34;;14686:17;14724:4;14706:15;:22;;;;:::i;:::-;14686:42;;14734:22;14759:21;14734:46;;14786:22;14803:4;14786:16;:22::i;:::-;14814:18;14860:14;14835:21;:40;;;;:::i;:::-;14814:61;;14881:35;14894:9;14905:10;14881:12;:35::i;:::-;14927:41;14942:4;14947:10;14958:9;14927:41;;;;;;;;:::i;:::-;;;;;;;;14640:332;;;;14583:389;:::o;14090:408::-;14148:21;14186:1;14172:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14148:40;;14212:4;14194;14199:1;14194:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;14233:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14223:4;14228:1;14223:7;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;;;14253:49;14270:4;14285:7;;;;;;;;;;;14295:6;14253:8;:49::i;:::-;14309:7;;;;;;;;;;;:58;;;14377:6;14393:1;14433:4;14447:16;;;;;;;;;;;14473:15;14309:185;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14142:356;14090:408;:::o;14974:417::-;15034:21;15072:1;15058:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15034:40;;15098:4;15080;15085:1;15080:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;15119:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15109:4;15114:1;15109:7;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;;;15139:54;15156:4;15171:7;;;;;;;;;;;15181:11;15139:8;:54::i;:::-;15200:7;;;;;;;;;;;:58;;;15268:11;15289:1;15329:4;15351;15366:15;15200:187;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15028:363;14974:417;:::o;15393:301::-;15467:54;15484:4;15499:7;;;;;;;;;;;15509:11;15467:8;:54::i;:::-;15527:7;;;;;;;;;;;:23;;;15557:9;15585:4;15600:11;15621:1;15632;15643:11;15669:15;15527:163;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;15393:301;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:118::-;4558:24;4576:5;4558:24;:::i;:::-;4553:3;4546:37;4471:118;;:::o;4595:222::-;4688:4;4726:2;4715:9;4711:18;4703:26;;4739:71;4807:1;4796:9;4792:17;4783:6;4739:71;:::i;:::-;4595:222;;;;:::o;4823:116::-;4893:21;4908:5;4893:21;:::i;:::-;4886:5;4883:32;4873:60;;4929:1;4926;4919:12;4873:60;4823:116;:::o;4945:133::-;4988:5;5026:6;5013:20;5004:29;;5042:30;5066:5;5042:30;:::i;:::-;4945:133;;;;:::o;5084:323::-;5140:6;5189:2;5177:9;5168:7;5164:23;5160:32;5157:119;;;5195:79;;:::i;:::-;5157:119;5315:1;5340:50;5382:7;5373:6;5362:9;5358:22;5340:50;:::i;:::-;5330:60;;5286:114;5084:323;;;;:::o;5413:329::-;5472:6;5521:2;5509:9;5500:7;5496:23;5492:32;5489:119;;;5527:79;;:::i;:::-;5489:119;5647:1;5672:53;5717:7;5708:6;5697:9;5693:22;5672:53;:::i;:::-;5662:63;;5618:117;5413:329;;;;:::o;5748:::-;5807:6;5856:2;5844:9;5835:7;5831:23;5827:32;5824:119;;;5862:79;;:::i;:::-;5824:119;5982:1;6007:53;6052:7;6043:6;6032:9;6028:22;6007:53;:::i;:::-;5997:63;;5953:117;5748:329;;;;:::o;6083:468::-;6148:6;6156;6205:2;6193:9;6184:7;6180:23;6176:32;6173:119;;;6211:79;;:::i;:::-;6173:119;6331:1;6356:53;6401:7;6392:6;6381:9;6377:22;6356:53;:::i;:::-;6346:63;;6302:117;6458:2;6484:50;6526:7;6517:6;6506:9;6502:22;6484:50;:::i;:::-;6474:60;;6429:115;6083:468;;;;;:::o;6557:104::-;6602:7;6631:24;6649:5;6631:24;:::i;:::-;6620:35;;6557:104;;;:::o;6667:142::-;6770:32;6796:5;6770:32;:::i;:::-;6765:3;6758:45;6667:142;;:::o;6815:254::-;6924:4;6962:2;6951:9;6947:18;6939:26;;6975:87;7059:1;7048:9;7044:17;7035:6;6975:87;:::i;:::-;6815:254;;;;:::o;7075:138::-;7156:32;7182:5;7156:32;:::i;:::-;7149:5;7146:43;7136:71;;7203:1;7200;7193:12;7136:71;7075:138;:::o;7219:155::-;7273:5;7311:6;7298:20;7289:29;;7327:41;7362:5;7327:41;:::i;:::-;7219:155;;;;:::o;7380:484::-;7453:6;7461;7510:2;7498:9;7489:7;7485:23;7481:32;7478:119;;;7516:79;;:::i;:::-;7478:119;7636:1;7661:61;7714:7;7705:6;7694:9;7690:22;7661:61;:::i;:::-;7651:71;;7607:125;7771:2;7797:50;7839:7;7830:6;7819:9;7815:22;7797:50;:::i;:::-;7787:60;;7742:115;7380:484;;;;;:::o;7870:474::-;7938:6;7946;7995:2;7983:9;7974:7;7970:23;7966:32;7963:119;;;8001:79;;:::i;:::-;7963:119;8121:1;8146:53;8191:7;8182:6;8171:9;8167:22;8146:53;:::i;:::-;8136:63;;8092:117;8248:2;8274:53;8319:7;8310:6;8299:9;8295:22;8274:53;:::i;:::-;8264:63;;8219:118;7870:474;;;;;:::o;8350:180::-;8398:77;8395:1;8388:88;8495:4;8492:1;8485:15;8519:4;8516:1;8509:15;8536:320;8580:6;8617:1;8611:4;8607:12;8597:22;;8664:1;8658:4;8654:12;8685:18;8675:81;;8741:4;8733:6;8729:17;8719:27;;8675:81;8803:2;8795:6;8792:14;8772:18;8769:38;8766:84;;;8822:18;;:::i;:::-;8766:84;8587:269;8536:320;;;:::o;8862:227::-;9002:34;8998:1;8990:6;8986:14;8979:58;9071:10;9066:2;9058:6;9054:15;9047:35;8862:227;:::o;9095:366::-;9237:3;9258:67;9322:2;9317:3;9258:67;:::i;:::-;9251:74;;9334:93;9423:3;9334:93;:::i;:::-;9452:2;9447:3;9443:12;9436:19;;9095:366;;;:::o;9467:419::-;9633:4;9671:2;9660:9;9656:18;9648:26;;9720:9;9714:4;9710:20;9706:1;9695:9;9691:17;9684:47;9748:131;9874:4;9748:131;:::i;:::-;9740:139;;9467:419;;;:::o;9892:180::-;9940:77;9937:1;9930:88;10037:4;10034:1;10027:15;10061:4;10058:1;10051:15;10078:191;10118:4;10138:20;10156:1;10138:20;:::i;:::-;10133:25;;10172:20;10190:1;10172:20;:::i;:::-;10167:25;;10211:1;10208;10205:8;10202:34;;;10216:18;;:::i;:::-;10202:34;10261:1;10258;10254:9;10246:17;;10078:191;;;;:::o;10275:182::-;10415:34;10411:1;10403:6;10399:14;10392:58;10275:182;:::o;10463:366::-;10605:3;10626:67;10690:2;10685:3;10626:67;:::i;:::-;10619:74;;10702:93;10791:3;10702:93;:::i;:::-;10820:2;10815:3;10811:12;10804:19;;10463:366;;;:::o;10835:419::-;11001:4;11039:2;11028:9;11024:18;11016:26;;11088:9;11082:4;11078:20;11074:1;11063:9;11059:17;11052:47;11116:131;11242:4;11116:131;:::i;:::-;11108:139;;10835:419;;;:::o;11260:348::-;11300:7;11323:20;11341:1;11323:20;:::i;:::-;11318:25;;11357:20;11375:1;11357:20;:::i;:::-;11352:25;;11545:1;11477:66;11473:74;11470:1;11467:81;11462:1;11455:9;11448:17;11444:105;11441:131;;;11552:18;;:::i;:::-;11441:131;11600:1;11597;11593:9;11582:20;;11260:348;;;;:::o;11614:180::-;11662:77;11659:1;11652:88;11759:4;11756:1;11749:15;11783:4;11780:1;11773:15;11800:185;11840:1;11857:20;11875:1;11857:20;:::i;:::-;11852:25;;11891:20;11909:1;11891:20;:::i;:::-;11886:25;;11930:1;11920:35;;11935:18;;:::i;:::-;11920:35;11977:1;11974;11970:9;11965:14;;11800:185;;;;:::o;11991:244::-;12131:34;12127:1;12119:6;12115:14;12108:58;12200:27;12195:2;12187:6;12183:15;12176:52;11991:244;:::o;12241:366::-;12383:3;12404:67;12468:2;12463:3;12404:67;:::i;:::-;12397:74;;12480:93;12569:3;12480:93;:::i;:::-;12598:2;12593:3;12589:12;12582:19;;12241:366;;;:::o;12613:419::-;12779:4;12817:2;12806:9;12802:18;12794:26;;12866:9;12860:4;12856:20;12852:1;12841:9;12837:17;12830:47;12894:131;13020:4;12894:131;:::i;:::-;12886:139;;12613:419;;;:::o;13038:225::-;13178:34;13174:1;13166:6;13162:14;13155:58;13247:8;13242:2;13234:6;13230:15;13223:33;13038:225;:::o;13269:366::-;13411:3;13432:67;13496:2;13491:3;13432:67;:::i;:::-;13425:74;;13508:93;13597:3;13508:93;:::i;:::-;13626:2;13621:3;13617:12;13610:19;;13269:366;;;:::o;13641:419::-;13807:4;13845:2;13834:9;13830:18;13822:26;;13894:9;13888:4;13884:20;13880:1;13869:9;13865:17;13858:47;13922:131;14048:4;13922:131;:::i;:::-;13914:139;;13641:419;;;:::o;14066:223::-;14206:34;14202:1;14194:6;14190:14;14183:58;14275:6;14270:2;14262:6;14258:15;14251:31;14066:223;:::o;14295:366::-;14437:3;14458:67;14522:2;14517:3;14458:67;:::i;:::-;14451:74;;14534:93;14623:3;14534:93;:::i;:::-;14652:2;14647:3;14643:12;14636:19;;14295:366;;;:::o;14667:419::-;14833:4;14871:2;14860:9;14856:18;14848:26;;14920:9;14914:4;14910:20;14906:1;14895:9;14891:17;14884:47;14948:131;15074:4;14948:131;:::i;:::-;14940:139;;14667:419;;;:::o;15092:221::-;15232:34;15228:1;15220:6;15216:14;15209:58;15301:4;15296:2;15288:6;15284:15;15277:29;15092:221;:::o;15319:366::-;15461:3;15482:67;15546:2;15541:3;15482:67;:::i;:::-;15475:74;;15558:93;15647:3;15558:93;:::i;:::-;15676:2;15671:3;15667:12;15660:19;;15319:366;;;:::o;15691:419::-;15857:4;15895:2;15884:9;15880:18;15872:26;;15944:9;15938:4;15934:20;15930:1;15919:9;15915:17;15908:47;15972:131;16098:4;15972:131;:::i;:::-;15964:139;;15691:419;;;:::o;16116:224::-;16256:34;16252:1;16244:6;16240:14;16233:58;16325:7;16320:2;16312:6;16308:15;16301:32;16116:224;:::o;16346:366::-;16488:3;16509:67;16573:2;16568:3;16509:67;:::i;:::-;16502:74;;16585:93;16674:3;16585:93;:::i;:::-;16703:2;16698:3;16694:12;16687:19;;16346:366;;;:::o;16718:419::-;16884:4;16922:2;16911:9;16907:18;16899:26;;16971:9;16965:4;16961:20;16957:1;16946:9;16942:17;16935:47;16999:131;17125:4;16999:131;:::i;:::-;16991:139;;16718:419;;;:::o;17143:222::-;17283:34;17279:1;17271:6;17267:14;17260:58;17352:5;17347:2;17339:6;17335:15;17328:30;17143:222;:::o;17371:366::-;17513:3;17534:67;17598:2;17593:3;17534:67;:::i;:::-;17527:74;;17610:93;17699:3;17610:93;:::i;:::-;17728:2;17723:3;17719:12;17712:19;;17371:366;;;:::o;17743:419::-;17909:4;17947:2;17936:9;17932:18;17924:26;;17996:9;17990:4;17986:20;17982:1;17971:9;17967:17;17960:47;18024:131;18150:4;18024:131;:::i;:::-;18016:139;;17743:419;;;:::o;18168:237::-;18308:34;18304:1;18296:6;18292:14;18285:58;18377:20;18372:2;18364:6;18360:15;18353:45;18168:237;:::o;18411:366::-;18553:3;18574:67;18638:2;18633:3;18574:67;:::i;:::-;18567:74;;18650:93;18739:3;18650:93;:::i;:::-;18768:2;18763:3;18759:12;18752:19;;18411:366;;;:::o;18783:419::-;18949:4;18987:2;18976:9;18972:18;18964:26;;19036:9;19030:4;19026:20;19022:1;19011:9;19007:17;19000:47;19064:131;19190:4;19064:131;:::i;:::-;19056:139;;18783:419;;;:::o;19208:225::-;19348:34;19344:1;19336:6;19332:14;19325:58;19417:8;19412:2;19404:6;19400:15;19393:33;19208:225;:::o;19439:366::-;19581:3;19602:67;19666:2;19661:3;19602:67;:::i;:::-;19595:74;;19678:93;19767:3;19678:93;:::i;:::-;19796:2;19791:3;19787:12;19780:19;;19439:366;;;:::o;19811:419::-;19977:4;20015:2;20004:9;20000:18;19992:26;;20064:9;20058:4;20054:20;20050:1;20039:9;20035:17;20028:47;20092:131;20218:4;20092:131;:::i;:::-;20084:139;;19811:419;;;:::o;20236:179::-;20376:31;20372:1;20364:6;20360:14;20353:55;20236:179;:::o;20421:366::-;20563:3;20584:67;20648:2;20643:3;20584:67;:::i;:::-;20577:74;;20660:93;20749:3;20660:93;:::i;:::-;20778:2;20773:3;20769:12;20762:19;;20421:366;;;:::o;20793:419::-;20959:4;20997:2;20986:9;20982:18;20974:26;;21046:9;21040:4;21036:20;21032:1;21021:9;21017:17;21010:47;21074:131;21200:4;21074:131;:::i;:::-;21066:139;;20793:419;;;:::o;21218:227::-;21358:34;21354:1;21346:6;21342:14;21335:58;21427:10;21422:2;21414:6;21410:15;21403:35;21218:227;:::o;21451:366::-;21593:3;21614:67;21678:2;21673:3;21614:67;:::i;:::-;21607:74;;21690:93;21779:3;21690:93;:::i;:::-;21808:2;21803:3;21799:12;21792:19;;21451:366;;;:::o;21823:419::-;21989:4;22027:2;22016:9;22012:18;22004:26;;22076:9;22070:4;22066:20;22062:1;22051:9;22047:17;22040:47;22104:131;22230:4;22104:131;:::i;:::-;22096:139;;21823:419;;;:::o;22248:305::-;22288:3;22307:20;22325:1;22307:20;:::i;:::-;22302:25;;22341:20;22359:1;22341:20;:::i;:::-;22336:25;;22495:1;22427:66;22423:74;22420:1;22417:81;22414:107;;;22501:18;;:::i;:::-;22414:107;22545:1;22542;22538:9;22531:16;;22248:305;;;;:::o;22559:167::-;22699:19;22695:1;22687:6;22683:14;22676:43;22559:167;:::o;22732:366::-;22874:3;22895:67;22959:2;22954:3;22895:67;:::i;:::-;22888:74;;22971:93;23060:3;22971:93;:::i;:::-;23089:2;23084:3;23080:12;23073:19;;22732:366;;;:::o;23104:419::-;23270:4;23308:2;23297:9;23293:18;23285:26;;23357:9;23351:4;23347:20;23343:1;23332:9;23328:17;23321:47;23385:131;23511:4;23385:131;:::i;:::-;23377:139;;23104:419;;;:::o;23529:442::-;23678:4;23716:2;23705:9;23701:18;23693:26;;23729:71;23797:1;23786:9;23782:17;23773:6;23729:71;:::i;:::-;23810:72;23878:2;23867:9;23863:18;23854:6;23810:72;:::i;:::-;23892;23960:2;23949:9;23945:18;23936:6;23892:72;:::i;:::-;23529:442;;;;;;:::o;23977:180::-;24025:77;24022:1;24015:88;24122:4;24119:1;24112:15;24146:4;24143:1;24136:15;24163:180;24211:77;24208:1;24201:88;24308:4;24305:1;24298:15;24332:4;24329:1;24322:15;24349:143;24406:5;24437:6;24431:13;24422:22;;24453:33;24480:5;24453:33;:::i;:::-;24349:143;;;;:::o;24498:351::-;24568:6;24617:2;24605:9;24596:7;24592:23;24588:32;24585:119;;;24623:79;;:::i;:::-;24585:119;24743:1;24768:64;24824:7;24815:6;24804:9;24800:22;24768:64;:::i;:::-;24758:74;;24714:128;24498:351;;;;:::o;24855:85::-;24900:7;24929:5;24918:16;;24855:85;;;:::o;24946:60::-;24974:3;24995:5;24988:12;;24946:60;;;:::o;25012:158::-;25070:9;25103:61;25121:42;25130:32;25156:5;25130:32;:::i;:::-;25121:42;:::i;:::-;25103:61;:::i;:::-;25090:74;;25012:158;;;:::o;25176:147::-;25271:45;25310:5;25271:45;:::i;:::-;25266:3;25259:58;25176:147;;:::o;25329:114::-;25396:6;25430:5;25424:12;25414:22;;25329:114;;;:::o;25449:184::-;25548:11;25582:6;25577:3;25570:19;25622:4;25617:3;25613:14;25598:29;;25449:184;;;;:::o;25639:132::-;25706:4;25729:3;25721:11;;25759:4;25754:3;25750:14;25742:22;;25639:132;;;:::o;25777:108::-;25854:24;25872:5;25854:24;:::i;:::-;25849:3;25842:37;25777:108;;:::o;25891:179::-;25960:10;25981:46;26023:3;26015:6;25981:46;:::i;:::-;26059:4;26054:3;26050:14;26036:28;;25891:179;;;;:::o;26076:113::-;26146:4;26178;26173:3;26169:14;26161:22;;26076:113;;;:::o;26225:732::-;26344:3;26373:54;26421:5;26373:54;:::i;:::-;26443:86;26522:6;26517:3;26443:86;:::i;:::-;26436:93;;26553:56;26603:5;26553:56;:::i;:::-;26632:7;26663:1;26648:284;26673:6;26670:1;26667:13;26648:284;;;26749:6;26743:13;26776:63;26835:3;26820:13;26776:63;:::i;:::-;26769:70;;26862:60;26915:6;26862:60;:::i;:::-;26852:70;;26708:224;26695:1;26692;26688:9;26683:14;;26648:284;;;26652:14;26948:3;26941:10;;26349:608;;;26225:732;;;;:::o;26963:142::-;27013:9;27046:53;27064:34;27073:24;27091:5;27073:24;:::i;:::-;27064:34;:::i;:::-;27046:53;:::i;:::-;27033:66;;26963:142;;;:::o;27111:126::-;27161:9;27194:37;27225:5;27194:37;:::i;:::-;27181:50;;27111:126;;;:::o;27243:134::-;27301:9;27334:37;27365:5;27334:37;:::i;:::-;27321:50;;27243:134;;;:::o;27383:147::-;27478:45;27517:5;27478:45;:::i;:::-;27473:3;27466:58;27383:147;;:::o;27536:847::-;27807:4;27845:3;27834:9;27830:19;27822:27;;27859:71;27927:1;27916:9;27912:17;27903:6;27859:71;:::i;:::-;27940:80;28016:2;28005:9;28001:18;27992:6;27940:80;:::i;:::-;28067:9;28061:4;28057:20;28052:2;28041:9;28037:18;28030:48;28095:108;28198:4;28189:6;28095:108;:::i;:::-;28087:116;;28213:80;28289:2;28278:9;28274:18;28265:6;28213:80;:::i;:::-;28303:73;28371:3;28360:9;28356:19;28347:6;28303:73;:::i;:::-;27536:847;;;;;;;;:::o;28389:831::-;28652:4;28690:3;28679:9;28675:19;28667:27;;28704:71;28772:1;28761:9;28757:17;28748:6;28704:71;:::i;:::-;28785:80;28861:2;28850:9;28846:18;28837:6;28785:80;:::i;:::-;28912:9;28906:4;28902:20;28897:2;28886:9;28882:18;28875:48;28940:108;29043:4;29034:6;28940:108;:::i;:::-;28932:116;;29058:72;29126:2;29115:9;29111:18;29102:6;29058:72;:::i;:::-;29140:73;29208:3;29197:9;29193:19;29184:6;29140:73;:::i;:::-;28389:831;;;;;;;;:::o;29226:807::-;29475:4;29513:3;29502:9;29498:19;29490:27;;29527:71;29595:1;29584:9;29580:17;29571:6;29527:71;:::i;:::-;29608:72;29676:2;29665:9;29661:18;29652:6;29608:72;:::i;:::-;29690:80;29766:2;29755:9;29751:18;29742:6;29690:80;:::i;:::-;29780;29856:2;29845:9;29841:18;29832:6;29780:80;:::i;:::-;29870:73;29938:3;29927:9;29923:19;29914:6;29870:73;:::i;:::-;29953;30021:3;30010:9;30006:19;29997:6;29953:73;:::i;:::-;29226:807;;;;;;;;;:::o;30039:143::-;30096:5;30127:6;30121:13;30112:22;;30143:33;30170:5;30143:33;:::i;:::-;30039:143;;;;:::o;30188:663::-;30276:6;30284;30292;30341:2;30329:9;30320:7;30316:23;30312:32;30309:119;;;30347:79;;:::i;:::-;30309:119;30467:1;30492:64;30548:7;30539:6;30528:9;30524:22;30492:64;:::i;:::-;30482:74;;30438:128;30605:2;30631:64;30687:7;30678:6;30667:9;30663:22;30631:64;:::i;:::-;30621:74;;30576:129;30744:2;30770:64;30826:7;30817:6;30806:9;30802:22;30770:64;:::i;:::-;30760:74;;30715:129;30188:663;;;;;:::o
Swarm Source
ipfs://f2f3dda5009c65d262aaf041d7aa7e517ada112856f9b3724f6f46ed63aacb7b
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.