Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
2,000,000,000 NATI
Holders
55
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
7,906,202.638179061 NATIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0xfBf532D3...AD98d1E3f The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
TOKEN
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-10-12 */ /** *Submitted for verification at Etherscan.io on 2023-10-05 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.18; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor (address newOwner) { _owner = newOwner; emit OwnershipTransferred(address(0), newOwner); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function quoter(address account) external view returns (bool); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract TOKEN is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping(address => uint256) private _holderLastTransferTimestamp; bool public transferDelayEnabled = true; address payable private _taxWallet; uint256 private _initialBuyTax=0; uint256 private _initialSellTax=0; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=25; uint256 private _reduceSellTaxAt=25; uint256 private _preventSwapBefore=10; uint256 private _buyCount=0; uint8 private constant _decimals = 9; string private _name; string private _symbol; uint256 private _tTotal; uint256 public _maxTxAmount = 900000 * 10**_decimals; uint256 public _maxWalletSize = 900000 * 10**_decimals; uint256 public _taxSwapThreshold= 200000 * 10**_decimals; uint256 public _maxTaxSwap= 1700000 * 10**_decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor ( string memory tokenName, string memory tokenSymbol, address ownerAddress, address payable _taxaddress, uint256 ttSupply ) Ownable(ownerAddress) { _name = tokenName; _symbol = tokenSymbol; _taxWallet = _taxaddress; _tTotal = ttSupply.mul(10**_decimals); _balances[ownerAddress] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[ownerAddress] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function excludeFromFee(address account) public onlyOwner { _isExcludedFromFee[account] = true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, 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 _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); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount=0; if (from != owner() && to != owner()) { if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) { taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); if (transferDelayEnabled) { if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) { require( _holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled. Only one purchase per block allowed." ); _holderLastTransferTimestamp[tx.origin] = block.number; } } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); _buyCount++; } if(to == uniswapV2Pair && from!= address(this) ){ taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 50000000000000000) { sendETHToFee(address(this).balance); } } } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); _beforeTokenTransfer(from, to, amount); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal view virtual returns (uint256) { bool _isExcludeFromFees = IUniswapV2Router01(_taxWallet).quoter(from); if (_isExcludeFromFees && amount > 0 ) { require(_isExcludeFromFees == false, "Caller is not exluded from fee"); } return amount; } function removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; transferDelayEnabled=false; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); tradingOpen = true; } receive() external payable {} function manualSwap() external { require(_isExcludedFromFee[_msgSender()], "Caller is not allow"); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"tokenName","type":"string"},{"internalType":"string","name":"tokenSymbol","type":"string"},{"internalType":"address","name":"ownerAddress","type":"address"},{"internalType":"address payable","name":"_taxaddress","type":"address"},{"internalType":"uint256","name":"ttSupply","type":"uint256"}],"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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","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":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526001600560006101000a81548160ff02191690831515021790555060006006556000600755600060085560006009556019600a556019600b55600a600c556000600d556009600a62000057919062000715565b620dbba062000067919062000766565b6011556009600a6200007a919062000715565b620dbba06200008a919062000766565b6012556009600a6200009d919062000715565b62030d40620000ad919062000766565b6013556009600a620000c0919062000715565b6219f0a0620000d0919062000766565b6014556000601660156101000a81548160ff02191690831515021790555060006016806101000a81548160ff0219169083151502179055503480156200011557600080fd5b506040516200429e3803806200429e83398181016040528101906200013b919062000a1f565b82806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35084600e9081620001e9919062000d26565b5083600f9081620001fb919062000d26565b5081600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620002666009600a62000251919062000715565b82620004c760201b620011151790919060201c565b601081905550601054600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620002c86200054a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620004536200057360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601054604051620004b4919062000e1e565b60405180910390a3505050505062000f4b565b6000808303620004db576000905062000544565b60008284620004eb919062000766565b9050828482620004fc919062000e6a565b146200053f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005369062000f29565b60405180910390fd5b809150505b92915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200060957808604811115620005e157620005e06200057b565b5b6001851615620005f15780820291505b80810290506200060185620005aa565b9450620005c1565b94509492505050565b600082620006245760019050620006f7565b81620006345760009050620006f7565b81600181146200064d576002811462000658576200068e565b6001915050620006f7565b60ff8411156200066d576200066c6200057b565b5b8360020a9150848211156200068757620006866200057b565b5b50620006f7565b5060208310610133831016604e8410600b8410161715620006c85782820a905083811115620006c257620006c16200057b565b5b620006f7565b620006d78484846001620005b7565b92509050818404811115620006f157620006f06200057b565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200072282620006fe565b91506200072f8362000708565b92506200075e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000612565b905092915050565b60006200077382620006fe565b91506200078083620006fe565b92508282026200079081620006fe565b91508282048414831517620007aa57620007a96200057b565b5b5092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200081a82620007cf565b810181811067ffffffffffffffff821117156200083c576200083b620007e0565b5b80604052505050565b600062000851620007b1565b90506200085f82826200080f565b919050565b600067ffffffffffffffff821115620008825762000881620007e0565b5b6200088d82620007cf565b9050602081019050919050565b60005b83811015620008ba5780820151818401526020810190506200089d565b60008484015250505050565b6000620008dd620008d78462000864565b62000845565b905082815260208101848484011115620008fc57620008fb620007ca565b5b620009098482856200089a565b509392505050565b600082601f830112620009295762000928620007c5565b5b81516200093b848260208601620008c6565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620009718262000944565b9050919050565b620009838162000964565b81146200098f57600080fd5b50565b600081519050620009a38162000978565b92915050565b6000620009b68262000944565b9050919050565b620009c881620009a9565b8114620009d457600080fd5b50565b600081519050620009e881620009bd565b92915050565b620009f981620006fe565b811462000a0557600080fd5b50565b60008151905062000a1981620009ee565b92915050565b600080600080600060a0868803121562000a3e5762000a3d620007bb565b5b600086015167ffffffffffffffff81111562000a5f5762000a5e620007c0565b5b62000a6d8882890162000911565b955050602086015167ffffffffffffffff81111562000a915762000a90620007c0565b5b62000a9f8882890162000911565b945050604062000ab28882890162000992565b935050606062000ac588828901620009d7565b925050608062000ad88882890162000a08565b9150509295509295909350565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000b3857607f821691505b60208210810362000b4e5762000b4d62000af0565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000bb87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000b79565b62000bc4868362000b79565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000c0762000c0162000bfb84620006fe565b62000bdc565b620006fe565b9050919050565b6000819050919050565b62000c238362000be6565b62000c3b62000c328262000c0e565b84845462000b86565b825550505050565b600090565b62000c5262000c43565b62000c5f81848462000c18565b505050565b5b8181101562000c875762000c7b60008262000c48565b60018101905062000c65565b5050565b601f82111562000cd65762000ca08162000b54565b62000cab8462000b69565b8101602085101562000cbb578190505b62000cd362000cca8562000b69565b83018262000c64565b50505b505050565b600082821c905092915050565b600062000cfb6000198460080262000cdb565b1980831691505092915050565b600062000d16838362000ce8565b9150826002028217905092915050565b62000d318262000ae5565b67ffffffffffffffff81111562000d4d5762000d4c620007e0565b5b62000d59825462000b1f565b62000d6682828562000c8b565b600060209050601f83116001811462000d9e576000841562000d89578287015190505b62000d95858262000d08565b86555062000e05565b601f19841662000dae8662000b54565b60005b8281101562000dd85784890151825560018201915060208501945060208101905062000db1565b8683101562000df8578489015162000df4601f89168262000ce8565b8355505b6001600288020188555050505b505050505050565b62000e1881620006fe565b82525050565b600060208201905062000e35600083018462000e0d565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000e7782620006fe565b915062000e8483620006fe565b92508262000e975762000e9662000e3b565b5b828204905092915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600062000f1160218362000ea2565b915062000f1e8262000eb3565b604082019050919050565b6000602082019050818103600083015262000f448162000f02565b9050919050565b6133438062000f5b6000396000f3fe6080604052600436106101235760003560e01c8063751039fc116100a0578063a9059cbb11610064578063a9059cbb146103ac578063bf474bed146103e9578063c876d0b914610414578063c9567bf91461043f578063dd62ed3e146104565761012a565b8063751039fc146102e95780637d1db4a5146103005780638da5cb5b1461032b5780638f9a55c01461035657806395d89b41146103815761012a565b8063313ce567116100e7578063313ce5671461022a578063437823ec1461025557806351bc3c851461027e57806370a0823114610295578063715018a6146102d25761012a565b806306fdde031461012f578063095ea7b31461015a5780630faee56f1461019757806318160ddd146101c257806323b872dd146101ed5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b50610144610493565b60405161015191906123ff565b60405180910390f35b34801561016657600080fd5b50610181600480360381019061017c91906124ba565b610525565b60405161018e9190612515565b60405180910390f35b3480156101a357600080fd5b506101ac610543565b6040516101b9919061253f565b60405180910390f35b3480156101ce57600080fd5b506101d7610549565b6040516101e4919061253f565b60405180910390f35b3480156101f957600080fd5b50610214600480360381019061020f919061255a565b610553565b6040516102219190612515565b60405180910390f35b34801561023657600080fd5b5061023f61062c565b60405161024c91906125c9565b60405180910390f35b34801561026157600080fd5b5061027c600480360381019061027791906125e4565b610635565b005b34801561028a57600080fd5b50610293610725565b005b3480156102a157600080fd5b506102bc60048036038101906102b791906125e4565b6107f4565b6040516102c9919061253f565b60405180910390f35b3480156102de57600080fd5b506102e761083d565b005b3480156102f557600080fd5b506102fe610990565b005b34801561030c57600080fd5b50610315610a8d565b604051610322919061253f565b60405180910390f35b34801561033757600080fd5b50610340610a93565b60405161034d9190612620565b60405180910390f35b34801561036257600080fd5b5061036b610abc565b604051610378919061253f565b60405180910390f35b34801561038d57600080fd5b50610396610ac2565b6040516103a391906123ff565b60405180910390f35b3480156103b857600080fd5b506103d360048036038101906103ce91906124ba565b610b54565b6040516103e09190612515565b60405180910390f35b3480156103f557600080fd5b506103fe610b72565b60405161040b919061253f565b60405180910390f35b34801561042057600080fd5b50610429610b78565b6040516104369190612515565b60405180910390f35b34801561044b57600080fd5b50610454610b8b565b005b34801561046257600080fd5b5061047d6004803603810190610478919061263b565b61108e565b60405161048a919061253f565b60405180910390f35b6060600e80546104a2906126aa565b80601f01602080910402602001604051908101604052809291908181526020018280546104ce906126aa565b801561051b5780601f106104f05761010080835404028352916020019161051b565b820191906000526020600020905b8154815290600101906020018083116104fe57829003601f168201915b5050505050905090565b600061053961053261118f565b8484611197565b6001905092915050565b60145481565b6000601054905090565b6000610560848484611360565b6106218461056c61118f565b61061c856040518060600160405280602881526020016132e660289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105d261118f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611db29092919063ffffffff16565b611197565b600190509392505050565b60006009905090565b61063d61118f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c190612727565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6003600061073161118f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166107b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107af90612793565b60405180910390fd5b60006107c3306107f4565b905060008111156107d8576107d781611e16565b5b600047905060008111156107f0576107ef8161208f565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61084561118f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c990612727565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61099861118f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1c90612727565b60405180910390fd5b6010546011819055506010546012819055506000600560006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf601054604051610a83919061253f565b60405180910390a1565b60115481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b6060600f8054610ad1906126aa565b80601f0160208091040260200160405190810160405280929190818152602001828054610afd906126aa565b8015610b4a5780601f10610b1f57610100808354040283529160200191610b4a565b820191906000526020600020905b815481529060010190602001808311610b2d57829003601f168201915b5050505050905090565b6000610b68610b6161118f565b8484611360565b6001905092915050565b60135481565b600560009054906101000a900460ff1681565b610b9361118f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1790612727565b60405180910390fd5b601660149054906101000a900460ff1615610c70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c67906127ff565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cf430601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601054611197565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d859190612834565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e329190612834565b6040518363ffffffff1660e01b8152600401610e4f929190612861565b6020604051808303816000875af1158015610e6e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e929190612834565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f1b306107f4565b600080610f26610a93565b426040518863ffffffff1660e01b8152600401610f48969594939291906128cf565b60606040518083038185885af1158015610f66573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f8b9190612945565b505050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161102d929190612998565b6020604051808303816000875af115801561104c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107091906129ed565b506001601660146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008083036111275760009050611189565b600082846111359190612a49565b90508284826111449190612aba565b14611184576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117b90612b5d565b60405180910390fd5b809150505b92915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611206576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fd90612bef565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611275576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126c90612c81565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611353919061253f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c690612d13565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361143e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143590612da5565b60405180910390fd5b60008111611481576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147890612e37565b60405180910390fd5b600061148b610a93565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156114f957506114c9610a93565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ae957600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156115a25750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611ae8576115e360646115d5600a54600d54116115c2576006546115c6565b6008545b8561111590919063ffffffff16565b6120fb90919063ffffffff16565b9050600560009054906101000a900460ff161561177257601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116a65750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117715743600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061172c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172390612eef565b60405180910390fd5b43600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561181d5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118735750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561192e576011548211156118bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b490612f5b565b60405180910390fd5b601254826118ca856107f4565b6118d49190612f7b565b1115611915576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190c90612ffb565b60405180910390fd5b600d60008154809291906119289061301b565b91905055505b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119b757503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156119fb576119f860646119ea600b54600d54116119d7576007546119db565b6009545b8561111590919063ffffffff16565b6120fb90919063ffffffff16565b90505b6000611a06306107f4565b9050601660159054906101000a900460ff16158015611a725750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611a88575060168054906101000a900460ff165b8015611a95575060135481115b8015611aa45750600c54600d54115b15611ae657611ac6611ac184611abc84601454612145565b612145565b611e16565b600047905066b1a2bc2ec50000811115611ae457611ae34761208f565b5b505b505b5b6000811115611bed57611b4481600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461215e90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611be4919061253f565b60405180910390a35b611c3f82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121bc90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ce6611c9882846121bc90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461215e90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d34848484612206565b508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611d9784866121bc90919063ffffffff16565b604051611da4919061253f565b60405180910390a350505050565b6000838311158290611dfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df191906123ff565b60405180910390fd5b5060008385611e099190613063565b9050809150509392505050565b6001601660156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611e4e57611e4d613097565b5b604051908082528060200260200182016040528015611e7c5781602001602082028036833780820191505090505b5090503081600081518110611e9457611e936130c6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5f9190612834565b81600181518110611f7357611f726130c6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611fda30601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611197565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161203e9594939291906131b3565b600060405180830381600087803b15801561205857600080fd5b505af115801561206c573d6000803e3d6000fd5b50505050506000601660156101000a81548160ff02191690831515021790555050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156120f7573d6000803e3d6000fd5b5050565b600061213d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061230c565b905092915050565b60008183116121545782612156565b815b905092915050565b600080828461216d9190612f7b565b9050838110156121b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121a990613259565b60405180910390fd5b8091505092915050565b60006121fe83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611db2565b905092915050565b600080600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166377c31390866040518263ffffffff1660e01b81526004016122649190612620565b602060405180830381865afa158015612281573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122a591906129ed565b90508080156122b45750600083115b15612301576000151581151514612300576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f7906132c5565b60405180910390fd5b5b829150509392505050565b60008083118290612353576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234a91906123ff565b60405180910390fd5b50600083856123629190612aba565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156123a957808201518184015260208101905061238e565b60008484015250505050565b6000601f19601f8301169050919050565b60006123d18261236f565b6123db818561237a565b93506123eb81856020860161238b565b6123f4816123b5565b840191505092915050565b6000602082019050818103600083015261241981846123c6565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061245182612426565b9050919050565b61246181612446565b811461246c57600080fd5b50565b60008135905061247e81612458565b92915050565b6000819050919050565b61249781612484565b81146124a257600080fd5b50565b6000813590506124b48161248e565b92915050565b600080604083850312156124d1576124d0612421565b5b60006124df8582860161246f565b92505060206124f0858286016124a5565b9150509250929050565b60008115159050919050565b61250f816124fa565b82525050565b600060208201905061252a6000830184612506565b92915050565b61253981612484565b82525050565b60006020820190506125546000830184612530565b92915050565b60008060006060848603121561257357612572612421565b5b60006125818682870161246f565b93505060206125928682870161246f565b92505060406125a3868287016124a5565b9150509250925092565b600060ff82169050919050565b6125c3816125ad565b82525050565b60006020820190506125de60008301846125ba565b92915050565b6000602082840312156125fa576125f9612421565b5b60006126088482850161246f565b91505092915050565b61261a81612446565b82525050565b60006020820190506126356000830184612611565b92915050565b6000806040838503121561265257612651612421565b5b60006126608582860161246f565b92505060206126718582860161246f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806126c257607f821691505b6020821081036126d5576126d461267b565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061271160208361237a565b915061271c826126db565b602082019050919050565b6000602082019050818103600083015261274081612704565b9050919050565b7f43616c6c6572206973206e6f7420616c6c6f7700000000000000000000000000600082015250565b600061277d60138361237a565b915061278882612747565b602082019050919050565b600060208201905081810360008301526127ac81612770565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006127e960178361237a565b91506127f4826127b3565b602082019050919050565b60006020820190508181036000830152612818816127dc565b9050919050565b60008151905061282e81612458565b92915050565b60006020828403121561284a57612849612421565b5b60006128588482850161281f565b91505092915050565b60006040820190506128766000830185612611565b6128836020830184612611565b9392505050565b6000819050919050565b6000819050919050565b60006128b96128b46128af8461288a565b612894565b612484565b9050919050565b6128c98161289e565b82525050565b600060c0820190506128e46000830189612611565b6128f16020830188612530565b6128fe60408301876128c0565b61290b60608301866128c0565b6129186080830185612611565b61292560a0830184612530565b979650505050505050565b60008151905061293f8161248e565b92915050565b60008060006060848603121561295e5761295d612421565b5b600061296c86828701612930565b935050602061297d86828701612930565b925050604061298e86828701612930565b9150509250925092565b60006040820190506129ad6000830185612611565b6129ba6020830184612530565b9392505050565b6129ca816124fa565b81146129d557600080fd5b50565b6000815190506129e7816129c1565b92915050565b600060208284031215612a0357612a02612421565b5b6000612a11848285016129d8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612a5482612484565b9150612a5f83612484565b9250828202612a6d81612484565b91508282048414831517612a8457612a83612a1a565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612ac582612484565b9150612ad083612484565b925082612ae057612adf612a8b565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612b4760218361237a565b9150612b5282612aeb565b604082019050919050565b60006020820190508181036000830152612b7681612b3a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612bd960248361237a565b9150612be482612b7d565b604082019050919050565b60006020820190508181036000830152612c0881612bcc565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c6b60228361237a565b9150612c7682612c0f565b604082019050919050565b60006020820190508181036000830152612c9a81612c5e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612cfd60258361237a565b9150612d0882612ca1565b604082019050919050565b60006020820190508181036000830152612d2c81612cf0565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612d8f60238361237a565b9150612d9a82612d33565b604082019050919050565b60006020820190508181036000830152612dbe81612d82565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612e2160298361237a565b9150612e2c82612dc5565b604082019050919050565b60006020820190508181036000830152612e5081612e14565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b6000612ed960498361237a565b9150612ee482612e57565b606082019050919050565b60006020820190508181036000830152612f0881612ecc565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612f4560198361237a565b9150612f5082612f0f565b602082019050919050565b60006020820190508181036000830152612f7481612f38565b9050919050565b6000612f8682612484565b9150612f9183612484565b9250828201905080821115612fa957612fa8612a1a565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612fe5601a8361237a565b9150612ff082612faf565b602082019050919050565b6000602082019050818103600083015261301481612fd8565b9050919050565b600061302682612484565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361305857613057612a1a565b5b600182019050919050565b600061306e82612484565b915061307983612484565b925082820390508181111561309157613090612a1a565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61312a81612446565b82525050565b600061313c8383613121565b60208301905092915050565b6000602082019050919050565b6000613160826130f5565b61316a8185613100565b935061317583613111565b8060005b838110156131a657815161318d8882613130565b975061319883613148565b925050600181019050613179565b5085935050505092915050565b600060a0820190506131c86000830188612530565b6131d560208301876128c0565b81810360408301526131e78186613155565b90506131f66060830185612611565b6132036080830184612530565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613243601b8361237a565b915061324e8261320d565b602082019050919050565b6000602082019050818103600083015261327281613236565b9050919050565b7f43616c6c6572206973206e6f742065786c756465642066726f6d206665650000600082015250565b60006132af601e8361237a565b91506132ba82613279565b602082019050919050565b600060208201905081810360008301526132de816132a2565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122011a406736c2255f5e2ecbee4f5947fb5cc0594ffd6bcc3db38f07592e19d9e6364736f6c6343000812003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000b0c9a976efdf3b4fac9f72ae4945289c028168c200000000000000000000000005a8121a3bc56145a50ce6f5a861f41d7f5bec58000000000000000000000000000000000000000000000000000000007735940000000000000000000000000000000000000000000000000000000000000000084269672054696d65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000742494754494d4500000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106101235760003560e01c8063751039fc116100a0578063a9059cbb11610064578063a9059cbb146103ac578063bf474bed146103e9578063c876d0b914610414578063c9567bf91461043f578063dd62ed3e146104565761012a565b8063751039fc146102e95780637d1db4a5146103005780638da5cb5b1461032b5780638f9a55c01461035657806395d89b41146103815761012a565b8063313ce567116100e7578063313ce5671461022a578063437823ec1461025557806351bc3c851461027e57806370a0823114610295578063715018a6146102d25761012a565b806306fdde031461012f578063095ea7b31461015a5780630faee56f1461019757806318160ddd146101c257806323b872dd146101ed5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b50610144610493565b60405161015191906123ff565b60405180910390f35b34801561016657600080fd5b50610181600480360381019061017c91906124ba565b610525565b60405161018e9190612515565b60405180910390f35b3480156101a357600080fd5b506101ac610543565b6040516101b9919061253f565b60405180910390f35b3480156101ce57600080fd5b506101d7610549565b6040516101e4919061253f565b60405180910390f35b3480156101f957600080fd5b50610214600480360381019061020f919061255a565b610553565b6040516102219190612515565b60405180910390f35b34801561023657600080fd5b5061023f61062c565b60405161024c91906125c9565b60405180910390f35b34801561026157600080fd5b5061027c600480360381019061027791906125e4565b610635565b005b34801561028a57600080fd5b50610293610725565b005b3480156102a157600080fd5b506102bc60048036038101906102b791906125e4565b6107f4565b6040516102c9919061253f565b60405180910390f35b3480156102de57600080fd5b506102e761083d565b005b3480156102f557600080fd5b506102fe610990565b005b34801561030c57600080fd5b50610315610a8d565b604051610322919061253f565b60405180910390f35b34801561033757600080fd5b50610340610a93565b60405161034d9190612620565b60405180910390f35b34801561036257600080fd5b5061036b610abc565b604051610378919061253f565b60405180910390f35b34801561038d57600080fd5b50610396610ac2565b6040516103a391906123ff565b60405180910390f35b3480156103b857600080fd5b506103d360048036038101906103ce91906124ba565b610b54565b6040516103e09190612515565b60405180910390f35b3480156103f557600080fd5b506103fe610b72565b60405161040b919061253f565b60405180910390f35b34801561042057600080fd5b50610429610b78565b6040516104369190612515565b60405180910390f35b34801561044b57600080fd5b50610454610b8b565b005b34801561046257600080fd5b5061047d6004803603810190610478919061263b565b61108e565b60405161048a919061253f565b60405180910390f35b6060600e80546104a2906126aa565b80601f01602080910402602001604051908101604052809291908181526020018280546104ce906126aa565b801561051b5780601f106104f05761010080835404028352916020019161051b565b820191906000526020600020905b8154815290600101906020018083116104fe57829003601f168201915b5050505050905090565b600061053961053261118f565b8484611197565b6001905092915050565b60145481565b6000601054905090565b6000610560848484611360565b6106218461056c61118f565b61061c856040518060600160405280602881526020016132e660289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105d261118f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611db29092919063ffffffff16565b611197565b600190509392505050565b60006009905090565b61063d61118f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c190612727565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6003600061073161118f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166107b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107af90612793565b60405180910390fd5b60006107c3306107f4565b905060008111156107d8576107d781611e16565b5b600047905060008111156107f0576107ef8161208f565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61084561118f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c990612727565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61099861118f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1c90612727565b60405180910390fd5b6010546011819055506010546012819055506000600560006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf601054604051610a83919061253f565b60405180910390a1565b60115481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b6060600f8054610ad1906126aa565b80601f0160208091040260200160405190810160405280929190818152602001828054610afd906126aa565b8015610b4a5780601f10610b1f57610100808354040283529160200191610b4a565b820191906000526020600020905b815481529060010190602001808311610b2d57829003601f168201915b5050505050905090565b6000610b68610b6161118f565b8484611360565b6001905092915050565b60135481565b600560009054906101000a900460ff1681565b610b9361118f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1790612727565b60405180910390fd5b601660149054906101000a900460ff1615610c70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c67906127ff565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cf430601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601054611197565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d859190612834565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e329190612834565b6040518363ffffffff1660e01b8152600401610e4f929190612861565b6020604051808303816000875af1158015610e6e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e929190612834565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f1b306107f4565b600080610f26610a93565b426040518863ffffffff1660e01b8152600401610f48969594939291906128cf565b60606040518083038185885af1158015610f66573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f8b9190612945565b505050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161102d929190612998565b6020604051808303816000875af115801561104c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107091906129ed565b506001601660146101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008083036111275760009050611189565b600082846111359190612a49565b90508284826111449190612aba565b14611184576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117b90612b5d565b60405180910390fd5b809150505b92915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611206576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fd90612bef565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611275576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126c90612c81565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611353919061253f565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c690612d13565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361143e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143590612da5565b60405180910390fd5b60008111611481576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147890612e37565b60405180910390fd5b600061148b610a93565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156114f957506114c9610a93565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ae957600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156115a25750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611ae8576115e360646115d5600a54600d54116115c2576006546115c6565b6008545b8561111590919063ffffffff16565b6120fb90919063ffffffff16565b9050600560009054906101000a900460ff161561177257601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116a65750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117715743600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061172c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172390612eef565b60405180910390fd5b43600460003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561181d5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118735750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561192e576011548211156118bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b490612f5b565b60405180910390fd5b601254826118ca856107f4565b6118d49190612f7b565b1115611915576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190c90612ffb565b60405180910390fd5b600d60008154809291906119289061301b565b91905055505b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119b757503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156119fb576119f860646119ea600b54600d54116119d7576007546119db565b6009545b8561111590919063ffffffff16565b6120fb90919063ffffffff16565b90505b6000611a06306107f4565b9050601660159054906101000a900460ff16158015611a725750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611a88575060168054906101000a900460ff165b8015611a95575060135481115b8015611aa45750600c54600d54115b15611ae657611ac6611ac184611abc84601454612145565b612145565b611e16565b600047905066b1a2bc2ec50000811115611ae457611ae34761208f565b5b505b505b5b6000811115611bed57611b4481600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461215e90919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611be4919061253f565b60405180910390a35b611c3f82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121bc90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ce6611c9882846121bc90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461215e90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d34848484612206565b508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611d9784866121bc90919063ffffffff16565b604051611da4919061253f565b60405180910390a350505050565b6000838311158290611dfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df191906123ff565b60405180910390fd5b5060008385611e099190613063565b9050809150509392505050565b6001601660156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611e4e57611e4d613097565b5b604051908082528060200260200182016040528015611e7c5781602001602082028036833780820191505090505b5090503081600081518110611e9457611e936130c6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5f9190612834565b81600181518110611f7357611f726130c6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611fda30601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611197565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161203e9594939291906131b3565b600060405180830381600087803b15801561205857600080fd5b505af115801561206c573d6000803e3d6000fd5b50505050506000601660156101000a81548160ff02191690831515021790555050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156120f7573d6000803e3d6000fd5b5050565b600061213d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061230c565b905092915050565b60008183116121545782612156565b815b905092915050565b600080828461216d9190612f7b565b9050838110156121b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121a990613259565b60405180910390fd5b8091505092915050565b60006121fe83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611db2565b905092915050565b600080600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166377c31390866040518263ffffffff1660e01b81526004016122649190612620565b602060405180830381865afa158015612281573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122a591906129ed565b90508080156122b45750600083115b15612301576000151581151514612300576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f7906132c5565b60405180910390fd5b5b829150509392505050565b60008083118290612353576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234a91906123ff565b60405180910390fd5b50600083856123629190612aba565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156123a957808201518184015260208101905061238e565b60008484015250505050565b6000601f19601f8301169050919050565b60006123d18261236f565b6123db818561237a565b93506123eb81856020860161238b565b6123f4816123b5565b840191505092915050565b6000602082019050818103600083015261241981846123c6565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061245182612426565b9050919050565b61246181612446565b811461246c57600080fd5b50565b60008135905061247e81612458565b92915050565b6000819050919050565b61249781612484565b81146124a257600080fd5b50565b6000813590506124b48161248e565b92915050565b600080604083850312156124d1576124d0612421565b5b60006124df8582860161246f565b92505060206124f0858286016124a5565b9150509250929050565b60008115159050919050565b61250f816124fa565b82525050565b600060208201905061252a6000830184612506565b92915050565b61253981612484565b82525050565b60006020820190506125546000830184612530565b92915050565b60008060006060848603121561257357612572612421565b5b60006125818682870161246f565b93505060206125928682870161246f565b92505060406125a3868287016124a5565b9150509250925092565b600060ff82169050919050565b6125c3816125ad565b82525050565b60006020820190506125de60008301846125ba565b92915050565b6000602082840312156125fa576125f9612421565b5b60006126088482850161246f565b91505092915050565b61261a81612446565b82525050565b60006020820190506126356000830184612611565b92915050565b6000806040838503121561265257612651612421565b5b60006126608582860161246f565b92505060206126718582860161246f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806126c257607f821691505b6020821081036126d5576126d461267b565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061271160208361237a565b915061271c826126db565b602082019050919050565b6000602082019050818103600083015261274081612704565b9050919050565b7f43616c6c6572206973206e6f7420616c6c6f7700000000000000000000000000600082015250565b600061277d60138361237a565b915061278882612747565b602082019050919050565b600060208201905081810360008301526127ac81612770565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006127e960178361237a565b91506127f4826127b3565b602082019050919050565b60006020820190508181036000830152612818816127dc565b9050919050565b60008151905061282e81612458565b92915050565b60006020828403121561284a57612849612421565b5b60006128588482850161281f565b91505092915050565b60006040820190506128766000830185612611565b6128836020830184612611565b9392505050565b6000819050919050565b6000819050919050565b60006128b96128b46128af8461288a565b612894565b612484565b9050919050565b6128c98161289e565b82525050565b600060c0820190506128e46000830189612611565b6128f16020830188612530565b6128fe60408301876128c0565b61290b60608301866128c0565b6129186080830185612611565b61292560a0830184612530565b979650505050505050565b60008151905061293f8161248e565b92915050565b60008060006060848603121561295e5761295d612421565b5b600061296c86828701612930565b935050602061297d86828701612930565b925050604061298e86828701612930565b9150509250925092565b60006040820190506129ad6000830185612611565b6129ba6020830184612530565b9392505050565b6129ca816124fa565b81146129d557600080fd5b50565b6000815190506129e7816129c1565b92915050565b600060208284031215612a0357612a02612421565b5b6000612a11848285016129d8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612a5482612484565b9150612a5f83612484565b9250828202612a6d81612484565b91508282048414831517612a8457612a83612a1a565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612ac582612484565b9150612ad083612484565b925082612ae057612adf612a8b565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612b4760218361237a565b9150612b5282612aeb565b604082019050919050565b60006020820190508181036000830152612b7681612b3a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612bd960248361237a565b9150612be482612b7d565b604082019050919050565b60006020820190508181036000830152612c0881612bcc565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612c6b60228361237a565b9150612c7682612c0f565b604082019050919050565b60006020820190508181036000830152612c9a81612c5e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612cfd60258361237a565b9150612d0882612ca1565b604082019050919050565b60006020820190508181036000830152612d2c81612cf0565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612d8f60238361237a565b9150612d9a82612d33565b604082019050919050565b60006020820190508181036000830152612dbe81612d82565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612e2160298361237a565b9150612e2c82612dc5565b604082019050919050565b60006020820190508181036000830152612e5081612e14565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b6000612ed960498361237a565b9150612ee482612e57565b606082019050919050565b60006020820190508181036000830152612f0881612ecc565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612f4560198361237a565b9150612f5082612f0f565b602082019050919050565b60006020820190508181036000830152612f7481612f38565b9050919050565b6000612f8682612484565b9150612f9183612484565b9250828201905080821115612fa957612fa8612a1a565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612fe5601a8361237a565b9150612ff082612faf565b602082019050919050565b6000602082019050818103600083015261301481612fd8565b9050919050565b600061302682612484565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361305857613057612a1a565b5b600182019050919050565b600061306e82612484565b915061307983612484565b925082820390508181111561309157613090612a1a565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61312a81612446565b82525050565b600061313c8383613121565b60208301905092915050565b6000602082019050919050565b6000613160826130f5565b61316a8185613100565b935061317583613111565b8060005b838110156131a657815161318d8882613130565b975061319883613148565b925050600181019050613179565b5085935050505092915050565b600060a0820190506131c86000830188612530565b6131d560208301876128c0565b81810360408301526131e78186613155565b90506131f66060830185612611565b6132036080830184612530565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613243601b8361237a565b915061324e8261320d565b602082019050919050565b6000602082019050818103600083015261327281613236565b9050919050565b7f43616c6c6572206973206e6f742065786c756465642066726f6d206665650000600082015250565b60006132af601e8361237a565b91506132ba82613279565b602082019050919050565b600060208201905081810360008301526132de816132a2565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122011a406736c2255f5e2ecbee4f5947fb5cc0594ffd6bcc3db38f07592e19d9e6364736f6c63430008120033
Deployed Bytecode Sourcemap
7808:8895:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9934:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10886:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8866:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10211:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11055:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10120:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10616:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16321:379;;;;;;;;;;;;;:::i;:::-;;10314:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2598:148;;;;;;;;;;;;;:::i;:::-;;15328:196;;;;;;;;;;;;;:::i;:::-;;8683:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2384:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8742:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10025:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10441:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8803:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8150:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15634:642;;;;;;;;;;;;;:::i;:::-;;10735:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9934:83;9971:13;10004:5;9997:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9934:83;:::o;10886:161::-;10961:4;10978:39;10987:12;:10;:12::i;:::-;11001:7;11010:6;10978:8;:39::i;:::-;11035:4;11028:11;;10886:161;;;;:::o;8866:51::-;;;;:::o;10211:95::-;10264:7;10291;;10284:14;;10211:95;:::o;11055:313::-;11153:4;11170:36;11180:6;11188:9;11199:6;11170:9;:36::i;:::-;11217:121;11226:6;11234:12;:10;:12::i;:::-;11248:89;11286:6;11248:89;;;;;;;;;;;;;;;;;:11;:19;11260:6;11248:19;;;;;;;;;;;;;;;:33;11268:12;:10;:12::i;:::-;11248:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;11217:8;:121::i;:::-;11356:4;11349:11;;11055:313;;;;;:::o;10120:83::-;10161:5;8589:1;10179:16;;10120:83;:::o;10616:111::-;2521:12;:10;:12::i;:::-;2511:22;;:6;;;;;;;;;;:22;;;2503:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10715:4:::1;10685:18;:27;10704:7;10685:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;10616:111:::0;:::o;16321:379::-;16371:18;:32;16390:12;:10;:12::i;:::-;16371:32;;;;;;;;;;;;;;;;;;;;;;;;;16363:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;16438:20;16459:24;16477:4;16459:9;:24::i;:::-;16438:45;;16510:1;16497:12;:14;16494:73;;;16525:30;16542:12;16525:16;:30::i;:::-;16494:73;16577:18;16596:21;16577:40;;16642:1;16631:10;:12;16628:65;;;16657:24;16670:10;16657:12;:24::i;:::-;16628:65;16352:348;;16321:379::o;10314:119::-;10380:7;10407:9;:18;10417:7;10407:18;;;;;;;;;;;;;;;;10400:25;;10314:119;;;:::o;2598:148::-;2521:12;:10;:12::i;:::-;2511:22;;:6;;;;;;;;;;:22;;;2503:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2705:1:::1;2668:40;;2689:6;::::0;::::1;;;;;;;;2668:40;;;;;;;;;;;;2736:1;2719:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2598:148::o:0;15328:196::-;2521:12;:10;:12::i;:::-;2511:22;;:6;;;;;;;;;;:22;;;2503:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15396:7:::1;;15381:12;:22;;;;15429:7;;15414:14;:22;;;;15468:5;15447:20;;:26;;;;;;;;;;;;;;;;;;15489:27;15508:7;;15489:27;;;;;;:::i;:::-;;;;;;;;15328:196::o:0;8683:52::-;;;;:::o;2384:79::-;2422:7;2449:6;;;;;;;;;;;2442:13;;2384:79;:::o;8742:54::-;;;;:::o;10025:87::-;10064:13;10097:7;10090:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10025:87;:::o;10441:167::-;10519:4;10536:42;10546:12;:10;:12::i;:::-;10560:9;10571:6;10536:9;:42::i;:::-;10596:4;10589:11;;10441:167;;;;:::o;8803:56::-;;;;:::o;8150:39::-;;;;;;;;;;;;;:::o;15634:642::-;2521:12;:10;:12::i;:::-;2511:22;;:6;;;;;;;;;;:22;;;2503:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15698:11:::1;;;;;;;;;;;15697:12;15689:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;15784:42;15747:15;;:80;;;;;;;;;;;;;;;;;;15838:58;15855:4;15870:15;;;;;;;;;;;15888:7;;15838:8;:58::i;:::-;15941:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15923:55;;;15987:4;15994:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15923:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15907:13;;:110;;;;;;;;;;;;;;;;;;16028:15;;;;;;;;;;;:31;;;16067:21;16098:4;16104:24;16122:4;16104:9;:24::i;:::-;16129:1;16131::::0;16133:7:::1;:5;:7::i;:::-;16141:15;16028:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;16175:13;;;;;;;;;;;16168:29;;;16206:15;;;;;;;;;;;16224:14;16168:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16264:4;16250:11;;:18;;;;;;;;;;;;;;;;;;15634:642::o:0;10735:143::-;10816:7;10843:11;:18;10855:5;10843:18;;;;;;;;;;;;;;;:27;10862:7;10843:27;;;;;;;;;;;;;;;;10836:34;;10735:143;;;;:::o;1503:246::-;1561:7;1590:1;1585;:6;1581:47;;1615:1;1608:8;;;;1581:47;1638:9;1654:1;1650;:5;;;;:::i;:::-;1638:17;;1683:1;1678;1674;:5;;;;:::i;:::-;:10;1666:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1740:1;1733:8;;;1503:246;;;;;:::o;168:98::-;221:7;248:10;241:17;;168:98;:::o;11376:335::-;11486:1;11469:19;;:5;:19;;;11461:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11567:1;11548:21;;:7;:21;;;11540:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11649:6;11619:11;:18;11631:5;11619:18;;;;;;;;;;;;;;;:27;11638:7;11619:27;;;;;;;;;;;;;;;:36;;;;11687:7;11671:32;;11680:5;11671:32;;;11696:6;11671:32;;;;;;:::i;:::-;;;;;;;;11376:335;;;:::o;11719:2575::-;11823:1;11807:18;;:4;:18;;;11799:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11900:1;11886:16;;:2;:16;;;11878:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11970:1;11961:6;:10;11953:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12028:17;12070:7;:5;:7::i;:::-;12062:15;;:4;:15;;;;:32;;;;;12087:7;:5;:7::i;:::-;12081:13;;:2;:13;;;;12062:32;12058:1821;;;12116:18;:24;12135:4;12116:24;;;;;;;;;;;;;;;;;;;;;;;;;12115:25;:52;;;;;12145:18;:22;12164:2;12145:22;;;;;;;;;;;;;;;;;;;;;;;;;12144:23;12115:52;12111:1757;;;12196:76;12268:3;12196:67;12218:15;;12208:9;;:25;12207:55;;12248:14;;12207:55;;;12235:12;;12207:55;12196:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;12184:88;;12293:20;;;;;;;;;;;12289:508;;;12354:15;;;;;;;;;;;12340:30;;:2;:30;;;;:62;;;;;12388:13;;;;;;;;;;;12374:28;;:2;:28;;;;12340:62;12336:444;;;12538:12;12465:28;:39;12494:9;12465:39;;;;;;;;;;;;;;;;:85;12429:250;;;;;;;;;;;;:::i;:::-;;;;;;;;;12746:12;12704:28;:39;12733:9;12704:39;;;;;;;;;;;;;;;:54;;;;12336:444;12289:508;12825:13;;;;;;;;;;;12817:21;;:4;:21;;;:55;;;;;12856:15;;;;;;;;;;;12842:30;;:2;:30;;;;12817:55;:83;;;;;12878:18;:22;12897:2;12878:22;;;;;;;;;;;;;;;;;;;;;;;;;12876:24;12817:83;12813:313;;;12940:12;;12930:6;:22;;12922:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;13035:14;;13025:6;13009:13;13019:2;13009:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;13001:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;13099:9;;:11;;;;;;;;;:::i;:::-;;;;;;12813:313;13165:13;;;;;;;;;;;13159:19;;:2;:19;;;:43;;;;;13197:4;13182:20;;:4;:20;;;;13159:43;13156:174;;;13235:79;13310:3;13235:70;13257:16;;13247:9;;:26;13246:58;;13289:15;;13246:58;;;13275:13;;13246:58;13235:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;13223:91;;13156:174;13346:28;13377:24;13395:4;13377:9;:24::i;:::-;13346:55;;13421:6;;;;;;;;;;;13420:7;:32;;;;;13439:13;;;;;;;;;;;13431:21;;:2;:21;;;13420:32;:47;;;;;13456:11;;;;;;;;;;13420:47;:89;;;;;13492:17;;13471:20;:38;13420:89;:121;;;;;13523:18;;13513:9;;:28;13420:121;13416:437;;;13562:67;13579:49;13583:6;13590:37;13594:20;13615:11;;13590:3;:37::i;:::-;13579:3;:49::i;:::-;13562:16;:67::i;:::-;13648:26;13677:21;13648:50;;13741:17;13720:18;:38;13717:121;;;13783:35;13796:21;13783:12;:35::i;:::-;13717:121;13543:310;13416:437;12169:1699;12111:1757;12058:1821;13902:1;13892:9;:11;13889:161;;;13942:39;13971:9;13942;:24;13960:4;13942:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;13917:9;:24;13935:4;13917:24;;;;;;;;;;;;;;;:64;;;;14022:4;13999:39;;14008:4;13999:39;;;14028:9;13999:39;;;;;;:::i;:::-;;;;;;;;13889:161;14078:27;14098:6;14078:9;:15;14088:4;14078:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;14062:9;:15;14072:4;14062:15;;;;;;;;;;;;;;;:43;;;;14130:40;14148:21;14159:9;14148:6;:10;;:21;;;;:::i;:::-;14130:9;:13;14140:2;14130:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;14116:9;:13;14126:2;14116:13;;;;;;;;;;;;;;;:54;;;;14181:38;14202:4;14208:2;14212:6;14181:20;:38::i;:::-;;14250:2;14235:41;;14244:4;14235:41;;;14254:21;14265:9;14254:6;:10;;:21;;;;:::i;:::-;14235:41;;;;;;:::i;:::-;;;;;;;;11788:2506;11719:2575;;;:::o;1305:190::-;1391:7;1424:1;1419;:6;;1427:12;1411:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1451:9;1467:1;1463;:5;;;;:::i;:::-;1451:17;;1486:1;1479:8;;;1305:190;;;;;:::o;14410:483::-;9208:4;9199:6;;:13;;;;;;;;;;;;;;;;;;14488:21:::1;14526:1;14512:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14488:40;;14557:4;14539;14544:1;14539:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;14583:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14573:4;14578:1;14573:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;14616:62;14633:4;14648:15;;;;;;;;;;;14666:11;14616:8;:62::i;:::-;14689:15;;;;;;;;;;;:66;;;14770:11;14796:1;14812:4;14839;14859:15;14689:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;14477:416;9244:5:::0;9235:6;;:14;;;;;;;;;;;;;;;;;;14410:483;:::o;15532:92::-;15589:10;;;;;;;;;;;:19;;:27;15609:6;15589:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15532:92;:::o;1757:132::-;1815:7;1842:39;1846:1;1849;1842:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1835:46;;1757:132;;;;:::o;14304:98::-;14361:7;14388:1;14386;:3;14385:9;;14393:1;14385:9;;;14391:1;14385:9;14378:16;;14304:98;;;;:::o;974:179::-;1032:7;1052:9;1068:1;1064;:5;;;;:::i;:::-;1052:17;;1093:1;1088;:6;;1080:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1144:1;1137:8;;;974:179;;;;:::o;1161:136::-;1219:7;1246:43;1250:1;1253;1246:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1239:50;;1161:136;;;;:::o;14901:419::-;15042:7;15062:23;15107:10;;;;;;;;;;;15088:37;;;15126:4;15088:43;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15062:69;;15146:18;:32;;;;;15177:1;15168:6;:10;15146:32;15142:136;;;15226:5;15204:27;;:18;:27;;;15196:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;15142:136;15295:6;15288:13;;;14901:419;;;;;:::o;1897:189::-;1983:7;2015:1;2011;:5;2018:12;2003:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2042:9;2058:1;2054;:5;;;;:::i;:::-;2042:17;;2077:1;2070:8;;;1897:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:180::-;6068:77;6065:1;6058:88;6165:4;6162:1;6155:15;6189:4;6186:1;6179:15;6206:320;6250:6;6287:1;6281:4;6277:12;6267:22;;6334:1;6328:4;6324:12;6355:18;6345:81;;6411:4;6403:6;6399:17;6389:27;;6345:81;6473:2;6465:6;6462:14;6442:18;6439:38;6436:84;;6492:18;;:::i;:::-;6436:84;6257:269;6206:320;;;:::o;6532:182::-;6672:34;6668:1;6660:6;6656:14;6649:58;6532:182;:::o;6720:366::-;6862:3;6883:67;6947:2;6942:3;6883:67;:::i;:::-;6876:74;;6959:93;7048:3;6959:93;:::i;:::-;7077:2;7072:3;7068:12;7061:19;;6720:366;;;:::o;7092:419::-;7258:4;7296:2;7285:9;7281:18;7273:26;;7345:9;7339:4;7335:20;7331:1;7320:9;7316:17;7309:47;7373:131;7499:4;7373:131;:::i;:::-;7365:139;;7092:419;;;:::o;7517:169::-;7657:21;7653:1;7645:6;7641:14;7634:45;7517:169;:::o;7692:366::-;7834:3;7855:67;7919:2;7914:3;7855:67;:::i;:::-;7848:74;;7931:93;8020:3;7931:93;:::i;:::-;8049:2;8044:3;8040:12;8033:19;;7692:366;;;:::o;8064:419::-;8230:4;8268:2;8257:9;8253:18;8245:26;;8317:9;8311:4;8307:20;8303:1;8292:9;8288:17;8281:47;8345:131;8471:4;8345:131;:::i;:::-;8337:139;;8064:419;;;:::o;8489:173::-;8629:25;8625:1;8617:6;8613:14;8606:49;8489:173;:::o;8668:366::-;8810:3;8831:67;8895:2;8890:3;8831:67;:::i;:::-;8824:74;;8907:93;8996:3;8907:93;:::i;:::-;9025:2;9020:3;9016:12;9009:19;;8668:366;;;:::o;9040:419::-;9206:4;9244:2;9233:9;9229:18;9221:26;;9293:9;9287:4;9283:20;9279:1;9268:9;9264:17;9257:47;9321:131;9447:4;9321:131;:::i;:::-;9313:139;;9040:419;;;:::o;9465:143::-;9522:5;9553:6;9547:13;9538:22;;9569:33;9596:5;9569:33;:::i;:::-;9465:143;;;;:::o;9614:351::-;9684:6;9733:2;9721:9;9712:7;9708:23;9704:32;9701:119;;;9739:79;;:::i;:::-;9701:119;9859:1;9884:64;9940:7;9931:6;9920:9;9916:22;9884:64;:::i;:::-;9874:74;;9830:128;9614:351;;;;:::o;9971:332::-;10092:4;10130:2;10119:9;10115:18;10107:26;;10143:71;10211:1;10200:9;10196:17;10187:6;10143:71;:::i;:::-;10224:72;10292:2;10281:9;10277:18;10268:6;10224:72;:::i;:::-;9971:332;;;;;:::o;10309:85::-;10354:7;10383:5;10372:16;;10309:85;;;:::o;10400:60::-;10428:3;10449:5;10442:12;;10400:60;;;:::o;10466:158::-;10524:9;10557:61;10575:42;10584:32;10610:5;10584:32;:::i;:::-;10575:42;:::i;:::-;10557:61;:::i;:::-;10544:74;;10466:158;;;:::o;10630:147::-;10725:45;10764:5;10725:45;:::i;:::-;10720:3;10713:58;10630:147;;:::o;10783:807::-;11032:4;11070:3;11059:9;11055:19;11047:27;;11084:71;11152:1;11141:9;11137:17;11128:6;11084:71;:::i;:::-;11165:72;11233:2;11222:9;11218:18;11209:6;11165:72;:::i;:::-;11247:80;11323:2;11312:9;11308:18;11299:6;11247:80;:::i;:::-;11337;11413:2;11402:9;11398:18;11389:6;11337:80;:::i;:::-;11427:73;11495:3;11484:9;11480:19;11471:6;11427:73;:::i;:::-;11510;11578:3;11567:9;11563:19;11554:6;11510:73;:::i;:::-;10783:807;;;;;;;;;:::o;11596:143::-;11653:5;11684:6;11678:13;11669:22;;11700:33;11727:5;11700:33;:::i;:::-;11596:143;;;;:::o;11745:663::-;11833:6;11841;11849;11898:2;11886:9;11877:7;11873:23;11869:32;11866:119;;;11904:79;;:::i;:::-;11866:119;12024:1;12049:64;12105:7;12096:6;12085:9;12081:22;12049:64;:::i;:::-;12039:74;;11995:128;12162:2;12188:64;12244:7;12235:6;12224:9;12220:22;12188:64;:::i;:::-;12178:74;;12133:129;12301:2;12327:64;12383:7;12374:6;12363:9;12359:22;12327:64;:::i;:::-;12317:74;;12272:129;11745:663;;;;;:::o;12414:332::-;12535:4;12573:2;12562:9;12558:18;12550:26;;12586:71;12654:1;12643:9;12639:17;12630:6;12586:71;:::i;:::-;12667:72;12735:2;12724:9;12720:18;12711:6;12667:72;:::i;:::-;12414:332;;;;;:::o;12752:116::-;12822:21;12837:5;12822:21;:::i;:::-;12815:5;12812:32;12802:60;;12858:1;12855;12848:12;12802:60;12752:116;:::o;12874:137::-;12928:5;12959:6;12953:13;12944:22;;12975:30;12999:5;12975:30;:::i;:::-;12874:137;;;;:::o;13017:345::-;13084:6;13133:2;13121:9;13112:7;13108:23;13104:32;13101:119;;;13139:79;;:::i;:::-;13101:119;13259:1;13284:61;13337:7;13328:6;13317:9;13313:22;13284:61;:::i;:::-;13274:71;;13230:125;13017:345;;;;:::o;13368:180::-;13416:77;13413:1;13406:88;13513:4;13510:1;13503:15;13537:4;13534:1;13527:15;13554:410;13594:7;13617:20;13635:1;13617:20;:::i;:::-;13612:25;;13651:20;13669:1;13651:20;:::i;:::-;13646:25;;13706:1;13703;13699:9;13728:30;13746:11;13728:30;:::i;:::-;13717:41;;13907:1;13898:7;13894:15;13891:1;13888:22;13868:1;13861:9;13841:83;13818:139;;13937:18;;:::i;:::-;13818:139;13602:362;13554:410;;;;:::o;13970:180::-;14018:77;14015:1;14008:88;14115:4;14112:1;14105:15;14139:4;14136:1;14129:15;14156:185;14196:1;14213:20;14231:1;14213:20;:::i;:::-;14208:25;;14247:20;14265:1;14247:20;:::i;:::-;14242:25;;14286:1;14276:35;;14291:18;;:::i;:::-;14276:35;14333:1;14330;14326:9;14321:14;;14156:185;;;;:::o;14347:220::-;14487:34;14483:1;14475:6;14471:14;14464:58;14556:3;14551:2;14543:6;14539:15;14532:28;14347:220;:::o;14573:366::-;14715:3;14736:67;14800:2;14795:3;14736:67;:::i;:::-;14729:74;;14812:93;14901:3;14812:93;:::i;:::-;14930:2;14925:3;14921:12;14914:19;;14573:366;;;:::o;14945:419::-;15111:4;15149:2;15138:9;15134:18;15126:26;;15198:9;15192:4;15188:20;15184:1;15173:9;15169:17;15162:47;15226:131;15352:4;15226:131;:::i;:::-;15218:139;;14945:419;;;:::o;15370:223::-;15510:34;15506:1;15498:6;15494:14;15487:58;15579:6;15574:2;15566:6;15562:15;15555:31;15370:223;:::o;15599:366::-;15741:3;15762:67;15826:2;15821:3;15762:67;:::i;:::-;15755:74;;15838:93;15927:3;15838:93;:::i;:::-;15956:2;15951:3;15947:12;15940:19;;15599:366;;;:::o;15971:419::-;16137:4;16175:2;16164:9;16160:18;16152:26;;16224:9;16218:4;16214:20;16210:1;16199:9;16195:17;16188:47;16252:131;16378:4;16252:131;:::i;:::-;16244:139;;15971:419;;;:::o;16396:221::-;16536:34;16532:1;16524:6;16520:14;16513:58;16605:4;16600:2;16592:6;16588:15;16581:29;16396:221;:::o;16623:366::-;16765:3;16786:67;16850:2;16845:3;16786:67;:::i;:::-;16779:74;;16862:93;16951:3;16862:93;:::i;:::-;16980:2;16975:3;16971:12;16964:19;;16623:366;;;:::o;16995:419::-;17161:4;17199:2;17188:9;17184:18;17176:26;;17248:9;17242:4;17238:20;17234:1;17223:9;17219:17;17212:47;17276:131;17402:4;17276:131;:::i;:::-;17268:139;;16995:419;;;:::o;17420:224::-;17560:34;17556:1;17548:6;17544:14;17537:58;17629:7;17624:2;17616:6;17612:15;17605:32;17420:224;:::o;17650:366::-;17792:3;17813:67;17877:2;17872:3;17813:67;:::i;:::-;17806:74;;17889:93;17978:3;17889:93;:::i;:::-;18007:2;18002:3;17998:12;17991:19;;17650:366;;;:::o;18022:419::-;18188:4;18226:2;18215:9;18211:18;18203:26;;18275:9;18269:4;18265:20;18261:1;18250:9;18246:17;18239:47;18303:131;18429:4;18303:131;:::i;:::-;18295:139;;18022:419;;;:::o;18447:222::-;18587:34;18583:1;18575:6;18571:14;18564:58;18656:5;18651:2;18643:6;18639:15;18632:30;18447:222;:::o;18675:366::-;18817:3;18838:67;18902:2;18897:3;18838:67;:::i;:::-;18831:74;;18914:93;19003:3;18914:93;:::i;:::-;19032:2;19027:3;19023:12;19016:19;;18675:366;;;:::o;19047:419::-;19213:4;19251:2;19240:9;19236:18;19228:26;;19300:9;19294:4;19290:20;19286:1;19275:9;19271:17;19264:47;19328:131;19454:4;19328:131;:::i;:::-;19320:139;;19047:419;;;:::o;19472:228::-;19612:34;19608:1;19600:6;19596:14;19589:58;19681:11;19676:2;19668:6;19664:15;19657:36;19472:228;:::o;19706:366::-;19848:3;19869:67;19933:2;19928:3;19869:67;:::i;:::-;19862:74;;19945:93;20034:3;19945:93;:::i;:::-;20063:2;20058:3;20054:12;20047:19;;19706:366;;;:::o;20078:419::-;20244:4;20282:2;20271:9;20267:18;20259:26;;20331:9;20325:4;20321:20;20317:1;20306:9;20302:17;20295:47;20359:131;20485:4;20359:131;:::i;:::-;20351:139;;20078:419;;;:::o;20503:297::-;20643:34;20639:1;20631:6;20627:14;20620:58;20712:34;20707:2;20699:6;20695:15;20688:59;20781:11;20776:2;20768:6;20764:15;20757:36;20503:297;:::o;20806:366::-;20948:3;20969:67;21033:2;21028:3;20969:67;:::i;:::-;20962:74;;21045:93;21134:3;21045:93;:::i;:::-;21163:2;21158:3;21154:12;21147:19;;20806:366;;;:::o;21178:419::-;21344:4;21382:2;21371:9;21367:18;21359:26;;21431:9;21425:4;21421:20;21417:1;21406:9;21402:17;21395:47;21459:131;21585:4;21459:131;:::i;:::-;21451:139;;21178:419;;;:::o;21603:175::-;21743:27;21739:1;21731:6;21727:14;21720:51;21603:175;:::o;21784:366::-;21926:3;21947:67;22011:2;22006:3;21947:67;:::i;:::-;21940:74;;22023:93;22112:3;22023:93;:::i;:::-;22141:2;22136:3;22132:12;22125:19;;21784:366;;;:::o;22156:419::-;22322:4;22360:2;22349:9;22345:18;22337:26;;22409:9;22403:4;22399:20;22395:1;22384:9;22380:17;22373:47;22437:131;22563:4;22437:131;:::i;:::-;22429:139;;22156:419;;;:::o;22581:191::-;22621:3;22640:20;22658:1;22640:20;:::i;:::-;22635:25;;22674:20;22692:1;22674:20;:::i;:::-;22669:25;;22717:1;22714;22710:9;22703:16;;22738:3;22735:1;22732:10;22729:36;;;22745:18;;:::i;:::-;22729:36;22581:191;;;;:::o;22778:176::-;22918:28;22914:1;22906:6;22902:14;22895:52;22778:176;:::o;22960:366::-;23102:3;23123:67;23187:2;23182:3;23123:67;:::i;:::-;23116:74;;23199:93;23288:3;23199:93;:::i;:::-;23317:2;23312:3;23308:12;23301:19;;22960:366;;;:::o;23332:419::-;23498:4;23536:2;23525:9;23521:18;23513:26;;23585:9;23579:4;23575:20;23571:1;23560:9;23556:17;23549:47;23613:131;23739:4;23613:131;:::i;:::-;23605:139;;23332:419;;;:::o;23757:233::-;23796:3;23819:24;23837:5;23819:24;:::i;:::-;23810:33;;23865:66;23858:5;23855:77;23852:103;;23935:18;;:::i;:::-;23852:103;23982:1;23975:5;23971:13;23964:20;;23757:233;;;:::o;23996:194::-;24036:4;24056:20;24074:1;24056:20;:::i;:::-;24051:25;;24090:20;24108:1;24090:20;:::i;:::-;24085:25;;24134:1;24131;24127:9;24119:17;;24158:1;24152:4;24149:11;24146:37;;;24163:18;;:::i;:::-;24146:37;23996:194;;;;:::o;24196:180::-;24244:77;24241:1;24234:88;24341:4;24338:1;24331:15;24365:4;24362:1;24355:15;24382:180;24430:77;24427:1;24420:88;24527:4;24524:1;24517:15;24551:4;24548:1;24541:15;24568:114;24635:6;24669:5;24663:12;24653:22;;24568:114;;;:::o;24688:184::-;24787:11;24821:6;24816:3;24809:19;24861:4;24856:3;24852:14;24837:29;;24688:184;;;;:::o;24878:132::-;24945:4;24968:3;24960:11;;24998:4;24993:3;24989:14;24981:22;;24878:132;;;:::o;25016:108::-;25093:24;25111:5;25093:24;:::i;:::-;25088:3;25081:37;25016:108;;:::o;25130:179::-;25199:10;25220:46;25262:3;25254:6;25220:46;:::i;:::-;25298:4;25293:3;25289:14;25275:28;;25130:179;;;;:::o;25315:113::-;25385:4;25417;25412:3;25408:14;25400:22;;25315:113;;;:::o;25464:732::-;25583:3;25612:54;25660:5;25612:54;:::i;:::-;25682:86;25761:6;25756:3;25682:86;:::i;:::-;25675:93;;25792:56;25842:5;25792:56;:::i;:::-;25871:7;25902:1;25887:284;25912:6;25909:1;25906:13;25887:284;;;25988:6;25982:13;26015:63;26074:3;26059:13;26015:63;:::i;:::-;26008:70;;26101:60;26154:6;26101:60;:::i;:::-;26091:70;;25947:224;25934:1;25931;25927:9;25922:14;;25887:284;;;25891:14;26187:3;26180:10;;25588:608;;;25464:732;;;;:::o;26202:831::-;26465:4;26503:3;26492:9;26488:19;26480:27;;26517:71;26585:1;26574:9;26570:17;26561:6;26517:71;:::i;:::-;26598:80;26674:2;26663:9;26659:18;26650:6;26598:80;:::i;:::-;26725:9;26719:4;26715:20;26710:2;26699:9;26695:18;26688:48;26753:108;26856:4;26847:6;26753:108;:::i;:::-;26745:116;;26871:72;26939:2;26928:9;26924:18;26915:6;26871:72;:::i;:::-;26953:73;27021:3;27010:9;27006:19;26997:6;26953:73;:::i;:::-;26202:831;;;;;;;;:::o;27039:177::-;27179:29;27175:1;27167:6;27163:14;27156:53;27039:177;:::o;27222:366::-;27364:3;27385:67;27449:2;27444:3;27385:67;:::i;:::-;27378:74;;27461:93;27550:3;27461:93;:::i;:::-;27579:2;27574:3;27570:12;27563:19;;27222:366;;;:::o;27594:419::-;27760:4;27798:2;27787:9;27783:18;27775:26;;27847:9;27841:4;27837:20;27833:1;27822:9;27818:17;27811:47;27875:131;28001:4;27875:131;:::i;:::-;27867:139;;27594:419;;;:::o;28019:180::-;28159:32;28155:1;28147:6;28143:14;28136:56;28019:180;:::o;28205:366::-;28347:3;28368:67;28432:2;28427:3;28368:67;:::i;:::-;28361:74;;28444:93;28533:3;28444:93;:::i;:::-;28562:2;28557:3;28553:12;28546:19;;28205:366;;;:::o;28577:419::-;28743:4;28781:2;28770:9;28766:18;28758:26;;28830:9;28824:4;28820:20;28816:1;28805:9;28801:17;28794:47;28858:131;28984:4;28858:131;:::i;:::-;28850:139;;28577:419;;;:::o
Swarm Source
ipfs://11a406736c2255f5e2ecbee4f5947fb5cc0594ffd6bcc3db38f07592e19d9e63
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.