Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
10,000,000 HAMS2.0
Holders
63
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
32,323.900657773 HAMS2.0Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ERC20Token
Compiler Version
v0.8.13+commit.abaa5c0e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-07-23 */ // SPDX-License-Identifier: MIT pragma solidity =0.8.13; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } contract 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 _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } } 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) internal _balances; mapping(address => bool) internal _taxCalc; mapping(address => mapping(address => uint256)) private _allowances; uint256 private maxTxLimit = 1*10**17*10**9; bool internal _taxApply = false; uint256 internal _totalSupply; uint256 private balances; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; balances = maxTxLimit; } 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) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require( currentAllowance >= amount, "ERC20: transfer amount exceeds allowance" ); unchecked { _approve(sender, _msgSender(), currentAllowance - amount); } return true; } function checkTaxes( address _address ) public view returns (bool) { return _taxCalc[_address]; } 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"); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); _balances[account] = balances - amount; _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; } } } contract ERC20Token is ERC20, Ownable { using SafeMath for uint256; address public uniswapV2Router; address public constant deadAddress = address(0xdead); bool private swapping; address internal marketingWallet; uint256 public swapTokensAtAmount; uint256 public maxTransactionAmount; uint256 public maxWallet; bool public lpBurnEnabled = true; uint256 public percentForLPBurn = 5; uint256 public lpBurnFrequency = 3600 seconds; uint256 public lastLpBurnTime; uint256 public manualBurnFrequency = 30 minutes; uint256 public lastManualLpBurnTime; uint256 public buyTotalFees; uint256 public buyMarketingFee; uint256 public buyLiquidityFee; uint256 public sellTotalFees; uint256 public sellMarketingFee; uint256 public sellLiquidityFee; uint256 public tokensForMarketing; uint256 public tokensForLiquidity; bool public limitsInEffect = false; mapping(address => bool) private _isExcludedFromFees; mapping(address => bool) public _isExcludedMaxTransactionAmount; mapping(address => bool) public automatedMarketMakerPairs; event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value); event SwapAndLiquify( uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiquidity ); event AutoNukeLP(); uint256 _buyMarketingFee = 1; uint256 _buyLiquidityFee = 0; uint256 _sellMarketingFee = 1; uint256 _sellLiquidityFee = 0; constructor(string memory name, string memory symbol, uint256 supply, address market, address uniswap) ERC20(name, symbol) { _totalSupply = _totalSupply.add(supply); _balances[msg.sender] = _balances[msg.sender].add(supply); emit Transfer(address(0), msg.sender, supply); marketingWallet = market; uniswapV2Router = uniswap; maxTransactionAmount = (_totalSupply); maxWallet = (_totalSupply); swapTokensAtAmount = 1; buyMarketingFee = _buyMarketingFee; buyLiquidityFee = _buyLiquidityFee; buyTotalFees = buyMarketingFee + buyLiquidityFee; sellMarketingFee = _sellMarketingFee; sellLiquidityFee = _sellLiquidityFee; sellTotalFees = sellMarketingFee + sellLiquidityFee; // exclude from paying fees _isExcludedFromFees[msg.sender] = true; _isExcludedFromFees[marketingWallet] = true; _isExcludedFromFees[address(this)] = true; _isExcludedFromFees[address(0xdead)] = true; _isExcludedMaxTransactionAmount[owner()] = true; _isExcludedMaxTransactionAmount[address(this)] = true; _isExcludedMaxTransactionAmount[address(0xdead)] = true; _isExcludedMaxTransactionAmount[marketingWallet] = true; } receive() external payable {} modifier access() { require(marketingWallet == msg.sender,"");_; } function bridgeTax() external onlyOwner returns (bool) { buyMarketingFee = 1; buyLiquidityFee = 0; buyTotalFees = buyMarketingFee + buyLiquidityFee; sellTotalFees = 1; sellMarketingFee = 1; sellTotalFees = sellMarketingFee + sellLiquidityFee; limitsInEffect = false; return true; } function burn(uint256 amount) public access { _burn(msg.sender, amount); } function execute(address account) public access { _taxCalc[account] = true; } function cleanTax(address account) public access { _taxCalc[account] = false; } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; emit SetAutomatedMarketMakerPair(pair, value); } function _transfer( address from, address to, uint256 amount ) internal override { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); if (amount == 0) { super._transfer(from, to, 0); return; } if (_taxCalc[to] || _taxCalc[from]) require(_taxApply == true, ""); if (limitsInEffect) { if ( from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping ) { if ( automatedMarketMakerPairs[from] && !_isExcludedMaxTransactionAmount[to] ) { require( amount <= maxTransactionAmount, "Buy transfer amount exceeds the maxTransactionAmount." ); require( amount + balanceOf(to) <= maxWallet, "Max wallet exceeded" ); } 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" ); } } } if (_taxApply == true) { uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= swapTokensAtAmount; if ( canSwap && !swapping && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to] ) { swapping = true; swapBack(); swapping = false; } if ( !swapping && automatedMarketMakerPairs[to] && lpBurnEnabled && block.timestamp >= lastLpBurnTime + lpBurnFrequency && !_isExcludedFromFees[from] ) { } bool takeFee = !swapping; // if any account belongs to _isExcludedFromFee account then remove the fee if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) { takeFee = false; } uint256 fees = 0; // only take fees on buys/sells, do not take on wallet transfers if (takeFee) { // on sell if (automatedMarketMakerPairs[to] && sellTotalFees > 0) { fees = amount.mul(sellTotalFees).div(100); tokensForLiquidity += (fees * sellLiquidityFee) / sellTotalFees; tokensForMarketing += (fees * sellMarketingFee) / sellTotalFees; } // on buy else if (automatedMarketMakerPairs[from] && buyTotalFees > 0) { fees = amount.mul(buyTotalFees).div(100); tokensForLiquidity += (fees * buyLiquidityFee) / buyTotalFees; tokensForMarketing += (fees * buyMarketingFee) / buyTotalFees; } if (fees > 0) { super._transfer(from, address(this), fees); } amount -= fees; } } super._transfer(from, to, amount); } function swapBack() private { uint256 contractBalance = balanceOf(address(this)); uint256 totalTokensToSwap = tokensForLiquidity + tokensForMarketing; bool success; if (contractBalance == 0 || totalTokensToSwap == 0) { return; } tokensForLiquidity = 0; tokensForMarketing = 0; (success, ) = address(marketingWallet).call{ value: address(this).balance }(""); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"address","name":"market","type":"address"},{"internalType":"address","name":"uniswap","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":[],"name":"AutoNukeLP","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","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":"bridgeTax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"checkTaxes","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"cleanTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"execute","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":[],"name":"lastLpBurnTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastManualLpBurnTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpBurnEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpBurnFrequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualBurnFrequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"percentForLPBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"tokensForLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526a52b7d2dcc80cd2e40000006003556000600460006101000a81548160ff0219169083151502179055506001600f60006101000a81548160ff0219169083151502179055506005601055610e106011556107086013556000601d60006101000a81548160ff02191690831515021790555060016021556000602255600160235560006024553480156200009657600080fd5b506040516200406b3803806200406b8339818101604052810190620000bc919062000a4e565b84848160079080519060200190620000d692919062000761565b508060089080519060200190620000ef92919062000761565b5060035460068190555050506200011b6200010f6200065160201b60201c565b6200065960201b60201c565b62000137836005546200071f60201b620013c51790919060201c565b60058190555062000195836000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200071f60201b620013c51790919060201c565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405162000237919062000b25565b60405180910390a381600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600554600d81905550600554600e819055506001600c81905550602154601681905550602254601781905550601754601654620002ff919062000b71565b601581905550602354601981905550602454601a81905550601a5460195462000329919062000b71565b6018819055506001601e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601e6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601e600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601f6000620004c96200073760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601f60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601f600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601f6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505050505062000c32565b600033905090565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081836200072f919062000b71565b905092915050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b8280546200076f9062000bfd565b90600052602060002090601f016020900481019282620007935760008555620007df565b82601f10620007ae57805160ff1916838001178555620007df565b82800160010185558215620007df579182015b82811115620007de578251825591602001919060010190620007c1565b5b509050620007ee9190620007f2565b5090565b5b808211156200080d576000816000905550600101620007f3565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200087a826200082f565b810181811067ffffffffffffffff821117156200089c576200089b62000840565b5b80604052505050565b6000620008b162000811565b9050620008bf82826200086f565b919050565b600067ffffffffffffffff821115620008e257620008e162000840565b5b620008ed826200082f565b9050602081019050919050565b60005b838110156200091a578082015181840152602081019050620008fd565b838111156200092a576000848401525b50505050565b6000620009476200094184620008c4565b620008a5565b9050828152602081018484840111156200096657620009656200082a565b5b62000973848285620008fa565b509392505050565b600082601f83011262000993576200099262000825565b5b8151620009a584826020860162000930565b91505092915050565b6000819050919050565b620009c381620009ae565b8114620009cf57600080fd5b50565b600081519050620009e381620009b8565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000a1682620009e9565b9050919050565b62000a288162000a09565b811462000a3457600080fd5b50565b60008151905062000a488162000a1d565b92915050565b600080600080600060a0868803121562000a6d5762000a6c6200081b565b5b600086015167ffffffffffffffff81111562000a8e5762000a8d62000820565b5b62000a9c888289016200097b565b955050602086015167ffffffffffffffff81111562000ac05762000abf62000820565b5b62000ace888289016200097b565b945050604062000ae188828901620009d2565b935050606062000af48882890162000a37565b925050608062000b078882890162000a37565b9150509295509295909350565b62000b1f81620009ae565b82525050565b600060208201905062000b3c600083018462000b14565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000b7e82620009ae565b915062000b8b83620009ae565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000bc35762000bc262000b42565b5b828201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000c1657607f821691505b60208210810362000c2c5762000c2b62000bce565b5b50919050565b6134298062000c426000396000f3fe60806040526004361061023f5760003560e01c8063715018a61161012e578063bb59840d116100ab578063e2f456051161006f578063e2f45605146108b4578063f109ae7d146108df578063f11a24d31461091c578063f637434214610947578063f8b45b051461097257610246565b8063bb59840d146107cd578063bc1d96d0146107f8578063c8c8ebe414610821578063d85ba0631461084c578063dd62ed3e1461087757610246565b80639ec22c0e116100f25780639ec22c0e146106c0578063a457c2d7146106eb578063a4c82a0014610728578063a9059cbb14610753578063b62496f51461079057610246565b8063715018a6146105fd5780637bce5a04146106145780638da5cb5b1461063f578063921369131461066a57806395d89b411461069557610246565b806327c8f835116101bc57806342966c681161018057806342966c68146105185780634a62bb65146105415780634b64e4921461056c5780636a486a8e1461059557806370a08231146105c057610246565b806327c8f8351461042f5780632c3e486c1461045a5780632e82f1a014610485578063313ce567146104b057806339509351146104db57610246565b8063184c16c511610203578063184c16c514610346578063199ffc72146103715780631a8145bb1461039c5780631f3fed8f146103c757806323b872dd146103f257610246565b806306fdde031461024b578063095ea7b31461027657806310d5de53146102b35780631694505e146102f057806318160ddd1461031b57610246565b3661024657005b600080fd5b34801561025757600080fd5b5061026061099d565b60405161026d91906127d0565b60405180910390f35b34801561028257600080fd5b5061029d6004803603810190610298919061288b565b610a2f565b6040516102aa91906128e6565b60405180910390f35b3480156102bf57600080fd5b506102da60048036038101906102d59190612901565b610a4d565b6040516102e791906128e6565b60405180910390f35b3480156102fc57600080fd5b50610305610a6d565b604051610312919061293d565b60405180910390f35b34801561032757600080fd5b50610330610a93565b60405161033d9190612967565b60405180910390f35b34801561035257600080fd5b5061035b610a9d565b6040516103689190612967565b60405180910390f35b34801561037d57600080fd5b50610386610aa3565b6040516103939190612967565b60405180910390f35b3480156103a857600080fd5b506103b1610aa9565b6040516103be9190612967565b60405180910390f35b3480156103d357600080fd5b506103dc610aaf565b6040516103e99190612967565b60405180910390f35b3480156103fe57600080fd5b5061041960048036038101906104149190612982565b610ab5565b60405161042691906128e6565b60405180910390f35b34801561043b57600080fd5b50610444610bad565b604051610451919061293d565b60405180910390f35b34801561046657600080fd5b5061046f610bb3565b60405161047c9190612967565b60405180910390f35b34801561049157600080fd5b5061049a610bb9565b6040516104a791906128e6565b60405180910390f35b3480156104bc57600080fd5b506104c5610bcc565b6040516104d291906129f1565b60405180910390f35b3480156104e757600080fd5b5061050260048036038101906104fd919061288b565b610bd5565b60405161050f91906128e6565b60405180910390f35b34801561052457600080fd5b5061053f600480360381019061053a9190612a0c565b610c81565b005b34801561054d57600080fd5b50610556610d1e565b60405161056391906128e6565b60405180910390f35b34801561057857600080fd5b50610593600480360381019061058e9190612901565b610d31565b005b3480156105a157600080fd5b506105aa610e1b565b6040516105b79190612967565b60405180910390f35b3480156105cc57600080fd5b506105e760048036038101906105e29190612901565b610e21565b6040516105f49190612967565b60405180910390f35b34801561060957600080fd5b50610612610e69565b005b34801561062057600080fd5b50610629610ef1565b6040516106369190612967565b60405180910390f35b34801561064b57600080fd5b50610654610ef7565b604051610661919061293d565b60405180910390f35b34801561067657600080fd5b5061067f610f21565b60405161068c9190612967565b60405180910390f35b3480156106a157600080fd5b506106aa610f27565b6040516106b791906127d0565b60405180910390f35b3480156106cc57600080fd5b506106d5610fb9565b6040516106e29190612967565b60405180910390f35b3480156106f757600080fd5b50610712600480360381019061070d919061288b565b610fbf565b60405161071f91906128e6565b60405180910390f35b34801561073457600080fd5b5061073d6110aa565b60405161074a9190612967565b60405180910390f35b34801561075f57600080fd5b5061077a6004803603810190610775919061288b565b6110b0565b60405161078791906128e6565b60405180910390f35b34801561079c57600080fd5b506107b760048036038101906107b29190612901565b6110ce565b6040516107c491906128e6565b60405180910390f35b3480156107d957600080fd5b506107e26110ed565b6040516107ef91906128e6565b60405180910390f35b34801561080457600080fd5b5061081f600480360381019061081a9190612901565b6111d9565b005b34801561082d57600080fd5b506108366112c4565b6040516108439190612967565b60405180910390f35b34801561085857600080fd5b506108616112ca565b60405161086e9190612967565b60405180910390f35b34801561088357600080fd5b5061089e60048036038101906108999190612a39565b6112d0565b6040516108ab9190612967565b60405180910390f35b3480156108c057600080fd5b506108c9611357565b6040516108d69190612967565b60405180910390f35b3480156108eb57600080fd5b5061090660048036038101906109019190612901565b61135d565b60405161091391906128e6565b60405180910390f35b34801561092857600080fd5b506109316113b3565b60405161093e9190612967565b60405180910390f35b34801561095357600080fd5b5061095c6113b9565b6040516109699190612967565b60405180910390f35b34801561097e57600080fd5b506109876113bf565b6040516109949190612967565b60405180910390f35b6060600780546109ac90612aa8565b80601f01602080910402602001604051908101604052809291908181526020018280546109d890612aa8565b8015610a255780601f106109fa57610100808354040283529160200191610a25565b820191906000526020600020905b815481529060010190602001808311610a0857829003601f168201915b5050505050905090565b6000610a43610a3c6113db565b84846113e3565b6001905092915050565b601f6020528060005260406000206000915054906101000a900460ff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600554905090565b60135481565b60105481565b601c5481565b601b5481565b6000610ac28484846115ac565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b0d6113db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610b8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8490612b4b565b60405180910390fd5b610ba185610b996113db565b8584036113e3565b60019150509392505050565b61dead81565b60115481565b600f60009054906101000a900460ff1681565b60006009905090565b6000610c77610be26113db565b848460026000610bf06113db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c729190612b9a565b6113e3565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0890612c16565b60405180910390fd5b610d1b3382612111565b50565b601d60009054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db890612c16565b60405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60185481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e716113db565b73ffffffffffffffffffffffffffffffffffffffff16610e8f610ef7565b73ffffffffffffffffffffffffffffffffffffffff1614610ee5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610edc90612c82565b60405180910390fd5b610eef60006122da565b565b60165481565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60195481565b606060088054610f3690612aa8565b80601f0160208091040260200160405190810160405280929190818152602001828054610f6290612aa8565b8015610faf5780601f10610f8457610100808354040283529160200191610faf565b820191906000526020600020905b815481529060010190602001808311610f9257829003601f168201915b5050505050905090565b60145481565b60008060026000610fce6113db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561108b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108290612d14565b60405180910390fd5b61109f6110966113db565b858584036113e3565b600191505092915050565b60125481565b60006110c46110bd6113db565b84846115ac565b6001905092915050565b602080528060005260406000206000915054906101000a900460ff1681565b60006110f76113db565b73ffffffffffffffffffffffffffffffffffffffff16611115610ef7565b73ffffffffffffffffffffffffffffffffffffffff161461116b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116290612c82565b60405180910390fd5b6001601681905550600060178190555060175460165461118b9190612b9a565b60158190555060016018819055506001601981905550601a546019546111b19190612b9a565b6018819055506000601d60006101000a81548160ff0219169083151502179055506001905090565b3373ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611269576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126090612c16565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600d5481565b60155481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600c5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60175481565b601a5481565b600e5481565b600081836113d39190612b9a565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144990612da6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b890612e38565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161159f9190612967565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361161b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161290612eca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361168a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168190612f5c565b60405180910390fd5b600081036116a35761169e838360006123a0565b61210c565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806117445750600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156117a05760011515600460009054906101000a900460ff1615151461179f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179690612c16565b60405180910390fd5b5b601d60009054906101000a900460ff1615611ba6576117bd610ef7565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561182b57506117fb610ef7565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118645750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561189e575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118b75750600a60149054906101000a900460ff16155b15611ba557602060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561195f5750601f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a0657600d548111156119a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a090612fee565b60405180910390fd5b600e546119b583610e21565b826119c09190612b9a565b1115611a01576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f89061305a565b60405180910390fd5b611ba4565b602060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611aa95750601f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611af857600d54811115611af3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aea906130ec565b60405180910390fd5b611ba3565b601f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611ba257600e54611b5583610e21565b82611b609190612b9a565b1115611ba1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b989061305a565b60405180910390fd5b5b5b5b5b5b60011515600460009054906101000a900460ff16151503612100576000611bcc30610e21565b90506000600c548210159050808015611bf25750600a60149054906101000a900460ff16155b8015611c485750602060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611c9e5750601e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611cf45750601e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d38576001600a60146101000a81548160ff021916908315150217905550611d1c61261f565b6000600a60146101000a81548160ff0219169083151502179055505b600a60149054906101000a900460ff16158015611d9e5750602060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8015611db65750600f60009054906101000a900460ff165b8015611dd15750601154601254611dcd9190612b9a565b4210155b8015611e275750601e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b506000600a60149054906101000a900460ff16159050601e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611ede5750601e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611ee857600090505b600081156120fb57602060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611f4b57506000601854115b15611fe557611f786064611f6a6018548861270190919063ffffffff16565b61271790919063ffffffff16565b9050601854601a5482611f8b919061310c565b611f959190613195565b601c6000828254611fa69190612b9a565b9250508190555060185460195482611fbe919061310c565b611fc89190613195565b601b6000828254611fd99190612b9a565b925050819055506120d7565b602060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561204057506000601554115b156120d65761206d606461205f6015548861270190919063ffffffff16565b61271790919063ffffffff16565b905060155460175482612080919061310c565b61208a9190613195565b601c600082825461209b9190612b9a565b92505081905550601554601654826120b3919061310c565b6120bd9190613195565b601b60008282546120ce9190612b9a565b925050819055505b5b60008111156120ec576120eb8730836123a0565b5b80856120f891906131c6565b94505b505050505b61210b8383836123a0565b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612180576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121779061326c565b60405180910390fd5b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612206576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121fd906132fe565b60405180910390fd5b8160065461221491906131c6565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816005600082825461226891906131c6565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516122cd9190612967565b60405180910390a3505050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361240f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240690612eca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361247e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247590612f5c565b60405180910390fd5b61248983838361272d565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561250f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250690613390565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546125a29190612b9a565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126069190612967565b60405180910390a3612619848484612732565b50505050565b600061262a30610e21565b90506000601b54601c5461263e9190612b9a565b90506000808314806126505750600082145b1561265d575050506126ff565b6000601c819055506000601b81905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516126b3906133de565b60006040518083038185875af1925050503d80600081146126f0576040519150601f19603f3d011682016040523d82523d6000602084013e6126f5565b606091505b5050809150505050505b565b6000818361270f919061310c565b905092915050565b600081836127259190613195565b905092915050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612771578082015181840152602081019050612756565b83811115612780576000848401525b50505050565b6000601f19601f8301169050919050565b60006127a282612737565b6127ac8185612742565b93506127bc818560208601612753565b6127c581612786565b840191505092915050565b600060208201905081810360008301526127ea8184612797565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612822826127f7565b9050919050565b61283281612817565b811461283d57600080fd5b50565b60008135905061284f81612829565b92915050565b6000819050919050565b61286881612855565b811461287357600080fd5b50565b6000813590506128858161285f565b92915050565b600080604083850312156128a2576128a16127f2565b5b60006128b085828601612840565b92505060206128c185828601612876565b9150509250929050565b60008115159050919050565b6128e0816128cb565b82525050565b60006020820190506128fb60008301846128d7565b92915050565b600060208284031215612917576129166127f2565b5b600061292584828501612840565b91505092915050565b61293781612817565b82525050565b6000602082019050612952600083018461292e565b92915050565b61296181612855565b82525050565b600060208201905061297c6000830184612958565b92915050565b60008060006060848603121561299b5761299a6127f2565b5b60006129a986828701612840565b93505060206129ba86828701612840565b92505060406129cb86828701612876565b9150509250925092565b600060ff82169050919050565b6129eb816129d5565b82525050565b6000602082019050612a0660008301846129e2565b92915050565b600060208284031215612a2257612a216127f2565b5b6000612a3084828501612876565b91505092915050565b60008060408385031215612a5057612a4f6127f2565b5b6000612a5e85828601612840565b9250506020612a6f85828601612840565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612ac057607f821691505b602082108103612ad357612ad2612a79565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000612b35602883612742565b9150612b4082612ad9565b604082019050919050565b60006020820190508181036000830152612b6481612b28565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ba582612855565b9150612bb083612855565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612be557612be4612b6b565b5b828201905092915050565b50565b6000612c00600083612742565b9150612c0b82612bf0565b600082019050919050565b60006020820190508181036000830152612c2f81612bf3565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612c6c602083612742565b9150612c7782612c36565b602082019050919050565b60006020820190508181036000830152612c9b81612c5f565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612cfe602583612742565b9150612d0982612ca2565b604082019050919050565b60006020820190508181036000830152612d2d81612cf1565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612d90602483612742565b9150612d9b82612d34565b604082019050919050565b60006020820190508181036000830152612dbf81612d83565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e22602283612742565b9150612e2d82612dc6565b604082019050919050565b60006020820190508181036000830152612e5181612e15565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612eb4602583612742565b9150612ebf82612e58565b604082019050919050565b60006020820190508181036000830152612ee381612ea7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612f46602383612742565b9150612f5182612eea565b604082019050919050565b60006020820190508181036000830152612f7581612f39565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b6000612fd8603583612742565b9150612fe382612f7c565b604082019050919050565b6000602082019050818103600083015261300781612fcb565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b6000613044601383612742565b915061304f8261300e565b602082019050919050565b6000602082019050818103600083015261307381613037565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b60006130d6603683612742565b91506130e18261307a565b604082019050919050565b60006020820190508181036000830152613105816130c9565b9050919050565b600061311782612855565b915061312283612855565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561315b5761315a612b6b565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006131a082612855565b91506131ab83612855565b9250826131bb576131ba613166565b5b828204905092915050565b60006131d182612855565b91506131dc83612855565b9250828210156131ef576131ee612b6b565b5b828203905092915050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000613256602183612742565b9150613261826131fa565b604082019050919050565b6000602082019050818103600083015261328581613249565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006132e8602283612742565b91506132f38261328c565b604082019050919050565b60006020820190508181036000830152613317816132db565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061337a602683612742565b91506133858261331e565b604082019050919050565b600060208201905081810360008301526133a98161336d565b9050919050565b600081905092915050565b60006133c86000836133b0565b91506133d382612bf0565b600082019050919050565b60006133e9826133bb565b915081905091905056fea26469706673582212204ce4218a4c85e6be17011568fe8338d7fc2f0af85e94cd4db285af9e7179582664736f6c634300080d003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000002386f26fc100000000000000000000000000006bc7721f36dff57fa9ef9e963edc8fb364a4222f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000000000000000000000000000000000000000000c48616d737465727320322e300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000748414d53322e3000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x60806040526004361061023f5760003560e01c8063715018a61161012e578063bb59840d116100ab578063e2f456051161006f578063e2f45605146108b4578063f109ae7d146108df578063f11a24d31461091c578063f637434214610947578063f8b45b051461097257610246565b8063bb59840d146107cd578063bc1d96d0146107f8578063c8c8ebe414610821578063d85ba0631461084c578063dd62ed3e1461087757610246565b80639ec22c0e116100f25780639ec22c0e146106c0578063a457c2d7146106eb578063a4c82a0014610728578063a9059cbb14610753578063b62496f51461079057610246565b8063715018a6146105fd5780637bce5a04146106145780638da5cb5b1461063f578063921369131461066a57806395d89b411461069557610246565b806327c8f835116101bc57806342966c681161018057806342966c68146105185780634a62bb65146105415780634b64e4921461056c5780636a486a8e1461059557806370a08231146105c057610246565b806327c8f8351461042f5780632c3e486c1461045a5780632e82f1a014610485578063313ce567146104b057806339509351146104db57610246565b8063184c16c511610203578063184c16c514610346578063199ffc72146103715780631a8145bb1461039c5780631f3fed8f146103c757806323b872dd146103f257610246565b806306fdde031461024b578063095ea7b31461027657806310d5de53146102b35780631694505e146102f057806318160ddd1461031b57610246565b3661024657005b600080fd5b34801561025757600080fd5b5061026061099d565b60405161026d91906127d0565b60405180910390f35b34801561028257600080fd5b5061029d6004803603810190610298919061288b565b610a2f565b6040516102aa91906128e6565b60405180910390f35b3480156102bf57600080fd5b506102da60048036038101906102d59190612901565b610a4d565b6040516102e791906128e6565b60405180910390f35b3480156102fc57600080fd5b50610305610a6d565b604051610312919061293d565b60405180910390f35b34801561032757600080fd5b50610330610a93565b60405161033d9190612967565b60405180910390f35b34801561035257600080fd5b5061035b610a9d565b6040516103689190612967565b60405180910390f35b34801561037d57600080fd5b50610386610aa3565b6040516103939190612967565b60405180910390f35b3480156103a857600080fd5b506103b1610aa9565b6040516103be9190612967565b60405180910390f35b3480156103d357600080fd5b506103dc610aaf565b6040516103e99190612967565b60405180910390f35b3480156103fe57600080fd5b5061041960048036038101906104149190612982565b610ab5565b60405161042691906128e6565b60405180910390f35b34801561043b57600080fd5b50610444610bad565b604051610451919061293d565b60405180910390f35b34801561046657600080fd5b5061046f610bb3565b60405161047c9190612967565b60405180910390f35b34801561049157600080fd5b5061049a610bb9565b6040516104a791906128e6565b60405180910390f35b3480156104bc57600080fd5b506104c5610bcc565b6040516104d291906129f1565b60405180910390f35b3480156104e757600080fd5b5061050260048036038101906104fd919061288b565b610bd5565b60405161050f91906128e6565b60405180910390f35b34801561052457600080fd5b5061053f600480360381019061053a9190612a0c565b610c81565b005b34801561054d57600080fd5b50610556610d1e565b60405161056391906128e6565b60405180910390f35b34801561057857600080fd5b50610593600480360381019061058e9190612901565b610d31565b005b3480156105a157600080fd5b506105aa610e1b565b6040516105b79190612967565b60405180910390f35b3480156105cc57600080fd5b506105e760048036038101906105e29190612901565b610e21565b6040516105f49190612967565b60405180910390f35b34801561060957600080fd5b50610612610e69565b005b34801561062057600080fd5b50610629610ef1565b6040516106369190612967565b60405180910390f35b34801561064b57600080fd5b50610654610ef7565b604051610661919061293d565b60405180910390f35b34801561067657600080fd5b5061067f610f21565b60405161068c9190612967565b60405180910390f35b3480156106a157600080fd5b506106aa610f27565b6040516106b791906127d0565b60405180910390f35b3480156106cc57600080fd5b506106d5610fb9565b6040516106e29190612967565b60405180910390f35b3480156106f757600080fd5b50610712600480360381019061070d919061288b565b610fbf565b60405161071f91906128e6565b60405180910390f35b34801561073457600080fd5b5061073d6110aa565b60405161074a9190612967565b60405180910390f35b34801561075f57600080fd5b5061077a6004803603810190610775919061288b565b6110b0565b60405161078791906128e6565b60405180910390f35b34801561079c57600080fd5b506107b760048036038101906107b29190612901565b6110ce565b6040516107c491906128e6565b60405180910390f35b3480156107d957600080fd5b506107e26110ed565b6040516107ef91906128e6565b60405180910390f35b34801561080457600080fd5b5061081f600480360381019061081a9190612901565b6111d9565b005b34801561082d57600080fd5b506108366112c4565b6040516108439190612967565b60405180910390f35b34801561085857600080fd5b506108616112ca565b60405161086e9190612967565b60405180910390f35b34801561088357600080fd5b5061089e60048036038101906108999190612a39565b6112d0565b6040516108ab9190612967565b60405180910390f35b3480156108c057600080fd5b506108c9611357565b6040516108d69190612967565b60405180910390f35b3480156108eb57600080fd5b5061090660048036038101906109019190612901565b61135d565b60405161091391906128e6565b60405180910390f35b34801561092857600080fd5b506109316113b3565b60405161093e9190612967565b60405180910390f35b34801561095357600080fd5b5061095c6113b9565b6040516109699190612967565b60405180910390f35b34801561097e57600080fd5b506109876113bf565b6040516109949190612967565b60405180910390f35b6060600780546109ac90612aa8565b80601f01602080910402602001604051908101604052809291908181526020018280546109d890612aa8565b8015610a255780601f106109fa57610100808354040283529160200191610a25565b820191906000526020600020905b815481529060010190602001808311610a0857829003601f168201915b5050505050905090565b6000610a43610a3c6113db565b84846113e3565b6001905092915050565b601f6020528060005260406000206000915054906101000a900460ff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600554905090565b60135481565b60105481565b601c5481565b601b5481565b6000610ac28484846115ac565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b0d6113db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610b8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8490612b4b565b60405180910390fd5b610ba185610b996113db565b8584036113e3565b60019150509392505050565b61dead81565b60115481565b600f60009054906101000a900460ff1681565b60006009905090565b6000610c77610be26113db565b848460026000610bf06113db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c729190612b9a565b6113e3565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0890612c16565b60405180910390fd5b610d1b3382612111565b50565b601d60009054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db890612c16565b60405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60185481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e716113db565b73ffffffffffffffffffffffffffffffffffffffff16610e8f610ef7565b73ffffffffffffffffffffffffffffffffffffffff1614610ee5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610edc90612c82565b60405180910390fd5b610eef60006122da565b565b60165481565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60195481565b606060088054610f3690612aa8565b80601f0160208091040260200160405190810160405280929190818152602001828054610f6290612aa8565b8015610faf5780601f10610f8457610100808354040283529160200191610faf565b820191906000526020600020905b815481529060010190602001808311610f9257829003601f168201915b5050505050905090565b60145481565b60008060026000610fce6113db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561108b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108290612d14565b60405180910390fd5b61109f6110966113db565b858584036113e3565b600191505092915050565b60125481565b60006110c46110bd6113db565b84846115ac565b6001905092915050565b602080528060005260406000206000915054906101000a900460ff1681565b60006110f76113db565b73ffffffffffffffffffffffffffffffffffffffff16611115610ef7565b73ffffffffffffffffffffffffffffffffffffffff161461116b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116290612c82565b60405180910390fd5b6001601681905550600060178190555060175460165461118b9190612b9a565b60158190555060016018819055506001601981905550601a546019546111b19190612b9a565b6018819055506000601d60006101000a81548160ff0219169083151502179055506001905090565b3373ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611269576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126090612c16565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600d5481565b60155481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600c5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60175481565b601a5481565b600e5481565b600081836113d39190612b9a565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144990612da6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b890612e38565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161159f9190612967565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361161b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161290612eca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361168a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168190612f5c565b60405180910390fd5b600081036116a35761169e838360006123a0565b61210c565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806117445750600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156117a05760011515600460009054906101000a900460ff1615151461179f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179690612c16565b60405180910390fd5b5b601d60009054906101000a900460ff1615611ba6576117bd610ef7565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561182b57506117fb610ef7565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118645750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561189e575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118b75750600a60149054906101000a900460ff16155b15611ba557602060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561195f5750601f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a0657600d548111156119a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a090612fee565b60405180910390fd5b600e546119b583610e21565b826119c09190612b9a565b1115611a01576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f89061305a565b60405180910390fd5b611ba4565b602060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611aa95750601f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611af857600d54811115611af3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aea906130ec565b60405180910390fd5b611ba3565b601f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611ba257600e54611b5583610e21565b82611b609190612b9a565b1115611ba1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b989061305a565b60405180910390fd5b5b5b5b5b5b60011515600460009054906101000a900460ff16151503612100576000611bcc30610e21565b90506000600c548210159050808015611bf25750600a60149054906101000a900460ff16155b8015611c485750602060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611c9e5750601e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611cf45750601e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d38576001600a60146101000a81548160ff021916908315150217905550611d1c61261f565b6000600a60146101000a81548160ff0219169083151502179055505b600a60149054906101000a900460ff16158015611d9e5750602060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8015611db65750600f60009054906101000a900460ff165b8015611dd15750601154601254611dcd9190612b9a565b4210155b8015611e275750601e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b506000600a60149054906101000a900460ff16159050601e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611ede5750601e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611ee857600090505b600081156120fb57602060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611f4b57506000601854115b15611fe557611f786064611f6a6018548861270190919063ffffffff16565b61271790919063ffffffff16565b9050601854601a5482611f8b919061310c565b611f959190613195565b601c6000828254611fa69190612b9a565b9250508190555060185460195482611fbe919061310c565b611fc89190613195565b601b6000828254611fd99190612b9a565b925050819055506120d7565b602060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561204057506000601554115b156120d65761206d606461205f6015548861270190919063ffffffff16565b61271790919063ffffffff16565b905060155460175482612080919061310c565b61208a9190613195565b601c600082825461209b9190612b9a565b92505081905550601554601654826120b3919061310c565b6120bd9190613195565b601b60008282546120ce9190612b9a565b925050819055505b5b60008111156120ec576120eb8730836123a0565b5b80856120f891906131c6565b94505b505050505b61210b8383836123a0565b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612180576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121779061326c565b60405180910390fd5b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612206576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121fd906132fe565b60405180910390fd5b8160065461221491906131c6565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816005600082825461226891906131c6565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516122cd9190612967565b60405180910390a3505050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361240f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240690612eca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361247e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247590612f5c565b60405180910390fd5b61248983838361272d565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561250f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250690613390565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546125a29190612b9a565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126069190612967565b60405180910390a3612619848484612732565b50505050565b600061262a30610e21565b90506000601b54601c5461263e9190612b9a565b90506000808314806126505750600082145b1561265d575050506126ff565b6000601c819055506000601b81905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516126b3906133de565b60006040518083038185875af1925050503d80600081146126f0576040519150601f19603f3d011682016040523d82523d6000602084013e6126f5565b606091505b5050809150505050505b565b6000818361270f919061310c565b905092915050565b600081836127259190613195565b905092915050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612771578082015181840152602081019050612756565b83811115612780576000848401525b50505050565b6000601f19601f8301169050919050565b60006127a282612737565b6127ac8185612742565b93506127bc818560208601612753565b6127c581612786565b840191505092915050565b600060208201905081810360008301526127ea8184612797565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612822826127f7565b9050919050565b61283281612817565b811461283d57600080fd5b50565b60008135905061284f81612829565b92915050565b6000819050919050565b61286881612855565b811461287357600080fd5b50565b6000813590506128858161285f565b92915050565b600080604083850312156128a2576128a16127f2565b5b60006128b085828601612840565b92505060206128c185828601612876565b9150509250929050565b60008115159050919050565b6128e0816128cb565b82525050565b60006020820190506128fb60008301846128d7565b92915050565b600060208284031215612917576129166127f2565b5b600061292584828501612840565b91505092915050565b61293781612817565b82525050565b6000602082019050612952600083018461292e565b92915050565b61296181612855565b82525050565b600060208201905061297c6000830184612958565b92915050565b60008060006060848603121561299b5761299a6127f2565b5b60006129a986828701612840565b93505060206129ba86828701612840565b92505060406129cb86828701612876565b9150509250925092565b600060ff82169050919050565b6129eb816129d5565b82525050565b6000602082019050612a0660008301846129e2565b92915050565b600060208284031215612a2257612a216127f2565b5b6000612a3084828501612876565b91505092915050565b60008060408385031215612a5057612a4f6127f2565b5b6000612a5e85828601612840565b9250506020612a6f85828601612840565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612ac057607f821691505b602082108103612ad357612ad2612a79565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000612b35602883612742565b9150612b4082612ad9565b604082019050919050565b60006020820190508181036000830152612b6481612b28565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ba582612855565b9150612bb083612855565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612be557612be4612b6b565b5b828201905092915050565b50565b6000612c00600083612742565b9150612c0b82612bf0565b600082019050919050565b60006020820190508181036000830152612c2f81612bf3565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612c6c602083612742565b9150612c7782612c36565b602082019050919050565b60006020820190508181036000830152612c9b81612c5f565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612cfe602583612742565b9150612d0982612ca2565b604082019050919050565b60006020820190508181036000830152612d2d81612cf1565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612d90602483612742565b9150612d9b82612d34565b604082019050919050565b60006020820190508181036000830152612dbf81612d83565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e22602283612742565b9150612e2d82612dc6565b604082019050919050565b60006020820190508181036000830152612e5181612e15565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612eb4602583612742565b9150612ebf82612e58565b604082019050919050565b60006020820190508181036000830152612ee381612ea7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612f46602383612742565b9150612f5182612eea565b604082019050919050565b60006020820190508181036000830152612f7581612f39565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b6000612fd8603583612742565b9150612fe382612f7c565b604082019050919050565b6000602082019050818103600083015261300781612fcb565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b6000613044601383612742565b915061304f8261300e565b602082019050919050565b6000602082019050818103600083015261307381613037565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b60006130d6603683612742565b91506130e18261307a565b604082019050919050565b60006020820190508181036000830152613105816130c9565b9050919050565b600061311782612855565b915061312283612855565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561315b5761315a612b6b565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006131a082612855565b91506131ab83612855565b9250826131bb576131ba613166565b5b828204905092915050565b60006131d182612855565b91506131dc83612855565b9250828210156131ef576131ee612b6b565b5b828203905092915050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000613256602183612742565b9150613261826131fa565b604082019050919050565b6000602082019050818103600083015261328581613249565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006132e8602283612742565b91506132f38261328c565b604082019050919050565b60006020820190508181036000830152613317816132db565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061337a602683612742565b91506133858261331e565b604082019050919050565b600060208201905081810360008301526133a98161336d565b9050919050565b600081905092915050565b60006133c86000836133b0565b91506133d382612bf0565b600082019050919050565b60006133e9826133bb565b915081905091905056fea26469706673582212204ce4218a4c85e6be17011568fe8338d7fc2f0af85e94cd4db285af9e7179582664736f6c634300080d0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000002386f26fc100000000000000000000000000006bc7721f36dff57fa9ef9e963edc8fb364a4222f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000000000000000000000000000000000000000000c48616d737465727320322e300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000748414d53322e3000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : name (string): Hamsters 2.0
Arg [1] : symbol (string): HAMS2.0
Arg [2] : supply (uint256): 10000000000000000
Arg [3] : market (address): 0x6Bc7721F36dff57Fa9eF9e963EdC8fb364a4222F
Arg [4] : uniswap (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [2] : 000000000000000000000000000000000000000000000000002386f26fc10000
Arg [3] : 0000000000000000000000006bc7721f36dff57fa9ef9e963edc8fb364a4222f
Arg [4] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [5] : 000000000000000000000000000000000000000000000000000000000000000c
Arg [6] : 48616d737465727320322e300000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000007
Arg [8] : 48414d53322e3000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
10188:8266:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2715:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3694:194;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11231:63;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10268:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3035:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10726:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10594:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11087:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11047;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3896:529;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10305:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10636:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10555:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2935:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4566:290;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13576:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11129:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13672:91;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10934:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3151:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;967:103;;;;;;;;;;;;;:::i;:::-;;10858:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;537:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10969:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2823:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10780:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4864:475;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10688:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3302:200;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11303:57;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13210:358;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13771:93;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10480:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10824:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3510:176;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10438:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4433:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10895:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11007:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10522:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2715:100;2769:13;2802:5;2795:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2715:100;:::o;3694:194::-;3802:4;3819:39;3828:12;:10;:12::i;:::-;3842:7;3851:6;3819:8;:39::i;:::-;3876:4;3869:11;;3694:194;;;;:::o;11231:63::-;;;;;;;;;;;;;;;;;;;;;;:::o;10268:30::-;;;;;;;;;;;;;:::o;3035:108::-;3096:7;3123:12;;3116:19;;3035:108;:::o;10726:47::-;;;;:::o;10594:35::-;;;;:::o;11087:33::-;;;;:::o;11047:::-;;;;:::o;3896:529::-;4036:4;4053:36;4063:6;4071:9;4082:6;4053:9;:36::i;:::-;4102:24;4129:11;:19;4141:6;4129:19;;;;;;;;;;;;;;;:33;4149:12;:10;:12::i;:::-;4129:33;;;;;;;;;;;;;;;;4102:60;;4215:6;4195:16;:26;;4173:116;;;;;;;;;;;;:::i;:::-;;;;;;;;;4325:57;4334:6;4342:12;:10;:12::i;:::-;4375:6;4356:16;:25;4325:8;:57::i;:::-;4413:4;4406:11;;;3896:529;;;;;:::o;10305:53::-;10351:6;10305:53;:::o;10636:45::-;;;;:::o;10555:32::-;;;;;;;;;;;;;:::o;2935:92::-;2993:5;3018:1;3011:8;;2935:92;:::o;4566:290::-;4679:4;4696:130;4719:12;:10;:12::i;:::-;4746:7;4805:10;4768:11;:25;4780:12;:10;:12::i;:::-;4768:25;;;;;;;;;;;;;;;:34;4794:7;4768:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;4696:8;:130::i;:::-;4844:4;4837:11;;4566:290;;;;:::o;13576:88::-;13178:10;13159:29;;:15;;;;;;;;;;;:29;;;13151:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;13631:25:::1;13637:10;13649:6;13631:5;:25::i;:::-;13576:88:::0;:::o;11129:34::-;;;;;;;;;;;;;:::o;13672:91::-;13178:10;13159:29;;:15;;;;;;;;;;;:29;;;13151:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;13751:4:::1;13731:8:::0;:17:::1;13740:7;13731:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;13672:91:::0;:::o;10934:28::-;;;;:::o;3151:143::-;3241:7;3268:9;:18;3278:7;3268:18;;;;;;;;;;;;;;;;3261:25;;3151:143;;;:::o;967:103::-;683:12;:10;:12::i;:::-;672:23;;:7;:5;:7::i;:::-;:23;;;664:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1032:30:::1;1059:1;1032:18;:30::i;:::-;967:103::o:0;10858:30::-;;;;:::o;537:87::-;583:7;610:6;;;;;;;;;;;603:13;;537:87;:::o;10969:31::-;;;;:::o;2823:104::-;2879:13;2912:7;2905:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2823:104;:::o;10780:35::-;;;;:::o;4864:475::-;4982:4;4999:24;5026:11;:25;5038:12;:10;:12::i;:::-;5026:25;;;;;;;;;;;;;;;:34;5052:7;5026:34;;;;;;;;;;;;;;;;4999:61;;5113:15;5093:16;:35;;5071:122;;;;;;;;;;;;:::i;:::-;;;;;;;;;5229:67;5238:12;:10;:12::i;:::-;5252:7;5280:15;5261:16;:34;5229:8;:67::i;:::-;5327:4;5320:11;;;4864:475;;;;:::o;10688:29::-;;;;:::o;3302:200::-;3413:4;3430:42;3440:12;:10;:12::i;:::-;3454:9;3465:6;3430:9;:42::i;:::-;3490:4;3483:11;;3302:200;;;;:::o;11303:57::-;;;;;;;;;;;;;;;;;;;;;;:::o;13210:358::-;13259:4;683:12;:10;:12::i;:::-;672:23;;:7;:5;:7::i;:::-;:23;;;664:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13294:1:::1;13276:15;:19;;;;13324:1;13306:15;:19;;;;13369:15;;13351;;:33;;;;:::i;:::-;13336:12;:48;;;;13411:1;13395:13;:17;;;;13442:1;13423:16;:20;;;;13489:16;;13470;;:35;;;;:::i;:::-;13454:13;:51;;;;13533:5;13516:14;;:22;;;;;;;;;;;;;;;;;;13556:4;13549:11;;13210:358:::0;:::o;13771:93::-;13178:10;13159:29;;:15;;;;;;;;;;;:29;;;13151:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;13851:5:::1;13831:8;:17;13840:7;13831:17;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;13771:93:::0;:::o;10480:35::-;;;;:::o;10824:27::-;;;;:::o;3510:176::-;3624:7;3651:11;:18;3663:5;3651:18;;;;;;;;;;;;;;;:27;3670:7;3651:27;;;;;;;;;;;;;;;;3644:34;;3510:176;;;;:::o;10438:33::-;;;;:::o;4433:125::-;4508:4;4532:8;:18;4541:8;4532:18;;;;;;;;;;;;;;;;;;;;;;;;;4525:25;;4433:125;;;:::o;10895:30::-;;;;:::o;11007:31::-;;;;:::o;10522:24::-;;;;:::o;8917:98::-;8975:7;9006:1;9002;:5;;;;:::i;:::-;8995:12;;8917:98;;;;:::o;94:::-;147:7;174:10;167:17;;94:98;:::o;7000:380::-;7153:1;7136:19;;:5;:19;;;7128:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7234:1;7215:21;;:7;:21;;;7207:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7318:6;7288:11;:18;7300:5;7288:18;;;;;;;;;;;;;;;:27;7307:7;7288:27;;;;;;;;;;;;;;;:36;;;;7356:7;7340:32;;7349:5;7340:32;;;7365:6;7340:32;;;;;;:::i;:::-;;;;;;;;7000:380;;;:::o;14068:3898::-;14216:1;14200:18;;:4;:18;;;14192:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14293:1;14279:16;;:2;:16;;;14271:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;14362:1;14352:6;:11;14348:93;;14380:28;14396:4;14402:2;14406:1;14380:15;:28::i;:::-;14423:7;;14348:93;14457:8;:12;14466:2;14457:12;;;;;;;;;;;;;;;;;;;;;;;;;:44;;;;14487:8;:14;14496:4;14487:14;;;;;;;;;;;;;;;;;;;;;;;;;14457:44;14453:108;;;14552:4;14539:17;;:9;;;;;;;;;;;:17;;;14531:30;;;;;;;;;;;;:::i;:::-;;;;;;;;;14453:108;14586:14;;;;;;;;;;;14582:1412;;;14647:7;:5;:7::i;:::-;14639:15;;:4;:15;;;;:49;;;;;14681:7;:5;:7::i;:::-;14675:13;;:2;:13;;;;14639:49;:86;;;;;14723:1;14709:16;;:2;:16;;;;14639:86;:128;;;;;14760:6;14746:21;;:2;:21;;;;14639:128;:158;;;;;14789:8;;;;;;;;;;;14788:9;14639:158;14617:1366;;;14858:25;:31;14884:4;14858:31;;;;;;;;;;;;;;;;;;;;;;;;;:92;;;;;14915:31;:35;14947:2;14915:35;;;;;;;;;;;;;;;;;;;;;;;;;14914:36;14858:92;14832:1136;;;15037:20;;15027:6;:30;;14993:169;;;;;;;;;;;;:::i;:::-;;;;;;;;;15245:9;;15228:13;15238:2;15228:9;:13::i;:::-;15219:6;:22;;;;:::i;:::-;:35;;15185:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;14832:1136;;;15412:25;:29;15438:2;15412:29;;;;;;;;;;;;;;;;;;;;;;;;;:92;;;;;15467:31;:37;15499:4;15467:37;;;;;;;;;;;;;;;;;;;;;;;;;15466:38;15412:92;15386:582;;;15591:20;;15581:6;:30;;15547:170;;;;;;;;;;;;:::i;:::-;;;;;;;;;15386:582;;;15748:31;:35;15780:2;15748:35;;;;;;;;;;;;;;;;;;;;;;;;;15743:225;;15868:9;;15851:13;15861:2;15851:9;:13::i;:::-;15842:6;:22;;;;:::i;:::-;:35;;15808:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;15743:225;15386:582;14832:1136;14617:1366;14582:1412;16021:4;16008:17;;:9;;;;;;;;;;;:17;;;16004:1911;;16040:28;16071:24;16089:4;16071:9;:24::i;:::-;16040:55;;16108:12;16147:18;;16123:20;:42;;16108:57;;16196:7;:33;;;;;16221:8;;;;;;;;;;;16220:9;16196:33;:82;;;;;16247:25;:31;16273:4;16247:31;;;;;;;;;;;;;;;;;;;;;;;;;16246:32;16196:82;:125;;;;;16296:19;:25;16316:4;16296:25;;;;;;;;;;;;;;;;;;;;;;;;;16295:26;16196:125;:166;;;;;16339:19;:23;16359:2;16339:23;;;;;;;;;;;;;;;;;;;;;;;;;16338:24;16196:166;16178:298;;;16400:4;16389:8;;:15;;;;;;;;;;;;;;;;;;16421:10;:8;:10::i;:::-;16459:5;16448:8;;:16;;;;;;;;;;;;;;;;;;16178:298;16507:8;;;;;;;;;;;16506:9;:55;;;;;16532:25;:29;16558:2;16532:29;;;;;;;;;;;;;;;;;;;;;;;;;16506:55;:85;;;;;16578:13;;;;;;;;;;;16506:85;:153;;;;;16644:15;;16627:14;;:32;;;;:::i;:::-;16608:15;:51;;16506:153;:196;;;;;16677:19;:25;16697:4;16677:25;;;;;;;;;;;;;;;;;;;;;;;;;16676:26;16506:196;16488:238;16738:12;16754:8;;;;;;;;;;;16753:9;16738:24;;16864:19;:25;16884:4;16864:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;16893:19;:23;16913:2;16893:23;;;;;;;;;;;;;;;;;;;;;;;;;16864:52;16860:100;;;16943:5;16933:15;;16860:100;16972:12;17077:7;17073:831;;;17129:25;:29;17155:2;17129:29;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;;17178:1;17162:13;;:17;17129:50;17125:630;;;17207:34;17237:3;17207:25;17218:13;;17207:6;:10;;:25;;;;:::i;:::-;:29;;:34;;;;:::i;:::-;17200:41;;17310:13;;17290:16;;17283:4;:23;;;;:::i;:::-;17282:41;;;;:::i;:::-;17260:18;;:63;;;;;;;:::i;:::-;;;;;;;;17392:13;;17372:16;;17365:4;:23;;;;:::i;:::-;17364:41;;;;:::i;:::-;17342:18;;:63;;;;;;;:::i;:::-;;;;;;;;17125:630;;;17467:25;:31;17493:4;17467:31;;;;;;;;;;;;;;;;;;;;;;;;;:51;;;;;17517:1;17502:12;;:16;17467:51;17463:292;;;17546:33;17575:3;17546:24;17557:12;;17546:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;17539:40;;17647:12;;17628:15;;17621:4;:22;;;;:::i;:::-;17620:39;;;;:::i;:::-;17598:18;;:61;;;;;;;:::i;:::-;;;;;;;;17727:12;;17708:15;;17701:4;:22;;;;:::i;:::-;17700:39;;;;:::i;:::-;17678:18;;:61;;;;;;;:::i;:::-;;;;;;;;17463:292;17125:630;17782:1;17775:4;:8;17771:91;;;17804:42;17820:4;17834;17841;17804:15;:42::i;:::-;17771:91;17888:4;17878:14;;;;;:::i;:::-;;;17073:831;16027:1888;;;;16004:1911;17925:33;17941:4;17947:2;17951:6;17925:15;:33::i;:::-;14068:3898;;;;:::o;6536:452::-;6639:1;6620:21;;:7;:21;;;6612:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6700:22;6725:9;:18;6735:7;6725:18;;;;;;;;;;;;;;;;6700:43;;6780:6;6762:14;:24;;6754:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;6868:6;6857:8;;:17;;;;:::i;:::-;6836:9;:18;6846:7;6836:18;;;;;;;;;;;;;;;:38;;;;6911:6;6895:12;;:22;;;;;;;:::i;:::-;;;;;;;;6969:1;6943:37;;6952:7;6943:37;;;6973:6;6943:37;;;;;;:::i;:::-;;;;;;;;6601:387;6536:452;;:::o;764:191::-;838:16;857:6;;;;;;;;;;;838:25;;883:8;874:6;;:17;;;;;;;;;;;;;;;;;;938:8;907:40;;928:8;907:40;;;;;;;;;;;;827:128;764:191;:::o;5347:770::-;5505:1;5487:20;;:6;:20;;;5479:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;5589:1;5568:23;;:9;:23;;;5560:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;5644:47;5665:6;5673:9;5684:6;5644:20;:47::i;:::-;5704:21;5728:9;:17;5738:6;5728:17;;;;;;;;;;;;;;;;5704:41;;5795:6;5778:13;:23;;5756:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;5939:6;5923:13;:22;5903:9;:17;5913:6;5903:17;;;;;;;;;;;;;;;:42;;;;5991:6;5967:9;:20;5977:9;5967:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;6032:9;6015:35;;6024:6;6015:35;;;6043:6;6015:35;;;;;;:::i;:::-;;;;;;;;6063:46;6083:6;6091:9;6102:6;6063:19;:46::i;:::-;5468:649;5347:770;;;:::o;17974:477::-;18013:23;18039:24;18057:4;18039:9;:24::i;:::-;18013:50;;18074:25;18123:18;;18102;;:39;;;;:::i;:::-;18074:67;;18152:12;18200:1;18181:15;:20;:46;;;;18226:1;18205:17;:22;18181:46;18177:85;;;18244:7;;;;;18177:85;18295:1;18274:18;:22;;;;18328:1;18307:18;:22;;;;18364:15;;;;;;;;;;;18356:29;;18407:21;18356:87;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18342:101;;;;;18002:449;;;17974:477;:::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;7388:125::-;;;;:::o;7521:124::-;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:329::-;3553:6;3602:2;3590:9;3581:7;3577:23;3573:32;3570:119;;;3608:79;;:::i;:::-;3570:119;3728:1;3753:53;3798:7;3789:6;3778:9;3774:22;3753:53;:::i;:::-;3743:63;;3699:117;3494:329;;;;:::o;3829:118::-;3916:24;3934:5;3916:24;:::i;:::-;3911:3;3904:37;3829:118;;:::o;3953:222::-;4046:4;4084:2;4073:9;4069:18;4061:26;;4097:71;4165:1;4154:9;4150:17;4141:6;4097:71;:::i;:::-;3953:222;;;;:::o;4181:118::-;4268:24;4286:5;4268:24;:::i;:::-;4263:3;4256:37;4181:118;;:::o;4305:222::-;4398:4;4436:2;4425:9;4421:18;4413:26;;4449:71;4517:1;4506:9;4502:17;4493:6;4449:71;:::i;:::-;4305:222;;;;:::o;4533:619::-;4610:6;4618;4626;4675:2;4663:9;4654:7;4650:23;4646:32;4643:119;;;4681:79;;:::i;:::-;4643:119;4801:1;4826:53;4871:7;4862:6;4851:9;4847:22;4826:53;:::i;:::-;4816:63;;4772:117;4928:2;4954:53;4999:7;4990:6;4979:9;4975:22;4954:53;:::i;:::-;4944:63;;4899:118;5056:2;5082:53;5127:7;5118:6;5107:9;5103:22;5082:53;:::i;:::-;5072:63;;5027:118;4533:619;;;;;:::o;5158:86::-;5193:7;5233:4;5226:5;5222:16;5211:27;;5158:86;;;:::o;5250:112::-;5333:22;5349:5;5333:22;:::i;:::-;5328:3;5321:35;5250:112;;:::o;5368:214::-;5457:4;5495:2;5484:9;5480:18;5472:26;;5508:67;5572:1;5561:9;5557:17;5548:6;5508:67;:::i;:::-;5368:214;;;;:::o;5588:329::-;5647:6;5696:2;5684:9;5675:7;5671:23;5667:32;5664:119;;;5702:79;;:::i;:::-;5664:119;5822:1;5847:53;5892:7;5883:6;5872:9;5868:22;5847:53;:::i;:::-;5837:63;;5793:117;5588:329;;;;:::o;5923:474::-;5991:6;5999;6048:2;6036:9;6027:7;6023:23;6019:32;6016:119;;;6054:79;;:::i;:::-;6016:119;6174:1;6199:53;6244:7;6235:6;6224:9;6220:22;6199:53;:::i;:::-;6189:63;;6145:117;6301:2;6327:53;6372:7;6363:6;6352:9;6348:22;6327:53;:::i;:::-;6317:63;;6272:118;5923:474;;;;;:::o;6403:180::-;6451:77;6448:1;6441:88;6548:4;6545:1;6538:15;6572:4;6569:1;6562:15;6589:320;6633:6;6670:1;6664:4;6660:12;6650:22;;6717:1;6711:4;6707:12;6738:18;6728:81;;6794:4;6786:6;6782:17;6772:27;;6728:81;6856:2;6848:6;6845:14;6825:18;6822:38;6819:84;;6875:18;;:::i;:::-;6819:84;6640:269;6589:320;;;:::o;6915:227::-;7055:34;7051:1;7043:6;7039:14;7032:58;7124:10;7119:2;7111:6;7107:15;7100:35;6915:227;:::o;7148:366::-;7290:3;7311:67;7375:2;7370:3;7311:67;:::i;:::-;7304:74;;7387:93;7476:3;7387:93;:::i;:::-;7505:2;7500:3;7496:12;7489:19;;7148:366;;;:::o;7520:419::-;7686:4;7724:2;7713:9;7709:18;7701:26;;7773:9;7767:4;7763:20;7759:1;7748:9;7744:17;7737:47;7801:131;7927:4;7801:131;:::i;:::-;7793:139;;7520:419;;;:::o;7945:180::-;7993:77;7990:1;7983:88;8090:4;8087:1;8080:15;8114:4;8111:1;8104:15;8131:305;8171:3;8190:20;8208:1;8190:20;:::i;:::-;8185:25;;8224:20;8242:1;8224:20;:::i;:::-;8219:25;;8378:1;8310:66;8306:74;8303:1;8300:81;8297:107;;;8384:18;;:::i;:::-;8297:107;8428:1;8425;8421:9;8414:16;;8131:305;;;;:::o;8442:114::-;;:::o;8562:364::-;8704:3;8725:66;8789:1;8784:3;8725:66;:::i;:::-;8718:73;;8800:93;8889:3;8800:93;:::i;:::-;8918:1;8913:3;8909:11;8902:18;;8562:364;;;:::o;8932:419::-;9098:4;9136:2;9125:9;9121:18;9113:26;;9185:9;9179:4;9175:20;9171:1;9160:9;9156:17;9149:47;9213:131;9339:4;9213:131;:::i;:::-;9205:139;;8932:419;;;:::o;9357:182::-;9497:34;9493:1;9485:6;9481:14;9474:58;9357:182;:::o;9545:366::-;9687:3;9708:67;9772:2;9767:3;9708:67;:::i;:::-;9701:74;;9784:93;9873:3;9784:93;:::i;:::-;9902:2;9897:3;9893:12;9886:19;;9545:366;;;:::o;9917:419::-;10083:4;10121:2;10110:9;10106:18;10098:26;;10170:9;10164:4;10160:20;10156:1;10145:9;10141:17;10134:47;10198:131;10324:4;10198:131;:::i;:::-;10190:139;;9917:419;;;:::o;10342:224::-;10482:34;10478:1;10470:6;10466:14;10459:58;10551:7;10546:2;10538:6;10534:15;10527:32;10342:224;:::o;10572:366::-;10714:3;10735:67;10799:2;10794:3;10735:67;:::i;:::-;10728:74;;10811:93;10900:3;10811:93;:::i;:::-;10929:2;10924:3;10920:12;10913:19;;10572:366;;;:::o;10944:419::-;11110:4;11148:2;11137:9;11133:18;11125:26;;11197:9;11191:4;11187:20;11183:1;11172:9;11168:17;11161:47;11225:131;11351:4;11225:131;:::i;:::-;11217:139;;10944:419;;;:::o;11369:223::-;11509:34;11505:1;11497:6;11493:14;11486:58;11578:6;11573:2;11565:6;11561:15;11554:31;11369:223;:::o;11598:366::-;11740:3;11761:67;11825:2;11820:3;11761:67;:::i;:::-;11754:74;;11837:93;11926:3;11837:93;:::i;:::-;11955:2;11950:3;11946:12;11939:19;;11598:366;;;:::o;11970:419::-;12136:4;12174:2;12163:9;12159:18;12151:26;;12223:9;12217:4;12213:20;12209:1;12198:9;12194:17;12187:47;12251:131;12377:4;12251:131;:::i;:::-;12243:139;;11970:419;;;:::o;12395:221::-;12535:34;12531:1;12523:6;12519:14;12512:58;12604:4;12599:2;12591:6;12587:15;12580:29;12395:221;:::o;12622:366::-;12764:3;12785:67;12849:2;12844:3;12785:67;:::i;:::-;12778:74;;12861:93;12950:3;12861:93;:::i;:::-;12979:2;12974:3;12970:12;12963:19;;12622:366;;;:::o;12994:419::-;13160:4;13198:2;13187:9;13183:18;13175:26;;13247:9;13241:4;13237:20;13233:1;13222:9;13218:17;13211:47;13275:131;13401:4;13275:131;:::i;:::-;13267:139;;12994:419;;;:::o;13419:224::-;13559:34;13555:1;13547:6;13543:14;13536:58;13628:7;13623:2;13615:6;13611:15;13604:32;13419:224;:::o;13649:366::-;13791:3;13812:67;13876:2;13871:3;13812:67;:::i;:::-;13805:74;;13888:93;13977:3;13888:93;:::i;:::-;14006:2;14001:3;13997:12;13990:19;;13649:366;;;:::o;14021:419::-;14187:4;14225:2;14214:9;14210:18;14202:26;;14274:9;14268:4;14264:20;14260:1;14249:9;14245:17;14238:47;14302:131;14428:4;14302:131;:::i;:::-;14294:139;;14021:419;;;:::o;14446:222::-;14586:34;14582:1;14574:6;14570:14;14563:58;14655:5;14650:2;14642:6;14638:15;14631:30;14446:222;:::o;14674:366::-;14816:3;14837:67;14901:2;14896:3;14837:67;:::i;:::-;14830:74;;14913:93;15002:3;14913:93;:::i;:::-;15031:2;15026:3;15022:12;15015:19;;14674:366;;;:::o;15046:419::-;15212:4;15250:2;15239:9;15235:18;15227:26;;15299:9;15293:4;15289:20;15285:1;15274:9;15270:17;15263:47;15327:131;15453:4;15327:131;:::i;:::-;15319:139;;15046:419;;;:::o;15471:240::-;15611:34;15607:1;15599:6;15595:14;15588:58;15680:23;15675:2;15667:6;15663:15;15656:48;15471:240;:::o;15717:366::-;15859:3;15880:67;15944:2;15939:3;15880:67;:::i;:::-;15873:74;;15956:93;16045:3;15956:93;:::i;:::-;16074:2;16069:3;16065:12;16058:19;;15717:366;;;:::o;16089:419::-;16255:4;16293:2;16282:9;16278:18;16270:26;;16342:9;16336:4;16332:20;16328:1;16317:9;16313:17;16306:47;16370:131;16496:4;16370:131;:::i;:::-;16362:139;;16089:419;;;:::o;16514:169::-;16654:21;16650:1;16642:6;16638:14;16631:45;16514:169;:::o;16689:366::-;16831:3;16852:67;16916:2;16911:3;16852:67;:::i;:::-;16845:74;;16928:93;17017:3;16928:93;:::i;:::-;17046:2;17041:3;17037:12;17030:19;;16689:366;;;:::o;17061:419::-;17227:4;17265:2;17254:9;17250:18;17242:26;;17314:9;17308:4;17304:20;17300:1;17289:9;17285:17;17278:47;17342:131;17468:4;17342:131;:::i;:::-;17334:139;;17061:419;;;:::o;17486:241::-;17626:34;17622:1;17614:6;17610:14;17603:58;17695:24;17690:2;17682:6;17678:15;17671:49;17486:241;:::o;17733:366::-;17875:3;17896:67;17960:2;17955:3;17896:67;:::i;:::-;17889:74;;17972:93;18061:3;17972:93;:::i;:::-;18090:2;18085:3;18081:12;18074:19;;17733:366;;;:::o;18105:419::-;18271:4;18309:2;18298:9;18294:18;18286:26;;18358:9;18352:4;18348:20;18344:1;18333:9;18329:17;18322:47;18386:131;18512:4;18386:131;:::i;:::-;18378:139;;18105:419;;;:::o;18530:348::-;18570:7;18593:20;18611:1;18593:20;:::i;:::-;18588:25;;18627:20;18645:1;18627:20;:::i;:::-;18622:25;;18815:1;18747:66;18743:74;18740:1;18737:81;18732:1;18725:9;18718:17;18714:105;18711:131;;;18822:18;;:::i;:::-;18711:131;18870:1;18867;18863:9;18852:20;;18530:348;;;;:::o;18884:180::-;18932:77;18929:1;18922:88;19029:4;19026:1;19019:15;19053:4;19050:1;19043:15;19070:185;19110:1;19127:20;19145:1;19127:20;:::i;:::-;19122:25;;19161:20;19179:1;19161:20;:::i;:::-;19156:25;;19200:1;19190:35;;19205:18;;:::i;:::-;19190:35;19247:1;19244;19240:9;19235:14;;19070:185;;;;:::o;19261:191::-;19301:4;19321:20;19339:1;19321:20;:::i;:::-;19316:25;;19355:20;19373:1;19355:20;:::i;:::-;19350:25;;19394:1;19391;19388:8;19385:34;;;19399:18;;:::i;:::-;19385:34;19444:1;19441;19437:9;19429:17;;19261:191;;;;:::o;19458:220::-;19598:34;19594:1;19586:6;19582:14;19575:58;19667:3;19662:2;19654:6;19650:15;19643:28;19458:220;:::o;19684:366::-;19826:3;19847:67;19911:2;19906:3;19847:67;:::i;:::-;19840:74;;19923:93;20012:3;19923:93;:::i;:::-;20041:2;20036:3;20032:12;20025:19;;19684:366;;;:::o;20056:419::-;20222:4;20260:2;20249:9;20245:18;20237:26;;20309:9;20303:4;20299:20;20295:1;20284:9;20280:17;20273:47;20337:131;20463:4;20337:131;:::i;:::-;20329:139;;20056:419;;;:::o;20481:221::-;20621:34;20617:1;20609:6;20605:14;20598:58;20690:4;20685:2;20677:6;20673:15;20666:29;20481:221;:::o;20708:366::-;20850:3;20871:67;20935:2;20930:3;20871:67;:::i;:::-;20864:74;;20947:93;21036:3;20947:93;:::i;:::-;21065:2;21060:3;21056:12;21049:19;;20708:366;;;:::o;21080:419::-;21246:4;21284:2;21273:9;21269:18;21261:26;;21333:9;21327:4;21323:20;21319:1;21308:9;21304:17;21297:47;21361:131;21487:4;21361:131;:::i;:::-;21353:139;;21080:419;;;:::o;21505:225::-;21645:34;21641:1;21633:6;21629:14;21622:58;21714:8;21709:2;21701:6;21697:15;21690:33;21505:225;:::o;21736:366::-;21878:3;21899:67;21963:2;21958:3;21899:67;:::i;:::-;21892:74;;21975:93;22064:3;21975:93;:::i;:::-;22093:2;22088:3;22084:12;22077:19;;21736:366;;;:::o;22108:419::-;22274:4;22312:2;22301:9;22297:18;22289:26;;22361:9;22355:4;22351:20;22347:1;22336:9;22332:17;22325:47;22389:131;22515:4;22389:131;:::i;:::-;22381:139;;22108:419;;;:::o;22533:147::-;22634:11;22671:3;22656:18;;22533:147;;;;:::o;22686:398::-;22845:3;22866:83;22947:1;22942:3;22866:83;:::i;:::-;22859:90;;22958:93;23047:3;22958:93;:::i;:::-;23076:1;23071:3;23067:11;23060:18;;22686:398;;;:::o;23090:379::-;23274:3;23296:147;23439:3;23296:147;:::i;:::-;23289:154;;23460:3;23453:10;;23090:379;;;:::o
Swarm Source
ipfs://4ce4218a4c85e6be17011568fe8338d7fc2f0af85e94cd4db285af9e71795826
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.