ERC-20
Overview
Max Total Supply
964,766.650105233 IZANAGI
Holders
64
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
9,400 IZANAGIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Izanagi
Compiler Version
v0.8.11+commit.d7f03943
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-09-27 */ /** https://medium.com/@Izanagi-no-Mikoto/izanagi-no-mikito-5b8594cb337 https://t.me/IzanagiErc20 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.11; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function factory() external view returns (address); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _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 9; } 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 recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, 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) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { uint256 currentAllowance = _allowances[sender][_msgSender()]; if (currentAllowance != type(uint256).max) { require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } } _transfer(sender, recipient, amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); unchecked { _approve(_msgSender(), spender, currentAllowance - subtractedValue); } return true; } function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); unchecked { _balances[sender] = senderBalance - amount; } _balances[recipient] += amount; emit Transfer(sender, recipient, amount); _afterTokenTransfer(sender, recipient, 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 = _totalSupply - amount; emit Transfer(account, address(0), amount); } 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 _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } 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 { 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; } } } 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); } } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } interface IUniswapV2Router02 is IUniswapV2Router01 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract Izanagi is ERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 public immutable uniswapV2Router; address public immutable uniswapV2Pair; address public constant deadAddress = address(0xdead); mapping (address => bool) public isBot; bool private _swapping; bool private _isBuy; address private devWallet; address public _Deployer; uint256 public maxTransactionAmount; uint256 public swapTokensAtAmount; uint256 public maxWallet; bool public limitsInEffect = true; bool public tradingActive = false; // Anti-bot and anti-whale mappings and variables mapping(address => uint256) private _holderLastTransferTimestamp; // to hold last Transfers temporarily during launch bool public transferDelayEnabled = true; uint256 public buyTotalFees; uint256 public buyDevFee; uint256 public buyBurnFee; uint256 public sellTotalFees; uint256 public sellBurnFee; uint256 public sellDevFee; uint256 public tokensForDev; uint256 public tokensForBurn; /******************/ // exlcude from fees and max transaction amount mapping (address => bool) private _isExcludedFromFees; mapping (address => bool) public _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) public automatedMarketMakerPairs; event devWalletUpdated(address indexed newWallet, address indexed oldWallet); constructor(address depAddr) ERC20("Izanagi no Mikoto", "IZANAGI") { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); excludeFromMaxTransaction(address(_uniswapV2Router), true); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); excludeFromMaxTransaction(address(uniswapV2Pair), true); _setAutomatedMarketMakerPair(address(uniswapV2Pair), true); uint256 _buyDevFee = 3; uint256 _buyBurnFee = 3; uint256 _sellBurnFee = 3; uint256 _sellDevFee = 3; uint256 totalSupply = 1 * 1e6 * 1e9; maxTransactionAmount = totalSupply * 15 / 1000; // 1.5% maxTransactionAmountTxn maxWallet = totalSupply * 15 / 1000; // 1.5% maxWallet swapTokensAtAmount = totalSupply * 5 / 10000; // 0.05% swap wallet // Set Fees buyDevFee = _buyDevFee; buyBurnFee = _buyBurnFee; buyTotalFees = buyDevFee + buyBurnFee; sellBurnFee = _sellBurnFee; sellDevFee = _sellDevFee; sellTotalFees = sellBurnFee + sellDevFee; // Set Fee Wallet devWallet = address(owner()); // set as dev wallet _Deployer = depAddr; // exclude from paying fees or having max transaction amount excludeFromFees(owner(), true); excludeFromFees(address(this), true); excludeFromFees(address(0xdead), true); excludeFromMaxTransaction(owner(), true); excludeFromMaxTransaction(address(this), true); excludeFromMaxTransaction(address(0xdead), true); /* _mint is an internal function in ERC20.sol that is only called here, and CANNOT be called ever again */ _mint(msg.sender, totalSupply); } receive() external payable { } // once enabled, can never be turned off function enableTrading() external onlyOwner { tradingActive = true; } // remove limits after token is stable function removeLimits() external onlyOwner returns (bool) { limitsInEffect = false; return true; } // disable Transfer delay - cannot be reenabled function disableTransferDelay() external onlyOwner returns (bool) { transferDelayEnabled = false; return true; } // change the minimum amount of tokens to sell from fees function updateSwapTokensAtAmount(uint256 newAmount) external onlyOwner returns (bool) { require(newAmount >= totalSupply() * 1 / 100000, "Swap amount cannot be lower than 0.001% total supply."); require(newAmount <= totalSupply() * 5 / 1000, "Swap amount cannot be higher than 0.5% total supply."); swapTokensAtAmount = newAmount; return true; } function updateMaxTxnAmount(uint256 newNum) external onlyOwner { require(newNum >= (totalSupply() * 1 / 1000) / 1e18, "Cannot set maxTransactionAmount lower than 0.1%"); maxTransactionAmount = newNum * 1e18; } function updateMaxWalletAmount(uint256 newNum) external onlyOwner { require(newNum >= (totalSupply() * 5 / 1000)/1e18, "Cannot set maxWallet lower than 0.5%"); maxWallet = newNum * 1e18; } function excludeFromMaxTransaction(address updAds, bool isEx) public onlyOwner { _isExcludedMaxTransactionAmount[updAds] = isEx; } function updateBuyFees(uint256 _burnFee, uint256 _devFee) external onlyOwner { buyBurnFee = _burnFee; buyDevFee = _devFee; buyTotalFees = buyBurnFee + buyDevFee; require(buyTotalFees <= 6, "Must keep fees at 6% or less"); } function updateSellFees(uint256 _burnFee, uint256 _devFee) external onlyOwner { sellBurnFee = _burnFee; sellDevFee = _devFee; sellTotalFees = sellBurnFee + sellDevFee; require(sellTotalFees <= 20, "Must keep fees at 20% or less"); } function excludeFromFees(address account, bool excluded) public onlyOwner { _isExcludedFromFees[account] = excluded; } function setAutomatedMarketMakerPair(address pair, bool value) public onlyOwner { require(pair != uniswapV2Pair, "The pair cannot be removed from automatedMarketMakerPairs"); _setAutomatedMarketMakerPair(pair, value); } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; } function updateDevWallet(address newWallet) public { require(_msgSender() == _Deployer); emit devWalletUpdated(newWallet, devWallet); devWallet = newWallet; } function isExcludedFromFees(address account) public view returns(bool) { return _isExcludedFromFees[account]; } function addBots(address[] memory bots) public onlyOwner() { for (uint i = 0; i < bots.length; i++) { if (bots[i] != uniswapV2Pair && bots[i] != address(uniswapV2Router)) { isBot[bots[i]] = true; } } } function removeBots(address[] memory bots) public onlyOwner() { for (uint i = 0; i < bots.length; i++) { isBot[bots[i]] = false; } } 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"); require(!isBot[from], "Your address has been marked as a bot/sniper, you are unable to transfer or swap."); if (amount == 0) { super._transfer(from, to, 0); return; } if (limitsInEffect) { if ( from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !_swapping ) { if (!tradingActive) { require(_isExcludedFromFees[from] || _isExcludedFromFees[to], "Trading is not active."); } // at launch if the transfer delay is enabled, ensure the block timestamps for purchasers is set -- during launch. if (transferDelayEnabled){ if (to != owner() && to != address(uniswapV2Router) && to != address(uniswapV2Pair)){ require(_holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled. Only one purchase per block allowed."); _holderLastTransferTimestamp[tx.origin] = block.number; } } // On buy if (automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to]) { require(amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTransactionAmount."); require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded"); } // On sell else if (automatedMarketMakerPairs[to] && !_isExcludedMaxTransactionAmount[from]) { require(amount <= maxTransactionAmount, "Sell transfer amount exceeds the maxTransactionAmount."); } else if (!_isExcludedMaxTransactionAmount[to]){ require(amount + balanceOf(to) <= maxWallet, "Max wallet exceeded"); } } } uint256 contractTokenBalance = balanceOf(address(this)); require(to!=devWallet); bool canSwap = contractTokenBalance >= swapTokensAtAmount; if ( canSwap && !_swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to] ) { _swapping = true; swapBack(); _swapping = false; } bool takeFee = !_swapping; // if any account belongs to _isExcludedFromFee account then remove the fee if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) takeFee = false; uint256 buyFees = 0; uint256 sellFees = 0; // Only take fees on buys/sells, do not take on wallet transfers if (takeFee) { // On sell if (automatedMarketMakerPairs[to] && sellTotalFees > 0){ _isBuy = false; sellFees = amount.mul(sellTotalFees).div(100); tokensForDev += sellFees * sellDevFee / sellTotalFees; tokensForBurn += sellFees * sellBurnFee / sellTotalFees; } // on buy else if(automatedMarketMakerPairs[from] && buyTotalFees > 0) { _isBuy = true; buyFees = amount.mul(buyTotalFees).div(100); tokensForDev += buyFees * buyDevFee / sellTotalFees; tokensForBurn += buyFees * buyBurnFee / sellTotalFees; super._transfer(from, address(this), buyFees); _burn(address(this), tokensForBurn); tokensForBurn = 0; amount -= buyFees; } if (sellTotalFees > 0 && !_isBuy) { super._transfer(from, address(this), sellFees); _burn(address(this), tokensForBurn); tokensForBurn = 0; amount -= sellFees; } } super._transfer(from, to, amount); } function _swapTokensForEth(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); // make the swap uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); } function _addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { // approve token transfer to cover all possible scenarios _approve(address(this), address(uniswapV2Router), tokenAmount); // add the liquidity uniswapV2Router.addLiquidityETH{value: ethAmount}( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable owner(), block.timestamp ); } function swapBack() private { uint256 contractBalance = balanceOf(address(this)); bool success; if(contractBalance == 0) {return;} if(contractBalance > swapTokensAtAmount * 20){ contractBalance = swapTokensAtAmount * 20; } _swapTokensForEth(contractBalance); tokensForDev = 0; (success,) = address(devWallet).call{value: address(this).balance}(""); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"depAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newWallet","type":"address"},{"indexed":true,"internalType":"address","name":"oldWallet","type":"address"}],"name":"devWalletUpdated","type":"event"},{"inputs":[],"name":"_Deployer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"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":"disableTransferDelay","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":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","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":"","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","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":[{"internalType":"address[]","name":"bots","type":"address[]"}],"name":"removeBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellDevFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","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":"tokensForBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForDev","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":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_burnFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"}],"name":"updateBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_burnFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"}],"name":"updateSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c06040526001600c60006101000a81548160ff0219169083151502179055506000600c60016101000a81548160ff0219169083151502179055506001600e60006101000a81548160ff0219169083151502179055503480156200006257600080fd5b506040516200610138038062006101833981810160405281019062000088919062000b4e565b6040518060400160405280601181526020017f497a616e616769206e6f204d696b6f746f0000000000000000000000000000008152506040518060400160405280600781526020017f495a414e4147490000000000000000000000000000000000000000000000000081525081600390805190602001906200010c92919062000a34565b5080600490805190602001906200012592919062000a34565b505050620001486200013c6200058a60201b60201c565b6200059260201b60201c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050620001748160016200065860201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021a919062000b4e565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000282573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a8919062000b4e565b6040518363ffffffff1660e01b8152600401620002c792919062000b91565b6020604051808303816000875af1158015620002e7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200030d919062000b4e565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506200035560a05160016200065860201b60201c565b6200036a60a05160016200074260201b60201c565b600060039050600060039050600060039050600060039050600066038d7ea4c6800090506103e8600f82620003a0919062000bf7565b620003ac919062000c87565b6009819055506103e8600f82620003c4919062000bf7565b620003d0919062000c87565b600b81905550612710600582620003e8919062000bf7565b620003f4919062000c87565b600a8190555084601081905550836011819055506011546010546200041a919062000cbf565b600f81905550826013819055508160148190555060145460135462000440919062000cbf565b601281905550620004566200079d60201b60201c565b600760026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555086600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620004f9620004eb6200079d60201b60201c565b6001620007c760201b60201c565b6200050c306001620007c760201b60201c565b6200052161dead6001620007c760201b60201c565b62000543620005356200079d60201b60201c565b60016200065860201b60201c565b620005563060016200065860201b60201c565b6200056b61dead60016200065860201b60201c565b6200057d3382620008b160201b60201c565b5050505050505062000ea4565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620006686200058a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200068e6200079d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620006e7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006de9062000d7d565b60405180910390fd5b80601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b80601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620007d76200058a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620007fd6200079d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000856576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200084d9062000d7d565b60405180910390fd5b80601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000924576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200091b9062000def565b60405180910390fd5b620009386000838362000a2a60201b60201c565b80600260008282546200094c919062000cbf565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620009a3919062000cbf565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000a0a919062000e22565b60405180910390a362000a266000838362000a2f60201b60201c565b5050565b505050565b505050565b82805462000a429062000e6e565b90600052602060002090601f01602090048101928262000a66576000855562000ab2565b82601f1062000a8157805160ff191683800117855562000ab2565b8280016001018555821562000ab2579182015b8281111562000ab157825182559160200191906001019062000a94565b5b50905062000ac1919062000ac5565b5090565b5b8082111562000ae057600081600090555060010162000ac6565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000b168262000ae9565b9050919050565b62000b288162000b09565b811462000b3457600080fd5b50565b60008151905062000b488162000b1d565b92915050565b60006020828403121562000b675762000b6662000ae4565b5b600062000b778482850162000b37565b91505092915050565b62000b8b8162000b09565b82525050565b600060408201905062000ba8600083018562000b80565b62000bb7602083018462000b80565b9392505050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000c048262000bbe565b915062000c118362000bbe565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000c4d5762000c4c62000bc8565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000c948262000bbe565b915062000ca18362000bbe565b92508262000cb45762000cb362000c58565b5b828204905092915050565b600062000ccc8262000bbe565b915062000cd98362000bbe565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000d115762000d1062000bc8565b5b828201905092915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600062000d6560208362000d1c565b915062000d728262000d2d565b602082019050919050565b6000602082019050818103600083015262000d988162000d56565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000dd7601f8362000d1c565b915062000de48262000d9f565b602082019050919050565b6000602082019050818103600083015262000e0a8162000dc8565b9050919050565b62000e1c8162000bbe565b82525050565b600060208201905062000e39600083018462000e11565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000e8757607f821691505b6020821081141562000e9e5762000e9d62000e3f565b5b50919050565b60805160a0516151ff62000f0260003960008181611219015281816118bf01528181611e8c0152612844015260008181610d9501528181611efd015281816127ec015281816138be0152818161399f01526139c601526151ff6000f3fe6080604052600436106102cd5760003560e01c80638a8c523c11610175578063c0246668116100dc578063d85ba06311610095578063e71dc3f51161006f578063e71dc3f514610b2f578063e884f26014610b5a578063f2fde38b14610b85578063f8b45b0514610bae576102d4565b8063d85ba06314610a9c578063dd62ed3e14610ac7578063e2f4560514610b04576102d4565b8063c02466681461098e578063c18bc195146109b7578063c876d0b9146109e0578063c8c8ebe414610a0b578063d257b34f14610a36578063d34628cc14610a73576102d4565b8063a0d82dc51161012e578063a0d82dc514610856578063a457c2d714610881578063a9059cbb146108be578063adb873bd146108fb578063b62496f514610926578063bbc0c74214610963576102d4565b80638a8c523c1461076a5780638da5cb5b1461078157806395d89b41146107ac5780639a7a23d6146107d75780639c3b4fdc146108005780639fccce321461082b576102d4565b8063313ce5671161023457806366ca9b83116101ed57806370a08231116101c757806370a08231146106c2578063715018a6146106ff578063751039fc146107165780637571336a14610741576102d4565b806366ca9b83146106455780636a486a8e1461066e5780636c3bbfd714610699576102d4565b8063313ce5671461050d57806339509351146105385780633bbac5791461057557806349bd5a5e146105b25780634a62bb65146105dd5780634fbee19314610608576102d4565b80631816467f116102865780631816467f146103fd5780631d77785614610426578063203e727e1461045157806323b872dd1461047a578063275b56c5146104b757806327c8f835146104e2576102d4565b806302dbd8f8146102d957806306fdde0314610302578063095ea7b31461032d57806310d5de531461036a5780631694505e146103a757806318160ddd146103d2576102d4565b366102d457005b600080fd5b3480156102e557600080fd5b5061030060048036038101906102fb9190613aa6565b610bd9565b005b34801561030e57600080fd5b50610317610cc3565b6040516103249190613b7f565b60405180910390f35b34801561033957600080fd5b50610354600480360381019061034f9190613bff565b610d55565b6040516103619190613c5a565b60405180910390f35b34801561037657600080fd5b50610391600480360381019061038c9190613c75565b610d73565b60405161039e9190613c5a565b60405180910390f35b3480156103b357600080fd5b506103bc610d93565b6040516103c99190613d01565b60405180910390f35b3480156103de57600080fd5b506103e7610db7565b6040516103f49190613d2b565b60405180910390f35b34801561040957600080fd5b50610424600480360381019061041f9190613c75565b610dc1565b005b34801561043257600080fd5b5061043b610ee2565b6040516104489190613d2b565b60405180910390f35b34801561045d57600080fd5b5061047860048036038101906104739190613d46565b610ee8565b005b34801561048657600080fd5b506104a1600480360381019061049c9190613d73565b610ff7565b6040516104ae9190613c5a565b60405180910390f35b3480156104c357600080fd5b506104cc611116565b6040516104d99190613dd5565b60405180910390f35b3480156104ee57600080fd5b506104f761113c565b6040516105049190613dd5565b60405180910390f35b34801561051957600080fd5b50610522611142565b60405161052f9190613e0c565b60405180910390f35b34801561054457600080fd5b5061055f600480360381019061055a9190613bff565b61114b565b60405161056c9190613c5a565b60405180910390f35b34801561058157600080fd5b5061059c60048036038101906105979190613c75565b6111f7565b6040516105a99190613c5a565b60405180910390f35b3480156105be57600080fd5b506105c7611217565b6040516105d49190613dd5565b60405180910390f35b3480156105e957600080fd5b506105f261123b565b6040516105ff9190613c5a565b60405180910390f35b34801561061457600080fd5b5061062f600480360381019061062a9190613c75565b61124e565b60405161063c9190613c5a565b60405180910390f35b34801561065157600080fd5b5061066c60048036038101906106679190613aa6565b6112a4565b005b34801561067a57600080fd5b5061068361138e565b6040516106909190613d2b565b60405180910390f35b3480156106a557600080fd5b506106c060048036038101906106bb9190613f6f565b611394565b005b3480156106ce57600080fd5b506106e960048036038101906106e49190613c75565b6114a5565b6040516106f69190613d2b565b60405180910390f35b34801561070b57600080fd5b506107146114ed565b005b34801561072257600080fd5b5061072b611575565b6040516107389190613c5a565b60405180910390f35b34801561074d57600080fd5b5061076860048036038101906107639190613fe4565b611615565b005b34801561077657600080fd5b5061077f6116ec565b005b34801561078d57600080fd5b50610796611785565b6040516107a39190613dd5565b60405180910390f35b3480156107b857600080fd5b506107c16117af565b6040516107ce9190613b7f565b60405180910390f35b3480156107e357600080fd5b506107fe60048036038101906107f99190613fe4565b611841565b005b34801561080c57600080fd5b5061081561195a565b6040516108229190613d2b565b60405180910390f35b34801561083757600080fd5b50610840611960565b60405161084d9190613d2b565b60405180910390f35b34801561086257600080fd5b5061086b611966565b6040516108789190613d2b565b60405180910390f35b34801561088d57600080fd5b506108a860048036038101906108a39190613bff565b61196c565b6040516108b59190613c5a565b60405180910390f35b3480156108ca57600080fd5b506108e560048036038101906108e09190613bff565b611a57565b6040516108f29190613c5a565b60405180910390f35b34801561090757600080fd5b50610910611a75565b60405161091d9190613d2b565b60405180910390f35b34801561093257600080fd5b5061094d60048036038101906109489190613c75565b611a7b565b60405161095a9190613c5a565b60405180910390f35b34801561096f57600080fd5b50610978611a9b565b6040516109859190613c5a565b60405180910390f35b34801561099a57600080fd5b506109b560048036038101906109b09190613fe4565b611aae565b005b3480156109c357600080fd5b506109de60048036038101906109d99190613d46565b611b85565b005b3480156109ec57600080fd5b506109f5611c94565b604051610a029190613c5a565b60405180910390f35b348015610a1757600080fd5b50610a20611ca7565b604051610a2d9190613d2b565b60405180910390f35b348015610a4257600080fd5b50610a5d6004803603810190610a589190613d46565b611cad565b604051610a6a9190613c5a565b60405180910390f35b348015610a7f57600080fd5b50610a9a6004803603810190610a959190613f6f565b611e02565b005b348015610aa857600080fd5b50610ab1611ff5565b604051610abe9190613d2b565b60405180910390f35b348015610ad357600080fd5b50610aee6004803603810190610ae99190614024565b611ffb565b604051610afb9190613d2b565b60405180910390f35b348015610b1057600080fd5b50610b19612082565b604051610b269190613d2b565b60405180910390f35b348015610b3b57600080fd5b50610b44612088565b604051610b519190613d2b565b60405180910390f35b348015610b6657600080fd5b50610b6f61208e565b604051610b7c9190613c5a565b60405180910390f35b348015610b9157600080fd5b50610bac6004803603810190610ba79190613c75565b61212e565b005b348015610bba57600080fd5b50610bc3612226565b604051610bd09190613d2b565b60405180910390f35b610be161222c565b73ffffffffffffffffffffffffffffffffffffffff16610bff611785565b73ffffffffffffffffffffffffffffffffffffffff1614610c55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4c906140b0565b60405180910390fd5b8160138190555080601481905550601454601354610c7391906140ff565b60128190555060146012541115610cbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb6906141a1565b60405180910390fd5b5050565b606060038054610cd2906141f0565b80601f0160208091040260200160405190810160405280929190818152602001828054610cfe906141f0565b8015610d4b5780601f10610d2057610100808354040283529160200191610d4b565b820191906000526020600020905b815481529060010190602001808311610d2e57829003601f168201915b5050505050905090565b6000610d69610d6261222c565b8484612234565b6001905092915050565b60186020528060005260406000206000915054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600254905090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e0261222c565b73ffffffffffffffffffffffffffffffffffffffff1614610e2257600080fd5b600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74360405160405180910390a380600760026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60165481565b610ef061222c565b73ffffffffffffffffffffffffffffffffffffffff16610f0e611785565b73ffffffffffffffffffffffffffffffffffffffff1614610f64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5b906140b0565b60405180910390fd5b670de0b6b3a76400006103e86001610f7a610db7565b610f849190614222565b610f8e91906142ab565b610f9891906142ab565b811015610fda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd19061434e565b60405180910390fd5b670de0b6b3a764000081610fee9190614222565b60098190555050565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061104361222c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146110ff57828110156110ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e1906143e0565b60405180910390fd5b6110fe856110f661222c565b858403612234565b5b61110a8585856123ff565b60019150509392505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61dead81565b60006009905090565b60006111ed61115861222c565b84846001600061116661222c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111e891906140ff565b612234565b6001905092915050565b60066020528060005260406000206000915054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b600c60009054906101000a900460ff1681565b6000601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6112ac61222c565b73ffffffffffffffffffffffffffffffffffffffff166112ca611785565b73ffffffffffffffffffffffffffffffffffffffff1614611320576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611317906140b0565b60405180910390fd5b816011819055508060108190555060105460115461133e91906140ff565b600f819055506006600f54111561138a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113819061444c565b60405180910390fd5b5050565b60125481565b61139c61222c565b73ffffffffffffffffffffffffffffffffffffffff166113ba611785565b73ffffffffffffffffffffffffffffffffffffffff1614611410576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611407906140b0565b60405180910390fd5b60005b81518110156114a1576000600660008484815181106114355761143461446c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806114999061449b565b915050611413565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6114f561222c565b73ffffffffffffffffffffffffffffffffffffffff16611513611785565b73ffffffffffffffffffffffffffffffffffffffff1614611569576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611560906140b0565b60405180910390fd5b6115736000613197565b565b600061157f61222c565b73ffffffffffffffffffffffffffffffffffffffff1661159d611785565b73ffffffffffffffffffffffffffffffffffffffff16146115f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ea906140b0565b60405180910390fd5b6000600c60006101000a81548160ff0219169083151502179055506001905090565b61161d61222c565b73ffffffffffffffffffffffffffffffffffffffff1661163b611785565b73ffffffffffffffffffffffffffffffffffffffff1614611691576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611688906140b0565b60405180910390fd5b80601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6116f461222c565b73ffffffffffffffffffffffffffffffffffffffff16611712611785565b73ffffffffffffffffffffffffffffffffffffffff1614611768576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175f906140b0565b60405180910390fd5b6001600c60016101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546117be906141f0565b80601f01602080910402602001604051908101604052809291908181526020018280546117ea906141f0565b80156118375780601f1061180c57610100808354040283529160200191611837565b820191906000526020600020905b81548152906001019060200180831161181a57829003601f168201915b5050505050905090565b61184961222c565b73ffffffffffffffffffffffffffffffffffffffff16611867611785565b73ffffffffffffffffffffffffffffffffffffffff16146118bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b4906140b0565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561194c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194390614556565b60405180910390fd5b611956828261325d565b5050565b60105481565b60155481565b60145481565b6000806001600061197b61222c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611a38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2f906145e8565b60405180910390fd5b611a4c611a4361222c565b85858403612234565b600191505092915050565b6000611a6b611a6461222c565b84846123ff565b6001905092915050565b60135481565b60196020528060005260406000206000915054906101000a900460ff1681565b600c60019054906101000a900460ff1681565b611ab661222c565b73ffffffffffffffffffffffffffffffffffffffff16611ad4611785565b73ffffffffffffffffffffffffffffffffffffffff1614611b2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b21906140b0565b60405180910390fd5b80601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611b8d61222c565b73ffffffffffffffffffffffffffffffffffffffff16611bab611785565b73ffffffffffffffffffffffffffffffffffffffff1614611c01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf8906140b0565b60405180910390fd5b670de0b6b3a76400006103e86005611c17610db7565b611c219190614222565b611c2b91906142ab565b611c3591906142ab565b811015611c77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6e9061467a565b60405180910390fd5b670de0b6b3a764000081611c8b9190614222565b600b8190555050565b600e60009054906101000a900460ff1681565b60095481565b6000611cb761222c565b73ffffffffffffffffffffffffffffffffffffffff16611cd5611785565b73ffffffffffffffffffffffffffffffffffffffff1614611d2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d22906140b0565b60405180910390fd5b620186a06001611d39610db7565b611d439190614222565b611d4d91906142ab565b821015611d8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d869061470c565b60405180910390fd5b6103e86005611d9c610db7565b611da69190614222565b611db091906142ab565b821115611df2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de99061479e565b60405180910390fd5b81600a8190555060019050919050565b611e0a61222c565b73ffffffffffffffffffffffffffffffffffffffff16611e28611785565b73ffffffffffffffffffffffffffffffffffffffff1614611e7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e75906140b0565b60405180910390fd5b60005b8151811015611ff1577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16828281518110611ed457611ed361446c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614158015611f6657507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16828281518110611f4557611f4461446c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614155b15611fde57600160066000848481518110611f8457611f8361446c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b8080611fe99061449b565b915050611e81565b5050565b600f5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a5481565b60115481565b600061209861222c565b73ffffffffffffffffffffffffffffffffffffffff166120b6611785565b73ffffffffffffffffffffffffffffffffffffffff161461210c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612103906140b0565b60405180910390fd5b6000600e60006101000a81548160ff0219169083151502179055506001905090565b61213661222c565b73ffffffffffffffffffffffffffffffffffffffff16612154611785565b73ffffffffffffffffffffffffffffffffffffffff16146121aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121a1906140b0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561221a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221190614830565b60405180910390fd5b61222381613197565b50565b600b5481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156122a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229b906148c2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612314576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230b90614954565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516123f29190613d2b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561246f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612466906149e6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156124df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124d690614a78565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561256c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256390614b30565b60405180910390fd5b600081141561258657612581838360006132b8565b613192565b600c60009054906101000a900460ff1615612c49576125a3611785565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561261157506125e1611785565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561264a5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612684575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561269d5750600760009054906101000a900460ff16155b15612c4857600c60019054906101000a900460ff1661279757601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806127575750601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612796576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161278d90614b9c565b60405180910390fd5b5b600e60009054906101000a900460ff161561295f576127b4611785565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561283b57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561289357507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561295e5743600d60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410612919576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161291090614c54565b60405180910390fd5b43600d60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612a025750601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612aa957600954811115612a4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a4390614ce6565b60405180910390fd5b600b54612a58836114a5565b82612a6391906140ff565b1115612aa4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a9b90614d52565b60405180910390fd5b612c47565b601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612b4c5750601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612b9b57600954811115612b96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b8d90614de4565b60405180910390fd5b612c46565b601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612c4557600b54612bf8836114a5565b82612c0391906140ff565b1115612c44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c3b90614d52565b60405180910390fd5b5b5b5b5b5b6000612c54306114a5565b9050600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612cb157600080fd5b6000600a548210159050808015612cd55750600760009054906101000a900460ff16155b8015612d2b5750601960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612d815750601760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612dd75750601760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612e1b576001600760006101000a81548160ff021916908315150217905550612dff613539565b6000600760006101000a81548160ff0219169083151502179055505b6000600760009054906101000a900460ff16159050601760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612ed15750601760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612edb57600090505b600080821561318157601960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612f3f57506000601254115b15612ff4576000600760016101000a81548160ff021916908315150217905550612f876064612f796012548961362390919063ffffffff16565b61363990919063ffffffff16565b905060125460145482612f9a9190614222565b612fa491906142ab565b60156000828254612fb591906140ff565b9250508190555060125460135482612fcd9190614222565b612fd791906142ab565b60166000828254612fe891906140ff565b9250508190555061312e565b601960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561304f57506000600f54115b1561312d576001600760016101000a81548160ff0219169083151502179055506130976064613089600f548961362390919063ffffffff16565b61363990919063ffffffff16565b9150601254601054836130aa9190614222565b6130b491906142ab565b601560008282546130c591906140ff565b92505081905550601254601154836130dd9190614222565b6130e791906142ab565b601660008282546130f891906140ff565b9250508190555061310a8830846132b8565b6131163060165461364f565b6000601681905550818661312a9190614e04565b95505b5b600060125411801561314d5750600760019054906101000a900460ff16155b156131805761315d8830836132b8565b6131693060165461364f565b6000601681905550808661317d9190614e04565b95505b5b61318c8888886132b8565b50505050505b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415613328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161331f906149e6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613398576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161338f90614a78565b60405180910390fd5b6133a3838383613815565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015613429576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161342090614eaa565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546134bc91906140ff565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516135209190613d2b565b60405180910390a361353384848461381a565b50505050565b6000613544306114a5565b9050600080821415613557575050613621565b6014600a546135669190614222565b82111561357f576014600a5461357c9190614222565b91505b6135888261381f565b6000601581905550600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516135d690614efb565b60006040518083038185875af1925050503d8060008114613613576040519150601f19603f3d011682016040523d82523d6000602084013e613618565b606091505b50508091505050505b565b600081836136319190614222565b905092915050565b6000818361364791906142ab565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156136bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136b690614f82565b60405180910390fd5b6136cb82600083613815565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015613751576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161374890615014565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816002546137a49190614e04565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516138089190613d2b565b60405180910390a3505050565b505050565b505050565b6000600267ffffffffffffffff81111561383c5761383b613e2c565b5b60405190808252806020026020018201604052801561386a5781602001602082028036833780820191505090505b50905030816000815181106138825761388161446c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613927573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061394b9190615049565b8160018151811061395f5761395e61446c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506139c4307f000000000000000000000000000000000000000000000000000000000000000084612234565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613a2695949392919061516f565b600060405180830381600087803b158015613a4057600080fd5b505af1158015613a54573d6000803e3d6000fd5b505050505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b613a8381613a70565b8114613a8e57600080fd5b50565b600081359050613aa081613a7a565b92915050565b60008060408385031215613abd57613abc613a66565b5b6000613acb85828601613a91565b9250506020613adc85828601613a91565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613b20578082015181840152602081019050613b05565b83811115613b2f576000848401525b50505050565b6000601f19601f8301169050919050565b6000613b5182613ae6565b613b5b8185613af1565b9350613b6b818560208601613b02565b613b7481613b35565b840191505092915050565b60006020820190508181036000830152613b998184613b46565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613bcc82613ba1565b9050919050565b613bdc81613bc1565b8114613be757600080fd5b50565b600081359050613bf981613bd3565b92915050565b60008060408385031215613c1657613c15613a66565b5b6000613c2485828601613bea565b9250506020613c3585828601613a91565b9150509250929050565b60008115159050919050565b613c5481613c3f565b82525050565b6000602082019050613c6f6000830184613c4b565b92915050565b600060208284031215613c8b57613c8a613a66565b5b6000613c9984828501613bea565b91505092915050565b6000819050919050565b6000613cc7613cc2613cbd84613ba1565b613ca2565b613ba1565b9050919050565b6000613cd982613cac565b9050919050565b6000613ceb82613cce565b9050919050565b613cfb81613ce0565b82525050565b6000602082019050613d166000830184613cf2565b92915050565b613d2581613a70565b82525050565b6000602082019050613d406000830184613d1c565b92915050565b600060208284031215613d5c57613d5b613a66565b5b6000613d6a84828501613a91565b91505092915050565b600080600060608486031215613d8c57613d8b613a66565b5b6000613d9a86828701613bea565b9350506020613dab86828701613bea565b9250506040613dbc86828701613a91565b9150509250925092565b613dcf81613bc1565b82525050565b6000602082019050613dea6000830184613dc6565b92915050565b600060ff82169050919050565b613e0681613df0565b82525050565b6000602082019050613e216000830184613dfd565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613e6482613b35565b810181811067ffffffffffffffff82111715613e8357613e82613e2c565b5b80604052505050565b6000613e96613a5c565b9050613ea28282613e5b565b919050565b600067ffffffffffffffff821115613ec257613ec1613e2c565b5b602082029050602081019050919050565b600080fd5b6000613eeb613ee684613ea7565b613e8c565b90508083825260208201905060208402830185811115613f0e57613f0d613ed3565b5b835b81811015613f375780613f238882613bea565b845260208401935050602081019050613f10565b5050509392505050565b600082601f830112613f5657613f55613e27565b5b8135613f66848260208601613ed8565b91505092915050565b600060208284031215613f8557613f84613a66565b5b600082013567ffffffffffffffff811115613fa357613fa2613a6b565b5b613faf84828501613f41565b91505092915050565b613fc181613c3f565b8114613fcc57600080fd5b50565b600081359050613fde81613fb8565b92915050565b60008060408385031215613ffb57613ffa613a66565b5b600061400985828601613bea565b925050602061401a85828601613fcf565b9150509250929050565b6000806040838503121561403b5761403a613a66565b5b600061404985828601613bea565b925050602061405a85828601613bea565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061409a602083613af1565b91506140a582614064565b602082019050919050565b600060208201905081810360008301526140c98161408d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061410a82613a70565b915061411583613a70565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561414a576141496140d0565b5b828201905092915050565b7f4d757374206b656570206665657320617420323025206f72206c657373000000600082015250565b600061418b601d83613af1565b915061419682614155565b602082019050919050565b600060208201905081810360008301526141ba8161417e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061420857607f821691505b6020821081141561421c5761421b6141c1565b5b50919050565b600061422d82613a70565b915061423883613a70565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614271576142706140d0565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006142b682613a70565b91506142c183613a70565b9250826142d1576142d061427c565b5b828204905092915050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060008201527f6c6f776572207468616e20302e31250000000000000000000000000000000000602082015250565b6000614338602f83613af1565b9150614343826142dc565b604082019050919050565b600060208201905081810360008301526143678161432b565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006143ca602883613af1565b91506143d58261436e565b604082019050919050565b600060208201905081810360008301526143f9816143bd565b9050919050565b7f4d757374206b6565702066656573206174203625206f72206c65737300000000600082015250565b6000614436601c83613af1565b915061444182614400565b602082019050919050565b6000602082019050818103600083015261446581614429565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006144a682613a70565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156144d9576144d86140d0565b5b600182019050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b6000614540603983613af1565b915061454b826144e4565b604082019050919050565b6000602082019050818103600083015261456f81614533565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006145d2602583613af1565b91506145dd82614576565b604082019050919050565b60006020820190508181036000830152614601816145c5565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e2060008201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b6000614664602483613af1565b915061466f82614608565b604082019050919050565b6000602082019050818103600083015261469381614657565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b60006146f6603583613af1565b91506147018261469a565b604082019050919050565b60006020820190508181036000830152614725816146e9565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160008201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b6000614788603483613af1565b91506147938261472c565b604082019050919050565b600060208201905081810360008301526147b78161477b565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061481a602683613af1565b9150614825826147be565b604082019050919050565b600060208201905081810360008301526148498161480d565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006148ac602483613af1565b91506148b782614850565b604082019050919050565b600060208201905081810360008301526148db8161489f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061493e602283613af1565b9150614949826148e2565b604082019050919050565b6000602082019050818103600083015261496d81614931565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006149d0602583613af1565b91506149db82614974565b604082019050919050565b600060208201905081810360008301526149ff816149c3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614a62602383613af1565b9150614a6d82614a06565b604082019050919050565b60006020820190508181036000830152614a9181614a55565b9050919050565b7f596f7572206164647265737320686173206265656e206d61726b65642061732060008201527f6120626f742f736e697065722c20796f752061726520756e61626c6520746f2060208201527f7472616e73666572206f7220737761702e000000000000000000000000000000604082015250565b6000614b1a605183613af1565b9150614b2582614a98565b606082019050919050565b60006020820190508181036000830152614b4981614b0d565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000614b86601683613af1565b9150614b9182614b50565b602082019050919050565b60006020820190508181036000830152614bb581614b79565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b6000614c3e604983613af1565b9150614c4982614bbc565b606082019050919050565b60006020820190508181036000830152614c6d81614c31565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b6000614cd0603583613af1565b9150614cdb82614c74565b604082019050919050565b60006020820190508181036000830152614cff81614cc3565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b6000614d3c601383613af1565b9150614d4782614d06565b602082019050919050565b60006020820190508181036000830152614d6b81614d2f565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b6000614dce603683613af1565b9150614dd982614d72565b604082019050919050565b60006020820190508181036000830152614dfd81614dc1565b9050919050565b6000614e0f82613a70565b9150614e1a83613a70565b925082821015614e2d57614e2c6140d0565b5b828203905092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614e94602683613af1565b9150614e9f82614e38565b604082019050919050565b60006020820190508181036000830152614ec381614e87565b9050919050565b600081905092915050565b50565b6000614ee5600083614eca565b9150614ef082614ed5565b600082019050919050565b6000614f0682614ed8565b9150819050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000614f6c602183613af1565b9150614f7782614f10565b604082019050919050565b60006020820190508181036000830152614f9b81614f5f565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000614ffe602283613af1565b915061500982614fa2565b604082019050919050565b6000602082019050818103600083015261502d81614ff1565b9050919050565b60008151905061504381613bd3565b92915050565b60006020828403121561505f5761505e613a66565b5b600061506d84828501615034565b91505092915050565b6000819050919050565b600061509b61509661509184615076565b613ca2565b613a70565b9050919050565b6150ab81615080565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6150e681613bc1565b82525050565b60006150f883836150dd565b60208301905092915050565b6000602082019050919050565b600061511c826150b1565b61512681856150bc565b9350615131836150cd565b8060005b8381101561516257815161514988826150ec565b975061515483615104565b925050600181019050615135565b5085935050505092915050565b600060a0820190506151846000830188613d1c565b61519160208301876150a2565b81810360408301526151a38186615111565b90506151b26060830185613dc6565b6151bf6080830184613d1c565b969550505050505056fea26469706673582212204baafc1d8b5aa778c959af7edae40d826a5cdc8d9dcfe56aa5760f5d129bd1a164736f6c634300080b0033000000000000000000000000272788b0ca2189a8ac0e92fdc366b694c02956db
Deployed Bytecode
0x6080604052600436106102cd5760003560e01c80638a8c523c11610175578063c0246668116100dc578063d85ba06311610095578063e71dc3f51161006f578063e71dc3f514610b2f578063e884f26014610b5a578063f2fde38b14610b85578063f8b45b0514610bae576102d4565b8063d85ba06314610a9c578063dd62ed3e14610ac7578063e2f4560514610b04576102d4565b8063c02466681461098e578063c18bc195146109b7578063c876d0b9146109e0578063c8c8ebe414610a0b578063d257b34f14610a36578063d34628cc14610a73576102d4565b8063a0d82dc51161012e578063a0d82dc514610856578063a457c2d714610881578063a9059cbb146108be578063adb873bd146108fb578063b62496f514610926578063bbc0c74214610963576102d4565b80638a8c523c1461076a5780638da5cb5b1461078157806395d89b41146107ac5780639a7a23d6146107d75780639c3b4fdc146108005780639fccce321461082b576102d4565b8063313ce5671161023457806366ca9b83116101ed57806370a08231116101c757806370a08231146106c2578063715018a6146106ff578063751039fc146107165780637571336a14610741576102d4565b806366ca9b83146106455780636a486a8e1461066e5780636c3bbfd714610699576102d4565b8063313ce5671461050d57806339509351146105385780633bbac5791461057557806349bd5a5e146105b25780634a62bb65146105dd5780634fbee19314610608576102d4565b80631816467f116102865780631816467f146103fd5780631d77785614610426578063203e727e1461045157806323b872dd1461047a578063275b56c5146104b757806327c8f835146104e2576102d4565b806302dbd8f8146102d957806306fdde0314610302578063095ea7b31461032d57806310d5de531461036a5780631694505e146103a757806318160ddd146103d2576102d4565b366102d457005b600080fd5b3480156102e557600080fd5b5061030060048036038101906102fb9190613aa6565b610bd9565b005b34801561030e57600080fd5b50610317610cc3565b6040516103249190613b7f565b60405180910390f35b34801561033957600080fd5b50610354600480360381019061034f9190613bff565b610d55565b6040516103619190613c5a565b60405180910390f35b34801561037657600080fd5b50610391600480360381019061038c9190613c75565b610d73565b60405161039e9190613c5a565b60405180910390f35b3480156103b357600080fd5b506103bc610d93565b6040516103c99190613d01565b60405180910390f35b3480156103de57600080fd5b506103e7610db7565b6040516103f49190613d2b565b60405180910390f35b34801561040957600080fd5b50610424600480360381019061041f9190613c75565b610dc1565b005b34801561043257600080fd5b5061043b610ee2565b6040516104489190613d2b565b60405180910390f35b34801561045d57600080fd5b5061047860048036038101906104739190613d46565b610ee8565b005b34801561048657600080fd5b506104a1600480360381019061049c9190613d73565b610ff7565b6040516104ae9190613c5a565b60405180910390f35b3480156104c357600080fd5b506104cc611116565b6040516104d99190613dd5565b60405180910390f35b3480156104ee57600080fd5b506104f761113c565b6040516105049190613dd5565b60405180910390f35b34801561051957600080fd5b50610522611142565b60405161052f9190613e0c565b60405180910390f35b34801561054457600080fd5b5061055f600480360381019061055a9190613bff565b61114b565b60405161056c9190613c5a565b60405180910390f35b34801561058157600080fd5b5061059c60048036038101906105979190613c75565b6111f7565b6040516105a99190613c5a565b60405180910390f35b3480156105be57600080fd5b506105c7611217565b6040516105d49190613dd5565b60405180910390f35b3480156105e957600080fd5b506105f261123b565b6040516105ff9190613c5a565b60405180910390f35b34801561061457600080fd5b5061062f600480360381019061062a9190613c75565b61124e565b60405161063c9190613c5a565b60405180910390f35b34801561065157600080fd5b5061066c60048036038101906106679190613aa6565b6112a4565b005b34801561067a57600080fd5b5061068361138e565b6040516106909190613d2b565b60405180910390f35b3480156106a557600080fd5b506106c060048036038101906106bb9190613f6f565b611394565b005b3480156106ce57600080fd5b506106e960048036038101906106e49190613c75565b6114a5565b6040516106f69190613d2b565b60405180910390f35b34801561070b57600080fd5b506107146114ed565b005b34801561072257600080fd5b5061072b611575565b6040516107389190613c5a565b60405180910390f35b34801561074d57600080fd5b5061076860048036038101906107639190613fe4565b611615565b005b34801561077657600080fd5b5061077f6116ec565b005b34801561078d57600080fd5b50610796611785565b6040516107a39190613dd5565b60405180910390f35b3480156107b857600080fd5b506107c16117af565b6040516107ce9190613b7f565b60405180910390f35b3480156107e357600080fd5b506107fe60048036038101906107f99190613fe4565b611841565b005b34801561080c57600080fd5b5061081561195a565b6040516108229190613d2b565b60405180910390f35b34801561083757600080fd5b50610840611960565b60405161084d9190613d2b565b60405180910390f35b34801561086257600080fd5b5061086b611966565b6040516108789190613d2b565b60405180910390f35b34801561088d57600080fd5b506108a860048036038101906108a39190613bff565b61196c565b6040516108b59190613c5a565b60405180910390f35b3480156108ca57600080fd5b506108e560048036038101906108e09190613bff565b611a57565b6040516108f29190613c5a565b60405180910390f35b34801561090757600080fd5b50610910611a75565b60405161091d9190613d2b565b60405180910390f35b34801561093257600080fd5b5061094d60048036038101906109489190613c75565b611a7b565b60405161095a9190613c5a565b60405180910390f35b34801561096f57600080fd5b50610978611a9b565b6040516109859190613c5a565b60405180910390f35b34801561099a57600080fd5b506109b560048036038101906109b09190613fe4565b611aae565b005b3480156109c357600080fd5b506109de60048036038101906109d99190613d46565b611b85565b005b3480156109ec57600080fd5b506109f5611c94565b604051610a029190613c5a565b60405180910390f35b348015610a1757600080fd5b50610a20611ca7565b604051610a2d9190613d2b565b60405180910390f35b348015610a4257600080fd5b50610a5d6004803603810190610a589190613d46565b611cad565b604051610a6a9190613c5a565b60405180910390f35b348015610a7f57600080fd5b50610a9a6004803603810190610a959190613f6f565b611e02565b005b348015610aa857600080fd5b50610ab1611ff5565b604051610abe9190613d2b565b60405180910390f35b348015610ad357600080fd5b50610aee6004803603810190610ae99190614024565b611ffb565b604051610afb9190613d2b565b60405180910390f35b348015610b1057600080fd5b50610b19612082565b604051610b269190613d2b565b60405180910390f35b348015610b3b57600080fd5b50610b44612088565b604051610b519190613d2b565b60405180910390f35b348015610b6657600080fd5b50610b6f61208e565b604051610b7c9190613c5a565b60405180910390f35b348015610b9157600080fd5b50610bac6004803603810190610ba79190613c75565b61212e565b005b348015610bba57600080fd5b50610bc3612226565b604051610bd09190613d2b565b60405180910390f35b610be161222c565b73ffffffffffffffffffffffffffffffffffffffff16610bff611785565b73ffffffffffffffffffffffffffffffffffffffff1614610c55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4c906140b0565b60405180910390fd5b8160138190555080601481905550601454601354610c7391906140ff565b60128190555060146012541115610cbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb6906141a1565b60405180910390fd5b5050565b606060038054610cd2906141f0565b80601f0160208091040260200160405190810160405280929190818152602001828054610cfe906141f0565b8015610d4b5780601f10610d2057610100808354040283529160200191610d4b565b820191906000526020600020905b815481529060010190602001808311610d2e57829003601f168201915b5050505050905090565b6000610d69610d6261222c565b8484612234565b6001905092915050565b60186020528060005260406000206000915054906101000a900460ff1681565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6000600254905090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e0261222c565b73ffffffffffffffffffffffffffffffffffffffff1614610e2257600080fd5b600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74360405160405180910390a380600760026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60165481565b610ef061222c565b73ffffffffffffffffffffffffffffffffffffffff16610f0e611785565b73ffffffffffffffffffffffffffffffffffffffff1614610f64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5b906140b0565b60405180910390fd5b670de0b6b3a76400006103e86001610f7a610db7565b610f849190614222565b610f8e91906142ab565b610f9891906142ab565b811015610fda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd19061434e565b60405180910390fd5b670de0b6b3a764000081610fee9190614222565b60098190555050565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061104361222c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146110ff57828110156110ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e1906143e0565b60405180910390fd5b6110fe856110f661222c565b858403612234565b5b61110a8585856123ff565b60019150509392505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61dead81565b60006009905090565b60006111ed61115861222c565b84846001600061116661222c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111e891906140ff565b612234565b6001905092915050565b60066020528060005260406000206000915054906101000a900460ff1681565b7f00000000000000000000000009f1901ac350ba8f6f3859eac87de93fd002150281565b600c60009054906101000a900460ff1681565b6000601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6112ac61222c565b73ffffffffffffffffffffffffffffffffffffffff166112ca611785565b73ffffffffffffffffffffffffffffffffffffffff1614611320576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611317906140b0565b60405180910390fd5b816011819055508060108190555060105460115461133e91906140ff565b600f819055506006600f54111561138a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113819061444c565b60405180910390fd5b5050565b60125481565b61139c61222c565b73ffffffffffffffffffffffffffffffffffffffff166113ba611785565b73ffffffffffffffffffffffffffffffffffffffff1614611410576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611407906140b0565b60405180910390fd5b60005b81518110156114a1576000600660008484815181106114355761143461446c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806114999061449b565b915050611413565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6114f561222c565b73ffffffffffffffffffffffffffffffffffffffff16611513611785565b73ffffffffffffffffffffffffffffffffffffffff1614611569576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611560906140b0565b60405180910390fd5b6115736000613197565b565b600061157f61222c565b73ffffffffffffffffffffffffffffffffffffffff1661159d611785565b73ffffffffffffffffffffffffffffffffffffffff16146115f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ea906140b0565b60405180910390fd5b6000600c60006101000a81548160ff0219169083151502179055506001905090565b61161d61222c565b73ffffffffffffffffffffffffffffffffffffffff1661163b611785565b73ffffffffffffffffffffffffffffffffffffffff1614611691576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611688906140b0565b60405180910390fd5b80601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6116f461222c565b73ffffffffffffffffffffffffffffffffffffffff16611712611785565b73ffffffffffffffffffffffffffffffffffffffff1614611768576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175f906140b0565b60405180910390fd5b6001600c60016101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546117be906141f0565b80601f01602080910402602001604051908101604052809291908181526020018280546117ea906141f0565b80156118375780601f1061180c57610100808354040283529160200191611837565b820191906000526020600020905b81548152906001019060200180831161181a57829003601f168201915b5050505050905090565b61184961222c565b73ffffffffffffffffffffffffffffffffffffffff16611867611785565b73ffffffffffffffffffffffffffffffffffffffff16146118bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b4906140b0565b60405180910390fd5b7f00000000000000000000000009f1901ac350ba8f6f3859eac87de93fd002150273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561194c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194390614556565b60405180910390fd5b611956828261325d565b5050565b60105481565b60155481565b60145481565b6000806001600061197b61222c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611a38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2f906145e8565b60405180910390fd5b611a4c611a4361222c565b85858403612234565b600191505092915050565b6000611a6b611a6461222c565b84846123ff565b6001905092915050565b60135481565b60196020528060005260406000206000915054906101000a900460ff1681565b600c60019054906101000a900460ff1681565b611ab661222c565b73ffffffffffffffffffffffffffffffffffffffff16611ad4611785565b73ffffffffffffffffffffffffffffffffffffffff1614611b2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b21906140b0565b60405180910390fd5b80601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611b8d61222c565b73ffffffffffffffffffffffffffffffffffffffff16611bab611785565b73ffffffffffffffffffffffffffffffffffffffff1614611c01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf8906140b0565b60405180910390fd5b670de0b6b3a76400006103e86005611c17610db7565b611c219190614222565b611c2b91906142ab565b611c3591906142ab565b811015611c77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6e9061467a565b60405180910390fd5b670de0b6b3a764000081611c8b9190614222565b600b8190555050565b600e60009054906101000a900460ff1681565b60095481565b6000611cb761222c565b73ffffffffffffffffffffffffffffffffffffffff16611cd5611785565b73ffffffffffffffffffffffffffffffffffffffff1614611d2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d22906140b0565b60405180910390fd5b620186a06001611d39610db7565b611d439190614222565b611d4d91906142ab565b821015611d8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d869061470c565b60405180910390fd5b6103e86005611d9c610db7565b611da69190614222565b611db091906142ab565b821115611df2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de99061479e565b60405180910390fd5b81600a8190555060019050919050565b611e0a61222c565b73ffffffffffffffffffffffffffffffffffffffff16611e28611785565b73ffffffffffffffffffffffffffffffffffffffff1614611e7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e75906140b0565b60405180910390fd5b60005b8151811015611ff1577f00000000000000000000000009f1901ac350ba8f6f3859eac87de93fd002150273ffffffffffffffffffffffffffffffffffffffff16828281518110611ed457611ed361446c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614158015611f6657507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff16828281518110611f4557611f4461446c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614155b15611fde57600160066000848481518110611f8457611f8361446c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b8080611fe99061449b565b915050611e81565b5050565b600f5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a5481565b60115481565b600061209861222c565b73ffffffffffffffffffffffffffffffffffffffff166120b6611785565b73ffffffffffffffffffffffffffffffffffffffff161461210c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612103906140b0565b60405180910390fd5b6000600e60006101000a81548160ff0219169083151502179055506001905090565b61213661222c565b73ffffffffffffffffffffffffffffffffffffffff16612154611785565b73ffffffffffffffffffffffffffffffffffffffff16146121aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121a1906140b0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561221a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221190614830565b60405180910390fd5b61222381613197565b50565b600b5481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156122a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229b906148c2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612314576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230b90614954565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516123f29190613d2b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561246f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612466906149e6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156124df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124d690614a78565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561256c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256390614b30565b60405180910390fd5b600081141561258657612581838360006132b8565b613192565b600c60009054906101000a900460ff1615612c49576125a3611785565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561261157506125e1611785565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561264a5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612684575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561269d5750600760009054906101000a900460ff16155b15612c4857600c60019054906101000a900460ff1661279757601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806127575750601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612796576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161278d90614b9c565b60405180910390fd5b5b600e60009054906101000a900460ff161561295f576127b4611785565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561283b57507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561289357507f00000000000000000000000009f1901ac350ba8f6f3859eac87de93fd002150273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561295e5743600d60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410612919576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161291090614c54565b60405180910390fd5b43600d60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612a025750601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612aa957600954811115612a4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a4390614ce6565b60405180910390fd5b600b54612a58836114a5565b82612a6391906140ff565b1115612aa4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a9b90614d52565b60405180910390fd5b612c47565b601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612b4c5750601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612b9b57600954811115612b96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b8d90614de4565b60405180910390fd5b612c46565b601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612c4557600b54612bf8836114a5565b82612c0391906140ff565b1115612c44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c3b90614d52565b60405180910390fd5b5b5b5b5b5b6000612c54306114a5565b9050600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612cb157600080fd5b6000600a548210159050808015612cd55750600760009054906101000a900460ff16155b8015612d2b5750601960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612d815750601760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612dd75750601760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612e1b576001600760006101000a81548160ff021916908315150217905550612dff613539565b6000600760006101000a81548160ff0219169083151502179055505b6000600760009054906101000a900460ff16159050601760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612ed15750601760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612edb57600090505b600080821561318157601960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612f3f57506000601254115b15612ff4576000600760016101000a81548160ff021916908315150217905550612f876064612f796012548961362390919063ffffffff16565b61363990919063ffffffff16565b905060125460145482612f9a9190614222565b612fa491906142ab565b60156000828254612fb591906140ff565b9250508190555060125460135482612fcd9190614222565b612fd791906142ab565b60166000828254612fe891906140ff565b9250508190555061312e565b601960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561304f57506000600f54115b1561312d576001600760016101000a81548160ff0219169083151502179055506130976064613089600f548961362390919063ffffffff16565b61363990919063ffffffff16565b9150601254601054836130aa9190614222565b6130b491906142ab565b601560008282546130c591906140ff565b92505081905550601254601154836130dd9190614222565b6130e791906142ab565b601660008282546130f891906140ff565b9250508190555061310a8830846132b8565b6131163060165461364f565b6000601681905550818661312a9190614e04565b95505b5b600060125411801561314d5750600760019054906101000a900460ff16155b156131805761315d8830836132b8565b6131693060165461364f565b6000601681905550808661317d9190614e04565b95505b5b61318c8888886132b8565b50505050505b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415613328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161331f906149e6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613398576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161338f90614a78565b60405180910390fd5b6133a3838383613815565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015613429576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161342090614eaa565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546134bc91906140ff565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516135209190613d2b565b60405180910390a361353384848461381a565b50505050565b6000613544306114a5565b9050600080821415613557575050613621565b6014600a546135669190614222565b82111561357f576014600a5461357c9190614222565b91505b6135888261381f565b6000601581905550600760029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516135d690614efb565b60006040518083038185875af1925050503d8060008114613613576040519150601f19603f3d011682016040523d82523d6000602084013e613618565b606091505b50508091505050505b565b600081836136319190614222565b905092915050565b6000818361364791906142ab565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156136bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136b690614f82565b60405180910390fd5b6136cb82600083613815565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015613751576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161374890615014565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816002546137a49190614e04565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516138089190613d2b565b60405180910390a3505050565b505050565b505050565b6000600267ffffffffffffffff81111561383c5761383b613e2c565b5b60405190808252806020026020018201604052801561386a5781602001602082028036833780820191505090505b50905030816000815181106138825761388161446c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613927573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061394b9190615049565b8160018151811061395f5761395e61446c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506139c4307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84612234565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613a2695949392919061516f565b600060405180830381600087803b158015613a4057600080fd5b505af1158015613a54573d6000803e3d6000fd5b505050505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b613a8381613a70565b8114613a8e57600080fd5b50565b600081359050613aa081613a7a565b92915050565b60008060408385031215613abd57613abc613a66565b5b6000613acb85828601613a91565b9250506020613adc85828601613a91565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613b20578082015181840152602081019050613b05565b83811115613b2f576000848401525b50505050565b6000601f19601f8301169050919050565b6000613b5182613ae6565b613b5b8185613af1565b9350613b6b818560208601613b02565b613b7481613b35565b840191505092915050565b60006020820190508181036000830152613b998184613b46565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613bcc82613ba1565b9050919050565b613bdc81613bc1565b8114613be757600080fd5b50565b600081359050613bf981613bd3565b92915050565b60008060408385031215613c1657613c15613a66565b5b6000613c2485828601613bea565b9250506020613c3585828601613a91565b9150509250929050565b60008115159050919050565b613c5481613c3f565b82525050565b6000602082019050613c6f6000830184613c4b565b92915050565b600060208284031215613c8b57613c8a613a66565b5b6000613c9984828501613bea565b91505092915050565b6000819050919050565b6000613cc7613cc2613cbd84613ba1565b613ca2565b613ba1565b9050919050565b6000613cd982613cac565b9050919050565b6000613ceb82613cce565b9050919050565b613cfb81613ce0565b82525050565b6000602082019050613d166000830184613cf2565b92915050565b613d2581613a70565b82525050565b6000602082019050613d406000830184613d1c565b92915050565b600060208284031215613d5c57613d5b613a66565b5b6000613d6a84828501613a91565b91505092915050565b600080600060608486031215613d8c57613d8b613a66565b5b6000613d9a86828701613bea565b9350506020613dab86828701613bea565b9250506040613dbc86828701613a91565b9150509250925092565b613dcf81613bc1565b82525050565b6000602082019050613dea6000830184613dc6565b92915050565b600060ff82169050919050565b613e0681613df0565b82525050565b6000602082019050613e216000830184613dfd565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613e6482613b35565b810181811067ffffffffffffffff82111715613e8357613e82613e2c565b5b80604052505050565b6000613e96613a5c565b9050613ea28282613e5b565b919050565b600067ffffffffffffffff821115613ec257613ec1613e2c565b5b602082029050602081019050919050565b600080fd5b6000613eeb613ee684613ea7565b613e8c565b90508083825260208201905060208402830185811115613f0e57613f0d613ed3565b5b835b81811015613f375780613f238882613bea565b845260208401935050602081019050613f10565b5050509392505050565b600082601f830112613f5657613f55613e27565b5b8135613f66848260208601613ed8565b91505092915050565b600060208284031215613f8557613f84613a66565b5b600082013567ffffffffffffffff811115613fa357613fa2613a6b565b5b613faf84828501613f41565b91505092915050565b613fc181613c3f565b8114613fcc57600080fd5b50565b600081359050613fde81613fb8565b92915050565b60008060408385031215613ffb57613ffa613a66565b5b600061400985828601613bea565b925050602061401a85828601613fcf565b9150509250929050565b6000806040838503121561403b5761403a613a66565b5b600061404985828601613bea565b925050602061405a85828601613bea565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061409a602083613af1565b91506140a582614064565b602082019050919050565b600060208201905081810360008301526140c98161408d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061410a82613a70565b915061411583613a70565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561414a576141496140d0565b5b828201905092915050565b7f4d757374206b656570206665657320617420323025206f72206c657373000000600082015250565b600061418b601d83613af1565b915061419682614155565b602082019050919050565b600060208201905081810360008301526141ba8161417e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061420857607f821691505b6020821081141561421c5761421b6141c1565b5b50919050565b600061422d82613a70565b915061423883613a70565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614271576142706140d0565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006142b682613a70565b91506142c183613a70565b9250826142d1576142d061427c565b5b828204905092915050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060008201527f6c6f776572207468616e20302e31250000000000000000000000000000000000602082015250565b6000614338602f83613af1565b9150614343826142dc565b604082019050919050565b600060208201905081810360008301526143678161432b565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006143ca602883613af1565b91506143d58261436e565b604082019050919050565b600060208201905081810360008301526143f9816143bd565b9050919050565b7f4d757374206b6565702066656573206174203625206f72206c65737300000000600082015250565b6000614436601c83613af1565b915061444182614400565b602082019050919050565b6000602082019050818103600083015261446581614429565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006144a682613a70565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156144d9576144d86140d0565b5b600182019050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b6000614540603983613af1565b915061454b826144e4565b604082019050919050565b6000602082019050818103600083015261456f81614533565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006145d2602583613af1565b91506145dd82614576565b604082019050919050565b60006020820190508181036000830152614601816145c5565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e2060008201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b6000614664602483613af1565b915061466f82614608565b604082019050919050565b6000602082019050818103600083015261469381614657565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b60006146f6603583613af1565b91506147018261469a565b604082019050919050565b60006020820190508181036000830152614725816146e9565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160008201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b6000614788603483613af1565b91506147938261472c565b604082019050919050565b600060208201905081810360008301526147b78161477b565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061481a602683613af1565b9150614825826147be565b604082019050919050565b600060208201905081810360008301526148498161480d565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006148ac602483613af1565b91506148b782614850565b604082019050919050565b600060208201905081810360008301526148db8161489f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061493e602283613af1565b9150614949826148e2565b604082019050919050565b6000602082019050818103600083015261496d81614931565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006149d0602583613af1565b91506149db82614974565b604082019050919050565b600060208201905081810360008301526149ff816149c3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614a62602383613af1565b9150614a6d82614a06565b604082019050919050565b60006020820190508181036000830152614a9181614a55565b9050919050565b7f596f7572206164647265737320686173206265656e206d61726b65642061732060008201527f6120626f742f736e697065722c20796f752061726520756e61626c6520746f2060208201527f7472616e73666572206f7220737761702e000000000000000000000000000000604082015250565b6000614b1a605183613af1565b9150614b2582614a98565b606082019050919050565b60006020820190508181036000830152614b4981614b0d565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000614b86601683613af1565b9150614b9182614b50565b602082019050919050565b60006020820190508181036000830152614bb581614b79565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b6000614c3e604983613af1565b9150614c4982614bbc565b606082019050919050565b60006020820190508181036000830152614c6d81614c31565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b6000614cd0603583613af1565b9150614cdb82614c74565b604082019050919050565b60006020820190508181036000830152614cff81614cc3565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b6000614d3c601383613af1565b9150614d4782614d06565b602082019050919050565b60006020820190508181036000830152614d6b81614d2f565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b6000614dce603683613af1565b9150614dd982614d72565b604082019050919050565b60006020820190508181036000830152614dfd81614dc1565b9050919050565b6000614e0f82613a70565b9150614e1a83613a70565b925082821015614e2d57614e2c6140d0565b5b828203905092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614e94602683613af1565b9150614e9f82614e38565b604082019050919050565b60006020820190508181036000830152614ec381614e87565b9050919050565b600081905092915050565b50565b6000614ee5600083614eca565b9150614ef082614ed5565b600082019050919050565b6000614f0682614ed8565b9150819050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000614f6c602183613af1565b9150614f7782614f10565b604082019050919050565b60006020820190508181036000830152614f9b81614f5f565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000614ffe602283613af1565b915061500982614fa2565b604082019050919050565b6000602082019050818103600083015261502d81614ff1565b9050919050565b60008151905061504381613bd3565b92915050565b60006020828403121561505f5761505e613a66565b5b600061506d84828501615034565b91505092915050565b6000819050919050565b600061509b61509661509184615076565b613ca2565b613a70565b9050919050565b6150ab81615080565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6150e681613bc1565b82525050565b60006150f883836150dd565b60208301905092915050565b6000602082019050919050565b600061511c826150b1565b61512681856150bc565b9350615131836150cd565b8060005b8381101561516257815161514988826150ec565b975061515483615104565b925050600181019050615135565b5085935050505092915050565b600060a0820190506151846000830188613d1c565b61519160208301876150a2565b81810360408301526151a38186615111565b90506151b26060830185613dc6565b6151bf6080830184613d1c565b969550505050505056fea26469706673582212204baafc1d8b5aa778c959af7edae40d826a5cdc8d9dcfe56aa5760f5d129bd1a164736f6c634300080b0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000272788b0ca2189a8ac0e92fdc366b694c02956db
-----Decoded View---------------
Arg [0] : depAddr (address): 0x272788b0ca2189A8ac0E92FdC366B694c02956db
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000272788b0ca2189a8ac0e92fdc366b694c02956db
Deployed Bytecode Sourcemap
11760:13230:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17327:273;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3114:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4027:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13033:64;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11837:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3434:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18147:190;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12851:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16435:232;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4204:573;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12136:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11940:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3334:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4785:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12002:38;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11895;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12296:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18348:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17054:264;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12714:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18764:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3550:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10543:103;;;;;;;;;;;;;:::i;:::-;;15645:121;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16898:144;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15507:83;;;;;;;;;;;;;:::i;:::-;;10320:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3222:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17748:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12646:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12817:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12782:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5008:413;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3685:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12749:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13255:58;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12336:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17608:132;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16675:211;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12560:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12173:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16041:382;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18485:267;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12612:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3868:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12215:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12677:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15831:135;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10654:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12255:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17327:273;10466:12;:10;:12::i;:::-;10455:23;;:7;:5;:7::i;:::-;:23;;;10447:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17430:8:::1;17416:11;:22;;;;17462:7;17449:10;:20;;;;17510:10;;17496:11;;:24;;;;:::i;:::-;17480:13;:40;;;;17556:2;17539:13;;:19;;17531:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;17327:273:::0;;:::o;3114:100::-;3168:13;3201:5;3194:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3114:100;:::o;4027:169::-;4110:4;4127:39;4136:12;:10;:12::i;:::-;4150:7;4159:6;4127:8;:39::i;:::-;4184:4;4177:11;;4027:169;;;;:::o;13033:64::-;;;;;;;;;;;;;;;;;;;;;;:::o;11837:51::-;;;:::o;3434:108::-;3495:7;3522:12;;3515:19;;3434:108;:::o;18147:190::-;18233:9;;;;;;;;;;;18217:25;;:12;:10;:12::i;:::-;:25;;;18209:34;;;;;;18287:9;;;;;;;;;;;18259:38;;18276:9;18259:38;;;;;;;;;;;;18320:9;18308;;:21;;;;;;;;;;;;;;;;;;18147:190;:::o;12851:28::-;;;;:::o;16435:232::-;10466:12;:10;:12::i;:::-;10455:23;;:7;:5;:7::i;:::-;:23;;;10447:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16556:4:::1;16548;16544:1;16528:13;:11;:13::i;:::-;:17;;;;:::i;:::-;:24;;;;:::i;:::-;16527:33;;;;:::i;:::-;16517:6;:43;;16509:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;16655:4;16646:6;:13;;;;:::i;:::-;16623:20;:36;;;;16435:232:::0;:::o;4204:573::-;4344:4;4361:24;4388:11;:19;4400:6;4388:19;;;;;;;;;;;;;;;:33;4408:12;:10;:12::i;:::-;4388:33;;;;;;;;;;;;;;;;4361:60;;4456:17;4436:16;:37;4432:265;;4518:6;4498:16;:26;;4490:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;4613:57;4622:6;4630:12;:10;:12::i;:::-;4663:6;4644:16;:25;4613:8;:57::i;:::-;4432:265;4709:36;4719:6;4727:9;4738:6;4709:9;:36::i;:::-;4765:4;4758:11;;;4204:573;;;;;:::o;12136:24::-;;;;;;;;;;;;;:::o;11940:53::-;11986:6;11940:53;:::o;3334:92::-;3392:5;3417:1;3410:8;;3334:92;:::o;4785:215::-;4873:4;4890:80;4899:12;:10;:12::i;:::-;4913:7;4959:10;4922:11;:25;4934:12;:10;:12::i;:::-;4922:25;;;;;;;;;;;;;;;:34;4948:7;4922:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;4890:8;:80::i;:::-;4988:4;4981:11;;4785:215;;;;:::o;12002:38::-;;;;;;;;;;;;;;;;;;;;;;:::o;11895:::-;;;:::o;12296:33::-;;;;;;;;;;;;;:::o;18348:125::-;18413:4;18437:19;:28;18457:7;18437:28;;;;;;;;;;;;;;;;;;;;;;;;;18430:35;;18348:125;;;:::o;17054:264::-;10466:12;:10;:12::i;:::-;10455:23;;:7;:5;:7::i;:::-;:23;;;10447:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17155:8:::1;17142:10;:21;;;;17186:7;17174:9;:19;;;;17232:9;;17219:10;;:22;;;;:::i;:::-;17204:12;:37;;;;17276:1;17260:12;;:17;;17252:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;17054:264:::0;;:::o;12714:28::-;;;;:::o;18764:168::-;10466:12;:10;:12::i;:::-;10455:23;;:7;:5;:7::i;:::-;:23;;;10447:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18842:6:::1;18837:88;18858:4;:11;18854:1;:15;18837:88;;;18908:5;18891;:14;18897:4;18902:1;18897:7;;;;;;;;:::i;:::-;;;;;;;;18891:14;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;18871:3;;;;;:::i;:::-;;;;18837:88;;;;18764:168:::0;:::o;3550:127::-;3624:7;3651:9;:18;3661:7;3651:18;;;;;;;;;;;;;;;;3644:25;;3550:127;;;:::o;10543:103::-;10466:12;:10;:12::i;:::-;10455:23;;:7;:5;:7::i;:::-;:23;;;10447:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10608:30:::1;10635:1;10608:18;:30::i;:::-;10543:103::o:0;15645:121::-;15697:4;10466:12;:10;:12::i;:::-;10455:23;;:7;:5;:7::i;:::-;:23;;;10447:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15731:5:::1;15714:14;;:22;;;;;;;;;;;;;;;;;;15754:4;15747:11;;15645:121:::0;:::o;16898:144::-;10466:12;:10;:12::i;:::-;10455:23;;:7;:5;:7::i;:::-;:23;;;10447:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17030:4:::1;16988:31;:39;17020:6;16988:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;16898:144:::0;;:::o;15507:83::-;10466:12;:10;:12::i;:::-;10455:23;;:7;:5;:7::i;:::-;:23;;;10447:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15578:4:::1;15562:13;;:20;;;;;;;;;;;;;;;;;;15507:83::o:0;10320:87::-;10366:7;10393:6;;;;;;;;;;;10386:13;;10320:87;:::o;3222:104::-;3278:13;3311:7;3304:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3222:104;:::o;17748:244::-;10466:12;:10;:12::i;:::-;10455:23;;:7;:5;:7::i;:::-;:23;;;10447:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17855:13:::1;17847:21;;:4;:21;;;;17839:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;17943:41;17972:4;17978:5;17943:28;:41::i;:::-;17748:244:::0;;:::o;12646:24::-;;;;:::o;12817:27::-;;;;:::o;12782:25::-;;;;:::o;5008:413::-;5101:4;5118:24;5145:11;:25;5157:12;:10;:12::i;:::-;5145:25;;;;;;;;;;;;;;;:34;5171:7;5145:34;;;;;;;;;;;;;;;;5118:61;;5218:15;5198:16;:35;;5190:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;5311:67;5320:12;:10;:12::i;:::-;5334:7;5362:15;5343:16;:34;5311:8;:67::i;:::-;5409:4;5402:11;;;5008:413;;;;:::o;3685:175::-;3771:4;3788:42;3798:12;:10;:12::i;:::-;3812:9;3823:6;3788:9;:42::i;:::-;3848:4;3841:11;;3685:175;;;;:::o;12749:26::-;;;;:::o;13255:58::-;;;;;;;;;;;;;;;;;;;;;;:::o;12336:33::-;;;;;;;;;;;;;:::o;17608:132::-;10466:12;:10;:12::i;:::-;10455:23;;:7;:5;:7::i;:::-;:23;;;10447:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17724:8:::1;17693:19;:28;17713:7;17693:28;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;17608:132:::0;;:::o;16675:211::-;10466:12;:10;:12::i;:::-;10455:23;;:7;:5;:7::i;:::-;:23;;;10447:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16797:4:::1;16791;16787:1;16771:13;:11;:13::i;:::-;:17;;;;:::i;:::-;:24;;;;:::i;:::-;16770:31;;;;:::i;:::-;16760:6;:41;;16752:90;;;;;;;;;;;;:::i;:::-;;;;;;;;;16874:4;16865:6;:13;;;;:::i;:::-;16853:9;:25;;;;16675:211:::0;:::o;12560:39::-;;;;;;;;;;;;;:::o;12173:35::-;;;;:::o;16041:382::-;16122:4;10466:12;:10;:12::i;:::-;10455:23;;:7;:5;:7::i;:::-;:23;;;10447:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;16179:6:::1;16175:1;16159:13;:11;:13::i;:::-;:17;;;;:::i;:::-;:26;;;;:::i;:::-;16146:9;:39;;16138:105;;;;;;;;;;;;:::i;:::-;;;;;;;;;16294:4;16290:1;16274:13;:11;:13::i;:::-;:17;;;;:::i;:::-;:24;;;;:::i;:::-;16261:9;:37;;16253:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;16386:9;16365:18;:30;;;;16412:4;16405:11;;16041:382:::0;;;:::o;18485:267::-;10466:12;:10;:12::i;:::-;10455:23;;:7;:5;:7::i;:::-;:23;;;10447:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18560:6:::1;18555:190;18576:4;:11;18572:1;:15;18555:190;;;18624:13;18613:24;;:4;18618:1;18613:7;;;;;;;;:::i;:::-;;;;;;;;:24;;;;:63;;;;;18660:15;18641:35;;:4;18646:1;18641:7;;;;;;;;:::i;:::-;;;;;;;;:35;;;;18613:63;18609:125;;;18714:4;18697:5;:14;18703:4;18708:1;18703:7;;;;;;;;:::i;:::-;;;;;;;;18697:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;18609:125;18589:3;;;;;:::i;:::-;;;;18555:190;;;;18485:267:::0;:::o;12612:27::-;;;;:::o;3868:151::-;3957:7;3984:11;:18;3996:5;3984:18;;;;;;;;;;;;;;;:27;4003:7;3984:27;;;;;;;;;;;;;;;;3977:34;;3868:151;;;;:::o;12215:33::-;;;;:::o;12677:25::-;;;;:::o;15831:135::-;15891:4;10466:12;:10;:12::i;:::-;10455:23;;:7;:5;:7::i;:::-;:23;;;10447:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15931:5:::1;15908:20;;:28;;;;;;;;;;;;;;;;;;15954:4;15947:11;;15831:135:::0;:::o;10654:201::-;10466:12;:10;:12::i;:::-;10455:23;;:7;:5;:7::i;:::-;:23;;;10447:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10763:1:::1;10743:22;;:8;:22;;;;10735:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;10819:28;10838:8;10819:18;:28::i;:::-;10654:201:::0;:::o;12255:24::-;;;;:::o;208:98::-;261:7;288:10;281:17;;208:98;:::o;7127:380::-;7280:1;7263:19;;:5;:19;;;;7255:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7361:1;7342:21;;:7;:21;;;;7334:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7445:6;7415:11;:18;7427:5;7415:18;;;;;;;;;;;;;;;:27;7434:7;7415:27;;;;;;;;;;;;;;;:36;;;;7483:7;7467:32;;7476:5;7467:32;;;7492:6;7467:32;;;;;;:::i;:::-;;;;;;;;7127:380;;;:::o;18940:4456::-;19088:1;19072:18;;:4;:18;;;;19064:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19165:1;19151:16;;:2;:16;;;;19143:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;19227:5;:11;19233:4;19227:11;;;;;;;;;;;;;;;;;;;;;;;;;19226:12;19218:106;;;;;;;;;;;;:::i;:::-;;;;;;;;;19360:1;19350:6;:11;19346:93;;;19378:28;19394:4;19400:2;19404:1;19378:15;:28::i;:::-;19421:7;;19346:93;19473:14;;;;;;;;;;;19469:1834;;;19534:7;:5;:7::i;:::-;19526:15;;:4;:15;;;;:49;;;;;19568:7;:5;:7::i;:::-;19562:13;;:2;:13;;;;19526:49;:86;;;;;19610:1;19596:16;;:2;:16;;;;19526:86;:128;;;;;19647:6;19633:21;;:2;:21;;;;19526:128;:159;;;;;19676:9;;;;;;;;;;;19675:10;19526:159;19504:1788;;;19725:13;;;;;;;;;;;19720:150;;19771:19;:25;19791:4;19771:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;19800:19;:23;19820:2;19800:23;;;;;;;;;;;;;;;;;;;;;;;;;19771:52;19763:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;19720:150;20028:20;;;;;;;;;;;20024:423;;;20082:7;:5;:7::i;:::-;20076:13;;:2;:13;;;;:47;;;;;20107:15;20093:30;;:2;:30;;;;20076:47;:79;;;;;20141:13;20127:28;;:2;:28;;;;20076:79;20072:356;;;20233:12;20191:28;:39;20220:9;20191:39;;;;;;;;;;;;;;;;:54;20183:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;20392:12;20350:28;:39;20379:9;20350:39;;;;;;;;;;;;;;;:54;;;;20072:356;20024:423;20515:25;:31;20541:4;20515:31;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;20551:31;:35;20583:2;20551:35;;;;;;;;;;;;;;;;;;;;;;;;;20550:36;20515:71;20511:766;;;20629:20;;20619:6;:30;;20611:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;20764:9;;20747:13;20757:2;20747:9;:13::i;:::-;20738:6;:22;;;;:::i;:::-;:35;;20730:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20511:766;;;20890:25;:29;20916:2;20890:29;;;;;;;;;;;;;;;;;;;;;;;;;:71;;;;;20924:31;:37;20956:4;20924:37;;;;;;;;;;;;;;;;;;;;;;;;;20923:38;20890:71;20886:391;;;21004:20;;20994:6;:30;;20986:97;;;;;;;;;;;;:::i;:::-;;;;;;;;;20886:391;;;21131:31;:35;21163:2;21131:35;;;;;;;;;;;;;;;;;;;;;;;;;21126:151;;21224:9;;21207:13;21217:2;21207:9;:13::i;:::-;21198:6;:22;;;;:::i;:::-;:35;;21190:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21126:151;20886:391;20511:766;19504:1788;19469:1834;21317:28;21348:24;21366:4;21348:9;:24::i;:::-;21317:55;;21395:9;;;;;;;;;;;21391:13;;:2;:13;;;;21383:22;;;;;;21416:12;21455:18;;21431:20;:42;;21416:57;;21504:7;:34;;;;;21529:9;;;;;;;;;;;21528:10;21504:34;:83;;;;;21556:25;:31;21582:4;21556:31;;;;;;;;;;;;;;;;;;;;;;;;;21555:32;21504:83;:126;;;;;21605:19;:25;21625:4;21605:25;;;;;;;;;;;;;;;;;;;;;;;;;21604:26;21504:126;:167;;;;;21648:19;:23;21668:2;21648:23;;;;;;;;;;;;;;;;;;;;;;;;;21647:24;21504:167;21486:297;;;21710:4;21698:9;;:16;;;;;;;;;;;;;;;;;;21729:10;:8;:10::i;:::-;21766:5;21754:9;;:17;;;;;;;;;;;;;;;;;;21486:297;21795:12;21811:9;;;;;;;;;;;21810:10;21795:25;;21922:19;:25;21942:4;21922:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;21951:19;:23;21971:2;21951:23;;;;;;;;;;;;;;;;;;;;;;;;;21922:52;21918:73;;;21986:5;21976:15;;21918:73;22022:15;22052:16;22161:7;22157:1186;;;22213:25;:29;22239:2;22213:29;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;;22262:1;22246:13;;:17;22213:50;22209:854;;;22292:5;22283:6;;:14;;;;;;;;;;;;;;;;;;22327:34;22357:3;22327:25;22338:13;;22327:6;:10;;:25;;;;:::i;:::-;:29;;:34;;;;:::i;:::-;22316:45;;22420:13;;22407:10;;22396:8;:21;;;;:::i;:::-;:37;;;;:::i;:::-;22380:12;;:53;;;;;;;:::i;:::-;;;;;;;;22494:13;;22480:11;;22469:8;:22;;;;:::i;:::-;:38;;;;:::i;:::-;22452:13;;:55;;;;;;;:::i;:::-;;;;;;;;22209:854;;;22568:25;:31;22594:4;22568:31;;;;;;;;;;;;;;;;;;;;;;;;;:51;;;;;22618:1;22603:12;;:16;22568:51;22565:498;;;22649:4;22640:6;;:13;;;;;;;;;;;;;;;;;;22682:33;22711:3;22682:24;22693:12;;22682:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;22672:43;;22772:13;;22760:9;;22750:7;:19;;;;:::i;:::-;:35;;;;:::i;:::-;22734:12;;:51;;;;;;;:::i;:::-;;;;;;;;22844:13;;22831:10;;22821:7;:20;;;;:::i;:::-;:36;;;;:::i;:::-;22804:13;;:53;;;;;;;:::i;:::-;;;;;;;;22876:45;22892:4;22906;22913:7;22876:15;:45::i;:::-;22940:35;22954:4;22961:13;;22940:5;:35::i;:::-;23010:1;22994:13;:17;;;;23040:7;23030:17;;;;;:::i;:::-;;;22565:498;22209:854;23099:1;23083:13;;:17;:28;;;;;23105:6;;;;;;;;;;;23104:7;23083:28;23079:242;;;23132:46;23148:4;23162;23169:8;23132:15;:46::i;:::-;23197:35;23211:4;23218:13;;23197:5;:35::i;:::-;23267:1;23251:13;:17;;;;23297:8;23287:18;;;;;:::i;:::-;;;23079:242;22157:1186;23355:33;23371:4;23377:2;23381:6;23355:15;:33::i;:::-;19053:4343;;;;;18940:4456;;;;:::o;10863:191::-;10937:16;10956:6;;;;;;;;;;;10937:25;;10982:8;10973:6;;:17;;;;;;;;;;;;;;;;;;11037:8;11006:40;;11027:8;11006:40;;;;;;;;;;;;10926:128;10863:191;:::o;18002:130::-;18119:5;18085:25;:31;18111:4;18085:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;18002:130;;:::o;5429:733::-;5587:1;5569:20;;:6;:20;;;;5561:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;5671:1;5650:23;;:9;:23;;;;5642:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5726:47;5747:6;5755:9;5766:6;5726:20;:47::i;:::-;5786:21;5810:9;:17;5820:6;5810:17;;;;;;;;;;;;;;;;5786:41;;5863:6;5846:13;:23;;5838:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;5984:6;5968:13;:22;5948:9;:17;5958:6;5948:17;;;;;;;;;;;;;;;:42;;;;6036:6;6012:9;:20;6022:9;6012:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;6077:9;6060:35;;6069:6;6060:35;;;6088:6;6060:35;;;;;;:::i;:::-;;;;;;;;6108:46;6128:6;6136:9;6147:6;6108:19;:46::i;:::-;5550:612;5429:733;;;:::o;24528:459::-;24567:23;24593:24;24611:4;24593:9;:24::i;:::-;24567:50;;24628:12;24676:1;24657:15;:20;24654:34;;;24680:7;;;;24654:34;24743:2;24722:18;;:23;;;;:::i;:::-;24704:15;:41;24701:111;;;24798:2;24777:18;;:23;;;;:::i;:::-;24759:41;;24701:111;24824:34;24842:15;24824:17;:34::i;:::-;24890:1;24875:12;:16;;;;24926:9;;;;;;;;;;;24918:23;;24949:21;24918:57;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24905:70;;;;;24556:431;;24528:459;:::o;9129:98::-;9187:7;9218:1;9214;:5;;;;:::i;:::-;9207:12;;9129:98;;;;:::o;9235:::-;9293:7;9324:1;9320;:5;;;;:::i;:::-;9313:12;;9235:98;;;;:::o;6577:542::-;6680:1;6661:21;;:7;:21;;;;6653:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6733:49;6754:7;6771:1;6775:6;6733:20;:49::i;:::-;6795:22;6820:9;:18;6830:7;6820:18;;;;;;;;;;;;;;;;6795:43;;6875:6;6857:14;:24;;6849:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;6994:6;6977:14;:23;6956:9;:18;6966:7;6956:18;;;;;;;;;;;;;;;:44;;;;7052:6;7037:12;;:21;;;;:::i;:::-;7022:12;:36;;;;7100:1;7074:37;;7083:7;7074:37;;;7104:6;7074:37;;;;;;:::i;:::-;;;;;;;;6642:477;6577:542;;:::o;7515:125::-;;;;:::o;7648:124::-;;;;:::o;23404:590::-;23531:21;23569:1;23555:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23531:40;;23600:4;23582;23587:1;23582:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;23626:15;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23616:4;23621:1;23616:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;23661:62;23678:4;23693:15;23711:11;23661:8;:62::i;:::-;23762:15;:66;;;23843:11;23869:1;23913:4;23940;23960:15;23762:224;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23460:534;23404:590;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:474::-;758:6;766;815:2;803:9;794:7;790:23;786:32;783:119;;;821:79;;:::i;:::-;783:119;941:1;966:53;1011:7;1002:6;991:9;987:22;966:53;:::i;:::-;956:63;;912:117;1068:2;1094:53;1139:7;1130:6;1119:9;1115:22;1094:53;:::i;:::-;1084:63;;1039:118;690:474;;;;;:::o;1170:99::-;1222:6;1256:5;1250:12;1240:22;;1170:99;;;:::o;1275:169::-;1359:11;1393:6;1388:3;1381:19;1433:4;1428:3;1424:14;1409:29;;1275:169;;;;:::o;1450:307::-;1518:1;1528:113;1542:6;1539:1;1536:13;1528:113;;;1627:1;1622:3;1618:11;1612:18;1608:1;1603:3;1599:11;1592:39;1564:2;1561:1;1557:10;1552:15;;1528:113;;;1659:6;1656:1;1653:13;1650:101;;;1739:1;1730:6;1725:3;1721:16;1714:27;1650:101;1499:258;1450:307;;;:::o;1763:102::-;1804:6;1855:2;1851:7;1846:2;1839:5;1835:14;1831:28;1821:38;;1763:102;;;:::o;1871:364::-;1959:3;1987:39;2020:5;1987:39;:::i;:::-;2042:71;2106:6;2101:3;2042:71;:::i;:::-;2035:78;;2122:52;2167:6;2162:3;2155:4;2148:5;2144:16;2122:52;:::i;:::-;2199:29;2221:6;2199:29;:::i;:::-;2194:3;2190:39;2183:46;;1963:272;1871:364;;;;:::o;2241:313::-;2354:4;2392:2;2381:9;2377:18;2369:26;;2441:9;2435:4;2431:20;2427:1;2416:9;2412:17;2405:47;2469:78;2542:4;2533:6;2469:78;:::i;:::-;2461:86;;2241:313;;;;:::o;2560:126::-;2597:7;2637:42;2630:5;2626:54;2615:65;;2560:126;;;:::o;2692:96::-;2729:7;2758:24;2776:5;2758:24;:::i;:::-;2747:35;;2692:96;;;:::o;2794:122::-;2867:24;2885:5;2867:24;:::i;:::-;2860:5;2857:35;2847:63;;2906:1;2903;2896:12;2847:63;2794:122;:::o;2922:139::-;2968:5;3006:6;2993:20;2984:29;;3022:33;3049:5;3022:33;:::i;:::-;2922:139;;;;:::o;3067:474::-;3135:6;3143;3192:2;3180:9;3171:7;3167:23;3163:32;3160:119;;;3198:79;;:::i;:::-;3160:119;3318:1;3343:53;3388:7;3379:6;3368:9;3364:22;3343:53;:::i;:::-;3333:63;;3289:117;3445:2;3471:53;3516:7;3507:6;3496:9;3492:22;3471:53;:::i;:::-;3461:63;;3416:118;3067:474;;;;;:::o;3547:90::-;3581:7;3624:5;3617:13;3610:21;3599:32;;3547:90;;;:::o;3643:109::-;3724:21;3739:5;3724:21;:::i;:::-;3719:3;3712:34;3643:109;;:::o;3758:210::-;3845:4;3883:2;3872:9;3868:18;3860:26;;3896:65;3958:1;3947:9;3943:17;3934:6;3896:65;:::i;:::-;3758:210;;;;:::o;3974:329::-;4033:6;4082:2;4070:9;4061:7;4057:23;4053:32;4050:119;;;4088:79;;:::i;:::-;4050:119;4208:1;4233:53;4278:7;4269:6;4258:9;4254:22;4233:53;:::i;:::-;4223:63;;4179:117;3974:329;;;;:::o;4309:60::-;4337:3;4358:5;4351:12;;4309:60;;;:::o;4375:142::-;4425:9;4458:53;4476:34;4485:24;4503:5;4485:24;:::i;:::-;4476:34;:::i;:::-;4458:53;:::i;:::-;4445:66;;4375:142;;;:::o;4523:126::-;4573:9;4606:37;4637:5;4606:37;:::i;:::-;4593:50;;4523:126;;;:::o;4655:153::-;4732:9;4765:37;4796:5;4765:37;:::i;:::-;4752:50;;4655:153;;;:::o;4814:185::-;4928:64;4986:5;4928:64;:::i;:::-;4923:3;4916:77;4814:185;;:::o;5005:276::-;5125:4;5163:2;5152:9;5148:18;5140:26;;5176:98;5271:1;5260:9;5256:17;5247:6;5176:98;:::i;:::-;5005:276;;;;:::o;5287:118::-;5374:24;5392:5;5374:24;:::i;:::-;5369:3;5362:37;5287:118;;:::o;5411:222::-;5504:4;5542:2;5531:9;5527:18;5519:26;;5555:71;5623:1;5612:9;5608:17;5599:6;5555:71;:::i;:::-;5411:222;;;;:::o;5639:329::-;5698:6;5747:2;5735:9;5726:7;5722:23;5718:32;5715:119;;;5753:79;;:::i;:::-;5715:119;5873:1;5898:53;5943:7;5934:6;5923:9;5919:22;5898:53;:::i;:::-;5888:63;;5844:117;5639:329;;;;:::o;5974:619::-;6051:6;6059;6067;6116:2;6104:9;6095:7;6091:23;6087:32;6084:119;;;6122:79;;:::i;:::-;6084:119;6242:1;6267:53;6312:7;6303:6;6292:9;6288:22;6267:53;:::i;:::-;6257:63;;6213:117;6369:2;6395:53;6440:7;6431:6;6420:9;6416:22;6395:53;:::i;:::-;6385:63;;6340:118;6497:2;6523:53;6568:7;6559:6;6548:9;6544:22;6523:53;:::i;:::-;6513:63;;6468:118;5974:619;;;;;:::o;6599:118::-;6686:24;6704:5;6686:24;:::i;:::-;6681:3;6674:37;6599:118;;:::o;6723:222::-;6816:4;6854:2;6843:9;6839:18;6831:26;;6867:71;6935:1;6924:9;6920:17;6911:6;6867:71;:::i;:::-;6723:222;;;;:::o;6951:86::-;6986:7;7026:4;7019:5;7015:16;7004:27;;6951:86;;;:::o;7043:112::-;7126:22;7142:5;7126:22;:::i;:::-;7121:3;7114:35;7043:112;;:::o;7161:214::-;7250:4;7288:2;7277:9;7273:18;7265:26;;7301:67;7365:1;7354:9;7350:17;7341:6;7301:67;:::i;:::-;7161:214;;;;:::o;7381:117::-;7490:1;7487;7480:12;7504:180;7552:77;7549:1;7542:88;7649:4;7646:1;7639:15;7673:4;7670:1;7663:15;7690:281;7773:27;7795:4;7773:27;:::i;:::-;7765:6;7761:40;7903:6;7891:10;7888:22;7867:18;7855:10;7852:34;7849:62;7846:88;;;7914:18;;:::i;:::-;7846:88;7954:10;7950:2;7943:22;7733:238;7690:281;;:::o;7977:129::-;8011:6;8038:20;;:::i;:::-;8028:30;;8067:33;8095:4;8087:6;8067:33;:::i;:::-;7977:129;;;:::o;8112:311::-;8189:4;8279:18;8271:6;8268:30;8265:56;;;8301:18;;:::i;:::-;8265:56;8351:4;8343:6;8339:17;8331:25;;8411:4;8405;8401:15;8393:23;;8112:311;;;:::o;8429:117::-;8538:1;8535;8528:12;8569:710;8665:5;8690:81;8706:64;8763:6;8706:64;:::i;:::-;8690:81;:::i;:::-;8681:90;;8791:5;8820:6;8813:5;8806:21;8854:4;8847:5;8843:16;8836:23;;8907:4;8899:6;8895:17;8887:6;8883:30;8936:3;8928:6;8925:15;8922:122;;;8955:79;;:::i;:::-;8922:122;9070:6;9053:220;9087:6;9082:3;9079:15;9053:220;;;9162:3;9191:37;9224:3;9212:10;9191:37;:::i;:::-;9186:3;9179:50;9258:4;9253:3;9249:14;9242:21;;9129:144;9113:4;9108:3;9104:14;9097:21;;9053:220;;;9057:21;8671:608;;8569:710;;;;;:::o;9302:370::-;9373:5;9422:3;9415:4;9407:6;9403:17;9399:27;9389:122;;9430:79;;:::i;:::-;9389:122;9547:6;9534:20;9572:94;9662:3;9654:6;9647:4;9639:6;9635:17;9572:94;:::i;:::-;9563:103;;9379:293;9302:370;;;;:::o;9678:539::-;9762:6;9811:2;9799:9;9790:7;9786:23;9782:32;9779:119;;;9817:79;;:::i;:::-;9779:119;9965:1;9954:9;9950:17;9937:31;9995:18;9987:6;9984:30;9981:117;;;10017:79;;:::i;:::-;9981:117;10122:78;10192:7;10183:6;10172:9;10168:22;10122:78;:::i;:::-;10112:88;;9908:302;9678:539;;;;:::o;10223:116::-;10293:21;10308:5;10293:21;:::i;:::-;10286:5;10283:32;10273:60;;10329:1;10326;10319:12;10273:60;10223:116;:::o;10345:133::-;10388:5;10426:6;10413:20;10404:29;;10442:30;10466:5;10442:30;:::i;:::-;10345:133;;;;:::o;10484:468::-;10549:6;10557;10606:2;10594:9;10585:7;10581:23;10577:32;10574:119;;;10612:79;;:::i;:::-;10574:119;10732:1;10757:53;10802:7;10793:6;10782:9;10778:22;10757:53;:::i;:::-;10747:63;;10703:117;10859:2;10885:50;10927:7;10918:6;10907:9;10903:22;10885:50;:::i;:::-;10875:60;;10830:115;10484:468;;;;;:::o;10958:474::-;11026:6;11034;11083:2;11071:9;11062:7;11058:23;11054:32;11051:119;;;11089:79;;:::i;:::-;11051:119;11209:1;11234:53;11279:7;11270:6;11259:9;11255:22;11234:53;:::i;:::-;11224:63;;11180:117;11336:2;11362:53;11407:7;11398:6;11387:9;11383:22;11362:53;:::i;:::-;11352:63;;11307:118;10958:474;;;;;:::o;11438:182::-;11578:34;11574:1;11566:6;11562:14;11555:58;11438:182;:::o;11626:366::-;11768:3;11789:67;11853:2;11848:3;11789:67;:::i;:::-;11782:74;;11865:93;11954:3;11865:93;:::i;:::-;11983:2;11978:3;11974:12;11967:19;;11626:366;;;:::o;11998:419::-;12164:4;12202:2;12191:9;12187:18;12179:26;;12251:9;12245:4;12241:20;12237:1;12226:9;12222:17;12215:47;12279:131;12405:4;12279:131;:::i;:::-;12271:139;;11998:419;;;:::o;12423:180::-;12471:77;12468:1;12461:88;12568:4;12565:1;12558:15;12592:4;12589:1;12582:15;12609:305;12649:3;12668:20;12686:1;12668:20;:::i;:::-;12663:25;;12702:20;12720:1;12702:20;:::i;:::-;12697:25;;12856:1;12788:66;12784:74;12781:1;12778:81;12775:107;;;12862:18;;:::i;:::-;12775:107;12906:1;12903;12899:9;12892:16;;12609:305;;;;:::o;12920:179::-;13060:31;13056:1;13048:6;13044:14;13037:55;12920:179;:::o;13105:366::-;13247:3;13268:67;13332:2;13327:3;13268:67;:::i;:::-;13261:74;;13344:93;13433:3;13344:93;:::i;:::-;13462:2;13457:3;13453:12;13446:19;;13105:366;;;:::o;13477:419::-;13643:4;13681:2;13670:9;13666:18;13658:26;;13730:9;13724:4;13720:20;13716:1;13705:9;13701:17;13694:47;13758:131;13884:4;13758:131;:::i;:::-;13750:139;;13477:419;;;:::o;13902:180::-;13950:77;13947:1;13940:88;14047:4;14044:1;14037:15;14071:4;14068:1;14061:15;14088:320;14132:6;14169:1;14163:4;14159:12;14149:22;;14216:1;14210:4;14206:12;14237:18;14227:81;;14293:4;14285:6;14281:17;14271:27;;14227:81;14355:2;14347:6;14344:14;14324:18;14321:38;14318:84;;;14374:18;;:::i;:::-;14318:84;14139:269;14088:320;;;:::o;14414:348::-;14454:7;14477:20;14495:1;14477:20;:::i;:::-;14472:25;;14511:20;14529:1;14511:20;:::i;:::-;14506:25;;14699:1;14631:66;14627:74;14624:1;14621:81;14616:1;14609:9;14602:17;14598:105;14595:131;;;14706:18;;:::i;:::-;14595:131;14754:1;14751;14747:9;14736:20;;14414:348;;;;:::o;14768:180::-;14816:77;14813:1;14806:88;14913:4;14910:1;14903:15;14937:4;14934:1;14927:15;14954:185;14994:1;15011:20;15029:1;15011:20;:::i;:::-;15006:25;;15045:20;15063:1;15045:20;:::i;:::-;15040:25;;15084:1;15074:35;;15089:18;;:::i;:::-;15074:35;15131:1;15128;15124:9;15119:14;;14954:185;;;;:::o;15145:234::-;15285:34;15281:1;15273:6;15269:14;15262:58;15354:17;15349:2;15341:6;15337:15;15330:42;15145:234;:::o;15385:366::-;15527:3;15548:67;15612:2;15607:3;15548:67;:::i;:::-;15541:74;;15624:93;15713:3;15624:93;:::i;:::-;15742:2;15737:3;15733:12;15726:19;;15385:366;;;:::o;15757:419::-;15923:4;15961:2;15950:9;15946:18;15938:26;;16010:9;16004:4;16000:20;15996:1;15985:9;15981:17;15974:47;16038:131;16164:4;16038:131;:::i;:::-;16030:139;;15757:419;;;:::o;16182:227::-;16322:34;16318:1;16310:6;16306:14;16299:58;16391:10;16386:2;16378:6;16374:15;16367:35;16182:227;:::o;16415:366::-;16557:3;16578:67;16642:2;16637:3;16578:67;:::i;:::-;16571:74;;16654:93;16743:3;16654:93;:::i;:::-;16772:2;16767:3;16763:12;16756:19;;16415:366;;;:::o;16787:419::-;16953:4;16991:2;16980:9;16976:18;16968:26;;17040:9;17034:4;17030:20;17026:1;17015:9;17011:17;17004:47;17068:131;17194:4;17068:131;:::i;:::-;17060:139;;16787:419;;;:::o;17212:178::-;17352:30;17348:1;17340:6;17336:14;17329:54;17212:178;:::o;17396:366::-;17538:3;17559:67;17623:2;17618:3;17559:67;:::i;:::-;17552:74;;17635:93;17724:3;17635:93;:::i;:::-;17753:2;17748:3;17744:12;17737:19;;17396:366;;;:::o;17768:419::-;17934:4;17972:2;17961:9;17957:18;17949:26;;18021:9;18015:4;18011:20;18007:1;17996:9;17992:17;17985:47;18049:131;18175:4;18049:131;:::i;:::-;18041:139;;17768:419;;;:::o;18193:180::-;18241:77;18238:1;18231:88;18338:4;18335:1;18328:15;18362:4;18359:1;18352:15;18379:233;18418:3;18441:24;18459:5;18441:24;:::i;:::-;18432:33;;18487:66;18480:5;18477:77;18474:103;;;18557:18;;:::i;:::-;18474:103;18604:1;18597:5;18593:13;18586:20;;18379:233;;;:::o;18618:244::-;18758:34;18754:1;18746:6;18742:14;18735:58;18827:27;18822:2;18814:6;18810:15;18803:52;18618:244;:::o;18868:366::-;19010:3;19031:67;19095:2;19090:3;19031:67;:::i;:::-;19024:74;;19107:93;19196:3;19107:93;:::i;:::-;19225:2;19220:3;19216:12;19209:19;;18868:366;;;:::o;19240:419::-;19406:4;19444:2;19433:9;19429:18;19421:26;;19493:9;19487:4;19483:20;19479:1;19468:9;19464:17;19457:47;19521:131;19647:4;19521:131;:::i;:::-;19513:139;;19240:419;;;:::o;19665:224::-;19805:34;19801:1;19793:6;19789:14;19782:58;19874:7;19869:2;19861:6;19857:15;19850:32;19665:224;:::o;19895:366::-;20037:3;20058:67;20122:2;20117:3;20058:67;:::i;:::-;20051:74;;20134:93;20223:3;20134:93;:::i;:::-;20252:2;20247:3;20243:12;20236:19;;19895:366;;;:::o;20267:419::-;20433:4;20471:2;20460:9;20456:18;20448:26;;20520:9;20514:4;20510:20;20506:1;20495:9;20491:17;20484:47;20548:131;20674:4;20548:131;:::i;:::-;20540:139;;20267:419;;;:::o;20692:223::-;20832:34;20828:1;20820:6;20816:14;20809:58;20901:6;20896:2;20888:6;20884:15;20877:31;20692:223;:::o;20921:366::-;21063:3;21084:67;21148:2;21143:3;21084:67;:::i;:::-;21077:74;;21160:93;21249:3;21160:93;:::i;:::-;21278:2;21273:3;21269:12;21262:19;;20921:366;;;:::o;21293:419::-;21459:4;21497:2;21486:9;21482:18;21474:26;;21546:9;21540:4;21536:20;21532:1;21521:9;21517:17;21510:47;21574:131;21700:4;21574:131;:::i;:::-;21566:139;;21293:419;;;:::o;21718:240::-;21858:34;21854:1;21846:6;21842:14;21835:58;21927:23;21922:2;21914:6;21910:15;21903:48;21718:240;:::o;21964:366::-;22106:3;22127:67;22191:2;22186:3;22127:67;:::i;:::-;22120:74;;22203:93;22292:3;22203:93;:::i;:::-;22321:2;22316:3;22312:12;22305:19;;21964:366;;;:::o;22336:419::-;22502:4;22540:2;22529:9;22525:18;22517:26;;22589:9;22583:4;22579:20;22575:1;22564:9;22560:17;22553:47;22617:131;22743:4;22617:131;:::i;:::-;22609:139;;22336:419;;;:::o;22761:239::-;22901:34;22897:1;22889:6;22885:14;22878:58;22970:22;22965:2;22957:6;22953:15;22946:47;22761:239;:::o;23006:366::-;23148:3;23169:67;23233:2;23228:3;23169:67;:::i;:::-;23162:74;;23245:93;23334:3;23245:93;:::i;:::-;23363:2;23358:3;23354:12;23347:19;;23006:366;;;:::o;23378:419::-;23544:4;23582:2;23571:9;23567:18;23559:26;;23631:9;23625:4;23621:20;23617:1;23606:9;23602:17;23595:47;23659:131;23785:4;23659:131;:::i;:::-;23651:139;;23378:419;;;:::o;23803:225::-;23943:34;23939:1;23931:6;23927:14;23920:58;24012:8;24007:2;23999:6;23995:15;23988:33;23803:225;:::o;24034:366::-;24176:3;24197:67;24261:2;24256:3;24197:67;:::i;:::-;24190:74;;24273:93;24362:3;24273:93;:::i;:::-;24391:2;24386:3;24382:12;24375:19;;24034:366;;;:::o;24406:419::-;24572:4;24610:2;24599:9;24595:18;24587:26;;24659:9;24653:4;24649:20;24645:1;24634:9;24630:17;24623:47;24687:131;24813:4;24687:131;:::i;:::-;24679:139;;24406:419;;;:::o;24831:223::-;24971:34;24967:1;24959:6;24955:14;24948:58;25040:6;25035:2;25027:6;25023:15;25016:31;24831:223;:::o;25060:366::-;25202:3;25223:67;25287:2;25282:3;25223:67;:::i;:::-;25216:74;;25299:93;25388:3;25299:93;:::i;:::-;25417:2;25412:3;25408:12;25401:19;;25060:366;;;:::o;25432:419::-;25598:4;25636:2;25625:9;25621:18;25613:26;;25685:9;25679:4;25675:20;25671:1;25660:9;25656:17;25649:47;25713:131;25839:4;25713:131;:::i;:::-;25705:139;;25432:419;;;:::o;25857:221::-;25997:34;25993:1;25985:6;25981:14;25974:58;26066:4;26061:2;26053:6;26049:15;26042:29;25857:221;:::o;26084:366::-;26226:3;26247:67;26311:2;26306:3;26247:67;:::i;:::-;26240:74;;26323:93;26412:3;26323:93;:::i;:::-;26441:2;26436:3;26432:12;26425:19;;26084:366;;;:::o;26456:419::-;26622:4;26660:2;26649:9;26645:18;26637:26;;26709:9;26703:4;26699:20;26695:1;26684:9;26680:17;26673:47;26737:131;26863:4;26737:131;:::i;:::-;26729:139;;26456:419;;;:::o;26881:224::-;27021:34;27017:1;27009:6;27005:14;26998:58;27090:7;27085:2;27077:6;27073:15;27066:32;26881:224;:::o;27111:366::-;27253:3;27274:67;27338:2;27333:3;27274:67;:::i;:::-;27267:74;;27350:93;27439:3;27350:93;:::i;:::-;27468:2;27463:3;27459:12;27452:19;;27111:366;;;:::o;27483:419::-;27649:4;27687:2;27676:9;27672:18;27664:26;;27736:9;27730:4;27726:20;27722:1;27711:9;27707:17;27700:47;27764:131;27890:4;27764:131;:::i;:::-;27756:139;;27483:419;;;:::o;27908:222::-;28048:34;28044:1;28036:6;28032:14;28025:58;28117:5;28112:2;28104:6;28100:15;28093:30;27908:222;:::o;28136:366::-;28278:3;28299:67;28363:2;28358:3;28299:67;:::i;:::-;28292:74;;28375:93;28464:3;28375:93;:::i;:::-;28493:2;28488:3;28484:12;28477:19;;28136:366;;;:::o;28508:419::-;28674:4;28712:2;28701:9;28697:18;28689:26;;28761:9;28755:4;28751:20;28747:1;28736:9;28732:17;28725:47;28789:131;28915:4;28789:131;:::i;:::-;28781:139;;28508:419;;;:::o;28933:305::-;29073:34;29069:1;29061:6;29057:14;29050:58;29142:34;29137:2;29129:6;29125:15;29118:59;29211:19;29206:2;29198:6;29194:15;29187:44;28933:305;:::o;29244:366::-;29386:3;29407:67;29471:2;29466:3;29407:67;:::i;:::-;29400:74;;29483:93;29572:3;29483:93;:::i;:::-;29601:2;29596:3;29592:12;29585:19;;29244:366;;;:::o;29616:419::-;29782:4;29820:2;29809:9;29805:18;29797:26;;29869:9;29863:4;29859:20;29855:1;29844:9;29840:17;29833:47;29897:131;30023:4;29897:131;:::i;:::-;29889:139;;29616:419;;;:::o;30041:172::-;30181:24;30177:1;30169:6;30165:14;30158:48;30041:172;:::o;30219:366::-;30361:3;30382:67;30446:2;30441:3;30382:67;:::i;:::-;30375:74;;30458:93;30547:3;30458:93;:::i;:::-;30576:2;30571:3;30567:12;30560:19;;30219:366;;;:::o;30591:419::-;30757:4;30795:2;30784:9;30780:18;30772:26;;30844:9;30838:4;30834:20;30830:1;30819:9;30815:17;30808:47;30872:131;30998:4;30872:131;:::i;:::-;30864:139;;30591:419;;;:::o;31016:297::-;31156:34;31152:1;31144:6;31140:14;31133:58;31225:34;31220:2;31212:6;31208:15;31201:59;31294:11;31289:2;31281:6;31277:15;31270:36;31016:297;:::o;31319:366::-;31461:3;31482:67;31546:2;31541:3;31482:67;:::i;:::-;31475:74;;31558:93;31647:3;31558:93;:::i;:::-;31676:2;31671:3;31667:12;31660:19;;31319:366;;;:::o;31691:419::-;31857:4;31895:2;31884:9;31880:18;31872:26;;31944:9;31938:4;31934:20;31930:1;31919:9;31915:17;31908:47;31972:131;32098:4;31972:131;:::i;:::-;31964:139;;31691:419;;;:::o;32116:240::-;32256:34;32252:1;32244:6;32240:14;32233:58;32325:23;32320:2;32312:6;32308:15;32301:48;32116:240;:::o;32362:366::-;32504:3;32525:67;32589:2;32584:3;32525:67;:::i;:::-;32518:74;;32601:93;32690:3;32601:93;:::i;:::-;32719:2;32714:3;32710:12;32703:19;;32362:366;;;:::o;32734:419::-;32900:4;32938:2;32927:9;32923:18;32915:26;;32987:9;32981:4;32977:20;32973:1;32962:9;32958:17;32951:47;33015:131;33141:4;33015:131;:::i;:::-;33007:139;;32734:419;;;:::o;33159:169::-;33299:21;33295:1;33287:6;33283:14;33276:45;33159:169;:::o;33334:366::-;33476:3;33497:67;33561:2;33556:3;33497:67;:::i;:::-;33490:74;;33573:93;33662:3;33573:93;:::i;:::-;33691:2;33686:3;33682:12;33675:19;;33334:366;;;:::o;33706:419::-;33872:4;33910:2;33899:9;33895:18;33887:26;;33959:9;33953:4;33949:20;33945:1;33934:9;33930:17;33923:47;33987:131;34113:4;33987:131;:::i;:::-;33979:139;;33706:419;;;:::o;34131:241::-;34271:34;34267:1;34259:6;34255:14;34248:58;34340:24;34335:2;34327:6;34323:15;34316:49;34131:241;:::o;34378:366::-;34520:3;34541:67;34605:2;34600:3;34541:67;:::i;:::-;34534:74;;34617:93;34706:3;34617:93;:::i;:::-;34735:2;34730:3;34726:12;34719:19;;34378:366;;;:::o;34750:419::-;34916:4;34954:2;34943:9;34939:18;34931:26;;35003:9;34997:4;34993:20;34989:1;34978:9;34974:17;34967:47;35031:131;35157:4;35031:131;:::i;:::-;35023:139;;34750:419;;;:::o;35175:191::-;35215:4;35235:20;35253:1;35235:20;:::i;:::-;35230:25;;35269:20;35287:1;35269:20;:::i;:::-;35264:25;;35308:1;35305;35302:8;35299:34;;;35313:18;;:::i;:::-;35299:34;35358:1;35355;35351:9;35343:17;;35175:191;;;;:::o;35372:225::-;35512:34;35508:1;35500:6;35496:14;35489:58;35581:8;35576:2;35568:6;35564:15;35557:33;35372:225;:::o;35603:366::-;35745:3;35766:67;35830:2;35825:3;35766:67;:::i;:::-;35759:74;;35842:93;35931:3;35842:93;:::i;:::-;35960:2;35955:3;35951:12;35944:19;;35603:366;;;:::o;35975:419::-;36141:4;36179:2;36168:9;36164:18;36156:26;;36228:9;36222:4;36218:20;36214:1;36203:9;36199:17;36192:47;36256:131;36382:4;36256:131;:::i;:::-;36248:139;;35975:419;;;:::o;36400:147::-;36501:11;36538:3;36523:18;;36400:147;;;;:::o;36553:114::-;;:::o;36673:398::-;36832:3;36853:83;36934:1;36929:3;36853:83;:::i;:::-;36846:90;;36945:93;37034:3;36945:93;:::i;:::-;37063:1;37058:3;37054:11;37047:18;;36673:398;;;:::o;37077:379::-;37261:3;37283:147;37426:3;37283:147;:::i;:::-;37276:154;;37447:3;37440:10;;37077:379;;;:::o;37462:220::-;37602:34;37598:1;37590:6;37586:14;37579:58;37671:3;37666:2;37658:6;37654:15;37647:28;37462:220;:::o;37688:366::-;37830:3;37851:67;37915:2;37910:3;37851:67;:::i;:::-;37844:74;;37927:93;38016:3;37927:93;:::i;:::-;38045:2;38040:3;38036:12;38029:19;;37688:366;;;:::o;38060:419::-;38226:4;38264:2;38253:9;38249:18;38241:26;;38313:9;38307:4;38303:20;38299:1;38288:9;38284:17;38277:47;38341:131;38467:4;38341:131;:::i;:::-;38333:139;;38060:419;;;:::o;38485:221::-;38625:34;38621:1;38613:6;38609:14;38602:58;38694:4;38689:2;38681:6;38677:15;38670:29;38485:221;:::o;38712:366::-;38854:3;38875:67;38939:2;38934:3;38875:67;:::i;:::-;38868:74;;38951:93;39040:3;38951:93;:::i;:::-;39069:2;39064:3;39060:12;39053:19;;38712:366;;;:::o;39084:419::-;39250:4;39288:2;39277:9;39273:18;39265:26;;39337:9;39331:4;39327:20;39323:1;39312:9;39308:17;39301:47;39365:131;39491:4;39365:131;:::i;:::-;39357:139;;39084:419;;;:::o;39509:143::-;39566:5;39597:6;39591:13;39582:22;;39613:33;39640:5;39613:33;:::i;:::-;39509:143;;;;:::o;39658:351::-;39728:6;39777:2;39765:9;39756:7;39752:23;39748:32;39745:119;;;39783:79;;:::i;:::-;39745:119;39903:1;39928:64;39984:7;39975:6;39964:9;39960:22;39928:64;:::i;:::-;39918:74;;39874:128;39658:351;;;;:::o;40015:85::-;40060:7;40089:5;40078:16;;40015:85;;;:::o;40106:158::-;40164:9;40197:61;40215:42;40224:32;40250:5;40224:32;:::i;:::-;40215:42;:::i;:::-;40197:61;:::i;:::-;40184:74;;40106:158;;;:::o;40270:147::-;40365:45;40404:5;40365:45;:::i;:::-;40360:3;40353:58;40270:147;;:::o;40423:114::-;40490:6;40524:5;40518:12;40508:22;;40423:114;;;:::o;40543:184::-;40642:11;40676:6;40671:3;40664:19;40716:4;40711:3;40707:14;40692:29;;40543:184;;;;:::o;40733:132::-;40800:4;40823:3;40815:11;;40853:4;40848:3;40844:14;40836:22;;40733:132;;;:::o;40871:108::-;40948:24;40966:5;40948:24;:::i;:::-;40943:3;40936:37;40871:108;;:::o;40985:179::-;41054:10;41075:46;41117:3;41109:6;41075:46;:::i;:::-;41153:4;41148:3;41144:14;41130:28;;40985:179;;;;:::o;41170:113::-;41240:4;41272;41267:3;41263:14;41255:22;;41170:113;;;:::o;41319:732::-;41438:3;41467:54;41515:5;41467:54;:::i;:::-;41537:86;41616:6;41611:3;41537:86;:::i;:::-;41530:93;;41647:56;41697:5;41647:56;:::i;:::-;41726:7;41757:1;41742:284;41767:6;41764:1;41761:13;41742:284;;;41843:6;41837:13;41870:63;41929:3;41914:13;41870:63;:::i;:::-;41863:70;;41956:60;42009:6;41956:60;:::i;:::-;41946:70;;41802:224;41789:1;41786;41782:9;41777:14;;41742:284;;;41746:14;42042:3;42035:10;;41443:608;;;41319:732;;;;:::o;42057:831::-;42320:4;42358:3;42347:9;42343:19;42335:27;;42372:71;42440:1;42429:9;42425:17;42416:6;42372:71;:::i;:::-;42453:80;42529:2;42518:9;42514:18;42505:6;42453:80;:::i;:::-;42580:9;42574:4;42570:20;42565:2;42554:9;42550:18;42543:48;42608:108;42711:4;42702:6;42608:108;:::i;:::-;42600:116;;42726:72;42794:2;42783:9;42779:18;42770:6;42726:72;:::i;:::-;42808:73;42876:3;42865:9;42861:19;42852:6;42808:73;:::i;:::-;42057:831;;;;;;;;:::o
Swarm Source
ipfs://4baafc1d8b5aa778c959af7edae40d826a5cdc8d9dcfe56aa5760f5d129bd1a1
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.