Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000,000 UNIX
Holders
12
Total Transfers
-
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
UNIX
Compiler Version
v0.8.5+commit.a4f2e591
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-07-18 */ // SPDX-License-Identifier: MIT //https://t.me/unixerc20 pragma solidity ^0.8.4; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; 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); } } 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 UNIX is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "UNIX"; string private constant _symbol = "UNIX"; 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 = 1000000000000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _taxFee = 0; uint256 private _teamFee = 0; mapping(address => bool) private bots; mapping(address => uint256) private buycooldown; mapping(address => uint256) private sellcooldown; mapping(address => uint256) private firstsell; mapping(address => uint256) private sellnumber; address payable private _teamAddress; address payable private _marketingFunds; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen = false; bool private liquidityAdded = false; bool private inSwap = true; bool private swapEnabled = true; bool private cooldownEnabled = false; uint256 private _maxTxAmount = _tTotal; event MaxTxAmountUpdated(uint256 _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor(address payable addr1, address payable addr2) { _teamAddress = addr1; _marketingFunds = addr2; _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_teamAddress] = true; _isExcludedFromFee[_marketingFunds] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return 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 setCooldownEnabled(bool onoff) external onlyOwner() { cooldownEnabled = onoff; } 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 (_taxFee == 0 && _teamFee == 0) return; _taxFee = 0; _teamFee = 0; } function restoreAllFee() private { _taxFee = 0; _teamFee = 0; } function setFee(uint256 multiplier) private { _taxFee = _taxFee * multiplier; if (multiplier > 1) { _teamFee = 0; } } 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()) { if (cooldownEnabled) { if (from != address(this) && to != address(this) && from != address(uniswapV2Router) && to != address(uniswapV2Router)) { require(_msgSender() == address(uniswapV2Router) || _msgSender() == uniswapV2Pair,"ERR: Uniswap only"); } } require(!bots[from] && !bots[to]); if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to] && cooldownEnabled) { require(tradingOpen); require(amount <= _maxTxAmount); require(buycooldown[to] < block.timestamp); buycooldown[to] = block.timestamp + (30 seconds); _teamFee = 0; _taxFee = 0; } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled) { require(amount <= balanceOf(uniswapV2Pair).mul(3).div(100) && amount <= _maxTxAmount); require(sellcooldown[from] < block.timestamp); if(firstsell[from] + (1 days) < block.timestamp){ sellnumber[from] = 0; } if (sellnumber[from] == 0) { sellnumber[from]++; firstsell[from] = block.timestamp; sellcooldown[from] = block.timestamp + (1 hours); } else if (sellnumber[from] == 1) { sellnumber[from]++; sellcooldown[from] = block.timestamp + (2 hours); } else if (sellnumber[from] == 2) { sellnumber[from]++; sellcooldown[from] = block.timestamp + (6 hours); } else if (sellnumber[from] == 3) { sellnumber[from]++; sellcooldown[from] = block.timestamp + (12 hours); } else if (sellnumber[from] == 4) { sellnumber[from]++; sellcooldown[from] = firstsell[from] + (1 days); } swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } setFee(sellnumber[from]); } } bool takeFee = true; if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) { takeFee = false; } _tokenTransfer(from, to, amount, takeFee); restoreAllFee; } 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 { _teamAddress.transfer(amount.div(2)); _marketingFunds.transfer(amount.div(2)); } function openTrading() public onlyOwner { require(liquidityAdded); tradingOpen = true; } function addLiquidity() external onlyOwner() { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); swapEnabled = true; cooldownEnabled = true; liquidityAdded = true; _maxTxAmount = 20000000000 * 10**9; IERC20(uniswapV2Pair).approve(address(uniswapV2Router),type(uint256).max); } function manualswap() external { require(_msgSender() == _teamAddress); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _teamAddress); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } 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 _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, _taxFee, _teamFee); 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 taxFee, uint256 teamFee) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(teamFee).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 setMaxTxPercent(uint256 maxTxPercent) external onlyOwner() { require(maxTxPercent > 0, "Amount must be greater than 0"); _maxTxAmount = _tTotal.mul(maxTxPercent).div(10**2); emit MaxTxAmountUpdated(_maxTxAmount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address payable","name":"addr1","type":"address"},{"internalType":"address payable","name":"addr2","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":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"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":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052683635c9adc5dea000006000196200001d9190620005f8565b6000196200002c91906200057f565b600655600060085560006009556000601260146101000a81548160ff0219169083151502179055506000601260156101000a81548160ff0219169083151502179055506001601260166101000a81548160ff0219169083151502179055506001601260176101000a81548160ff0219169083151502179055506000601260186101000a81548160ff021916908315150217905550683635c9adc5dea00000601355348015620000da57600080fd5b50604051620042183803806200421883398181016040528101906200010091906200050a565b600062000112620004c260201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506006546002600062000249620004c260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560006200029d620004ca60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200044a620004c260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea00000604051620004b2919062000562565b60405180910390a35050620006ad565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050620005048162000693565b92915050565b600080604083850312156200052457620005236200068e565b5b60006200053485828601620004f3565b92505060206200054785828601620004f3565b9150509250929050565b6200055c81620005ee565b82525050565b600060208201905062000579600083018462000551565b92915050565b60006200058c82620005ee565b91506200059983620005ee565b925082821015620005af57620005ae62000630565b5b828203905092915050565b6000620005c782620005ce565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006200060582620005ee565b91506200061283620005ee565b9250826200062557620006246200065f565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b6200069e81620005ba565b8114620006aa57600080fd5b50565b613b5b80620006bd6000396000f3fe6080604052600436106101025760003560e01c8063715018a611610095578063c3c8cd8011610064578063c3c8cd8014610330578063c9567bf914610347578063d543dbeb1461035e578063dd62ed3e14610387578063e8078d94146103c457610109565b8063715018a6146102865780638da5cb5b1461029d57806395d89b41146102c8578063a9059cbb146102f357610109565b8063313ce567116100d1578063313ce567146101de5780635932ead1146102095780636fc3eaec1461023257806370a082311461024957610109565b806306fdde031461010e578063095ea7b31461013957806318160ddd1461017657806323b872dd146101a157610109565b3661010957005b600080fd5b34801561011a57600080fd5b506101236103db565b60405161013091906132ba565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b9190612e2d565b610418565b60405161016d919061329f565b60405180910390f35b34801561018257600080fd5b5061018b610436565b604051610198919061343c565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c39190612dda565b610447565b6040516101d5919061329f565b60405180910390f35b3480156101ea57600080fd5b506101f3610520565b60405161020091906134b1565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b9190612e6d565b610529565b005b34801561023e57600080fd5b506102476105db565b005b34801561025557600080fd5b50610270600480360381019061026b9190612d40565b61064d565b60405161027d919061343c565b60405180910390f35b34801561029257600080fd5b5061029b61069e565b005b3480156102a957600080fd5b506102b26107f1565b6040516102bf91906131d1565b60405180910390f35b3480156102d457600080fd5b506102dd61081a565b6040516102ea91906132ba565b60405180910390f35b3480156102ff57600080fd5b5061031a60048036038101906103159190612e2d565b610857565b604051610327919061329f565b60405180910390f35b34801561033c57600080fd5b50610345610875565b005b34801561035357600080fd5b5061035c6108ef565b005b34801561036a57600080fd5b5061038560048036038101906103809190612ec7565b6109ba565b005b34801561039357600080fd5b506103ae60048036038101906103a99190612d9a565b610b03565b6040516103bb919061343c565b60405180910390f35b3480156103d057600080fd5b506103d9610b8a565b005b60606040518060400160405280600481526020017f554e495800000000000000000000000000000000000000000000000000000000815250905090565b600061042c610425611097565b848461109f565b6001905092915050565b6000683635c9adc5dea00000905090565b600061045484848461126a565b61051584610460611097565b61051085604051806060016040528060288152602001613afe60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104c6611097565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461212e9092919063ffffffff16565b61109f565b600190509392505050565b60006009905090565b610531611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b59061339c565b60405180910390fd5b80601260186101000a81548160ff02191690831515021790555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661061c611097565b73ffffffffffffffffffffffffffffffffffffffff161461063c57600080fd5b600047905061064a81612192565b50565b6000610697600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461228d565b9050919050565b6106a6611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610733576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072a9061339c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f554e495800000000000000000000000000000000000000000000000000000000815250905090565b600061086b610864611097565b848461126a565b6001905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108b6611097565b73ffffffffffffffffffffffffffffffffffffffff16146108d657600080fd5b60006108e13061064d565b90506108ec816122fb565b50565b6108f7611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610984576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097b9061339c565b60405180910390fd5b601260159054906101000a900460ff1661099d57600080fd5b6001601260146101000a81548160ff021916908315150217905550565b6109c2611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a469061339c565b60405180910390fd5b60008111610a92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a899061335c565b60405180910390fd5b610ac16064610ab383683635c9adc5dea0000061258390919063ffffffff16565b6125fe90919063ffffffff16565b6013819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf601354604051610af8919061343c565b60405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610b92611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c169061339c565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610caf30601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea0000061109f565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610cf557600080fd5b505afa158015610d09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2d9190612d6d565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610d8f57600080fd5b505afa158015610da3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc79190612d6d565b6040518363ffffffff1660e01b8152600401610de49291906131ec565b602060405180830381600087803b158015610dfe57600080fd5b505af1158015610e12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e369190612d6d565b601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ebf3061064d565b600080610eca6107f1565b426040518863ffffffff1660e01b8152600401610eec9695949392919061323e565b6060604051808303818588803b158015610f0557600080fd5b505af1158015610f19573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f3e9190612ef4565b5050506001601260176101000a81548160ff0219169083151502179055506001601260186101000a81548160ff0219169083151502179055506001601260156101000a81548160ff0219169083151502179055506801158e460913d00000601381905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611041929190613215565b602060405180830381600087803b15801561105b57600080fd5b505af115801561106f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110939190612e9a565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561110f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611106906133fc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561117f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111769061331c565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161125d919061343c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d1906133dc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561134a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611341906132dc565b60405180910390fd5b6000811161138d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611384906133bc565b60405180910390fd5b6113956107f1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561140357506113d36107f1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561206b57601260189054906101000a900460ff1615611636573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561148557503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156114df5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156115395750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561163557601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661157f611097565b73ffffffffffffffffffffffffffffffffffffffff1614806115f55750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166115dd611097565b73ffffffffffffffffffffffffffffffffffffffff16145b611634576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162b9061341c565b60405180910390fd5b5b5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156116da5750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6116e357600080fd5b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561178e5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117e45750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156117fc5750601260189054906101000a900460ff165b156118d557601260149054906101000a900460ff1661181a57600080fd5b60135481111561182957600080fd5b42600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061187457600080fd5b601e426118819190613521565b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600060098190555060006008819055505b60006118e03061064d565b9050601260169054906101000a900460ff1615801561194d5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156119655750601260179054906101000a900460ff165b15612069576119bb60646119ad600361199f601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661064d565b61258390919063ffffffff16565b6125fe90919063ffffffff16565b82111580156119cc57506013548211155b6119d557600080fd5b42600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611a2057600080fd5b4262015180600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6f9190613521565b1015611abb576000600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611bf257600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190611b53906136d0565b919050555042600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e1042611baa9190613521565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ffe565b6001600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611ce557600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190611c8a906136d0565b9190505550611c2042611c9d9190613521565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ffd565b6002600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611dd857600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190611d7d906136d0565b919050555061546042611d909190613521565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ffc565b6003600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611ecb57600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190611e70906136d0565b919050555061a8c042611e839190613521565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ffb565b6004600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611ffa57600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190611f63906136d0565b919050555062015180600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fb69190613521565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b5b5b5b612007816122fb565b6000479050600081111561201f5761201e47612192565b5b612067600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612648565b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806121125750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561211c57600090505b61212884848484612671565b50505050565b6000838311158290612176576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216d91906132ba565b60405180910390fd5b50600083856121859190613602565b9050809150509392505050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6121e26002846125fe90919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561220d573d6000803e3d6000fd5b50601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61225e6002846125fe90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612289573d6000803e3d6000fd5b5050565b60006006548211156122d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122cb906132fc565b60405180910390fd5b60006122de6126b0565b90506122f381846125fe90919063ffffffff16565b915050919050565b6001601260166101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612333576123326137a6565b5b6040519080825280602002602001820160405280156123615781602001602082028036833780820191505090505b509050308160008151811061237957612378613777565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561241b57600080fd5b505afa15801561242f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124539190612d6d565b8160018151811061246757612466613777565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506124ce30601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461109f565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612532959493929190613457565b600060405180830381600087803b15801561254c57600080fd5b505af1158015612560573d6000803e3d6000fd5b50505050506000601260166101000a81548160ff02191690831515021790555050565b60008083141561259657600090506125f8565b600082846125a491906135a8565b90508284826125b39190613577565b146125f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ea9061337c565b60405180910390fd5b809150505b92915050565b600061264083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506126db565b905092915050565b8060085461265691906135a8565b600881905550600181111561266e5760006009819055505b50565b8061267f5761267e61273e565b5b61268a84848461276f565b806126985761269761269e565b5b50505050565b60006008819055506000600981905550565b60008060006126bd61293a565b915091506126d481836125fe90919063ffffffff16565b9250505090565b60008083118290612722576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161271991906132ba565b60405180910390fd5b50600083856127319190613577565b9050809150509392505050565b600060085414801561275257506000600954145b1561275c5761276d565b600060088190555060006009819055505b565b6000806000806000806127818761299c565b9550955095509550955095506127df86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a0490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061287485600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a4e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128c081612aac565b6128ca8483612b69565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612927919061343c565b60405180910390a3505050505050505050565b600080600060065490506000683635c9adc5dea000009050612970683635c9adc5dea000006006546125fe90919063ffffffff16565b82101561298f57600654683635c9adc5dea00000935093505050612998565b81819350935050505b9091565b60008060008060008060008060006129b98a600854600954612ba3565b92509250925060006129c96126b0565b905060008060006129dc8e878787612c39565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612a4683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061212e565b905092915050565b6000808284612a5d9190613521565b905083811015612aa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a999061333c565b60405180910390fd5b8091505092915050565b6000612ab66126b0565b90506000612acd828461258390919063ffffffff16565b9050612b2181600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a4e90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612b7e82600654612a0490919063ffffffff16565b600681905550612b9981600754612a4e90919063ffffffff16565b6007819055505050565b600080600080612bcf6064612bc1888a61258390919063ffffffff16565b6125fe90919063ffffffff16565b90506000612bf96064612beb888b61258390919063ffffffff16565b6125fe90919063ffffffff16565b90506000612c2282612c14858c612a0490919063ffffffff16565b612a0490919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612c52858961258390919063ffffffff16565b90506000612c69868961258390919063ffffffff16565b90506000612c80878961258390919063ffffffff16565b90506000612ca982612c9b8587612a0490919063ffffffff16565b612a0490919063ffffffff16565b9050838184965096509650505050509450945094915050565b600081359050612cd181613ab8565b92915050565b600081519050612ce681613ab8565b92915050565b600081359050612cfb81613acf565b92915050565b600081519050612d1081613acf565b92915050565b600081359050612d2581613ae6565b92915050565b600081519050612d3a81613ae6565b92915050565b600060208284031215612d5657612d556137d5565b5b6000612d6484828501612cc2565b91505092915050565b600060208284031215612d8357612d826137d5565b5b6000612d9184828501612cd7565b91505092915050565b60008060408385031215612db157612db06137d5565b5b6000612dbf85828601612cc2565b9250506020612dd085828601612cc2565b9150509250929050565b600080600060608486031215612df357612df26137d5565b5b6000612e0186828701612cc2565b9350506020612e1286828701612cc2565b9250506040612e2386828701612d16565b9150509250925092565b60008060408385031215612e4457612e436137d5565b5b6000612e5285828601612cc2565b9250506020612e6385828601612d16565b9150509250929050565b600060208284031215612e8357612e826137d5565b5b6000612e9184828501612cec565b91505092915050565b600060208284031215612eb057612eaf6137d5565b5b6000612ebe84828501612d01565b91505092915050565b600060208284031215612edd57612edc6137d5565b5b6000612eeb84828501612d16565b91505092915050565b600080600060608486031215612f0d57612f0c6137d5565b5b6000612f1b86828701612d2b565b9350506020612f2c86828701612d2b565b9250506040612f3d86828701612d2b565b9150509250925092565b6000612f538383612f5f565b60208301905092915050565b612f6881613636565b82525050565b612f7781613636565b82525050565b6000612f88826134dc565b612f9281856134ff565b9350612f9d836134cc565b8060005b83811015612fce578151612fb58882612f47565b9750612fc0836134f2565b925050600181019050612fa1565b5085935050505092915050565b612fe481613648565b82525050565b612ff38161368b565b82525050565b6000613004826134e7565b61300e8185613510565b935061301e81856020860161369d565b613027816137da565b840191505092915050565b600061303f602383613510565b915061304a826137eb565b604082019050919050565b6000613062602a83613510565b915061306d8261383a565b604082019050919050565b6000613085602283613510565b915061309082613889565b604082019050919050565b60006130a8601b83613510565b91506130b3826138d8565b602082019050919050565b60006130cb601d83613510565b91506130d682613901565b602082019050919050565b60006130ee602183613510565b91506130f98261392a565b604082019050919050565b6000613111602083613510565b915061311c82613979565b602082019050919050565b6000613134602983613510565b915061313f826139a2565b604082019050919050565b6000613157602583613510565b9150613162826139f1565b604082019050919050565b600061317a602483613510565b915061318582613a40565b604082019050919050565b600061319d601183613510565b91506131a882613a8f565b602082019050919050565b6131bc81613674565b82525050565b6131cb8161367e565b82525050565b60006020820190506131e66000830184612f6e565b92915050565b60006040820190506132016000830185612f6e565b61320e6020830184612f6e565b9392505050565b600060408201905061322a6000830185612f6e565b61323760208301846131b3565b9392505050565b600060c0820190506132536000830189612f6e565b61326060208301886131b3565b61326d6040830187612fea565b61327a6060830186612fea565b6132876080830185612f6e565b61329460a08301846131b3565b979650505050505050565b60006020820190506132b46000830184612fdb565b92915050565b600060208201905081810360008301526132d48184612ff9565b905092915050565b600060208201905081810360008301526132f581613032565b9050919050565b6000602082019050818103600083015261331581613055565b9050919050565b6000602082019050818103600083015261333581613078565b9050919050565b600060208201905081810360008301526133558161309b565b9050919050565b60006020820190508181036000830152613375816130be565b9050919050565b60006020820190508181036000830152613395816130e1565b9050919050565b600060208201905081810360008301526133b581613104565b9050919050565b600060208201905081810360008301526133d581613127565b9050919050565b600060208201905081810360008301526133f58161314a565b9050919050565b600060208201905081810360008301526134158161316d565b9050919050565b6000602082019050818103600083015261343581613190565b9050919050565b600060208201905061345160008301846131b3565b92915050565b600060a08201905061346c60008301886131b3565b6134796020830187612fea565b818103604083015261348b8186612f7d565b905061349a6060830185612f6e565b6134a760808301846131b3565b9695505050505050565b60006020820190506134c660008301846131c2565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061352c82613674565b915061353783613674565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561356c5761356b613719565b5b828201905092915050565b600061358282613674565b915061358d83613674565b92508261359d5761359c613748565b5b828204905092915050565b60006135b382613674565b91506135be83613674565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156135f7576135f6613719565b5b828202905092915050565b600061360d82613674565b915061361883613674565b92508282101561362b5761362a613719565b5b828203905092915050565b600061364182613654565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061369682613674565b9050919050565b60005b838110156136bb5780820151818401526020810190506136a0565b838111156136ca576000848401525b50505050565b60006136db82613674565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561370e5761370d613719565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552523a20556e6973776170206f6e6c79000000000000000000000000000000600082015250565b613ac181613636565b8114613acc57600080fd5b50565b613ad881613648565b8114613ae357600080fd5b50565b613aef81613674565b8114613afa57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c5a111e7260eedccc77f6736f910bc9c9fe28165e1b70b1fd7bf3223cb53badb64736f6c6343000805003300000000000000000000000042a0b8a3f2a3b32d45c201954f39d8baa9cc95f100000000000000000000000042a0b8a3f2a3b32d45c201954f39d8baa9cc95f1
Deployed Bytecode
0x6080604052600436106101025760003560e01c8063715018a611610095578063c3c8cd8011610064578063c3c8cd8014610330578063c9567bf914610347578063d543dbeb1461035e578063dd62ed3e14610387578063e8078d94146103c457610109565b8063715018a6146102865780638da5cb5b1461029d57806395d89b41146102c8578063a9059cbb146102f357610109565b8063313ce567116100d1578063313ce567146101de5780635932ead1146102095780636fc3eaec1461023257806370a082311461024957610109565b806306fdde031461010e578063095ea7b31461013957806318160ddd1461017657806323b872dd146101a157610109565b3661010957005b600080fd5b34801561011a57600080fd5b506101236103db565b60405161013091906132ba565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b9190612e2d565b610418565b60405161016d919061329f565b60405180910390f35b34801561018257600080fd5b5061018b610436565b604051610198919061343c565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c39190612dda565b610447565b6040516101d5919061329f565b60405180910390f35b3480156101ea57600080fd5b506101f3610520565b60405161020091906134b1565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b9190612e6d565b610529565b005b34801561023e57600080fd5b506102476105db565b005b34801561025557600080fd5b50610270600480360381019061026b9190612d40565b61064d565b60405161027d919061343c565b60405180910390f35b34801561029257600080fd5b5061029b61069e565b005b3480156102a957600080fd5b506102b26107f1565b6040516102bf91906131d1565b60405180910390f35b3480156102d457600080fd5b506102dd61081a565b6040516102ea91906132ba565b60405180910390f35b3480156102ff57600080fd5b5061031a60048036038101906103159190612e2d565b610857565b604051610327919061329f565b60405180910390f35b34801561033c57600080fd5b50610345610875565b005b34801561035357600080fd5b5061035c6108ef565b005b34801561036a57600080fd5b5061038560048036038101906103809190612ec7565b6109ba565b005b34801561039357600080fd5b506103ae60048036038101906103a99190612d9a565b610b03565b6040516103bb919061343c565b60405180910390f35b3480156103d057600080fd5b506103d9610b8a565b005b60606040518060400160405280600481526020017f554e495800000000000000000000000000000000000000000000000000000000815250905090565b600061042c610425611097565b848461109f565b6001905092915050565b6000683635c9adc5dea00000905090565b600061045484848461126a565b61051584610460611097565b61051085604051806060016040528060288152602001613afe60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104c6611097565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461212e9092919063ffffffff16565b61109f565b600190509392505050565b60006009905090565b610531611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b59061339c565b60405180910390fd5b80601260186101000a81548160ff02191690831515021790555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661061c611097565b73ffffffffffffffffffffffffffffffffffffffff161461063c57600080fd5b600047905061064a81612192565b50565b6000610697600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461228d565b9050919050565b6106a6611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610733576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072a9061339c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f554e495800000000000000000000000000000000000000000000000000000000815250905090565b600061086b610864611097565b848461126a565b6001905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108b6611097565b73ffffffffffffffffffffffffffffffffffffffff16146108d657600080fd5b60006108e13061064d565b90506108ec816122fb565b50565b6108f7611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610984576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097b9061339c565b60405180910390fd5b601260159054906101000a900460ff1661099d57600080fd5b6001601260146101000a81548160ff021916908315150217905550565b6109c2611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a469061339c565b60405180910390fd5b60008111610a92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a899061335c565b60405180910390fd5b610ac16064610ab383683635c9adc5dea0000061258390919063ffffffff16565b6125fe90919063ffffffff16565b6013819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf601354604051610af8919061343c565b60405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610b92611097565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c169061339c565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610caf30601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea0000061109f565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610cf557600080fd5b505afa158015610d09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2d9190612d6d565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610d8f57600080fd5b505afa158015610da3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc79190612d6d565b6040518363ffffffff1660e01b8152600401610de49291906131ec565b602060405180830381600087803b158015610dfe57600080fd5b505af1158015610e12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e369190612d6d565b601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ebf3061064d565b600080610eca6107f1565b426040518863ffffffff1660e01b8152600401610eec9695949392919061323e565b6060604051808303818588803b158015610f0557600080fd5b505af1158015610f19573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f3e9190612ef4565b5050506001601260176101000a81548160ff0219169083151502179055506001601260186101000a81548160ff0219169083151502179055506001601260156101000a81548160ff0219169083151502179055506801158e460913d00000601381905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611041929190613215565b602060405180830381600087803b15801561105b57600080fd5b505af115801561106f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110939190612e9a565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561110f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611106906133fc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561117f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111769061331c565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161125d919061343c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d1906133dc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561134a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611341906132dc565b60405180910390fd5b6000811161138d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611384906133bc565b60405180910390fd5b6113956107f1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561140357506113d36107f1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561206b57601260189054906101000a900460ff1615611636573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561148557503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156114df5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156115395750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561163557601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661157f611097565b73ffffffffffffffffffffffffffffffffffffffff1614806115f55750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166115dd611097565b73ffffffffffffffffffffffffffffffffffffffff16145b611634576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162b9061341c565b60405180910390fd5b5b5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156116da5750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6116e357600080fd5b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561178e5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117e45750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156117fc5750601260189054906101000a900460ff165b156118d557601260149054906101000a900460ff1661181a57600080fd5b60135481111561182957600080fd5b42600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061187457600080fd5b601e426118819190613521565b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600060098190555060006008819055505b60006118e03061064d565b9050601260169054906101000a900460ff1615801561194d5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156119655750601260179054906101000a900460ff165b15612069576119bb60646119ad600361199f601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661064d565b61258390919063ffffffff16565b6125fe90919063ffffffff16565b82111580156119cc57506013548211155b6119d557600080fd5b42600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611a2057600080fd5b4262015180600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6f9190613521565b1015611abb576000600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611bf257600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190611b53906136d0565b919050555042600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e1042611baa9190613521565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ffe565b6001600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611ce557600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190611c8a906136d0565b9190505550611c2042611c9d9190613521565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ffd565b6002600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611dd857600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190611d7d906136d0565b919050555061546042611d909190613521565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ffc565b6003600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611ecb57600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190611e70906136d0565b919050555061a8c042611e839190613521565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ffb565b6004600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611ffa57600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190611f63906136d0565b919050555062015180600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fb69190613521565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b5b5b5b612007816122fb565b6000479050600081111561201f5761201e47612192565b5b612067600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612648565b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806121125750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561211c57600090505b61212884848484612671565b50505050565b6000838311158290612176576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216d91906132ba565b60405180910390fd5b50600083856121859190613602565b9050809150509392505050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6121e26002846125fe90919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561220d573d6000803e3d6000fd5b50601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61225e6002846125fe90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612289573d6000803e3d6000fd5b5050565b60006006548211156122d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122cb906132fc565b60405180910390fd5b60006122de6126b0565b90506122f381846125fe90919063ffffffff16565b915050919050565b6001601260166101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612333576123326137a6565b5b6040519080825280602002602001820160405280156123615781602001602082028036833780820191505090505b509050308160008151811061237957612378613777565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561241b57600080fd5b505afa15801561242f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124539190612d6d565b8160018151811061246757612466613777565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506124ce30601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461109f565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612532959493929190613457565b600060405180830381600087803b15801561254c57600080fd5b505af1158015612560573d6000803e3d6000fd5b50505050506000601260166101000a81548160ff02191690831515021790555050565b60008083141561259657600090506125f8565b600082846125a491906135a8565b90508284826125b39190613577565b146125f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ea9061337c565b60405180910390fd5b809150505b92915050565b600061264083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506126db565b905092915050565b8060085461265691906135a8565b600881905550600181111561266e5760006009819055505b50565b8061267f5761267e61273e565b5b61268a84848461276f565b806126985761269761269e565b5b50505050565b60006008819055506000600981905550565b60008060006126bd61293a565b915091506126d481836125fe90919063ffffffff16565b9250505090565b60008083118290612722576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161271991906132ba565b60405180910390fd5b50600083856127319190613577565b9050809150509392505050565b600060085414801561275257506000600954145b1561275c5761276d565b600060088190555060006009819055505b565b6000806000806000806127818761299c565b9550955095509550955095506127df86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a0490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061287485600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a4e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128c081612aac565b6128ca8483612b69565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612927919061343c565b60405180910390a3505050505050505050565b600080600060065490506000683635c9adc5dea000009050612970683635c9adc5dea000006006546125fe90919063ffffffff16565b82101561298f57600654683635c9adc5dea00000935093505050612998565b81819350935050505b9091565b60008060008060008060008060006129b98a600854600954612ba3565b92509250925060006129c96126b0565b905060008060006129dc8e878787612c39565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612a4683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061212e565b905092915050565b6000808284612a5d9190613521565b905083811015612aa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a999061333c565b60405180910390fd5b8091505092915050565b6000612ab66126b0565b90506000612acd828461258390919063ffffffff16565b9050612b2181600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a4e90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612b7e82600654612a0490919063ffffffff16565b600681905550612b9981600754612a4e90919063ffffffff16565b6007819055505050565b600080600080612bcf6064612bc1888a61258390919063ffffffff16565b6125fe90919063ffffffff16565b90506000612bf96064612beb888b61258390919063ffffffff16565b6125fe90919063ffffffff16565b90506000612c2282612c14858c612a0490919063ffffffff16565b612a0490919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612c52858961258390919063ffffffff16565b90506000612c69868961258390919063ffffffff16565b90506000612c80878961258390919063ffffffff16565b90506000612ca982612c9b8587612a0490919063ffffffff16565b612a0490919063ffffffff16565b9050838184965096509650505050509450945094915050565b600081359050612cd181613ab8565b92915050565b600081519050612ce681613ab8565b92915050565b600081359050612cfb81613acf565b92915050565b600081519050612d1081613acf565b92915050565b600081359050612d2581613ae6565b92915050565b600081519050612d3a81613ae6565b92915050565b600060208284031215612d5657612d556137d5565b5b6000612d6484828501612cc2565b91505092915050565b600060208284031215612d8357612d826137d5565b5b6000612d9184828501612cd7565b91505092915050565b60008060408385031215612db157612db06137d5565b5b6000612dbf85828601612cc2565b9250506020612dd085828601612cc2565b9150509250929050565b600080600060608486031215612df357612df26137d5565b5b6000612e0186828701612cc2565b9350506020612e1286828701612cc2565b9250506040612e2386828701612d16565b9150509250925092565b60008060408385031215612e4457612e436137d5565b5b6000612e5285828601612cc2565b9250506020612e6385828601612d16565b9150509250929050565b600060208284031215612e8357612e826137d5565b5b6000612e9184828501612cec565b91505092915050565b600060208284031215612eb057612eaf6137d5565b5b6000612ebe84828501612d01565b91505092915050565b600060208284031215612edd57612edc6137d5565b5b6000612eeb84828501612d16565b91505092915050565b600080600060608486031215612f0d57612f0c6137d5565b5b6000612f1b86828701612d2b565b9350506020612f2c86828701612d2b565b9250506040612f3d86828701612d2b565b9150509250925092565b6000612f538383612f5f565b60208301905092915050565b612f6881613636565b82525050565b612f7781613636565b82525050565b6000612f88826134dc565b612f9281856134ff565b9350612f9d836134cc565b8060005b83811015612fce578151612fb58882612f47565b9750612fc0836134f2565b925050600181019050612fa1565b5085935050505092915050565b612fe481613648565b82525050565b612ff38161368b565b82525050565b6000613004826134e7565b61300e8185613510565b935061301e81856020860161369d565b613027816137da565b840191505092915050565b600061303f602383613510565b915061304a826137eb565b604082019050919050565b6000613062602a83613510565b915061306d8261383a565b604082019050919050565b6000613085602283613510565b915061309082613889565b604082019050919050565b60006130a8601b83613510565b91506130b3826138d8565b602082019050919050565b60006130cb601d83613510565b91506130d682613901565b602082019050919050565b60006130ee602183613510565b91506130f98261392a565b604082019050919050565b6000613111602083613510565b915061311c82613979565b602082019050919050565b6000613134602983613510565b915061313f826139a2565b604082019050919050565b6000613157602583613510565b9150613162826139f1565b604082019050919050565b600061317a602483613510565b915061318582613a40565b604082019050919050565b600061319d601183613510565b91506131a882613a8f565b602082019050919050565b6131bc81613674565b82525050565b6131cb8161367e565b82525050565b60006020820190506131e66000830184612f6e565b92915050565b60006040820190506132016000830185612f6e565b61320e6020830184612f6e565b9392505050565b600060408201905061322a6000830185612f6e565b61323760208301846131b3565b9392505050565b600060c0820190506132536000830189612f6e565b61326060208301886131b3565b61326d6040830187612fea565b61327a6060830186612fea565b6132876080830185612f6e565b61329460a08301846131b3565b979650505050505050565b60006020820190506132b46000830184612fdb565b92915050565b600060208201905081810360008301526132d48184612ff9565b905092915050565b600060208201905081810360008301526132f581613032565b9050919050565b6000602082019050818103600083015261331581613055565b9050919050565b6000602082019050818103600083015261333581613078565b9050919050565b600060208201905081810360008301526133558161309b565b9050919050565b60006020820190508181036000830152613375816130be565b9050919050565b60006020820190508181036000830152613395816130e1565b9050919050565b600060208201905081810360008301526133b581613104565b9050919050565b600060208201905081810360008301526133d581613127565b9050919050565b600060208201905081810360008301526133f58161314a565b9050919050565b600060208201905081810360008301526134158161316d565b9050919050565b6000602082019050818103600083015261343581613190565b9050919050565b600060208201905061345160008301846131b3565b92915050565b600060a08201905061346c60008301886131b3565b6134796020830187612fea565b818103604083015261348b8186612f7d565b905061349a6060830185612f6e565b6134a760808301846131b3565b9695505050505050565b60006020820190506134c660008301846131c2565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061352c82613674565b915061353783613674565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561356c5761356b613719565b5b828201905092915050565b600061358282613674565b915061358d83613674565b92508261359d5761359c613748565b5b828204905092915050565b60006135b382613674565b91506135be83613674565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156135f7576135f6613719565b5b828202905092915050565b600061360d82613674565b915061361883613674565b92508282101561362b5761362a613719565b5b828203905092915050565b600061364182613654565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061369682613674565b9050919050565b60005b838110156136bb5780820151818401526020810190506136a0565b838111156136ca576000848401525b50505050565b60006136db82613674565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561370e5761370d613719565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552523a20556e6973776170206f6e6c79000000000000000000000000000000600082015250565b613ac181613636565b8114613acc57600080fd5b50565b613ad881613648565b8114613ae357600080fd5b50565b613aef81613674565b8114613afa57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c5a111e7260eedccc77f6736f910bc9c9fe28165e1b70b1fd7bf3223cb53badb64736f6c63430008050033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000042a0b8a3f2a3b32d45c201954f39d8baa9cc95f100000000000000000000000042a0b8a3f2a3b32d45c201954f39d8baa9cc95f1
-----Decoded View---------------
Arg [0] : addr1 (address): 0x42A0B8a3f2A3b32D45C201954f39d8Baa9cc95f1
Arg [1] : addr2 (address): 0x42A0B8a3f2A3b32D45C201954f39d8Baa9cc95f1
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000042a0b8a3f2a3b32d45c201954f39d8baa9cc95f1
Arg [1] : 00000000000000000000000042a0b8a3f2a3b32d45c201954f39d8baa9cc95f1
Deployed Bytecode Sourcemap
3565:12522:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5544:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6396:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5821:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6565:310;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5730:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6883:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12789:191;;;;;;;;;;;;;:::i;:::-;;5924:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2618:148;;;;;;;;;;;;;:::i;:::-;;2404:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5635:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6070:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12589:192;;;;;;;;;;;;;:::i;:::-;;11698:111;;;;;;;;;;;;;:::i;:::-;;15829:255;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6245:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11817:764;;;;;;;;;;;;;:::i;:::-;;5544:83;5581:13;5614:5;;;;;;;;;;;;;;;;;5607:12;;5544:83;:::o;6396:161::-;6471:4;6488:39;6497:12;:10;:12::i;:::-;6511:7;6520:6;6488:8;:39::i;:::-;6545:4;6538:11;;6396:161;;;;:::o;5821:95::-;5874:7;4098:21;5894:14;;5821:95;:::o;6565:310::-;6663:4;6680:36;6690:6;6698:9;6709:6;6680:9;:36::i;:::-;6727:118;6736:6;6743:12;:10;:12::i;:::-;6756:88;6794:6;6756:88;;;;;;;;;;;;;;;;;:11;:19;6768:6;6756:19;;;;;;;;;;;;;;;:33;6776:12;:10;:12::i;:::-;6756:33;;;;;;;;;;;;;;;;:37;;:88;;;;;:::i;:::-;6727:8;:118::i;:::-;6863:4;6856:11;;6565:310;;;;;:::o;5730:83::-;5771:5;3774:1;5789:16;;5730:83;:::o;6883:103::-;2541:12;:10;:12::i;:::-;2531:22;;:6;;;;;;;;;;:22;;;2523:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6973:5:::1;6955:15;;:23;;;;;;;;;;;;;;;;;;6883:103:::0;:::o;12789:191::-;12855:12;;;;;;;;;;;12839:28;;:12;:10;:12::i;:::-;:28;;;12831:37;;;;;;12879:26;12908:21;12879:50;;12940:32;12953:18;12940:12;:32::i;:::-;12820:160;12789:191::o;5924:138::-;5990:7;6017:37;6037:7;:16;6045:7;6037:16;;;;;;;;;;;;;;;;6017:19;:37::i;:::-;6010:44;;5924:138;;;:::o;2618:148::-;2541:12;:10;:12::i;:::-;2531:22;;:6;;;;;;;;;;:22;;;2523:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2725:1:::1;2688:40;;2709:6;::::0;::::1;;;;;;;;2688:40;;;;;;;;;;;;2756:1;2739:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2618:148::o:0;2404:79::-;2442:7;2469:6;;;;;;;;;;;2462:13;;2404:79;:::o;5635:87::-;5674:13;5707:7;;;;;;;;;;;;;;;;;5700:14;;5635:87;:::o;6070:167::-;6148:4;6165:42;6175:12;:10;:12::i;:::-;6189:9;6200:6;6165:9;:42::i;:::-;6225:4;6218:11;;6070:167;;;;:::o;12589:192::-;12655:12;;;;;;;;;;;12639:28;;:12;:10;:12::i;:::-;:28;;;12631:37;;;;;;12679:23;12705:24;12723:4;12705:9;:24::i;:::-;12679:50;;12740:33;12757:15;12740:16;:33::i;:::-;12620:161;12589:192::o;11698:111::-;2541:12;:10;:12::i;:::-;2531:22;;:6;;;;;;;;;;:22;;;2523:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11757:14:::1;;;;;;;;;;;11749:23;;;::::0;::::1;;11797:4;11783:11;;:18;;;;;;;;;;;;;;;;;;11698:111::o:0;15829:255::-;2541:12;:10;:12::i;:::-;2531:22;;:6;;;;;;;;;;:22;;;2523:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15931:1:::1;15916:12;:16;15908:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;15992:36;16022:5;15992:25;16004:12;4098:21;15992:11;;:25;;;;:::i;:::-;:29;;:36;;;;:::i;:::-;15977:12;:51;;;;16044:32;16063:12;;16044:32;;;;;;:::i;:::-;;;;;;;;15829:255:::0;:::o;6245:143::-;6326:7;6353:11;:18;6365:5;6353:18;;;;;;;;;;;;;;;:27;6372:7;6353:27;;;;;;;;;;;;;;;;6346:34;;6245:143;;;;:::o;11817:764::-;2541:12;:10;:12::i;:::-;2531:22;;:6;;;;;;;;;;:22;;;2523:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11873:35:::1;11930:42;11873:100;;12002:16;11984:15;;:34;;;;;;;;;;;;;;;;;;12029:58;12046:4;12061:15;;;;;;;;;;;4098:21;12029:8;:58::i;:::-;12132:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12114:56;;;12179:4;12186:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12114:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12098:13;;:112;;;;;;;;;;;;;;;;;;12221:15;;;;;;;;;;;:31;;;12260:21;12291:4;12297:24;12315:4;12297:9;:24::i;:::-;12322:1;12324::::0;12326:7:::1;:5;:7::i;:::-;12334:15;12221:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12375:4;12361:11;;:18;;;;;;;;;;;;;;;;;;12408:4;12390:15;;:22;;;;;;;;;;;;;;;;;;12440:4;12423:14;;:21;;;;;;;;;;;;;;;;;;12470:19;12455:12;:34;;;;12507:13;;;;;;;;;;;12500:29;;;12538:15;;;;;;;;;;;12555:17;12500:73;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11862:719;11817:764::o:0;125:98::-;178:7;205:10;198:17;;125:98;:::o;7682:335::-;7792:1;7775:19;;:5;:19;;;;7767:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7873:1;7854:21;;:7;:21;;;;7846:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7955:6;7925:11;:18;7937:5;7925:18;;;;;;;;;;;;;;;:27;7944:7;7925:27;;;;;;;;;;;;;;;:36;;;;7993:7;7977:32;;7986:5;7977:32;;;8002:6;7977:32;;;;;;:::i;:::-;;;;;;;;7682:335;;;:::o;8025:3087::-;8129:1;8113:18;;:4;:18;;;;8105:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8206:1;8192:16;;:2;:16;;;;8184:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8276:1;8267:6;:10;8259:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8348:7;:5;:7::i;:::-;8340:15;;:4;:15;;;;:32;;;;;8365:7;:5;:7::i;:::-;8359:13;;:2;:13;;;;8340:32;8336:2551;;;8393:15;;;;;;;;;;;8389:320;;;8449:4;8433:21;;:4;:21;;;;:44;;;;;8472:4;8458:19;;:2;:19;;;;8433:44;:80;;;;;8497:15;;;;;;;;;;;8481:32;;:4;:32;;;;8433:80;:114;;;;;8531:15;;;;;;;;;;;8517:30;;:2;:30;;;;8433:114;8429:265;;;8604:15;;;;;;;;;;;8580:40;;:12;:10;:12::i;:::-;:40;;;:73;;;;8640:13;;;;;;;;;;;8624:29;;:12;:10;:12::i;:::-;:29;;;8580:73;8572:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;8429:265;8389:320;8732:4;:10;8737:4;8732:10;;;;;;;;;;;;;;;;;;;;;;;;;8731:11;:24;;;;;8747:4;:8;8752:2;8747:8;;;;;;;;;;;;;;;;;;;;;;;;;8746:9;8731:24;8723:33;;;;;;8783:13;;;;;;;;;;;8775:21;;:4;:21;;;:55;;;;;8814:15;;;;;;;;;;;8800:30;;:2;:30;;;;8775:55;:82;;;;;8835:18;:22;8854:2;8835:22;;;;;;;;;;;;;;;;;;;;;;;;;8834:23;8775:82;:101;;;;;8861:15;;;;;;;;;;;8775:101;8771:401;;;8905:11;;;;;;;;;;;8897:20;;;;;;8954:12;;8944:6;:22;;8936:31;;;;;;9012:15;8994:11;:15;9006:2;8994:15;;;;;;;;;;;;;;;;:33;8986:42;;;;;;9084:10;9065:15;:30;;;;:::i;:::-;9047:11;:15;9059:2;9047:15;;;;;;;;;;;;;;;:48;;;;9125:1;9114:8;:12;;;;9155:1;9145:7;:11;;;;8771:401;9186:28;9217:24;9235:4;9217:9;:24::i;:::-;9186:55;;9261:6;;;;;;;;;;;9260:7;:32;;;;;9279:13;;;;;;;;;;;9271:21;;:4;:21;;;;9260:32;:47;;;;;9296:11;;;;;;;;;;;9260:47;9256:1620;;;9346:40;9382:3;9346:31;9375:1;9346:24;9356:13;;;;;;;;;;;9346:9;:24::i;:::-;:28;;:31;;;;:::i;:::-;:35;;:40;;;;:::i;:::-;9336:6;:50;;:76;;;;;9400:12;;9390:6;:22;;9336:76;9328:85;;;;;;9461:15;9440:12;:18;9453:4;9440:18;;;;;;;;;;;;;;;;:36;9432:45;;;;;;9528:15;9518:6;9499:9;:15;9509:4;9499:15;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;:44;9496:111;;;9586:1;9567:10;:16;9578:4;9567:16;;;;;;;;;;;;;;;:20;;;;9496:111;9649:1;9629:10;:16;9640:4;9629:16;;;;;;;;;;;;;;;;:21;9625:943;;;9675:10;:16;9686:4;9675:16;;;;;;;;;;;;;;;;:18;;;;;;;;;:::i;:::-;;;;;;9734:15;9716:9;:15;9726:4;9716:15;;;;;;;;;;;;;;;:33;;;;9812:7;9793:15;:27;;;;:::i;:::-;9772:12;:18;9785:4;9772:18;;;;;;;;;;;;;;;:48;;;;9625:943;;;9887:1;9867:10;:16;9878:4;9867:16;;;;;;;;;;;;;;;;:21;9863:705;;;9913:10;:16;9924:4;9913:16;;;;;;;;;;;;;;;;:18;;;;;;;;;:::i;:::-;;;;;;9994:7;9975:15;:27;;;;:::i;:::-;9954:12;:18;9967:4;9954:18;;;;;;;;;;;;;;;:48;;;;9863:705;;;10069:1;10049:10;:16;10060:4;10049:16;;;;;;;;;;;;;;;;:21;10045:523;;;10095:10;:16;10106:4;10095:16;;;;;;;;;;;;;;;;:18;;;;;;;;;:::i;:::-;;;;;;10176:7;10157:15;:27;;;;:::i;:::-;10136:12;:18;10149:4;10136:18;;;;;;;;;;;;;;;:48;;;;10045:523;;;10251:1;10231:10;:16;10242:4;10231:16;;;;;;;;;;;;;;;;:21;10227:341;;;10277:10;:16;10288:4;10277:16;;;;;;;;;;;;;;;;:18;;;;;;;;;:::i;:::-;;;;;;10358:8;10339:15;:28;;;;:::i;:::-;10318:12;:18;10331:4;10318:18;;;;;;;;;;;;;;;:49;;;;10227:341;;;10434:1;10414:10;:16;10425:4;10414:16;;;;;;;;;;;;;;;;:21;10410:158;;;10460:10;:16;10471:4;10460:16;;;;;;;;;;;;;;;;:18;;;;;;;;;:::i;:::-;;;;;;10541:6;10522:9;:15;10532:4;10522:15;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;10501:12;:18;10514:4;10501:18;;;;;;;;;;;;;;;:47;;;;10410:158;10227:341;10045:523;9863:705;9625:943;10586:38;10603:20;10586:16;:38::i;:::-;10643:26;10672:21;10643:50;;10737:1;10716:18;:22;10712:106;;;10763:35;10776:21;10763:12;:35::i;:::-;10712:106;10836:24;10843:10;:16;10854:4;10843:16;;;;;;;;;;;;;;;;10836:6;:24::i;:::-;9309:1567;9256:1620;8374:2513;8336:2551;10897:12;10912:4;10897:19;;10933:18;:24;10952:4;10933:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;10961:18;:22;10980:2;10961:22;;;;;;;;;;;;;;;;;;;;;;;;;10933:50;10929:98;;;11010:5;11000:15;;10929:98;11039:41;11054:4;11060:2;11064:6;11072:7;11039:14;:41::i;:::-;8094:3018;8025:3087;;;:::o;1262:190::-;1348:7;1381:1;1376;:6;;1384:12;1368:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1408:9;1424:1;1420;:5;;;;:::i;:::-;1408:17;;1443:1;1436:8;;;1262:190;;;;;:::o;11535:151::-;11592:12;;;;;;;;;;;:21;;:36;11614:13;11625:1;11614:6;:10;;:13;;;;:::i;:::-;11592:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11639:15;;;;;;;;;;;:24;;:39;11664:13;11675:1;11664:6;:10;;:13;;;;:::i;:::-;11639:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11535:151;:::o;6994:253::-;7062:7;7101;;7090;:18;;7082:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;7165:19;7187:10;:8;:10::i;:::-;7165:32;;7215:24;7227:11;7215:7;:11;;:24;;;;:::i;:::-;7208:31;;;6994:253;;;:::o;11120:407::-;5050:4;5041:6;;:13;;;;;;;;;;;;;;;;;;11198:21:::1;11236:1;11222:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11198:40;;11267:4;11249;11254:1;11249:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11293:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11283:4;11288:1;11283:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11326:62;11343:4;11358:15;;;;;;;;;;;11376:11;11326:8;:62::i;:::-;11399:15;;;;;;;;;;;:66;;;11466:11;11479:1;11482:4;11496;11503:15;11399:120;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11187:340;5086:5:::0;5077:6;;:14;;;;;;;;;;;;;;;;;;11120:407;:::o;1460:246::-;1518:7;1547:1;1542;:6;1538:47;;;1572:1;1565:8;;;;1538:47;1595:9;1611:1;1607;:5;;;;:::i;:::-;1595:17;;1640:1;1635;1631;:5;;;;:::i;:::-;:10;1623:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1697:1;1690:8;;;1460:246;;;;;:::o;1714:132::-;1772:7;1799:39;1803:1;1806;1799:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1792:46;;1714:132;;;;:::o;7502:172::-;7577:10;7567:7;;:20;;;;:::i;:::-;7557:7;:30;;;;7615:1;7602:10;:14;7598:59;;;7644:1;7633:8;:12;;;;7598:59;7502:172;:::o;12988:239::-;13101:7;13096:28;;13110:14;:12;:14::i;:::-;13096:28;13135:44;13153:6;13161:9;13172:6;13135:17;:44::i;:::-;13195:7;13190:29;;13204:15;:13;:15::i;:::-;13190:29;12988:239;;;;:::o;7404:86::-;7458:1;7448:7;:11;;;;7481:1;7470:8;:12;;;;7404:86::o;15392:164::-;15434:7;15455:15;15472;15491:19;:17;:19::i;:::-;15454:56;;;;15528:20;15540:7;15528;:11;;:20;;;;:::i;:::-;15521:27;;;;15392:164;:::o;1854:189::-;1940:7;1972:1;1968;:5;1975:12;1960:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1999:9;2015:1;2011;:5;;;;:::i;:::-;1999:17;;2034:1;2027:8;;;1854:189;;;;;:::o;7259:137::-;7317:1;7306:7;;:12;:29;;;;;7334:1;7322:8;;:13;7306:29;7302:42;;;7337:7;;7302:42;7364:1;7354:7;:11;;;;7387:1;7376:8;:12;;;;7259:137;:::o;13235:487::-;13334:15;13351:23;13376:12;13390:23;13415:12;13429:13;13446:19;13457:7;13446:10;:19::i;:::-;13333:132;;;;;;;;;;;;13494:28;13514:7;13494;:15;13502:6;13494:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13476:7;:15;13484:6;13476:15;;;;;;;;;;;;;;;:46;;;;13554:39;13577:15;13554:7;:18;13562:9;13554:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;13533:7;:18;13541:9;13533:18;;;;;;;;;;;;;;;:60;;;;13604:16;13614:5;13604:9;:16::i;:::-;13631:23;13643:4;13649;13631:11;:23::i;:::-;13687:9;13670:44;;13679:6;13670:44;;;13698:15;13670:44;;;;;;:::i;:::-;;;;;;;;13322:400;;;;;;13235:487;;;:::o;15564:257::-;15615:7;15624;15644:15;15662:7;;15644:25;;15680:15;4098:21;15680:25;;15730:20;4098:21;15730:7;;:11;;:20;;;;:::i;:::-;15720:7;:30;15716:61;;;15760:7;;4098:21;15752:25;;;;;;;;15716:61;15796:7;15805;15788:25;;;;;;15564:257;;;:::o;14141:467::-;14200:7;14209;14218;14227;14236;14245;14266:23;14291:12;14305:13;14322:39;14334:7;14343;;14352:8;;14322:11;:39::i;:::-;14265:96;;;;;;14372:19;14394:10;:8;:10::i;:::-;14372:32;;14416:15;14433:23;14458:12;14474:46;14486:7;14495:4;14501:5;14508:11;14474;:46::i;:::-;14415:105;;;;;;14539:7;14548:15;14565:4;14571:15;14588:4;14594:5;14531:69;;;;;;;;;;;;;;;;;;;14141:467;;;;;;;:::o;1118:136::-;1176:7;1203:43;1207:1;1210;1203:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1196:50;;1118:136;;;;:::o;931:179::-;989:7;1009:9;1025:1;1021;:5;;;;:::i;:::-;1009:17;;1050:1;1045;:6;;1037:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1101:1;1094:8;;;931:179;;;;:::o;13730:211::-;13783:19;13805:10;:8;:10::i;:::-;13783:32;;13826:13;13842:22;13852:11;13842:5;:9;;:22;;;;:::i;:::-;13826:38;;13900:33;13927:5;13900:7;:22;13916:4;13900:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;13875:7;:22;13891:4;13875:22;;;;;;;;;;;;;;;:58;;;;13772:169;;13730:211;:::o;13949:147::-;14027:17;14039:4;14027:7;;:11;;:17;;;;:::i;:::-;14017:7;:27;;;;14068:20;14083:4;14068:10;;:14;;:20;;;;:::i;:::-;14055:10;:33;;;;13949:147;;:::o;14616:351::-;14709:7;14718;14727;14747:12;14762:28;14786:3;14762:19;14774:6;14762:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;14747:43;;14801:13;14817:29;14842:3;14817:20;14829:7;14817;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;14801:45;;14857:23;14883:28;14905:5;14883:17;14895:4;14883:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;14857:54;;14930:15;14947:4;14953:5;14922:37;;;;;;;;;14616:351;;;;;;;:::o;14975:409::-;15085:7;15094;15103;15123:15;15141:24;15153:11;15141:7;:11;;:24;;;;:::i;:::-;15123:42;;15176:12;15191:21;15200:11;15191:4;:8;;:21;;;;:::i;:::-;15176:36;;15223:13;15239:22;15249:11;15239:5;:9;;:22;;;;:::i;:::-;15223:38;;15272:23;15298:28;15320:5;15298:17;15310:4;15298:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15272:54;;15345:7;15354:15;15371:4;15337:39;;;;;;;;;;14975:409;;;;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:133::-;344:5;382:6;369:20;360:29;;398:30;422:5;398:30;:::i;:::-;350:84;;;;:::o;440:137::-;494:5;525:6;519:13;510:22;;541:30;565:5;541:30;:::i;:::-;500:77;;;;:::o;583:139::-;629:5;667:6;654:20;645:29;;683:33;710:5;683:33;:::i;:::-;635:87;;;;:::o;728:143::-;785:5;816:6;810:13;801:22;;832:33;859:5;832:33;:::i;:::-;791:80;;;;:::o;877:329::-;936:6;985:2;973:9;964:7;960:23;956:32;953:2;;;991:79;;:::i;:::-;953:2;1111:1;1136:53;1181:7;1172:6;1161:9;1157:22;1136:53;:::i;:::-;1126:63;;1082:117;943:263;;;;:::o;1212:351::-;1282:6;1331:2;1319:9;1310:7;1306:23;1302:32;1299:2;;;1337:79;;:::i;:::-;1299:2;1457:1;1482:64;1538:7;1529:6;1518:9;1514:22;1482:64;:::i;:::-;1472:74;;1428:128;1289:274;;;;:::o;1569:474::-;1637:6;1645;1694:2;1682:9;1673:7;1669:23;1665:32;1662:2;;;1700:79;;:::i;:::-;1662:2;1820:1;1845:53;1890:7;1881:6;1870:9;1866:22;1845:53;:::i;:::-;1835:63;;1791:117;1947:2;1973:53;2018:7;2009:6;1998:9;1994:22;1973:53;:::i;:::-;1963:63;;1918:118;1652:391;;;;;:::o;2049:619::-;2126:6;2134;2142;2191:2;2179:9;2170:7;2166:23;2162:32;2159:2;;;2197:79;;:::i;:::-;2159:2;2317:1;2342:53;2387:7;2378:6;2367:9;2363:22;2342:53;:::i;:::-;2332:63;;2288:117;2444:2;2470:53;2515:7;2506:6;2495:9;2491:22;2470:53;:::i;:::-;2460:63;;2415:118;2572:2;2598:53;2643:7;2634:6;2623:9;2619:22;2598:53;:::i;:::-;2588:63;;2543:118;2149:519;;;;;:::o;2674:474::-;2742:6;2750;2799:2;2787:9;2778:7;2774:23;2770:32;2767:2;;;2805:79;;:::i;:::-;2767:2;2925:1;2950:53;2995:7;2986:6;2975:9;2971:22;2950:53;:::i;:::-;2940:63;;2896:117;3052:2;3078:53;3123:7;3114:6;3103:9;3099:22;3078:53;:::i;:::-;3068:63;;3023:118;2757:391;;;;;:::o;3154:323::-;3210:6;3259:2;3247:9;3238:7;3234:23;3230:32;3227:2;;;3265:79;;:::i;:::-;3227:2;3385:1;3410:50;3452:7;3443:6;3432:9;3428:22;3410:50;:::i;:::-;3400:60;;3356:114;3217:260;;;;:::o;3483:345::-;3550:6;3599:2;3587:9;3578:7;3574:23;3570:32;3567:2;;;3605:79;;:::i;:::-;3567:2;3725:1;3750:61;3803:7;3794:6;3783:9;3779:22;3750:61;:::i;:::-;3740:71;;3696:125;3557:271;;;;:::o;3834:329::-;3893:6;3942:2;3930:9;3921:7;3917:23;3913:32;3910:2;;;3948:79;;:::i;:::-;3910:2;4068:1;4093:53;4138:7;4129:6;4118:9;4114:22;4093:53;:::i;:::-;4083:63;;4039:117;3900:263;;;;:::o;4169:663::-;4257:6;4265;4273;4322:2;4310:9;4301:7;4297:23;4293:32;4290:2;;;4328:79;;:::i;:::-;4290:2;4448:1;4473:64;4529:7;4520:6;4509:9;4505:22;4473:64;:::i;:::-;4463:74;;4419:128;4586:2;4612:64;4668:7;4659:6;4648:9;4644:22;4612:64;:::i;:::-;4602:74;;4557:129;4725:2;4751:64;4807:7;4798:6;4787:9;4783:22;4751:64;:::i;:::-;4741:74;;4696:129;4280:552;;;;;:::o;4838:179::-;4907:10;4928:46;4970:3;4962:6;4928:46;:::i;:::-;5006:4;5001:3;4997:14;4983:28;;4918:99;;;;:::o;5023:108::-;5100:24;5118:5;5100:24;:::i;:::-;5095:3;5088:37;5078:53;;:::o;5137:118::-;5224:24;5242:5;5224:24;:::i;:::-;5219:3;5212:37;5202:53;;:::o;5291:732::-;5410:3;5439:54;5487:5;5439:54;:::i;:::-;5509:86;5588:6;5583:3;5509:86;:::i;:::-;5502:93;;5619:56;5669:5;5619:56;:::i;:::-;5698:7;5729:1;5714:284;5739:6;5736:1;5733:13;5714:284;;;5815:6;5809:13;5842:63;5901:3;5886:13;5842:63;:::i;:::-;5835:70;;5928:60;5981:6;5928:60;:::i;:::-;5918:70;;5774:224;5761:1;5758;5754:9;5749:14;;5714:284;;;5718:14;6014:3;6007:10;;5415:608;;;;;;;:::o;6029:109::-;6110:21;6125:5;6110:21;:::i;:::-;6105:3;6098:34;6088:50;;:::o;6144:147::-;6239:45;6278:5;6239:45;:::i;:::-;6234:3;6227:58;6217:74;;:::o;6297:364::-;6385:3;6413:39;6446:5;6413:39;:::i;:::-;6468:71;6532:6;6527:3;6468:71;:::i;:::-;6461:78;;6548:52;6593:6;6588:3;6581:4;6574:5;6570:16;6548:52;:::i;:::-;6625:29;6647:6;6625:29;:::i;:::-;6620:3;6616:39;6609:46;;6389:272;;;;;:::o;6667:366::-;6809:3;6830:67;6894:2;6889:3;6830:67;:::i;:::-;6823:74;;6906:93;6995:3;6906:93;:::i;:::-;7024:2;7019:3;7015:12;7008:19;;6813:220;;;:::o;7039:366::-;7181:3;7202:67;7266:2;7261:3;7202:67;:::i;:::-;7195:74;;7278:93;7367:3;7278:93;:::i;:::-;7396:2;7391:3;7387:12;7380:19;;7185:220;;;:::o;7411:366::-;7553:3;7574:67;7638:2;7633:3;7574:67;:::i;:::-;7567:74;;7650:93;7739:3;7650:93;:::i;:::-;7768:2;7763:3;7759:12;7752:19;;7557:220;;;:::o;7783:366::-;7925:3;7946:67;8010:2;8005:3;7946:67;:::i;:::-;7939:74;;8022:93;8111:3;8022:93;:::i;:::-;8140:2;8135:3;8131:12;8124:19;;7929:220;;;:::o;8155:366::-;8297:3;8318:67;8382:2;8377:3;8318:67;:::i;:::-;8311:74;;8394:93;8483:3;8394:93;:::i;:::-;8512:2;8507:3;8503:12;8496:19;;8301:220;;;:::o;8527:366::-;8669:3;8690:67;8754:2;8749:3;8690:67;:::i;:::-;8683:74;;8766:93;8855:3;8766:93;:::i;:::-;8884:2;8879:3;8875:12;8868:19;;8673:220;;;:::o;8899:366::-;9041:3;9062:67;9126:2;9121:3;9062:67;:::i;:::-;9055:74;;9138:93;9227:3;9138:93;:::i;:::-;9256:2;9251:3;9247:12;9240:19;;9045:220;;;:::o;9271:366::-;9413:3;9434:67;9498:2;9493:3;9434:67;:::i;:::-;9427:74;;9510:93;9599:3;9510:93;:::i;:::-;9628:2;9623:3;9619:12;9612:19;;9417:220;;;:::o;9643:366::-;9785:3;9806:67;9870:2;9865:3;9806:67;:::i;:::-;9799:74;;9882:93;9971:3;9882:93;:::i;:::-;10000:2;9995:3;9991:12;9984:19;;9789:220;;;:::o;10015:366::-;10157:3;10178:67;10242:2;10237:3;10178:67;:::i;:::-;10171:74;;10254:93;10343:3;10254:93;:::i;:::-;10372:2;10367:3;10363:12;10356:19;;10161:220;;;:::o;10387:366::-;10529:3;10550:67;10614:2;10609:3;10550:67;:::i;:::-;10543:74;;10626:93;10715:3;10626:93;:::i;:::-;10744:2;10739:3;10735:12;10728:19;;10533:220;;;:::o;10759:118::-;10846:24;10864:5;10846:24;:::i;:::-;10841:3;10834:37;10824:53;;:::o;10883:112::-;10966:22;10982:5;10966:22;:::i;:::-;10961:3;10954:35;10944:51;;:::o;11001:222::-;11094:4;11132:2;11121:9;11117:18;11109:26;;11145:71;11213:1;11202:9;11198:17;11189:6;11145:71;:::i;:::-;11099:124;;;;:::o;11229:332::-;11350:4;11388:2;11377:9;11373:18;11365:26;;11401:71;11469:1;11458:9;11454:17;11445:6;11401:71;:::i;:::-;11482:72;11550:2;11539:9;11535:18;11526:6;11482:72;:::i;:::-;11355:206;;;;;:::o;11567:332::-;11688:4;11726:2;11715:9;11711:18;11703:26;;11739:71;11807:1;11796:9;11792:17;11783:6;11739:71;:::i;:::-;11820:72;11888:2;11877:9;11873:18;11864:6;11820:72;:::i;:::-;11693:206;;;;;:::o;11905:807::-;12154:4;12192:3;12181:9;12177:19;12169:27;;12206:71;12274:1;12263:9;12259:17;12250:6;12206:71;:::i;:::-;12287:72;12355:2;12344:9;12340:18;12331:6;12287:72;:::i;:::-;12369:80;12445:2;12434:9;12430:18;12421:6;12369:80;:::i;:::-;12459;12535:2;12524:9;12520:18;12511:6;12459:80;:::i;:::-;12549:73;12617:3;12606:9;12602:19;12593:6;12549:73;:::i;:::-;12632;12700:3;12689:9;12685:19;12676:6;12632:73;:::i;:::-;12159:553;;;;;;;;;:::o;12718:210::-;12805:4;12843:2;12832:9;12828:18;12820:26;;12856:65;12918:1;12907:9;12903:17;12894:6;12856:65;:::i;:::-;12810:118;;;;:::o;12934:313::-;13047:4;13085:2;13074:9;13070:18;13062:26;;13134:9;13128:4;13124:20;13120:1;13109:9;13105:17;13098:47;13162:78;13235:4;13226:6;13162:78;:::i;:::-;13154:86;;13052:195;;;;:::o;13253:419::-;13419:4;13457:2;13446:9;13442:18;13434:26;;13506:9;13500:4;13496:20;13492:1;13481:9;13477:17;13470:47;13534:131;13660:4;13534:131;:::i;:::-;13526:139;;13424:248;;;:::o;13678:419::-;13844:4;13882:2;13871:9;13867:18;13859:26;;13931:9;13925:4;13921:20;13917:1;13906:9;13902:17;13895:47;13959:131;14085:4;13959:131;:::i;:::-;13951:139;;13849:248;;;:::o;14103:419::-;14269:4;14307:2;14296:9;14292:18;14284:26;;14356:9;14350:4;14346:20;14342:1;14331:9;14327:17;14320:47;14384:131;14510:4;14384:131;:::i;:::-;14376:139;;14274:248;;;:::o;14528:419::-;14694:4;14732:2;14721:9;14717:18;14709:26;;14781:9;14775:4;14771:20;14767:1;14756:9;14752:17;14745:47;14809:131;14935:4;14809:131;:::i;:::-;14801:139;;14699:248;;;:::o;14953:419::-;15119:4;15157:2;15146:9;15142:18;15134:26;;15206:9;15200:4;15196:20;15192:1;15181:9;15177:17;15170:47;15234:131;15360:4;15234:131;:::i;:::-;15226:139;;15124:248;;;:::o;15378:419::-;15544:4;15582:2;15571:9;15567:18;15559:26;;15631:9;15625:4;15621:20;15617:1;15606:9;15602:17;15595:47;15659:131;15785:4;15659:131;:::i;:::-;15651:139;;15549:248;;;:::o;15803:419::-;15969:4;16007:2;15996:9;15992:18;15984:26;;16056:9;16050:4;16046:20;16042:1;16031:9;16027:17;16020:47;16084:131;16210:4;16084:131;:::i;:::-;16076:139;;15974:248;;;:::o;16228:419::-;16394:4;16432:2;16421:9;16417:18;16409:26;;16481:9;16475:4;16471:20;16467:1;16456:9;16452:17;16445:47;16509:131;16635:4;16509:131;:::i;:::-;16501:139;;16399:248;;;:::o;16653:419::-;16819:4;16857:2;16846:9;16842:18;16834:26;;16906:9;16900:4;16896:20;16892:1;16881:9;16877:17;16870:47;16934:131;17060:4;16934:131;:::i;:::-;16926:139;;16824:248;;;:::o;17078:419::-;17244:4;17282:2;17271:9;17267:18;17259:26;;17331:9;17325:4;17321:20;17317:1;17306:9;17302:17;17295:47;17359:131;17485:4;17359:131;:::i;:::-;17351:139;;17249:248;;;:::o;17503:419::-;17669:4;17707:2;17696:9;17692:18;17684:26;;17756:9;17750:4;17746:20;17742:1;17731:9;17727:17;17720:47;17784:131;17910:4;17784:131;:::i;:::-;17776:139;;17674:248;;;:::o;17928:222::-;18021:4;18059:2;18048:9;18044:18;18036:26;;18072:71;18140:1;18129:9;18125:17;18116:6;18072:71;:::i;:::-;18026:124;;;;:::o;18156:831::-;18419:4;18457:3;18446:9;18442:19;18434:27;;18471:71;18539:1;18528:9;18524:17;18515:6;18471:71;:::i;:::-;18552:80;18628:2;18617:9;18613:18;18604:6;18552:80;:::i;:::-;18679:9;18673:4;18669:20;18664:2;18653:9;18649:18;18642:48;18707:108;18810:4;18801:6;18707:108;:::i;:::-;18699:116;;18825:72;18893:2;18882:9;18878:18;18869:6;18825:72;:::i;:::-;18907:73;18975:3;18964:9;18960:19;18951:6;18907:73;:::i;:::-;18424:563;;;;;;;;:::o;18993:214::-;19082:4;19120:2;19109:9;19105:18;19097:26;;19133:67;19197:1;19186:9;19182:17;19173:6;19133:67;:::i;:::-;19087:120;;;;:::o;19294:132::-;19361:4;19384:3;19376:11;;19414:4;19409:3;19405:14;19397:22;;19366:60;;;:::o;19432:114::-;19499:6;19533:5;19527:12;19517:22;;19506:40;;;:::o;19552:99::-;19604:6;19638:5;19632:12;19622:22;;19611:40;;;:::o;19657:113::-;19727:4;19759;19754:3;19750:14;19742:22;;19732:38;;;:::o;19776:184::-;19875:11;19909:6;19904:3;19897:19;19949:4;19944:3;19940:14;19925:29;;19887:73;;;;:::o;19966:169::-;20050:11;20084:6;20079:3;20072:19;20124:4;20119:3;20115:14;20100:29;;20062:73;;;;:::o;20141:305::-;20181:3;20200:20;20218:1;20200:20;:::i;:::-;20195:25;;20234:20;20252:1;20234:20;:::i;:::-;20229:25;;20388:1;20320:66;20316:74;20313:1;20310:81;20307:2;;;20394:18;;:::i;:::-;20307:2;20438:1;20435;20431:9;20424:16;;20185:261;;;;:::o;20452:185::-;20492:1;20509:20;20527:1;20509:20;:::i;:::-;20504:25;;20543:20;20561:1;20543:20;:::i;:::-;20538:25;;20582:1;20572:2;;20587:18;;:::i;:::-;20572:2;20629:1;20626;20622:9;20617:14;;20494:143;;;;:::o;20643:348::-;20683:7;20706:20;20724:1;20706:20;:::i;:::-;20701:25;;20740:20;20758:1;20740:20;:::i;:::-;20735:25;;20928:1;20860:66;20856:74;20853:1;20850:81;20845:1;20838:9;20831:17;20827:105;20824:2;;;20935:18;;:::i;:::-;20824:2;20983:1;20980;20976:9;20965:20;;20691:300;;;;:::o;20997:191::-;21037:4;21057:20;21075:1;21057:20;:::i;:::-;21052:25;;21091:20;21109:1;21091:20;:::i;:::-;21086:25;;21130:1;21127;21124:8;21121:2;;;21135:18;;:::i;:::-;21121:2;21180:1;21177;21173:9;21165:17;;21042:146;;;;:::o;21194:96::-;21231:7;21260:24;21278:5;21260:24;:::i;:::-;21249:35;;21239:51;;;:::o;21296:90::-;21330:7;21373:5;21366:13;21359:21;21348:32;;21338:48;;;:::o;21392:126::-;21429:7;21469:42;21462:5;21458:54;21447:65;;21437:81;;;:::o;21524:77::-;21561:7;21590:5;21579:16;;21569:32;;;:::o;21607:86::-;21642:7;21682:4;21675:5;21671:16;21660:27;;21650:43;;;:::o;21699:121::-;21757:9;21790:24;21808:5;21790:24;:::i;:::-;21777:37;;21767:53;;;:::o;21826:307::-;21894:1;21904:113;21918:6;21915:1;21912:13;21904:113;;;22003:1;21998:3;21994:11;21988:18;21984:1;21979:3;21975:11;21968:39;21940:2;21937:1;21933:10;21928:15;;21904:113;;;22035:6;22032:1;22029:13;22026:2;;;22115:1;22106:6;22101:3;22097:16;22090:27;22026:2;21875:258;;;;:::o;22139:233::-;22178:3;22201:24;22219:5;22201:24;:::i;:::-;22192:33;;22247:66;22240:5;22237:77;22234:2;;;22317:18;;:::i;:::-;22234:2;22364:1;22357:5;22353:13;22346:20;;22182:190;;;:::o;22378:180::-;22426:77;22423:1;22416:88;22523:4;22520:1;22513:15;22547:4;22544:1;22537:15;22564:180;22612:77;22609:1;22602:88;22709:4;22706:1;22699:15;22733:4;22730:1;22723:15;22750:180;22798:77;22795:1;22788:88;22895:4;22892:1;22885:15;22919:4;22916:1;22909:15;22936:180;22984:77;22981:1;22974:88;23081:4;23078:1;23071:15;23105:4;23102:1;23095:15;23245:117;23354:1;23351;23344:12;23368:102;23409:6;23460:2;23456:7;23451:2;23444:5;23440:14;23436:28;23426:38;;23416:54;;;:::o;23476:222::-;23616:34;23612:1;23604:6;23600:14;23593:58;23685:5;23680:2;23672:6;23668:15;23661:30;23582:116;:::o;23704:229::-;23844:34;23840:1;23832:6;23828:14;23821:58;23913:12;23908:2;23900:6;23896:15;23889:37;23810:123;:::o;23939:221::-;24079:34;24075:1;24067:6;24063:14;24056:58;24148:4;24143:2;24135:6;24131:15;24124:29;24045:115;:::o;24166:177::-;24306:29;24302:1;24294:6;24290:14;24283:53;24272:71;:::o;24349:179::-;24489:31;24485:1;24477:6;24473:14;24466:55;24455:73;:::o;24534:220::-;24674:34;24670:1;24662:6;24658:14;24651:58;24743:3;24738:2;24730:6;24726:15;24719:28;24640:114;:::o;24760:182::-;24900:34;24896:1;24888:6;24884:14;24877:58;24866:76;:::o;24948:228::-;25088:34;25084:1;25076:6;25072:14;25065:58;25157:11;25152:2;25144:6;25140:15;25133:36;25054:122;:::o;25182:224::-;25322:34;25318:1;25310:6;25306:14;25299:58;25391:7;25386:2;25378:6;25374:15;25367:32;25288:118;:::o;25412:223::-;25552:34;25548:1;25540:6;25536:14;25529:58;25621:6;25616:2;25608:6;25604:15;25597:31;25518:117;:::o;25641:167::-;25781:19;25777:1;25769:6;25765:14;25758:43;25747:61;:::o;25814:122::-;25887:24;25905:5;25887:24;:::i;:::-;25880:5;25877:35;25867:2;;25926:1;25923;25916:12;25867:2;25857:79;:::o;25942:116::-;26012:21;26027:5;26012:21;:::i;:::-;26005:5;26002:32;25992:2;;26048:1;26045;26038:12;25992:2;25982:76;:::o;26064:122::-;26137:24;26155:5;26137:24;:::i;:::-;26130:5;26127:35;26117:2;;26176:1;26173;26166:12;26117:2;26107:79;:::o
Swarm Source
ipfs://c5a111e7260eedccc77f6736f910bc9c9fe28165e1b70b1fd7bf3223cb53badb
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.