Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 iPlay
Holders
41
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
1,722,537.6 iPlayValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
InsiderPlay
Compiler Version
v0.8.14+commit.80d49f37
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-07-24 */ /** -Congrats. You've found my insider play! -75% of the tax funds will be used for buybacks at $150K market cap. 0x2fd2c31fE8f0D34001547Ea2f0D64253DbBC461F. I will retain 25% for gifting you this insider play. -Those who diamond hand for the first 3 days will be airdropped Alpha NFT's containing further instruction. -The holder who creates the official TG will also be airdropped the Alpha NFT. */ pragma solidity ^0.8.14; // SPDX-License-Identifier: Unlicensed 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 ); } contract Ownable is Context { address private _owner; address private _previousOwner; 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); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); } contract InsiderPlay is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "Insider Play"; string private constant _symbol = "iPlay"; uint8 private constant _decimals = 9; mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1000000000 * 10**_decimals; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _redisFeeOnBuy = 0; uint256 private _taxFeeOnBuy = 4; uint256 private _redisFeeOnSell = 0; uint256 private _taxFeeOnSell = 4; //Original Fee uint256 private _redisFee = _redisFeeOnSell; uint256 private _taxFee = _taxFeeOnSell; uint256 private _previousredisFee = _redisFee; uint256 private _previoustaxFee = _taxFee; mapping(address => bool) public bots; mapping (address => uint256) public _buyMap; mapping (address => bool) public preTrader; address private marketingAddress; address private devFeeAddress1; address private devFeeAddress2; address private devFeeAddress3; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = true; uint256 public _maxTxAmount = 15000000 * 10**_decimals; uint256 public _maxWalletSize = 15000000 * 10**_decimals; uint256 public _swapTokensAtAmount = 400000 * 10**_decimals; struct Distribution { uint256 marketing; uint256 devFee; } Distribution public distribution; event MaxTxAmountUpdated(uint256 _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor(address marketingAddr, address devFeeAddr1, address devFeeAddr2, address devFeeAddr3) { marketingAddress = marketingAddr; devFeeAddress1 = devFeeAddr1; devFeeAddress2 = devFeeAddr2; devFeeAddress3 = devFeeAddr3; _rOwned[_msgSender()] = _rTotal; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);// uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[devFeeAddress1] = true; _isExcludedFromFee[devFeeAddress2] = true; _isExcludedFromFee[devFeeAddress3] = true; _isExcludedFromFee[marketingAddress] = true; distribution = Distribution(75, 25); 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 tokenFromReflection(_rOwned[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 tokenFromReflection(uint256 rAmount) private view returns (uint256) { require( rAmount <= _rTotal, "Amount must be less than total reflections" ); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function removeAllFee() private { if (_redisFee == 0 && _taxFee == 0) return; _previousredisFee = _redisFee; _previoustaxFee = _taxFee; _redisFee = 0; _taxFee = 0; } function restoreAllFee() private { _redisFee = _previousredisFee; _taxFee = _previoustaxFee; } 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"); if (from != owner() && to != owner() && !preTrader[from] && !preTrader[to]) { //Trade start check if (!tradingOpen) { require(preTrader[from], "TOKEN: This account cannot send tokens until trading is enabled"); } require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit"); require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!"); if(to != uniswapV2Pair) { require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!"); } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= _swapTokensAtAmount; if(contractTokenBalance >= _maxTxAmount) { contractTokenBalance = _maxTxAmount; } if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } bool takeFee = true; //Transfer Tokens if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) { takeFee = false; } else { //Set Fee for Buys if(from == uniswapV2Pair && to != address(uniswapV2Router)) { _redisFee = _redisFeeOnBuy; _taxFee = _taxFeeOnBuy; } //Set Fee for Sells if (to == uniswapV2Pair && from != address(uniswapV2Router)) { _redisFee = _redisFeeOnSell; _taxFee = _taxFeeOnSell; } } _tokenTransfer(from, to, amount, takeFee); } 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 sendETHToFee(uint256 amount) private lockTheSwap { uint256 distributionEth = amount; uint256 marketingShare = distributionEth.mul(distribution.marketing).div(100); uint256 devFeeShare = distributionEth.mul(distribution.devFee).div(100).div(3); payable(marketingAddress).transfer(marketingShare); payable(devFeeAddress1).transfer(devFeeShare); payable(devFeeAddress2).transfer(devFeeShare); payable(devFeeAddress3).transfer(devFeeShare); } function setTrading(bool _tradingOpen) public onlyOwner { tradingOpen = _tradingOpen; } function manualswap() external { require(_msgSender() == devFeeAddress3 || _msgSender() == marketingAddress || _msgSender() == devFeeAddress1 || _msgSender() == devFeeAddress2); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == devFeeAddress3 || _msgSender() == marketingAddress || _msgSender() == devFeeAddress1 || _msgSender() == devFeeAddress2); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function blockBots(address[] memory bots_) public onlyOwner { for (uint256 i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function unblockBot(address notbot) public onlyOwner { bots[notbot] = false; } function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { if (!takeFee) removeAllFee(); _transferStandard(sender, recipient, amount); if (!takeFee) restoreAllFee(); } function _transferStandard( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam ) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function setDistribution(uint256 marketing, uint256 devFee) external onlyOwner { distribution.marketing = marketing; distribution.devFee = devFee; } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable { } function _getValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256, uint256, uint256 ) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _redisFee, _taxFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues( uint256 tAmount, uint256 redisFee, uint256 taxFee ) private pure returns ( uint256, uint256, uint256 ) { uint256 tFee = tAmount.mul(redisFee).div(100); uint256 tTeam = tAmount.mul(taxFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues( uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate ) private pure returns ( uint256, uint256, uint256 ) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner { _redisFeeOnBuy = redisFeeOnBuy; _redisFeeOnSell = redisFeeOnSell; _taxFeeOnBuy = taxFeeOnBuy; _taxFeeOnSell = taxFeeOnSell; } //Set minimum tokens required to swap. function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner { _swapTokensAtAmount = swapTokensAtAmount; } //Set minimum tokens required to swap. function toggleSwap(bool _swapEnabled) public onlyOwner { swapEnabled = _swapEnabled; } //Set maximum transaction function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner { _maxTxAmount = maxTxAmount; } function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner { _maxWalletSize = maxWalletSize; } function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner { for(uint256 i = 0; i < accounts.length; i++) { _isExcludedFromFee[accounts[i]] = excluded; } } function allowPreTrading(address[] calldata accounts) public onlyOwner { for(uint256 i = 0; i < accounts.length; i++) { preTrader[accounts[i]] = true; } } function removePreTrading(address[] calldata accounts) public onlyOwner { for(uint256 i = 0; i < accounts.length; i++) { delete preTrader[accounts[i]]; } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"marketingAddr","type":"address"},{"internalType":"address","name":"devFeeAddr1","type":"address"},{"internalType":"address","name":"devFeeAddr2","type":"address"},{"internalType":"address","name":"devFeeAddr3","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"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":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","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":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"name":"allowPreTrading","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":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"distribution","outputs":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"devFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"preTrader","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"name":"removePreTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"devFee","type":"uint256"}],"name":"setDistribution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526009600a62000014919062000a90565b633b9aca0062000025919062000ae1565b60001962000034919062000b71565b60001962000043919062000ba9565b600655600060085560046009556000600a556004600b55600a54600c55600b54600d55600c54600e55600d54600f556000601860156101000a81548160ff0219169083151502179055506001601860166101000a81548160ff0219169083151502179055506009600a620000b8919062000a90565b62e4e1c0620000c8919062000ae1565b6019556009600a620000db919062000a90565b62e4e1c0620000eb919062000ae1565b601a556009600a620000fe919062000a90565b62061a806200010e919062000ae1565b601b553480156200011e57600080fd5b506040516200564838038062005648833981810160405281019062000144919062000c4e565b600062000156620008c560201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35083601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600654600260006200030f620008c560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003f3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000419919062000cc0565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000481573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004a7919062000cc0565b6040518363ffffffff1660e01b8152600401620004c692919062000d03565b6020604051808303816000875af1158015620004e6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200050c919062000cc0565b601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016005600062000562620008cd60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506040518060400160405280604b81526020016019815250601c600082015181600001556020820151816001015590505062000833620008c560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a62000892919062000a90565b633b9aca00620008a3919062000ae1565b604051620008b2919062000d41565b60405180910390a3505050505062000d5e565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000984578086048111156200095c576200095b620008f6565b5b60018516156200096c5780820291505b80810290506200097c8562000925565b94506200093c565b94509492505050565b6000826200099f576001905062000a72565b81620009af576000905062000a72565b8160018114620009c85760028114620009d35762000a09565b600191505062000a72565b60ff841115620009e857620009e7620008f6565b5b8360020a91508482111562000a025762000a01620008f6565b5b5062000a72565b5060208310610133831016604e8410600b841016171562000a435782820a90508381111562000a3d5762000a3c620008f6565b5b62000a72565b62000a52848484600162000932565b9250905081840481111562000a6c5762000a6b620008f6565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000a9d8262000a79565b915062000aaa8362000a83565b925062000ad97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200098d565b905092915050565b600062000aee8262000a79565b915062000afb8362000a79565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000b375762000b36620008f6565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000b7e8262000a79565b915062000b8b8362000a79565b92508262000b9e5762000b9d62000b42565b5b828206905092915050565b600062000bb68262000a79565b915062000bc38362000a79565b92508282101562000bd95762000bd8620008f6565b5b828203905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000c168262000be9565b9050919050565b62000c288162000c09565b811462000c3457600080fd5b50565b60008151905062000c488162000c1d565b92915050565b6000806000806080858703121562000c6b5762000c6a62000be4565b5b600062000c7b8782880162000c37565b945050602062000c8e8782880162000c37565b935050604062000ca18782880162000c37565b925050606062000cb48782880162000c37565b91505092959194509250565b60006020828403121562000cd95762000cd862000be4565b5b600062000ce98482850162000c37565b91505092915050565b62000cfd8162000c09565b82525050565b600060408201905062000d1a600083018562000cf2565b62000d29602083018462000cf2565b9392505050565b62000d3b8162000a79565b82525050565b600060208201905062000d58600083018462000d30565b92915050565b6148da8062000d6e6000396000f3fe6080604052600436106102075760003560e01c80637d1db4a511610118578063b5a65223116100a0578063c492f0461161006f578063c492f0461461074e578063dd62ed3e14610777578063ea1644d5146107b4578063f18dba26146107dd578063f2fde38b146108065761020e565b8063b5a6522314610694578063bdd795ef146106bd578063bfd79284146106fa578063c3c8cd80146107375761020e565b80638f9a55c0116100e75780638f9a55c0146105af57806395d89b41146105da57806398a5c31514610605578063a2a957bb1461062e578063a9059cbb146106575761020e565b80637d1db4a5146104f35780637f2feddc1461051e5780638da5cb5b1461055b5780638f70ccf7146105865761020e565b806349bd5a5e1161019b5780636d8aa8f81161016a5780636d8aa8f8146104365780636fc3eaec1461045f57806370a0823114610476578063715018a6146104b357806374010ece146104ca5761020e565b806349bd5a5e1461038d5780635ee58efc146103b857806367aadb7e146103e45780636b9990531461040d5761020e565b806318160ddd116101d757806318160ddd146102cf57806323b872dd146102fa5780632fd689e314610337578063313ce567146103625761020e565b8062b8cf2a1461021357806306fdde031461023c578063095ea7b3146102675780631694505e146102a45761020e565b3661020e57005b600080fd5b34801561021f57600080fd5b5061023a60048036038101906102359190613633565b61082f565b005b34801561024857600080fd5b50610251610959565b60405161025e9190613704565b60405180910390f35b34801561027357600080fd5b5061028e6004803603810190610289919061375c565b610996565b60405161029b91906137b7565b60405180910390f35b3480156102b057600080fd5b506102b96109b4565b6040516102c69190613831565b60405180910390f35b3480156102db57600080fd5b506102e46109da565b6040516102f1919061385b565b60405180910390f35b34801561030657600080fd5b50610321600480360381019061031c9190613876565b6109fe565b60405161032e91906137b7565b60405180910390f35b34801561034357600080fd5b5061034c610ad7565b604051610359919061385b565b60405180910390f35b34801561036e57600080fd5b50610377610add565b60405161038491906138e5565b60405180910390f35b34801561039957600080fd5b506103a2610ae6565b6040516103af919061390f565b60405180910390f35b3480156103c457600080fd5b506103cd610b0c565b6040516103db92919061392a565b60405180910390f35b3480156103f057600080fd5b5061040b600480360381019061040691906139ae565b610b1e565b005b34801561041957600080fd5b50610434600480360381019061042f91906139fb565b610c4f565b005b34801561044257600080fd5b5061045d60048036038101906104589190613a54565b610d3f565b005b34801561046b57600080fd5b50610474610df1565b005b34801561048257600080fd5b5061049d600480360381019061049891906139fb565b610f80565b6040516104aa919061385b565b60405180910390f35b3480156104bf57600080fd5b506104c8610fd1565b005b3480156104d657600080fd5b506104f160048036038101906104ec9190613a81565b611124565b005b3480156104ff57600080fd5b506105086111c3565b604051610515919061385b565b60405180910390f35b34801561052a57600080fd5b50610545600480360381019061054091906139fb565b6111c9565b604051610552919061385b565b60405180910390f35b34801561056757600080fd5b506105706111e1565b60405161057d919061390f565b60405180910390f35b34801561059257600080fd5b506105ad60048036038101906105a89190613a54565b61120a565b005b3480156105bb57600080fd5b506105c46112bc565b6040516105d1919061385b565b60405180910390f35b3480156105e657600080fd5b506105ef6112c2565b6040516105fc9190613704565b60405180910390f35b34801561061157600080fd5b5061062c60048036038101906106279190613a81565b6112ff565b005b34801561063a57600080fd5b5061065560048036038101906106509190613aae565b61139e565b005b34801561066357600080fd5b5061067e6004803603810190610679919061375c565b611455565b60405161068b91906137b7565b60405180910390f35b3480156106a057600080fd5b506106bb60048036038101906106b691906139ae565b611473565b005b3480156106c957600080fd5b506106e460048036038101906106df91906139fb565b6115ad565b6040516106f191906137b7565b60405180910390f35b34801561070657600080fd5b50610721600480360381019061071c91906139fb565b6115cd565b60405161072e91906137b7565b60405180910390f35b34801561074357600080fd5b5061074c6115ed565b005b34801561075a57600080fd5b5061077560048036038101906107709190613b15565b611784565b005b34801561078357600080fd5b5061079e60048036038101906107999190613b75565b6118be565b6040516107ab919061385b565b60405180910390f35b3480156107c057600080fd5b506107db60048036038101906107d69190613a81565b611945565b005b3480156107e957600080fd5b5061080460048036038101906107ff9190613bb5565b6119e4565b005b34801561081257600080fd5b5061082d600480360381019061082891906139fb565b611a91565b005b610837611c52565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108bb90613c41565b60405180910390fd5b60005b8151811015610955576001601060008484815181106108e9576108e8613c61565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061094d90613cbf565b9150506108c7565b5050565b60606040518060400160405280600c81526020017f496e736964657220506c61790000000000000000000000000000000000000000815250905090565b60006109aa6109a3611c52565b8484611c5a565b6001905092915050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006009600a6109ea9190613e3a565b633b9aca006109f99190613e85565b905090565b6000610a0b848484611e23565b610acc84610a17611c52565b610ac78560405180606001604052806028815260200161487d60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a7d611c52565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461276b9092919063ffffffff16565b611c5a565b600190509392505050565b601b5481565b60006009905090565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601c8060000154908060010154905082565b610b26611c52565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610baa90613c41565b60405180910390fd5b60005b82829050811015610c4a5760126000848484818110610bd857610bd7613c61565b5b9050602002016020810190610bed91906139fb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690558080610c4290613cbf565b915050610bb6565b505050565b610c57611c52565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ce4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdb90613c41565b60405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610d47611c52565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcb90613c41565b60405180910390fd5b80601860166101000a81548160ff02191690831515021790555050565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e32611c52565b73ffffffffffffffffffffffffffffffffffffffff161480610ea85750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e90611c52565b73ffffffffffffffffffffffffffffffffffffffff16145b80610f075750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610eef611c52565b73ffffffffffffffffffffffffffffffffffffffff16145b80610f665750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f4e611c52565b73ffffffffffffffffffffffffffffffffffffffff16145b610f6f57600080fd5b6000479050610f7d816127cf565b50565b6000610fca600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a25565b9050919050565b610fd9611c52565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611066576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105d90613c41565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61112c611c52565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b090613c41565b60405180910390fd5b8060198190555050565b60195481565b60116020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611212611c52565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461129f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129690613c41565b60405180910390fd5b80601860146101000a81548160ff02191690831515021790555050565b601a5481565b60606040518060400160405280600581526020017f69506c6179000000000000000000000000000000000000000000000000000000815250905090565b611307611c52565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611394576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138b90613c41565b60405180910390fd5b80601b8190555050565b6113a6611c52565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611433576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142a90613c41565b60405180910390fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b6000611469611462611c52565b8484611e23565b6001905092915050565b61147b611c52565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611508576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ff90613c41565b60405180910390fd5b60005b828290508110156115a85760016012600085858581811061152f5761152e613c61565b5b905060200201602081019061154491906139fb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806115a090613cbf565b91505061150b565b505050565b60126020528060005260406000206000915054906101000a900460ff1681565b60106020528060005260406000206000915054906101000a900460ff1681565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661162e611c52565b73ffffffffffffffffffffffffffffffffffffffff1614806116a45750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661168c611c52565b73ffffffffffffffffffffffffffffffffffffffff16145b806117035750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166116eb611c52565b73ffffffffffffffffffffffffffffffffffffffff16145b806117625750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661174a611c52565b73ffffffffffffffffffffffffffffffffffffffff16145b61176b57600080fd5b600061177630610f80565b905061178181612a93565b50565b61178c611c52565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611819576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181090613c41565b60405180910390fd5b60005b838390508110156118b857816005600086868581811061183f5761183e613c61565b5b905060200201602081019061185491906139fb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806118b090613cbf565b91505061181c565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61194d611c52565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d190613c41565b60405180910390fd5b80601a8190555050565b6119ec611c52565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7090613c41565b60405180910390fd5b81601c6000018190555080601c600101819055505050565b611a99611c52565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1d90613c41565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8c90613f51565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc090613fe3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2f90614075565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611e16919061385b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8990614107565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef890614199565b60405180910390fd5b60008111611f44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3b9061422b565b60405180910390fd5b611f4c6111e1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611fba5750611f8a6111e1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156120105750601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156120665750601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561246a57601860149054906101000a900460ff1661210c57601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661210b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612102906142bd565b60405180910390fd5b5b601954811115612151576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214890614329565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156121f55750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b612234576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222b906143bb565b60405180910390fd5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146122e157601a548161229684610f80565b6122a091906143db565b106122e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122d7906144a3565b60405180910390fd5b5b60006122ec30610f80565b90506000601b54821015905060195482106123075760195491505b8080156123215750601860159054906101000a900460ff16155b801561237b5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156123935750601860169054906101000a900460ff165b80156123e95750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561243f5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156124675761244d82612a93565b6000479050600081111561246557612464476127cf565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806125115750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806125c45750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156125c35750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156125d25760009050612759565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561267d5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561269557600854600c81905550600954600d819055505b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156127405750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561275857600a54600c81905550600b54600d819055505b5b61276584848484612d0c565b50505050565b60008383111582906127b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127aa9190613704565b60405180910390fd5b50600083856127c291906144c3565b9050809150509392505050565b6001601860156101000a81548160ff0219169083151502179055506000819050600061281c606461280e601c6000015485612d3990919063ffffffff16565b612db390919063ffffffff16565b9050600061285e60036128506064612842601c6001015488612d3990919063ffffffff16565b612db390919063ffffffff16565b612db390919063ffffffff16565b9050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156128c8573d6000803e3d6000fd5b50601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612931573d6000803e3d6000fd5b50601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561299a573d6000803e3d6000fd5b50601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612a03573d6000803e3d6000fd5b505050506000601860156101000a81548160ff02191690831515021790555050565b6000600654821115612a6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a6390614569565b60405180910390fd5b6000612a76612dfd565b9050612a8b8184612db390919063ffffffff16565b915050919050565b6001601860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612acb57612aca613492565b5b604051908082528060200260200182016040528015612af95781602001602082028036833780820191505090505b5090503081600081518110612b1157612b10613c61565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612bb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bdc919061459e565b81600181518110612bf057612bef613c61565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612c5730601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611c5a565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612cbb9594939291906146c4565b600060405180830381600087803b158015612cd557600080fd5b505af1158015612ce9573d6000803e3d6000fd5b50505050506000601860156101000a81548160ff02191690831515021790555050565b80612d1a57612d19612e28565b5b612d25848484612e65565b80612d3357612d32613030565b5b50505050565b6000808303612d4b5760009050612dad565b60008284612d599190613e85565b9050828482612d68919061474d565b14612da8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d9f906147f0565b60405180910390fd5b809150505b92915050565b6000612df583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613044565b905092915050565b6000806000612e0a6130a7565b91509150612e218183612db390919063ffffffff16565b9250505090565b6000600c54148015612e3c57506000600d54145b612e6357600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b600080600080600080612e7787613142565b955095509550955095509550612ed586600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131aa90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f6a85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131f490919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612fb681613252565b612fc0848361330f565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161301d919061385b565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b6000808311829061308b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130829190613704565b60405180910390fd5b506000838561309a919061474d565b9050809150509392505050565b6000806000600654905060006009600a6130c19190613e3a565b633b9aca006130d09190613e85565b90506131036009600a6130e39190613e3a565b633b9aca006130f29190613e85565b600654612db390919063ffffffff16565b821015613135576006546009600a61311b9190613e3a565b633b9aca0061312a9190613e85565b93509350505061313e565b81819350935050505b9091565b600080600080600080600080600061315f8a600c54600d54613349565b925092509250600061316f612dfd565b905060008060006131828e8787876133df565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006131ec83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061276b565b905092915050565b600080828461320391906143db565b905083811015613248576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161323f9061485c565b60405180910390fd5b8091505092915050565b600061325c612dfd565b905060006132738284612d3990919063ffffffff16565b90506132c781600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131f490919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b613324826006546131aa90919063ffffffff16565b60068190555061333f816007546131f490919063ffffffff16565b6007819055505050565b6000806000806133756064613367888a612d3990919063ffffffff16565b612db390919063ffffffff16565b9050600061339f6064613391888b612d3990919063ffffffff16565b612db390919063ffffffff16565b905060006133c8826133ba858c6131aa90919063ffffffff16565b6131aa90919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806133f88589612d3990919063ffffffff16565b9050600061340f8689612d3990919063ffffffff16565b905060006134268789612d3990919063ffffffff16565b9050600061344f8261344185876131aa90919063ffffffff16565b6131aa90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6134ca82613481565b810181811067ffffffffffffffff821117156134e9576134e8613492565b5b80604052505050565b60006134fc613468565b905061350882826134c1565b919050565b600067ffffffffffffffff82111561352857613527613492565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006135698261353e565b9050919050565b6135798161355e565b811461358457600080fd5b50565b60008135905061359681613570565b92915050565b60006135af6135aa8461350d565b6134f2565b905080838252602082019050602084028301858111156135d2576135d1613539565b5b835b818110156135fb57806135e78882613587565b8452602084019350506020810190506135d4565b5050509392505050565b600082601f83011261361a5761361961347c565b5b813561362a84826020860161359c565b91505092915050565b60006020828403121561364957613648613472565b5b600082013567ffffffffffffffff81111561366757613666613477565b5b61367384828501613605565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156136b657808201518184015260208101905061369b565b838111156136c5576000848401525b50505050565b60006136d68261367c565b6136e08185613687565b93506136f0818560208601613698565b6136f981613481565b840191505092915050565b6000602082019050818103600083015261371e81846136cb565b905092915050565b6000819050919050565b61373981613726565b811461374457600080fd5b50565b60008135905061375681613730565b92915050565b6000806040838503121561377357613772613472565b5b600061378185828601613587565b925050602061379285828601613747565b9150509250929050565b60008115159050919050565b6137b18161379c565b82525050565b60006020820190506137cc60008301846137a8565b92915050565b6000819050919050565b60006137f76137f26137ed8461353e565b6137d2565b61353e565b9050919050565b6000613809826137dc565b9050919050565b600061381b826137fe565b9050919050565b61382b81613810565b82525050565b60006020820190506138466000830184613822565b92915050565b61385581613726565b82525050565b6000602082019050613870600083018461384c565b92915050565b60008060006060848603121561388f5761388e613472565b5b600061389d86828701613587565b93505060206138ae86828701613587565b92505060406138bf86828701613747565b9150509250925092565b600060ff82169050919050565b6138df816138c9565b82525050565b60006020820190506138fa60008301846138d6565b92915050565b6139098161355e565b82525050565b60006020820190506139246000830184613900565b92915050565b600060408201905061393f600083018561384c565b61394c602083018461384c565b9392505050565b600080fd5b60008083601f84011261396e5761396d61347c565b5b8235905067ffffffffffffffff81111561398b5761398a613953565b5b6020830191508360208202830111156139a7576139a6613539565b5b9250929050565b600080602083850312156139c5576139c4613472565b5b600083013567ffffffffffffffff8111156139e3576139e2613477565b5b6139ef85828601613958565b92509250509250929050565b600060208284031215613a1157613a10613472565b5b6000613a1f84828501613587565b91505092915050565b613a318161379c565b8114613a3c57600080fd5b50565b600081359050613a4e81613a28565b92915050565b600060208284031215613a6a57613a69613472565b5b6000613a7884828501613a3f565b91505092915050565b600060208284031215613a9757613a96613472565b5b6000613aa584828501613747565b91505092915050565b60008060008060808587031215613ac857613ac7613472565b5b6000613ad687828801613747565b9450506020613ae787828801613747565b9350506040613af887828801613747565b9250506060613b0987828801613747565b91505092959194509250565b600080600060408486031215613b2e57613b2d613472565b5b600084013567ffffffffffffffff811115613b4c57613b4b613477565b5b613b5886828701613958565b93509350506020613b6b86828701613a3f565b9150509250925092565b60008060408385031215613b8c57613b8b613472565b5b6000613b9a85828601613587565b9250506020613bab85828601613587565b9150509250929050565b60008060408385031215613bcc57613bcb613472565b5b6000613bda85828601613747565b9250506020613beb85828601613747565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613c2b602083613687565b9150613c3682613bf5565b602082019050919050565b60006020820190508181036000830152613c5a81613c1e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613cca82613726565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613cfc57613cfb613c90565b5b600182019050919050565b60008160011c9050919050565b6000808291508390505b6001851115613d5e57808604811115613d3a57613d39613c90565b5b6001851615613d495780820291505b8081029050613d5785613d07565b9450613d1e565b94509492505050565b600082613d775760019050613e33565b81613d855760009050613e33565b8160018114613d9b5760028114613da557613dd4565b6001915050613e33565b60ff841115613db757613db6613c90565b5b8360020a915084821115613dce57613dcd613c90565b5b50613e33565b5060208310610133831016604e8410600b8410161715613e095782820a905083811115613e0457613e03613c90565b5b613e33565b613e168484846001613d14565b92509050818404811115613e2d57613e2c613c90565b5b81810290505b9392505050565b6000613e4582613726565b9150613e50836138c9565b9250613e7d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613d67565b905092915050565b6000613e9082613726565b9150613e9b83613726565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613ed457613ed3613c90565b5b828202905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613f3b602683613687565b9150613f4682613edf565b604082019050919050565b60006020820190508181036000830152613f6a81613f2e565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613fcd602483613687565b9150613fd882613f71565b604082019050919050565b60006020820190508181036000830152613ffc81613fc0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061405f602283613687565b915061406a82614003565b604082019050919050565b6000602082019050818103600083015261408e81614052565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006140f1602583613687565b91506140fc82614095565b604082019050919050565b60006020820190508181036000830152614120816140e4565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614183602383613687565b915061418e82614127565b604082019050919050565b600060208201905081810360008301526141b281614176565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000614215602983613687565b9150614220826141b9565b604082019050919050565b6000602082019050818103600083015261424481614208565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b60006142a7603f83613687565b91506142b28261424b565b604082019050919050565b600060208201905081810360008301526142d68161429a565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000614313601c83613687565b915061431e826142dd565b602082019050919050565b6000602082019050818103600083015261434281614306565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b60006143a5602383613687565b91506143b082614349565b604082019050919050565b600060208201905081810360008301526143d481614398565b9050919050565b60006143e682613726565b91506143f183613726565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561442657614425613c90565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b600061448d602383613687565b915061449882614431565b604082019050919050565b600060208201905081810360008301526144bc81614480565b9050919050565b60006144ce82613726565b91506144d983613726565b9250828210156144ec576144eb613c90565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000614553602a83613687565b915061455e826144f7565b604082019050919050565b6000602082019050818103600083015261458281614546565b9050919050565b60008151905061459881613570565b92915050565b6000602082840312156145b4576145b3613472565b5b60006145c284828501614589565b91505092915050565b6000819050919050565b60006145f06145eb6145e6846145cb565b6137d2565b613726565b9050919050565b614600816145d5565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61463b8161355e565b82525050565b600061464d8383614632565b60208301905092915050565b6000602082019050919050565b600061467182614606565b61467b8185614611565b935061468683614622565b8060005b838110156146b757815161469e8882614641565b97506146a983614659565b92505060018101905061468a565b5085935050505092915050565b600060a0820190506146d9600083018861384c565b6146e660208301876145f7565b81810360408301526146f88186614666565b90506147076060830185613900565b614714608083018461384c565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061475882613726565b915061476383613726565b9250826147735761477261471e565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006147da602183613687565b91506147e58261477e565b604082019050919050565b60006020820190508181036000830152614809816147cd565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000614846601b83613687565b915061485182614810565b602082019050919050565b6000602082019050818103600083015261487581614839565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200b03751eee36b9edd5b36efa838ea1a4ff2d0948aa20ad87c94df7a8a9e4a96864736f6c634300080e00330000000000000000000000002fd2c31fe8f0d34001547ea2f0d64253dbbc461f000000000000000000000000540b6c092664d85dc9b7284ab10013976c2d920f00000000000000000000000076d136de35ac07c328be0031fb7fb11564a9a2c8000000000000000000000000229234cdfa027e4b5b247c899377787e736600a1
Deployed Bytecode
0x6080604052600436106102075760003560e01c80637d1db4a511610118578063b5a65223116100a0578063c492f0461161006f578063c492f0461461074e578063dd62ed3e14610777578063ea1644d5146107b4578063f18dba26146107dd578063f2fde38b146108065761020e565b8063b5a6522314610694578063bdd795ef146106bd578063bfd79284146106fa578063c3c8cd80146107375761020e565b80638f9a55c0116100e75780638f9a55c0146105af57806395d89b41146105da57806398a5c31514610605578063a2a957bb1461062e578063a9059cbb146106575761020e565b80637d1db4a5146104f35780637f2feddc1461051e5780638da5cb5b1461055b5780638f70ccf7146105865761020e565b806349bd5a5e1161019b5780636d8aa8f81161016a5780636d8aa8f8146104365780636fc3eaec1461045f57806370a0823114610476578063715018a6146104b357806374010ece146104ca5761020e565b806349bd5a5e1461038d5780635ee58efc146103b857806367aadb7e146103e45780636b9990531461040d5761020e565b806318160ddd116101d757806318160ddd146102cf57806323b872dd146102fa5780632fd689e314610337578063313ce567146103625761020e565b8062b8cf2a1461021357806306fdde031461023c578063095ea7b3146102675780631694505e146102a45761020e565b3661020e57005b600080fd5b34801561021f57600080fd5b5061023a60048036038101906102359190613633565b61082f565b005b34801561024857600080fd5b50610251610959565b60405161025e9190613704565b60405180910390f35b34801561027357600080fd5b5061028e6004803603810190610289919061375c565b610996565b60405161029b91906137b7565b60405180910390f35b3480156102b057600080fd5b506102b96109b4565b6040516102c69190613831565b60405180910390f35b3480156102db57600080fd5b506102e46109da565b6040516102f1919061385b565b60405180910390f35b34801561030657600080fd5b50610321600480360381019061031c9190613876565b6109fe565b60405161032e91906137b7565b60405180910390f35b34801561034357600080fd5b5061034c610ad7565b604051610359919061385b565b60405180910390f35b34801561036e57600080fd5b50610377610add565b60405161038491906138e5565b60405180910390f35b34801561039957600080fd5b506103a2610ae6565b6040516103af919061390f565b60405180910390f35b3480156103c457600080fd5b506103cd610b0c565b6040516103db92919061392a565b60405180910390f35b3480156103f057600080fd5b5061040b600480360381019061040691906139ae565b610b1e565b005b34801561041957600080fd5b50610434600480360381019061042f91906139fb565b610c4f565b005b34801561044257600080fd5b5061045d60048036038101906104589190613a54565b610d3f565b005b34801561046b57600080fd5b50610474610df1565b005b34801561048257600080fd5b5061049d600480360381019061049891906139fb565b610f80565b6040516104aa919061385b565b60405180910390f35b3480156104bf57600080fd5b506104c8610fd1565b005b3480156104d657600080fd5b506104f160048036038101906104ec9190613a81565b611124565b005b3480156104ff57600080fd5b506105086111c3565b604051610515919061385b565b60405180910390f35b34801561052a57600080fd5b50610545600480360381019061054091906139fb565b6111c9565b604051610552919061385b565b60405180910390f35b34801561056757600080fd5b506105706111e1565b60405161057d919061390f565b60405180910390f35b34801561059257600080fd5b506105ad60048036038101906105a89190613a54565b61120a565b005b3480156105bb57600080fd5b506105c46112bc565b6040516105d1919061385b565b60405180910390f35b3480156105e657600080fd5b506105ef6112c2565b6040516105fc9190613704565b60405180910390f35b34801561061157600080fd5b5061062c60048036038101906106279190613a81565b6112ff565b005b34801561063a57600080fd5b5061065560048036038101906106509190613aae565b61139e565b005b34801561066357600080fd5b5061067e6004803603810190610679919061375c565b611455565b60405161068b91906137b7565b60405180910390f35b3480156106a057600080fd5b506106bb60048036038101906106b691906139ae565b611473565b005b3480156106c957600080fd5b506106e460048036038101906106df91906139fb565b6115ad565b6040516106f191906137b7565b60405180910390f35b34801561070657600080fd5b50610721600480360381019061071c91906139fb565b6115cd565b60405161072e91906137b7565b60405180910390f35b34801561074357600080fd5b5061074c6115ed565b005b34801561075a57600080fd5b5061077560048036038101906107709190613b15565b611784565b005b34801561078357600080fd5b5061079e60048036038101906107999190613b75565b6118be565b6040516107ab919061385b565b60405180910390f35b3480156107c057600080fd5b506107db60048036038101906107d69190613a81565b611945565b005b3480156107e957600080fd5b5061080460048036038101906107ff9190613bb5565b6119e4565b005b34801561081257600080fd5b5061082d600480360381019061082891906139fb565b611a91565b005b610837611c52565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108bb90613c41565b60405180910390fd5b60005b8151811015610955576001601060008484815181106108e9576108e8613c61565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061094d90613cbf565b9150506108c7565b5050565b60606040518060400160405280600c81526020017f496e736964657220506c61790000000000000000000000000000000000000000815250905090565b60006109aa6109a3611c52565b8484611c5a565b6001905092915050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006009600a6109ea9190613e3a565b633b9aca006109f99190613e85565b905090565b6000610a0b848484611e23565b610acc84610a17611c52565b610ac78560405180606001604052806028815260200161487d60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a7d611c52565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461276b9092919063ffffffff16565b611c5a565b600190509392505050565b601b5481565b60006009905090565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601c8060000154908060010154905082565b610b26611c52565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610baa90613c41565b60405180910390fd5b60005b82829050811015610c4a5760126000848484818110610bd857610bd7613c61565b5b9050602002016020810190610bed91906139fb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690558080610c4290613cbf565b915050610bb6565b505050565b610c57611c52565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ce4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdb90613c41565b60405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610d47611c52565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcb90613c41565b60405180910390fd5b80601860166101000a81548160ff02191690831515021790555050565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e32611c52565b73ffffffffffffffffffffffffffffffffffffffff161480610ea85750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e90611c52565b73ffffffffffffffffffffffffffffffffffffffff16145b80610f075750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610eef611c52565b73ffffffffffffffffffffffffffffffffffffffff16145b80610f665750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f4e611c52565b73ffffffffffffffffffffffffffffffffffffffff16145b610f6f57600080fd5b6000479050610f7d816127cf565b50565b6000610fca600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a25565b9050919050565b610fd9611c52565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611066576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105d90613c41565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61112c611c52565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b090613c41565b60405180910390fd5b8060198190555050565b60195481565b60116020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611212611c52565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461129f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129690613c41565b60405180910390fd5b80601860146101000a81548160ff02191690831515021790555050565b601a5481565b60606040518060400160405280600581526020017f69506c6179000000000000000000000000000000000000000000000000000000815250905090565b611307611c52565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611394576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138b90613c41565b60405180910390fd5b80601b8190555050565b6113a6611c52565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611433576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142a90613c41565b60405180910390fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b6000611469611462611c52565b8484611e23565b6001905092915050565b61147b611c52565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611508576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ff90613c41565b60405180910390fd5b60005b828290508110156115a85760016012600085858581811061152f5761152e613c61565b5b905060200201602081019061154491906139fb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806115a090613cbf565b91505061150b565b505050565b60126020528060005260406000206000915054906101000a900460ff1681565b60106020528060005260406000206000915054906101000a900460ff1681565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661162e611c52565b73ffffffffffffffffffffffffffffffffffffffff1614806116a45750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661168c611c52565b73ffffffffffffffffffffffffffffffffffffffff16145b806117035750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166116eb611c52565b73ffffffffffffffffffffffffffffffffffffffff16145b806117625750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661174a611c52565b73ffffffffffffffffffffffffffffffffffffffff16145b61176b57600080fd5b600061177630610f80565b905061178181612a93565b50565b61178c611c52565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611819576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181090613c41565b60405180910390fd5b60005b838390508110156118b857816005600086868581811061183f5761183e613c61565b5b905060200201602081019061185491906139fb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806118b090613cbf565b91505061181c565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61194d611c52565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d190613c41565b60405180910390fd5b80601a8190555050565b6119ec611c52565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7090613c41565b60405180910390fd5b81601c6000018190555080601c600101819055505050565b611a99611c52565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1d90613c41565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8c90613f51565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc090613fe3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2f90614075565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611e16919061385b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8990614107565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef890614199565b60405180910390fd5b60008111611f44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3b9061422b565b60405180910390fd5b611f4c6111e1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611fba5750611f8a6111e1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156120105750601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156120665750601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561246a57601860149054906101000a900460ff1661210c57601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661210b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612102906142bd565b60405180910390fd5b5b601954811115612151576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214890614329565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156121f55750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b612234576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222b906143bb565b60405180910390fd5b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146122e157601a548161229684610f80565b6122a091906143db565b106122e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122d7906144a3565b60405180910390fd5b5b60006122ec30610f80565b90506000601b54821015905060195482106123075760195491505b8080156123215750601860159054906101000a900460ff16155b801561237b5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156123935750601860169054906101000a900460ff165b80156123e95750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561243f5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156124675761244d82612a93565b6000479050600081111561246557612464476127cf565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806125115750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806125c45750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156125c35750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156125d25760009050612759565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561267d5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561269557600854600c81905550600954600d819055505b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156127405750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561275857600a54600c81905550600b54600d819055505b5b61276584848484612d0c565b50505050565b60008383111582906127b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127aa9190613704565b60405180910390fd5b50600083856127c291906144c3565b9050809150509392505050565b6001601860156101000a81548160ff0219169083151502179055506000819050600061281c606461280e601c6000015485612d3990919063ffffffff16565b612db390919063ffffffff16565b9050600061285e60036128506064612842601c6001015488612d3990919063ffffffff16565b612db390919063ffffffff16565b612db390919063ffffffff16565b9050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156128c8573d6000803e3d6000fd5b50601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612931573d6000803e3d6000fd5b50601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561299a573d6000803e3d6000fd5b50601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612a03573d6000803e3d6000fd5b505050506000601860156101000a81548160ff02191690831515021790555050565b6000600654821115612a6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a6390614569565b60405180910390fd5b6000612a76612dfd565b9050612a8b8184612db390919063ffffffff16565b915050919050565b6001601860156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612acb57612aca613492565b5b604051908082528060200260200182016040528015612af95781602001602082028036833780820191505090505b5090503081600081518110612b1157612b10613c61565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612bb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bdc919061459e565b81600181518110612bf057612bef613c61565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612c5730601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611c5a565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612cbb9594939291906146c4565b600060405180830381600087803b158015612cd557600080fd5b505af1158015612ce9573d6000803e3d6000fd5b50505050506000601860156101000a81548160ff02191690831515021790555050565b80612d1a57612d19612e28565b5b612d25848484612e65565b80612d3357612d32613030565b5b50505050565b6000808303612d4b5760009050612dad565b60008284612d599190613e85565b9050828482612d68919061474d565b14612da8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d9f906147f0565b60405180910390fd5b809150505b92915050565b6000612df583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613044565b905092915050565b6000806000612e0a6130a7565b91509150612e218183612db390919063ffffffff16565b9250505090565b6000600c54148015612e3c57506000600d54145b612e6357600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b600080600080600080612e7787613142565b955095509550955095509550612ed586600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131aa90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f6a85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131f490919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612fb681613252565b612fc0848361330f565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161301d919061385b565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b6000808311829061308b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130829190613704565b60405180910390fd5b506000838561309a919061474d565b9050809150509392505050565b6000806000600654905060006009600a6130c19190613e3a565b633b9aca006130d09190613e85565b90506131036009600a6130e39190613e3a565b633b9aca006130f29190613e85565b600654612db390919063ffffffff16565b821015613135576006546009600a61311b9190613e3a565b633b9aca0061312a9190613e85565b93509350505061313e565b81819350935050505b9091565b600080600080600080600080600061315f8a600c54600d54613349565b925092509250600061316f612dfd565b905060008060006131828e8787876133df565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006131ec83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061276b565b905092915050565b600080828461320391906143db565b905083811015613248576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161323f9061485c565b60405180910390fd5b8091505092915050565b600061325c612dfd565b905060006132738284612d3990919063ffffffff16565b90506132c781600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131f490919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b613324826006546131aa90919063ffffffff16565b60068190555061333f816007546131f490919063ffffffff16565b6007819055505050565b6000806000806133756064613367888a612d3990919063ffffffff16565b612db390919063ffffffff16565b9050600061339f6064613391888b612d3990919063ffffffff16565b612db390919063ffffffff16565b905060006133c8826133ba858c6131aa90919063ffffffff16565b6131aa90919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806133f88589612d3990919063ffffffff16565b9050600061340f8689612d3990919063ffffffff16565b905060006134268789612d3990919063ffffffff16565b9050600061344f8261344185876131aa90919063ffffffff16565b6131aa90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6134ca82613481565b810181811067ffffffffffffffff821117156134e9576134e8613492565b5b80604052505050565b60006134fc613468565b905061350882826134c1565b919050565b600067ffffffffffffffff82111561352857613527613492565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006135698261353e565b9050919050565b6135798161355e565b811461358457600080fd5b50565b60008135905061359681613570565b92915050565b60006135af6135aa8461350d565b6134f2565b905080838252602082019050602084028301858111156135d2576135d1613539565b5b835b818110156135fb57806135e78882613587565b8452602084019350506020810190506135d4565b5050509392505050565b600082601f83011261361a5761361961347c565b5b813561362a84826020860161359c565b91505092915050565b60006020828403121561364957613648613472565b5b600082013567ffffffffffffffff81111561366757613666613477565b5b61367384828501613605565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156136b657808201518184015260208101905061369b565b838111156136c5576000848401525b50505050565b60006136d68261367c565b6136e08185613687565b93506136f0818560208601613698565b6136f981613481565b840191505092915050565b6000602082019050818103600083015261371e81846136cb565b905092915050565b6000819050919050565b61373981613726565b811461374457600080fd5b50565b60008135905061375681613730565b92915050565b6000806040838503121561377357613772613472565b5b600061378185828601613587565b925050602061379285828601613747565b9150509250929050565b60008115159050919050565b6137b18161379c565b82525050565b60006020820190506137cc60008301846137a8565b92915050565b6000819050919050565b60006137f76137f26137ed8461353e565b6137d2565b61353e565b9050919050565b6000613809826137dc565b9050919050565b600061381b826137fe565b9050919050565b61382b81613810565b82525050565b60006020820190506138466000830184613822565b92915050565b61385581613726565b82525050565b6000602082019050613870600083018461384c565b92915050565b60008060006060848603121561388f5761388e613472565b5b600061389d86828701613587565b93505060206138ae86828701613587565b92505060406138bf86828701613747565b9150509250925092565b600060ff82169050919050565b6138df816138c9565b82525050565b60006020820190506138fa60008301846138d6565b92915050565b6139098161355e565b82525050565b60006020820190506139246000830184613900565b92915050565b600060408201905061393f600083018561384c565b61394c602083018461384c565b9392505050565b600080fd5b60008083601f84011261396e5761396d61347c565b5b8235905067ffffffffffffffff81111561398b5761398a613953565b5b6020830191508360208202830111156139a7576139a6613539565b5b9250929050565b600080602083850312156139c5576139c4613472565b5b600083013567ffffffffffffffff8111156139e3576139e2613477565b5b6139ef85828601613958565b92509250509250929050565b600060208284031215613a1157613a10613472565b5b6000613a1f84828501613587565b91505092915050565b613a318161379c565b8114613a3c57600080fd5b50565b600081359050613a4e81613a28565b92915050565b600060208284031215613a6a57613a69613472565b5b6000613a7884828501613a3f565b91505092915050565b600060208284031215613a9757613a96613472565b5b6000613aa584828501613747565b91505092915050565b60008060008060808587031215613ac857613ac7613472565b5b6000613ad687828801613747565b9450506020613ae787828801613747565b9350506040613af887828801613747565b9250506060613b0987828801613747565b91505092959194509250565b600080600060408486031215613b2e57613b2d613472565b5b600084013567ffffffffffffffff811115613b4c57613b4b613477565b5b613b5886828701613958565b93509350506020613b6b86828701613a3f565b9150509250925092565b60008060408385031215613b8c57613b8b613472565b5b6000613b9a85828601613587565b9250506020613bab85828601613587565b9150509250929050565b60008060408385031215613bcc57613bcb613472565b5b6000613bda85828601613747565b9250506020613beb85828601613747565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613c2b602083613687565b9150613c3682613bf5565b602082019050919050565b60006020820190508181036000830152613c5a81613c1e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613cca82613726565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613cfc57613cfb613c90565b5b600182019050919050565b60008160011c9050919050565b6000808291508390505b6001851115613d5e57808604811115613d3a57613d39613c90565b5b6001851615613d495780820291505b8081029050613d5785613d07565b9450613d1e565b94509492505050565b600082613d775760019050613e33565b81613d855760009050613e33565b8160018114613d9b5760028114613da557613dd4565b6001915050613e33565b60ff841115613db757613db6613c90565b5b8360020a915084821115613dce57613dcd613c90565b5b50613e33565b5060208310610133831016604e8410600b8410161715613e095782820a905083811115613e0457613e03613c90565b5b613e33565b613e168484846001613d14565b92509050818404811115613e2d57613e2c613c90565b5b81810290505b9392505050565b6000613e4582613726565b9150613e50836138c9565b9250613e7d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613d67565b905092915050565b6000613e9082613726565b9150613e9b83613726565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613ed457613ed3613c90565b5b828202905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613f3b602683613687565b9150613f4682613edf565b604082019050919050565b60006020820190508181036000830152613f6a81613f2e565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613fcd602483613687565b9150613fd882613f71565b604082019050919050565b60006020820190508181036000830152613ffc81613fc0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061405f602283613687565b915061406a82614003565b604082019050919050565b6000602082019050818103600083015261408e81614052565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006140f1602583613687565b91506140fc82614095565b604082019050919050565b60006020820190508181036000830152614120816140e4565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614183602383613687565b915061418e82614127565b604082019050919050565b600060208201905081810360008301526141b281614176565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000614215602983613687565b9150614220826141b9565b604082019050919050565b6000602082019050818103600083015261424481614208565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b60006142a7603f83613687565b91506142b28261424b565b604082019050919050565b600060208201905081810360008301526142d68161429a565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000614313601c83613687565b915061431e826142dd565b602082019050919050565b6000602082019050818103600083015261434281614306565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b60006143a5602383613687565b91506143b082614349565b604082019050919050565b600060208201905081810360008301526143d481614398565b9050919050565b60006143e682613726565b91506143f183613726565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561442657614425613c90565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b600061448d602383613687565b915061449882614431565b604082019050919050565b600060208201905081810360008301526144bc81614480565b9050919050565b60006144ce82613726565b91506144d983613726565b9250828210156144ec576144eb613c90565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000614553602a83613687565b915061455e826144f7565b604082019050919050565b6000602082019050818103600083015261458281614546565b9050919050565b60008151905061459881613570565b92915050565b6000602082840312156145b4576145b3613472565b5b60006145c284828501614589565b91505092915050565b6000819050919050565b60006145f06145eb6145e6846145cb565b6137d2565b613726565b9050919050565b614600816145d5565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61463b8161355e565b82525050565b600061464d8383614632565b60208301905092915050565b6000602082019050919050565b600061467182614606565b61467b8185614611565b935061468683614622565b8060005b838110156146b757815161469e8882614641565b97506146a983614659565b92505060018101905061468a565b5085935050505092915050565b600060a0820190506146d9600083018861384c565b6146e660208301876145f7565b81810360408301526146f88186614666565b90506147076060830185613900565b614714608083018461384c565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061475882613726565b915061476383613726565b9250826147735761477261471e565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006147da602183613687565b91506147e58261477e565b604082019050919050565b60006020820190508181036000830152614809816147cd565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000614846601b83613687565b915061485182614810565b602082019050919050565b6000602082019050818103600083015261487581614839565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200b03751eee36b9edd5b36efa838ea1a4ff2d0948aa20ad87c94df7a8a9e4a96864736f6c634300080e0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000002fd2c31fe8f0d34001547ea2f0d64253dbbc461f000000000000000000000000540b6c092664d85dc9b7284ab10013976c2d920f00000000000000000000000076d136de35ac07c328be0031fb7fb11564a9a2c8000000000000000000000000229234cdfa027e4b5b247c899377787e736600a1
-----Decoded View---------------
Arg [0] : marketingAddr (address): 0x2fd2c31fE8f0D34001547Ea2f0D64253DbBC461F
Arg [1] : devFeeAddr1 (address): 0x540B6C092664d85DC9B7284ab10013976c2D920f
Arg [2] : devFeeAddr2 (address): 0x76D136de35aC07c328bE0031Fb7fB11564a9a2c8
Arg [3] : devFeeAddr3 (address): 0x229234cdFa027e4B5B247C899377787e736600A1
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000002fd2c31fe8f0d34001547ea2f0d64253dbbc461f
Arg [1] : 000000000000000000000000540b6c092664d85dc9b7284ab10013976c2d920f
Arg [2] : 00000000000000000000000076d136de35ac07c328be0031fb7fb11564a9a2c8
Arg [3] : 000000000000000000000000229234cdfa027e4b5b247c899377787e736600a1
Deployed Bytecode Sourcemap
4490:15236:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14303:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7553:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8478:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5852:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7830:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8679:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6166:59;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7739:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5900:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6323:32;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;19527:196;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14480:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18703:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13998:297;;;;;;;;;;;;;:::i;:::-;;7933:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1977:148;;;;;;;;;;;;;:::i;:::-;;18843:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6042:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5595:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1763:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13583:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6103:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7644:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18512:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18169:291;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8079:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19324:195;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5645:42;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5551:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13692:298;;;;;;;;;;;;;:::i;:::-;;19082:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8286:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18959:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15488:177;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2133:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14303:169;1900:12;:10;:12::i;:::-;1890:22;;:6;;;;;;;;;;:22;;;1882:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14379:9:::1;14374:91;14398:5;:12;14394:1;:16;14374:91;;;14449:4;14432;:14;14437:5;14443:1;14437:8;;;;;;;;:::i;:::-;;;;;;;;14432:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;14412:3;;;;;:::i;:::-;;;;14374:91;;;;14303:169:::0;:::o;7553:83::-;7590:13;7623:5;;;;;;;;;;;;;;;;;7616:12;;7553:83;:::o;8478:193::-;8580:4;8602:39;8611:12;:10;:12::i;:::-;8625:7;8634:6;8602:8;:39::i;:::-;8659:4;8652:11;;8478:193;;;;:::o;5852:41::-;;;;;;;;;;;;;:::o;7830:95::-;7883:7;4719:1;5058:2;:13;;;;:::i;:::-;5045:10;:26;;;;:::i;:::-;7903:14;;7830:95;:::o;8679:446::-;8811:4;8828:36;8838:6;8846:9;8857:6;8828:9;:36::i;:::-;8875:220;8898:6;8919:12;:10;:12::i;:::-;8946:138;9002:6;8946:138;;;;;;;;;;;;;;;;;:11;:19;8958:6;8946:19;;;;;;;;;;;;;;;:33;8966:12;:10;:12::i;:::-;8946:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;8875:8;:220::i;:::-;9113:4;9106:11;;8679:446;;;;;:::o;6166:59::-;;;;:::o;7739:83::-;7780:5;4719:1;7798:16;;7739:83;:::o;5900:28::-;;;;;;;;;;;;;:::o;6323:32::-;;;;;;;;;;;;;;:::o;19527:196::-;1900:12;:10;:12::i;:::-;1890:22;;:6;;;;;;;;;;:22;;;1882:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19614:9:::1;19610:106;19633:8;;:15;;19629:1;:19;19610:106;;;19682:9;:22;19692:8;;19701:1;19692:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;19682:22;;;;;;;;;;;;;;;;19675:29;;;;;;;;;;;19650:3;;;;;:::i;:::-;;;;19610:106;;;;19527:196:::0;;:::o;14480:92::-;1900:12;:10;:12::i;:::-;1890:22;;:6;;;;;;;;;;:22;;;1882:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14559:5:::1;14544:4;:12;14549:6;14544:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;14480:92:::0;:::o;18703:101::-;1900:12;:10;:12::i;:::-;1890:22;;:6;;;;;;;;;;:22;;;1882:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18784:12:::1;18770:11;;:26;;;;;;;;;;;;;;;;;;18703:101:::0;:::o;13998:297::-;14064:14;;;;;;;;;;;14048:30;;:12;:10;:12::i;:::-;:30;;;:66;;;;14098:16;;;;;;;;;;;14082:32;;:12;:10;:12::i;:::-;:32;;;14048:66;:100;;;;14134:14;;;;;;;;;;;14118:30;;:12;:10;:12::i;:::-;:30;;;14048:100;:134;;;;14168:14;;;;;;;;;;;14152:30;;:12;:10;:12::i;:::-;:30;;;14048:134;14040:143;;;;;;14194:26;14223:21;14194:50;;14255:32;14268:18;14255:12;:32::i;:::-;14029:266;13998:297::o;7933:138::-;7999:7;8026:37;8046:7;:16;8054:7;8046:16;;;;;;;;;;;;;;;;8026:19;:37::i;:::-;8019:44;;7933:138;;;:::o;1977:148::-;1900:12;:10;:12::i;:::-;1890:22;;:6;;;;;;;;;;:22;;;1882:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2084:1:::1;2047:40;;2068:6;::::0;::::1;;;;;;;;2047:40;;;;;;;;;;;;2115:1;2098:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1977:148::o:0;18843:108::-;1900:12;:10;:12::i;:::-;1890:22;;:6;;;;;;;;;;:22;;;1882:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18932:11:::1;18917:12;:26;;;;18843:108:::0;:::o;6042:54::-;;;;:::o;5595:43::-;;;;;;;;;;;;;;;;;:::o;1763:79::-;1801:7;1828:6;;;;;;;;;;;1821:13;;1763:79;:::o;13583:101::-;1900:12;:10;:12::i;:::-;1890:22;;:6;;;;;;;;;;:22;;;1882:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13664:12:::1;13650:11;;:26;;;;;;;;;;;;;;;;;;13583:101:::0;:::o;6103:56::-;;;;:::o;7644:87::-;7683:13;7716:7;;;;;;;;;;;;;;;;;7709:14;;7644:87;:::o;18512:139::-;1900:12;:10;:12::i;:::-;1890:22;;:6;;;;;;;;;;:22;;;1882:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18625:18:::1;18603:19;:40;;;;18512:139:::0;:::o;18169:291::-;1900:12;:10;:12::i;:::-;1890:22;;:6;;;;;;;;;;:22;;;1882:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18320:13:::1;18303:14;:30;;;;18362:14;18344:15;:32;;;;18402:11;18387:12;:26;;;;18440:12;18424:13;:28;;;;18169:291:::0;;;;:::o;8079:199::-;8184:4;8206:42;8216:12;:10;:12::i;:::-;8230:9;8241:6;8206:9;:42::i;:::-;8266:4;8259:11;;8079:199;;;;:::o;19324:195::-;1900:12;:10;:12::i;:::-;1890:22;;:6;;;;;;;;;;:22;;;1882:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19410:9:::1;19406:106;19429:8;;:15;;19425:1;:19;19406:106;;;19496:4;19471:9;:22;19481:8;;19490:1;19481:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;19471:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;19446:3;;;;;:::i;:::-;;;;19406:106;;;;19324:195:::0;;:::o;5645:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;5551:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;13692:298::-;13758:14;;;;;;;;;;;13742:30;;:12;:10;:12::i;:::-;:30;;;:66;;;;13792:16;;;;;;;;;;;13776:32;;:12;:10;:12::i;:::-;:32;;;13742:66;:100;;;;13828:14;;;;;;;;;;;13812:30;;:12;:10;:12::i;:::-;:30;;;13742:100;:134;;;;13862:14;;;;;;;;;;;13846:30;;:12;:10;:12::i;:::-;:30;;;13742:134;13734:143;;;;;;13888:23;13914:24;13932:4;13914:9;:24::i;:::-;13888:50;;13949:33;13966:15;13949:16;:33::i;:::-;13723:267;13692:298::o;19082:234::-;1900:12;:10;:12::i;:::-;1890:22;;:6;;;;;;;;;;:22;;;1882:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19199:9:::1;19195:114;19218:8;;:15;;19214:1;:19;19195:114;;;19289:8;19255:18;:31;19274:8;;19283:1;19274:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;19255:31;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;19235:3;;;;;:::i;:::-;;;;19195:114;;;;19082:234:::0;;;:::o;8286:184::-;8403:7;8435:11;:18;8447:5;8435:18;;;;;;;;;;;;;;;:27;8454:7;8435:27;;;;;;;;;;;;;;;;8428:34;;8286:184;;;;:::o;18959:115::-;1900:12;:10;:12::i;:::-;1890:22;;:6;;;;;;;;;;:22;;;1882:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19053:13:::1;19036:14;:30;;;;18959:115:::0;:::o;15488:177::-;1900:12;:10;:12::i;:::-;1890:22;;:6;;;;;;;;;;:22;;;1882:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15609:9:::1;15584:12;:22;;:34;;;;15651:6;15629:12;:19;;:28;;;;15488:177:::0;;:::o;2133:244::-;1900:12;:10;:12::i;:::-;1890:22;;:6;;;;;;;;;;:22;;;1882:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2242:1:::1;2222:22;;:8;:22;;::::0;2214:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2332:8;2303:38;;2324:6;::::0;::::1;;;;;;;;2303:38;;;;;;;;;;;;2361:8;2352:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2133:244:::0;:::o;522:98::-;575:7;602:10;595:17;;522:98;:::o;9816:369::-;9960:1;9943:19;;:5;:19;;;9935:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10041:1;10022:21;;:7;:21;;;10014:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10123:6;10093:11;:18;10105:5;10093:18;;;;;;;;;;;;;;;:27;10112:7;10093:27;;;;;;;;;;;;;;;:36;;;;10161:7;10145:32;;10154:5;10145:32;;;10170:6;10145:32;;;;;;:::i;:::-;;;;;;;;9816:369;;;:::o;10193:2368::-;10331:1;10315:18;;:4;:18;;;10307:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10408:1;10394:16;;:2;:16;;;10386:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10478:1;10469:6;:10;10461:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10550:7;:5;:7::i;:::-;10542:15;;:4;:15;;;;:32;;;;;10567:7;:5;:7::i;:::-;10561:13;;:2;:13;;;;10542:32;:52;;;;;10579:9;:15;10589:4;10579:15;;;;;;;;;;;;;;;;;;;;;;;;;10578:16;10542:52;:70;;;;;10599:9;:13;10609:2;10599:13;;;;;;;;;;;;;;;;;;;;;;;;;10598:14;10542:70;10538:1297;;;10669:11;;;;;;;;;;;10664:144;;10709:9;:15;10719:4;10709:15;;;;;;;;;;;;;;;;;;;;;;;;;10701:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;10664:144;10842:12;;10832:6;:22;;10824:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;10911:4;:10;10916:4;10911:10;;;;;;;;;;;;;;;;;;;;;;;;;10910:11;:24;;;;;10926:4;:8;10931:2;10926:8;;;;;;;;;;;;;;;;;;;;;;;;;10925:9;10910:24;10902:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;11000:13;;;;;;;;;;;10994:19;;:2;:19;;;10991:146;;11067:14;;11058:6;11042:13;11052:2;11042:9;:13::i;:::-;:22;;;;:::i;:::-;:39;11034:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;10991:146;11153:28;11184:24;11202:4;11184:9;:24::i;:::-;11153:55;;11223:12;11262:19;;11238:20;:43;;11223:58;;11325:12;;11301:20;:36;11298:124;;11394:12;;11371:35;;11298:124;11442:7;:18;;;;;11454:6;;;;;;;;;;;11453:7;11442:18;:43;;;;;11472:13;;;;;;;;;;;11464:21;;:4;:21;;;;11442:43;:58;;;;;11489:11;;;;;;;;;;;11442:58;:87;;;;;11505:18;:24;11524:4;11505:24;;;;;;;;;;;;;;;;;;;;;;;;;11504:25;11442:87;:114;;;;;11534:18;:22;11553:2;11534:22;;;;;;;;;;;;;;;;;;;;;;;;;11533:23;11442:114;11438:386;;;11577:38;11594:20;11577:16;:38::i;:::-;11634:26;11663:21;11634:50;;11728:1;11707:18;:22;11703:106;;;11754:35;11767:21;11754:12;:35::i;:::-;11703:106;11558:266;11438:386;10614:1221;;10538:1297;11847:12;11862:4;11847:19;;11911:18;:24;11930:4;11911:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;11939:18;:22;11958:2;11939:22;;;;;;;;;;;;;;;;;;;;;;;;;11911:50;11910:102;;;;11975:13;;;;;;;;;;;11967:21;;:4;:21;;;;:44;;;;;11998:13;;;;;;;;;;;11992:19;;:2;:19;;;;11967:44;11910:102;11906:594;;;12039:5;12029:15;;11906:594;;;12122:13;;;;;;;;;;;12114:21;;:4;:21;;;:55;;;;;12153:15;;;;;;;;;;;12139:30;;:2;:30;;;;12114:55;12111:162;;;12202:14;;12190:9;:26;;;;12245:12;;12235:7;:22;;;;12111:162;12332:13;;;;;;;;;;;12326:19;;:2;:19;;;:55;;;;;12365:15;;;;;;;;;;;12349:32;;:4;:32;;;;12326:55;12322:165;;;12414:15;;12402:9;:27;;;;12458:13;;12448:7;:23;;;;12322:165;11906:594;12512:41;12527:4;12533:2;12537:6;12545:7;12512:14;:41::i;:::-;10296:2265;10193:2368;;;:::o;2741:224::-;2861:7;2894:1;2889;:6;;2897:12;2881:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2921:9;2937:1;2933;:5;;;;:::i;:::-;2921:17;;2956:1;2949:8;;;2741:224;;;;;:::o;13060:515::-;6458:4;6449:6;;:13;;;;;;;;;;;;;;;;;;13129:23:::1;13155:6;13129:32;;13172:22;13197:52;13245:3;13197:43;13217:12;:22;;;13197:15;:19;;:43;;;;:::i;:::-;:47;;:52;;;;:::i;:::-;13172:77;;13260:19;13282:56;13336:1;13282:49;13327:3;13282:40;13302:12;:19;;;13282:15;:19;;:40;;;;:::i;:::-;:44;;:49;;;;:::i;:::-;:53;;:56;;;;:::i;:::-;13260:78;;13357:16;;;;;;;;;;;13349:34;;:50;13384:14;13349:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;13418:14;;;;;;;;;;;13410:32;;:45;13443:11;13410:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;13474:14;;;;;;;;;;;13466:32;;:45;13499:11;13466:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;13530:14;;;;;;;;;;;13522:32;;:45;13555:11;13522:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;13118:457;;;6494:5:::0;6485:6;;:14;;;;;;;;;;;;;;;;;;13060:515;:::o;9133:323::-;9228:7;9286;;9275;:18;;9253:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;9374:19;9396:10;:8;:10::i;:::-;9374:32;;9424:24;9436:11;9424:7;:11;;:24;;;;:::i;:::-;9417:31;;;9133:323;;;:::o;12569:483::-;6458:4;6449:6;;:13;;;;;;;;;;;;;;;;;;12647:21:::1;12685:1;12671:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12647:40;;12716:4;12698;12703:1;12698:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12742:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12732:4;12737:1;12732:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12775:62;12792:4;12807:15;;;;;;;;;;;12825:11;12775:8;:62::i;:::-;12848:15;;;;;;;;;;;:66;;;12929:11;12955:1;12971:4;12998;13018:15;12848:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12636:416;6494:5:::0;6485:6;;:14;;;;;;;;;;;;;;;;;;12569:483;:::o;14580:282::-;14736:7;14731:28;;14745:14;:12;:14::i;:::-;14731:28;14770:44;14788:6;14796:9;14807:6;14770:17;:44::i;:::-;14830:7;14825:29;;14839:15;:13;:15::i;:::-;14825:29;14580:282;;;;:::o;2973:246::-;3031:7;3060:1;3055;:6;3051:47;;3085:1;3078:8;;;;3051:47;3108:9;3124:1;3120;:5;;;;:::i;:::-;3108:17;;3153:1;3148;3144;:5;;;;:::i;:::-;:10;3136:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;3210:1;3203:8;;;2973:246;;;;;:::o;3227:132::-;3285:7;3312:39;3316:1;3319;3312:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3305:46;;3227:132;;;;:::o;17732:164::-;17774:7;17795:15;17812;17831:19;:17;:19::i;:::-;17794:56;;;;17868:20;17880:7;17868;:11;;:20;;;;:::i;:::-;17861:27;;;;17732:164;:::o;9464:219::-;9524:1;9511:9;;:14;:30;;;;;9540:1;9529:7;;:12;9511:30;9543:7;9507:43;9582:9;;9562:17;:29;;;;9620:7;;9602:15;:25;;;;9652:1;9640:9;:13;;;;9674:1;9664:7;:11;;;;9464:219;:::o;14870:610::-;15017:15;15047:23;15085:12;15112:23;15150:12;15177:13;15204:19;15215:7;15204:10;:19::i;:::-;15002:221;;;;;;;;;;;;15252:28;15272:7;15252;:15;15260:6;15252:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;15234:7;:15;15242:6;15234:15;;;;;;;;;;;;;;;:46;;;;15312:39;15335:15;15312:7;:18;15320:9;15312:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;15291:7;:18;15299:9;15291:18;;;;;;;;;;;;;;;:60;;;;15362:16;15372:5;15362:9;:16::i;:::-;15389:23;15401:4;15407;15389:11;:23::i;:::-;15445:9;15428:44;;15437:6;15428:44;;;15456:15;15428:44;;;;;;:::i;:::-;;;;;;;;14991:489;;;;;;14870:610;;;:::o;9691:117::-;9747:17;;9735:9;:29;;;;9785:15;;9775:7;:25;;;;9691:117::o;3367:223::-;3487:7;3519:1;3515;:5;3522:12;3507:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3546:9;3562:1;3558;:5;;;;:::i;:::-;3546:17;;3581:1;3574:8;;;3367:223;;;;;:::o;17904:257::-;17955:7;17964;17984:15;18002:7;;17984:25;;18020:15;4719:1;5058:2;:13;;;;:::i;:::-;5045:10;:26;;;;:::i;:::-;18020:25;;18070:20;4719:1;5058:2;:13;;;;:::i;:::-;5045:10;:26;;;;:::i;:::-;18070:7;;:11;;:20;;;;:::i;:::-;18060:7;:30;18056:61;;;18100:7;;4719:1;5058:2;:13;;;;:::i;:::-;5045:10;:26;;;;:::i;:::-;18092:25;;;;;;;;18056:61;18136:7;18145;18128:25;;;;;;17904:257;;;:::o;16090:615::-;16190:7;16212;16234;16256;16278;16300;16336:23;16361:12;16375:13;16405:40;16417:7;16426:9;;16437:7;;16405:11;:40::i;:::-;16335:110;;;;;;16456:19;16478:10;:8;:10::i;:::-;16456:32;;16500:15;16517:23;16542:12;16571:46;16583:7;16592:4;16598:5;16605:11;16571;:46::i;:::-;16499:118;;;;;;16636:7;16645:15;16662:4;16668:15;16685:4;16691:5;16628:69;;;;;;;;;;;;;;;;;;;16090:615;;;;;;;:::o;2597:136::-;2655:7;2682:43;2686:1;2689;2682:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2675:50;;2597:136;;;;:::o;2410:179::-;2468:7;2488:9;2504:1;2500;:5;;;;:::i;:::-;2488:17;;2529:1;2524;:6;;2516:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2580:1;2573:8;;;2410:179;;;;:::o;15673:211::-;15726:19;15748:10;:8;:10::i;:::-;15726:32;;15769:13;15785:22;15795:11;15785:5;:9;;:22;;;;:::i;:::-;15769:38;;15843:33;15870:5;15843:7;:22;15859:4;15843:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;15818:7;:22;15834:4;15818:22;;;;;;;;;;;;;;;:58;;;;15715:169;;15673:211;:::o;15892:147::-;15970:17;15982:4;15970:7;;:11;;:17;;;;:::i;:::-;15960:7;:27;;;;16011:20;16026:4;16011:10;;:14;;:20;;;;:::i;:::-;15998:10;:33;;;;15892:147;;:::o;16713:469::-;16882:7;16904;16926;16961:12;16976:30;17002:3;16976:21;16988:8;16976:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;16961:45;;17017:13;17033:28;17057:3;17033:19;17045:6;17033:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;17017:44;;17072:23;17098:28;17120:5;17098:17;17110:4;17098:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;17072:54;;17145:15;17162:4;17168:5;17137:37;;;;;;;;;16713:469;;;;;;;:::o;17190:534::-;17384:7;17406;17428;17463:15;17481:24;17493:11;17481:7;:11;;:24;;;;:::i;:::-;17463:42;;17516:12;17531:21;17540:11;17531:4;:8;;:21;;;;:::i;:::-;17516:36;;17563:13;17579:22;17589:11;17579:5;:9;;:22;;;;:::i;:::-;17563:38;;17612:23;17638:28;17660:5;17638:17;17650:4;17638:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;17612:54;;17685:7;17694:15;17711:4;17677:39;;;;;;;;;;17190:534;;;;;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:126;1650:7;1690:42;1683:5;1679:54;1668:65;;1613:126;;;:::o;1745:96::-;1782:7;1811:24;1829:5;1811:24;:::i;:::-;1800:35;;1745:96;;;:::o;1847:122::-;1920:24;1938:5;1920:24;:::i;:::-;1913:5;1910:35;1900:63;;1959:1;1956;1949:12;1900:63;1847:122;:::o;1975:139::-;2021:5;2059:6;2046:20;2037:29;;2075:33;2102:5;2075:33;:::i;:::-;1975:139;;;;:::o;2137:710::-;2233:5;2258:81;2274:64;2331:6;2274:64;:::i;:::-;2258:81;:::i;:::-;2249:90;;2359:5;2388:6;2381:5;2374:21;2422:4;2415:5;2411:16;2404:23;;2475:4;2467:6;2463:17;2455:6;2451:30;2504:3;2496:6;2493:15;2490:122;;;2523:79;;:::i;:::-;2490:122;2638:6;2621:220;2655:6;2650:3;2647:15;2621:220;;;2730:3;2759:37;2792:3;2780:10;2759:37;:::i;:::-;2754:3;2747:50;2826:4;2821:3;2817:14;2810:21;;2697:144;2681:4;2676:3;2672:14;2665:21;;2621:220;;;2625:21;2239:608;;2137:710;;;;;:::o;2870:370::-;2941:5;2990:3;2983:4;2975:6;2971:17;2967:27;2957:122;;2998:79;;:::i;:::-;2957:122;3115:6;3102:20;3140:94;3230:3;3222:6;3215:4;3207:6;3203:17;3140:94;:::i;:::-;3131:103;;2947:293;2870:370;;;;:::o;3246:539::-;3330:6;3379:2;3367:9;3358:7;3354:23;3350:32;3347:119;;;3385:79;;:::i;:::-;3347:119;3533:1;3522:9;3518:17;3505:31;3563:18;3555:6;3552:30;3549:117;;;3585:79;;:::i;:::-;3549:117;3690:78;3760:7;3751:6;3740:9;3736:22;3690:78;:::i;:::-;3680:88;;3476:302;3246:539;;;;:::o;3791:99::-;3843:6;3877:5;3871:12;3861:22;;3791:99;;;:::o;3896:169::-;3980:11;4014:6;4009:3;4002:19;4054:4;4049:3;4045:14;4030:29;;3896:169;;;;:::o;4071:307::-;4139:1;4149:113;4163:6;4160:1;4157:13;4149:113;;;4248:1;4243:3;4239:11;4233:18;4229:1;4224:3;4220:11;4213:39;4185:2;4182:1;4178:10;4173:15;;4149:113;;;4280:6;4277:1;4274:13;4271:101;;;4360:1;4351:6;4346:3;4342:16;4335:27;4271:101;4120:258;4071:307;;;:::o;4384:364::-;4472:3;4500:39;4533:5;4500:39;:::i;:::-;4555:71;4619:6;4614:3;4555:71;:::i;:::-;4548:78;;4635:52;4680:6;4675:3;4668:4;4661:5;4657:16;4635:52;:::i;:::-;4712:29;4734:6;4712:29;:::i;:::-;4707:3;4703:39;4696:46;;4476:272;4384:364;;;;:::o;4754:313::-;4867:4;4905:2;4894:9;4890:18;4882:26;;4954:9;4948:4;4944:20;4940:1;4929:9;4925:17;4918:47;4982:78;5055:4;5046:6;4982:78;:::i;:::-;4974:86;;4754:313;;;;:::o;5073:77::-;5110:7;5139:5;5128:16;;5073:77;;;:::o;5156:122::-;5229:24;5247:5;5229:24;:::i;:::-;5222:5;5219:35;5209:63;;5268:1;5265;5258:12;5209:63;5156:122;:::o;5284:139::-;5330:5;5368:6;5355:20;5346:29;;5384:33;5411:5;5384:33;:::i;:::-;5284:139;;;;:::o;5429:474::-;5497:6;5505;5554:2;5542:9;5533:7;5529:23;5525:32;5522:119;;;5560:79;;:::i;:::-;5522:119;5680:1;5705:53;5750:7;5741:6;5730:9;5726:22;5705:53;:::i;:::-;5695:63;;5651:117;5807:2;5833:53;5878:7;5869:6;5858:9;5854:22;5833:53;:::i;:::-;5823:63;;5778:118;5429:474;;;;;:::o;5909:90::-;5943:7;5986:5;5979:13;5972:21;5961:32;;5909:90;;;:::o;6005:109::-;6086:21;6101:5;6086:21;:::i;:::-;6081:3;6074:34;6005:109;;:::o;6120:210::-;6207:4;6245:2;6234:9;6230:18;6222:26;;6258:65;6320:1;6309:9;6305:17;6296:6;6258:65;:::i;:::-;6120:210;;;;:::o;6336:60::-;6364:3;6385:5;6378:12;;6336:60;;;:::o;6402:142::-;6452:9;6485:53;6503:34;6512:24;6530:5;6512:24;:::i;:::-;6503:34;:::i;:::-;6485:53;:::i;:::-;6472:66;;6402:142;;;:::o;6550:126::-;6600:9;6633:37;6664:5;6633:37;:::i;:::-;6620:50;;6550:126;;;:::o;6682:152::-;6758:9;6791:37;6822:5;6791:37;:::i;:::-;6778:50;;6682:152;;;:::o;6840:183::-;6953:63;7010:5;6953:63;:::i;:::-;6948:3;6941:76;6840:183;;:::o;7029:274::-;7148:4;7186:2;7175:9;7171:18;7163:26;;7199:97;7293:1;7282:9;7278:17;7269:6;7199:97;:::i;:::-;7029:274;;;;:::o;7309:118::-;7396:24;7414:5;7396:24;:::i;:::-;7391:3;7384:37;7309:118;;:::o;7433:222::-;7526:4;7564:2;7553:9;7549:18;7541:26;;7577:71;7645:1;7634:9;7630:17;7621:6;7577:71;:::i;:::-;7433:222;;;;:::o;7661:619::-;7738:6;7746;7754;7803:2;7791:9;7782:7;7778:23;7774:32;7771:119;;;7809:79;;:::i;:::-;7771:119;7929:1;7954:53;7999:7;7990:6;7979:9;7975:22;7954:53;:::i;:::-;7944:63;;7900:117;8056:2;8082:53;8127:7;8118:6;8107:9;8103:22;8082:53;:::i;:::-;8072:63;;8027:118;8184:2;8210:53;8255:7;8246:6;8235:9;8231:22;8210:53;:::i;:::-;8200:63;;8155:118;7661:619;;;;;:::o;8286:86::-;8321:7;8361:4;8354:5;8350:16;8339:27;;8286:86;;;:::o;8378:112::-;8461:22;8477:5;8461:22;:::i;:::-;8456:3;8449:35;8378:112;;:::o;8496:214::-;8585:4;8623:2;8612:9;8608:18;8600:26;;8636:67;8700:1;8689:9;8685:17;8676:6;8636:67;:::i;:::-;8496:214;;;;:::o;8716:118::-;8803:24;8821:5;8803:24;:::i;:::-;8798:3;8791:37;8716:118;;:::o;8840:222::-;8933:4;8971:2;8960:9;8956:18;8948:26;;8984:71;9052:1;9041:9;9037:17;9028:6;8984:71;:::i;:::-;8840:222;;;;:::o;9068:332::-;9189:4;9227:2;9216:9;9212:18;9204:26;;9240:71;9308:1;9297:9;9293:17;9284:6;9240:71;:::i;:::-;9321:72;9389:2;9378:9;9374:18;9365:6;9321:72;:::i;:::-;9068:332;;;;;:::o;9406:117::-;9515:1;9512;9505:12;9546:568;9619:8;9629:6;9679:3;9672:4;9664:6;9660:17;9656:27;9646:122;;9687:79;;:::i;:::-;9646:122;9800:6;9787:20;9777:30;;9830:18;9822:6;9819:30;9816:117;;;9852:79;;:::i;:::-;9816:117;9966:4;9958:6;9954:17;9942:29;;10020:3;10012:4;10004:6;10000:17;9990:8;9986:32;9983:41;9980:128;;;10027:79;;:::i;:::-;9980:128;9546:568;;;;;:::o;10120:559::-;10206:6;10214;10263:2;10251:9;10242:7;10238:23;10234:32;10231:119;;;10269:79;;:::i;:::-;10231:119;10417:1;10406:9;10402:17;10389:31;10447:18;10439:6;10436:30;10433:117;;;10469:79;;:::i;:::-;10433:117;10582:80;10654:7;10645:6;10634:9;10630:22;10582:80;:::i;:::-;10564:98;;;;10360:312;10120:559;;;;;:::o;10685:329::-;10744:6;10793:2;10781:9;10772:7;10768:23;10764:32;10761:119;;;10799:79;;:::i;:::-;10761:119;10919:1;10944:53;10989:7;10980:6;10969:9;10965:22;10944:53;:::i;:::-;10934:63;;10890:117;10685:329;;;;:::o;11020:116::-;11090:21;11105:5;11090:21;:::i;:::-;11083:5;11080:32;11070:60;;11126:1;11123;11116:12;11070:60;11020:116;:::o;11142:133::-;11185:5;11223:6;11210:20;11201:29;;11239:30;11263:5;11239:30;:::i;:::-;11142:133;;;;:::o;11281:323::-;11337:6;11386:2;11374:9;11365:7;11361:23;11357:32;11354:119;;;11392:79;;:::i;:::-;11354:119;11512:1;11537:50;11579:7;11570:6;11559:9;11555:22;11537:50;:::i;:::-;11527:60;;11483:114;11281:323;;;;:::o;11610:329::-;11669:6;11718:2;11706:9;11697:7;11693:23;11689:32;11686:119;;;11724:79;;:::i;:::-;11686:119;11844:1;11869:53;11914:7;11905:6;11894:9;11890:22;11869:53;:::i;:::-;11859:63;;11815:117;11610:329;;;;:::o;11945:765::-;12031:6;12039;12047;12055;12104:3;12092:9;12083:7;12079:23;12075:33;12072:120;;;12111:79;;:::i;:::-;12072:120;12231:1;12256:53;12301:7;12292:6;12281:9;12277:22;12256:53;:::i;:::-;12246:63;;12202:117;12358:2;12384:53;12429:7;12420:6;12409:9;12405:22;12384:53;:::i;:::-;12374:63;;12329:118;12486:2;12512:53;12557:7;12548:6;12537:9;12533:22;12512:53;:::i;:::-;12502:63;;12457:118;12614:2;12640:53;12685:7;12676:6;12665:9;12661:22;12640:53;:::i;:::-;12630:63;;12585:118;11945:765;;;;;;;:::o;12716:698::-;12808:6;12816;12824;12873:2;12861:9;12852:7;12848:23;12844:32;12841:119;;;12879:79;;:::i;:::-;12841:119;13027:1;13016:9;13012:17;12999:31;13057:18;13049:6;13046:30;13043:117;;;13079:79;;:::i;:::-;13043:117;13192:80;13264:7;13255:6;13244:9;13240:22;13192:80;:::i;:::-;13174:98;;;;12970:312;13321:2;13347:50;13389:7;13380:6;13369:9;13365:22;13347:50;:::i;:::-;13337:60;;13292:115;12716:698;;;;;:::o;13420:474::-;13488:6;13496;13545:2;13533:9;13524:7;13520:23;13516:32;13513:119;;;13551:79;;:::i;:::-;13513:119;13671:1;13696:53;13741:7;13732:6;13721:9;13717:22;13696:53;:::i;:::-;13686:63;;13642:117;13798:2;13824:53;13869:7;13860:6;13849:9;13845:22;13824:53;:::i;:::-;13814:63;;13769:118;13420:474;;;;;:::o;13900:::-;13968:6;13976;14025:2;14013:9;14004:7;14000:23;13996:32;13993:119;;;14031:79;;:::i;:::-;13993:119;14151:1;14176:53;14221:7;14212:6;14201:9;14197:22;14176:53;:::i;:::-;14166:63;;14122:117;14278:2;14304:53;14349:7;14340:6;14329:9;14325:22;14304:53;:::i;:::-;14294:63;;14249:118;13900:474;;;;;:::o;14380:182::-;14520:34;14516:1;14508:6;14504:14;14497:58;14380:182;:::o;14568:366::-;14710:3;14731:67;14795:2;14790:3;14731:67;:::i;:::-;14724:74;;14807:93;14896:3;14807:93;:::i;:::-;14925:2;14920:3;14916:12;14909:19;;14568:366;;;:::o;14940:419::-;15106:4;15144:2;15133:9;15129:18;15121:26;;15193:9;15187:4;15183:20;15179:1;15168:9;15164:17;15157:47;15221:131;15347:4;15221:131;:::i;:::-;15213:139;;14940:419;;;:::o;15365:180::-;15413:77;15410:1;15403:88;15510:4;15507:1;15500:15;15534:4;15531:1;15524:15;15551:180;15599:77;15596:1;15589:88;15696:4;15693:1;15686:15;15720:4;15717:1;15710:15;15737:233;15776:3;15799:24;15817:5;15799:24;:::i;:::-;15790:33;;15845:66;15838:5;15835:77;15832:103;;15915:18;;:::i;:::-;15832:103;15962:1;15955:5;15951:13;15944:20;;15737:233;;;:::o;15976:102::-;16018:8;16065:5;16062:1;16058:13;16037:34;;15976:102;;;:::o;16084:848::-;16145:5;16152:4;16176:6;16167:15;;16200:5;16191:14;;16214:712;16235:1;16225:8;16222:15;16214:712;;;16330:4;16325:3;16321:14;16315:4;16312:24;16309:50;;;16339:18;;:::i;:::-;16309:50;16389:1;16379:8;16375:16;16372:451;;;16804:4;16797:5;16793:16;16784:25;;16372:451;16854:4;16848;16844:15;16836:23;;16884:32;16907:8;16884:32;:::i;:::-;16872:44;;16214:712;;;16084:848;;;;;;;:::o;16938:1073::-;16992:5;17183:8;17173:40;;17204:1;17195:10;;17206:5;;17173:40;17232:4;17222:36;;17249:1;17240:10;;17251:5;;17222:36;17318:4;17366:1;17361:27;;;;17402:1;17397:191;;;;17311:277;;17361:27;17379:1;17370:10;;17381:5;;;17397:191;17442:3;17432:8;17429:17;17426:43;;;17449:18;;:::i;:::-;17426:43;17498:8;17495:1;17491:16;17482:25;;17533:3;17526:5;17523:14;17520:40;;;17540:18;;:::i;:::-;17520:40;17573:5;;;17311:277;;17697:2;17687:8;17684:16;17678:3;17672:4;17669:13;17665:36;17647:2;17637:8;17634:16;17629:2;17623:4;17620:12;17616:35;17600:111;17597:246;;;17753:8;17747:4;17743:19;17734:28;;17788:3;17781:5;17778:14;17775:40;;;17795:18;;:::i;:::-;17775:40;17828:5;;17597:246;17868:42;17906:3;17896:8;17890:4;17887:1;17868:42;:::i;:::-;17853:57;;;;17942:4;17937:3;17933:14;17926:5;17923:25;17920:51;;;17951:18;;:::i;:::-;17920:51;18000:4;17993:5;17989:16;17980:25;;16938:1073;;;;;;:::o;18017:281::-;18075:5;18099:23;18117:4;18099:23;:::i;:::-;18091:31;;18143:25;18159:8;18143:25;:::i;:::-;18131:37;;18187:104;18224:66;18214:8;18208:4;18187:104;:::i;:::-;18178:113;;18017:281;;;;:::o;18304:348::-;18344:7;18367:20;18385:1;18367:20;:::i;:::-;18362:25;;18401:20;18419:1;18401:20;:::i;:::-;18396:25;;18589:1;18521:66;18517:74;18514:1;18511:81;18506:1;18499:9;18492:17;18488:105;18485:131;;;18596:18;;:::i;:::-;18485:131;18644:1;18641;18637:9;18626:20;;18304:348;;;;:::o;18658:225::-;18798:34;18794:1;18786:6;18782:14;18775:58;18867:8;18862:2;18854:6;18850:15;18843:33;18658:225;:::o;18889:366::-;19031:3;19052:67;19116:2;19111:3;19052:67;:::i;:::-;19045:74;;19128:93;19217:3;19128:93;:::i;:::-;19246:2;19241:3;19237:12;19230:19;;18889:366;;;:::o;19261:419::-;19427:4;19465:2;19454:9;19450:18;19442:26;;19514:9;19508:4;19504:20;19500:1;19489:9;19485:17;19478:47;19542:131;19668:4;19542:131;:::i;:::-;19534:139;;19261:419;;;:::o;19686:223::-;19826:34;19822:1;19814:6;19810:14;19803:58;19895:6;19890:2;19882:6;19878:15;19871:31;19686:223;:::o;19915:366::-;20057:3;20078:67;20142:2;20137:3;20078:67;:::i;:::-;20071:74;;20154:93;20243:3;20154:93;:::i;:::-;20272:2;20267:3;20263:12;20256:19;;19915:366;;;:::o;20287:419::-;20453:4;20491:2;20480:9;20476:18;20468:26;;20540:9;20534:4;20530:20;20526:1;20515:9;20511:17;20504:47;20568:131;20694:4;20568:131;:::i;:::-;20560:139;;20287:419;;;:::o;20712:221::-;20852:34;20848:1;20840:6;20836:14;20829:58;20921:4;20916:2;20908:6;20904:15;20897:29;20712:221;:::o;20939:366::-;21081:3;21102:67;21166:2;21161:3;21102:67;:::i;:::-;21095:74;;21178:93;21267:3;21178:93;:::i;:::-;21296:2;21291:3;21287:12;21280:19;;20939:366;;;:::o;21311:419::-;21477:4;21515:2;21504:9;21500:18;21492:26;;21564:9;21558:4;21554:20;21550:1;21539:9;21535:17;21528:47;21592:131;21718:4;21592:131;:::i;:::-;21584:139;;21311:419;;;:::o;21736:224::-;21876:34;21872:1;21864:6;21860:14;21853:58;21945:7;21940:2;21932:6;21928:15;21921:32;21736:224;:::o;21966:366::-;22108:3;22129:67;22193:2;22188:3;22129:67;:::i;:::-;22122:74;;22205:93;22294:3;22205:93;:::i;:::-;22323:2;22318:3;22314:12;22307:19;;21966:366;;;:::o;22338:419::-;22504:4;22542:2;22531:9;22527:18;22519:26;;22591:9;22585:4;22581:20;22577:1;22566:9;22562:17;22555:47;22619:131;22745:4;22619:131;:::i;:::-;22611:139;;22338:419;;;:::o;22763:222::-;22903:34;22899:1;22891:6;22887:14;22880:58;22972:5;22967:2;22959:6;22955:15;22948:30;22763:222;:::o;22991:366::-;23133:3;23154:67;23218:2;23213:3;23154:67;:::i;:::-;23147:74;;23230:93;23319:3;23230:93;:::i;:::-;23348:2;23343:3;23339:12;23332:19;;22991:366;;;:::o;23363:419::-;23529:4;23567:2;23556:9;23552:18;23544:26;;23616:9;23610:4;23606:20;23602:1;23591:9;23587:17;23580:47;23644:131;23770:4;23644:131;:::i;:::-;23636:139;;23363:419;;;:::o;23788:228::-;23928:34;23924:1;23916:6;23912:14;23905:58;23997:11;23992:2;23984:6;23980:15;23973:36;23788:228;:::o;24022:366::-;24164:3;24185:67;24249:2;24244:3;24185:67;:::i;:::-;24178:74;;24261:93;24350:3;24261:93;:::i;:::-;24379:2;24374:3;24370:12;24363:19;;24022:366;;;:::o;24394:419::-;24560:4;24598:2;24587:9;24583:18;24575:26;;24647:9;24641:4;24637:20;24633:1;24622:9;24618:17;24611:47;24675:131;24801:4;24675:131;:::i;:::-;24667:139;;24394:419;;;:::o;24819:250::-;24959:34;24955:1;24947:6;24943:14;24936:58;25028:33;25023:2;25015:6;25011:15;25004:58;24819:250;:::o;25075:366::-;25217:3;25238:67;25302:2;25297:3;25238:67;:::i;:::-;25231:74;;25314:93;25403:3;25314:93;:::i;:::-;25432:2;25427:3;25423:12;25416:19;;25075:366;;;:::o;25447:419::-;25613:4;25651:2;25640:9;25636:18;25628:26;;25700:9;25694:4;25690:20;25686:1;25675:9;25671:17;25664:47;25728:131;25854:4;25728:131;:::i;:::-;25720:139;;25447:419;;;:::o;25872:178::-;26012:30;26008:1;26000:6;25996:14;25989:54;25872:178;:::o;26056:366::-;26198:3;26219:67;26283:2;26278:3;26219:67;:::i;:::-;26212:74;;26295:93;26384:3;26295:93;:::i;:::-;26413:2;26408:3;26404:12;26397:19;;26056:366;;;:::o;26428:419::-;26594:4;26632:2;26621:9;26617:18;26609:26;;26681:9;26675:4;26671:20;26667:1;26656:9;26652:17;26645:47;26709:131;26835:4;26709:131;:::i;:::-;26701:139;;26428:419;;;:::o;26853:222::-;26993:34;26989:1;26981:6;26977:14;26970:58;27062:5;27057:2;27049:6;27045:15;27038:30;26853:222;:::o;27081:366::-;27223:3;27244:67;27308:2;27303:3;27244:67;:::i;:::-;27237:74;;27320:93;27409:3;27320:93;:::i;:::-;27438:2;27433:3;27429:12;27422:19;;27081:366;;;:::o;27453:419::-;27619:4;27657:2;27646:9;27642:18;27634:26;;27706:9;27700:4;27696:20;27692:1;27681:9;27677:17;27670:47;27734:131;27860:4;27734:131;:::i;:::-;27726:139;;27453:419;;;:::o;27878:305::-;27918:3;27937:20;27955:1;27937:20;:::i;:::-;27932:25;;27971:20;27989:1;27971:20;:::i;:::-;27966:25;;28125:1;28057:66;28053:74;28050:1;28047:81;28044:107;;;28131:18;;:::i;:::-;28044:107;28175:1;28172;28168:9;28161:16;;27878:305;;;;:::o;28189:222::-;28329:34;28325:1;28317:6;28313:14;28306:58;28398:5;28393:2;28385:6;28381:15;28374:30;28189:222;:::o;28417:366::-;28559:3;28580:67;28644:2;28639:3;28580:67;:::i;:::-;28573:74;;28656:93;28745:3;28656:93;:::i;:::-;28774:2;28769:3;28765:12;28758:19;;28417:366;;;:::o;28789:419::-;28955:4;28993:2;28982:9;28978:18;28970:26;;29042:9;29036:4;29032:20;29028:1;29017:9;29013:17;29006:47;29070:131;29196:4;29070:131;:::i;:::-;29062:139;;28789:419;;;:::o;29214:191::-;29254:4;29274:20;29292:1;29274:20;:::i;:::-;29269:25;;29308:20;29326:1;29308:20;:::i;:::-;29303:25;;29347:1;29344;29341:8;29338:34;;;29352:18;;:::i;:::-;29338:34;29397:1;29394;29390:9;29382:17;;29214:191;;;;:::o;29411:229::-;29551:34;29547:1;29539:6;29535:14;29528:58;29620:12;29615:2;29607:6;29603:15;29596:37;29411:229;:::o;29646:366::-;29788:3;29809:67;29873:2;29868:3;29809:67;:::i;:::-;29802:74;;29885:93;29974:3;29885:93;:::i;:::-;30003:2;29998:3;29994:12;29987:19;;29646:366;;;:::o;30018:419::-;30184:4;30222:2;30211:9;30207:18;30199:26;;30271:9;30265:4;30261:20;30257:1;30246:9;30242:17;30235:47;30299:131;30425:4;30299:131;:::i;:::-;30291:139;;30018:419;;;:::o;30443:143::-;30500:5;30531:6;30525:13;30516:22;;30547:33;30574:5;30547:33;:::i;:::-;30443:143;;;;:::o;30592:351::-;30662:6;30711:2;30699:9;30690:7;30686:23;30682:32;30679:119;;;30717:79;;:::i;:::-;30679:119;30837:1;30862:64;30918:7;30909:6;30898:9;30894:22;30862:64;:::i;:::-;30852:74;;30808:128;30592:351;;;;:::o;30949:85::-;30994:7;31023:5;31012:16;;30949:85;;;:::o;31040:158::-;31098:9;31131:61;31149:42;31158:32;31184:5;31158:32;:::i;:::-;31149:42;:::i;:::-;31131:61;:::i;:::-;31118:74;;31040:158;;;:::o;31204:147::-;31299:45;31338:5;31299:45;:::i;:::-;31294:3;31287:58;31204:147;;:::o;31357:114::-;31424:6;31458:5;31452:12;31442:22;;31357:114;;;:::o;31477:184::-;31576:11;31610:6;31605:3;31598:19;31650:4;31645:3;31641:14;31626:29;;31477:184;;;;:::o;31667:132::-;31734:4;31757:3;31749:11;;31787:4;31782:3;31778:14;31770:22;;31667:132;;;:::o;31805:108::-;31882:24;31900:5;31882:24;:::i;:::-;31877:3;31870:37;31805:108;;:::o;31919:179::-;31988:10;32009:46;32051:3;32043:6;32009:46;:::i;:::-;32087:4;32082:3;32078:14;32064:28;;31919:179;;;;:::o;32104:113::-;32174:4;32206;32201:3;32197:14;32189:22;;32104:113;;;:::o;32253:732::-;32372:3;32401:54;32449:5;32401:54;:::i;:::-;32471:86;32550:6;32545:3;32471:86;:::i;:::-;32464:93;;32581:56;32631:5;32581:56;:::i;:::-;32660:7;32691:1;32676:284;32701:6;32698:1;32695:13;32676:284;;;32777:6;32771:13;32804:63;32863:3;32848:13;32804:63;:::i;:::-;32797:70;;32890:60;32943:6;32890:60;:::i;:::-;32880:70;;32736:224;32723:1;32720;32716:9;32711:14;;32676:284;;;32680:14;32976:3;32969:10;;32377:608;;;32253:732;;;;:::o;32991:831::-;33254:4;33292:3;33281:9;33277:19;33269:27;;33306:71;33374:1;33363:9;33359:17;33350:6;33306:71;:::i;:::-;33387:80;33463:2;33452:9;33448:18;33439:6;33387:80;:::i;:::-;33514:9;33508:4;33504:20;33499:2;33488:9;33484:18;33477:48;33542:108;33645:4;33636:6;33542:108;:::i;:::-;33534:116;;33660:72;33728:2;33717:9;33713:18;33704:6;33660:72;:::i;:::-;33742:73;33810:3;33799:9;33795:19;33786:6;33742:73;:::i;:::-;32991:831;;;;;;;;:::o;33828:180::-;33876:77;33873:1;33866:88;33973:4;33970:1;33963:15;33997:4;33994:1;33987:15;34014:185;34054:1;34071:20;34089:1;34071:20;:::i;:::-;34066:25;;34105:20;34123:1;34105:20;:::i;:::-;34100:25;;34144:1;34134:35;;34149:18;;:::i;:::-;34134:35;34191:1;34188;34184:9;34179:14;;34014:185;;;;:::o;34205:220::-;34345:34;34341:1;34333:6;34329:14;34322:58;34414:3;34409:2;34401:6;34397:15;34390:28;34205:220;:::o;34431:366::-;34573:3;34594:67;34658:2;34653:3;34594:67;:::i;:::-;34587:74;;34670:93;34759:3;34670:93;:::i;:::-;34788:2;34783:3;34779:12;34772:19;;34431:366;;;:::o;34803:419::-;34969:4;35007:2;34996:9;34992:18;34984:26;;35056:9;35050:4;35046:20;35042:1;35031:9;35027:17;35020:47;35084:131;35210:4;35084:131;:::i;:::-;35076:139;;34803:419;;;:::o;35228:177::-;35368:29;35364:1;35356:6;35352:14;35345:53;35228:177;:::o;35411:366::-;35553:3;35574:67;35638:2;35633:3;35574:67;:::i;:::-;35567:74;;35650:93;35739:3;35650:93;:::i;:::-;35768:2;35763:3;35759:12;35752:19;;35411:366;;;:::o;35783:419::-;35949:4;35987:2;35976:9;35972:18;35964:26;;36036:9;36030:4;36026:20;36022:1;36011:9;36007:17;36000:47;36064:131;36190:4;36064:131;:::i;:::-;36056:139;;35783:419;;;:::o
Swarm Source
ipfs://0b03751eee36b9edd5b36efa838ea1a4ff2d0948aa20ad87c94df7a8a9e4a968
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.