ERC-20
Overview
Max Total Supply
1,000,000,000,000 SLURP
Holders
43
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
3,871,129,534.157231134517263075 SLURPValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Sluurrppp
Compiler Version
v0.8.23+commit.f704f362
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-05-27 */ /** Together, let's build a unique culture of humor! Telegram : https://t.me/slurperc20 X : https://x.com/SluurrpppFun Website : https://sluuurrrppp.fun/ */ // SPDX-License-Identifier: UNLICENSE pragma solidity 0.8.23; 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 msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } 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 IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract Sluurrppp 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 => bool) private bots; address payable private _taxWallet; uint256 private _initialBuyTax=23; uint256 private _initialSellTax=23; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=23; uint256 private _reduceSellTaxAt=23; uint256 private _preventSwapBefore=25; uint256 private _transferTax=60; uint256 private _buyCount=0; uint8 private constant _decimals = 18; uint256 private constant _tTotal = 1000000000000 * 10**_decimals; string private constant _name = unicode"Sluurrppp"; string private constant _symbol = unicode"SLURP"; uint256 public _maxTxAmount = 17500000000 * 10**_decimals; uint256 public _maxWalletSize = 17500000000 * 10**_decimals; uint256 public _taxSwapThreshold= 12500000000 * 10**_decimals; uint256 public _maxTaxSwap= 12500000000 * 10**_decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; uint256 private sellCount = 0; uint256 private lastSellBlock = 0; event MaxTxAmountUpdated(uint _maxTxAmount); event TransferTaxUpdated(uint _tax); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(_msgSender()); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure 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 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() && to != _taxWallet) { require(!bots[from] && !bots[to]); if(_buyCount==0){ taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); } if(_buyCount>0){ taxAmount = amount.mul(_transferTax).div(100); } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100); _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) { if (block.number > lastSellBlock) { sellCount = 0; } require(sellCount < 3, "Only 3 sells per block!"); swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } sellCount++; lastSellBlock = block.number; } } 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)); 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 removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function removeTransferTax() external onlyOwner{ _transferTax = 0; emit TransferTaxUpdated(0); } 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); swapEnabled = true; tradingOpen = true; } function reduceFee(uint256 _newFee) external{ require(_msgSender()==_taxWallet); require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax); _finalBuyTax=_newFee; _finalSellTax=_newFee; } receive() external payable {} function clearERC20(address _address, uint256 percent) external onlyOwner { uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100); IERC20(_address).transfer(_taxWallet, _amount); } function unClogged() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0 && swapEnabled){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","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":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"clearERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unClogged","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052601760065560176007555f6008555f6009556017600a556017600b556019600c55603c600d555f600e556012600a6200003e919062000605565b64041314cf0062000050919062000655565b600f556012600a62000063919062000605565b64041314cf0062000075919062000655565b6010556012600a62000088919062000605565b6402e90edd006200009a919062000655565b6011556012600a620000ad919062000605565b6402e90edd00620000bf919062000655565b6012555f601460156101000a81548160ff0219169083151502179055505f601460166101000a81548160ff0219169083151502179055505f6015555f6016553480156200010a575f80fd5b505f6200011c6200044560201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001c86200044560201b60201c565b60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a62000217919062000605565b64e8d4a5100062000229919062000655565b60015f6200023c6200044560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f6200028e6200044c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620003b86200044560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a62000416919062000605565b64e8d4a5100062000428919062000655565b604051620004379190620006b0565b60405180910390a3620006cb565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620004fd57808604811115620004d557620004d462000473565b5b6001851615620004e55780820291505b8081029050620004f585620004a0565b9450620004b5565b94509492505050565b5f82620005175760019050620005e9565b8162000526575f9050620005e9565b81600181146200053f57600281146200054a5762000580565b6001915050620005e9565b60ff8411156200055f576200055e62000473565b5b8360020a91508482111562000579576200057862000473565b5b50620005e9565b5060208310610133831016604e8410600b8410161715620005ba5782820a905083811115620005b457620005b362000473565b5b620005e9565b620005c98484846001620004ac565b92509050818404811115620005e357620005e262000473565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6200061182620005f0565b91506200061e83620005f9565b92506200064d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000506565b905092915050565b5f6200066182620005f0565b91506200066e83620005f0565b92508282026200067e81620005f0565b9150828204841483151762000698576200069762000473565b5b5092915050565b620006aa81620005f0565b82525050565b5f602082019050620006c55f8301846200069f565b92915050565b6133ce80620006d95f395ff3fe60806040526004361061012d575f3560e01c80637d1db4a5116100aa578063bf474bed1161006e578063bf474bed146103ba578063c9567bf9146103e4578063d42e8392146103fa578063dd62ed3e14610422578063ec1f3f631461045e578063ef7680c01461048657610134565b80637d1db4a5146102d65780638da5cb5b146103005780638f9a55c01461032a57806395d89b4114610354578063a9059cbb1461037e57610134565b806323b872dd116100f157806323b872dd14610208578063313ce5671461024457806370a082311461026e578063715018a6146102aa578063751039fc146102c057610134565b806306fdde0314610138578063095ea7b3146101625780630faee56f1461019e578063109daa99146101c857806318160ddd146101de57610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c61049c565b6040516101599190612424565b60405180910390f35b34801561016d575f80fd5b50610188600480360381019061018391906124d5565b6104d9565b604051610195919061252d565b60405180910390f35b3480156101a9575f80fd5b506101b26104f6565b6040516101bf9190612555565b60405180910390f35b3480156101d3575f80fd5b506101dc6104fc565b005b3480156101e9575f80fd5b506101f26105d0565b6040516101ff9190612555565b60405180910390f35b348015610213575f80fd5b5061022e6004803603810190610229919061256e565b6105f4565b60405161023b919061252d565b60405180910390f35b34801561024f575f80fd5b506102586106c8565b60405161026591906125d9565b60405180910390f35b348015610279575f80fd5b50610294600480360381019061028f91906125f2565b6106d0565b6040516102a19190612555565b60405180910390f35b3480156102b5575f80fd5b506102be610716565b005b3480156102cb575f80fd5b506102d4610864565b005b3480156102e1575f80fd5b506102ea610996565b6040516102f79190612555565b60405180910390f35b34801561030b575f80fd5b5061031461099c565b604051610321919061262c565b60405180910390f35b348015610335575f80fd5b5061033e6109c3565b60405161034b9190612555565b60405180910390f35b34801561035f575f80fd5b506103686109c9565b6040516103759190612424565b60405180910390f35b348015610389575f80fd5b506103a4600480360381019061039f91906124d5565b610a06565b6040516103b1919061252d565b60405180910390f35b3480156103c5575f80fd5b506103ce610a23565b6040516103db9190612555565b60405180910390f35b3480156103ef575f80fd5b506103f8610a29565b005b348015610405575f80fd5b50610420600480360381019061041b91906124d5565b610f49565b005b34801561042d575f80fd5b5061044860048036038101906104439190612645565b61111f565b6040516104559190612555565b60405180910390f35b348015610469575f80fd5b50610484600480360381019061047f9190612683565b6111a1565b005b348015610491575f80fd5b5061049a61122d565b005b60606040518060400160405280600981526020017f536c757572727070700000000000000000000000000000000000000000000000815250905090565b5f6104ec6104e56112dc565b84846112e3565b6001905092915050565b60125481565b6105046112dc565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610590576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610587906126f8565b60405180910390fd5b5f600d819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516105c69190612758565b60405180910390a1565b5f6012600a6105df91906128cd565b64e8d4a510006105ef9190612917565b905090565b5f6106008484846114a6565b6106bd8461060c6112dc565b6106b8856040518060600160405280602881526020016133716028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61066f6112dc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e869092919063ffffffff16565b6112e3565b600190509392505050565b5f6012905090565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61071e6112dc565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a1906126f8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61086c6112dc565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ef906126f8565b60405180910390fd5b6012600a61090691906128cd565b64e8d4a510006109169190612917565b600f819055506012600a61092a91906128cd565b64e8d4a5100061093a9190612917565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a61096f91906128cd565b64e8d4a5100061097f9190612917565b60405161098c9190612555565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600581526020017f534c555250000000000000000000000000000000000000000000000000000000815250905090565b5f610a19610a126112dc565b84846114a6565b6001905092915050565b60115481565b610a316112dc565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610abd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab4906126f8565b60405180910390fd5b60148054906101000a900460ff1615610b0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b02906129a2565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ba83060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610b9391906128cd565b64e8d4a51000610ba39190612917565b6112e3565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c12573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c3691906129d4565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cbc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ce091906129d4565b6040518363ffffffff1660e01b8152600401610cfd9291906129ff565b6020604051808303815f875af1158015610d19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d3d91906129d4565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610dc4306106d0565b5f80610dce61099c565b426040518863ffffffff1660e01b8152600401610df096959493929190612a26565b60606040518083038185885af1158015610e0c573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e319190612a99565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610ed1929190612ae9565b6020604051808303815f875af1158015610eed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f119190612b3a565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b610f516112dc565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd4906126f8565b60405180910390fd5b5f61107b606461106d848673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611020919061262c565b602060405180830381865afa15801561103b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061105f9190612b65565b611ee890919063ffffffff16565b611f5f90919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016110d9929190612be2565b6020604051808303815f875af11580156110f5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111199190612b3a565b50505050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111e16112dc565b73ffffffffffffffffffffffffffffffffffffffff1614611200575f80fd5b600854811115801561121457506009548111155b61121c575f80fd5b806008819055508060098190555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661126d6112dc565b73ffffffffffffffffffffffffffffffffffffffff161461128c575f80fd5b5f611296306106d0565b90505f811180156112b35750601460169054906101000a900460ff165b156112c2576112c181611fa8565b5b5f4790505f8111156112d8576112d781612213565b5b5050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134890612c79565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b690612d07565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114999190612555565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611514576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150b90612d95565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611582576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157990612e23565b60405180910390fd5b5f81116115c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bb90612eb1565b60405180910390fd5b5f6115cd61099c565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561163b575061160b61099c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611694575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611bd65760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611737575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b61173f575f80fd5b5f600e5403611787576117846064611776600a54600e541161176357600654611767565b6008545b85611ee890919063ffffffff16565b611f5f90919063ffffffff16565b90505b5f600e5411156117bc576117b960646117ab600d5485611ee890919063ffffffff16565b611f5f90919063ffffffff16565b90505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611865575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118b8575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156119b057600f54821115611902576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f990612f19565b60405180910390fd5b6010548261190f856106d0565b6119199190612f37565b111561195a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195190612fb4565b60405180910390fd5b6119966064611988600a54600e541161197557600654611979565b6008545b85611ee890919063ffffffff16565b611f5f90919063ffffffff16565b9050600e5f8154809291906119aa90612fd2565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611a3857503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a7c57611a796064611a6b600b54600e5411611a5857600754611a5c565b6009545b85611ee890919063ffffffff16565b611f5f90919063ffffffff16565b90505b5f611a86306106d0565b9050601460159054906101000a900460ff16158015611af1575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611b095750601460169054906101000a900460ff165b8015611b16575060115481115b8015611b255750600c54600e54115b15611bd457601654431115611b3c575f6015819055505b600360155410611b81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7890613063565b60405180910390fd5b611b9e611b9984611b948460125461227b565b61227b565b611fa8565b5f4790505f811115611bb457611bb347612213565b5b60155f815480929190611bc690612fd2565b919050555043601681905550505b505b5f811115611cd557611c2e8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461229390919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ccc9190612555565b60405180910390a35b611d258260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122f090919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611dc8611d7c82846122f090919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461229390919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611e6b84866122f090919063ffffffff16565b604051611e789190612555565b60405180910390a350505050565b5f838311158290611ecd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec49190612424565b60405180910390fd5b505f8385611edb9190613081565b9050809150509392505050565b5f808303611ef8575f9050611f59565b5f8284611f059190612917565b9050828482611f1491906130e1565b14611f54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4b90613181565b60405180910390fd5b809150505b92915050565b5f611fa083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612339565b905092915050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611fdf57611fde61319f565b5b60405190808252806020026020018201604052801561200d5781602001602082028036833780820191505090505b50905030815f81518110612024576120236131cc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120ec91906129d4565b81600181518110612100576120ff6131cc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506121663060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112e3565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016121c89594939291906132b0565b5f604051808303815f87803b1580156121df575f80fd5b505af11580156121f1573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612277573d5f803e3d5ffd5b5050565b5f818311612289578261228b565b815b905092915050565b5f8082846122a19190612f37565b9050838110156122e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122dd90613352565b60405180910390fd5b8091505092915050565b5f61233183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e86565b905092915050565b5f808311829061237f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123769190612424565b60405180910390fd5b505f838561238d91906130e1565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156123d15780820151818401526020810190506123b6565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6123f68261239a565b61240081856123a4565b93506124108185602086016123b4565b612419816123dc565b840191505092915050565b5f6020820190508181035f83015261243c81846123ec565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61247182612448565b9050919050565b61248181612467565b811461248b575f80fd5b50565b5f8135905061249c81612478565b92915050565b5f819050919050565b6124b4816124a2565b81146124be575f80fd5b50565b5f813590506124cf816124ab565b92915050565b5f80604083850312156124eb576124ea612444565b5b5f6124f88582860161248e565b9250506020612509858286016124c1565b9150509250929050565b5f8115159050919050565b61252781612513565b82525050565b5f6020820190506125405f83018461251e565b92915050565b61254f816124a2565b82525050565b5f6020820190506125685f830184612546565b92915050565b5f805f6060848603121561258557612584612444565b5b5f6125928682870161248e565b93505060206125a38682870161248e565b92505060406125b4868287016124c1565b9150509250925092565b5f60ff82169050919050565b6125d3816125be565b82525050565b5f6020820190506125ec5f8301846125ca565b92915050565b5f6020828403121561260757612606612444565b5b5f6126148482850161248e565b91505092915050565b61262681612467565b82525050565b5f60208201905061263f5f83018461261d565b92915050565b5f806040838503121561265b5761265a612444565b5b5f6126688582860161248e565b92505060206126798582860161248e565b9150509250929050565b5f6020828403121561269857612697612444565b5b5f6126a5848285016124c1565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6126e26020836123a4565b91506126ed826126ae565b602082019050919050565b5f6020820190508181035f83015261270f816126d6565b9050919050565b5f819050919050565b5f819050919050565b5f61274261273d61273884612716565b61271f565b6124a2565b9050919050565b61275281612728565b82525050565b5f60208201905061276b5f830184612749565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156127f3578086048111156127cf576127ce612771565b5b60018516156127de5780820291505b80810290506127ec8561279e565b94506127b3565b94509492505050565b5f8261280b57600190506128c6565b81612818575f90506128c6565b816001811461282e576002811461283857612867565b60019150506128c6565b60ff84111561284a57612849612771565b5b8360020a91508482111561286157612860612771565b5b506128c6565b5060208310610133831016604e8410600b841016171561289c5782820a90508381111561289757612896612771565b5b6128c6565b6128a984848460016127aa565b925090508184048111156128c0576128bf612771565b5b81810290505b9392505050565b5f6128d7826124a2565b91506128e2836125be565b925061290f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846127fc565b905092915050565b5f612921826124a2565b915061292c836124a2565b925082820261293a816124a2565b9150828204841483151761295157612950612771565b5b5092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61298c6017836123a4565b915061299782612958565b602082019050919050565b5f6020820190508181035f8301526129b981612980565b9050919050565b5f815190506129ce81612478565b92915050565b5f602082840312156129e9576129e8612444565b5b5f6129f6848285016129c0565b91505092915050565b5f604082019050612a125f83018561261d565b612a1f602083018461261d565b9392505050565b5f60c082019050612a395f83018961261d565b612a466020830188612546565b612a536040830187612749565b612a606060830186612749565b612a6d608083018561261d565b612a7a60a0830184612546565b979650505050505050565b5f81519050612a93816124ab565b92915050565b5f805f60608486031215612ab057612aaf612444565b5b5f612abd86828701612a85565b9350506020612ace86828701612a85565b9250506040612adf86828701612a85565b9150509250925092565b5f604082019050612afc5f83018561261d565b612b096020830184612546565b9392505050565b612b1981612513565b8114612b23575f80fd5b50565b5f81519050612b3481612b10565b92915050565b5f60208284031215612b4f57612b4e612444565b5b5f612b5c84828501612b26565b91505092915050565b5f60208284031215612b7a57612b79612444565b5b5f612b8784828501612a85565b91505092915050565b5f612baa612ba5612ba084612448565b61271f565b612448565b9050919050565b5f612bbb82612b90565b9050919050565b5f612bcc82612bb1565b9050919050565b612bdc81612bc2565b82525050565b5f604082019050612bf55f830185612bd3565b612c026020830184612546565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612c636024836123a4565b9150612c6e82612c09565b604082019050919050565b5f6020820190508181035f830152612c9081612c57565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612cf16022836123a4565b9150612cfc82612c97565b604082019050919050565b5f6020820190508181035f830152612d1e81612ce5565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612d7f6025836123a4565b9150612d8a82612d25565b604082019050919050565b5f6020820190508181035f830152612dac81612d73565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612e0d6023836123a4565b9150612e1882612db3565b604082019050919050565b5f6020820190508181035f830152612e3a81612e01565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612e9b6029836123a4565b9150612ea682612e41565b604082019050919050565b5f6020820190508181035f830152612ec881612e8f565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612f036019836123a4565b9150612f0e82612ecf565b602082019050919050565b5f6020820190508181035f830152612f3081612ef7565b9050919050565b5f612f41826124a2565b9150612f4c836124a2565b9250828201905080821115612f6457612f63612771565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612f9e601a836123a4565b9150612fa982612f6a565b602082019050919050565b5f6020820190508181035f830152612fcb81612f92565b9050919050565b5f612fdc826124a2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361300e5761300d612771565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f61304d6017836123a4565b915061305882613019565b602082019050919050565b5f6020820190508181035f83015261307a81613041565b9050919050565b5f61308b826124a2565b9150613096836124a2565b92508282039050818111156130ae576130ad612771565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6130eb826124a2565b91506130f6836124a2565b925082613106576131056130b4565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61316b6021836123a4565b915061317682613111565b604082019050919050565b5f6020820190508181035f8301526131988161315f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61322b81612467565b82525050565b5f61323c8383613222565b60208301905092915050565b5f602082019050919050565b5f61325e826131f9565b6132688185613203565b935061327383613213565b805f5b838110156132a357815161328a8882613231565b975061329583613248565b925050600181019050613276565b5085935050505092915050565b5f60a0820190506132c35f830188612546565b6132d06020830187612749565b81810360408301526132e28186613254565b90506132f1606083018561261d565b6132fe6080830184612546565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61333c601b836123a4565b915061334782613308565b602082019050919050565b5f6020820190508181035f83015261336981613330565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cf21a65a46c9de5baf8a9796dbb6f14c1d85e1b2c9d8593a29706295d707396b64736f6c63430008170033
Deployed Bytecode
0x60806040526004361061012d575f3560e01c80637d1db4a5116100aa578063bf474bed1161006e578063bf474bed146103ba578063c9567bf9146103e4578063d42e8392146103fa578063dd62ed3e14610422578063ec1f3f631461045e578063ef7680c01461048657610134565b80637d1db4a5146102d65780638da5cb5b146103005780638f9a55c01461032a57806395d89b4114610354578063a9059cbb1461037e57610134565b806323b872dd116100f157806323b872dd14610208578063313ce5671461024457806370a082311461026e578063715018a6146102aa578063751039fc146102c057610134565b806306fdde0314610138578063095ea7b3146101625780630faee56f1461019e578063109daa99146101c857806318160ddd146101de57610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c61049c565b6040516101599190612424565b60405180910390f35b34801561016d575f80fd5b50610188600480360381019061018391906124d5565b6104d9565b604051610195919061252d565b60405180910390f35b3480156101a9575f80fd5b506101b26104f6565b6040516101bf9190612555565b60405180910390f35b3480156101d3575f80fd5b506101dc6104fc565b005b3480156101e9575f80fd5b506101f26105d0565b6040516101ff9190612555565b60405180910390f35b348015610213575f80fd5b5061022e6004803603810190610229919061256e565b6105f4565b60405161023b919061252d565b60405180910390f35b34801561024f575f80fd5b506102586106c8565b60405161026591906125d9565b60405180910390f35b348015610279575f80fd5b50610294600480360381019061028f91906125f2565b6106d0565b6040516102a19190612555565b60405180910390f35b3480156102b5575f80fd5b506102be610716565b005b3480156102cb575f80fd5b506102d4610864565b005b3480156102e1575f80fd5b506102ea610996565b6040516102f79190612555565b60405180910390f35b34801561030b575f80fd5b5061031461099c565b604051610321919061262c565b60405180910390f35b348015610335575f80fd5b5061033e6109c3565b60405161034b9190612555565b60405180910390f35b34801561035f575f80fd5b506103686109c9565b6040516103759190612424565b60405180910390f35b348015610389575f80fd5b506103a4600480360381019061039f91906124d5565b610a06565b6040516103b1919061252d565b60405180910390f35b3480156103c5575f80fd5b506103ce610a23565b6040516103db9190612555565b60405180910390f35b3480156103ef575f80fd5b506103f8610a29565b005b348015610405575f80fd5b50610420600480360381019061041b91906124d5565b610f49565b005b34801561042d575f80fd5b5061044860048036038101906104439190612645565b61111f565b6040516104559190612555565b60405180910390f35b348015610469575f80fd5b50610484600480360381019061047f9190612683565b6111a1565b005b348015610491575f80fd5b5061049a61122d565b005b60606040518060400160405280600981526020017f536c757572727070700000000000000000000000000000000000000000000000815250905090565b5f6104ec6104e56112dc565b84846112e3565b6001905092915050565b60125481565b6105046112dc565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610590576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610587906126f8565b60405180910390fd5b5f600d819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516105c69190612758565b60405180910390a1565b5f6012600a6105df91906128cd565b64e8d4a510006105ef9190612917565b905090565b5f6106008484846114a6565b6106bd8461060c6112dc565b6106b8856040518060600160405280602881526020016133716028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61066f6112dc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e869092919063ffffffff16565b6112e3565b600190509392505050565b5f6012905090565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61071e6112dc565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a1906126f8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61086c6112dc565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ef906126f8565b60405180910390fd5b6012600a61090691906128cd565b64e8d4a510006109169190612917565b600f819055506012600a61092a91906128cd565b64e8d4a5100061093a9190612917565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a61096f91906128cd565b64e8d4a5100061097f9190612917565b60405161098c9190612555565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600581526020017f534c555250000000000000000000000000000000000000000000000000000000815250905090565b5f610a19610a126112dc565b84846114a6565b6001905092915050565b60115481565b610a316112dc565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610abd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab4906126f8565b60405180910390fd5b60148054906101000a900460ff1615610b0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b02906129a2565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ba83060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610b9391906128cd565b64e8d4a51000610ba39190612917565b6112e3565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c12573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c3691906129d4565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cbc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ce091906129d4565b6040518363ffffffff1660e01b8152600401610cfd9291906129ff565b6020604051808303815f875af1158015610d19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d3d91906129d4565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610dc4306106d0565b5f80610dce61099c565b426040518863ffffffff1660e01b8152600401610df096959493929190612a26565b60606040518083038185885af1158015610e0c573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e319190612a99565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610ed1929190612ae9565b6020604051808303815f875af1158015610eed573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f119190612b3a565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b610f516112dc565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd4906126f8565b60405180910390fd5b5f61107b606461106d848673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611020919061262c565b602060405180830381865afa15801561103b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061105f9190612b65565b611ee890919063ffffffff16565b611f5f90919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016110d9929190612be2565b6020604051808303815f875af11580156110f5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111199190612b3a565b50505050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111e16112dc565b73ffffffffffffffffffffffffffffffffffffffff1614611200575f80fd5b600854811115801561121457506009548111155b61121c575f80fd5b806008819055508060098190555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661126d6112dc565b73ffffffffffffffffffffffffffffffffffffffff161461128c575f80fd5b5f611296306106d0565b90505f811180156112b35750601460169054906101000a900460ff165b156112c2576112c181611fa8565b5b5f4790505f8111156112d8576112d781612213565b5b5050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134890612c79565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b690612d07565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114999190612555565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611514576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150b90612d95565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611582576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157990612e23565b60405180910390fd5b5f81116115c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bb90612eb1565b60405180910390fd5b5f6115cd61099c565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561163b575061160b61099c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611694575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611bd65760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611737575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b61173f575f80fd5b5f600e5403611787576117846064611776600a54600e541161176357600654611767565b6008545b85611ee890919063ffffffff16565b611f5f90919063ffffffff16565b90505b5f600e5411156117bc576117b960646117ab600d5485611ee890919063ffffffff16565b611f5f90919063ffffffff16565b90505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611865575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118b8575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156119b057600f54821115611902576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f990612f19565b60405180910390fd5b6010548261190f856106d0565b6119199190612f37565b111561195a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195190612fb4565b60405180910390fd5b6119966064611988600a54600e541161197557600654611979565b6008545b85611ee890919063ffffffff16565b611f5f90919063ffffffff16565b9050600e5f8154809291906119aa90612fd2565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611a3857503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a7c57611a796064611a6b600b54600e5411611a5857600754611a5c565b6009545b85611ee890919063ffffffff16565b611f5f90919063ffffffff16565b90505b5f611a86306106d0565b9050601460159054906101000a900460ff16158015611af1575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611b095750601460169054906101000a900460ff165b8015611b16575060115481115b8015611b255750600c54600e54115b15611bd457601654431115611b3c575f6015819055505b600360155410611b81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7890613063565b60405180910390fd5b611b9e611b9984611b948460125461227b565b61227b565b611fa8565b5f4790505f811115611bb457611bb347612213565b5b60155f815480929190611bc690612fd2565b919050555043601681905550505b505b5f811115611cd557611c2e8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461229390919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ccc9190612555565b60405180910390a35b611d258260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122f090919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611dc8611d7c82846122f090919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461229390919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611e6b84866122f090919063ffffffff16565b604051611e789190612555565b60405180910390a350505050565b5f838311158290611ecd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec49190612424565b60405180910390fd5b505f8385611edb9190613081565b9050809150509392505050565b5f808303611ef8575f9050611f59565b5f8284611f059190612917565b9050828482611f1491906130e1565b14611f54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4b90613181565b60405180910390fd5b809150505b92915050565b5f611fa083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612339565b905092915050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611fdf57611fde61319f565b5b60405190808252806020026020018201604052801561200d5781602001602082028036833780820191505090505b50905030815f81518110612024576120236131cc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120ec91906129d4565b81600181518110612100576120ff6131cc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506121663060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112e3565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016121c89594939291906132b0565b5f604051808303815f87803b1580156121df575f80fd5b505af11580156121f1573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612277573d5f803e3d5ffd5b5050565b5f818311612289578261228b565b815b905092915050565b5f8082846122a19190612f37565b9050838110156122e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122dd90613352565b60405180910390fd5b8091505092915050565b5f61233183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e86565b905092915050565b5f808311829061237f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123769190612424565b60405180910390fd5b505f838561238d91906130e1565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156123d15780820151818401526020810190506123b6565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6123f68261239a565b61240081856123a4565b93506124108185602086016123b4565b612419816123dc565b840191505092915050565b5f6020820190508181035f83015261243c81846123ec565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61247182612448565b9050919050565b61248181612467565b811461248b575f80fd5b50565b5f8135905061249c81612478565b92915050565b5f819050919050565b6124b4816124a2565b81146124be575f80fd5b50565b5f813590506124cf816124ab565b92915050565b5f80604083850312156124eb576124ea612444565b5b5f6124f88582860161248e565b9250506020612509858286016124c1565b9150509250929050565b5f8115159050919050565b61252781612513565b82525050565b5f6020820190506125405f83018461251e565b92915050565b61254f816124a2565b82525050565b5f6020820190506125685f830184612546565b92915050565b5f805f6060848603121561258557612584612444565b5b5f6125928682870161248e565b93505060206125a38682870161248e565b92505060406125b4868287016124c1565b9150509250925092565b5f60ff82169050919050565b6125d3816125be565b82525050565b5f6020820190506125ec5f8301846125ca565b92915050565b5f6020828403121561260757612606612444565b5b5f6126148482850161248e565b91505092915050565b61262681612467565b82525050565b5f60208201905061263f5f83018461261d565b92915050565b5f806040838503121561265b5761265a612444565b5b5f6126688582860161248e565b92505060206126798582860161248e565b9150509250929050565b5f6020828403121561269857612697612444565b5b5f6126a5848285016124c1565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6126e26020836123a4565b91506126ed826126ae565b602082019050919050565b5f6020820190508181035f83015261270f816126d6565b9050919050565b5f819050919050565b5f819050919050565b5f61274261273d61273884612716565b61271f565b6124a2565b9050919050565b61275281612728565b82525050565b5f60208201905061276b5f830184612749565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156127f3578086048111156127cf576127ce612771565b5b60018516156127de5780820291505b80810290506127ec8561279e565b94506127b3565b94509492505050565b5f8261280b57600190506128c6565b81612818575f90506128c6565b816001811461282e576002811461283857612867565b60019150506128c6565b60ff84111561284a57612849612771565b5b8360020a91508482111561286157612860612771565b5b506128c6565b5060208310610133831016604e8410600b841016171561289c5782820a90508381111561289757612896612771565b5b6128c6565b6128a984848460016127aa565b925090508184048111156128c0576128bf612771565b5b81810290505b9392505050565b5f6128d7826124a2565b91506128e2836125be565b925061290f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846127fc565b905092915050565b5f612921826124a2565b915061292c836124a2565b925082820261293a816124a2565b9150828204841483151761295157612950612771565b5b5092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61298c6017836123a4565b915061299782612958565b602082019050919050565b5f6020820190508181035f8301526129b981612980565b9050919050565b5f815190506129ce81612478565b92915050565b5f602082840312156129e9576129e8612444565b5b5f6129f6848285016129c0565b91505092915050565b5f604082019050612a125f83018561261d565b612a1f602083018461261d565b9392505050565b5f60c082019050612a395f83018961261d565b612a466020830188612546565b612a536040830187612749565b612a606060830186612749565b612a6d608083018561261d565b612a7a60a0830184612546565b979650505050505050565b5f81519050612a93816124ab565b92915050565b5f805f60608486031215612ab057612aaf612444565b5b5f612abd86828701612a85565b9350506020612ace86828701612a85565b9250506040612adf86828701612a85565b9150509250925092565b5f604082019050612afc5f83018561261d565b612b096020830184612546565b9392505050565b612b1981612513565b8114612b23575f80fd5b50565b5f81519050612b3481612b10565b92915050565b5f60208284031215612b4f57612b4e612444565b5b5f612b5c84828501612b26565b91505092915050565b5f60208284031215612b7a57612b79612444565b5b5f612b8784828501612a85565b91505092915050565b5f612baa612ba5612ba084612448565b61271f565b612448565b9050919050565b5f612bbb82612b90565b9050919050565b5f612bcc82612bb1565b9050919050565b612bdc81612bc2565b82525050565b5f604082019050612bf55f830185612bd3565b612c026020830184612546565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612c636024836123a4565b9150612c6e82612c09565b604082019050919050565b5f6020820190508181035f830152612c9081612c57565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612cf16022836123a4565b9150612cfc82612c97565b604082019050919050565b5f6020820190508181035f830152612d1e81612ce5565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612d7f6025836123a4565b9150612d8a82612d25565b604082019050919050565b5f6020820190508181035f830152612dac81612d73565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612e0d6023836123a4565b9150612e1882612db3565b604082019050919050565b5f6020820190508181035f830152612e3a81612e01565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612e9b6029836123a4565b9150612ea682612e41565b604082019050919050565b5f6020820190508181035f830152612ec881612e8f565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612f036019836123a4565b9150612f0e82612ecf565b602082019050919050565b5f6020820190508181035f830152612f3081612ef7565b9050919050565b5f612f41826124a2565b9150612f4c836124a2565b9250828201905080821115612f6457612f63612771565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612f9e601a836123a4565b9150612fa982612f6a565b602082019050919050565b5f6020820190508181035f830152612fcb81612f92565b9050919050565b5f612fdc826124a2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361300e5761300d612771565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f61304d6017836123a4565b915061305882613019565b602082019050919050565b5f6020820190508181035f83015261307a81613041565b9050919050565b5f61308b826124a2565b9150613096836124a2565b92508282039050818111156130ae576130ad612771565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6130eb826124a2565b91506130f6836124a2565b925082613106576131056130b4565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61316b6021836123a4565b915061317682613111565b604082019050919050565b5f6020820190508181035f8301526131988161315f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61322b81612467565b82525050565b5f61323c8383613222565b60208301905092915050565b5f602082019050919050565b5f61325e826131f9565b6132688185613203565b935061327383613213565b805f5b838110156132a357815161328a8882613231565b975061329583613248565b925050600181019050613276565b5085935050505092915050565b5f60a0820190506132c35f830188612546565b6132d06020830187612749565b81810360408301526132e28186613254565b90506132f1606083018561261d565b6132fe6080830184612546565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61333c601b836123a4565b915061334782613308565b602082019050919050565b5f6020820190508181035f83015261336981613330565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cf21a65a46c9de5baf8a9796dbb6f14c1d85e1b2c9d8593a29706295d707396b64736f6c63430008170033
Deployed Bytecode Sourcemap
3664:8680:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5657:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6490:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4809:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10565:119;;;;;;;;;;;;;:::i;:::-;;5934:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6659:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5843:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6037:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2745:148;;;;;;;;;;;;;:::i;:::-;;10398:159;;;;;;;;;;;;;:::i;:::-;;4611:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2531:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4675:59;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5748:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6164:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4741:61;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10792:671;;;;;;;;;;;;;:::i;:::-;;11740:231;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6339:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11477:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11979:362;;;;;;;;;;;;;:::i;:::-;;5657:83;5694:13;5727:5;;;;;;;;;;;;;;;;;5720:12;;5657:83;:::o;6490:161::-;6565:4;6582:39;6591:12;:10;:12::i;:::-;6605:7;6614:6;6582:8;:39::i;:::-;6639:4;6632:11;;6490:161;;;;:::o;4809:55::-;;;;:::o;10565:119::-;2668:12;:10;:12::i;:::-;2658:22;;:6;;;;;;;;;;:22;;;2650:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10638:1:::1;10623:12;:16;;;;10655:21;10674:1;10655:21;;;;;;:::i;:::-;;;;;;;;10565:119::o:0;5934:95::-;5987:7;4419:2;4479;:13;;;;:::i;:::-;4463;:29;;;;:::i;:::-;6007:14;;5934:95;:::o;6659:313::-;6757:4;6774:36;6784:6;6792:9;6803:6;6774:9;:36::i;:::-;6821:121;6830:6;6838:12;:10;:12::i;:::-;6852:89;6890:6;6852:89;;;;;;;;;;;;;;;;;:11;:19;6864:6;6852:19;;;;;;;;;;;;;;;:33;6872:12;:10;:12::i;:::-;6852:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6821:8;:121::i;:::-;6960:4;6953:11;;6659:313;;;;;:::o;5843:83::-;5884:5;4419:2;5902:16;;5843:83;:::o;6037:119::-;6103:7;6130:9;:18;6140:7;6130:18;;;;;;;;;;;;;;;;6123:25;;6037:119;;;:::o;2745:148::-;2668:12;:10;:12::i;:::-;2658:22;;:6;;;;;;;;;;:22;;;2650:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2852:1:::1;2815:40;;2836:6;::::0;::::1;;;;;;;;2815:40;;;;;;;;;;;;2883:1;2866:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2745:148::o:0;10398:159::-;2668:12;:10;:12::i;:::-;2658:22;;:6;;;;;;;;;;:22;;;2650:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4419:2:::1;4479;:13;;;;:::i;:::-;4463;:29;;;;:::i;:::-;10451:12;:22;;;;4419:2;4479;:13;;;;:::i;:::-;4463;:29;;;;:::i;:::-;10484:14;:22;;;;10522:27;4419:2;4479;:13;;;;:::i;:::-;4463;:29;;;;:::i;:::-;10522:27;;;;;;:::i;:::-;;;;;;;;10398:159::o:0;4611:57::-;;;;:::o;2531:79::-;2569:7;2596:6;;;;;;;;;;;2589:13;;2531:79;:::o;4675:59::-;;;;:::o;5748:87::-;5787:13;5820:7;;;;;;;;;;;;;;;;;5813:14;;5748:87;:::o;6164:167::-;6242:4;6259:42;6269:12;:10;:12::i;:::-;6283:9;6294:6;6259:9;:42::i;:::-;6319:4;6312:11;;6164:167;;;;:::o;4741:61::-;;;;:::o;10792:671::-;2668:12;:10;:12::i;:::-;2658:22;;:6;;;;;;;;;;:22;;;2650:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10856:11:::1;::::0;::::1;;;;;;;;10855:12;10847:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10942:42;10905:15;;:80;;;;;;;;;;;;;;;;;;10996:58;11013:4;11028:15;;;;;;;;;;;4419:2;4479;:13;;;;:::i;:::-;4463;:29;;;;:::i;:::-;10996:8;:58::i;:::-;11099:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11081:55;;;11145:4;11152:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11081:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11065:13;;:110;;;;;;;;;;;;;;;;;;11186:15;;;;;;;;;;;:31;;;11225:21;11256:4;11262:24;11280:4;11262:9;:24::i;:::-;11287:1;11289::::0;11291:7:::1;:5;:7::i;:::-;11299:15;11186:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11333:13;;;;;;;;;;;11326:29;;;11364:15;;;;;;;;;;;11382:14;11326:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11422:4;11408:11;;:18;;;;;;;;;;;;;;;;;;11451:4;11437:11;::::0;:18:::1;;;;;;;;;;;;;;;;;;10792:671::o:0;11740:231::-;2668:12;:10;:12::i;:::-;2658:22;;:6;;;;;;;;;;:22;;;2650:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11825:15:::1;11843:63;11902:3;11843:54;11889:7;11850:8;11843:26;;;11878:4;11843:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;;:54;;;;:::i;:::-;:58;;:63;;;;:::i;:::-;11825:81;;11924:8;11917:25;;;11943:10;;;;;;;;;;;11955:7;11917:46;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11814:157;11740:231:::0;;:::o;6339:143::-;6420:7;6447:11;:18;6459:5;6447:18;;;;;;;;;;;;;;;:27;6466:7;6447:27;;;;;;;;;;;;;;;;6440:34;;6339:143;;;;:::o;11477:218::-;11552:10;;;;;;;;;;;11538:24;;:12;:10;:12::i;:::-;:24;;;11530:33;;;;;;11589:12;;11580:7;:21;;:47;;;;;11614:13;;11605:7;:22;;11580:47;11572:56;;;;;;11650:7;11637:12;:20;;;;11680:7;11666:13;:21;;;;11477:218;:::o;11979:362::-;12042:10;;;;;;;;;;;12028:24;;:12;:10;:12::i;:::-;:24;;;12020:33;;;;;;12064:20;12085:24;12103:4;12085:9;:24::i;:::-;12064:45;;12136:1;12123:12;:14;:29;;;;;12141:11;;;;;;;;;;;12123:29;12120:88;;;12166:30;12183:12;12166:16;:30::i;:::-;12120:88;12218:18;12237:21;12218:40;;12283:1;12272:10;:12;12269:65;;;12298:24;12311:10;12298:12;:24::i;:::-;12269:65;12009:332;;11979:362::o;286:98::-;339:7;366:10;359:17;;286:98;:::o;6980:335::-;7090:1;7073:19;;:5;:19;;;7065:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7171:1;7152:21;;:7;:21;;;7144:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7253:6;7223:11;:18;7235:5;7223:18;;;;;;;;;;;;;;;:27;7242:7;7223:27;;;;;;;;;;;;;;;:36;;;;7291:7;7275:32;;7284:5;7275:32;;;7300:6;7275:32;;;;;;:::i;:::-;;;;;;;;6980:335;;;:::o;7323:2468::-;7427:1;7411:18;;:4;:18;;;7403:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7504:1;7490:16;;:2;:16;;;7482:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7574:1;7565:6;:10;7557:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7632:17;7674:7;:5;:7::i;:::-;7666:15;;:4;:15;;;;:32;;;;;7691:7;:5;:7::i;:::-;7685:13;;:2;:13;;;;7666:32;:52;;;;;7708:10;;;;;;;;;;;7702:16;;:2;:16;;;;7666:52;7662:1773;;;7744:4;:10;7749:4;7744:10;;;;;;;;;;;;;;;;;;;;;;;;;7743:11;:24;;;;;7759:4;:8;7764:2;7759:8;;;;;;;;;;;;;;;;;;;;;;;;;7758:9;7743:24;7735:33;;;;;;7799:1;7788:9;;:12;7785:139;;7832:76;7904:3;7832:67;7854:15;;7844:9;;:25;7843:55;;7884:14;;7843:55;;;7871:12;;7843:55;7832:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;7820:88;;7785:139;7951:1;7941:9;;:11;7938:95;;;7984:33;8013:3;7984:24;7995:12;;7984:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;7972:45;;7938:95;8061:13;;;;;;;;;;;8053:21;;:4;:21;;;:55;;;;;8092:15;;;;;;;;;;;8078:30;;:2;:30;;;;8053:55;:83;;;;;8114:18;:22;8133:2;8114:22;;;;;;;;;;;;;;;;;;;;;;;;;8112:24;8053:83;8049:420;;;8176:12;;8166:6;:22;;8158:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8271:14;;8261:6;8245:13;8255:2;8245:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8237:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8347:76;8419:3;8347:67;8369:15;;8359:9;;:25;8358:55;;8399:14;;8358:55;;;8386:12;;8358:55;8347:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;8335:88;;8442:9;;:11;;;;;;;;;:::i;:::-;;;;;;8049:420;8494:13;;;;;;;;;;;8488:19;;:2;:19;;;:43;;;;;8526:4;8511:20;;:4;:20;;;;8488:43;8485:174;;;8564:79;8639:3;8564:70;8586:16;;8576:9;;:26;8575:58;;8618:15;;8575:58;;;8604:13;;8575:58;8564:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;8552:91;;8485:174;8675:28;8706:24;8724:4;8706:9;:24::i;:::-;8675:55;;8750:6;;;;;;;;;;;8749:7;:30;;;;;8766:13;;;;;;;;;;;8760:19;;:2;:19;;;8749:30;:45;;;;;8783:11;;;;;;;;;;;8749:45;:89;;;;;8821:17;;8798:20;:40;8749:89;:123;;;;;8854:18;;8842:9;;:30;8749:123;8745:679;;;8912:13;;8897:12;:28;8893:90;;;8962:1;8950:9;:13;;;;8893:90;9021:1;9009:9;;:13;9001:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;9069:69;9086:51;9090:6;9098:38;9102:20;9124:11;;9098:3;:38::i;:::-;9086:3;:51::i;:::-;9069:16;:69::i;:::-;9157:26;9186:21;9157:50;;9251:1;9230:18;:22;9226:106;;;9277:35;9290:21;9277:12;:35::i;:::-;9226:106;9350:9;;:11;;;;;;;;;:::i;:::-;;;;;;9396:12;9380:13;:28;;;;8874:550;8745:679;7720:1715;7662:1773;9460:1;9450:9;:11;9447:161;;;9500:39;9529:9;9500;:24;9518:4;9500:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9475:9;:24;9493:4;9475:24;;;;;;;;;;;;;;;:64;;;;9580:4;9557:39;;9566:4;9557:39;;;9586:9;9557:39;;;;;;:::i;:::-;;;;;;;;9447:161;9634:27;9654:6;9634:9;:15;9644:4;9634:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9618:9;:15;9628:4;9618:15;;;;;;;;;;;;;;;:43;;;;9686:40;9704:21;9715:9;9704:6;:10;;:21;;;;:::i;:::-;9686:9;:13;9696:2;9686:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9672:9;:13;9682:2;9672:13;;;;;;;;;;;;;;;:54;;;;9757:2;9742:41;;9751:4;9742:41;;;9761:21;9772:9;9761:6;:10;;:21;;;;:::i;:::-;9742:41;;;;;;:::i;:::-;;;;;;;;7392:2399;7323:2468;;;:::o;1423:190::-;1509:7;1542:1;1537;:6;;1545:12;1529:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1569:9;1585:1;1581;:5;;;;:::i;:::-;1569:17;;1604:1;1597:8;;;1423:190;;;;;:::o;1621:246::-;1679:7;1708:1;1703;:6;1699:47;;1733:1;1726:8;;;;1699:47;1756:9;1772:1;1768;:5;;;;:::i;:::-;1756:17;;1801:1;1796;1792;:5;;;;:::i;:::-;:10;1784:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1858:1;1851:8;;;1621:246;;;;;:::o;1875:132::-;1933:7;1960:39;1964:1;1967;1960:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1953:46;;1875:132;;;;:::o;9907:483::-;5275:4;5266:6;;:13;;;;;;;;;;;;;;;;;;9985:21:::1;10023:1;10009:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9985:40;;10054:4;10036;10041:1;10036:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10080:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10070:4;10075:1;10070:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10113:62;10130:4;10145:15;;;;;;;;;;;10163:11;10113:8;:62::i;:::-;10186:15;;;;;;;;;;;:66;;;10267:11;10293:1;10309:4;10336;10356:15;10186:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9974:416;5311:5:::0;5302:6;;:14;;;;;;;;;;;;;;;;;;9907:483;:::o;10692:92::-;10749:10;;;;;;;;;;;:19;;:27;10769:6;10749:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10692:92;:::o;9801:98::-;9858:7;9885:1;9883;:3;9882:9;;9890:1;9882:9;;;9888:1;9882:9;9875:16;;9801:98;;;;:::o;1092:179::-;1150:7;1170:9;1186:1;1182;:5;;;;:::i;:::-;1170:17;;1211:1;1206;:6;;1198:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1262:1;1255:8;;;1092:179;;;;:::o;1279:136::-;1337:7;1364:43;1368:1;1371;1364:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1357:50;;1279:136;;;;:::o;2015:189::-;2101:7;2133:1;2129;:5;2136:12;2121:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2160:9;2176:1;2172;:5;;;;:::i;:::-;2160:17;;2195:1;2188:8;;;2015: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:329::-;6079:6;6128:2;6116:9;6107:7;6103:23;6099:32;6096:119;;;6134:79;;:::i;:::-;6096:119;6254:1;6279:53;6324:7;6315:6;6304:9;6300:22;6279:53;:::i;:::-;6269:63;;6225:117;6020:329;;;;:::o;6355:182::-;6495:34;6491:1;6483:6;6479:14;6472:58;6355:182;:::o;6543:366::-;6685:3;6706:67;6770:2;6765:3;6706:67;:::i;:::-;6699:74;;6782:93;6871:3;6782:93;:::i;:::-;6900:2;6895:3;6891:12;6884:19;;6543:366;;;:::o;6915:419::-;7081:4;7119:2;7108:9;7104:18;7096:26;;7168:9;7162:4;7158:20;7154:1;7143:9;7139:17;7132:47;7196:131;7322:4;7196:131;:::i;:::-;7188:139;;6915:419;;;:::o;7340:85::-;7385:7;7414:5;7403:16;;7340:85;;;:::o;7431:60::-;7459:3;7480:5;7473:12;;7431:60;;;:::o;7497:158::-;7555:9;7588:61;7606:42;7615:32;7641:5;7615:32;:::i;:::-;7606:42;:::i;:::-;7588:61;:::i;:::-;7575:74;;7497:158;;;:::o;7661:147::-;7756:45;7795:5;7756:45;:::i;:::-;7751:3;7744:58;7661:147;;:::o;7814:238::-;7915:4;7953:2;7942:9;7938:18;7930:26;;7966:79;8042:1;8031:9;8027:17;8018:6;7966:79;:::i;:::-;7814:238;;;;:::o;8058:180::-;8106:77;8103:1;8096:88;8203:4;8200:1;8193:15;8227:4;8224:1;8217:15;8244:102;8286:8;8333:5;8330:1;8326:13;8305:34;;8244:102;;;:::o;8352:848::-;8413:5;8420:4;8444:6;8435:15;;8468:5;8459:14;;8482:712;8503:1;8493:8;8490:15;8482:712;;;8598:4;8593:3;8589:14;8583:4;8580:24;8577:50;;;8607:18;;:::i;:::-;8577:50;8657:1;8647:8;8643:16;8640:451;;;9072:4;9065:5;9061:16;9052:25;;8640:451;9122:4;9116;9112:15;9104:23;;9152:32;9175:8;9152:32;:::i;:::-;9140:44;;8482:712;;;8352:848;;;;;;;:::o;9206:1073::-;9260:5;9451:8;9441:40;;9472:1;9463:10;;9474:5;;9441:40;9500:4;9490:36;;9517:1;9508:10;;9519:5;;9490:36;9586:4;9634:1;9629:27;;;;9670:1;9665:191;;;;9579:277;;9629:27;9647:1;9638:10;;9649:5;;;9665:191;9710:3;9700:8;9697:17;9694:43;;;9717:18;;:::i;:::-;9694:43;9766:8;9763:1;9759:16;9750:25;;9801:3;9794:5;9791:14;9788:40;;;9808:18;;:::i;:::-;9788:40;9841:5;;;9579:277;;9965:2;9955:8;9952:16;9946:3;9940:4;9937:13;9933:36;9915:2;9905:8;9902:16;9897:2;9891:4;9888:12;9884:35;9868:111;9865:246;;;10021:8;10015:4;10011:19;10002:28;;10056:3;10049:5;10046:14;10043:40;;;10063:18;;:::i;:::-;10043:40;10096:5;;9865:246;10136:42;10174:3;10164:8;10158:4;10155:1;10136:42;:::i;:::-;10121:57;;;;10210:4;10205:3;10201:14;10194:5;10191:25;10188:51;;;10219:18;;:::i;:::-;10188:51;10268:4;10261:5;10257:16;10248:25;;9206:1073;;;;;;:::o;10285:281::-;10343:5;10367:23;10385:4;10367:23;:::i;:::-;10359:31;;10411:25;10427:8;10411:25;:::i;:::-;10399:37;;10455:104;10492:66;10482:8;10476:4;10455:104;:::i;:::-;10446:113;;10285:281;;;;:::o;10572:410::-;10612:7;10635:20;10653:1;10635:20;:::i;:::-;10630:25;;10669:20;10687:1;10669:20;:::i;:::-;10664:25;;10724:1;10721;10717:9;10746:30;10764:11;10746:30;:::i;:::-;10735:41;;10925:1;10916:7;10912:15;10909:1;10906:22;10886:1;10879:9;10859:83;10836:139;;10955:18;;:::i;:::-;10836:139;10620:362;10572:410;;;;:::o;10988:173::-;11128:25;11124:1;11116:6;11112:14;11105:49;10988:173;:::o;11167:366::-;11309:3;11330:67;11394:2;11389:3;11330:67;:::i;:::-;11323:74;;11406:93;11495:3;11406:93;:::i;:::-;11524:2;11519:3;11515:12;11508:19;;11167:366;;;:::o;11539:419::-;11705:4;11743:2;11732:9;11728:18;11720:26;;11792:9;11786:4;11782:20;11778:1;11767:9;11763:17;11756:47;11820:131;11946:4;11820:131;:::i;:::-;11812:139;;11539:419;;;:::o;11964:143::-;12021:5;12052:6;12046:13;12037:22;;12068:33;12095:5;12068:33;:::i;:::-;11964:143;;;;:::o;12113:351::-;12183:6;12232:2;12220:9;12211:7;12207:23;12203:32;12200:119;;;12238:79;;:::i;:::-;12200:119;12358:1;12383:64;12439:7;12430:6;12419:9;12415:22;12383:64;:::i;:::-;12373:74;;12329:128;12113:351;;;;:::o;12470:332::-;12591:4;12629:2;12618:9;12614:18;12606:26;;12642:71;12710:1;12699:9;12695:17;12686:6;12642:71;:::i;:::-;12723:72;12791:2;12780:9;12776:18;12767:6;12723:72;:::i;:::-;12470:332;;;;;:::o;12808:807::-;13057:4;13095:3;13084:9;13080:19;13072:27;;13109:71;13177:1;13166:9;13162:17;13153:6;13109:71;:::i;:::-;13190:72;13258:2;13247:9;13243:18;13234:6;13190:72;:::i;:::-;13272:80;13348:2;13337:9;13333:18;13324:6;13272:80;:::i;:::-;13362;13438:2;13427:9;13423:18;13414:6;13362:80;:::i;:::-;13452:73;13520:3;13509:9;13505:19;13496:6;13452:73;:::i;:::-;13535;13603:3;13592:9;13588:19;13579:6;13535:73;:::i;:::-;12808:807;;;;;;;;;:::o;13621:143::-;13678:5;13709:6;13703:13;13694:22;;13725:33;13752:5;13725:33;:::i;:::-;13621:143;;;;:::o;13770:663::-;13858:6;13866;13874;13923:2;13911:9;13902:7;13898:23;13894:32;13891:119;;;13929:79;;:::i;:::-;13891:119;14049:1;14074:64;14130:7;14121:6;14110:9;14106:22;14074:64;:::i;:::-;14064:74;;14020:128;14187:2;14213:64;14269:7;14260:6;14249:9;14245:22;14213:64;:::i;:::-;14203:74;;14158:129;14326:2;14352:64;14408:7;14399:6;14388:9;14384:22;14352:64;:::i;:::-;14342:74;;14297:129;13770:663;;;;;:::o;14439:332::-;14560:4;14598:2;14587:9;14583:18;14575:26;;14611:71;14679:1;14668:9;14664:17;14655:6;14611:71;:::i;:::-;14692:72;14760:2;14749:9;14745:18;14736:6;14692:72;:::i;:::-;14439:332;;;;;:::o;14777:116::-;14847:21;14862:5;14847:21;:::i;:::-;14840:5;14837:32;14827:60;;14883:1;14880;14873:12;14827:60;14777:116;:::o;14899:137::-;14953:5;14984:6;14978:13;14969:22;;15000:30;15024:5;15000:30;:::i;:::-;14899:137;;;;:::o;15042:345::-;15109:6;15158:2;15146:9;15137:7;15133:23;15129:32;15126:119;;;15164:79;;:::i;:::-;15126:119;15284:1;15309:61;15362:7;15353:6;15342:9;15338:22;15309:61;:::i;:::-;15299:71;;15255:125;15042:345;;;;:::o;15393:351::-;15463:6;15512:2;15500:9;15491:7;15487:23;15483:32;15480:119;;;15518:79;;:::i;:::-;15480:119;15638:1;15663:64;15719:7;15710:6;15699:9;15695:22;15663:64;:::i;:::-;15653:74;;15609:128;15393:351;;;;:::o;15750:142::-;15800:9;15833:53;15851:34;15860:24;15878:5;15860:24;:::i;:::-;15851:34;:::i;:::-;15833:53;:::i;:::-;15820:66;;15750:142;;;:::o;15898:126::-;15948:9;15981:37;16012:5;15981:37;:::i;:::-;15968:50;;15898:126;;;:::o;16030:134::-;16088:9;16121:37;16152:5;16121:37;:::i;:::-;16108:50;;16030:134;;;:::o;16170:147::-;16265:45;16304:5;16265:45;:::i;:::-;16260:3;16253:58;16170:147;;:::o;16323:348::-;16452:4;16490:2;16479:9;16475:18;16467:26;;16503:79;16579:1;16568:9;16564:17;16555:6;16503:79;:::i;:::-;16592:72;16660:2;16649:9;16645:18;16636:6;16592:72;:::i;:::-;16323:348;;;;;:::o;16677:223::-;16817:34;16813:1;16805:6;16801:14;16794:58;16886:6;16881:2;16873:6;16869:15;16862:31;16677:223;:::o;16906:366::-;17048:3;17069:67;17133:2;17128:3;17069:67;:::i;:::-;17062:74;;17145:93;17234:3;17145:93;:::i;:::-;17263:2;17258:3;17254:12;17247:19;;16906:366;;;:::o;17278:419::-;17444:4;17482:2;17471:9;17467:18;17459:26;;17531:9;17525:4;17521:20;17517:1;17506:9;17502:17;17495:47;17559:131;17685:4;17559:131;:::i;:::-;17551:139;;17278:419;;;:::o;17703:221::-;17843:34;17839:1;17831:6;17827:14;17820:58;17912:4;17907:2;17899:6;17895:15;17888:29;17703:221;:::o;17930:366::-;18072:3;18093:67;18157:2;18152:3;18093:67;:::i;:::-;18086:74;;18169:93;18258:3;18169:93;:::i;:::-;18287:2;18282:3;18278:12;18271:19;;17930:366;;;:::o;18302:419::-;18468:4;18506:2;18495:9;18491:18;18483:26;;18555:9;18549:4;18545:20;18541:1;18530:9;18526:17;18519:47;18583:131;18709:4;18583:131;:::i;:::-;18575:139;;18302:419;;;:::o;18727:224::-;18867:34;18863:1;18855:6;18851:14;18844:58;18936:7;18931:2;18923:6;18919:15;18912:32;18727:224;:::o;18957:366::-;19099:3;19120:67;19184:2;19179:3;19120:67;:::i;:::-;19113:74;;19196:93;19285:3;19196:93;:::i;:::-;19314:2;19309:3;19305:12;19298:19;;18957:366;;;:::o;19329:419::-;19495:4;19533:2;19522:9;19518:18;19510:26;;19582:9;19576:4;19572:20;19568:1;19557:9;19553:17;19546:47;19610:131;19736:4;19610:131;:::i;:::-;19602:139;;19329:419;;;:::o;19754:222::-;19894:34;19890:1;19882:6;19878:14;19871:58;19963:5;19958:2;19950:6;19946:15;19939:30;19754:222;:::o;19982:366::-;20124:3;20145:67;20209:2;20204:3;20145:67;:::i;:::-;20138:74;;20221:93;20310:3;20221:93;:::i;:::-;20339:2;20334:3;20330:12;20323:19;;19982:366;;;:::o;20354:419::-;20520:4;20558:2;20547:9;20543:18;20535:26;;20607:9;20601:4;20597:20;20593:1;20582:9;20578:17;20571:47;20635:131;20761:4;20635:131;:::i;:::-;20627:139;;20354:419;;;:::o;20779:228::-;20919:34;20915:1;20907:6;20903:14;20896:58;20988:11;20983:2;20975:6;20971:15;20964:36;20779:228;:::o;21013:366::-;21155:3;21176:67;21240:2;21235:3;21176:67;:::i;:::-;21169:74;;21252:93;21341:3;21252:93;:::i;:::-;21370:2;21365:3;21361:12;21354:19;;21013:366;;;:::o;21385:419::-;21551:4;21589:2;21578:9;21574:18;21566:26;;21638:9;21632:4;21628:20;21624:1;21613:9;21609:17;21602:47;21666:131;21792:4;21666:131;:::i;:::-;21658:139;;21385:419;;;:::o;21810:175::-;21950:27;21946:1;21938:6;21934:14;21927:51;21810:175;:::o;21991:366::-;22133:3;22154:67;22218:2;22213:3;22154:67;:::i;:::-;22147:74;;22230:93;22319:3;22230:93;:::i;:::-;22348:2;22343:3;22339:12;22332:19;;21991:366;;;:::o;22363:419::-;22529:4;22567:2;22556:9;22552:18;22544:26;;22616:9;22610:4;22606:20;22602:1;22591:9;22587:17;22580:47;22644:131;22770:4;22644:131;:::i;:::-;22636:139;;22363:419;;;:::o;22788:191::-;22828:3;22847:20;22865:1;22847:20;:::i;:::-;22842:25;;22881:20;22899:1;22881:20;:::i;:::-;22876:25;;22924:1;22921;22917:9;22910:16;;22945:3;22942:1;22939:10;22936:36;;;22952:18;;:::i;:::-;22936:36;22788:191;;;;:::o;22985:176::-;23125:28;23121:1;23113:6;23109:14;23102:52;22985:176;:::o;23167:366::-;23309:3;23330:67;23394:2;23389:3;23330:67;:::i;:::-;23323:74;;23406:93;23495:3;23406:93;:::i;:::-;23524:2;23519:3;23515:12;23508:19;;23167:366;;;:::o;23539:419::-;23705:4;23743:2;23732:9;23728:18;23720:26;;23792:9;23786:4;23782:20;23778:1;23767:9;23763:17;23756:47;23820:131;23946:4;23820:131;:::i;:::-;23812:139;;23539:419;;;:::o;23964:233::-;24003:3;24026:24;24044:5;24026:24;:::i;:::-;24017:33;;24072:66;24065:5;24062:77;24059:103;;24142:18;;:::i;:::-;24059:103;24189:1;24182:5;24178:13;24171:20;;23964:233;;;:::o;24203:173::-;24343:25;24339:1;24331:6;24327:14;24320:49;24203:173;:::o;24382:366::-;24524:3;24545:67;24609:2;24604:3;24545:67;:::i;:::-;24538:74;;24621:93;24710:3;24621:93;:::i;:::-;24739:2;24734:3;24730:12;24723:19;;24382:366;;;:::o;24754:419::-;24920:4;24958:2;24947:9;24943:18;24935:26;;25007:9;25001:4;24997:20;24993:1;24982:9;24978:17;24971:47;25035:131;25161:4;25035:131;:::i;:::-;25027:139;;24754:419;;;:::o;25179:194::-;25219:4;25239:20;25257:1;25239:20;:::i;:::-;25234:25;;25273:20;25291:1;25273:20;:::i;:::-;25268:25;;25317:1;25314;25310:9;25302:17;;25341:1;25335:4;25332:11;25329:37;;;25346:18;;:::i;:::-;25329:37;25179:194;;;;:::o;25379:180::-;25427:77;25424:1;25417:88;25524:4;25521:1;25514:15;25548:4;25545:1;25538:15;25565:185;25605:1;25622:20;25640:1;25622:20;:::i;:::-;25617:25;;25656:20;25674:1;25656:20;:::i;:::-;25651:25;;25695:1;25685:35;;25700:18;;:::i;:::-;25685:35;25742:1;25739;25735:9;25730:14;;25565:185;;;;:::o;25756:220::-;25896:34;25892:1;25884:6;25880:14;25873:58;25965:3;25960:2;25952:6;25948:15;25941:28;25756:220;:::o;25982:366::-;26124:3;26145:67;26209:2;26204:3;26145:67;:::i;:::-;26138:74;;26221:93;26310:3;26221:93;:::i;:::-;26339:2;26334:3;26330:12;26323:19;;25982:366;;;:::o;26354:419::-;26520:4;26558:2;26547:9;26543:18;26535:26;;26607:9;26601:4;26597:20;26593:1;26582:9;26578:17;26571:47;26635:131;26761:4;26635:131;:::i;:::-;26627:139;;26354:419;;;:::o;26779:180::-;26827:77;26824:1;26817:88;26924:4;26921:1;26914:15;26948:4;26945:1;26938:15;26965:180;27013:77;27010:1;27003:88;27110:4;27107:1;27100:15;27134:4;27131:1;27124:15;27151:114;27218:6;27252:5;27246:12;27236:22;;27151:114;;;:::o;27271:184::-;27370:11;27404:6;27399:3;27392:19;27444:4;27439:3;27435:14;27420:29;;27271:184;;;;:::o;27461:132::-;27528:4;27551:3;27543:11;;27581:4;27576:3;27572:14;27564:22;;27461:132;;;:::o;27599:108::-;27676:24;27694:5;27676:24;:::i;:::-;27671:3;27664:37;27599:108;;:::o;27713:179::-;27782:10;27803:46;27845:3;27837:6;27803:46;:::i;:::-;27881:4;27876:3;27872:14;27858:28;;27713:179;;;;:::o;27898:113::-;27968:4;28000;27995:3;27991:14;27983:22;;27898:113;;;:::o;28047:732::-;28166:3;28195:54;28243:5;28195:54;:::i;:::-;28265:86;28344:6;28339:3;28265:86;:::i;:::-;28258:93;;28375:56;28425:5;28375:56;:::i;:::-;28454:7;28485:1;28470:284;28495:6;28492:1;28489:13;28470:284;;;28571:6;28565:13;28598:63;28657:3;28642:13;28598:63;:::i;:::-;28591:70;;28684:60;28737:6;28684:60;:::i;:::-;28674:70;;28530:224;28517:1;28514;28510:9;28505:14;;28470:284;;;28474:14;28770:3;28763:10;;28171:608;;;28047:732;;;;:::o;28785:831::-;29048:4;29086:3;29075:9;29071:19;29063:27;;29100:71;29168:1;29157:9;29153:17;29144:6;29100:71;:::i;:::-;29181:80;29257:2;29246:9;29242:18;29233:6;29181:80;:::i;:::-;29308:9;29302:4;29298:20;29293:2;29282:9;29278:18;29271:48;29336:108;29439:4;29430:6;29336:108;:::i;:::-;29328:116;;29454:72;29522:2;29511:9;29507:18;29498:6;29454:72;:::i;:::-;29536:73;29604:3;29593:9;29589:19;29580:6;29536:73;:::i;:::-;28785:831;;;;;;;;:::o;29622:177::-;29762:29;29758:1;29750:6;29746:14;29739:53;29622:177;:::o;29805:366::-;29947:3;29968:67;30032:2;30027:3;29968:67;:::i;:::-;29961:74;;30044:93;30133:3;30044:93;:::i;:::-;30162:2;30157:3;30153:12;30146:19;;29805:366;;;:::o;30177:419::-;30343:4;30381:2;30370:9;30366:18;30358:26;;30430:9;30424:4;30420:20;30416:1;30405:9;30401:17;30394:47;30458:131;30584:4;30458:131;:::i;:::-;30450:139;;30177:419;;;:::o
Swarm Source
ipfs://cf21a65a46c9de5baf8a9796dbb6f14c1d85e1b2c9d8593a29706295d707396b
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.