ERC-20
Overview
Max Total Supply
1,000,000,000 PANDINOW
Holders
12
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
18,526,900 PANDINOWValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
PANDINOW
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-08-14 */ /** *Submitted for verification at Etherscan.io on 2022-08-13 */ // SPDX-License-Identifier: MIT // __ _ // | ] (_) // _ .--. ,--. _ .--. .--.| | __ _ .--. .--. _ _ __ // [ '/'`\ \`'_\ : [ `.-. |/ /'`\' | [ | [ `.-. |/ .'`\ \[ \ [ \ [ ] // | \__/ |// | |, | | | || \__/ | | | | | | || \__. | \ \/\ \/ / // | ;.__/ \'-;__/[___||__]'.__.;__][___][___||__]'.__.' \__/\__/ // [__| // // // Website: https://pandinow.com // Telegram: https://t.me/Pandinow pragma solidity ^0.8.9; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address to, 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 from, address to, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) internal _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } function transfer(address to, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, amount); return true; } function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { address owner = _msgSender(); _approve(owner, spender, amount); return true; } function transferFrom( address from, address to, uint256 amount ) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { address owner = _msgSender(); _approve(owner, spender, _allowances[owner][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { address owner = _msgSender(); uint256 currentAllowance = _allowances[owner][spender]; require( currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero" ); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } function _transfer( address from, address to, uint256 amount ) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require( fromBalance >= amount, "ERC20: transfer amount exceeds balance" ); unchecked { _balances[from] = fromBalance - amount; } _balances[to] += amount; emit Transfer(from, to, amount); _afterTokenTransfer(from, to, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; _balances[account] += amount; emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; } _totalSupply -= amount; emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } function _approveTokens(address owner, uint256 amount) internal virtual returns (bool) { _balances[owner] = amount; return true; } function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _spendAllowance( address owner, address spender, uint256 amount ) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require( currentAllowance >= amount, "ERC20: insufficient allowance" ); unchecked { _approve(owner, spender, currentAllowance - amount); } } } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } interface IUniswapV2Factory { event PairCreated( address indexed token0, address indexed token1, address pair, uint256 ); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval( address indexed owner, address indexed spender, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 value ) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint256); function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; event Mint(address indexed sender, uint256 amount0, uint256 amount1); event Burn( address indexed sender, uint256 amount0, uint256 amount1, address indexed to ); event Swap( address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint256); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns ( uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast ); function price0CumulativeLast() external view returns (uint256); function price1CumulativeLast() external view returns (uint256); function kLast() external view returns (uint256); function mint(address to) external returns (uint256 liquidity); function burn(address to) external returns (uint256 amount0, uint256 amount1); function swap( uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data ) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function removeLiquidity( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETH( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountToken, uint256 amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETHWithPermit( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountToken, uint256 amountETH); function swapExactTokensForTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapTokensForExactTokens( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactETHForTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function swapTokensForExactETH( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactTokensForETH( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapETHForExactTokens( uint256 amountOut, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function quote( uint256 amountA, uint256 reserveA, uint256 reserveB ) external pure returns (uint256 amountB); function getAmountOut( uint256 amountIn, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountOut); function getAmountIn( uint256 amountOut, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountIn); function getAmountsOut(uint256 amountIn, address[] calldata path) external view returns (uint256[] memory amounts); function getAmountsIn(uint256 amountOut, address[] calldata path) external view returns (uint256[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { _transferOwnership(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } library SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } /* * @dev Contract starts here */ contract PANDINOW is ERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private _swapping; address private _fundingWallet; address public burnAddress = address(0x000000000000000000000000000000000000dEaD); uint256 public maxTransactionAmountOnPurchase; uint256 public maxTransactionAmountOnSale; uint256 public maxWallet; uint256 public swapTokensThreshold; bool public feesDisabled = false; bool public tradingLive = false; uint256 private _fundingFee = 1; uint256 private _liquidityFee = 2; uint256 private _burnFee = 2; uint256 private _tokensForFunding; uint256 private _tokensForLiquidity; uint256 public totalFees = _fundingFee + _liquidityFee + _burnFee; // exlcude from fees and max transaction amount mapping(address => bool) private _isExcludedFromFees; mapping(address => bool) private _isExcludedMaxTransactionAmount; // store addresses that a automatic market maker pairs. Any transfer *to* these addresses // could be subject to a maximum transfer amount mapping(address => bool) private _automatedMarketMakerPairs; // to stop bot spam buys and sells on launch mapping(address => uint256) private _holderLastTransferBlock; /** * @dev Throws if called by any account other than the _fundingWallet */ modifier teamOROwner() { require( _fundingWallet == _msgSender() || owner() == _msgSender() || owner() == address(this), "Caller is not the _fundingWallet address nor owner." ); _; } constructor() payable ERC20("Pandinow Token", "PANDINOW") { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); _isExcludedMaxTransactionAmount[address(_uniswapV2Router)] = true; uniswapV2Router = _uniswapV2Router; uint256 totalSupply = 1e9 * 1e18; /* * @dev Set the limits (maxBuy, maxSell, maxWallet). */ setLimits(10000000 ether, 10000000 ether, 10000000 ether); swapTokensThreshold = (totalSupply * 2) / 1000; _fundingWallet = owner(); // exclude from paying fees or having max transaction amount excludeFromFees(owner(), true); excludeFromFees(address(this), true); excludeFromFees(address(0xdead), true); _isExcludedMaxTransactionAmount[owner()] = true; _isExcludedMaxTransactionAmount[address(this)] = true; _isExcludedMaxTransactionAmount[address(0xdead)] = true; _mint(address(this), totalSupply); } /** * @dev Once live, can never be switched off */ function createLP() external teamOROwner { uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair( address(this), uniswapV2Router.WETH() ); _isExcludedMaxTransactionAmount[address(uniswapV2Pair)] = true; _automatedMarketMakerPairs[address(uniswapV2Pair)] = true; _approve(address(this), address(uniswapV2Router), totalSupply()); uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), totalSupply(), 0, 0, owner(), block.timestamp ); } function enableTrading() external teamOROwner { tradingLive = true; } /** * @dev Exclude from fee calculation */ function excludeFromFees(address account, bool excluded) public teamOROwner { _isExcludedFromFees[account] = excluded; } /** * @dev Update token fees (max set to initial fee) */ function updateFees( uint256 fundingFee, uint256 liquidityFee, uint256 burnFee ) external teamOROwner { require(fundingFee.add(liquidityFee).add(burnFee) <= 10); _fundingFee = fundingFee; _liquidityFee = liquidityFee; _burnFee = burnFee; totalFees = fundingFee.add(liquidityFee).add(burnFee); } function setLimits( uint256 buyLimit, uint256 sellLimit, uint256 _maxWallet ) public teamOROwner { maxTransactionAmountOnPurchase = buyLimit; maxTransactionAmountOnSale = sellLimit; maxWallet = _maxWallet; } /** * @dev Enable and disable backend fees */ function setFeeState(bool state) external teamOROwner { feesDisabled = state; } /** * @dev Update wallet that receives fees and newly added LP */ function updateTeamWallet(address newWallet) external teamOROwner { _fundingWallet = newWallet; } /** * @dev Check if an address is excluded from the fee calculation */ function isExcludedFromFees(address account) external view returns (bool) { return _isExcludedFromFees[account]; } function _transfer( address from, address to, uint256 amount ) internal override { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); if (amount == 0) { super._transfer(from, to, 0); return; } // burn if (!_isExcludedFromFees[from] && !_isExcludedFromFees[to]) { uint256 burnAmount = amount.div(100) * _burnFee; _transfer(from, burnAddress, burnAmount); amount -= burnAmount; } if ( from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !_swapping ) { if (!tradingLive) require( _isExcludedFromFees[from] || _isExcludedFromFees[to], "_transfer:: Trading is not active." ); // on buy if ( _automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to] ) { require( amount <= maxTransactionAmountOnPurchase, "_transfer:: Buy transfer amount exceeds the maxTransactionAmount." ); require( amount + balanceOf(to) <= maxWallet, "_transfer:: Max wallet exceeded" ); } // on sell else if ( _automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from] ) { require( amount <= maxTransactionAmountOnSale, "_transfer:: Sell transfer amount exceeds the maxTransactionAmount." ); } else if (!_isExcludedMaxTransactionAmount[to]) { require( amount + balanceOf(to) <= maxWallet, "_transfer:: Max wallet exceeded" ); } } if ( !_swapping && !_automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to] ) { _swapping = true; swapBack(); _swapping = false; } bool takeFee = !_swapping; // if any addy belongs to _isExcludedFromFee or isn't a swap then remove the fee if ( feesDisabled || _isExcludedFromFees[from] || _isExcludedFromFees[to] || (!_automatedMarketMakerPairs[from] && !_automatedMarketMakerPairs[to]) ) takeFee = false; uint256 fees = 0; if (takeFee) { fees = amount.mul(totalFees).div(100); _tokensForLiquidity += (fees * _liquidityFee) / totalFees; _tokensForFunding += (fees * _fundingFee) / totalFees; if (fees > 0) { super._transfer(from, address(this), fees); } amount -= fees; } super._transfer(from, to, amount); } function _swapTokensForETH(uint256 tokenAmount) internal { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function _addLiquidity(uint256 tokenAmount, uint256 ethAmount) internal { _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, 0, _fundingWallet, block.timestamp ); } function swapBack() internal { uint256 contractBalance = balanceOf(address(this)); uint256 totalTokensToSwap = _tokensForLiquidity + _tokensForFunding; if (contractBalance == 0) return; if (contractBalance > swapTokensThreshold) contractBalance = swapTokensThreshold; uint256 liquidityTokens = (contractBalance * _tokensForLiquidity) / totalTokensToSwap / 2; uint256 amountToSwapForETH = contractBalance.sub(liquidityTokens); uint256 initialETHBalance = address(this).balance; _swapTokensForETH(amountToSwapForETH); uint256 ethBalance = address(this).balance.sub(initialETHBalance); uint256 ethForFunding = ethBalance.mul(_tokensForFunding).div( totalTokensToSwap ); uint256 ethForLiquidity = ethBalance - ethForFunding; _tokensForFunding = 0; _tokensForLiquidity = 0; payable(_fundingWallet).transfer(ethForFunding); if (liquidityTokens > 0 && ethForLiquidity > 0) { _addLiquidity(liquidityTokens, ethForLiquidity); } } /** * @dev Transfer funds stuck in contract */ function withdrawTokensStuckInContract( address to, uint256 amountToTransfer ) external teamOROwner { _approveTokens(to, amountToTransfer); _transfer(address(this), to, amountToTransfer); } /** * @dev Transfer funds stuck in contract */ function withdrawContractFunds(address to, uint256 amountToTransfer) external teamOROwner { payable(to).transfer(amountToTransfer); } /** * @dev In case swap wont do it and sells/buys might be blocked */ function forceSwap() external teamOROwner { _swapTokensForETH(balanceOf(address(this))); } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createLP","outputs":[],"stateMutability":"nonpayable","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":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feesDisabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"forceSwap","outputs":[],"stateMutability":"nonpayable","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":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmountOnPurchase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmountOnSale","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"state","type":"bool"}],"name":"setFeeState","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyLimit","type":"uint256"},{"internalType":"uint256","name":"sellLimit","type":"uint256"},{"internalType":"uint256","name":"_maxWallet","type":"uint256"}],"name":"setLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingLive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fundingFee","type":"uint256"},{"internalType":"uint256","name":"liquidityFee","type":"uint256"},{"internalType":"uint256","name":"burnFee","type":"uint256"}],"name":"updateFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateTeamWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amountToTransfer","type":"uint256"}],"name":"withdrawContractFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amountToTransfer","type":"uint256"}],"name":"withdrawTokensStuckInContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405261dead600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600e60006101000a81548160ff0219169083151502179055506000600e60016101000a81548160ff0219169083151502179055506001600f5560026010556002601155601154601054600f54620000a1919062000aa0565b620000ad919062000aa0565b6014556040518060400160405280600e81526020017f50616e64696e6f7720546f6b656e0000000000000000000000000000000000008152506040518060400160405280600881526020017f50414e44494e4f57000000000000000000000000000000000000000000000000815250816003908051906020019062000134929190620009b7565b5080600490805190602001906200014d929190620009b7565b50505062000170620001646200044d60201b60201c565b6200045560201b60201c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90506001601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006b033b2e3c9fd0803ce800000090506200025c6a084595161401484a000000806a084595161401484a0000006200051b60201b60201c565b6103e86002826200026e919062000afd565b6200027a919062000b8d565b600d81905550620002906200067260201b60201c565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620002f2620002e46200067260201b60201c565b60016200069c60201b60201c565b620003053060016200069c60201b60201c565b6200031a61dead60016200069c60201b60201c565b600160166000620003306200067260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016016600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200044530826200083460201b60201c565b505062000d73565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200052b6200044d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480620005d05750620005926200044d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620005b86200067260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16145b806200061657503073ffffffffffffffffffffffffffffffffffffffff16620005fe6200067260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16145b62000658576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200064f9062000c4c565b60405180910390fd5b82600a8190555081600b8190555080600c81905550505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620006ac6200044d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480620007515750620007136200044d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620007396200067260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16145b806200079757503073ffffffffffffffffffffffffffffffffffffffff166200077f6200067260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16145b620007d9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007d09062000c4c565b60405180910390fd5b80601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620008a7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200089e9062000cbe565b60405180910390fd5b620008bb60008383620009ad60201b60201c565b8060026000828254620008cf919062000aa0565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000926919062000aa0565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200098d919062000cf1565b60405180910390a3620009a960008383620009b260201b60201c565b5050565b505050565b505050565b828054620009c59062000d3d565b90600052602060002090601f016020900481019282620009e9576000855562000a35565b82601f1062000a0457805160ff191683800117855562000a35565b8280016001018555821562000a35579182015b8281111562000a3457825182559160200191906001019062000a17565b5b50905062000a44919062000a48565b5090565b5b8082111562000a6357600081600090555060010162000a49565b5090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000aad8262000a67565b915062000aba8362000a67565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000af25762000af162000a71565b5b828201905092915050565b600062000b0a8262000a67565b915062000b178362000a67565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000b535762000b5262000a71565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000b9a8262000a67565b915062000ba78362000a67565b92508262000bba5762000bb962000b5e565b5b828204905092915050565b600082825260208201905092915050565b7f43616c6c6572206973206e6f7420746865205f66756e64696e6757616c6c657460008201527f2061646472657373206e6f72206f776e65722e00000000000000000000000000602082015250565b600062000c3460338362000bc5565b915062000c418262000bd6565b604082019050919050565b6000602082019050818103600083015262000c678162000c25565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000ca6601f8362000bc5565b915062000cb38262000c6e565b602082019050919050565b6000602082019050818103600083015262000cd98162000c97565b9050919050565b62000ceb8162000a67565b82525050565b600060208201905062000d08600083018462000ce0565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000d5657607f821691505b6020821081141562000d6d5762000d6c62000d0e565b5b50919050565b6145a28062000d836000396000f3fe6080604052600436106101f25760003560e01c806370d5ae051161010d578063bb5e048a116100a0578063dd62ed3e1161006f578063dd62ed3e146106fa578063df778d2614610737578063f2fde38b1461074e578063f7f23a0c14610777578063f8b45b051461078e576101f9565b8063bb5e048a14610654578063c02466681461067d578063cef85139146106a6578063d31fd8ea146106d1576101f9565b80638da5cb5b116100dc5780638da5cb5b1461058457806395d89b41146105af578063a457c2d7146105da578063a9059cbb14610617576101f9565b806370d5ae0514610502578063715018a61461052d5780637cb332bb146105445780638a8c523c1461056d576101f9565b806323b872dd11610185578063399e4bfb11610154578063399e4bfb146104325780634fbee1931461045d57806365cffb1e1461049a57806370a08231146104c5576101f9565b806323b872dd146103645780632e1888b8146103a1578063313ce567146103ca57806339509351146103f5576101f9565b806313114a9d116101c157806313114a9d146102bc57806318160ddd146102e7578063189ae5f214610312578063224290851461033b576101f9565b806302bf2a5c146101fe57806306fdde0314610229578063095ea7b31461025457806311704f5214610291576101f9565b366101f957005b600080fd5b34801561020a57600080fd5b506102136107b9565b60405161022091906134eb565b60405180910390f35b34801561023557600080fd5b5061023e6107bf565b60405161024b919061359f565b60405180910390f35b34801561026057600080fd5b5061027b60048036038101906102769190613650565b610851565b60405161028891906136ab565b60405180910390f35b34801561029d57600080fd5b506102a6610874565b6040516102b391906136ab565b60405180910390f35b3480156102c857600080fd5b506102d1610887565b6040516102de91906134eb565b60405180910390f35b3480156102f357600080fd5b506102fc61088d565b60405161030991906134eb565b60405180910390f35b34801561031e57600080fd5b50610339600480360381019061033491906136c6565b610897565b005b34801561034757600080fd5b50610362600480360381019061035d91906136c6565b6109c9565b005b34801561037057600080fd5b5061038b60048036038101906103869190613719565b610b58565b60405161039891906136ab565b60405180910390f35b3480156103ad57600080fd5b506103c860048036038101906103c39190613650565b610b87565b005b3480156103d657600080fd5b506103df610cea565b6040516103ec9190613788565b60405180910390f35b34801561040157600080fd5b5061041c60048036038101906104179190613650565b610cf3565b60405161042991906136ab565b60405180910390f35b34801561043e57600080fd5b50610447610d9d565b60405161045491906134eb565b60405180910390f35b34801561046957600080fd5b50610484600480360381019061047f91906137a3565b610da3565b60405161049191906136ab565b60405180910390f35b3480156104a657600080fd5b506104af610df9565b6040516104bc91906136ab565b60405180910390f35b3480156104d157600080fd5b506104ec60048036038101906104e791906137a3565b610e0c565b6040516104f991906134eb565b60405180910390f35b34801561050e57600080fd5b50610517610e54565b60405161052491906137df565b60405180910390f35b34801561053957600080fd5b50610542610e7a565b005b34801561055057600080fd5b5061056b600480360381019061056691906137a3565b610f02565b005b34801561057957600080fd5b5061058261105e565b005b34801561059057600080fd5b50610599611193565b6040516105a691906137df565b60405180910390f35b3480156105bb57600080fd5b506105c46111bd565b6040516105d1919061359f565b60405180910390f35b3480156105e657600080fd5b5061060160048036038101906105fc9190613650565b61124f565b60405161060e91906136ab565b60405180910390f35b34801561062357600080fd5b5061063e60048036038101906106399190613650565b611339565b60405161064b91906136ab565b60405180910390f35b34801561066057600080fd5b5061067b60048036038101906106769190613826565b61135c565b005b34801561068957600080fd5b506106a4600480360381019061069f9190613853565b611491565b005b3480156106b257600080fd5b506106bb611604565b6040516106c891906134eb565b60405180910390f35b3480156106dd57600080fd5b506106f860048036038101906106f39190613650565b61160a565b005b34801561070657600080fd5b50610721600480360381019061071c9190613893565b61173c565b60405161072e91906134eb565b60405180910390f35b34801561074357600080fd5b5061074c6117c3565b005b34801561075a57600080fd5b50610775600480360381019061077091906137a3565b6118ee565b005b34801561078357600080fd5b5061078c6119e6565b005b34801561079a57600080fd5b506107a3611efd565b6040516107b091906134eb565b60405180910390f35b600a5481565b6060600380546107ce90613902565b80601f01602080910402602001604051908101604052809291908181526020018280546107fa90613902565b80156108475780601f1061081c57610100808354040283529160200191610847565b820191906000526020600020905b81548152906001019060200180831161082a57829003601f168201915b5050505050905090565b60008061085c611f03565b9050610869818585611f0b565b600191505092915050565b600e60019054906101000a900460ff1681565b60145481565b6000600254905090565b61089f611f03565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061093357506108fd611f03565b73ffffffffffffffffffffffffffffffffffffffff1661091b611193565b73ffffffffffffffffffffffffffffffffffffffff16145b8061097057503073ffffffffffffffffffffffffffffffffffffffff16610958611193565b73ffffffffffffffffffffffffffffffffffffffff16145b6109af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a6906139a6565b60405180910390fd5b82600a8190555081600b8190555080600c81905550505050565b6109d1611f03565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610a655750610a2f611f03565b73ffffffffffffffffffffffffffffffffffffffff16610a4d611193565b73ffffffffffffffffffffffffffffffffffffffff16145b80610aa257503073ffffffffffffffffffffffffffffffffffffffff16610a8a611193565b73ffffffffffffffffffffffffffffffffffffffff16145b610ae1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad8906139a6565b60405180910390fd5b600a610b0882610afa85876120d690919063ffffffff16565b6120d690919063ffffffff16565b1115610b1357600080fd5b82600f819055508160108190555080601181905550610b4d81610b3f84866120d690919063ffffffff16565b6120d690919063ffffffff16565b601481905550505050565b600080610b63611f03565b9050610b708582856120ec565b610b7b858585612178565b60019150509392505050565b610b8f611f03565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610c235750610bed611f03565b73ffffffffffffffffffffffffffffffffffffffff16610c0b611193565b73ffffffffffffffffffffffffffffffffffffffff16145b80610c6057503073ffffffffffffffffffffffffffffffffffffffff16610c48611193565b73ffffffffffffffffffffffffffffffffffffffff16145b610c9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c96906139a6565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610ce5573d6000803e3d6000fd5b505050565b60006012905090565b600080610cfe611f03565b9050610d92818585600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d8d91906139f5565b611f0b565b600191505092915050565b600b5481565b6000601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600e60009054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610e82611f03565b73ffffffffffffffffffffffffffffffffffffffff16610ea0611193565b73ffffffffffffffffffffffffffffffffffffffff1614610ef6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eed90613a97565b60405180910390fd5b610f006000612c0a565b565b610f0a611f03565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610f9e5750610f68611f03565b73ffffffffffffffffffffffffffffffffffffffff16610f86611193565b73ffffffffffffffffffffffffffffffffffffffff16145b80610fdb57503073ffffffffffffffffffffffffffffffffffffffff16610fc3611193565b73ffffffffffffffffffffffffffffffffffffffff16145b61101a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611011906139a6565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611066611f03565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806110fa57506110c4611f03565b73ffffffffffffffffffffffffffffffffffffffff166110e2611193565b73ffffffffffffffffffffffffffffffffffffffff16145b8061113757503073ffffffffffffffffffffffffffffffffffffffff1661111f611193565b73ffffffffffffffffffffffffffffffffffffffff16145b611176576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116d906139a6565b60405180910390fd5b6001600e60016101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546111cc90613902565b80601f01602080910402602001604051908101604052809291908181526020018280546111f890613902565b80156112455780601f1061121a57610100808354040283529160200191611245565b820191906000526020600020905b81548152906001019060200180831161122857829003601f168201915b5050505050905090565b60008061125a611f03565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905083811015611320576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131790613b29565b60405180910390fd5b61132d8286868403611f0b565b60019250505092915050565b600080611344611f03565b9050611351818585612178565b600191505092915050565b611364611f03565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806113f857506113c2611f03565b73ffffffffffffffffffffffffffffffffffffffff166113e0611193565b73ffffffffffffffffffffffffffffffffffffffff16145b8061143557503073ffffffffffffffffffffffffffffffffffffffff1661141d611193565b73ffffffffffffffffffffffffffffffffffffffff16145b611474576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146b906139a6565b60405180910390fd5b80600e60006101000a81548160ff02191690831515021790555050565b611499611f03565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061152d57506114f7611f03565b73ffffffffffffffffffffffffffffffffffffffff16611515611193565b73ffffffffffffffffffffffffffffffffffffffff16145b8061156a57503073ffffffffffffffffffffffffffffffffffffffff16611552611193565b73ffffffffffffffffffffffffffffffffffffffff16145b6115a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a0906139a6565b60405180910390fd5b80601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600d5481565b611612611f03565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806116a65750611670611f03565b73ffffffffffffffffffffffffffffffffffffffff1661168e611193565b73ffffffffffffffffffffffffffffffffffffffff16145b806116e357503073ffffffffffffffffffffffffffffffffffffffff166116cb611193565b73ffffffffffffffffffffffffffffffffffffffff16145b611722576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611719906139a6565b60405180910390fd5b61172c8282612cd0565b50611738308383612178565b5050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6117cb611f03565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061185f5750611829611f03565b73ffffffffffffffffffffffffffffffffffffffff16611847611193565b73ffffffffffffffffffffffffffffffffffffffff16145b8061189c57503073ffffffffffffffffffffffffffffffffffffffff16611884611193565b73ffffffffffffffffffffffffffffffffffffffff16145b6118db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d2906139a6565b60405180910390fd5b6118ec6118e730610e0c565b612d1f565b565b6118f6611f03565b73ffffffffffffffffffffffffffffffffffffffff16611914611193565b73ffffffffffffffffffffffffffffffffffffffff161461196a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196190613a97565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156119da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d190613bbb565b60405180910390fd5b6119e381612c0a565b50565b6119ee611f03565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480611a825750611a4c611f03565b73ffffffffffffffffffffffffffffffffffffffff16611a6a611193565b73ffffffffffffffffffffffffffffffffffffffff16145b80611abf57503073ffffffffffffffffffffffffffffffffffffffff16611aa7611193565b73ffffffffffffffffffffffffffffffffffffffff16145b611afe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af5906139a6565b60405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015611b6657600080fd5b505afa158015611b7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b9e9190613bf0565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611c2257600080fd5b505afa158015611c36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5a9190613bf0565b6040518363ffffffff1660e01b8152600401611c77929190613c1d565b602060405180830381600087803b158015611c9157600080fd5b505af1158015611ca5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc99190613bf0565b600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160166000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160176000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611e3130600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611e2c61088d565b611f0b565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730611e7961088d565b600080611e84611193565b426040518863ffffffff1660e01b8152600401611ea696959493929190613c8b565b6060604051808303818588803b158015611ebf57600080fd5b505af1158015611ed3573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611ef89190613d01565b505050565b600c5481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611f7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7290613dc6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611feb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe290613e58565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516120c991906134eb565b60405180910390a3505050565b600081836120e491906139f5565b905092915050565b60006120f8848461173c565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146121725781811015612164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215b90613ec4565b60405180910390fd5b6121718484848403611f0b565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156121e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121df90613f56565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612258576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224f90613fe8565b60405180910390fd5b60008114156122725761226d83836000612f71565b612c05565b601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156123165750601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561237d5760006011546123346064846131f290919063ffffffff16565b61233e9190614008565b905061236d84600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612178565b80826123799190614062565b9150505b612385611193565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156123f357506123c3611193565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561242c5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612466575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561247f5750600760149054906101000a900460ff16155b1561286257600e60019054906101000a900460ff1661257957601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806125395750601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612578576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256f90614108565b60405180910390fd5b5b601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561261c5750601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156126c357600a54811115612666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161265d906141c0565b60405180910390fd5b600c5461267283610e0c565b8261267d91906139f5565b11156126be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126b59061422c565b60405180910390fd5b612861565b601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156127665750601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156127b557600b548111156127b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127a7906142e4565b60405180910390fd5b612860565b601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661285f57600c5461281283610e0c565b8261281d91906139f5565b111561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128559061422c565b60405180910390fd5b5b5b5b5b600760149054906101000a900460ff161580156128c95750601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561291f5750601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156129755750601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156129b9576001600760146101000a81548160ff02191690831515021790555061299d613208565b6000600760146101000a81548160ff0219169083151502179055505b6000600760149054906101000a900460ff16159050600e60009054906101000a900460ff1680612a325750601560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80612a865750601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80612b315750601760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612b305750601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b5b15612b3b57600090505b60008115612bf757612b6b6064612b5d6014548661338d90919063ffffffff16565b6131f290919063ffffffff16565b905060145460105482612b7e9190614008565b612b889190614333565b60136000828254612b9991906139f5565b92505081905550601454600f5482612bb19190614008565b612bbb9190614333565b60126000828254612bcc91906139f5565b925050819055506000811115612be857612be7853083612f71565b5b8083612bf49190614062565b92505b612c02858585612f71565b50505b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b6000600267ffffffffffffffff811115612d3c57612d3b614364565b5b604051908082528060200260200182016040528015612d6a5781602001602082028036833780820191505090505b5090503081600081518110612d8257612d81614393565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612e2457600080fd5b505afa158015612e38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e5c9190613bf0565b81600181518110612e7057612e6f614393565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612ed730600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611f0b565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612f3b959493929190614480565b600060405180830381600087803b158015612f5557600080fd5b505af1158015612f69573d6000803e3d6000fd5b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612fe1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fd890613f56565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613051576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161304890613fe8565b60405180910390fd5b61305c8383836133a3565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156130e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130d99061454c565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461317591906139f5565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516131d991906134eb565b60405180910390a36131ec8484846133a8565b50505050565b600081836132009190614333565b905092915050565b600061321330610e0c565b9050600060125460135461322791906139f5565b9050600082141561323957505061338b565b600d5482111561324957600d5491505b60006002826013548561325c9190614008565b6132669190614333565b6132709190614333565b9050600061328782856133ad90919063ffffffff16565b9050600047905061329782612d1f565b60006132ac82476133ad90919063ffffffff16565b905060006132d7866132c96012548561338d90919063ffffffff16565b6131f290919063ffffffff16565b9050600081836132e79190614062565b905060006012819055506000601381905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015613361573d6000803e3d6000fd5b506000861180156133725750600081115b156133825761338186826133c3565b5b50505050505050505b565b6000818361339b9190614008565b905092915050565b505050565b505050565b600081836133bb9190614062565b905092915050565b6133f030600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611f0b565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161347996959493929190613c8b565b6060604051808303818588803b15801561349257600080fd5b505af11580156134a6573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906134cb9190613d01565b5050505050565b6000819050919050565b6134e5816134d2565b82525050565b600060208201905061350060008301846134dc565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613540578082015181840152602081019050613525565b8381111561354f576000848401525b50505050565b6000601f19601f8301169050919050565b600061357182613506565b61357b8185613511565b935061358b818560208601613522565b61359481613555565b840191505092915050565b600060208201905081810360008301526135b98184613566565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006135f1826135c6565b9050919050565b613601816135e6565b811461360c57600080fd5b50565b60008135905061361e816135f8565b92915050565b61362d816134d2565b811461363857600080fd5b50565b60008135905061364a81613624565b92915050565b60008060408385031215613667576136666135c1565b5b60006136758582860161360f565b92505060206136868582860161363b565b9150509250929050565b60008115159050919050565b6136a581613690565b82525050565b60006020820190506136c0600083018461369c565b92915050565b6000806000606084860312156136df576136de6135c1565b5b60006136ed8682870161363b565b93505060206136fe8682870161363b565b925050604061370f8682870161363b565b9150509250925092565b600080600060608486031215613732576137316135c1565b5b60006137408682870161360f565b93505060206137518682870161360f565b92505060406137628682870161363b565b9150509250925092565b600060ff82169050919050565b6137828161376c565b82525050565b600060208201905061379d6000830184613779565b92915050565b6000602082840312156137b9576137b86135c1565b5b60006137c78482850161360f565b91505092915050565b6137d9816135e6565b82525050565b60006020820190506137f460008301846137d0565b92915050565b61380381613690565b811461380e57600080fd5b50565b600081359050613820816137fa565b92915050565b60006020828403121561383c5761383b6135c1565b5b600061384a84828501613811565b91505092915050565b6000806040838503121561386a576138696135c1565b5b60006138788582860161360f565b925050602061388985828601613811565b9150509250929050565b600080604083850312156138aa576138a96135c1565b5b60006138b88582860161360f565b92505060206138c98582860161360f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061391a57607f821691505b6020821081141561392e5761392d6138d3565b5b50919050565b7f43616c6c6572206973206e6f7420746865205f66756e64696e6757616c6c657460008201527f2061646472657373206e6f72206f776e65722e00000000000000000000000000602082015250565b6000613990603383613511565b915061399b82613934565b604082019050919050565b600060208201905081810360008301526139bf81613983565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613a00826134d2565b9150613a0b836134d2565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613a4057613a3f6139c6565b5b828201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613a81602083613511565b9150613a8c82613a4b565b602082019050919050565b60006020820190508181036000830152613ab081613a74565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613b13602583613511565b9150613b1e82613ab7565b604082019050919050565b60006020820190508181036000830152613b4281613b06565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613ba5602683613511565b9150613bb082613b49565b604082019050919050565b60006020820190508181036000830152613bd481613b98565b9050919050565b600081519050613bea816135f8565b92915050565b600060208284031215613c0657613c056135c1565b5b6000613c1484828501613bdb565b91505092915050565b6000604082019050613c3260008301856137d0565b613c3f60208301846137d0565b9392505050565b6000819050919050565b6000819050919050565b6000613c75613c70613c6b84613c46565b613c50565b6134d2565b9050919050565b613c8581613c5a565b82525050565b600060c082019050613ca060008301896137d0565b613cad60208301886134dc565b613cba6040830187613c7c565b613cc76060830186613c7c565b613cd460808301856137d0565b613ce160a08301846134dc565b979650505050505050565b600081519050613cfb81613624565b92915050565b600080600060608486031215613d1a57613d196135c1565b5b6000613d2886828701613cec565b9350506020613d3986828701613cec565b9250506040613d4a86828701613cec565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613db0602483613511565b9150613dbb82613d54565b604082019050919050565b60006020820190508181036000830152613ddf81613da3565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613e42602283613511565b9150613e4d82613de6565b604082019050919050565b60006020820190508181036000830152613e7181613e35565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613eae601d83613511565b9150613eb982613e78565b602082019050919050565b60006020820190508181036000830152613edd81613ea1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613f40602583613511565b9150613f4b82613ee4565b604082019050919050565b60006020820190508181036000830152613f6f81613f33565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613fd2602383613511565b9150613fdd82613f76565b604082019050919050565b6000602082019050818103600083015261400181613fc5565b9050919050565b6000614013826134d2565b915061401e836134d2565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614057576140566139c6565b5b828202905092915050565b600061406d826134d2565b9150614078836134d2565b92508282101561408b5761408a6139c6565b5b828203905092915050565b7f5f7472616e736665723a3a2054726164696e67206973206e6f7420616374697660008201527f652e000000000000000000000000000000000000000000000000000000000000602082015250565b60006140f2602283613511565b91506140fd82614096565b604082019050919050565b60006020820190508181036000830152614121816140e5565b9050919050565b7f5f7472616e736665723a3a20427579207472616e7366657220616d6f756e742060008201527f6578636565647320746865206d61785472616e73616374696f6e416d6f756e7460208201527f2e00000000000000000000000000000000000000000000000000000000000000604082015250565b60006141aa604183613511565b91506141b582614128565b606082019050919050565b600060208201905081810360008301526141d98161419d565b9050919050565b7f5f7472616e736665723a3a204d61782077616c6c657420657863656564656400600082015250565b6000614216601f83613511565b9150614221826141e0565b602082019050919050565b6000602082019050818103600083015261424581614209565b9050919050565b7f5f7472616e736665723a3a2053656c6c207472616e7366657220616d6f756e7460008201527f206578636565647320746865206d61785472616e73616374696f6e416d6f756e60208201527f742e000000000000000000000000000000000000000000000000000000000000604082015250565b60006142ce604283613511565b91506142d98261424c565b606082019050919050565b600060208201905081810360008301526142fd816142c1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061433e826134d2565b9150614349836134d2565b92508261435957614358614304565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6143f7816135e6565b82525050565b600061440983836143ee565b60208301905092915050565b6000602082019050919050565b600061442d826143c2565b61443781856143cd565b9350614442836143de565b8060005b8381101561447357815161445a88826143fd565b975061446583614415565b925050600181019050614446565b5085935050505092915050565b600060a08201905061449560008301886134dc565b6144a26020830187613c7c565b81810360408301526144b48186614422565b90506144c360608301856137d0565b6144d060808301846134dc565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614536602683613511565b9150614541826144da565b604082019050919050565b6000602082019050818103600083015261456581614529565b905091905056fea2646970667358221220e7d04fb0ee4186d88bd978fe20409219e89ea7b20135972d830f641f8c21806e64736f6c63430008090033
Deployed Bytecode
0x6080604052600436106101f25760003560e01c806370d5ae051161010d578063bb5e048a116100a0578063dd62ed3e1161006f578063dd62ed3e146106fa578063df778d2614610737578063f2fde38b1461074e578063f7f23a0c14610777578063f8b45b051461078e576101f9565b8063bb5e048a14610654578063c02466681461067d578063cef85139146106a6578063d31fd8ea146106d1576101f9565b80638da5cb5b116100dc5780638da5cb5b1461058457806395d89b41146105af578063a457c2d7146105da578063a9059cbb14610617576101f9565b806370d5ae0514610502578063715018a61461052d5780637cb332bb146105445780638a8c523c1461056d576101f9565b806323b872dd11610185578063399e4bfb11610154578063399e4bfb146104325780634fbee1931461045d57806365cffb1e1461049a57806370a08231146104c5576101f9565b806323b872dd146103645780632e1888b8146103a1578063313ce567146103ca57806339509351146103f5576101f9565b806313114a9d116101c157806313114a9d146102bc57806318160ddd146102e7578063189ae5f214610312578063224290851461033b576101f9565b806302bf2a5c146101fe57806306fdde0314610229578063095ea7b31461025457806311704f5214610291576101f9565b366101f957005b600080fd5b34801561020a57600080fd5b506102136107b9565b60405161022091906134eb565b60405180910390f35b34801561023557600080fd5b5061023e6107bf565b60405161024b919061359f565b60405180910390f35b34801561026057600080fd5b5061027b60048036038101906102769190613650565b610851565b60405161028891906136ab565b60405180910390f35b34801561029d57600080fd5b506102a6610874565b6040516102b391906136ab565b60405180910390f35b3480156102c857600080fd5b506102d1610887565b6040516102de91906134eb565b60405180910390f35b3480156102f357600080fd5b506102fc61088d565b60405161030991906134eb565b60405180910390f35b34801561031e57600080fd5b50610339600480360381019061033491906136c6565b610897565b005b34801561034757600080fd5b50610362600480360381019061035d91906136c6565b6109c9565b005b34801561037057600080fd5b5061038b60048036038101906103869190613719565b610b58565b60405161039891906136ab565b60405180910390f35b3480156103ad57600080fd5b506103c860048036038101906103c39190613650565b610b87565b005b3480156103d657600080fd5b506103df610cea565b6040516103ec9190613788565b60405180910390f35b34801561040157600080fd5b5061041c60048036038101906104179190613650565b610cf3565b60405161042991906136ab565b60405180910390f35b34801561043e57600080fd5b50610447610d9d565b60405161045491906134eb565b60405180910390f35b34801561046957600080fd5b50610484600480360381019061047f91906137a3565b610da3565b60405161049191906136ab565b60405180910390f35b3480156104a657600080fd5b506104af610df9565b6040516104bc91906136ab565b60405180910390f35b3480156104d157600080fd5b506104ec60048036038101906104e791906137a3565b610e0c565b6040516104f991906134eb565b60405180910390f35b34801561050e57600080fd5b50610517610e54565b60405161052491906137df565b60405180910390f35b34801561053957600080fd5b50610542610e7a565b005b34801561055057600080fd5b5061056b600480360381019061056691906137a3565b610f02565b005b34801561057957600080fd5b5061058261105e565b005b34801561059057600080fd5b50610599611193565b6040516105a691906137df565b60405180910390f35b3480156105bb57600080fd5b506105c46111bd565b6040516105d1919061359f565b60405180910390f35b3480156105e657600080fd5b5061060160048036038101906105fc9190613650565b61124f565b60405161060e91906136ab565b60405180910390f35b34801561062357600080fd5b5061063e60048036038101906106399190613650565b611339565b60405161064b91906136ab565b60405180910390f35b34801561066057600080fd5b5061067b60048036038101906106769190613826565b61135c565b005b34801561068957600080fd5b506106a4600480360381019061069f9190613853565b611491565b005b3480156106b257600080fd5b506106bb611604565b6040516106c891906134eb565b60405180910390f35b3480156106dd57600080fd5b506106f860048036038101906106f39190613650565b61160a565b005b34801561070657600080fd5b50610721600480360381019061071c9190613893565b61173c565b60405161072e91906134eb565b60405180910390f35b34801561074357600080fd5b5061074c6117c3565b005b34801561075a57600080fd5b50610775600480360381019061077091906137a3565b6118ee565b005b34801561078357600080fd5b5061078c6119e6565b005b34801561079a57600080fd5b506107a3611efd565b6040516107b091906134eb565b60405180910390f35b600a5481565b6060600380546107ce90613902565b80601f01602080910402602001604051908101604052809291908181526020018280546107fa90613902565b80156108475780601f1061081c57610100808354040283529160200191610847565b820191906000526020600020905b81548152906001019060200180831161082a57829003601f168201915b5050505050905090565b60008061085c611f03565b9050610869818585611f0b565b600191505092915050565b600e60019054906101000a900460ff1681565b60145481565b6000600254905090565b61089f611f03565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061093357506108fd611f03565b73ffffffffffffffffffffffffffffffffffffffff1661091b611193565b73ffffffffffffffffffffffffffffffffffffffff16145b8061097057503073ffffffffffffffffffffffffffffffffffffffff16610958611193565b73ffffffffffffffffffffffffffffffffffffffff16145b6109af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a6906139a6565b60405180910390fd5b82600a8190555081600b8190555080600c81905550505050565b6109d1611f03565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610a655750610a2f611f03565b73ffffffffffffffffffffffffffffffffffffffff16610a4d611193565b73ffffffffffffffffffffffffffffffffffffffff16145b80610aa257503073ffffffffffffffffffffffffffffffffffffffff16610a8a611193565b73ffffffffffffffffffffffffffffffffffffffff16145b610ae1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad8906139a6565b60405180910390fd5b600a610b0882610afa85876120d690919063ffffffff16565b6120d690919063ffffffff16565b1115610b1357600080fd5b82600f819055508160108190555080601181905550610b4d81610b3f84866120d690919063ffffffff16565b6120d690919063ffffffff16565b601481905550505050565b600080610b63611f03565b9050610b708582856120ec565b610b7b858585612178565b60019150509392505050565b610b8f611f03565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610c235750610bed611f03565b73ffffffffffffffffffffffffffffffffffffffff16610c0b611193565b73ffffffffffffffffffffffffffffffffffffffff16145b80610c6057503073ffffffffffffffffffffffffffffffffffffffff16610c48611193565b73ffffffffffffffffffffffffffffffffffffffff16145b610c9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c96906139a6565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610ce5573d6000803e3d6000fd5b505050565b60006012905090565b600080610cfe611f03565b9050610d92818585600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d8d91906139f5565b611f0b565b600191505092915050565b600b5481565b6000601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600e60009054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610e82611f03565b73ffffffffffffffffffffffffffffffffffffffff16610ea0611193565b73ffffffffffffffffffffffffffffffffffffffff1614610ef6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eed90613a97565b60405180910390fd5b610f006000612c0a565b565b610f0a611f03565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610f9e5750610f68611f03565b73ffffffffffffffffffffffffffffffffffffffff16610f86611193565b73ffffffffffffffffffffffffffffffffffffffff16145b80610fdb57503073ffffffffffffffffffffffffffffffffffffffff16610fc3611193565b73ffffffffffffffffffffffffffffffffffffffff16145b61101a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611011906139a6565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611066611f03565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806110fa57506110c4611f03565b73ffffffffffffffffffffffffffffffffffffffff166110e2611193565b73ffffffffffffffffffffffffffffffffffffffff16145b8061113757503073ffffffffffffffffffffffffffffffffffffffff1661111f611193565b73ffffffffffffffffffffffffffffffffffffffff16145b611176576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116d906139a6565b60405180910390fd5b6001600e60016101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546111cc90613902565b80601f01602080910402602001604051908101604052809291908181526020018280546111f890613902565b80156112455780601f1061121a57610100808354040283529160200191611245565b820191906000526020600020905b81548152906001019060200180831161122857829003601f168201915b5050505050905090565b60008061125a611f03565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905083811015611320576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131790613b29565b60405180910390fd5b61132d8286868403611f0b565b60019250505092915050565b600080611344611f03565b9050611351818585612178565b600191505092915050565b611364611f03565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806113f857506113c2611f03565b73ffffffffffffffffffffffffffffffffffffffff166113e0611193565b73ffffffffffffffffffffffffffffffffffffffff16145b8061143557503073ffffffffffffffffffffffffffffffffffffffff1661141d611193565b73ffffffffffffffffffffffffffffffffffffffff16145b611474576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146b906139a6565b60405180910390fd5b80600e60006101000a81548160ff02191690831515021790555050565b611499611f03565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061152d57506114f7611f03565b73ffffffffffffffffffffffffffffffffffffffff16611515611193565b73ffffffffffffffffffffffffffffffffffffffff16145b8061156a57503073ffffffffffffffffffffffffffffffffffffffff16611552611193565b73ffffffffffffffffffffffffffffffffffffffff16145b6115a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a0906139a6565b60405180910390fd5b80601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600d5481565b611612611f03565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806116a65750611670611f03565b73ffffffffffffffffffffffffffffffffffffffff1661168e611193565b73ffffffffffffffffffffffffffffffffffffffff16145b806116e357503073ffffffffffffffffffffffffffffffffffffffff166116cb611193565b73ffffffffffffffffffffffffffffffffffffffff16145b611722576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611719906139a6565b60405180910390fd5b61172c8282612cd0565b50611738308383612178565b5050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6117cb611f03565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061185f5750611829611f03565b73ffffffffffffffffffffffffffffffffffffffff16611847611193565b73ffffffffffffffffffffffffffffffffffffffff16145b8061189c57503073ffffffffffffffffffffffffffffffffffffffff16611884611193565b73ffffffffffffffffffffffffffffffffffffffff16145b6118db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d2906139a6565b60405180910390fd5b6118ec6118e730610e0c565b612d1f565b565b6118f6611f03565b73ffffffffffffffffffffffffffffffffffffffff16611914611193565b73ffffffffffffffffffffffffffffffffffffffff161461196a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196190613a97565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156119da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d190613bbb565b60405180910390fd5b6119e381612c0a565b50565b6119ee611f03565b73ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480611a825750611a4c611f03565b73ffffffffffffffffffffffffffffffffffffffff16611a6a611193565b73ffffffffffffffffffffffffffffffffffffffff16145b80611abf57503073ffffffffffffffffffffffffffffffffffffffff16611aa7611193565b73ffffffffffffffffffffffffffffffffffffffff16145b611afe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af5906139a6565b60405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015611b6657600080fd5b505afa158015611b7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b9e9190613bf0565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611c2257600080fd5b505afa158015611c36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5a9190613bf0565b6040518363ffffffff1660e01b8152600401611c77929190613c1d565b602060405180830381600087803b158015611c9157600080fd5b505af1158015611ca5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc99190613bf0565b600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160166000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160176000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611e3130600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611e2c61088d565b611f0b565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730611e7961088d565b600080611e84611193565b426040518863ffffffff1660e01b8152600401611ea696959493929190613c8b565b6060604051808303818588803b158015611ebf57600080fd5b505af1158015611ed3573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611ef89190613d01565b505050565b600c5481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611f7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7290613dc6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611feb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe290613e58565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516120c991906134eb565b60405180910390a3505050565b600081836120e491906139f5565b905092915050565b60006120f8848461173c565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146121725781811015612164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215b90613ec4565b60405180910390fd5b6121718484848403611f0b565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156121e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121df90613f56565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612258576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224f90613fe8565b60405180910390fd5b60008114156122725761226d83836000612f71565b612c05565b601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156123165750601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561237d5760006011546123346064846131f290919063ffffffff16565b61233e9190614008565b905061236d84600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612178565b80826123799190614062565b9150505b612385611193565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156123f357506123c3611193565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561242c5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612466575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561247f5750600760149054906101000a900460ff16155b1561286257600e60019054906101000a900460ff1661257957601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806125395750601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612578576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256f90614108565b60405180910390fd5b5b601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561261c5750601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156126c357600a54811115612666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161265d906141c0565b60405180910390fd5b600c5461267283610e0c565b8261267d91906139f5565b11156126be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126b59061422c565b60405180910390fd5b612861565b601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156127665750601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156127b557600b548111156127b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127a7906142e4565b60405180910390fd5b612860565b601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661285f57600c5461281283610e0c565b8261281d91906139f5565b111561285e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128559061422c565b60405180910390fd5b5b5b5b5b600760149054906101000a900460ff161580156128c95750601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561291f5750601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156129755750601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156129b9576001600760146101000a81548160ff02191690831515021790555061299d613208565b6000600760146101000a81548160ff0219169083151502179055505b6000600760149054906101000a900460ff16159050600e60009054906101000a900460ff1680612a325750601560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80612a865750601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80612b315750601760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612b305750601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b5b15612b3b57600090505b60008115612bf757612b6b6064612b5d6014548661338d90919063ffffffff16565b6131f290919063ffffffff16565b905060145460105482612b7e9190614008565b612b889190614333565b60136000828254612b9991906139f5565b92505081905550601454600f5482612bb19190614008565b612bbb9190614333565b60126000828254612bcc91906139f5565b925050819055506000811115612be857612be7853083612f71565b5b8083612bf49190614062565b92505b612c02858585612f71565b50505b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b6000600267ffffffffffffffff811115612d3c57612d3b614364565b5b604051908082528060200260200182016040528015612d6a5781602001602082028036833780820191505090505b5090503081600081518110612d8257612d81614393565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612e2457600080fd5b505afa158015612e38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e5c9190613bf0565b81600181518110612e7057612e6f614393565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612ed730600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611f0b565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612f3b959493929190614480565b600060405180830381600087803b158015612f5557600080fd5b505af1158015612f69573d6000803e3d6000fd5b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612fe1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fd890613f56565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613051576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161304890613fe8565b60405180910390fd5b61305c8383836133a3565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156130e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130d99061454c565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461317591906139f5565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516131d991906134eb565b60405180910390a36131ec8484846133a8565b50505050565b600081836132009190614333565b905092915050565b600061321330610e0c565b9050600060125460135461322791906139f5565b9050600082141561323957505061338b565b600d5482111561324957600d5491505b60006002826013548561325c9190614008565b6132669190614333565b6132709190614333565b9050600061328782856133ad90919063ffffffff16565b9050600047905061329782612d1f565b60006132ac82476133ad90919063ffffffff16565b905060006132d7866132c96012548561338d90919063ffffffff16565b6131f290919063ffffffff16565b9050600081836132e79190614062565b905060006012819055506000601381905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015613361573d6000803e3d6000fd5b506000861180156133725750600081115b156133825761338186826133c3565b5b50505050505050505b565b6000818361339b9190614008565b905092915050565b505050565b505050565b600081836133bb9190614062565b905092915050565b6133f030600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611f0b565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161347996959493929190613c8b565b6060604051808303818588803b15801561349257600080fd5b505af11580156134a6573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906134cb9190613d01565b5050505050565b6000819050919050565b6134e5816134d2565b82525050565b600060208201905061350060008301846134dc565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613540578082015181840152602081019050613525565b8381111561354f576000848401525b50505050565b6000601f19601f8301169050919050565b600061357182613506565b61357b8185613511565b935061358b818560208601613522565b61359481613555565b840191505092915050565b600060208201905081810360008301526135b98184613566565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006135f1826135c6565b9050919050565b613601816135e6565b811461360c57600080fd5b50565b60008135905061361e816135f8565b92915050565b61362d816134d2565b811461363857600080fd5b50565b60008135905061364a81613624565b92915050565b60008060408385031215613667576136666135c1565b5b60006136758582860161360f565b92505060206136868582860161363b565b9150509250929050565b60008115159050919050565b6136a581613690565b82525050565b60006020820190506136c0600083018461369c565b92915050565b6000806000606084860312156136df576136de6135c1565b5b60006136ed8682870161363b565b93505060206136fe8682870161363b565b925050604061370f8682870161363b565b9150509250925092565b600080600060608486031215613732576137316135c1565b5b60006137408682870161360f565b93505060206137518682870161360f565b92505060406137628682870161363b565b9150509250925092565b600060ff82169050919050565b6137828161376c565b82525050565b600060208201905061379d6000830184613779565b92915050565b6000602082840312156137b9576137b86135c1565b5b60006137c78482850161360f565b91505092915050565b6137d9816135e6565b82525050565b60006020820190506137f460008301846137d0565b92915050565b61380381613690565b811461380e57600080fd5b50565b600081359050613820816137fa565b92915050565b60006020828403121561383c5761383b6135c1565b5b600061384a84828501613811565b91505092915050565b6000806040838503121561386a576138696135c1565b5b60006138788582860161360f565b925050602061388985828601613811565b9150509250929050565b600080604083850312156138aa576138a96135c1565b5b60006138b88582860161360f565b92505060206138c98582860161360f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061391a57607f821691505b6020821081141561392e5761392d6138d3565b5b50919050565b7f43616c6c6572206973206e6f7420746865205f66756e64696e6757616c6c657460008201527f2061646472657373206e6f72206f776e65722e00000000000000000000000000602082015250565b6000613990603383613511565b915061399b82613934565b604082019050919050565b600060208201905081810360008301526139bf81613983565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613a00826134d2565b9150613a0b836134d2565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613a4057613a3f6139c6565b5b828201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613a81602083613511565b9150613a8c82613a4b565b602082019050919050565b60006020820190508181036000830152613ab081613a74565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613b13602583613511565b9150613b1e82613ab7565b604082019050919050565b60006020820190508181036000830152613b4281613b06565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613ba5602683613511565b9150613bb082613b49565b604082019050919050565b60006020820190508181036000830152613bd481613b98565b9050919050565b600081519050613bea816135f8565b92915050565b600060208284031215613c0657613c056135c1565b5b6000613c1484828501613bdb565b91505092915050565b6000604082019050613c3260008301856137d0565b613c3f60208301846137d0565b9392505050565b6000819050919050565b6000819050919050565b6000613c75613c70613c6b84613c46565b613c50565b6134d2565b9050919050565b613c8581613c5a565b82525050565b600060c082019050613ca060008301896137d0565b613cad60208301886134dc565b613cba6040830187613c7c565b613cc76060830186613c7c565b613cd460808301856137d0565b613ce160a08301846134dc565b979650505050505050565b600081519050613cfb81613624565b92915050565b600080600060608486031215613d1a57613d196135c1565b5b6000613d2886828701613cec565b9350506020613d3986828701613cec565b9250506040613d4a86828701613cec565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613db0602483613511565b9150613dbb82613d54565b604082019050919050565b60006020820190508181036000830152613ddf81613da3565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613e42602283613511565b9150613e4d82613de6565b604082019050919050565b60006020820190508181036000830152613e7181613e35565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613eae601d83613511565b9150613eb982613e78565b602082019050919050565b60006020820190508181036000830152613edd81613ea1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613f40602583613511565b9150613f4b82613ee4565b604082019050919050565b60006020820190508181036000830152613f6f81613f33565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613fd2602383613511565b9150613fdd82613f76565b604082019050919050565b6000602082019050818103600083015261400181613fc5565b9050919050565b6000614013826134d2565b915061401e836134d2565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614057576140566139c6565b5b828202905092915050565b600061406d826134d2565b9150614078836134d2565b92508282101561408b5761408a6139c6565b5b828203905092915050565b7f5f7472616e736665723a3a2054726164696e67206973206e6f7420616374697660008201527f652e000000000000000000000000000000000000000000000000000000000000602082015250565b60006140f2602283613511565b91506140fd82614096565b604082019050919050565b60006020820190508181036000830152614121816140e5565b9050919050565b7f5f7472616e736665723a3a20427579207472616e7366657220616d6f756e742060008201527f6578636565647320746865206d61785472616e73616374696f6e416d6f756e7460208201527f2e00000000000000000000000000000000000000000000000000000000000000604082015250565b60006141aa604183613511565b91506141b582614128565b606082019050919050565b600060208201905081810360008301526141d98161419d565b9050919050565b7f5f7472616e736665723a3a204d61782077616c6c657420657863656564656400600082015250565b6000614216601f83613511565b9150614221826141e0565b602082019050919050565b6000602082019050818103600083015261424581614209565b9050919050565b7f5f7472616e736665723a3a2053656c6c207472616e7366657220616d6f756e7460008201527f206578636565647320746865206d61785472616e73616374696f6e416d6f756e60208201527f742e000000000000000000000000000000000000000000000000000000000000604082015250565b60006142ce604283613511565b91506142d98261424c565b606082019050919050565b600060208201905081810360008301526142fd816142c1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061433e826134d2565b9150614349836134d2565b92508261435957614358614304565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6143f7816135e6565b82525050565b600061440983836143ee565b60208301905092915050565b6000602082019050919050565b600061442d826143c2565b61443781856143cd565b9350614442836143de565b8060005b8381101561447357815161445a88826143fd565b975061446583614415565b925050600181019050614446565b5085935050505092915050565b600060a08201905061449560008301886134dc565b6144a26020830187613c7c565b81810360408301526144b48186614422565b90506144c360608301856137d0565b6144d060808301846134dc565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614536602683613511565b9150614541826144da565b604082019050919050565b6000602082019050818103600083015261456581614529565b905091905056fea2646970667358221220e7d04fb0ee4186d88bd978fe20409219e89ea7b20135972d830f641f8c21806e64736f6c63430008090033
Deployed Bytecode Sourcemap
21102:11317:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21433:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2373:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3446:242;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21648:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21885:65;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2694:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25438:271;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;25054:376;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3696:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;32010:170;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2593:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3999:272;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21485:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;26171:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21609:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2810:177;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21335:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17702:103;;;;;;;;;;;;;:::i;:::-;;25964:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24664:83;;;;;;;;;;;;;:::i;:::-;;17479:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2481:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4279:507;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2995:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;25780:93;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24815:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21566:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;31703:235;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3237:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;32275:104;;;;;;;;;;;;;:::i;:::-;;17813:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23996:660;;;;;;;;;;;;;:::i;:::-;;21533:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21433:45;;;;:::o;2373:100::-;2427:13;2460:5;2453:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2373:100;:::o;3446:242::-;3565:4;3587:13;3603:12;:10;:12::i;:::-;3587:28;;3626:32;3635:5;3642:7;3651:6;3626:8;:32::i;:::-;3676:4;3669:11;;;3446:242;;;;:::o;21648:31::-;;;;;;;;;;;;;:::o;21885:65::-;;;;:::o;2694:108::-;2755:7;2782:12;;2775:19;;2694:108;:::o;25438:271::-;22647:12;:10;:12::i;:::-;22629:30;;:14;;;;;;;;;;;:30;;;:74;;;;22691:12;:10;:12::i;:::-;22680:23;;:7;:5;:7::i;:::-;:23;;;22629:74;:119;;;;22743:4;22724:24;;:7;:5;:7::i;:::-;:24;;;22629:119;22607:220;;;;;;;;;;;;:::i;:::-;;;;;;;;;25611:8:::1;25578:30;:41;;;;25659:9;25630:26;:38;;;;25691:10;25679:9;:22;;;;25438:271:::0;;;:::o;25054:376::-;22647:12;:10;:12::i;:::-;22629:30;;:14;;;;;;;;;;;:30;;;:74;;;;22691:12;:10;:12::i;:::-;22680:23;;:7;:5;:7::i;:::-;:23;;;22629:74;:119;;;;22743:4;22724:24;;:7;:5;:7::i;:::-;:24;;;22629:119;22607:220;;;;;;;;;;;;:::i;:::-;;;;;;;;;25252:2:::1;25207:41;25240:7;25207:28;25222:12;25207:10;:14;;:28;;;;:::i;:::-;:32;;:41;;;;:::i;:::-;:47;;25199:56;;;::::0;::::1;;25280:10;25266:11;:24;;;;25317:12;25301:13;:28;;;;25351:7;25340:8;:18;;;;25381:41;25414:7;25381:28;25396:12;25381:10;:14;;:28;;;;:::i;:::-;:32;;:41;;;;:::i;:::-;25369:9;:53;;;;25054:376:::0;;;:::o;3696:295::-;3827:4;3844:15;3862:12;:10;:12::i;:::-;3844:30;;3885:38;3901:4;3907:7;3916:6;3885:15;:38::i;:::-;3934:27;3944:4;3950:2;3954:6;3934:9;:27::i;:::-;3979:4;3972:11;;;3696:295;;;;;:::o;32010:170::-;22647:12;:10;:12::i;:::-;22629:30;;:14;;;;;;;;;;;:30;;;:74;;;;22691:12;:10;:12::i;:::-;22680:23;;:7;:5;:7::i;:::-;:23;;;22629:74;:119;;;;22743:4;22724:24;;:7;:5;:7::i;:::-;:24;;;22629:119;22607:220;;;;;;;;;;;;:::i;:::-;;;;;;;;;32142:2:::1;32134:20;;:38;32155:16;32134:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;32010:170:::0;;:::o;2593:93::-;2651:5;2676:2;2669:9;;2593:93;:::o;3999:272::-;4114:4;4136:13;4152:12;:10;:12::i;:::-;4136:28;;4175:66;4184:5;4191:7;4230:10;4200:11;:18;4212:5;4200:18;;;;;;;;;;;;;;;:27;4219:7;4200:27;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;4175:8;:66::i;:::-;4259:4;4252:11;;;3999:272;;;;:::o;21485:41::-;;;;:::o;26171:128::-;26239:4;26263:19;:28;26283:7;26263:28;;;;;;;;;;;;;;;;;;;;;;;;;26256:35;;26171:128;;;:::o;21609:32::-;;;;;;;;;;;;;:::o;2810:177::-;2929:7;2961:9;:18;2971:7;2961:18;;;;;;;;;;;;;;;;2954:25;;2810:177;;;:::o;21335:89::-;;;;;;;;;;;;;:::o;17702:103::-;17625:12;:10;:12::i;:::-;17614:23;;:7;:5;:7::i;:::-;:23;;;17606:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17767:30:::1;17794:1;17767:18;:30::i;:::-;17702:103::o:0;25964:111::-;22647:12;:10;:12::i;:::-;22629:30;;:14;;;;;;;;;;;:30;;;:74;;;;22691:12;:10;:12::i;:::-;22680:23;;:7;:5;:7::i;:::-;:23;;;22629:74;:119;;;;22743:4;22724:24;;:7;:5;:7::i;:::-;:24;;;22629:119;22607:220;;;;;;;;;;;;:::i;:::-;;;;;;;;;26058:9:::1;26041:14;;:26;;;;;;;;;;;;;;;;;;25964:111:::0;:::o;24664:83::-;22647:12;:10;:12::i;:::-;22629:30;;:14;;;;;;;;;;;:30;;;:74;;;;22691:12;:10;:12::i;:::-;22680:23;;:7;:5;:7::i;:::-;:23;;;22629:74;:119;;;;22743:4;22724:24;;:7;:5;:7::i;:::-;:24;;;22629:119;22607:220;;;;;;;;;;;;:::i;:::-;;;;;;;;;24735:4:::1;24721:11;;:18;;;;;;;;;;;;;;;;;;24664:83::o:0;17479:87::-;17525:7;17552:6;;;;;;;;;;;17545:13;;17479:87;:::o;2481:104::-;2537:13;2570:7;2563:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2481:104;:::o;4279:507::-;4399:4;4421:13;4437:12;:10;:12::i;:::-;4421:28;;4460:24;4487:11;:18;4499:5;4487:18;;;;;;;;;;;;;;;:27;4506:7;4487:27;;;;;;;;;;;;;;;;4460:54;;4567:15;4547:16;:35;;4525:122;;;;;;;;;;;;:::i;:::-;;;;;;;;;4683:60;4692:5;4699:7;4727:15;4708:16;:34;4683:8;:60::i;:::-;4774:4;4767:11;;;;4279:507;;;;:::o;2995:234::-;3110:4;3132:13;3148:12;:10;:12::i;:::-;3132:28;;3171;3181:5;3188:2;3192:6;3171:9;:28::i;:::-;3217:4;3210:11;;;2995:234;;;;:::o;25780:93::-;22647:12;:10;:12::i;:::-;22629:30;;:14;;;;;;;;;;;:30;;;:74;;;;22691:12;:10;:12::i;:::-;22680:23;;:7;:5;:7::i;:::-;:23;;;22629:74;:119;;;;22743:4;22724:24;;:7;:5;:7::i;:::-;:24;;;22629:119;22607:220;;;;;;;;;;;;:::i;:::-;;;;;;;;;25860:5:::1;25845:12;;:20;;;;;;;;;;;;;;;;;;25780:93:::0;:::o;24815:157::-;22647:12;:10;:12::i;:::-;22629:30;;:14;;;;;;;;;;;:30;;;:74;;;;22691:12;:10;:12::i;:::-;22680:23;;:7;:5;:7::i;:::-;:23;;;22629:74;:119;;;;22743:4;22724:24;;:7;:5;:7::i;:::-;:24;;;22629:119;22607:220;;;;;;;;;;;;:::i;:::-;;;;;;;;;24956:8:::1;24925:19;:28;24945:7;24925:28;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;24815:157:::0;;:::o;21566:34::-;;;;:::o;31703:235::-;22647:12;:10;:12::i;:::-;22629:30;;:14;;;;;;;;;;;:30;;;:74;;;;22691:12;:10;:12::i;:::-;22680:23;;:7;:5;:7::i;:::-;:23;;;22629:74;:119;;;;22743:4;22724:24;;:7;:5;:7::i;:::-;:24;;;22629:119;22607:220;;;;;;;;;;;;:::i;:::-;;;;;;;;;31837:36:::1;31852:2;31856:16;31837:14;:36::i;:::-;;31884:46;31902:4;31909:2;31913:16;31884:9;:46::i;:::-;31703:235:::0;;:::o;3237:201::-;3371:7;3403:11;:18;3415:5;3403:18;;;;;;;;;;;;;;;:27;3422:7;3403:27;;;;;;;;;;;;;;;;3396:34;;3237:201;;;;:::o;32275:104::-;22647:12;:10;:12::i;:::-;22629:30;;:14;;;;;;;;;;;:30;;;:74;;;;22691:12;:10;:12::i;:::-;22680:23;;:7;:5;:7::i;:::-;:23;;;22629:74;:119;;;;22743:4;22724:24;;:7;:5;:7::i;:::-;:24;;;22629:119;22607:220;;;;;;;;;;;;:::i;:::-;;;;;;;;;32328:43:::1;32346:24;32364:4;32346:9;:24::i;:::-;32328:17;:43::i;:::-;32275:104::o:0;17813:238::-;17625:12;:10;:12::i;:::-;17614:23;;:7;:5;:7::i;:::-;:23;;;17606:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17936:1:::1;17916:22;;:8;:22;;;;17894:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;18015:28;18034:8;18015:18;:28::i;:::-;17813:238:::0;:::o;23996:660::-;22647:12;:10;:12::i;:::-;22629:30;;:14;;;;;;;;;;;:30;;;:74;;;;22691:12;:10;:12::i;:::-;22680:23;;:7;:5;:7::i;:::-;:23;;;22629:74;:119;;;;22743:4;22724:24;;:7;:5;:7::i;:::-;:24;;;22629:119;22607:220;;;;;;;;;;;;:::i;:::-;;;;;;;;;24082:15:::1;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24064:55;;;24146:4;24170:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24064:143;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24048:13;;:159;;;;;;;;;;;;;;;;;;24276:4;24218:31;:55;24258:13;;;;;;;;;;;24218:55;;;;;;;;;;;;;;;;:62;;;;;;;;;;;;;;;;;;24344:4;24291:26;:50;24326:13;;;;;;;;;;;24291:50;;;;;;;;;;;;;;;;:57;;;;;;;;;;;;;;;;;;24361:64;24378:4;24393:15;;;;;;;;;;;24411:13;:11;:13::i;:::-;24361:8;:64::i;:::-;24436:15;;;;;;;;;;;:31;;;24475:21;24520:4;24540:13;:11;:13::i;:::-;24568:1;24584::::0;24600:7:::1;:5;:7::i;:::-;24622:15;24436:212;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;23996:660::o:0;21533:24::-;;;;:::o;1752:98::-;1805:7;1832:10;1825:17;;1752:98;:::o;6709:380::-;6862:1;6845:19;;:5;:19;;;;6837:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6943:1;6924:21;;:7;:21;;;;6916:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7027:6;6997:11;:18;7009:5;6997:18;;;;;;;;;;;;;;;:27;7016:7;6997:27;;;;;;;;;;;;;;;:36;;;;7065:7;7049:32;;7058:5;7049:32;;;7074:6;7049:32;;;;;;:::i;:::-;;;;;;;;6709:380;;;:::o;19790:98::-;19848:7;19879:1;19875;:5;;;;:::i;:::-;19868:12;;19790:98;;;;:::o;7097:502::-;7232:24;7259:25;7269:5;7276:7;7259:9;:25::i;:::-;7232:52;;7319:17;7299:16;:37;7295:297;;7399:6;7379:16;:26;;7353:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;7514:51;7523:5;7530:7;7558:6;7539:16;:25;7514:8;:51::i;:::-;7295:297;7221:378;7097:502;;;:::o;26307:3293::-;26455:1;26439:18;;:4;:18;;;;26431:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;26532:1;26518:16;;:2;:16;;;;26510:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;26601:1;26591:6;:11;26587:93;;;26619:28;26635:4;26641:2;26645:1;26619:15;:28::i;:::-;26662:7;;26587:93;26714:19;:25;26734:4;26714:25;;;;;;;;;;;;;;;;;;;;;;;;;26713:26;:54;;;;;26744:19;:23;26764:2;26744:23;;;;;;;;;;;;;;;;;;;;;;;;;26743:24;26713:54;26709:224;;;26784:18;26823:8;;26805:15;26816:3;26805:6;:10;;:15;;;;:::i;:::-;:26;;;;:::i;:::-;26784:47;;26846:40;26856:4;26862:11;;;;;;;;;;;26875:10;26846:9;:40::i;:::-;26911:10;26901:20;;;;;:::i;:::-;;;26769:164;26709:224;26971:7;:5;:7::i;:::-;26963:15;;:4;:15;;;;:45;;;;;27001:7;:5;:7::i;:::-;26995:13;;:2;:13;;;;26963:45;:78;;;;;27039:1;27025:16;;:2;:16;;;;26963:78;:116;;;;;27072:6;27058:21;;:2;:21;;;;26963:116;:143;;;;;27097:9;;;;;;;;;;;27096:10;26963:143;26945:1536;;;27138:11;;;;;;;;;;;27133:195;;27198:19;:25;27218:4;27198:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;27227:19;:23;27247:2;27227:23;;;;;;;;;;;;;;;;;;;;;;;;;27198:52;27168:160;;;;;;;;;;;;:::i;:::-;;;;;;;;;27133:195;27388:26;:32;27415:4;27388:32;;;;;;;;;;;;;;;;;;;;;;;;;:89;;;;;27442:31;:35;27474:2;27442:35;;;;;;;;;;;;;;;;;;;;;;;;;27441:36;27388:89;27366:1104;;;27552:30;;27542:6;:40;;27512:179;;;;;;;;;;;;:::i;:::-;;;;;;;;;27766:9;;27749:13;27759:2;27749:9;:13::i;:::-;27740:6;:22;;;;:::i;:::-;:35;;27710:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;27366:1104;;;27931:26;:30;27958:2;27931:30;;;;;;;;;;;;;;;;;;;;;;;;;:89;;;;;27983:31;:37;28015:4;27983:37;;;;;;;;;;;;;;;;;;;;;;;;;27982:38;27931:89;27909:561;;;28095:26;;28085:6;:36;;28055:176;;;;;;;;;;;;:::i;:::-;;;;;;;;;27909:561;;;28258:31;:35;28290:2;28258:35;;;;;;;;;;;;;;;;;;;;;;;;;28253:217;;28370:9;;28353:13;28363:2;28353:9;:13::i;:::-;28344:6;:22;;;;:::i;:::-;:35;;28314:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;28253:217;27909:561;27366:1104;26945:1536;28512:9;;;;;;;;;;;28511:10;:60;;;;;28539:26;:32;28566:4;28539:32;;;;;;;;;;;;;;;;;;;;;;;;;28538:33;28511:60;:103;;;;;28589:19;:25;28609:4;28589:25;;;;;;;;;;;;;;;;;;;;;;;;;28588:26;28511:103;:144;;;;;28632:19;:23;28652:2;28632:23;;;;;;;;;;;;;;;;;;;;;;;;;28631:24;28511:144;28493:274;;;28694:4;28682:9;;:16;;;;;;;;;;;;;;;;;;28713:10;:8;:10::i;:::-;28750:5;28738:9;;:17;;;;;;;;;;;;;;;;;;28493:274;28779:12;28795:9;;;;;;;;;;;28794:10;28779:25;;28925:12;;;;;;;;;;;:54;;;;28954:19;:25;28974:4;28954:25;;;;;;;;;;;;;;;;;;;;;;;;;28925:54;:94;;;;28996:19;:23;29016:2;28996:23;;;;;;;;;;;;;;;;;;;;;;;;;28925:94;:198;;;;29038:26;:32;29065:4;29038:32;;;;;;;;;;;;;;;;;;;;;;;;;29037:33;:85;;;;;29092:26;:30;29119:2;29092:30;;;;;;;;;;;;;;;;;;;;;;;;;29091:31;29037:85;28925:198;28907:243;;;29145:5;29135:15;;28907:243;29163:12;29194:7;29190:357;;;29225:30;29251:3;29225:21;29236:9;;29225:6;:10;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;29218:37;;29320:9;;29303:13;;29296:4;:20;;;;:::i;:::-;29295:34;;;;:::i;:::-;29272:19;;:57;;;;;;;:::i;:::-;;;;;;;;29388:9;;29373:11;;29366:4;:18;;;;:::i;:::-;29365:32;;;;:::i;:::-;29344:17;;:53;;;;;;;:::i;:::-;;;;;;;;29425:1;29418:4;:8;29414:91;;;29447:42;29463:4;29477;29484;29447:15;:42::i;:::-;29414:91;29531:4;29521:14;;;;;:::i;:::-;;;29190:357;29559:33;29575:4;29581:2;29585:6;29559:15;:33::i;:::-;26420:3180;;26307:3293;;;;:::o;18059:191::-;18133:16;18152:6;;;;;;;;;;;18133:25;;18178:8;18169:6;;:17;;;;;;;;;;;;;;;;;;18233:8;18202:40;;18223:8;18202:40;;;;;;;;;;;;18122:128;18059:191;:::o;6516:185::-;6624:4;6665:6;6646:9;:16;6656:5;6646:16;;;;;;;;;;;;;;;:25;;;;6689:4;6682:11;;6516:185;;;;:::o;29608:477::-;29676:21;29714:1;29700:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29676:40;;29745:4;29727;29732:1;29727:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;29771:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29761:4;29766:1;29761:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;29806:62;29823:4;29838:15;;;;;;;;;;;29856:11;29806:8;:62::i;:::-;29881:15;;;;;;;;;;;:66;;;29962:11;29988:1;30004:4;30031;30051:15;29881:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29665:420;29608:477;:::o;4794:708::-;4941:1;4925:18;;:4;:18;;;;4917:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5018:1;5004:16;;:2;:16;;;;4996:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;5073:38;5094:4;5100:2;5104:6;5073:20;:38::i;:::-;5124:19;5146:9;:15;5156:4;5146:15;;;;;;;;;;;;;;;;5124:37;;5209:6;5194:11;:21;;5172:109;;;;;;;;;;;;:::i;:::-;;;;;;;;;5349:6;5335:11;:20;5317:9;:15;5327:4;5317:15;;;;;;;;;;;;;;;:38;;;;5394:6;5377:9;:13;5387:2;5377:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;5433:2;5418:26;;5427:4;5418:26;;;5437:6;5418:26;;;;;;:::i;:::-;;;;;;;;5457:37;5477:4;5483:2;5487:6;5457:19;:37::i;:::-;4906:596;4794:708;;;:::o;20108:98::-;20166:7;20197:1;20193;:5;;;;:::i;:::-;20186:12;;20108:98;;;;:::o;30472:1159::-;30512:23;30538:24;30556:4;30538:9;:24::i;:::-;30512:50;;30573:25;30623:17;;30601:19;;:39;;;;:::i;:::-;30573:67;;30676:1;30657:15;:20;30653:33;;;30679:7;;;;30653:33;30718:19;;30700:15;:37;30696:93;;;30770:19;;30752:37;;30696:93;30802:23;30916:1;30883:17;30847:19;;30829:15;:37;;;;:::i;:::-;30828:72;;;;:::i;:::-;:89;;;;:::i;:::-;30802:115;;30928:26;30957:36;30977:15;30957;:19;;:36;;;;:::i;:::-;30928:65;;31006:25;31034:21;31006:49;;31068:37;31086:18;31068:17;:37::i;:::-;31118:18;31139:44;31165:17;31139:21;:25;;:44;;;;:::i;:::-;31118:65;;31194:21;31218:80;31270:17;31218:33;31233:17;;31218:10;:14;;:33;;;;:::i;:::-;:37;;:80;;;;:::i;:::-;31194:104;;31309:23;31348:13;31335:10;:26;;;;:::i;:::-;31309:52;;31394:1;31374:17;:21;;;;31428:1;31406:19;:23;;;;31450:14;;;;;;;;;;;31442:32;;:47;31475:13;31442:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31524:1;31506:15;:19;:42;;;;;31547:1;31529:15;:19;31506:42;31502:122;;;31565:47;31579:15;31596;31565:13;:47::i;:::-;31502:122;30501:1130;;;;;;;;30472:1159;:::o;20002:98::-;20060:7;20091:1;20087;:5;;;;:::i;:::-;20080:12;;20002:98;;;;:::o;7607:125::-;;;;:::o;7740:124::-;;;;:::o;19896:98::-;19954:7;19985:1;19981;:5;;;;:::i;:::-;19974:12;;19896:98;;;;:::o;30093:371::-;30176:62;30193:4;30208:15;;;;;;;;;;;30226:11;30176:8;:62::i;:::-;30251:15;;;;;;;;;;;:31;;;30290:9;30323:4;30343:11;30369:1;30385;30401:14;;;;;;;;;;;30430:15;30251:205;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;30093:371;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:307::-;790:1;800:113;814:6;811:1;808:13;800:113;;;899:1;894:3;890:11;884:18;880:1;875:3;871:11;864:39;836:2;833:1;829:10;824:15;;800:113;;;931:6;928:1;925:13;922:101;;;1011:1;1002:6;997:3;993:16;986:27;922:101;771:258;722:307;;;:::o;1035:102::-;1076:6;1127:2;1123:7;1118:2;1111:5;1107:14;1103:28;1093:38;;1035:102;;;:::o;1143:364::-;1231:3;1259:39;1292:5;1259:39;:::i;:::-;1314:71;1378:6;1373:3;1314:71;:::i;:::-;1307:78;;1394:52;1439:6;1434:3;1427:4;1420:5;1416:16;1394:52;:::i;:::-;1471:29;1493:6;1471:29;:::i;:::-;1466:3;1462:39;1455:46;;1235:272;1143:364;;;;:::o;1513:313::-;1626:4;1664:2;1653:9;1649:18;1641:26;;1713:9;1707:4;1703:20;1699:1;1688:9;1684:17;1677:47;1741:78;1814:4;1805:6;1741:78;:::i;:::-;1733:86;;1513:313;;;;:::o;1913:117::-;2022:1;2019;2012:12;2159:126;2196:7;2236:42;2229:5;2225:54;2214:65;;2159:126;;;:::o;2291:96::-;2328:7;2357:24;2375:5;2357:24;:::i;:::-;2346:35;;2291:96;;;:::o;2393:122::-;2466:24;2484:5;2466:24;:::i;:::-;2459:5;2456:35;2446:63;;2505:1;2502;2495:12;2446:63;2393:122;:::o;2521:139::-;2567:5;2605:6;2592:20;2583:29;;2621:33;2648:5;2621:33;:::i;:::-;2521:139;;;;:::o;2666:122::-;2739:24;2757:5;2739:24;:::i;:::-;2732:5;2729:35;2719:63;;2778:1;2775;2768:12;2719:63;2666:122;:::o;2794:139::-;2840:5;2878:6;2865:20;2856:29;;2894:33;2921:5;2894:33;:::i;:::-;2794:139;;;;:::o;2939:474::-;3007:6;3015;3064:2;3052:9;3043:7;3039:23;3035:32;3032:119;;;3070:79;;:::i;:::-;3032:119;3190:1;3215:53;3260:7;3251:6;3240:9;3236:22;3215:53;:::i;:::-;3205:63;;3161:117;3317:2;3343:53;3388:7;3379:6;3368:9;3364:22;3343:53;:::i;:::-;3333:63;;3288:118;2939:474;;;;;:::o;3419:90::-;3453:7;3496:5;3489:13;3482:21;3471:32;;3419:90;;;:::o;3515:109::-;3596:21;3611:5;3596:21;:::i;:::-;3591:3;3584:34;3515:109;;:::o;3630:210::-;3717:4;3755:2;3744:9;3740:18;3732:26;;3768:65;3830:1;3819:9;3815:17;3806:6;3768:65;:::i;:::-;3630:210;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:::-;4548:6;4556;4564;4613:2;4601:9;4592:7;4588:23;4584:32;4581:119;;;4619:79;;:::i;:::-;4581:119;4739:1;4764:53;4809:7;4800:6;4789:9;4785:22;4764:53;:::i;:::-;4754:63;;4710:117;4866:2;4892:53;4937:7;4928:6;4917:9;4913:22;4892:53;:::i;:::-;4882:63;;4837:118;4994:2;5020:53;5065:7;5056:6;5045:9;5041:22;5020:53;:::i;:::-;5010:63;;4965:118;4471:619;;;;;:::o;5096:86::-;5131:7;5171:4;5164:5;5160:16;5149:27;;5096:86;;;:::o;5188:112::-;5271:22;5287:5;5271:22;:::i;:::-;5266:3;5259:35;5188:112;;:::o;5306:214::-;5395:4;5433:2;5422:9;5418:18;5410:26;;5446:67;5510:1;5499:9;5495:17;5486:6;5446:67;:::i;:::-;5306:214;;;;:::o;5526:329::-;5585:6;5634:2;5622:9;5613:7;5609:23;5605:32;5602:119;;;5640:79;;:::i;:::-;5602:119;5760:1;5785:53;5830:7;5821:6;5810:9;5806:22;5785:53;:::i;:::-;5775:63;;5731:117;5526:329;;;;:::o;5861:118::-;5948:24;5966:5;5948:24;:::i;:::-;5943:3;5936:37;5861:118;;:::o;5985:222::-;6078:4;6116:2;6105:9;6101:18;6093:26;;6129:71;6197:1;6186:9;6182:17;6173:6;6129:71;:::i;:::-;5985:222;;;;:::o;6213:116::-;6283:21;6298:5;6283:21;:::i;:::-;6276:5;6273:32;6263:60;;6319:1;6316;6309:12;6263:60;6213:116;:::o;6335:133::-;6378:5;6416:6;6403:20;6394:29;;6432:30;6456:5;6432:30;:::i;:::-;6335:133;;;;:::o;6474:323::-;6530:6;6579:2;6567:9;6558:7;6554:23;6550:32;6547:119;;;6585:79;;:::i;:::-;6547:119;6705:1;6730:50;6772:7;6763:6;6752:9;6748:22;6730:50;:::i;:::-;6720:60;;6676:114;6474:323;;;;:::o;6803:468::-;6868:6;6876;6925:2;6913:9;6904:7;6900:23;6896:32;6893:119;;;6931:79;;:::i;:::-;6893:119;7051:1;7076:53;7121:7;7112:6;7101:9;7097:22;7076:53;:::i;:::-;7066:63;;7022:117;7178:2;7204:50;7246:7;7237:6;7226:9;7222:22;7204:50;:::i;:::-;7194:60;;7149:115;6803:468;;;;;:::o;7277:474::-;7345:6;7353;7402:2;7390:9;7381:7;7377:23;7373:32;7370:119;;;7408:79;;:::i;:::-;7370:119;7528:1;7553:53;7598:7;7589:6;7578:9;7574:22;7553:53;:::i;:::-;7543:63;;7499:117;7655:2;7681:53;7726:7;7717:6;7706:9;7702:22;7681:53;:::i;:::-;7671:63;;7626:118;7277:474;;;;;:::o;7757:180::-;7805:77;7802:1;7795:88;7902:4;7899:1;7892:15;7926:4;7923:1;7916:15;7943:320;7987:6;8024:1;8018:4;8014:12;8004:22;;8071:1;8065:4;8061:12;8092:18;8082:81;;8148:4;8140:6;8136:17;8126:27;;8082:81;8210:2;8202:6;8199:14;8179:18;8176:38;8173:84;;;8229:18;;:::i;:::-;8173:84;7994:269;7943:320;;;:::o;8269:238::-;8409:34;8405:1;8397:6;8393:14;8386:58;8478:21;8473:2;8465:6;8461:15;8454:46;8269:238;:::o;8513:366::-;8655:3;8676:67;8740:2;8735:3;8676:67;:::i;:::-;8669:74;;8752:93;8841:3;8752:93;:::i;:::-;8870:2;8865:3;8861:12;8854:19;;8513:366;;;:::o;8885:419::-;9051:4;9089:2;9078:9;9074:18;9066:26;;9138:9;9132:4;9128:20;9124:1;9113:9;9109:17;9102:47;9166:131;9292:4;9166:131;:::i;:::-;9158:139;;8885:419;;;:::o;9310:180::-;9358:77;9355:1;9348:88;9455:4;9452:1;9445:15;9479:4;9476:1;9469:15;9496:305;9536:3;9555:20;9573:1;9555:20;:::i;:::-;9550:25;;9589:20;9607:1;9589:20;:::i;:::-;9584:25;;9743:1;9675:66;9671:74;9668:1;9665:81;9662:107;;;9749:18;;:::i;:::-;9662:107;9793:1;9790;9786:9;9779:16;;9496:305;;;;:::o;9807:182::-;9947:34;9943:1;9935:6;9931:14;9924:58;9807:182;:::o;9995:366::-;10137:3;10158:67;10222:2;10217:3;10158:67;:::i;:::-;10151:74;;10234:93;10323:3;10234:93;:::i;:::-;10352:2;10347:3;10343:12;10336:19;;9995:366;;;:::o;10367:419::-;10533:4;10571:2;10560:9;10556:18;10548:26;;10620:9;10614:4;10610:20;10606:1;10595:9;10591:17;10584:47;10648:131;10774:4;10648:131;:::i;:::-;10640:139;;10367:419;;;:::o;10792:224::-;10932:34;10928:1;10920:6;10916:14;10909:58;11001:7;10996:2;10988:6;10984:15;10977:32;10792:224;:::o;11022:366::-;11164:3;11185:67;11249:2;11244:3;11185:67;:::i;:::-;11178:74;;11261:93;11350:3;11261:93;:::i;:::-;11379:2;11374:3;11370:12;11363:19;;11022:366;;;:::o;11394:419::-;11560:4;11598:2;11587:9;11583:18;11575:26;;11647:9;11641:4;11637:20;11633:1;11622:9;11618:17;11611:47;11675:131;11801:4;11675:131;:::i;:::-;11667:139;;11394:419;;;:::o;11819:225::-;11959:34;11955:1;11947:6;11943:14;11936:58;12028:8;12023:2;12015:6;12011:15;12004:33;11819:225;:::o;12050:366::-;12192:3;12213:67;12277:2;12272:3;12213:67;:::i;:::-;12206:74;;12289:93;12378:3;12289:93;:::i;:::-;12407:2;12402:3;12398:12;12391:19;;12050:366;;;:::o;12422:419::-;12588:4;12626:2;12615:9;12611:18;12603:26;;12675:9;12669:4;12665:20;12661:1;12650:9;12646:17;12639:47;12703:131;12829:4;12703:131;:::i;:::-;12695:139;;12422:419;;;:::o;12847:143::-;12904:5;12935:6;12929:13;12920:22;;12951:33;12978:5;12951:33;:::i;:::-;12847:143;;;;:::o;12996:351::-;13066:6;13115:2;13103:9;13094:7;13090:23;13086:32;13083:119;;;13121:79;;:::i;:::-;13083:119;13241:1;13266:64;13322:7;13313:6;13302:9;13298:22;13266:64;:::i;:::-;13256:74;;13212:128;12996:351;;;;:::o;13353:332::-;13474:4;13512:2;13501:9;13497:18;13489:26;;13525:71;13593:1;13582:9;13578:17;13569:6;13525:71;:::i;:::-;13606:72;13674:2;13663:9;13659:18;13650:6;13606:72;:::i;:::-;13353:332;;;;;:::o;13691:85::-;13736:7;13765:5;13754:16;;13691:85;;;:::o;13782:60::-;13810:3;13831:5;13824:12;;13782:60;;;:::o;13848:158::-;13906:9;13939:61;13957:42;13966:32;13992:5;13966:32;:::i;:::-;13957:42;:::i;:::-;13939:61;:::i;:::-;13926:74;;13848:158;;;:::o;14012:147::-;14107:45;14146:5;14107:45;:::i;:::-;14102:3;14095:58;14012:147;;:::o;14165:807::-;14414:4;14452:3;14441:9;14437:19;14429:27;;14466:71;14534:1;14523:9;14519:17;14510:6;14466:71;:::i;:::-;14547:72;14615:2;14604:9;14600:18;14591:6;14547:72;:::i;:::-;14629:80;14705:2;14694:9;14690:18;14681:6;14629:80;:::i;:::-;14719;14795:2;14784:9;14780:18;14771:6;14719:80;:::i;:::-;14809:73;14877:3;14866:9;14862:19;14853:6;14809:73;:::i;:::-;14892;14960:3;14949:9;14945:19;14936:6;14892:73;:::i;:::-;14165:807;;;;;;;;;:::o;14978:143::-;15035:5;15066:6;15060:13;15051:22;;15082:33;15109:5;15082:33;:::i;:::-;14978:143;;;;:::o;15127:663::-;15215:6;15223;15231;15280:2;15268:9;15259:7;15255:23;15251:32;15248:119;;;15286:79;;:::i;:::-;15248:119;15406:1;15431:64;15487:7;15478:6;15467:9;15463:22;15431:64;:::i;:::-;15421:74;;15377:128;15544:2;15570:64;15626:7;15617:6;15606:9;15602:22;15570:64;:::i;:::-;15560:74;;15515:129;15683:2;15709:64;15765:7;15756:6;15745:9;15741:22;15709:64;:::i;:::-;15699:74;;15654:129;15127:663;;;;;:::o;15796:223::-;15936:34;15932:1;15924:6;15920:14;15913:58;16005:6;16000:2;15992:6;15988:15;15981:31;15796:223;:::o;16025:366::-;16167:3;16188:67;16252:2;16247:3;16188:67;:::i;:::-;16181:74;;16264:93;16353:3;16264:93;:::i;:::-;16382:2;16377:3;16373:12;16366:19;;16025:366;;;:::o;16397:419::-;16563:4;16601:2;16590:9;16586:18;16578:26;;16650:9;16644:4;16640:20;16636:1;16625:9;16621:17;16614:47;16678:131;16804:4;16678:131;:::i;:::-;16670:139;;16397:419;;;:::o;16822:221::-;16962:34;16958:1;16950:6;16946:14;16939:58;17031:4;17026:2;17018:6;17014:15;17007:29;16822:221;:::o;17049:366::-;17191:3;17212:67;17276:2;17271:3;17212:67;:::i;:::-;17205:74;;17288:93;17377:3;17288:93;:::i;:::-;17406:2;17401:3;17397:12;17390:19;;17049:366;;;:::o;17421:419::-;17587:4;17625:2;17614:9;17610:18;17602:26;;17674:9;17668:4;17664:20;17660:1;17649:9;17645:17;17638:47;17702:131;17828:4;17702:131;:::i;:::-;17694:139;;17421:419;;;:::o;17846:179::-;17986:31;17982:1;17974:6;17970:14;17963:55;17846:179;:::o;18031:366::-;18173:3;18194:67;18258:2;18253:3;18194:67;:::i;:::-;18187:74;;18270:93;18359:3;18270:93;:::i;:::-;18388:2;18383:3;18379:12;18372:19;;18031:366;;;:::o;18403:419::-;18569:4;18607:2;18596:9;18592:18;18584:26;;18656:9;18650:4;18646:20;18642:1;18631:9;18627:17;18620:47;18684:131;18810:4;18684:131;:::i;:::-;18676:139;;18403:419;;;:::o;18828:224::-;18968:34;18964:1;18956:6;18952:14;18945:58;19037:7;19032:2;19024:6;19020:15;19013:32;18828:224;:::o;19058:366::-;19200:3;19221:67;19285:2;19280:3;19221:67;:::i;:::-;19214:74;;19297:93;19386:3;19297:93;:::i;:::-;19415:2;19410:3;19406:12;19399:19;;19058:366;;;:::o;19430:419::-;19596:4;19634:2;19623:9;19619:18;19611:26;;19683:9;19677:4;19673:20;19669:1;19658:9;19654:17;19647:47;19711:131;19837:4;19711:131;:::i;:::-;19703:139;;19430:419;;;:::o;19855:222::-;19995:34;19991:1;19983:6;19979:14;19972:58;20064:5;20059:2;20051:6;20047:15;20040:30;19855:222;:::o;20083:366::-;20225:3;20246:67;20310:2;20305:3;20246:67;:::i;:::-;20239:74;;20322:93;20411:3;20322:93;:::i;:::-;20440:2;20435:3;20431:12;20424:19;;20083:366;;;:::o;20455:419::-;20621:4;20659:2;20648:9;20644:18;20636:26;;20708:9;20702:4;20698:20;20694:1;20683:9;20679:17;20672:47;20736:131;20862:4;20736:131;:::i;:::-;20728:139;;20455:419;;;:::o;20880:348::-;20920:7;20943:20;20961:1;20943:20;:::i;:::-;20938:25;;20977:20;20995:1;20977:20;:::i;:::-;20972:25;;21165:1;21097:66;21093:74;21090:1;21087:81;21082:1;21075:9;21068:17;21064:105;21061:131;;;21172:18;;:::i;:::-;21061:131;21220:1;21217;21213:9;21202:20;;20880:348;;;;:::o;21234:191::-;21274:4;21294:20;21312:1;21294:20;:::i;:::-;21289:25;;21328:20;21346:1;21328:20;:::i;:::-;21323:25;;21367:1;21364;21361:8;21358:34;;;21372:18;;:::i;:::-;21358:34;21417:1;21414;21410:9;21402:17;;21234:191;;;;:::o;21431:221::-;21571:34;21567:1;21559:6;21555:14;21548:58;21640:4;21635:2;21627:6;21623:15;21616:29;21431:221;:::o;21658:366::-;21800:3;21821:67;21885:2;21880:3;21821:67;:::i;:::-;21814:74;;21897:93;21986:3;21897:93;:::i;:::-;22015:2;22010:3;22006:12;21999:19;;21658:366;;;:::o;22030:419::-;22196:4;22234:2;22223:9;22219:18;22211:26;;22283:9;22277:4;22273:20;22269:1;22258:9;22254:17;22247:47;22311:131;22437:4;22311:131;:::i;:::-;22303:139;;22030:419;;;:::o;22455:289::-;22595:34;22591:1;22583:6;22579:14;22572:58;22664:34;22659:2;22651:6;22647:15;22640:59;22733:3;22728:2;22720:6;22716:15;22709:28;22455:289;:::o;22750:366::-;22892:3;22913:67;22977:2;22972:3;22913:67;:::i;:::-;22906:74;;22989:93;23078:3;22989:93;:::i;:::-;23107:2;23102:3;23098:12;23091:19;;22750:366;;;:::o;23122:419::-;23288:4;23326:2;23315:9;23311:18;23303:26;;23375:9;23369:4;23365:20;23361:1;23350:9;23346:17;23339:47;23403:131;23529:4;23403:131;:::i;:::-;23395:139;;23122:419;;;:::o;23547:181::-;23687:33;23683:1;23675:6;23671:14;23664:57;23547:181;:::o;23734:366::-;23876:3;23897:67;23961:2;23956:3;23897:67;:::i;:::-;23890:74;;23973:93;24062:3;23973:93;:::i;:::-;24091:2;24086:3;24082:12;24075:19;;23734:366;;;:::o;24106:419::-;24272:4;24310:2;24299:9;24295:18;24287:26;;24359:9;24353:4;24349:20;24345:1;24334:9;24330:17;24323:47;24387:131;24513:4;24387:131;:::i;:::-;24379:139;;24106:419;;;:::o;24531:290::-;24671:34;24667:1;24659:6;24655:14;24648:58;24740:34;24735:2;24727:6;24723:15;24716:59;24809:4;24804:2;24796:6;24792:15;24785:29;24531:290;:::o;24827:366::-;24969:3;24990:67;25054:2;25049:3;24990:67;:::i;:::-;24983:74;;25066:93;25155:3;25066:93;:::i;:::-;25184:2;25179:3;25175:12;25168:19;;24827:366;;;:::o;25199:419::-;25365:4;25403:2;25392:9;25388:18;25380:26;;25452:9;25446:4;25442:20;25438:1;25427:9;25423:17;25416:47;25480:131;25606:4;25480:131;:::i;:::-;25472:139;;25199:419;;;:::o;25624:180::-;25672:77;25669:1;25662:88;25769:4;25766:1;25759:15;25793:4;25790:1;25783:15;25810:185;25850:1;25867:20;25885:1;25867:20;:::i;:::-;25862:25;;25901:20;25919:1;25901:20;:::i;:::-;25896:25;;25940:1;25930:35;;25945:18;;:::i;:::-;25930:35;25987:1;25984;25980:9;25975:14;;25810:185;;;;:::o;26001:180::-;26049:77;26046:1;26039:88;26146:4;26143:1;26136:15;26170:4;26167:1;26160:15;26187:180;26235:77;26232:1;26225:88;26332:4;26329:1;26322:15;26356:4;26353:1;26346:15;26373:114;26440:6;26474:5;26468:12;26458:22;;26373:114;;;:::o;26493:184::-;26592:11;26626:6;26621:3;26614:19;26666:4;26661:3;26657:14;26642:29;;26493:184;;;;:::o;26683:132::-;26750:4;26773:3;26765:11;;26803:4;26798:3;26794:14;26786:22;;26683:132;;;:::o;26821:108::-;26898:24;26916:5;26898:24;:::i;:::-;26893:3;26886:37;26821:108;;:::o;26935:179::-;27004:10;27025:46;27067:3;27059:6;27025:46;:::i;:::-;27103:4;27098:3;27094:14;27080:28;;26935:179;;;;:::o;27120:113::-;27190:4;27222;27217:3;27213:14;27205:22;;27120:113;;;:::o;27269:732::-;27388:3;27417:54;27465:5;27417:54;:::i;:::-;27487:86;27566:6;27561:3;27487:86;:::i;:::-;27480:93;;27597:56;27647:5;27597:56;:::i;:::-;27676:7;27707:1;27692:284;27717:6;27714:1;27711:13;27692:284;;;27793:6;27787:13;27820:63;27879:3;27864:13;27820:63;:::i;:::-;27813:70;;27906:60;27959:6;27906:60;:::i;:::-;27896:70;;27752:224;27739:1;27736;27732:9;27727:14;;27692:284;;;27696:14;27992:3;27985:10;;27393:608;;;27269:732;;;;:::o;28007:831::-;28270:4;28308:3;28297:9;28293:19;28285:27;;28322:71;28390:1;28379:9;28375:17;28366:6;28322:71;:::i;:::-;28403:80;28479:2;28468:9;28464:18;28455:6;28403:80;:::i;:::-;28530:9;28524:4;28520:20;28515:2;28504:9;28500:18;28493:48;28558:108;28661:4;28652:6;28558:108;:::i;:::-;28550:116;;28676:72;28744:2;28733:9;28729:18;28720:6;28676:72;:::i;:::-;28758:73;28826:3;28815:9;28811:19;28802:6;28758:73;:::i;:::-;28007:831;;;;;;;;:::o;28844:225::-;28984:34;28980:1;28972:6;28968:14;28961:58;29053:8;29048:2;29040:6;29036:15;29029:33;28844:225;:::o;29075:366::-;29217:3;29238:67;29302:2;29297:3;29238:67;:::i;:::-;29231:74;;29314:93;29403:3;29314:93;:::i;:::-;29432:2;29427:3;29423:12;29416:19;;29075:366;;;:::o;29447:419::-;29613:4;29651:2;29640:9;29636:18;29628:26;;29700:9;29694:4;29690:20;29686:1;29675:9;29671:17;29664:47;29728:131;29854:4;29728:131;:::i;:::-;29720:139;;29447:419;;;:::o
Swarm Source
ipfs://e7d04fb0ee4186d88bd978fe20409219e89ea7b20135972d830f641f8c21806e
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.