ERC-20
Overview
Max Total Supply
1,000,000,000 ZOGZ
Holders
110
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.000000000102967485 ZOGZValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ZOGZToken
Compiler Version
v0.8.10+commit.fc410830
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-07-14 */ /** */ /* $$$$$$$$\ $$$$$$\ $$$$$$\ $$$$$$$$\ \____$$ |$$ __$$\ $$ __$$\ \____$$ | $$ / $$ / $$ |$$ / \__| $$ / $$ / $$ | $$ |$$ |$$$$\ $$ / $$ / $$ | $$ |$$ |\_$$ | $$ / $$ / $$ | $$ |$$ | $$ | $$ / $$$$$$$$\ $$$$$$ |\$$$$$$ |$$$$$$$$\ \________| \______/ \______/ \________| * Telegram: https://t.me/ZOGSPORTAL * Website: http://zogz.world * Twitter https://twitter.com/zogztoken */ // SPDX-License-Identifier:MIT pragma solidity ^0.8.10; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address _account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _setOwner(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any _account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } interface IDexSwapFactory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDexSwapPair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IDexSwapRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract ZOGZToken is Context, IERC20, Ownable { using SafeMath for uint256; string private _name = "ZOGZ"; string private _symbol = "ZOGZ"; uint8 private _decimals = 18; address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; address public immutable zeroAddress = 0x0000000000000000000000000000000000000000; uint256 public _buyMarketingFee = 1; uint256 public _buyCharityFee = 1; uint256 public _sellMarketingFee = 1; uint256 public _sellCharityFee = 1; address public marketingWallet = address(0x16756D9d2e58CD0b1c0959c3334a230F77C14681); address public charityWallet = address(0x03D02D8Cacf032d68307C1c9c9420cd80b326e99); address private developer; uint256 feedenominator = 100; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public isExcludedFromFee; mapping (address => bool) public isMarketPair; mapping (address => bool) public isWalletLimitExempt; mapping (address => bool) public isTxLimitExempt; uint256 private _totalSupply = 1_000_000_000 * 10**_decimals; uint256 public swapThreshold = 500_000 * 10**_decimals; uint256 public _maxTxAmount = _totalSupply.mul(10).div(1000); // 1% uint256 public _walletMax = _totalSupply.mul(10).div(1000); // 1% bool public swapEnabled = true; bool public swapbylimit = true; bool public EnableTxLimit = true; bool public checkWalletLimit = true; IDexSwapRouter public dexRouter; address public dexPair; bool inSwap; modifier onlyGuard() { require(msg.sender == developer,"Error: Invalid Caller!"); _; } modifier swapping() { inSwap = true; _; inSwap = false; } event SwapTokensForETH( uint256 amountIn, address[] path ); constructor() { IDexSwapRouter _dexRouter = IDexSwapRouter( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); dexPair = IDexSwapFactory(_dexRouter.factory()).createPair( address(this), _dexRouter.WETH() ); dexRouter = _dexRouter; developer = msg.sender; isExcludedFromFee[address(this)] = true; isExcludedFromFee[msg.sender] = true; isExcludedFromFee[address(dexRouter)] = true; isWalletLimitExempt[msg.sender] = true; isWalletLimitExempt[address(dexPair)] = true; isWalletLimitExempt[address(dexRouter)] = true; isWalletLimitExempt[address(this)] = true; isWalletLimitExempt[deadAddress] = true; isWalletLimitExempt[zeroAddress] = true; isTxLimitExempt[deadAddress] = true; isTxLimitExempt[zeroAddress] = true; isTxLimitExempt[msg.sender] = true; isTxLimitExempt[address(this)] = true; isTxLimitExempt[address(dexRouter)] = true; isMarketPair[address(dexPair)] = true; _buyMarketingFee = 18; _buyCharityFee = 2; _sellMarketingFee = 40; _sellCharityFee = 0; _allowances[address(this)][address(dexRouter)] = ~uint256(0); _allowances[address(this)][address(dexPair)] = ~uint256(0); _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(deadAddress)).sub(balanceOf(zeroAddress)); } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } //to recieve ETH from Router when swaping receive() external payable {} function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _transfer(address sender, address recipient, uint256 amount) private returns (bool) { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (inSwap) { return _basicTransfer(sender, recipient, amount); } else { uint256 contractTokenBalance = balanceOf(address(this)); bool overMinimumTokenBalance = contractTokenBalance >= swapThreshold; if (overMinimumTokenBalance && !inSwap && !isMarketPair[sender] && swapEnabled) { swapBack(contractTokenBalance); } if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient] && EnableTxLimit) { require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount."); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 finalAmount = shouldNotTakeFee(sender,recipient) ? amount : takeFee(sender, recipient, amount); if(checkWalletLimit && !isWalletLimitExempt[recipient]) { require(balanceOf(recipient).add(finalAmount) <= _walletMax,"Max Wallet Limit Exceeded!!"); } _balances[recipient] = _balances[recipient].add(finalAmount); emit Transfer(sender, recipient, finalAmount); return true; } } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function shouldNotTakeFee(address sender, address recipient) internal view returns (bool) { if(isExcludedFromFee[sender] || isExcludedFromFee[recipient]) { return true; } else if (isMarketPair[sender] || isMarketPair[recipient]) { return false; } else { return false; } } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { uint feeAmount; unchecked { if(isMarketPair[sender]) { feeAmount = amount.mul(_buyMarketingFee.add(_buyCharityFee)).div(feedenominator); } else if(isMarketPair[recipient]) { feeAmount = amount.mul(_sellMarketingFee.add(_sellCharityFee)).div(feedenominator); } if(feeAmount > 0) { _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); } return amount.sub(feeAmount); } } function swapBack(uint contractBalance) internal swapping { if(swapbylimit) contractBalance = swapThreshold; uint marketingShare = _buyMarketingFee.add(_sellMarketingFee); uint charityShare = _buyCharityFee.add(_sellCharityFee); uint totalShare = marketingShare.add(charityShare); if(totalShare == 0) return; uint256 initialBalance = address(this).balance; swapTokensForEth(contractBalance); uint256 amountReceived = address(this).balance.sub(initialBalance); uint EthMarketing = amountReceived.mul(marketingShare).div(totalShare); uint EthCharity = amountReceived.sub(EthMarketing); if(EthMarketing > 0) payable(marketingWallet).transfer(EthMarketing); if(EthCharity > 0) payable(charityWallet).transfer(EthCharity); } function swapTokensForEth(uint256 tokenAmount) private { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = dexRouter.WETH(); _approve(address(this), address(dexRouter), tokenAmount); // make the swap dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), // The contract block.timestamp ); emit SwapTokensForETH(tokenAmount, path); } function rescueFunds() external onlyGuard { (bool os,) = payable(msg.sender).call{value: address(this).balance}(""); require(os,"Transaction Failed!!"); } function rescueTokens(address _token,address recipient,uint _amount) external onlyGuard { (bool success, ) = address(_token).call(abi.encodeWithSignature('transfer(address,uint256)', recipient, _amount)); require(success, 'Token payment failed'); } function setBuyFee(uint _marketing, uint _charity) external onlyOwner { _buyMarketingFee = _marketing; _buyCharityFee = _charity; } function setSellFee(uint _marketing, uint _charity) external onlyOwner { _sellMarketingFee = _marketing; _sellCharityFee = _charity; } function enableTxLimit(bool _status) external onlyOwner { EnableTxLimit = _status; } function enableWalletLimit(bool _status) external onlyOwner { checkWalletLimit = _status; } function excludeFromFee(address _adr,bool _status) external onlyOwner { isExcludedFromFee[_adr] = _status; } function excludeWalletLimit(address _adr,bool _status) external onlyOwner { isWalletLimitExempt[_adr] = _status; } function excludeTxLimit(address _adr,bool _status) external onlyOwner { isTxLimitExempt[_adr] = _status; } function setMaxWalletLimit(uint256 newLimit) external onlyOwner() { _walletMax = newLimit; } function setTxLimit(uint256 newLimit) external onlyOwner() { _maxTxAmount = newLimit; } function setMarketingWallet(address _newWallet) external onlyOwner { marketingWallet = _newWallet; } function setCharityWallet(address _newWallet) external onlyOwner { charityWallet = _newWallet; } function setMarketPair(address _pair, bool _status) external onlyOwner { isMarketPair[_pair] = _status; if(_status) { isWalletLimitExempt[_pair] = _status; } } function setSwapBackSettings(bool _enabled, bool _limited) external onlyOwner { swapEnabled = _enabled; swapbylimit = _limited; } function setSwapthreshold(uint _threshold) external onlyOwner { swapThreshold = _threshold; } function setManualRouter(address _router) external onlyOwner { dexRouter = IDexSwapRouter(_router); } function setManualPair(address _pair) external onlyOwner { dexPair = _pair; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"EnableTxLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyCharityFee","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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellCharityFee","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":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"charityWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dexPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IDexSwapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"enableWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"rescueTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_charity","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newWallet","type":"address"}],"name":"setCharityWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"setManualPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_router","type":"address"}],"name":"setManualRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"setMarketPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newWallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setMaxWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_charity","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"bool","name":"_limited","type":"bool"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"setSwapthreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapbylimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"zeroAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c06040526040518060400160405280600481526020017f5a4f475a00000000000000000000000000000000000000000000000000000000815250600190805190602001906200005192919062000fa0565b506040518060400160405280600481526020017f5a4f475a00000000000000000000000000000000000000000000000000000000815250600290805190602001906200009f92919062000fa0565b506012600360006101000a81548160ff021916908360ff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250600073ffffffffffffffffffffffffffffffffffffffff1660a09073ffffffffffffffffffffffffffffffffffffffff1681525060016004556001600555600160065560016007557316756d9d2e58cd0b1c0959c3334a230f77c14681600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507303d02d8cacf032d68307c1c9c9420cd80b326e99600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506064600b55600360009054906101000a900460ff16600a620002069190620011ea565b633b9aca006200021791906200123b565b601255600360009054906101000a900460ff16600a620002389190620011ea565b6207a1206200024891906200123b565b601355620002836103e86200026f600a60125462000d9660201b620023d91790919060201c565b62000e1a60201b620024541790919060201c565b601455620002be6103e8620002aa600a60125462000d9660201b620023d91790919060201c565b62000e1a60201b620024541790919060201c565b6015556001601660006101000a81548160ff0219169083151502179055506001601660016101000a81548160ff0219169083151502179055506001601660026101000a81548160ff0219169083151502179055506001601660036101000a81548160ff0219169083151502179055503480156200033a57600080fd5b506200035b6200034f62000e6c60201b60201c565b62000e7460201b60201c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003c0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003e6919062001306565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200044e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000474919062001306565b6040518363ffffffff1660e01b81526004016200049392919062001349565b6020604051808303816000875af1158015620004b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004d9919062001306565b601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601660046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e6000601660049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160106000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160106000601660049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601060003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016010600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016010600060a05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016011600060a05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000601660049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f6000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506012600481905550600260058190555060286006819055506000600781905550600019600d60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601660049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600019600d60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601254600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60125460405162000d87919062001387565b60405180910390a350620015d0565b60008083141562000dab576000905062000e14565b6000828462000dbb91906200123b565b905082848262000dcc9190620013d3565b1462000e0f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000e069062001492565b60405180910390fd5b809150505b92915050565b600062000e6483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000f3860201b60201c565b905092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808311829062000f82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000f79919062001547565b60405180910390fd5b506000838562000f939190620013d3565b9050809150509392505050565b82805462000fae906200159a565b90600052602060002090601f01602090048101928262000fd257600085556200101e565b82601f1062000fed57805160ff19168380011785556200101e565b828001600101855582156200101e579182015b828111156200101d57825182559160200191906001019062001000565b5b5090506200102d919062001031565b5090565b5b808211156200104c57600081600090555060010162001032565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620010de57808604811115620010b657620010b562001050565b5b6001851615620010c65780820291505b8081029050620010d6856200107f565b945062001096565b94509492505050565b600082620010f95760019050620011cc565b81620011095760009050620011cc565b81600181146200112257600281146200112d5762001163565b6001915050620011cc565b60ff84111562001142576200114162001050565b5b8360020a9150848211156200115c576200115b62001050565b5b50620011cc565b5060208310610133831016604e8410600b84101617156200119d5782820a90508381111562001197576200119662001050565b5b620011cc565b620011ac84848460016200108c565b92509050818404811115620011c657620011c562001050565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620011f782620011d3565b91506200120483620011dd565b9250620012337fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620010e7565b905092915050565b60006200124882620011d3565b91506200125583620011d3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562001291576200129062001050565b5b828202905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620012ce82620012a1565b9050919050565b620012e081620012c1565b8114620012ec57600080fd5b50565b6000815190506200130081620012d5565b92915050565b6000602082840312156200131f576200131e6200129c565b5b60006200132f84828501620012ef565b91505092915050565b6200134381620012c1565b82525050565b600060408201905062001360600083018562001338565b6200136f602083018462001338565b9392505050565b6200138181620011d3565b82525050565b60006020820190506200139e600083018462001376565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620013e082620011d3565b9150620013ed83620011d3565b9250826200140057620013ff620013a4565b5b828204905092915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006200147a6021836200140b565b915062001487826200141c565b604082019050919050565b60006020820190508181036000830152620014ad816200146b565b9050919050565b600081519050919050565b60005b83811015620014df578082015181840152602081019050620014c2565b83811115620014ef576000848401525b50505050565b6000601f19601f8301169050919050565b60006200151382620014b4565b6200151f81856200140b565b935062001531818560208601620014bf565b6200153c81620014f5565b840191505092915050565b6000602082019050818103600083015262001563818462001506565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620015b357607f821691505b60208210811415620015ca57620015c96200156b565b5b50919050565b60805160a05161499d6200160460003960008181610d910152610ee3015260008181610eb70152610f0f015261499d6000f3fe6080604052600436106103395760003560e01c80637b208769116101ab578063c8607952116100f7578063e9fd339411610095578063f2fde38b1161006f578063f2fde38b14610c2b578063f71b9bbf14610c54578063f872858a14610c7d578063fb0ecfa414610ca857610340565b8063e9fd339414610bac578063ee828db314610bd7578063f242ab4114610c0057610340565b8063d4e43fb3116100d1578063d4e43fb314610b06578063dd62ed3e14610b2f578063df8408fe14610b6c578063e6b2603b14610b9557610340565b8063c860795214610a75578063c867d60b14610aa0578063cea9d26f14610add57610340565b8063a457c2d711610164578063adc0d0921161013e578063adc0d092146109cf578063ae85ade6146109f8578063c16dd4a414610a21578063c5d2418914610a4a57610340565b8063a457c2d71461092a578063a9059cbb14610967578063aa49dadd146109a457610340565b80637b208769146108165780637d1db4a514610841578063807c2d9c1461086c5780638b42507f146108975780638da5cb5b146108d457806395d89b41146108ff57610340565b80634974d88f11610285578063651a89871161022357806370a08231116101fd57806370a082311461076e578063715018a6146107ab578063728d41c9146107c257806375f0a874146107eb57610340565b8063651a8987146106f15780636ac9a8701461071a5780636ddd17131461074357610340565b80635c85974f1161025f5780635c85974f146106495780635d098b38146106725780635e42358c1461069b57806363a2e42f146106c657610340565b80634974d88f146105ba5780635342acb4146105e357806359fac5171461062057610340565b806323b872dd116102f257806330563bd7116102cc57806330563bd7146104ec578063313ce5671461051557806339509351146105405780633ecad2711461057d57610340565b806323b872dd1461045957806327c8f835146104965780632b112e49146104c157610340565b80630445b6671461034557806306fdde03146103705780630758d9241461039b5780630930907b146103c6578063095ea7b3146103f157806318160ddd1461042e57610340565b3661034057005b600080fd5b34801561035157600080fd5b5061035a610cd1565b604051610367919061388d565b60405180910390f35b34801561037c57600080fd5b50610385610cd7565b6040516103929190613941565b60405180910390f35b3480156103a757600080fd5b506103b0610d69565b6040516103bd91906139e2565b60405180910390f35b3480156103d257600080fd5b506103db610d8f565b6040516103e89190613a1e565b60405180910390f35b3480156103fd57600080fd5b5061041860048036038101906104139190613a96565b610db3565b6040516104259190613af1565b60405180910390f35b34801561043a57600080fd5b50610443610dd1565b604051610450919061388d565b60405180910390f35b34801561046557600080fd5b50610480600480360381019061047b9190613b0c565b610ddb565b60405161048d9190613af1565b60405180910390f35b3480156104a257600080fd5b506104ab610eb5565b6040516104b89190613a1e565b60405180910390f35b3480156104cd57600080fd5b506104d6610ed9565b6040516104e3919061388d565b60405180910390f35b3480156104f857600080fd5b50610513600480360381019061050e9190613b5f565b610f57565b005b34801561052157600080fd5b5061052a611017565b6040516105379190613ba8565b60405180910390f35b34801561054c57600080fd5b5061056760048036038101906105629190613a96565b61102e565b6040516105749190613af1565b60405180910390f35b34801561058957600080fd5b506105a4600480360381019061059f9190613b5f565b6110e1565b6040516105b19190613af1565b60405180910390f35b3480156105c657600080fd5b506105e160048036038101906105dc9190613bef565b611101565b005b3480156105ef57600080fd5b5061060a60048036038101906106059190613b5f565b61119a565b6040516106179190613af1565b60405180910390f35b34801561062c57600080fd5b5061064760048036038101906106429190613b5f565b6111ba565b005b34801561065557600080fd5b50610670600480360381019061066b9190613c1c565b61127a565b005b34801561067e57600080fd5b5061069960048036038101906106949190613b5f565b611300565b005b3480156106a757600080fd5b506106b06113c0565b6040516106bd9190613af1565b60405180910390f35b3480156106d257600080fd5b506106db6113d3565b6040516106e8919061388d565b60405180910390f35b3480156106fd57600080fd5b5061071860048036038101906107139190613c49565b6113d9565b005b34801561072657600080fd5b50610741600480360381019061073c9190613c89565b6114b0565b005b34801561074f57600080fd5b5061075861153e565b6040516107659190613af1565b60405180910390f35b34801561077a57600080fd5b5061079560048036038101906107909190613b5f565b611551565b6040516107a2919061388d565b60405180910390f35b3480156107b757600080fd5b506107c061159a565b005b3480156107ce57600080fd5b506107e960048036038101906107e49190613c1c565b611622565b005b3480156107f757600080fd5b506108006116a8565b60405161080d9190613a1e565b60405180910390f35b34801561082257600080fd5b5061082b6116ce565b6040516108389190613a1e565b60405180910390f35b34801561084d57600080fd5b506108566116f4565b604051610863919061388d565b60405180910390f35b34801561087857600080fd5b506108816116fa565b60405161088e919061388d565b60405180910390f35b3480156108a357600080fd5b506108be60048036038101906108b99190613b5f565b611700565b6040516108cb9190613af1565b60405180910390f35b3480156108e057600080fd5b506108e9611720565b6040516108f69190613a1e565b60405180910390f35b34801561090b57600080fd5b50610914611749565b6040516109219190613941565b60405180910390f35b34801561093657600080fd5b50610951600480360381019061094c9190613a96565b6117db565b60405161095e9190613af1565b60405180910390f35b34801561097357600080fd5b5061098e60048036038101906109899190613a96565b6118a8565b60405161099b9190613af1565b60405180910390f35b3480156109b057600080fd5b506109b96118c7565b6040516109c6919061388d565b60405180910390f35b3480156109db57600080fd5b506109f660048036038101906109f19190613c1c565b6118cd565b005b348015610a0457600080fd5b50610a1f6004803603810190610a1a9190613c49565b611953565b005b348015610a2d57600080fd5b50610a486004803603810190610a439190613c49565b611a2a565b005b348015610a5657600080fd5b50610a5f611b5f565b604051610a6c919061388d565b60405180910390f35b348015610a8157600080fd5b50610a8a611b65565b604051610a97919061388d565b60405180910390f35b348015610aac57600080fd5b50610ac76004803603810190610ac29190613b5f565b611b6b565b604051610ad49190613af1565b60405180910390f35b348015610ae957600080fd5b50610b046004803603810190610aff9190613b0c565b611b8b565b005b348015610b1257600080fd5b50610b2d6004803603810190610b289190613cc9565b611d5d565b005b348015610b3b57600080fd5b50610b566004803603810190610b519190613d09565b611e11565b604051610b63919061388d565b60405180910390f35b348015610b7857600080fd5b50610b936004803603810190610b8e9190613c49565b611e98565b005b348015610ba157600080fd5b50610baa611f6f565b005b348015610bb857600080fd5b50610bc16120ae565b604051610bce9190613af1565b60405180910390f35b348015610be357600080fd5b50610bfe6004803603810190610bf99190613bef565b6120c1565b005b348015610c0c57600080fd5b50610c1561215a565b604051610c229190613a1e565b60405180910390f35b348015610c3757600080fd5b50610c526004803603810190610c4d9190613b5f565b612180565b005b348015610c6057600080fd5b50610c7b6004803603810190610c769190613b5f565b612278565b005b348015610c8957600080fd5b50610c92612338565b604051610c9f9190613af1565b60405180910390f35b348015610cb457600080fd5b50610ccf6004803603810190610cca9190613c89565b61234b565b005b60135481565b606060018054610ce690613d78565b80601f0160208091040260200160405190810160405280929190818152602001828054610d1290613d78565b8015610d5f5780601f10610d3457610100808354040283529160200191610d5f565b820191906000526020600020905b815481529060010190602001808311610d4257829003601f168201915b5050505050905090565b601660049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610dc7610dc061249e565b84846124a6565b6001905092915050565b6000601254905090565b6000610de8848484612671565b50610eaa84610df561249e565b610ea58560405180606001604052806028815260200161491b60289139600d60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610e5b61249e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c359092919063ffffffff16565b6124a6565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610f52610f077f0000000000000000000000000000000000000000000000000000000000000000611551565b610f44610f337f0000000000000000000000000000000000000000000000000000000000000000611551565b601254612c9990919063ffffffff16565b612c9990919063ffffffff16565b905090565b610f5f61249e565b73ffffffffffffffffffffffffffffffffffffffff16610f7d611720565b73ffffffffffffffffffffffffffffffffffffffff1614610fd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fca90613df6565b60405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600360009054906101000a900460ff16905090565b60006110d761103b61249e565b846110d285600d600061104c61249e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ce390919063ffffffff16565b6124a6565b6001905092915050565b600f6020528060005260406000206000915054906101000a900460ff1681565b61110961249e565b73ffffffffffffffffffffffffffffffffffffffff16611127611720565b73ffffffffffffffffffffffffffffffffffffffff161461117d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117490613df6565b60405180910390fd5b80601660036101000a81548160ff02191690831515021790555050565b600e6020528060005260406000206000915054906101000a900460ff1681565b6111c261249e565b73ffffffffffffffffffffffffffffffffffffffff166111e0611720565b73ffffffffffffffffffffffffffffffffffffffff1614611236576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122d90613df6565b60405180910390fd5b80601660046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61128261249e565b73ffffffffffffffffffffffffffffffffffffffff166112a0611720565b73ffffffffffffffffffffffffffffffffffffffff16146112f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ed90613df6565b60405180910390fd5b8060148190555050565b61130861249e565b73ffffffffffffffffffffffffffffffffffffffff16611326611720565b73ffffffffffffffffffffffffffffffffffffffff161461137c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137390613df6565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601660029054906101000a900460ff1681565b60055481565b6113e161249e565b73ffffffffffffffffffffffffffffffffffffffff166113ff611720565b73ffffffffffffffffffffffffffffffffffffffff1614611455576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144c90613df6565b60405180910390fd5b80601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6114b861249e565b73ffffffffffffffffffffffffffffffffffffffff166114d6611720565b73ffffffffffffffffffffffffffffffffffffffff161461152c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152390613df6565b60405180910390fd5b81600681905550806007819055505050565b601660009054906101000a900460ff1681565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6115a261249e565b73ffffffffffffffffffffffffffffffffffffffff166115c0611720565b73ffffffffffffffffffffffffffffffffffffffff1614611616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160d90613df6565b60405180910390fd5b6116206000612d41565b565b61162a61249e565b73ffffffffffffffffffffffffffffffffffffffff16611648611720565b73ffffffffffffffffffffffffffffffffffffffff161461169e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169590613df6565b60405180910390fd5b8060158190555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60145481565b60155481565b60116020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606002805461175890613d78565b80601f016020809104026020016040519081016040528092919081815260200182805461178490613d78565b80156117d15780601f106117a6576101008083540402835291602001916117d1565b820191906000526020600020905b8154815290600101906020018083116117b457829003601f168201915b5050505050905090565b600061189e6117e861249e565b846118998560405180606001604052806025815260200161494360259139600d600061181261249e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c359092919063ffffffff16565b6124a6565b6001905092915050565b60006118bc6118b561249e565b8484612671565b506001905092915050565b60075481565b6118d561249e565b73ffffffffffffffffffffffffffffffffffffffff166118f3611720565b73ffffffffffffffffffffffffffffffffffffffff1614611949576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194090613df6565b60405180910390fd5b8060138190555050565b61195b61249e565b73ffffffffffffffffffffffffffffffffffffffff16611979611720565b73ffffffffffffffffffffffffffffffffffffffff16146119cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c690613df6565b60405180910390fd5b80601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611a3261249e565b73ffffffffffffffffffffffffffffffffffffffff16611a50611720565b73ffffffffffffffffffffffffffffffffffffffff1614611aa6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9d90613df6565b60405180910390fd5b80600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015611b5b5780601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5050565b60045481565b60065481565b60106020528060005260406000206000915054906101000a900460ff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1290613e62565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff168383604051602401611c47929190613e82565b6040516020818303038152906040527fa9059cbb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051611cd19190613ef2565b6000604051808303816000865af19150503d8060008114611d0e576040519150601f19603f3d011682016040523d82523d6000602084013e611d13565b606091505b5050905080611d57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4e90613f55565b60405180910390fd5b50505050565b611d6561249e565b73ffffffffffffffffffffffffffffffffffffffff16611d83611720565b73ffffffffffffffffffffffffffffffffffffffff1614611dd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd090613df6565b60405180910390fd5b81601660006101000a81548160ff02191690831515021790555080601660016101000a81548160ff0219169083151502179055505050565b6000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611ea061249e565b73ffffffffffffffffffffffffffffffffffffffff16611ebe611720565b73ffffffffffffffffffffffffffffffffffffffff1614611f14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0b90613df6565b60405180910390fd5b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611fff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff690613e62565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff164760405161202590613f9b565b60006040518083038185875af1925050503d8060008114612062576040519150601f19603f3d011682016040523d82523d6000602084013e612067565b606091505b50509050806120ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a290613ffc565b60405180910390fd5b50565b601660019054906101000a900460ff1681565b6120c961249e565b73ffffffffffffffffffffffffffffffffffffffff166120e7611720565b73ffffffffffffffffffffffffffffffffffffffff161461213d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161213490613df6565b60405180910390fd5b80601660026101000a81548160ff02191690831515021790555050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61218861249e565b73ffffffffffffffffffffffffffffffffffffffff166121a6611720565b73ffffffffffffffffffffffffffffffffffffffff16146121fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f390613df6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561226c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122639061408e565b60405180910390fd5b61227581612d41565b50565b61228061249e565b73ffffffffffffffffffffffffffffffffffffffff1661229e611720565b73ffffffffffffffffffffffffffffffffffffffff16146122f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122eb90613df6565b60405180910390fd5b80601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601660039054906101000a900460ff1681565b61235361249e565b73ffffffffffffffffffffffffffffffffffffffff16612371611720565b73ffffffffffffffffffffffffffffffffffffffff16146123c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123be90613df6565b60405180910390fd5b81600481905550806005819055505050565b6000808314156123ec576000905061244e565b600082846123fa91906140dd565b90508284826124099190614166565b14612449576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161244090614209565b60405180910390fd5b809150505b92915050565b600061249683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612e05565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250d9061429b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612586576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161257d9061432d565b60405180910390fd5b80600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612664919061388d565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156126e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126d9906143bf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612752576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274990614451565b60405180910390fd5b60008211612795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161278c906144e3565b60405180910390fd5b601760149054906101000a900460ff16156127bc576127b5848484612e68565b9050612c2e565b60006127c730611551565b9050600060135482101590508080156127ed5750601760149054906101000a900460ff16155b80156128435750600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561285b5750601660009054906101000a900460ff165b1561286a576128698261303b565b5b601160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561290e5750601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156129265750601660029054906101000a900460ff165b1561297157601454841115612970576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161296790614575565b60405180910390fd5b5b6129fa846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600c60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c359092919063ffffffff16565b600c60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000612a498787613240565b612a5d57612a588787876133ab565b612a5f565b845b9050601660039054906101000a900460ff168015612ac75750601060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612b2c57601554612aea82612adc89611551565b612ce390919063ffffffff16565b1115612b2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b22906145e1565b60405180910390fd5b5b612b7e81600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ce390919063ffffffff16565b600c60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612c1e919061388d565b60405180910390a3600193505050505b9392505050565b6000838311158290612c7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c749190613941565b60405180910390fd5b5060008385612c8c9190614601565b9050809150509392505050565b6000612cdb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612c35565b905092915050565b6000808284612cf29190614635565b905083811015612d37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d2e906146d7565b60405180910390fd5b8091505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008083118290612e4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e439190613941565b60405180910390fd5b5060008385612e5b9190614166565b9050809150509392505050565b6000612ef3826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600c60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c359092919063ffffffff16565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f8882600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ce390919063ffffffff16565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051613028919061388d565b60405180910390a3600190509392505050565b6001601760146101000a81548160ff021916908315150217905550601660019054906101000a900460ff16156130715760135490505b600061308a600654600454612ce390919063ffffffff16565b905060006130a5600754600554612ce390919063ffffffff16565b905060006130bc8284612ce390919063ffffffff16565b905060008114156130cf57505050613222565b60004790506130dd856135f8565b60006130f28247612c9990919063ffffffff16565b9050600061311b8461310d88856123d990919063ffffffff16565b61245490919063ffffffff16565b905060006131328284612c9990919063ffffffff16565b905060008211156131a757600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156131a5573d6000803e3d6000fd5b505b600081111561321a57600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613218573d6000803e3d6000fd5b505b505050505050505b6000601760146101000a81548160ff02191690831515021790555050565b6000600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806132e35750600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156132f157600190506133a5565b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806133925750600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156133a057600090506133a5565b600090505b92915050565b600080600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156134445761343d600b5461342f613420600554600454612ce390919063ffffffff16565b866123d990919063ffffffff16565b61245490919063ffffffff16565b90506134d7565b600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156134d6576134d3600b546134c56134b6600754600654612ce390919063ffffffff16565b866123d990919063ffffffff16565b61245490919063ffffffff16565b90505b5b60008111156135db5761353281600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ce390919063ffffffff16565b600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516135d2919061388d565b60405180910390a35b6135ee8184612c9990919063ffffffff16565b9150509392505050565b6000600267ffffffffffffffff811115613615576136146146f7565b5b6040519080825280602002602001820160405280156136435781602001602082028036833780820191505090505b509050308160008151811061365b5761365a614726565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613702573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613726919061476a565b8160018151811061373a57613739614726565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506137a130601660049054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846124a6565b601660049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613805959493929190614890565b600060405180830381600087803b15801561381f57600080fd5b505af1158015613833573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516138689291906148ea565b60405180910390a15050565b6000819050919050565b61388781613874565b82525050565b60006020820190506138a2600083018461387e565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156138e25780820151818401526020810190506138c7565b838111156138f1576000848401525b50505050565b6000601f19601f8301169050919050565b6000613913826138a8565b61391d81856138b3565b935061392d8185602086016138c4565b613936816138f7565b840191505092915050565b6000602082019050818103600083015261395b8184613908565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006139a86139a361399e84613963565b613983565b613963565b9050919050565b60006139ba8261398d565b9050919050565b60006139cc826139af565b9050919050565b6139dc816139c1565b82525050565b60006020820190506139f760008301846139d3565b92915050565b6000613a0882613963565b9050919050565b613a18816139fd565b82525050565b6000602082019050613a336000830184613a0f565b92915050565b600080fd5b613a47816139fd565b8114613a5257600080fd5b50565b600081359050613a6481613a3e565b92915050565b613a7381613874565b8114613a7e57600080fd5b50565b600081359050613a9081613a6a565b92915050565b60008060408385031215613aad57613aac613a39565b5b6000613abb85828601613a55565b9250506020613acc85828601613a81565b9150509250929050565b60008115159050919050565b613aeb81613ad6565b82525050565b6000602082019050613b066000830184613ae2565b92915050565b600080600060608486031215613b2557613b24613a39565b5b6000613b3386828701613a55565b9350506020613b4486828701613a55565b9250506040613b5586828701613a81565b9150509250925092565b600060208284031215613b7557613b74613a39565b5b6000613b8384828501613a55565b91505092915050565b600060ff82169050919050565b613ba281613b8c565b82525050565b6000602082019050613bbd6000830184613b99565b92915050565b613bcc81613ad6565b8114613bd757600080fd5b50565b600081359050613be981613bc3565b92915050565b600060208284031215613c0557613c04613a39565b5b6000613c1384828501613bda565b91505092915050565b600060208284031215613c3257613c31613a39565b5b6000613c4084828501613a81565b91505092915050565b60008060408385031215613c6057613c5f613a39565b5b6000613c6e85828601613a55565b9250506020613c7f85828601613bda565b9150509250929050565b60008060408385031215613ca057613c9f613a39565b5b6000613cae85828601613a81565b9250506020613cbf85828601613a81565b9150509250929050565b60008060408385031215613ce057613cdf613a39565b5b6000613cee85828601613bda565b9250506020613cff85828601613bda565b9150509250929050565b60008060408385031215613d2057613d1f613a39565b5b6000613d2e85828601613a55565b9250506020613d3f85828601613a55565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613d9057607f821691505b60208210811415613da457613da3613d49565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613de06020836138b3565b9150613deb82613daa565b602082019050919050565b60006020820190508181036000830152613e0f81613dd3565b9050919050565b7f4572726f723a20496e76616c69642043616c6c65722100000000000000000000600082015250565b6000613e4c6016836138b3565b9150613e5782613e16565b602082019050919050565b60006020820190508181036000830152613e7b81613e3f565b9050919050565b6000604082019050613e976000830185613a0f565b613ea4602083018461387e565b9392505050565b600081519050919050565b600081905092915050565b6000613ecc82613eab565b613ed68185613eb6565b9350613ee68185602086016138c4565b80840191505092915050565b6000613efe8284613ec1565b915081905092915050565b7f546f6b656e207061796d656e74206661696c6564000000000000000000000000600082015250565b6000613f3f6014836138b3565b9150613f4a82613f09565b602082019050919050565b60006020820190508181036000830152613f6e81613f32565b9050919050565b50565b6000613f85600083613eb6565b9150613f9082613f75565b600082019050919050565b6000613fa682613f78565b9150819050919050565b7f5472616e73616374696f6e204661696c65642121000000000000000000000000600082015250565b6000613fe66014836138b3565b9150613ff182613fb0565b602082019050919050565b6000602082019050818103600083015261401581613fd9565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006140786026836138b3565b91506140838261401c565b604082019050919050565b600060208201905081810360008301526140a78161406b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006140e882613874565b91506140f383613874565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561412c5761412b6140ae565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061417182613874565b915061417c83613874565b92508261418c5761418b614137565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006141f36021836138b3565b91506141fe82614197565b604082019050919050565b60006020820190508181036000830152614222816141e6565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006142856024836138b3565b915061429082614229565b604082019050919050565b600060208201905081810360008301526142b481614278565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006143176022836138b3565b9150614322826142bb565b604082019050919050565b600060208201905081810360008301526143468161430a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006143a96025836138b3565b91506143b48261434d565b604082019050919050565b600060208201905081810360008301526143d88161439c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061443b6023836138b3565b9150614446826143df565b604082019050919050565b6000602082019050818103600083015261446a8161442e565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006144cd6029836138b3565b91506144d882614471565b604082019050919050565b600060208201905081810360008301526144fc816144c0565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b600061455f6028836138b3565b915061456a82614503565b604082019050919050565b6000602082019050818103600083015261458e81614552565b9050919050565b7f4d61782057616c6c6574204c696d697420457863656564656421210000000000600082015250565b60006145cb601b836138b3565b91506145d682614595565b602082019050919050565b600060208201905081810360008301526145fa816145be565b9050919050565b600061460c82613874565b915061461783613874565b92508282101561462a576146296140ae565b5b828203905092915050565b600061464082613874565b915061464b83613874565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156146805761467f6140ae565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006146c1601b836138b3565b91506146cc8261468b565b602082019050919050565b600060208201905081810360008301526146f0816146b4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061476481613a3e565b92915050565b6000602082840312156147805761477f613a39565b5b600061478e84828501614755565b91505092915050565b6000819050919050565b60006147bc6147b76147b284614797565b613983565b613874565b9050919050565b6147cc816147a1565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614807816139fd565b82525050565b600061481983836147fe565b60208301905092915050565b6000602082019050919050565b600061483d826147d2565b61484781856147dd565b9350614852836147ee565b8060005b8381101561488357815161486a888261480d565b975061487583614825565b925050600181019050614856565b5085935050505092915050565b600060a0820190506148a5600083018861387e565b6148b260208301876147c3565b81810360408301526148c48186614832565b90506148d36060830185613a0f565b6148e0608083018461387e565b9695505050505050565b60006040820190506148ff600083018561387e565b81810360208301526149118184614832565b9050939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220225ee7a8adb7294b0677e5c9ee97ff4bf7076185dd1cb234e773d8a9c60de62f64736f6c634300080a0033
Deployed Bytecode
0x6080604052600436106103395760003560e01c80637b208769116101ab578063c8607952116100f7578063e9fd339411610095578063f2fde38b1161006f578063f2fde38b14610c2b578063f71b9bbf14610c54578063f872858a14610c7d578063fb0ecfa414610ca857610340565b8063e9fd339414610bac578063ee828db314610bd7578063f242ab4114610c0057610340565b8063d4e43fb3116100d1578063d4e43fb314610b06578063dd62ed3e14610b2f578063df8408fe14610b6c578063e6b2603b14610b9557610340565b8063c860795214610a75578063c867d60b14610aa0578063cea9d26f14610add57610340565b8063a457c2d711610164578063adc0d0921161013e578063adc0d092146109cf578063ae85ade6146109f8578063c16dd4a414610a21578063c5d2418914610a4a57610340565b8063a457c2d71461092a578063a9059cbb14610967578063aa49dadd146109a457610340565b80637b208769146108165780637d1db4a514610841578063807c2d9c1461086c5780638b42507f146108975780638da5cb5b146108d457806395d89b41146108ff57610340565b80634974d88f11610285578063651a89871161022357806370a08231116101fd57806370a082311461076e578063715018a6146107ab578063728d41c9146107c257806375f0a874146107eb57610340565b8063651a8987146106f15780636ac9a8701461071a5780636ddd17131461074357610340565b80635c85974f1161025f5780635c85974f146106495780635d098b38146106725780635e42358c1461069b57806363a2e42f146106c657610340565b80634974d88f146105ba5780635342acb4146105e357806359fac5171461062057610340565b806323b872dd116102f257806330563bd7116102cc57806330563bd7146104ec578063313ce5671461051557806339509351146105405780633ecad2711461057d57610340565b806323b872dd1461045957806327c8f835146104965780632b112e49146104c157610340565b80630445b6671461034557806306fdde03146103705780630758d9241461039b5780630930907b146103c6578063095ea7b3146103f157806318160ddd1461042e57610340565b3661034057005b600080fd5b34801561035157600080fd5b5061035a610cd1565b604051610367919061388d565b60405180910390f35b34801561037c57600080fd5b50610385610cd7565b6040516103929190613941565b60405180910390f35b3480156103a757600080fd5b506103b0610d69565b6040516103bd91906139e2565b60405180910390f35b3480156103d257600080fd5b506103db610d8f565b6040516103e89190613a1e565b60405180910390f35b3480156103fd57600080fd5b5061041860048036038101906104139190613a96565b610db3565b6040516104259190613af1565b60405180910390f35b34801561043a57600080fd5b50610443610dd1565b604051610450919061388d565b60405180910390f35b34801561046557600080fd5b50610480600480360381019061047b9190613b0c565b610ddb565b60405161048d9190613af1565b60405180910390f35b3480156104a257600080fd5b506104ab610eb5565b6040516104b89190613a1e565b60405180910390f35b3480156104cd57600080fd5b506104d6610ed9565b6040516104e3919061388d565b60405180910390f35b3480156104f857600080fd5b50610513600480360381019061050e9190613b5f565b610f57565b005b34801561052157600080fd5b5061052a611017565b6040516105379190613ba8565b60405180910390f35b34801561054c57600080fd5b5061056760048036038101906105629190613a96565b61102e565b6040516105749190613af1565b60405180910390f35b34801561058957600080fd5b506105a4600480360381019061059f9190613b5f565b6110e1565b6040516105b19190613af1565b60405180910390f35b3480156105c657600080fd5b506105e160048036038101906105dc9190613bef565b611101565b005b3480156105ef57600080fd5b5061060a60048036038101906106059190613b5f565b61119a565b6040516106179190613af1565b60405180910390f35b34801561062c57600080fd5b5061064760048036038101906106429190613b5f565b6111ba565b005b34801561065557600080fd5b50610670600480360381019061066b9190613c1c565b61127a565b005b34801561067e57600080fd5b5061069960048036038101906106949190613b5f565b611300565b005b3480156106a757600080fd5b506106b06113c0565b6040516106bd9190613af1565b60405180910390f35b3480156106d257600080fd5b506106db6113d3565b6040516106e8919061388d565b60405180910390f35b3480156106fd57600080fd5b5061071860048036038101906107139190613c49565b6113d9565b005b34801561072657600080fd5b50610741600480360381019061073c9190613c89565b6114b0565b005b34801561074f57600080fd5b5061075861153e565b6040516107659190613af1565b60405180910390f35b34801561077a57600080fd5b5061079560048036038101906107909190613b5f565b611551565b6040516107a2919061388d565b60405180910390f35b3480156107b757600080fd5b506107c061159a565b005b3480156107ce57600080fd5b506107e960048036038101906107e49190613c1c565b611622565b005b3480156107f757600080fd5b506108006116a8565b60405161080d9190613a1e565b60405180910390f35b34801561082257600080fd5b5061082b6116ce565b6040516108389190613a1e565b60405180910390f35b34801561084d57600080fd5b506108566116f4565b604051610863919061388d565b60405180910390f35b34801561087857600080fd5b506108816116fa565b60405161088e919061388d565b60405180910390f35b3480156108a357600080fd5b506108be60048036038101906108b99190613b5f565b611700565b6040516108cb9190613af1565b60405180910390f35b3480156108e057600080fd5b506108e9611720565b6040516108f69190613a1e565b60405180910390f35b34801561090b57600080fd5b50610914611749565b6040516109219190613941565b60405180910390f35b34801561093657600080fd5b50610951600480360381019061094c9190613a96565b6117db565b60405161095e9190613af1565b60405180910390f35b34801561097357600080fd5b5061098e60048036038101906109899190613a96565b6118a8565b60405161099b9190613af1565b60405180910390f35b3480156109b057600080fd5b506109b96118c7565b6040516109c6919061388d565b60405180910390f35b3480156109db57600080fd5b506109f660048036038101906109f19190613c1c565b6118cd565b005b348015610a0457600080fd5b50610a1f6004803603810190610a1a9190613c49565b611953565b005b348015610a2d57600080fd5b50610a486004803603810190610a439190613c49565b611a2a565b005b348015610a5657600080fd5b50610a5f611b5f565b604051610a6c919061388d565b60405180910390f35b348015610a8157600080fd5b50610a8a611b65565b604051610a97919061388d565b60405180910390f35b348015610aac57600080fd5b50610ac76004803603810190610ac29190613b5f565b611b6b565b604051610ad49190613af1565b60405180910390f35b348015610ae957600080fd5b50610b046004803603810190610aff9190613b0c565b611b8b565b005b348015610b1257600080fd5b50610b2d6004803603810190610b289190613cc9565b611d5d565b005b348015610b3b57600080fd5b50610b566004803603810190610b519190613d09565b611e11565b604051610b63919061388d565b60405180910390f35b348015610b7857600080fd5b50610b936004803603810190610b8e9190613c49565b611e98565b005b348015610ba157600080fd5b50610baa611f6f565b005b348015610bb857600080fd5b50610bc16120ae565b604051610bce9190613af1565b60405180910390f35b348015610be357600080fd5b50610bfe6004803603810190610bf99190613bef565b6120c1565b005b348015610c0c57600080fd5b50610c1561215a565b604051610c229190613a1e565b60405180910390f35b348015610c3757600080fd5b50610c526004803603810190610c4d9190613b5f565b612180565b005b348015610c6057600080fd5b50610c7b6004803603810190610c769190613b5f565b612278565b005b348015610c8957600080fd5b50610c92612338565b604051610c9f9190613af1565b60405180910390f35b348015610cb457600080fd5b50610ccf6004803603810190610cca9190613c89565b61234b565b005b60135481565b606060018054610ce690613d78565b80601f0160208091040260200160405190810160405280929190818152602001828054610d1290613d78565b8015610d5f5780601f10610d3457610100808354040283529160200191610d5f565b820191906000526020600020905b815481529060010190602001808311610d4257829003601f168201915b5050505050905090565b601660049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610dc7610dc061249e565b84846124a6565b6001905092915050565b6000601254905090565b6000610de8848484612671565b50610eaa84610df561249e565b610ea58560405180606001604052806028815260200161491b60289139600d60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610e5b61249e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c359092919063ffffffff16565b6124a6565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b6000610f52610f077f0000000000000000000000000000000000000000000000000000000000000000611551565b610f44610f337f000000000000000000000000000000000000000000000000000000000000dead611551565b601254612c9990919063ffffffff16565b612c9990919063ffffffff16565b905090565b610f5f61249e565b73ffffffffffffffffffffffffffffffffffffffff16610f7d611720565b73ffffffffffffffffffffffffffffffffffffffff1614610fd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fca90613df6565b60405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600360009054906101000a900460ff16905090565b60006110d761103b61249e565b846110d285600d600061104c61249e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ce390919063ffffffff16565b6124a6565b6001905092915050565b600f6020528060005260406000206000915054906101000a900460ff1681565b61110961249e565b73ffffffffffffffffffffffffffffffffffffffff16611127611720565b73ffffffffffffffffffffffffffffffffffffffff161461117d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117490613df6565b60405180910390fd5b80601660036101000a81548160ff02191690831515021790555050565b600e6020528060005260406000206000915054906101000a900460ff1681565b6111c261249e565b73ffffffffffffffffffffffffffffffffffffffff166111e0611720565b73ffffffffffffffffffffffffffffffffffffffff1614611236576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122d90613df6565b60405180910390fd5b80601660046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61128261249e565b73ffffffffffffffffffffffffffffffffffffffff166112a0611720565b73ffffffffffffffffffffffffffffffffffffffff16146112f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ed90613df6565b60405180910390fd5b8060148190555050565b61130861249e565b73ffffffffffffffffffffffffffffffffffffffff16611326611720565b73ffffffffffffffffffffffffffffffffffffffff161461137c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137390613df6565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601660029054906101000a900460ff1681565b60055481565b6113e161249e565b73ffffffffffffffffffffffffffffffffffffffff166113ff611720565b73ffffffffffffffffffffffffffffffffffffffff1614611455576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144c90613df6565b60405180910390fd5b80601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6114b861249e565b73ffffffffffffffffffffffffffffffffffffffff166114d6611720565b73ffffffffffffffffffffffffffffffffffffffff161461152c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152390613df6565b60405180910390fd5b81600681905550806007819055505050565b601660009054906101000a900460ff1681565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6115a261249e565b73ffffffffffffffffffffffffffffffffffffffff166115c0611720565b73ffffffffffffffffffffffffffffffffffffffff1614611616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160d90613df6565b60405180910390fd5b6116206000612d41565b565b61162a61249e565b73ffffffffffffffffffffffffffffffffffffffff16611648611720565b73ffffffffffffffffffffffffffffffffffffffff161461169e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169590613df6565b60405180910390fd5b8060158190555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60145481565b60155481565b60116020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606002805461175890613d78565b80601f016020809104026020016040519081016040528092919081815260200182805461178490613d78565b80156117d15780601f106117a6576101008083540402835291602001916117d1565b820191906000526020600020905b8154815290600101906020018083116117b457829003601f168201915b5050505050905090565b600061189e6117e861249e565b846118998560405180606001604052806025815260200161494360259139600d600061181261249e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c359092919063ffffffff16565b6124a6565b6001905092915050565b60006118bc6118b561249e565b8484612671565b506001905092915050565b60075481565b6118d561249e565b73ffffffffffffffffffffffffffffffffffffffff166118f3611720565b73ffffffffffffffffffffffffffffffffffffffff1614611949576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194090613df6565b60405180910390fd5b8060138190555050565b61195b61249e565b73ffffffffffffffffffffffffffffffffffffffff16611979611720565b73ffffffffffffffffffffffffffffffffffffffff16146119cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c690613df6565b60405180910390fd5b80601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611a3261249e565b73ffffffffffffffffffffffffffffffffffffffff16611a50611720565b73ffffffffffffffffffffffffffffffffffffffff1614611aa6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9d90613df6565b60405180910390fd5b80600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015611b5b5780601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5050565b60045481565b60065481565b60106020528060005260406000206000915054906101000a900460ff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1290613e62565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff168383604051602401611c47929190613e82565b6040516020818303038152906040527fa9059cbb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051611cd19190613ef2565b6000604051808303816000865af19150503d8060008114611d0e576040519150601f19603f3d011682016040523d82523d6000602084013e611d13565b606091505b5050905080611d57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4e90613f55565b60405180910390fd5b50505050565b611d6561249e565b73ffffffffffffffffffffffffffffffffffffffff16611d83611720565b73ffffffffffffffffffffffffffffffffffffffff1614611dd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd090613df6565b60405180910390fd5b81601660006101000a81548160ff02191690831515021790555080601660016101000a81548160ff0219169083151502179055505050565b6000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611ea061249e565b73ffffffffffffffffffffffffffffffffffffffff16611ebe611720565b73ffffffffffffffffffffffffffffffffffffffff1614611f14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0b90613df6565b60405180910390fd5b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611fff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff690613e62565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff164760405161202590613f9b565b60006040518083038185875af1925050503d8060008114612062576040519150601f19603f3d011682016040523d82523d6000602084013e612067565b606091505b50509050806120ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a290613ffc565b60405180910390fd5b50565b601660019054906101000a900460ff1681565b6120c961249e565b73ffffffffffffffffffffffffffffffffffffffff166120e7611720565b73ffffffffffffffffffffffffffffffffffffffff161461213d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161213490613df6565b60405180910390fd5b80601660026101000a81548160ff02191690831515021790555050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61218861249e565b73ffffffffffffffffffffffffffffffffffffffff166121a6611720565b73ffffffffffffffffffffffffffffffffffffffff16146121fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f390613df6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561226c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122639061408e565b60405180910390fd5b61227581612d41565b50565b61228061249e565b73ffffffffffffffffffffffffffffffffffffffff1661229e611720565b73ffffffffffffffffffffffffffffffffffffffff16146122f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122eb90613df6565b60405180910390fd5b80601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601660039054906101000a900460ff1681565b61235361249e565b73ffffffffffffffffffffffffffffffffffffffff16612371611720565b73ffffffffffffffffffffffffffffffffffffffff16146123c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123be90613df6565b60405180910390fd5b81600481905550806005819055505050565b6000808314156123ec576000905061244e565b600082846123fa91906140dd565b90508284826124099190614166565b14612449576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161244090614209565b60405180910390fd5b809150505b92915050565b600061249683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612e05565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250d9061429b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612586576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161257d9061432d565b60405180910390fd5b80600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612664919061388d565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156126e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126d9906143bf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612752576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274990614451565b60405180910390fd5b60008211612795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161278c906144e3565b60405180910390fd5b601760149054906101000a900460ff16156127bc576127b5848484612e68565b9050612c2e565b60006127c730611551565b9050600060135482101590508080156127ed5750601760149054906101000a900460ff16155b80156128435750600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561285b5750601660009054906101000a900460ff165b1561286a576128698261303b565b5b601160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561290e5750601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156129265750601660029054906101000a900460ff165b1561297157601454841115612970576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161296790614575565b60405180910390fd5b5b6129fa846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600c60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c359092919063ffffffff16565b600c60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000612a498787613240565b612a5d57612a588787876133ab565b612a5f565b845b9050601660039054906101000a900460ff168015612ac75750601060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612b2c57601554612aea82612adc89611551565b612ce390919063ffffffff16565b1115612b2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b22906145e1565b60405180910390fd5b5b612b7e81600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ce390919063ffffffff16565b600c60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612c1e919061388d565b60405180910390a3600193505050505b9392505050565b6000838311158290612c7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c749190613941565b60405180910390fd5b5060008385612c8c9190614601565b9050809150509392505050565b6000612cdb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612c35565b905092915050565b6000808284612cf29190614635565b905083811015612d37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d2e906146d7565b60405180910390fd5b8091505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008083118290612e4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e439190613941565b60405180910390fd5b5060008385612e5b9190614166565b9050809150509392505050565b6000612ef3826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600c60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c359092919063ffffffff16565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f8882600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ce390919063ffffffff16565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051613028919061388d565b60405180910390a3600190509392505050565b6001601760146101000a81548160ff021916908315150217905550601660019054906101000a900460ff16156130715760135490505b600061308a600654600454612ce390919063ffffffff16565b905060006130a5600754600554612ce390919063ffffffff16565b905060006130bc8284612ce390919063ffffffff16565b905060008114156130cf57505050613222565b60004790506130dd856135f8565b60006130f28247612c9990919063ffffffff16565b9050600061311b8461310d88856123d990919063ffffffff16565b61245490919063ffffffff16565b905060006131328284612c9990919063ffffffff16565b905060008211156131a757600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156131a5573d6000803e3d6000fd5b505b600081111561321a57600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613218573d6000803e3d6000fd5b505b505050505050505b6000601760146101000a81548160ff02191690831515021790555050565b6000600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806132e35750600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156132f157600190506133a5565b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806133925750600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156133a057600090506133a5565b600090505b92915050565b600080600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156134445761343d600b5461342f613420600554600454612ce390919063ffffffff16565b866123d990919063ffffffff16565b61245490919063ffffffff16565b90506134d7565b600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156134d6576134d3600b546134c56134b6600754600654612ce390919063ffffffff16565b866123d990919063ffffffff16565b61245490919063ffffffff16565b90505b5b60008111156135db5761353281600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ce390919063ffffffff16565b600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516135d2919061388d565b60405180910390a35b6135ee8184612c9990919063ffffffff16565b9150509392505050565b6000600267ffffffffffffffff811115613615576136146146f7565b5b6040519080825280602002602001820160405280156136435781602001602082028036833780820191505090505b509050308160008151811061365b5761365a614726565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613702573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613726919061476a565b8160018151811061373a57613739614726565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506137a130601660049054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846124a6565b601660049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613805959493929190614890565b600060405180830381600087803b15801561381f57600080fd5b505af1158015613833573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516138689291906148ea565b60405180910390a15050565b6000819050919050565b61388781613874565b82525050565b60006020820190506138a2600083018461387e565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156138e25780820151818401526020810190506138c7565b838111156138f1576000848401525b50505050565b6000601f19601f8301169050919050565b6000613913826138a8565b61391d81856138b3565b935061392d8185602086016138c4565b613936816138f7565b840191505092915050565b6000602082019050818103600083015261395b8184613908565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006139a86139a361399e84613963565b613983565b613963565b9050919050565b60006139ba8261398d565b9050919050565b60006139cc826139af565b9050919050565b6139dc816139c1565b82525050565b60006020820190506139f760008301846139d3565b92915050565b6000613a0882613963565b9050919050565b613a18816139fd565b82525050565b6000602082019050613a336000830184613a0f565b92915050565b600080fd5b613a47816139fd565b8114613a5257600080fd5b50565b600081359050613a6481613a3e565b92915050565b613a7381613874565b8114613a7e57600080fd5b50565b600081359050613a9081613a6a565b92915050565b60008060408385031215613aad57613aac613a39565b5b6000613abb85828601613a55565b9250506020613acc85828601613a81565b9150509250929050565b60008115159050919050565b613aeb81613ad6565b82525050565b6000602082019050613b066000830184613ae2565b92915050565b600080600060608486031215613b2557613b24613a39565b5b6000613b3386828701613a55565b9350506020613b4486828701613a55565b9250506040613b5586828701613a81565b9150509250925092565b600060208284031215613b7557613b74613a39565b5b6000613b8384828501613a55565b91505092915050565b600060ff82169050919050565b613ba281613b8c565b82525050565b6000602082019050613bbd6000830184613b99565b92915050565b613bcc81613ad6565b8114613bd757600080fd5b50565b600081359050613be981613bc3565b92915050565b600060208284031215613c0557613c04613a39565b5b6000613c1384828501613bda565b91505092915050565b600060208284031215613c3257613c31613a39565b5b6000613c4084828501613a81565b91505092915050565b60008060408385031215613c6057613c5f613a39565b5b6000613c6e85828601613a55565b9250506020613c7f85828601613bda565b9150509250929050565b60008060408385031215613ca057613c9f613a39565b5b6000613cae85828601613a81565b9250506020613cbf85828601613a81565b9150509250929050565b60008060408385031215613ce057613cdf613a39565b5b6000613cee85828601613bda565b9250506020613cff85828601613bda565b9150509250929050565b60008060408385031215613d2057613d1f613a39565b5b6000613d2e85828601613a55565b9250506020613d3f85828601613a55565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613d9057607f821691505b60208210811415613da457613da3613d49565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613de06020836138b3565b9150613deb82613daa565b602082019050919050565b60006020820190508181036000830152613e0f81613dd3565b9050919050565b7f4572726f723a20496e76616c69642043616c6c65722100000000000000000000600082015250565b6000613e4c6016836138b3565b9150613e5782613e16565b602082019050919050565b60006020820190508181036000830152613e7b81613e3f565b9050919050565b6000604082019050613e976000830185613a0f565b613ea4602083018461387e565b9392505050565b600081519050919050565b600081905092915050565b6000613ecc82613eab565b613ed68185613eb6565b9350613ee68185602086016138c4565b80840191505092915050565b6000613efe8284613ec1565b915081905092915050565b7f546f6b656e207061796d656e74206661696c6564000000000000000000000000600082015250565b6000613f3f6014836138b3565b9150613f4a82613f09565b602082019050919050565b60006020820190508181036000830152613f6e81613f32565b9050919050565b50565b6000613f85600083613eb6565b9150613f9082613f75565b600082019050919050565b6000613fa682613f78565b9150819050919050565b7f5472616e73616374696f6e204661696c65642121000000000000000000000000600082015250565b6000613fe66014836138b3565b9150613ff182613fb0565b602082019050919050565b6000602082019050818103600083015261401581613fd9565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006140786026836138b3565b91506140838261401c565b604082019050919050565b600060208201905081810360008301526140a78161406b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006140e882613874565b91506140f383613874565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561412c5761412b6140ae565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061417182613874565b915061417c83613874565b92508261418c5761418b614137565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006141f36021836138b3565b91506141fe82614197565b604082019050919050565b60006020820190508181036000830152614222816141e6565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006142856024836138b3565b915061429082614229565b604082019050919050565b600060208201905081810360008301526142b481614278565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006143176022836138b3565b9150614322826142bb565b604082019050919050565b600060208201905081810360008301526143468161430a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006143a96025836138b3565b91506143b48261434d565b604082019050919050565b600060208201905081810360008301526143d88161439c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061443b6023836138b3565b9150614446826143df565b604082019050919050565b6000602082019050818103600083015261446a8161442e565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006144cd6029836138b3565b91506144d882614471565b604082019050919050565b600060208201905081810360008301526144fc816144c0565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b600061455f6028836138b3565b915061456a82614503565b604082019050919050565b6000602082019050818103600083015261458e81614552565b9050919050565b7f4d61782057616c6c6574204c696d697420457863656564656421210000000000600082015250565b60006145cb601b836138b3565b91506145d682614595565b602082019050919050565b600060208201905081810360008301526145fa816145be565b9050919050565b600061460c82613874565b915061461783613874565b92508282101561462a576146296140ae565b5b828203905092915050565b600061464082613874565b915061464b83613874565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156146805761467f6140ae565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006146c1601b836138b3565b91506146cc8261468b565b602082019050919050565b600060208201905081810360008301526146f0816146b4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061476481613a3e565b92915050565b6000602082840312156147805761477f613a39565b5b600061478e84828501614755565b91505092915050565b6000819050919050565b60006147bc6147b76147b284614797565b613983565b613874565b9050919050565b6147cc816147a1565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614807816139fd565b82525050565b600061481983836147fe565b60208301905092915050565b6000602082019050919050565b600061483d826147d2565b61484781856147dd565b9350614852836147ee565b8060005b8381101561488357815161486a888261480d565b975061487583614825565b925050600181019050614856565b5085935050505092915050565b600060a0820190506148a5600083018861387e565b6148b260208301876147c3565b81810360408301526148c48186614832565b90506148d36060830185613a0f565b6148e0608083018461387e565b9695505050505050565b60006040820190506148ff600083018561387e565b81810360208301526149118184614832565b9050939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220225ee7a8adb7294b0677e5c9ee97ff4bf7076185dd1cb234e773d8a9c60de62f64736f6c634300080a0033
Deployed Bytecode Sourcemap
7687:13136:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8910:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11206:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9292:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7978:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12544:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11483:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13318:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7890:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11877:156;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19974:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11392:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12041:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8673:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19122:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8616:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20602:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19743:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19852:114;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9209:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8110:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19365:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18847:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9135:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11591:123;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2447:94;;;;;;;;;;;;;:::i;:::-;;19629:106;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8238:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8329:82;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8977:61;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9055:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8784:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2138:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11297;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12267:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13143:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8195:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20487:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19501:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20092:204;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8068:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8152:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8725:52;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18401:272;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20304:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11722:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19235:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18215:178;;;;;;;;;;;;;:::i;:::-;;9172:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19016:98;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9330:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2549:229;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20725:91;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9248:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18681:158;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8910:54;;;;:::o;11206:83::-;11243:13;11276:5;11269:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11206:83;:::o;9292:31::-;;;;;;;;;;;;;:::o;7978:81::-;;;:::o;12544:161::-;12619:4;12636:39;12645:12;:10;:12::i;:::-;12659:7;12668:6;12636:8;:39::i;:::-;12693:4;12686:11;;12544:161;;;;:::o;11483:100::-;11536:7;11563:12;;11556:19;;11483:100;:::o;13318:313::-;13416:4;13433:36;13443:6;13451:9;13462:6;13433:9;:36::i;:::-;;13480:121;13489:6;13497:12;:10;:12::i;:::-;13511:89;13549:6;13511:89;;;;;;;;;;;;;;;;;:11;:19;13523:6;13511:19;;;;;;;;;;;;;;;:33;13531:12;:10;:12::i;:::-;13511:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;13480:8;:121::i;:::-;13619:4;13612:11;;13318:313;;;;;:::o;7890:81::-;;;:::o;11877:156::-;11930:7;11957:68;12002:22;12012:11;12002:9;:22::i;:::-;11957:40;11974:22;11984:11;11974:9;:22::i;:::-;11957:12;;:16;;:40;;;;:::i;:::-;:44;;:68;;;;:::i;:::-;11950:75;;11877:156;:::o;19974:110::-;2370:12;:10;:12::i;:::-;2359:23;;:7;:5;:7::i;:::-;:23;;;2351:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20066:10:::1;20050:13;;:26;;;;;;;;;;;;;;;;;;19974:110:::0;:::o;11392:83::-;11433:5;11458:9;;;;;;;;;;;11451:16;;11392:83;:::o;12041:218::-;12129:4;12146:83;12155:12;:10;:12::i;:::-;12169:7;12178:50;12217:10;12178:11;:25;12190:12;:10;:12::i;:::-;12178:25;;;;;;;;;;;;;;;:34;12204:7;12178:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;12146:8;:83::i;:::-;12247:4;12240:11;;12041:218;;;;:::o;8673:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;19122:105::-;2370:12;:10;:12::i;:::-;2359:23;;:7;:5;:7::i;:::-;:23;;;2351:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19212:7:::1;19193:16;;:26;;;;;;;;;;;;;;;;;;19122:105:::0;:::o;8616:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;20602:115::-;2370:12;:10;:12::i;:::-;2359:23;;:7;:5;:7::i;:::-;:23;;;2351:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20701:7:::1;20674:9;;:35;;;;;;;;;;;;;;;;;;20602:115:::0;:::o;19743:101::-;2370:12;:10;:12::i;:::-;2359:23;;:7;:5;:7::i;:::-;:23;;;2351:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19828:8:::1;19813:12;:23;;;;19743:101:::0;:::o;19852:114::-;2370:12;:10;:12::i;:::-;2359:23;;:7;:5;:7::i;:::-;:23;;;2351:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19948:10:::1;19930:15;;:28;;;;;;;;;;;;;;;;;;19852:114:::0;:::o;9209:32::-;;;;;;;;;;;;;:::o;8110:33::-;;;;:::o;19365:128::-;2370:12;:10;:12::i;:::-;2359:23;;:7;:5;:7::i;:::-;:23;;;2351:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19478:7:::1;19450:19;:25;19470:4;19450:25;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;19365:128:::0;;:::o;18847:161::-;2370:12;:10;:12::i;:::-;2359:23;;:7;:5;:7::i;:::-;:23;;;2351:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18953:10:::1;18933:17;:30;;;;18992:8;18974:15;:26;;;;18847:161:::0;;:::o;9135:30::-;;;;;;;;;;;;;:::o;11591:123::-;11657:7;11683:9;:18;11693:7;11683:18;;;;;;;;;;;;;;;;11676:25;;11591:123;;;:::o;2447:94::-;2370:12;:10;:12::i;:::-;2359:23;;:7;:5;:7::i;:::-;:23;;;2351:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2512:21:::1;2530:1;2512:9;:21::i;:::-;2447:94::o:0;19629:106::-;2370:12;:10;:12::i;:::-;2359:23;;:7;:5;:7::i;:::-;:23;;;2351:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19719:8:::1;19706:10;:21;;;;19629:106:::0;:::o;8238:84::-;;;;;;;;;;;;;:::o;8329:82::-;;;;;;;;;;;;;:::o;8977:61::-;;;;:::o;9055:58::-;;;;:::o;8784:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;2138:87::-;2184:7;2211:6;;;;;;;;;;;2204:13;;2138:87;:::o;11297:::-;11336:13;11369:7;11362:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11297:87;:::o;12267:269::-;12360:4;12377:129;12386:12;:10;:12::i;:::-;12400:7;12409:96;12448:15;12409:96;;;;;;;;;;;;;;;;;:11;:25;12421:12;:10;:12::i;:::-;12409:25;;;;;;;;;;;;;;;:34;12435:7;12409:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;12377:8;:129::i;:::-;12524:4;12517:11;;12267:269;;;;:::o;13143:167::-;13221:4;13238:42;13248:12;:10;:12::i;:::-;13262:9;13273:6;13238:9;:42::i;:::-;;13298:4;13291:11;;13143:167;;;;:::o;8195:34::-;;;;:::o;20487:107::-;2370:12;:10;:12::i;:::-;2359:23;;:7;:5;:7::i;:::-;:23;;;2351:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20576:10:::1;20560:13;:26;;;;20487:107:::0;:::o;19501:120::-;2370:12;:10;:12::i;:::-;2359:23;;:7;:5;:7::i;:::-;:23;;;2351:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19606:7:::1;19582:15;:21;19598:4;19582:21;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;19501:120:::0;;:::o;20092:204::-;2370:12;:10;:12::i;:::-;2359:23;;:7;:5;:7::i;:::-;:23;;;2351:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20196:7:::1;20174:12;:19;20187:5;20174:19;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;20217:7;20214:75;;;20270:7;20241:19;:26;20261:5;20241:26;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;20214:75;20092:204:::0;;:::o;8068:35::-;;;;:::o;8152:36::-;;;;:::o;8725:52::-;;;;;;;;;;;;;;;;;;;;;;:::o;18401:272::-;9439:9;;;;;;;;;;;9425:23;;:10;:23;;;9417:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;18501:12:::1;18527:6;18519:20;;18594:9;18605:7;18540:73;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18519:95;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18500:114;;;18633:7;18625:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;18489:184;18401:272:::0;;;:::o;20304:175::-;2370:12;:10;:12::i;:::-;2359:23;;:7;:5;:7::i;:::-;:23;;;2351:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20430:8:::1;20416:11;;:22;;;;;;;;;;;;;;;;;;20463:8;20449:11;;:22;;;;;;;;;;;;;;;;;;20304:175:::0;;:::o;11722:143::-;11803:7;11830:11;:18;11842:5;11830:18;;;;;;;;;;;;;;;:27;11849:7;11830:27;;;;;;;;;;;;;;;;11823:34;;11722:143;;;;:::o;19235:122::-;2370:12;:10;:12::i;:::-;2359:23;;:7;:5;:7::i;:::-;:23;;;2351:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19342:7:::1;19316:17;:23;19334:4;19316:23;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;19235:122:::0;;:::o;18215:178::-;9439:9;;;;;;;;;;;9425:23;;:10;:23;;;9417:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;18270:7:::1;18290:10;18282:24;;18314:21;18282:58;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18269:71;;;18359:2;18351:34;;;;;;;;;;;;:::i;:::-;;;;;;;;;18257:136;18215:178::o:0;9172:30::-;;;;;;;;;;;;;:::o;19016:98::-;2370:12;:10;:12::i;:::-;2359:23;;:7;:5;:7::i;:::-;:23;;;2351:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19099:7:::1;19083:13;;:23;;;;;;;;;;;;;;;;;;19016:98:::0;:::o;9330:22::-;;;;;;;;;;;;;:::o;2549:229::-;2370:12;:10;:12::i;:::-;2359:23;;:7;:5;:7::i;:::-;:23;;;2351:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2672:1:::1;2652:22;;:8;:22;;;;2630:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;2751:19;2761:8;2751:9;:19::i;:::-;2549:229:::0;:::o;20725:91::-;2370:12;:10;:12::i;:::-;2359:23;;:7;:5;:7::i;:::-;:23;;;2351:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20803:5:::1;20793:7;;:15;;;;;;;;;;;;;;;;;;20725:91:::0;:::o;9248:35::-;;;;;;;;;;;;;:::o;18681:158::-;2370:12;:10;:12::i;:::-;2359:23;;:7;:5;:7::i;:::-;:23;;;2351:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18785:10:::1;18766:16;:29;;;;18823:8;18806:14;:25;;;;18681:158:::0;;:::o;3525:250::-;3583:7;3612:1;3607;:6;3603:47;;;3637:1;3630:8;;;;3603:47;3662:9;3678:1;3674;:5;;;;:::i;:::-;3662:17;;3707:1;3702;3698;:5;;;;:::i;:::-;:10;3690:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;3766:1;3759:8;;;3525:250;;;;;:::o;3783:132::-;3841:7;3868:39;3872:1;3875;3868:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3861:46;;3783:132;;;;:::o;705:98::-;758:7;785:10;778:17;;705:98;:::o;12713:337::-;12823:1;12806:19;;:5;:19;;;;12798:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12904:1;12885:21;;:7;:21;;;;12877:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12988:6;12958:11;:18;12970:5;12958:18;;;;;;;;;;;;;;;:27;12977:7;12958:27;;;;;;;;;;;;;;;:36;;;;13026:7;13010:32;;13019:5;13010:32;;;13035:6;13010:32;;;;;;:::i;:::-;;;;;;;;12713:337;;;:::o;13639:1578::-;13726:4;13771:1;13753:20;;:6;:20;;;;13745:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;13855:1;13834:23;;:9;:23;;;;13826:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13925:1;13916:6;:10;13908:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;13993:6;;;;;;;;;;;13989:1219;;;14023:41;14038:6;14046:9;14057:6;14023:14;:41::i;:::-;14016:48;;;;13989:1219;14108:28;14139:24;14157:4;14139:9;:24::i;:::-;14108:55;;14178:28;14233:13;;14209:20;:37;;14178:68;;14267:23;:34;;;;;14295:6;;;;;;;;;;;14294:7;14267:34;:59;;;;;14306:12;:20;14319:6;14306:20;;;;;;;;;;;;;;;;;;;;;;;;;14305:21;14267:59;:74;;;;;14330:11;;;;;;;;;;;14267:74;14263:145;;;14362:30;14371:20;14362:8;:30::i;:::-;14263:145;14428:15;:23;14444:6;14428:23;;;;;;;;;;;;;;;;;;;;;;;;;14427:24;:55;;;;;14456:15;:26;14472:9;14456:26;;;;;;;;;;;;;;;;;;;;;;;;;14455:27;14427:55;:72;;;;;14486:13;;;;;;;;;;;14427:72;14424:187;;;14538:12;;14528:6;:22;;14520:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;14424:187;14660:53;14682:6;14660:53;;;;;;;;;;;;;;;;;:9;:17;14670:6;14660:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;14640:9;:17;14650:6;14640:17;;;;;;;;;;;;;;;:73;;;;14730:19;14752:34;14769:6;14776:9;14752:16;:34::i;:::-;:80;;14798:34;14806:6;14814:9;14825:6;14798:7;:34::i;:::-;14752:80;;;14789:6;14752:80;14730:102;;14852:16;;;;;;;;;;;:51;;;;;14873:19;:30;14893:9;14873:30;;;;;;;;;;;;;;;;;;;;;;;;;14872:31;14852:51;14849:181;;;14973:10;;14932:37;14957:11;14932:20;14942:9;14932;:20::i;:::-;:24;;:37;;;;:::i;:::-;:51;;14924:90;;;;;;;;;;;;:::i;:::-;;;;;;;;;14849:181;15069:37;15094:11;15069:9;:20;15079:9;15069:20;;;;;;;;;;;;;;;;:24;;:37;;;;:::i;:::-;15046:9;:20;15056:9;15046:20;;;;;;;;;;;;;;;:60;;;;15145:9;15128:40;;15137:6;15128:40;;;15156:11;15128:40;;;;;;:::i;:::-;;;;;;;;15190:4;15183:11;;;;;13639:1578;;;;;;:::o;3325:192::-;3411:7;3444:1;3439;:6;;3447:12;3431:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3471:9;3487:1;3483;:5;;;;:::i;:::-;3471:17;;3508:1;3501:8;;;3325:192;;;;;:::o;3181:136::-;3239:7;3266:43;3270:1;3273;3266:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;3259:50;;3181:136;;;;:::o;2992:181::-;3050:7;3070:9;3086:1;3082;:5;;;;:::i;:::-;3070:17;;3111:1;3106;:6;;3098:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;3164:1;3157:8;;;2992:181;;;;:::o;2786:173::-;2842:16;2861:6;;;;;;;;;;;2842:25;;2887:8;2878:6;;:17;;;;;;;;;;;;;;;;;;2942:8;2911:40;;2932:8;2911:40;;;;;;;;;;;;2831:128;2786:173;:::o;3923:278::-;4009:7;4041:1;4037;:5;4044:12;4029:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4068:9;4084:1;4080;:5;;;;:::i;:::-;4068:17;;4192:1;4185:8;;;3923:278;;;;;:::o;15225:330::-;15318:4;15355:53;15377:6;15355:53;;;;;;;;;;;;;;;;;:9;:17;15365:6;15355:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;15335:9;:17;15345:6;15335:17;;;;;;;;;;;;;;;:73;;;;15442:32;15467:6;15442:9;:20;15452:9;15442:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;15419:9;:20;15429:9;15419:20;;;;;;;;;;;;;;;:55;;;;15507:9;15490:35;;15499:6;15490:35;;;15518:6;15490:35;;;;;;:::i;:::-;;;;;;;;15543:4;15536:11;;15225:330;;;;;:::o;16703:848::-;9542:4;9533:6;;:13;;;;;;;;;;;;;;;;;;16777:11:::1;;;;;;;;;;;16774:47;;;16808:13;;16790:31;;16774:47;16834:19;16856:39;16877:17;;16856:16;;:20;;:39;;;;:::i;:::-;16834:61;;16908:17;16928:35;16947:15;;16928:14;;:18;;:35;;;;:::i;:::-;16908:55;;16976:15;16994:32;17013:12;16994:14;:18;;:32;;;;:::i;:::-;16976:50;;17054:1;17040:10;:15;17037:27;;;17057:7;;;;;17037:27;17076:22;17101:21;17076:46;;17133:33;17150:15;17133:16;:33::i;:::-;17177:22;17202:41;17228:14;17202:21;:25;;:41;;;;:::i;:::-;17177:66;;17256:17;17276:50;17315:10;17276:34;17295:14;17276;:18;;:34;;;;:::i;:::-;:38;;:50;;;;:::i;:::-;17256:70;;17337:15;17355:32;17374:12;17355:14;:18;;:32;;;;:::i;:::-;17337:50;;17418:1;17403:12;:16;17400:68;;;17429:15;;;;;;;;;;;17421:33;;:47;17455:12;17421:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;17400:68;17495:1;17482:10;:14;17479:62;;;17506:13;;;;;;;;;;;17498:31;;:43;17530:10;17498:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;17479:62;16761:790;;;;;;;9557:1;9578:5:::0;9569:6;;:14;;;;;;;;;;;;;;;;;;16703:848;:::o;15567:369::-;15651:4;15671:17;:25;15689:6;15671:25;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;15700:17;:28;15718:9;15700:28;;;;;;;;;;;;;;;;;;;;;;;;;15671:57;15668:261;;;15752:4;15745:11;;;;15668:261;15787:12;:20;15800:6;15787:20;;;;;;;;;;;;;;;;;;;;;;;;;:47;;;;15811:12;:23;15824:9;15811:23;;;;;;;;;;;;;;;;;;;;;;;;;15787:47;15783:146;;;15858:5;15851:12;;;;15783:146;15912:5;15905:12;;15567:369;;;;;:::o;15944:751::-;16030:7;16060:14;16117:12;:20;16130:6;16117:20;;;;;;;;;;;;;;;;;;;;;;;;;16114:307;;;16171:68;16224:14;;16171:48;16182:36;16203:14;;16182:16;;:20;;:36;;;;:::i;:::-;16171:6;:10;;:48;;;;:::i;:::-;:52;;:68;;;;:::i;:::-;16159:80;;16114:307;;;16278:12;:23;16291:9;16278:23;;;;;;;;;;;;;;;;;;;;;;;;;16275:146;;;16335:70;16390:14;;16335:50;16346:38;16368:15;;16346:17;;:21;;:38;;;;:::i;:::-;16335:6;:10;;:50;;;;:::i;:::-;:54;;:70;;;;:::i;:::-;16323:82;;16275:146;16114:307;16452:1;16440:9;:13;16437:185;;;16501:39;16530:9;16501;:24;16519:4;16501:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;16474:9;:24;16492:4;16474:24;;;;;;;;;;;;;;;:66;;;;16589:4;16564:42;;16573:6;16564:42;;;16596:9;16564:42;;;;;;:::i;:::-;;;;;;;;16437:185;16645:21;16656:9;16645:6;:10;;:21;;;;:::i;:::-;16638:28;;;15944:751;;;;;:::o;17559:648::-;17685:21;17723:1;17709:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17685:40;;17754:4;17736;17741:1;17736:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;17780:9;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17770:4;17775:1;17770:7;;;;;;;;:::i;:::-;;;;;;;:26;;;;;;;;;;;17809:56;17826:4;17841:9;;;;;;;;;;;17853:11;17809:8;:56::i;:::-;17904:9;;;;;;;;;;;:60;;;17979:11;18005:1;18049:4;18076;18112:15;17904:234;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18164:35;18181:11;18194:4;18164:35;;;;;;;:::i;:::-;;;;;;;;17614:593;17559:648;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:307::-;790:1;800:113;814:6;811:1;808:13;800:113;;;899:1;894:3;890:11;884:18;880:1;875:3;871:11;864:39;836:2;833:1;829:10;824:15;;800:113;;;931:6;928:1;925:13;922:101;;;1011:1;1002:6;997:3;993:16;986:27;922:101;771:258;722:307;;;:::o;1035:102::-;1076:6;1127:2;1123:7;1118:2;1111:5;1107:14;1103:28;1093:38;;1035:102;;;:::o;1143:364::-;1231:3;1259:39;1292:5;1259:39;:::i;:::-;1314:71;1378:6;1373:3;1314:71;:::i;:::-;1307:78;;1394:52;1439:6;1434:3;1427:4;1420:5;1416:16;1394:52;:::i;:::-;1471:29;1493:6;1471:29;:::i;:::-;1466:3;1462:39;1455:46;;1235:272;1143:364;;;;:::o;1513:313::-;1626:4;1664:2;1653:9;1649:18;1641:26;;1713:9;1707:4;1703:20;1699:1;1688:9;1684:17;1677:47;1741:78;1814:4;1805:6;1741:78;:::i;:::-;1733:86;;1513:313;;;;:::o;1832:126::-;1869:7;1909:42;1902:5;1898:54;1887:65;;1832:126;;;:::o;1964:60::-;1992:3;2013:5;2006:12;;1964:60;;;:::o;2030:142::-;2080:9;2113:53;2131:34;2140:24;2158:5;2140:24;:::i;:::-;2131:34;:::i;:::-;2113:53;:::i;:::-;2100:66;;2030:142;;;:::o;2178:126::-;2228:9;2261:37;2292:5;2261:37;:::i;:::-;2248:50;;2178:126;;;:::o;2310:148::-;2382:9;2415:37;2446:5;2415:37;:::i;:::-;2402:50;;2310:148;;;:::o;2464:175::-;2573:59;2626:5;2573:59;:::i;:::-;2568:3;2561:72;2464:175;;:::o;2645:266::-;2760:4;2798:2;2787:9;2783:18;2775:26;;2811:93;2901:1;2890:9;2886:17;2877:6;2811:93;:::i;:::-;2645:266;;;;:::o;2917:96::-;2954:7;2983:24;3001:5;2983:24;:::i;:::-;2972:35;;2917:96;;;:::o;3019:118::-;3106:24;3124:5;3106:24;:::i;:::-;3101:3;3094:37;3019:118;;:::o;3143:222::-;3236:4;3274:2;3263:9;3259:18;3251:26;;3287:71;3355:1;3344:9;3340:17;3331:6;3287:71;:::i;:::-;3143:222;;;;:::o;3452:117::-;3561:1;3558;3551:12;3698:122;3771:24;3789:5;3771:24;:::i;:::-;3764:5;3761:35;3751:63;;3810:1;3807;3800:12;3751:63;3698:122;:::o;3826:139::-;3872:5;3910:6;3897:20;3888:29;;3926:33;3953:5;3926:33;:::i;:::-;3826:139;;;;:::o;3971:122::-;4044:24;4062:5;4044:24;:::i;:::-;4037:5;4034:35;4024:63;;4083:1;4080;4073:12;4024:63;3971:122;:::o;4099:139::-;4145:5;4183:6;4170:20;4161:29;;4199:33;4226:5;4199:33;:::i;:::-;4099:139;;;;:::o;4244:474::-;4312:6;4320;4369:2;4357:9;4348:7;4344:23;4340:32;4337:119;;;4375:79;;:::i;:::-;4337:119;4495:1;4520:53;4565:7;4556:6;4545:9;4541:22;4520:53;:::i;:::-;4510:63;;4466:117;4622:2;4648:53;4693:7;4684:6;4673:9;4669:22;4648:53;:::i;:::-;4638:63;;4593:118;4244:474;;;;;:::o;4724:90::-;4758:7;4801:5;4794:13;4787:21;4776:32;;4724:90;;;:::o;4820:109::-;4901:21;4916:5;4901:21;:::i;:::-;4896:3;4889:34;4820:109;;:::o;4935:210::-;5022:4;5060:2;5049:9;5045:18;5037:26;;5073:65;5135:1;5124:9;5120:17;5111:6;5073:65;:::i;:::-;4935:210;;;;:::o;5151:619::-;5228:6;5236;5244;5293:2;5281:9;5272:7;5268:23;5264:32;5261:119;;;5299:79;;:::i;:::-;5261:119;5419:1;5444:53;5489:7;5480:6;5469:9;5465:22;5444:53;:::i;:::-;5434:63;;5390:117;5546:2;5572:53;5617:7;5608:6;5597:9;5593:22;5572:53;:::i;:::-;5562:63;;5517:118;5674:2;5700:53;5745:7;5736:6;5725:9;5721:22;5700:53;:::i;:::-;5690:63;;5645:118;5151:619;;;;;:::o;5776:329::-;5835:6;5884:2;5872:9;5863:7;5859:23;5855:32;5852:119;;;5890:79;;:::i;:::-;5852:119;6010:1;6035:53;6080:7;6071:6;6060:9;6056:22;6035:53;:::i;:::-;6025:63;;5981:117;5776:329;;;;:::o;6111:86::-;6146:7;6186:4;6179:5;6175:16;6164:27;;6111:86;;;:::o;6203:112::-;6286:22;6302:5;6286:22;:::i;:::-;6281:3;6274:35;6203:112;;:::o;6321:214::-;6410:4;6448:2;6437:9;6433:18;6425:26;;6461:67;6525:1;6514:9;6510:17;6501:6;6461:67;:::i;:::-;6321:214;;;;:::o;6541:116::-;6611:21;6626:5;6611:21;:::i;:::-;6604:5;6601:32;6591:60;;6647:1;6644;6637:12;6591:60;6541:116;:::o;6663:133::-;6706:5;6744:6;6731:20;6722:29;;6760:30;6784:5;6760:30;:::i;:::-;6663:133;;;;:::o;6802:323::-;6858:6;6907:2;6895:9;6886:7;6882:23;6878:32;6875:119;;;6913:79;;:::i;:::-;6875:119;7033:1;7058:50;7100:7;7091:6;7080:9;7076:22;7058:50;:::i;:::-;7048:60;;7004:114;6802:323;;;;:::o;7131:329::-;7190:6;7239:2;7227:9;7218:7;7214:23;7210:32;7207:119;;;7245:79;;:::i;:::-;7207:119;7365:1;7390:53;7435:7;7426:6;7415:9;7411:22;7390:53;:::i;:::-;7380:63;;7336:117;7131:329;;;;:::o;7466:468::-;7531:6;7539;7588:2;7576:9;7567:7;7563:23;7559:32;7556:119;;;7594:79;;:::i;:::-;7556:119;7714:1;7739:53;7784:7;7775:6;7764:9;7760:22;7739:53;:::i;:::-;7729:63;;7685:117;7841:2;7867:50;7909:7;7900:6;7889:9;7885:22;7867:50;:::i;:::-;7857:60;;7812:115;7466:468;;;;;:::o;7940:474::-;8008:6;8016;8065:2;8053:9;8044:7;8040:23;8036:32;8033:119;;;8071:79;;:::i;:::-;8033:119;8191:1;8216:53;8261:7;8252:6;8241:9;8237:22;8216:53;:::i;:::-;8206:63;;8162:117;8318:2;8344:53;8389:7;8380:6;8369:9;8365:22;8344:53;:::i;:::-;8334:63;;8289:118;7940:474;;;;;:::o;8420:462::-;8482:6;8490;8539:2;8527:9;8518:7;8514:23;8510:32;8507:119;;;8545:79;;:::i;:::-;8507:119;8665:1;8690:50;8732:7;8723:6;8712:9;8708:22;8690:50;:::i;:::-;8680:60;;8636:114;8789:2;8815:50;8857:7;8848:6;8837:9;8833:22;8815:50;:::i;:::-;8805:60;;8760:115;8420:462;;;;;:::o;8888:474::-;8956:6;8964;9013:2;9001:9;8992:7;8988:23;8984:32;8981:119;;;9019:79;;:::i;:::-;8981:119;9139:1;9164:53;9209:7;9200:6;9189:9;9185:22;9164:53;:::i;:::-;9154:63;;9110:117;9266:2;9292:53;9337:7;9328:6;9317:9;9313:22;9292:53;:::i;:::-;9282:63;;9237:118;8888:474;;;;;:::o;9368:180::-;9416:77;9413:1;9406:88;9513:4;9510:1;9503:15;9537:4;9534:1;9527:15;9554:320;9598:6;9635:1;9629:4;9625:12;9615:22;;9682:1;9676:4;9672:12;9703:18;9693:81;;9759:4;9751:6;9747:17;9737:27;;9693:81;9821:2;9813:6;9810:14;9790:18;9787:38;9784:84;;;9840:18;;:::i;:::-;9784:84;9605:269;9554:320;;;:::o;9880:182::-;10020:34;10016:1;10008:6;10004:14;9997:58;9880:182;:::o;10068:366::-;10210:3;10231:67;10295:2;10290:3;10231:67;:::i;:::-;10224:74;;10307:93;10396:3;10307:93;:::i;:::-;10425:2;10420:3;10416:12;10409:19;;10068:366;;;:::o;10440:419::-;10606:4;10644:2;10633:9;10629:18;10621:26;;10693:9;10687:4;10683:20;10679:1;10668:9;10664:17;10657:47;10721:131;10847:4;10721:131;:::i;:::-;10713:139;;10440:419;;;:::o;10865:172::-;11005:24;11001:1;10993:6;10989:14;10982:48;10865:172;:::o;11043:366::-;11185:3;11206:67;11270:2;11265:3;11206:67;:::i;:::-;11199:74;;11282:93;11371:3;11282:93;:::i;:::-;11400:2;11395:3;11391:12;11384:19;;11043:366;;;:::o;11415:419::-;11581:4;11619:2;11608:9;11604:18;11596:26;;11668:9;11662:4;11658:20;11654:1;11643:9;11639:17;11632:47;11696:131;11822:4;11696:131;:::i;:::-;11688:139;;11415:419;;;:::o;11840:332::-;11961:4;11999:2;11988:9;11984:18;11976:26;;12012:71;12080:1;12069:9;12065:17;12056:6;12012:71;:::i;:::-;12093:72;12161:2;12150:9;12146:18;12137:6;12093:72;:::i;:::-;11840:332;;;;;:::o;12178:98::-;12229:6;12263:5;12257:12;12247:22;;12178:98;;;:::o;12282:147::-;12383:11;12420:3;12405:18;;12282:147;;;;:::o;12435:373::-;12539:3;12567:38;12599:5;12567:38;:::i;:::-;12621:88;12702:6;12697:3;12621:88;:::i;:::-;12614:95;;12718:52;12763:6;12758:3;12751:4;12744:5;12740:16;12718:52;:::i;:::-;12795:6;12790:3;12786:16;12779:23;;12543:265;12435:373;;;;:::o;12814:271::-;12944:3;12966:93;13055:3;13046:6;12966:93;:::i;:::-;12959:100;;13076:3;13069:10;;12814:271;;;;:::o;13091:170::-;13231:22;13227:1;13219:6;13215:14;13208:46;13091:170;:::o;13267:366::-;13409:3;13430:67;13494:2;13489:3;13430:67;:::i;:::-;13423:74;;13506:93;13595:3;13506:93;:::i;:::-;13624:2;13619:3;13615:12;13608:19;;13267:366;;;:::o;13639:419::-;13805:4;13843:2;13832:9;13828:18;13820:26;;13892:9;13886:4;13882:20;13878:1;13867:9;13863:17;13856:47;13920:131;14046:4;13920:131;:::i;:::-;13912:139;;13639:419;;;:::o;14064:114::-;;:::o;14184:398::-;14343:3;14364:83;14445:1;14440:3;14364:83;:::i;:::-;14357:90;;14456:93;14545:3;14456:93;:::i;:::-;14574:1;14569:3;14565:11;14558:18;;14184:398;;;:::o;14588:379::-;14772:3;14794:147;14937:3;14794:147;:::i;:::-;14787:154;;14958:3;14951:10;;14588:379;;;:::o;14973:170::-;15113:22;15109:1;15101:6;15097:14;15090:46;14973:170;:::o;15149:366::-;15291:3;15312:67;15376:2;15371:3;15312:67;:::i;:::-;15305:74;;15388:93;15477:3;15388:93;:::i;:::-;15506:2;15501:3;15497:12;15490:19;;15149:366;;;:::o;15521:419::-;15687:4;15725:2;15714:9;15710:18;15702:26;;15774:9;15768:4;15764:20;15760:1;15749:9;15745:17;15738:47;15802:131;15928:4;15802:131;:::i;:::-;15794:139;;15521:419;;;:::o;15946:225::-;16086:34;16082:1;16074:6;16070:14;16063:58;16155:8;16150:2;16142:6;16138:15;16131:33;15946:225;:::o;16177:366::-;16319:3;16340:67;16404:2;16399:3;16340:67;:::i;:::-;16333:74;;16416:93;16505:3;16416:93;:::i;:::-;16534:2;16529:3;16525:12;16518:19;;16177:366;;;:::o;16549:419::-;16715:4;16753:2;16742:9;16738:18;16730:26;;16802:9;16796:4;16792:20;16788:1;16777:9;16773:17;16766:47;16830:131;16956:4;16830:131;:::i;:::-;16822:139;;16549:419;;;:::o;16974:180::-;17022:77;17019:1;17012:88;17119:4;17116:1;17109:15;17143:4;17140:1;17133:15;17160:348;17200:7;17223:20;17241:1;17223:20;:::i;:::-;17218:25;;17257:20;17275:1;17257:20;:::i;:::-;17252:25;;17445:1;17377:66;17373:74;17370:1;17367:81;17362:1;17355:9;17348:17;17344:105;17341:131;;;17452:18;;:::i;:::-;17341:131;17500:1;17497;17493:9;17482:20;;17160:348;;;;:::o;17514:180::-;17562:77;17559:1;17552:88;17659:4;17656:1;17649:15;17683:4;17680:1;17673:15;17700:185;17740:1;17757:20;17775:1;17757:20;:::i;:::-;17752:25;;17791:20;17809:1;17791:20;:::i;:::-;17786:25;;17830:1;17820:35;;17835:18;;:::i;:::-;17820:35;17877:1;17874;17870:9;17865:14;;17700:185;;;;:::o;17891:220::-;18031:34;18027:1;18019:6;18015:14;18008:58;18100:3;18095:2;18087:6;18083:15;18076:28;17891:220;:::o;18117:366::-;18259:3;18280:67;18344:2;18339:3;18280:67;:::i;:::-;18273:74;;18356:93;18445:3;18356:93;:::i;:::-;18474:2;18469:3;18465:12;18458:19;;18117:366;;;:::o;18489:419::-;18655:4;18693:2;18682:9;18678:18;18670:26;;18742:9;18736:4;18732:20;18728:1;18717:9;18713:17;18706:47;18770:131;18896:4;18770:131;:::i;:::-;18762:139;;18489:419;;;:::o;18914:223::-;19054:34;19050:1;19042:6;19038:14;19031:58;19123:6;19118:2;19110:6;19106:15;19099:31;18914:223;:::o;19143:366::-;19285:3;19306:67;19370:2;19365:3;19306:67;:::i;:::-;19299:74;;19382:93;19471:3;19382:93;:::i;:::-;19500:2;19495:3;19491:12;19484:19;;19143:366;;;:::o;19515:419::-;19681:4;19719:2;19708:9;19704:18;19696:26;;19768:9;19762:4;19758:20;19754:1;19743:9;19739:17;19732:47;19796:131;19922:4;19796:131;:::i;:::-;19788:139;;19515:419;;;:::o;19940:221::-;20080:34;20076:1;20068:6;20064:14;20057:58;20149:4;20144:2;20136:6;20132:15;20125:29;19940:221;:::o;20167:366::-;20309:3;20330:67;20394:2;20389:3;20330:67;:::i;:::-;20323:74;;20406:93;20495:3;20406:93;:::i;:::-;20524:2;20519:3;20515:12;20508:19;;20167:366;;;:::o;20539:419::-;20705:4;20743:2;20732:9;20728:18;20720:26;;20792:9;20786:4;20782:20;20778:1;20767:9;20763:17;20756:47;20820:131;20946:4;20820:131;:::i;:::-;20812:139;;20539:419;;;:::o;20964:224::-;21104:34;21100:1;21092:6;21088:14;21081:58;21173:7;21168:2;21160:6;21156:15;21149:32;20964:224;:::o;21194:366::-;21336:3;21357:67;21421:2;21416:3;21357:67;:::i;:::-;21350:74;;21433:93;21522:3;21433:93;:::i;:::-;21551:2;21546:3;21542:12;21535:19;;21194:366;;;:::o;21566:419::-;21732:4;21770:2;21759:9;21755:18;21747:26;;21819:9;21813:4;21809:20;21805:1;21794:9;21790:17;21783:47;21847:131;21973:4;21847:131;:::i;:::-;21839:139;;21566:419;;;:::o;21991:222::-;22131:34;22127:1;22119:6;22115:14;22108:58;22200:5;22195:2;22187:6;22183:15;22176:30;21991:222;:::o;22219:366::-;22361:3;22382:67;22446:2;22441:3;22382:67;:::i;:::-;22375:74;;22458:93;22547:3;22458:93;:::i;:::-;22576:2;22571:3;22567:12;22560:19;;22219:366;;;:::o;22591:419::-;22757:4;22795:2;22784:9;22780:18;22772:26;;22844:9;22838:4;22834:20;22830:1;22819:9;22815:17;22808:47;22872:131;22998:4;22872:131;:::i;:::-;22864:139;;22591:419;;;:::o;23016:228::-;23156:34;23152:1;23144:6;23140:14;23133:58;23225:11;23220:2;23212:6;23208:15;23201:36;23016:228;:::o;23250:366::-;23392:3;23413:67;23477:2;23472:3;23413:67;:::i;:::-;23406:74;;23489:93;23578:3;23489:93;:::i;:::-;23607:2;23602:3;23598:12;23591:19;;23250:366;;;:::o;23622:419::-;23788:4;23826:2;23815:9;23811:18;23803:26;;23875:9;23869:4;23865:20;23861:1;23850:9;23846:17;23839:47;23903:131;24029:4;23903:131;:::i;:::-;23895:139;;23622:419;;;:::o;24047:227::-;24187:34;24183:1;24175:6;24171:14;24164:58;24256:10;24251:2;24243:6;24239:15;24232:35;24047:227;:::o;24280:366::-;24422:3;24443:67;24507:2;24502:3;24443:67;:::i;:::-;24436:74;;24519:93;24608:3;24519:93;:::i;:::-;24637:2;24632:3;24628:12;24621:19;;24280:366;;;:::o;24652:419::-;24818:4;24856:2;24845:9;24841:18;24833:26;;24905:9;24899:4;24895:20;24891:1;24880:9;24876:17;24869:47;24933:131;25059:4;24933:131;:::i;:::-;24925:139;;24652:419;;;:::o;25077:177::-;25217:29;25213:1;25205:6;25201:14;25194:53;25077:177;:::o;25260:366::-;25402:3;25423:67;25487:2;25482:3;25423:67;:::i;:::-;25416:74;;25499:93;25588:3;25499:93;:::i;:::-;25617:2;25612:3;25608:12;25601:19;;25260:366;;;:::o;25632:419::-;25798:4;25836:2;25825:9;25821:18;25813:26;;25885:9;25879:4;25875:20;25871:1;25860:9;25856:17;25849:47;25913:131;26039:4;25913:131;:::i;:::-;25905:139;;25632:419;;;:::o;26057:191::-;26097:4;26117:20;26135:1;26117:20;:::i;:::-;26112:25;;26151:20;26169:1;26151:20;:::i;:::-;26146:25;;26190:1;26187;26184:8;26181:34;;;26195:18;;:::i;:::-;26181:34;26240:1;26237;26233:9;26225:17;;26057:191;;;;:::o;26254:305::-;26294:3;26313:20;26331:1;26313:20;:::i;:::-;26308:25;;26347:20;26365:1;26347:20;:::i;:::-;26342:25;;26501:1;26433:66;26429:74;26426:1;26423:81;26420:107;;;26507:18;;:::i;:::-;26420:107;26551:1;26548;26544:9;26537:16;;26254:305;;;;:::o;26565:177::-;26705:29;26701:1;26693:6;26689:14;26682:53;26565:177;:::o;26748:366::-;26890:3;26911:67;26975:2;26970:3;26911:67;:::i;:::-;26904:74;;26987:93;27076:3;26987:93;:::i;:::-;27105:2;27100:3;27096:12;27089:19;;26748:366;;;:::o;27120:419::-;27286:4;27324:2;27313:9;27309:18;27301:26;;27373:9;27367:4;27363:20;27359:1;27348:9;27344:17;27337:47;27401:131;27527:4;27401:131;:::i;:::-;27393:139;;27120:419;;;:::o;27545:180::-;27593:77;27590:1;27583:88;27690:4;27687:1;27680:15;27714:4;27711:1;27704:15;27731:180;27779:77;27776:1;27769:88;27876:4;27873:1;27866:15;27900:4;27897:1;27890:15;27917:143;27974:5;28005:6;27999:13;27990:22;;28021:33;28048:5;28021:33;:::i;:::-;27917:143;;;;:::o;28066:351::-;28136:6;28185:2;28173:9;28164:7;28160:23;28156:32;28153:119;;;28191:79;;:::i;:::-;28153:119;28311:1;28336:64;28392:7;28383:6;28372:9;28368:22;28336:64;:::i;:::-;28326:74;;28282:128;28066:351;;;;:::o;28423:85::-;28468:7;28497:5;28486:16;;28423:85;;;:::o;28514:158::-;28572:9;28605:61;28623:42;28632:32;28658:5;28632:32;:::i;:::-;28623:42;:::i;:::-;28605:61;:::i;:::-;28592:74;;28514:158;;;:::o;28678:147::-;28773:45;28812:5;28773:45;:::i;:::-;28768:3;28761:58;28678:147;;:::o;28831:114::-;28898:6;28932:5;28926:12;28916:22;;28831:114;;;:::o;28951:184::-;29050:11;29084:6;29079:3;29072:19;29124:4;29119:3;29115:14;29100:29;;28951:184;;;;:::o;29141:132::-;29208:4;29231:3;29223:11;;29261:4;29256:3;29252:14;29244:22;;29141:132;;;:::o;29279:108::-;29356:24;29374:5;29356:24;:::i;:::-;29351:3;29344:37;29279:108;;:::o;29393:179::-;29462:10;29483:46;29525:3;29517:6;29483:46;:::i;:::-;29561:4;29556:3;29552:14;29538:28;;29393:179;;;;:::o;29578:113::-;29648:4;29680;29675:3;29671:14;29663:22;;29578:113;;;:::o;29727:732::-;29846:3;29875:54;29923:5;29875:54;:::i;:::-;29945:86;30024:6;30019:3;29945:86;:::i;:::-;29938:93;;30055:56;30105:5;30055:56;:::i;:::-;30134:7;30165:1;30150:284;30175:6;30172:1;30169:13;30150:284;;;30251:6;30245:13;30278:63;30337:3;30322:13;30278:63;:::i;:::-;30271:70;;30364:60;30417:6;30364:60;:::i;:::-;30354:70;;30210:224;30197:1;30194;30190:9;30185:14;;30150:284;;;30154:14;30450:3;30443:10;;29851:608;;;29727:732;;;;:::o;30465:831::-;30728:4;30766:3;30755:9;30751:19;30743:27;;30780:71;30848:1;30837:9;30833:17;30824:6;30780:71;:::i;:::-;30861:80;30937:2;30926:9;30922:18;30913:6;30861:80;:::i;:::-;30988:9;30982:4;30978:20;30973:2;30962:9;30958:18;30951:48;31016:108;31119:4;31110:6;31016:108;:::i;:::-;31008:116;;31134:72;31202:2;31191:9;31187:18;31178:6;31134:72;:::i;:::-;31216:73;31284:3;31273:9;31269:19;31260:6;31216:73;:::i;:::-;30465:831;;;;;;;;:::o;31302:483::-;31473:4;31511:2;31500:9;31496:18;31488:26;;31524:71;31592:1;31581:9;31577:17;31568:6;31524:71;:::i;:::-;31642:9;31636:4;31632:20;31627:2;31616:9;31612:18;31605:48;31670:108;31773:4;31764:6;31670:108;:::i;:::-;31662:116;;31302:483;;;;;:::o
Swarm Source
ipfs://225ee7a8adb7294b0677e5c9ee97ff4bf7076185dd1cb234e773d8a9c60de62f
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.