ERC-20
Overview
Max Total Supply
1,000,000,000 TANJIRO
Holders
19
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
21,084,189.657112417 TANJIROValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
TANJIRO
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-04-23 */ /** Community: https://t.me/tanjirotoken Twitter: https://twitter.com/tanjirotokenerc */ // SPDX-License-Identifier: Unlicensed pragma solidity 0.8.7; 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( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract TANJIRO is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private bots; mapping (address => uint) private cooldown; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1_000_000_000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _feeAddr1; uint256 private _feeAddr2; uint256 private _initialTax; uint256 private _finalTax; address payable private _feeAddrWallet; uint256 public launchBlock; string private constant _name = "Tanjiro"; string private constant _symbol = "TANJIRO"; uint8 private constant _decimals = 9; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; bool private cooldownEnabled = false; uint256 private _maxTxAmount = 30_000_000 * 10**9; uint256 private _maxWalletSize = 30_000_000 * 10**9; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _feeAddrWallet = payable(_msgSender()); _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_feeAddrWallet] = true; _initialTax=0; _finalTax=0; 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 _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()) { require(!bots[from] && !bots[to]); _feeAddr1 = 0; _feeAddr2 = 0; if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) { // Cooldown require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>0) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } }else{ _feeAddr1 = 0; _feeAddr2 = 0; } _tokenTransfer(from,to,amount); } 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 addBots(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function delBot(address notbot) public onlyOwner { bots[notbot] = false; } function removeLimitations() external onlyOwner{ _maxTxAmount = _tTotal; } function sendETHToFee(uint256 amount) private { _feeAddrWallet.transfer(amount); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _approve(address(this), address(uniswapV2Router), _tTotal); launchBlock = block.number; 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; tradingOpen = true; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function _tokenTransfer(address sender, address recipient, uint256 amount) private { _transferStandard(sender, recipient, amount); } 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, _feeAddr1, _feeAddr2); 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); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launchBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"removeLimitations","outputs":[],"stateMutability":"nonpayable","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":[],"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
6080604052670de0b6b3a76400006000196200001c91906200046a565b6000196200002b919062000425565b6008556000601160156101000a81548160ff0219169083151502179055506000601160166101000a81548160ff0219169083151502179055506000601160176101000a81548160ff021916908315150217905550666a94d74f430000601255666a94d74f430000601355348015620000a257600080fd5b506000620000b5620003c660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35062000163620003c660201b60201c565b600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060085460026000620001ba620003c660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560006200020e620003ce60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000600c819055506000600d8190555062000351620003c660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a7640000604051620003b8919062000408565b60405180910390a362000500565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620004028162000460565b82525050565b60006020820190506200041f6000830184620003f7565b92915050565b6000620004328262000460565b91506200043f8362000460565b925082821015620004555762000454620004a2565b5b828203905092915050565b6000819050919050565b6000620004778262000460565b9150620004848362000460565b925082620004975762000496620004d1565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b61326680620005106000396000f3fe6080604052600436106101025760003560e01c8063715018a611610095578063a9059cbb11610064578063a9059cbb1461031c578063c9567bf914610359578063d00efb2f14610370578063d34628cc1461039b578063dd62ed3e146103c457610109565b8063715018a6146102985780637e82d36c146102af5780638da5cb5b146102c657806395d89b41146102f157610109565b8063273123b7116100d1578063273123b7146101de578063313ce567146102075780635932ead11461023257806370a082311461025b57610109565b806306fdde031461010e578063095ea7b31461013957806318160ddd1461017657806323b872dd146101a157610109565b3661010957005b600080fd5b34801561011a57600080fd5b50610123610401565b60405161013091906128eb565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b919061241f565b61043e565b60405161016d91906128d0565b60405180910390f35b34801561018257600080fd5b5061018b61045c565b6040516101989190612a8d565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c391906123cc565b61046c565b6040516101d591906128d0565b60405180910390f35b3480156101ea57600080fd5b5061020560048036038101906102009190612332565b610545565b005b34801561021357600080fd5b5061021c610635565b6040516102299190612b02565b60405180910390f35b34801561023e57600080fd5b50610259600480360381019061025491906124a8565b61063e565b005b34801561026757600080fd5b50610282600480360381019061027d9190612332565b6106f0565b60405161028f9190612a8d565b60405180910390f35b3480156102a457600080fd5b506102ad610741565b005b3480156102bb57600080fd5b506102c4610894565b005b3480156102d257600080fd5b506102db61093a565b6040516102e89190612802565b60405180910390f35b3480156102fd57600080fd5b50610306610963565b60405161031391906128eb565b60405180910390f35b34801561032857600080fd5b50610343600480360381019061033e919061241f565b6109a0565b60405161035091906128d0565b60405180910390f35b34801561036557600080fd5b5061036e6109be565b005b34801561037c57600080fd5b50610385610f11565b6040516103929190612a8d565b60405180910390f35b3480156103a757600080fd5b506103c260048036038101906103bd919061245f565b610f17565b005b3480156103d057600080fd5b506103eb60048036038101906103e6919061238c565b611041565b6040516103f89190612a8d565b60405180910390f35b60606040518060400160405280600781526020017f54616e6a69726f00000000000000000000000000000000000000000000000000815250905090565b600061045261044b6110c8565b84846110d0565b6001905092915050565b6000670de0b6b3a7640000905090565b600061047984848461129b565b61053a846104856110c8565b6105358560405180606001604052806028815260200161320960289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104eb6110c8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461179d9092919063ffffffff16565b6110d0565b600190509392505050565b61054d6110c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d1906129cd565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b6106466110c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ca906129cd565b60405180910390fd5b80601160176101000a81548160ff02191690831515021790555050565b600061073a600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611801565b9050919050565b6107496110c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cd906129cd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61089c6110c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610929576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610920906129cd565b60405180910390fd5b670de0b6b3a7640000601281905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f54414e4a49524f00000000000000000000000000000000000000000000000000815250905090565b60006109b46109ad6110c8565b848461129b565b6001905092915050565b6109c66110c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4a906129cd565b60405180910390fd5b601160149054906101000a900460ff1615610aa3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9a90612a6d565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b3230601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16670de0b6b3a76400006110d0565b43600f819055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b7f57600080fd5b505afa158015610b93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb7919061235f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610c1957600080fd5b505afa158015610c2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c51919061235f565b6040518363ffffffff1660e01b8152600401610c6e92919061281d565b602060405180830381600087803b158015610c8857600080fd5b505af1158015610c9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc0919061235f565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d49306106f0565b600080610d5461093a565b426040518863ffffffff1660e01b8152600401610d769695949392919061286f565b6060604051808303818588803b158015610d8f57600080fd5b505af1158015610da3573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610dc89190612502565b5050506001601160166101000a81548160ff0219169083151502179055506001601160176101000a81548160ff0219169083151502179055506001601160146101000a81548160ff021916908315150217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610ebb929190612846565b602060405180830381600087803b158015610ed557600080fd5b505af1158015610ee9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0d91906124d5565b5050565b600f5481565b610f1f6110c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa3906129cd565b60405180910390fd5b60005b815181101561103d57600160066000848481518110610fd157610fd0612e4a565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061103590612da3565b915050610faf565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611140576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113790612a4d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a79061296d565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161128e9190612a8d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561130b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130290612a0d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561137b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113729061290d565b60405180910390fd5b600081116113be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b5906129ed565b60405180910390fd5b6113c661093a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611434575061140461093a565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561177c57600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114dd5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6114e657600080fd5b6000600a819055506000600b81905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156115a15750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115f75750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561160f5750601160179054906101000a900460ff165b156116b257601254811115611659576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116509061292d565b60405180910390fd5b60135481611666846106f0565b6116709190612bc3565b11156116b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a890612a2d565b60405180910390fd5b5b60006116bd306106f0565b9050601160159054906101000a900460ff1615801561172a5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156117425750601160169054906101000a900460ff165b801561174e5750600081115b156117765761175c8161186f565b600047905060008111156117745761177347611af7565b5b505b5061178d565b6000600a819055506000600b819055505b611798838383611b63565b505050565b60008383111582906117e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117dc91906128eb565b60405180910390fd5b50600083856117f49190612ca4565b9050809150509392505050565b6000600854821115611848576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183f9061294d565b60405180910390fd5b6000611852611b73565b90506118678184611b9e90919063ffffffff16565b915050919050565b6001601160156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156118a7576118a6612e79565b5b6040519080825280602002602001820160405280156118d55781602001602082028036833780820191505090505b50905030816000815181106118ed576118ec612e4a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561198f57600080fd5b505afa1580156119a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c7919061235f565b816001815181106119db576119da612e4a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a4230601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110d0565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611aa6959493929190612aa8565b600060405180830381600087803b158015611ac057600080fd5b505af1158015611ad4573d6000803e3d6000fd5b50505050506000601160156101000a81548160ff02191690831515021790555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611b5f573d6000803e3d6000fd5b5050565b611b6e838383611be8565b505050565b6000806000611b80611db3565b91509150611b978183611b9e90919063ffffffff16565b9250505090565b6000611be083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e12565b905092915050565b600080600080600080611bfa87611e75565b955095509550955095509550611c5886600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611edd90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ced85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f2790919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d3981611f85565b611d438483612042565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611da09190612a8d565b60405180910390a3505050505050505050565b600080600060085490506000670de0b6b3a76400009050611de7670de0b6b3a7640000600854611b9e90919063ffffffff16565b821015611e0557600854670de0b6b3a7640000935093505050611e0e565b81819350935050505b9091565b60008083118290611e59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5091906128eb565b60405180910390fd5b5060008385611e689190612c19565b9050809150509392505050565b6000806000806000806000806000611e928a600a54600b5461207c565b9250925092506000611ea2611b73565b90506000806000611eb58e878787612112565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611f1f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061179d565b905092915050565b6000808284611f369190612bc3565b905083811015611f7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f729061298d565b60405180910390fd5b8091505092915050565b6000611f8f611b73565b90506000611fa6828461219b90919063ffffffff16565b9050611ffa81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f2790919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61205782600854611edd90919063ffffffff16565b60088190555061207281600954611f2790919063ffffffff16565b6009819055505050565b6000806000806120a8606461209a888a61219b90919063ffffffff16565b611b9e90919063ffffffff16565b905060006120d260646120c4888b61219b90919063ffffffff16565b611b9e90919063ffffffff16565b905060006120fb826120ed858c611edd90919063ffffffff16565b611edd90919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061212b858961219b90919063ffffffff16565b90506000612142868961219b90919063ffffffff16565b90506000612159878961219b90919063ffffffff16565b90506000612182826121748587611edd90919063ffffffff16565b611edd90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808314156121ae5760009050612210565b600082846121bc9190612c4a565b90508284826121cb9190612c19565b1461220b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612202906129ad565b60405180910390fd5b809150505b92915050565b600061222961222484612b42565b612b1d565b9050808382526020820190508285602086028201111561224c5761224b612ead565b5b60005b8581101561227c57816122628882612286565b84526020840193506020830192505060018101905061224f565b5050509392505050565b600081359050612295816131c3565b92915050565b6000815190506122aa816131c3565b92915050565b600082601f8301126122c5576122c4612ea8565b5b81356122d5848260208601612216565b91505092915050565b6000813590506122ed816131da565b92915050565b600081519050612302816131da565b92915050565b600081359050612317816131f1565b92915050565b60008151905061232c816131f1565b92915050565b60006020828403121561234857612347612eb7565b5b600061235684828501612286565b91505092915050565b60006020828403121561237557612374612eb7565b5b60006123838482850161229b565b91505092915050565b600080604083850312156123a3576123a2612eb7565b5b60006123b185828601612286565b92505060206123c285828601612286565b9150509250929050565b6000806000606084860312156123e5576123e4612eb7565b5b60006123f386828701612286565b935050602061240486828701612286565b925050604061241586828701612308565b9150509250925092565b6000806040838503121561243657612435612eb7565b5b600061244485828601612286565b925050602061245585828601612308565b9150509250929050565b60006020828403121561247557612474612eb7565b5b600082013567ffffffffffffffff81111561249357612492612eb2565b5b61249f848285016122b0565b91505092915050565b6000602082840312156124be576124bd612eb7565b5b60006124cc848285016122de565b91505092915050565b6000602082840312156124eb576124ea612eb7565b5b60006124f9848285016122f3565b91505092915050565b60008060006060848603121561251b5761251a612eb7565b5b60006125298682870161231d565b935050602061253a8682870161231d565b925050604061254b8682870161231d565b9150509250925092565b6000612561838361256d565b60208301905092915050565b61257681612cd8565b82525050565b61258581612cd8565b82525050565b600061259682612b7e565b6125a08185612ba1565b93506125ab83612b6e565b8060005b838110156125dc5781516125c38882612555565b97506125ce83612b94565b9250506001810190506125af565b5085935050505092915050565b6125f281612cea565b82525050565b61260181612d2d565b82525050565b600061261282612b89565b61261c8185612bb2565b935061262c818560208601612d3f565b61263581612ebc565b840191505092915050565b600061264d602383612bb2565b915061265882612ecd565b604082019050919050565b6000612670601983612bb2565b915061267b82612f1c565b602082019050919050565b6000612693602a83612bb2565b915061269e82612f45565b604082019050919050565b60006126b6602283612bb2565b91506126c182612f94565b604082019050919050565b60006126d9601b83612bb2565b91506126e482612fe3565b602082019050919050565b60006126fc602183612bb2565b91506127078261300c565b604082019050919050565b600061271f602083612bb2565b915061272a8261305b565b602082019050919050565b6000612742602983612bb2565b915061274d82613084565b604082019050919050565b6000612765602583612bb2565b9150612770826130d3565b604082019050919050565b6000612788601a83612bb2565b915061279382613122565b602082019050919050565b60006127ab602483612bb2565b91506127b68261314b565b604082019050919050565b60006127ce601783612bb2565b91506127d98261319a565b602082019050919050565b6127ed81612d16565b82525050565b6127fc81612d20565b82525050565b6000602082019050612817600083018461257c565b92915050565b6000604082019050612832600083018561257c565b61283f602083018461257c565b9392505050565b600060408201905061285b600083018561257c565b61286860208301846127e4565b9392505050565b600060c082019050612884600083018961257c565b61289160208301886127e4565b61289e60408301876125f8565b6128ab60608301866125f8565b6128b8608083018561257c565b6128c560a08301846127e4565b979650505050505050565b60006020820190506128e560008301846125e9565b92915050565b600060208201905081810360008301526129058184612607565b905092915050565b6000602082019050818103600083015261292681612640565b9050919050565b6000602082019050818103600083015261294681612663565b9050919050565b6000602082019050818103600083015261296681612686565b9050919050565b60006020820190508181036000830152612986816126a9565b9050919050565b600060208201905081810360008301526129a6816126cc565b9050919050565b600060208201905081810360008301526129c6816126ef565b9050919050565b600060208201905081810360008301526129e681612712565b9050919050565b60006020820190508181036000830152612a0681612735565b9050919050565b60006020820190508181036000830152612a2681612758565b9050919050565b60006020820190508181036000830152612a468161277b565b9050919050565b60006020820190508181036000830152612a668161279e565b9050919050565b60006020820190508181036000830152612a86816127c1565b9050919050565b6000602082019050612aa260008301846127e4565b92915050565b600060a082019050612abd60008301886127e4565b612aca60208301876125f8565b8181036040830152612adc818661258b565b9050612aeb606083018561257c565b612af860808301846127e4565b9695505050505050565b6000602082019050612b1760008301846127f3565b92915050565b6000612b27612b38565b9050612b338282612d72565b919050565b6000604051905090565b600067ffffffffffffffff821115612b5d57612b5c612e79565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612bce82612d16565b9150612bd983612d16565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612c0e57612c0d612dec565b5b828201905092915050565b6000612c2482612d16565b9150612c2f83612d16565b925082612c3f57612c3e612e1b565b5b828204905092915050565b6000612c5582612d16565b9150612c6083612d16565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612c9957612c98612dec565b5b828202905092915050565b6000612caf82612d16565b9150612cba83612d16565b925082821015612ccd57612ccc612dec565b5b828203905092915050565b6000612ce382612cf6565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612d3882612d16565b9050919050565b60005b83811015612d5d578082015181840152602081019050612d42565b83811115612d6c576000848401525b50505050565b612d7b82612ebc565b810181811067ffffffffffffffff82111715612d9a57612d99612e79565b5b80604052505050565b6000612dae82612d16565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612de157612de0612dec565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6131cc81612cd8565b81146131d757600080fd5b50565b6131e381612cea565b81146131ee57600080fd5b50565b6131fa81612d16565b811461320557600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122068cf13e4734cfc00c08cd24a3ec6bf2b745205a3b7b7a88a2f4fd1639682e77764736f6c63430008070033
Deployed Bytecode
0x6080604052600436106101025760003560e01c8063715018a611610095578063a9059cbb11610064578063a9059cbb1461031c578063c9567bf914610359578063d00efb2f14610370578063d34628cc1461039b578063dd62ed3e146103c457610109565b8063715018a6146102985780637e82d36c146102af5780638da5cb5b146102c657806395d89b41146102f157610109565b8063273123b7116100d1578063273123b7146101de578063313ce567146102075780635932ead11461023257806370a082311461025b57610109565b806306fdde031461010e578063095ea7b31461013957806318160ddd1461017657806323b872dd146101a157610109565b3661010957005b600080fd5b34801561011a57600080fd5b50610123610401565b60405161013091906128eb565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b919061241f565b61043e565b60405161016d91906128d0565b60405180910390f35b34801561018257600080fd5b5061018b61045c565b6040516101989190612a8d565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c391906123cc565b61046c565b6040516101d591906128d0565b60405180910390f35b3480156101ea57600080fd5b5061020560048036038101906102009190612332565b610545565b005b34801561021357600080fd5b5061021c610635565b6040516102299190612b02565b60405180910390f35b34801561023e57600080fd5b50610259600480360381019061025491906124a8565b61063e565b005b34801561026757600080fd5b50610282600480360381019061027d9190612332565b6106f0565b60405161028f9190612a8d565b60405180910390f35b3480156102a457600080fd5b506102ad610741565b005b3480156102bb57600080fd5b506102c4610894565b005b3480156102d257600080fd5b506102db61093a565b6040516102e89190612802565b60405180910390f35b3480156102fd57600080fd5b50610306610963565b60405161031391906128eb565b60405180910390f35b34801561032857600080fd5b50610343600480360381019061033e919061241f565b6109a0565b60405161035091906128d0565b60405180910390f35b34801561036557600080fd5b5061036e6109be565b005b34801561037c57600080fd5b50610385610f11565b6040516103929190612a8d565b60405180910390f35b3480156103a757600080fd5b506103c260048036038101906103bd919061245f565b610f17565b005b3480156103d057600080fd5b506103eb60048036038101906103e6919061238c565b611041565b6040516103f89190612a8d565b60405180910390f35b60606040518060400160405280600781526020017f54616e6a69726f00000000000000000000000000000000000000000000000000815250905090565b600061045261044b6110c8565b84846110d0565b6001905092915050565b6000670de0b6b3a7640000905090565b600061047984848461129b565b61053a846104856110c8565b6105358560405180606001604052806028815260200161320960289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104eb6110c8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461179d9092919063ffffffff16565b6110d0565b600190509392505050565b61054d6110c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d1906129cd565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b6106466110c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ca906129cd565b60405180910390fd5b80601160176101000a81548160ff02191690831515021790555050565b600061073a600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611801565b9050919050565b6107496110c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cd906129cd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61089c6110c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610929576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610920906129cd565b60405180910390fd5b670de0b6b3a7640000601281905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f54414e4a49524f00000000000000000000000000000000000000000000000000815250905090565b60006109b46109ad6110c8565b848461129b565b6001905092915050565b6109c66110c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4a906129cd565b60405180910390fd5b601160149054906101000a900460ff1615610aa3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9a90612a6d565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b3230601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16670de0b6b3a76400006110d0565b43600f819055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b7f57600080fd5b505afa158015610b93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb7919061235f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610c1957600080fd5b505afa158015610c2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c51919061235f565b6040518363ffffffff1660e01b8152600401610c6e92919061281d565b602060405180830381600087803b158015610c8857600080fd5b505af1158015610c9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc0919061235f565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d49306106f0565b600080610d5461093a565b426040518863ffffffff1660e01b8152600401610d769695949392919061286f565b6060604051808303818588803b158015610d8f57600080fd5b505af1158015610da3573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610dc89190612502565b5050506001601160166101000a81548160ff0219169083151502179055506001601160176101000a81548160ff0219169083151502179055506001601160146101000a81548160ff021916908315150217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610ebb929190612846565b602060405180830381600087803b158015610ed557600080fd5b505af1158015610ee9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0d91906124d5565b5050565b600f5481565b610f1f6110c8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa3906129cd565b60405180910390fd5b60005b815181101561103d57600160066000848481518110610fd157610fd0612e4a565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061103590612da3565b915050610faf565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611140576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113790612a4d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a79061296d565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161128e9190612a8d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561130b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130290612a0d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561137b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113729061290d565b60405180910390fd5b600081116113be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b5906129ed565b60405180910390fd5b6113c661093a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611434575061140461093a565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561177c57600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114dd5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6114e657600080fd5b6000600a819055506000600b81905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156115a15750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115f75750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561160f5750601160179054906101000a900460ff165b156116b257601254811115611659576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116509061292d565b60405180910390fd5b60135481611666846106f0565b6116709190612bc3565b11156116b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a890612a2d565b60405180910390fd5b5b60006116bd306106f0565b9050601160159054906101000a900460ff1615801561172a5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156117425750601160169054906101000a900460ff165b801561174e5750600081115b156117765761175c8161186f565b600047905060008111156117745761177347611af7565b5b505b5061178d565b6000600a819055506000600b819055505b611798838383611b63565b505050565b60008383111582906117e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117dc91906128eb565b60405180910390fd5b50600083856117f49190612ca4565b9050809150509392505050565b6000600854821115611848576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183f9061294d565b60405180910390fd5b6000611852611b73565b90506118678184611b9e90919063ffffffff16565b915050919050565b6001601160156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156118a7576118a6612e79565b5b6040519080825280602002602001820160405280156118d55781602001602082028036833780820191505090505b50905030816000815181106118ed576118ec612e4a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561198f57600080fd5b505afa1580156119a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c7919061235f565b816001815181106119db576119da612e4a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a4230601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110d0565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611aa6959493929190612aa8565b600060405180830381600087803b158015611ac057600080fd5b505af1158015611ad4573d6000803e3d6000fd5b50505050506000601160156101000a81548160ff02191690831515021790555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611b5f573d6000803e3d6000fd5b5050565b611b6e838383611be8565b505050565b6000806000611b80611db3565b91509150611b978183611b9e90919063ffffffff16565b9250505090565b6000611be083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e12565b905092915050565b600080600080600080611bfa87611e75565b955095509550955095509550611c5886600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611edd90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ced85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f2790919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d3981611f85565b611d438483612042565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611da09190612a8d565b60405180910390a3505050505050505050565b600080600060085490506000670de0b6b3a76400009050611de7670de0b6b3a7640000600854611b9e90919063ffffffff16565b821015611e0557600854670de0b6b3a7640000935093505050611e0e565b81819350935050505b9091565b60008083118290611e59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5091906128eb565b60405180910390fd5b5060008385611e689190612c19565b9050809150509392505050565b6000806000806000806000806000611e928a600a54600b5461207c565b9250925092506000611ea2611b73565b90506000806000611eb58e878787612112565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611f1f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061179d565b905092915050565b6000808284611f369190612bc3565b905083811015611f7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f729061298d565b60405180910390fd5b8091505092915050565b6000611f8f611b73565b90506000611fa6828461219b90919063ffffffff16565b9050611ffa81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f2790919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61205782600854611edd90919063ffffffff16565b60088190555061207281600954611f2790919063ffffffff16565b6009819055505050565b6000806000806120a8606461209a888a61219b90919063ffffffff16565b611b9e90919063ffffffff16565b905060006120d260646120c4888b61219b90919063ffffffff16565b611b9e90919063ffffffff16565b905060006120fb826120ed858c611edd90919063ffffffff16565b611edd90919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061212b858961219b90919063ffffffff16565b90506000612142868961219b90919063ffffffff16565b90506000612159878961219b90919063ffffffff16565b90506000612182826121748587611edd90919063ffffffff16565b611edd90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808314156121ae5760009050612210565b600082846121bc9190612c4a565b90508284826121cb9190612c19565b1461220b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612202906129ad565b60405180910390fd5b809150505b92915050565b600061222961222484612b42565b612b1d565b9050808382526020820190508285602086028201111561224c5761224b612ead565b5b60005b8581101561227c57816122628882612286565b84526020840193506020830192505060018101905061224f565b5050509392505050565b600081359050612295816131c3565b92915050565b6000815190506122aa816131c3565b92915050565b600082601f8301126122c5576122c4612ea8565b5b81356122d5848260208601612216565b91505092915050565b6000813590506122ed816131da565b92915050565b600081519050612302816131da565b92915050565b600081359050612317816131f1565b92915050565b60008151905061232c816131f1565b92915050565b60006020828403121561234857612347612eb7565b5b600061235684828501612286565b91505092915050565b60006020828403121561237557612374612eb7565b5b60006123838482850161229b565b91505092915050565b600080604083850312156123a3576123a2612eb7565b5b60006123b185828601612286565b92505060206123c285828601612286565b9150509250929050565b6000806000606084860312156123e5576123e4612eb7565b5b60006123f386828701612286565b935050602061240486828701612286565b925050604061241586828701612308565b9150509250925092565b6000806040838503121561243657612435612eb7565b5b600061244485828601612286565b925050602061245585828601612308565b9150509250929050565b60006020828403121561247557612474612eb7565b5b600082013567ffffffffffffffff81111561249357612492612eb2565b5b61249f848285016122b0565b91505092915050565b6000602082840312156124be576124bd612eb7565b5b60006124cc848285016122de565b91505092915050565b6000602082840312156124eb576124ea612eb7565b5b60006124f9848285016122f3565b91505092915050565b60008060006060848603121561251b5761251a612eb7565b5b60006125298682870161231d565b935050602061253a8682870161231d565b925050604061254b8682870161231d565b9150509250925092565b6000612561838361256d565b60208301905092915050565b61257681612cd8565b82525050565b61258581612cd8565b82525050565b600061259682612b7e565b6125a08185612ba1565b93506125ab83612b6e565b8060005b838110156125dc5781516125c38882612555565b97506125ce83612b94565b9250506001810190506125af565b5085935050505092915050565b6125f281612cea565b82525050565b61260181612d2d565b82525050565b600061261282612b89565b61261c8185612bb2565b935061262c818560208601612d3f565b61263581612ebc565b840191505092915050565b600061264d602383612bb2565b915061265882612ecd565b604082019050919050565b6000612670601983612bb2565b915061267b82612f1c565b602082019050919050565b6000612693602a83612bb2565b915061269e82612f45565b604082019050919050565b60006126b6602283612bb2565b91506126c182612f94565b604082019050919050565b60006126d9601b83612bb2565b91506126e482612fe3565b602082019050919050565b60006126fc602183612bb2565b91506127078261300c565b604082019050919050565b600061271f602083612bb2565b915061272a8261305b565b602082019050919050565b6000612742602983612bb2565b915061274d82613084565b604082019050919050565b6000612765602583612bb2565b9150612770826130d3565b604082019050919050565b6000612788601a83612bb2565b915061279382613122565b602082019050919050565b60006127ab602483612bb2565b91506127b68261314b565b604082019050919050565b60006127ce601783612bb2565b91506127d98261319a565b602082019050919050565b6127ed81612d16565b82525050565b6127fc81612d20565b82525050565b6000602082019050612817600083018461257c565b92915050565b6000604082019050612832600083018561257c565b61283f602083018461257c565b9392505050565b600060408201905061285b600083018561257c565b61286860208301846127e4565b9392505050565b600060c082019050612884600083018961257c565b61289160208301886127e4565b61289e60408301876125f8565b6128ab60608301866125f8565b6128b8608083018561257c565b6128c560a08301846127e4565b979650505050505050565b60006020820190506128e560008301846125e9565b92915050565b600060208201905081810360008301526129058184612607565b905092915050565b6000602082019050818103600083015261292681612640565b9050919050565b6000602082019050818103600083015261294681612663565b9050919050565b6000602082019050818103600083015261296681612686565b9050919050565b60006020820190508181036000830152612986816126a9565b9050919050565b600060208201905081810360008301526129a6816126cc565b9050919050565b600060208201905081810360008301526129c6816126ef565b9050919050565b600060208201905081810360008301526129e681612712565b9050919050565b60006020820190508181036000830152612a0681612735565b9050919050565b60006020820190508181036000830152612a2681612758565b9050919050565b60006020820190508181036000830152612a468161277b565b9050919050565b60006020820190508181036000830152612a668161279e565b9050919050565b60006020820190508181036000830152612a86816127c1565b9050919050565b6000602082019050612aa260008301846127e4565b92915050565b600060a082019050612abd60008301886127e4565b612aca60208301876125f8565b8181036040830152612adc818661258b565b9050612aeb606083018561257c565b612af860808301846127e4565b9695505050505050565b6000602082019050612b1760008301846127f3565b92915050565b6000612b27612b38565b9050612b338282612d72565b919050565b6000604051905090565b600067ffffffffffffffff821115612b5d57612b5c612e79565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612bce82612d16565b9150612bd983612d16565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612c0e57612c0d612dec565b5b828201905092915050565b6000612c2482612d16565b9150612c2f83612d16565b925082612c3f57612c3e612e1b565b5b828204905092915050565b6000612c5582612d16565b9150612c6083612d16565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612c9957612c98612dec565b5b828202905092915050565b6000612caf82612d16565b9150612cba83612d16565b925082821015612ccd57612ccc612dec565b5b828203905092915050565b6000612ce382612cf6565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612d3882612d16565b9050919050565b60005b83811015612d5d578082015181840152602081019050612d42565b83811115612d6c576000848401525b50505050565b612d7b82612ebc565b810181811067ffffffffffffffff82111715612d9a57612d99612e79565b5b80604052505050565b6000612dae82612d16565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612de157612de0612dec565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6131cc81612cd8565b81146131d757600080fd5b50565b6131e381612cea565b81146131ee57600080fd5b50565b6131fa81612d16565b811461320557600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122068cf13e4734cfc00c08cd24a3ec6bf2b745205a3b7b7a88a2f4fd1639682e77764736f6c63430008070033
Deployed Bytecode Sourcemap
3611:9790:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5452:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6304:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5729:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6473:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9542:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5638:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6794:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5832:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2692:148;;;;;;;;;;;;;:::i;:::-;;9640:88;;;;;;;;;;;;;:::i;:::-;;2478:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5543:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5978:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9840:810;;;;;;;;;;;;;:::i;:::-;;4403:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9370:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6153:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5452:83;5489:13;5522:5;;;;;;;;;;;;;;;;;5515:12;;5452:83;:::o;6304:161::-;6379:4;6396:39;6405:12;:10;:12::i;:::-;6419:7;6428:6;6396:8;:39::i;:::-;6453:4;6446:11;;6304:161;;;;:::o;5729:95::-;5782:7;4111:21;5802:14;;5729:95;:::o;6473:313::-;6571:4;6588:36;6598:6;6606:9;6617:6;6588:9;:36::i;:::-;6635:121;6644:6;6652:12;:10;:12::i;:::-;6666:89;6704:6;6666:89;;;;;;;;;;;;;;;;;:11;:19;6678:6;6666:19;;;;;;;;;;;;;;;:33;6686:12;:10;:12::i;:::-;6666:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6635:8;:121::i;:::-;6774:4;6767:11;;6473:313;;;;;:::o;9542:88::-;2615:12;:10;:12::i;:::-;2605:22;;:6;;;;;;;;;;:22;;;2597:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9617:5:::1;9602:4;:12;9607:6;9602:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;9542:88:::0;:::o;5638:83::-;5679:5;4571:1;5697:16;;5638:83;:::o;6794:103::-;2615:12;:10;:12::i;:::-;2605:22;;:6;;;;;;;;;;:22;;;2597:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6884:5:::1;6866:15;;:23;;;;;;;;;;;;;;;;;;6794:103:::0;:::o;5832:138::-;5898:7;5925:37;5945:7;:16;5953:7;5945:16;;;;;;;;;;;;;;;;5925:19;:37::i;:::-;5918:44;;5832:138;;;:::o;2692:148::-;2615:12;:10;:12::i;:::-;2605:22;;:6;;;;;;;;;;:22;;;2597:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2799:1:::1;2762:40;;2783:6;::::0;::::1;;;;;;;;2762:40;;;;;;;;;;;;2830:1;2813:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2692:148::o:0;9640:88::-;2615:12;:10;:12::i;:::-;2605:22;;:6;;;;;;;;;;:22;;;2597:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4111:21:::1;9698:12;:22;;;;9640:88::o:0;2478:79::-;2516:7;2543:6;;;;;;;;;;;2536:13;;2478:79;:::o;5543:87::-;5582:13;5615:7;;;;;;;;;;;;;;;;;5608:14;;5543:87;:::o;5978:167::-;6056:4;6073:42;6083:12;:10;:12::i;:::-;6097:9;6108:6;6073:9;:42::i;:::-;6133:4;6126:11;;5978:167;;;;:::o;9840:810::-;2615:12;:10;:12::i;:::-;2605:22;;:6;;;;;;;;;;:22;;;2597:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9904:11:::1;;;;;;;;;;;9903:12;9895:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;9953:35;10010:42;9953:100;;10082:16;10064:15;;:34;;;;;;;;;;;;;;;;;;10109:58;10126:4;10141:15;;;;;;;;;;;4111:21;10109:8;:58::i;:::-;10192:12;10178:11;:26;;;;10249:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10231:56;;;10296:4;10303:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10231:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10215:13;;:112;;;;;;;;;;;;;;;;;;10338:15;;;;;;;;;;;:31;;;10377:21;10408:4;10414:24;10432:4;10414:9;:24::i;:::-;10439:1;10441::::0;10443:7:::1;:5;:7::i;:::-;10451:15;10338:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10492:4;10478:11;;:18;;;;;;;;;;;;;;;;;;10525:4;10507:15;;:22;;;;;;;;;;;;;;;;;;10556:4;10542:11;;:18;;;;;;;;;;;;;;;;;;10578:13;;;;;;;;;;;10571:29;;;10609:15;;;;;;;;;;;10627:14;10571:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9884:766;9840:810::o:0;4403:26::-;;;;:::o;9370:164::-;2615:12;:10;:12::i;:::-;2605:22;;:6;;;;;;;;;;:22;;;2597:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9444:6:::1;9439:88;9460:5;:12;9456:1;:16;9439:88;;;9511:4;9494;:14;9499:5;9505:1;9499:8;;;;;;;;:::i;:::-;;;;;;;;9494:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;9474:3;;;;;:::i;:::-;;;;9439:88;;;;9370:164:::0;:::o;6153:143::-;6234:7;6261:11;:18;6273:5;6261:18;;;;;;;;;;;;;;;:27;6280:7;6261:27;;;;;;;;;;;;;;;;6254:34;;6153:143;;;;:::o;196:98::-;249:7;276:10;269:17;;196:98;:::o;7167:335::-;7277:1;7260:19;;:5;:19;;;;7252:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7358:1;7339:21;;:7;:21;;;;7331:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7440:6;7410:11;:18;7422:5;7410:18;;;;;;;;;;;;;;;:27;7429:7;7410:27;;;;;;;;;;;;;;;:36;;;;7478:7;7462:32;;7471:5;7462:32;;;7487:6;7462:32;;;;;;:::i;:::-;;;;;;;;7167:335;;;:::o;7510:1361::-;7614:1;7598:18;;:4;:18;;;;7590:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7691:1;7677:16;;:2;:16;;;;7669:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7761:1;7752:6;:10;7744:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7835:7;:5;:7::i;:::-;7827:15;;:4;:15;;;;:32;;;;;7852:7;:5;:7::i;:::-;7846:13;;:2;:13;;;;7827:32;7823:998;;;7885:4;:10;7890:4;7885:10;;;;;;;;;;;;;;;;;;;;;;;;;7884:11;:24;;;;;7900:4;:8;7905:2;7900:8;;;;;;;;;;;;;;;;;;;;;;;;;7899:9;7884:24;7876:33;;;;;;7936:1;7924:9;:13;;;;7964:1;7952:9;:13;;;;7992;;;;;;;;;;;7984:21;;:4;:21;;;:55;;;;;8023:15;;;;;;;;;;;8009:30;;:2;:30;;;;7984:55;:83;;;;;8045:18;:22;8064:2;8045:22;;;;;;;;;;;;;;;;;;;;;;;;;8043:24;7984:83;:102;;;;;8071:15;;;;;;;;;;;7984:102;7980:330;;;8154:12;;8144:6;:22;;8136:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8249:14;;8239:6;8223:13;8233:2;8223:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8215:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7980:330;8328:28;8359:24;8377:4;8359:9;:24::i;:::-;8328:55;;8403:6;;;;;;;;;;;8402:7;:32;;;;;8421:13;;;;;;;;;;;8413:21;;:4;:21;;;;8402:32;:47;;;;;8438:11;;;;;;;;;;;8402:47;:73;;;;;8474:1;8453:20;:22;8402:73;8398:344;;;8496:38;8513:20;8496:16;:38::i;:::-;8553:26;8582:21;8553:50;;8646:1;8625:18;:22;8622:105;;;8672:35;8685:21;8672:12;:35::i;:::-;8622:105;8477:265;8398:344;7861:892;7823:998;;;8782:1;8770:9;:13;;;;8808:1;8796:9;:13;;;;7823:998;8833:30;8848:4;8853:2;8856:6;8833:14;:30::i;:::-;7510:1361;;;:::o;1333:190::-;1419:7;1452:1;1447;:6;;1455:12;1439:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1479:9;1495:1;1491;:5;;;;:::i;:::-;1479:17;;1514:1;1507:8;;;1333:190;;;;;:::o;6905:254::-;6972:7;7011;;7000;:18;;6992:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7076:19;7099:10;:8;:10::i;:::-;7076:33;;7127:24;7139:11;7127:7;:11;;:24;;;;:::i;:::-;7120:31;;;6905:254;;;:::o;8879:483::-;5018:4;5009:6;;:13;;;;;;;;;;;;;;;;;;8957:21:::1;8995:1;8981:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8957:40;;9026:4;9008;9013:1;9008:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9052:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9042:4;9047:1;9042:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9085:62;9102:4;9117:15;;;;;;;;;;;9135:11;9085:8;:62::i;:::-;9158:15;;;;;;;;;;;:66;;;9239:11;9265:1;9281:4;9308;9328:15;9158:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8946:416;5054:5:::0;5045:6;;:14;;;;;;;;;;;;;;;;;;8879:483;:::o;9736:96::-;9793:14;;;;;;;;;;;:23;;:31;9817:6;9793:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9736:96;:::o;10658:146::-;10752:44;10770:6;10778:9;10789:6;10752:17;:44::i;:::-;10658:146;;;:::o;12971:163::-;13012:7;13033:15;13050;13069:19;:17;:19::i;:::-;13032:56;;;;13106:20;13118:7;13106;:11;;:20;;;;:::i;:::-;13099:27;;;;12971:163;:::o;1785:132::-;1843:7;1870:39;1874:1;1877;1870:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1863:46;;1785:132;;;;:::o;10812:487::-;10911:15;10928:23;10953:12;10967:23;10992:12;11006:13;11023:19;11034:7;11023:10;:19::i;:::-;10910:132;;;;;;;;;;;;11071:28;11091:7;11071;:15;11079:6;11071:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;11053:7;:15;11061:6;11053:15;;;;;;;;;;;;;;;:46;;;;11131:39;11154:15;11131:7;:18;11139:9;11131:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;11110:7;:18;11118:9;11110:18;;;;;;;;;;;;;;;:60;;;;11181:16;11191:5;11181:9;:16::i;:::-;11208:23;11220:4;11226;11208:11;:23::i;:::-;11264:9;11247:44;;11256:6;11247:44;;;11275:15;11247:44;;;;;;:::i;:::-;;;;;;;;10899:400;;;;;;10812:487;;;:::o;13142:256::-;13192:7;13201;13221:15;13239:7;;13221:25;;13257:15;4111:21;13257:25;;13307:20;4111:21;13307:7;;:11;;:20;;;;:::i;:::-;13297:7;:30;13293:61;;;13337:7;;4111:21;13329:25;;;;;;;;13293:61;13373:7;13382;13365:25;;;;;;13142:256;;;:::o;1925:189::-;2011:7;2043:1;2039;:5;2046:12;2031:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2070:9;2086:1;2082;:5;;;;:::i;:::-;2070:17;;2105:1;2098:8;;;1925:189;;;;;:::o;11719:471::-;11778:7;11787;11796;11805;11814;11823;11844:23;11869:12;11883:13;11900:42;11912:7;11921:9;;11932;;11900:11;:42::i;:::-;11843:99;;;;;;11953:19;11976:10;:8;:10::i;:::-;11953:33;;11998:15;12015:23;12040:12;12056:46;12068:7;12077:4;12083:5;12090:11;12056;:46::i;:::-;11997:105;;;;;;12121:7;12130:15;12147:4;12153:15;12170:4;12176:5;12113:69;;;;;;;;;;;;;;;;;;;11719:471;;;;;;;:::o;1189:136::-;1247:7;1274:43;1278:1;1281;1274:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1267:50;;1189:136;;;;:::o;1002:179::-;1060:7;1080:9;1096:1;1092;:5;;;;:::i;:::-;1080:17;;1121:1;1116;:6;;1108:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1172:1;1165:8;;;1002:179;;;;:::o;11307:212::-;11360:19;11383:10;:8;:10::i;:::-;11360:33;;11404:13;11420:22;11430:11;11420:5;:9;;:22;;;;:::i;:::-;11404:38;;11478:33;11505:5;11478:7;:22;11494:4;11478:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;11453:7;:22;11469:4;11453:22;;;;;;;;;;;;;;;:58;;;;11349:170;;11307:212;:::o;11527:147::-;11605:17;11617:4;11605:7;;:11;;:17;;;;:::i;:::-;11595:7;:27;;;;11646:20;11661:4;11646:10;;:14;;:20;;;;:::i;:::-;11633:10;:33;;;;11527:147;;:::o;12198:351::-;12291:7;12300;12309;12329:12;12344:28;12368:3;12344:19;12356:6;12344:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;12329:43;;12383:13;12399:29;12424:3;12399:20;12411:7;12399;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;12383:45;;12439:23;12465:28;12487:5;12465:17;12477:4;12465:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;12439:54;;12512:15;12529:4;12535:5;12504:37;;;;;;;;;12198:351;;;;;;;:::o;12557:409::-;12667:7;12676;12685;12705:15;12723:24;12735:11;12723:7;:11;;:24;;;;:::i;:::-;12705:42;;12758:12;12773:21;12782:11;12773:4;:8;;:21;;;;:::i;:::-;12758:36;;12805:13;12821:22;12831:11;12821:5;:9;;:22;;;;:::i;:::-;12805:38;;12854:23;12880:28;12902:5;12880:17;12892:4;12880:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;12854:54;;12927:7;12936:15;12953:4;12919:39;;;;;;;;;;12557:409;;;;;;;;:::o;1531:246::-;1589:7;1618:1;1613;:6;1609:47;;;1643:1;1636:8;;;;1609:47;1666:9;1682:1;1678;:5;;;;:::i;:::-;1666:17;;1711:1;1706;1702;:5;;;;:::i;:::-;:10;1694:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1768:1;1761:8;;;1531:246;;;;;:::o;24:722:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:143;;;404:79;;:::i;:::-;350:143;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;24:722;;;;;:::o;752:139::-;798:5;836:6;823:20;814:29;;852:33;879:5;852:33;:::i;:::-;752:139;;;;:::o;897:143::-;954:5;985:6;979:13;970:22;;1001:33;1028:5;1001:33;:::i;:::-;897:143;;;;:::o;1063:370::-;1134:5;1183:3;1176:4;1168:6;1164:17;1160:27;1150:122;;1191:79;;:::i;:::-;1150:122;1308:6;1295:20;1333:94;1423:3;1415:6;1408:4;1400:6;1396:17;1333:94;:::i;:::-;1324:103;;1140:293;1063:370;;;;:::o;1439:133::-;1482:5;1520:6;1507:20;1498:29;;1536:30;1560:5;1536:30;:::i;:::-;1439:133;;;;:::o;1578:137::-;1632:5;1663:6;1657:13;1648:22;;1679:30;1703:5;1679:30;:::i;:::-;1578:137;;;;:::o;1721:139::-;1767:5;1805:6;1792:20;1783:29;;1821:33;1848:5;1821:33;:::i;:::-;1721:139;;;;:::o;1866:143::-;1923:5;1954:6;1948:13;1939:22;;1970:33;1997:5;1970:33;:::i;:::-;1866:143;;;;:::o;2015:329::-;2074:6;2123:2;2111:9;2102:7;2098:23;2094:32;2091:119;;;2129:79;;:::i;:::-;2091:119;2249:1;2274:53;2319:7;2310:6;2299:9;2295:22;2274:53;:::i;:::-;2264:63;;2220:117;2015:329;;;;:::o;2350:351::-;2420:6;2469:2;2457:9;2448:7;2444:23;2440:32;2437:119;;;2475:79;;:::i;:::-;2437:119;2595:1;2620:64;2676:7;2667:6;2656:9;2652:22;2620:64;:::i;:::-;2610:74;;2566:128;2350:351;;;;:::o;2707:474::-;2775:6;2783;2832:2;2820:9;2811:7;2807:23;2803:32;2800:119;;;2838:79;;:::i;:::-;2800:119;2958:1;2983:53;3028:7;3019:6;3008:9;3004:22;2983:53;:::i;:::-;2973:63;;2929:117;3085:2;3111:53;3156:7;3147:6;3136:9;3132:22;3111:53;:::i;:::-;3101:63;;3056:118;2707:474;;;;;:::o;3187:619::-;3264:6;3272;3280;3329:2;3317:9;3308:7;3304:23;3300:32;3297:119;;;3335:79;;:::i;:::-;3297:119;3455:1;3480:53;3525:7;3516:6;3505:9;3501:22;3480:53;:::i;:::-;3470:63;;3426:117;3582:2;3608:53;3653:7;3644:6;3633:9;3629:22;3608:53;:::i;:::-;3598:63;;3553:118;3710:2;3736:53;3781:7;3772:6;3761:9;3757:22;3736:53;:::i;:::-;3726:63;;3681:118;3187:619;;;;;:::o;3812:474::-;3880:6;3888;3937:2;3925:9;3916:7;3912:23;3908:32;3905:119;;;3943:79;;:::i;:::-;3905:119;4063:1;4088:53;4133:7;4124:6;4113:9;4109:22;4088:53;:::i;:::-;4078:63;;4034:117;4190:2;4216:53;4261:7;4252:6;4241:9;4237:22;4216:53;:::i;:::-;4206:63;;4161:118;3812:474;;;;;:::o;4292:539::-;4376:6;4425:2;4413:9;4404:7;4400:23;4396:32;4393:119;;;4431:79;;:::i;:::-;4393:119;4579:1;4568:9;4564:17;4551:31;4609:18;4601:6;4598:30;4595:117;;;4631:79;;:::i;:::-;4595:117;4736:78;4806:7;4797:6;4786:9;4782:22;4736:78;:::i;:::-;4726:88;;4522:302;4292:539;;;;:::o;4837:323::-;4893:6;4942:2;4930:9;4921:7;4917:23;4913:32;4910:119;;;4948:79;;:::i;:::-;4910:119;5068:1;5093:50;5135:7;5126:6;5115:9;5111:22;5093:50;:::i;:::-;5083:60;;5039:114;4837:323;;;;:::o;5166:345::-;5233:6;5282:2;5270:9;5261:7;5257:23;5253:32;5250:119;;;5288:79;;:::i;:::-;5250:119;5408:1;5433:61;5486:7;5477:6;5466:9;5462:22;5433:61;:::i;:::-;5423:71;;5379:125;5166:345;;;;:::o;5517:663::-;5605:6;5613;5621;5670:2;5658:9;5649:7;5645:23;5641:32;5638:119;;;5676:79;;:::i;:::-;5638:119;5796:1;5821:64;5877:7;5868:6;5857:9;5853:22;5821:64;:::i;:::-;5811:74;;5767:128;5934:2;5960:64;6016:7;6007:6;5996:9;5992:22;5960:64;:::i;:::-;5950:74;;5905:129;6073:2;6099:64;6155:7;6146:6;6135:9;6131:22;6099:64;:::i;:::-;6089:74;;6044:129;5517:663;;;;;:::o;6186:179::-;6255:10;6276:46;6318:3;6310:6;6276:46;:::i;:::-;6354:4;6349:3;6345:14;6331:28;;6186:179;;;;:::o;6371:108::-;6448:24;6466:5;6448:24;:::i;:::-;6443:3;6436:37;6371:108;;:::o;6485:118::-;6572:24;6590:5;6572:24;:::i;:::-;6567:3;6560:37;6485:118;;:::o;6639:732::-;6758:3;6787:54;6835:5;6787:54;:::i;:::-;6857:86;6936:6;6931:3;6857:86;:::i;:::-;6850:93;;6967:56;7017:5;6967:56;:::i;:::-;7046:7;7077:1;7062:284;7087:6;7084:1;7081:13;7062:284;;;7163:6;7157:13;7190:63;7249:3;7234:13;7190:63;:::i;:::-;7183:70;;7276:60;7329:6;7276:60;:::i;:::-;7266:70;;7122:224;7109:1;7106;7102:9;7097:14;;7062:284;;;7066:14;7362:3;7355:10;;6763:608;;;6639:732;;;;:::o;7377:109::-;7458:21;7473:5;7458:21;:::i;:::-;7453:3;7446:34;7377:109;;:::o;7492:147::-;7587:45;7626:5;7587:45;:::i;:::-;7582:3;7575:58;7492:147;;:::o;7645:364::-;7733:3;7761:39;7794:5;7761:39;:::i;:::-;7816:71;7880:6;7875:3;7816:71;:::i;:::-;7809:78;;7896:52;7941:6;7936:3;7929:4;7922:5;7918:16;7896:52;:::i;:::-;7973:29;7995:6;7973:29;:::i;:::-;7968:3;7964:39;7957:46;;7737:272;7645:364;;;;:::o;8015:366::-;8157:3;8178:67;8242:2;8237:3;8178:67;:::i;:::-;8171:74;;8254:93;8343:3;8254:93;:::i;:::-;8372:2;8367:3;8363:12;8356:19;;8015:366;;;:::o;8387:::-;8529:3;8550:67;8614:2;8609:3;8550:67;:::i;:::-;8543:74;;8626:93;8715:3;8626:93;:::i;:::-;8744:2;8739:3;8735:12;8728:19;;8387:366;;;:::o;8759:::-;8901:3;8922:67;8986:2;8981:3;8922:67;:::i;:::-;8915:74;;8998:93;9087:3;8998:93;:::i;:::-;9116:2;9111:3;9107:12;9100:19;;8759:366;;;:::o;9131:::-;9273:3;9294:67;9358:2;9353:3;9294:67;:::i;:::-;9287:74;;9370:93;9459:3;9370:93;:::i;:::-;9488:2;9483:3;9479:12;9472:19;;9131:366;;;:::o;9503:::-;9645:3;9666:67;9730:2;9725:3;9666:67;:::i;:::-;9659:74;;9742:93;9831:3;9742:93;:::i;:::-;9860:2;9855:3;9851:12;9844:19;;9503:366;;;:::o;9875:::-;10017:3;10038:67;10102:2;10097:3;10038:67;:::i;:::-;10031:74;;10114:93;10203:3;10114:93;:::i;:::-;10232:2;10227:3;10223:12;10216:19;;9875:366;;;:::o;10247:::-;10389:3;10410:67;10474:2;10469:3;10410:67;:::i;:::-;10403:74;;10486:93;10575:3;10486:93;:::i;:::-;10604:2;10599:3;10595:12;10588:19;;10247:366;;;:::o;10619:::-;10761:3;10782:67;10846:2;10841:3;10782:67;:::i;:::-;10775:74;;10858:93;10947:3;10858:93;:::i;:::-;10976:2;10971:3;10967:12;10960:19;;10619:366;;;:::o;10991:::-;11133:3;11154:67;11218:2;11213:3;11154:67;:::i;:::-;11147:74;;11230:93;11319:3;11230:93;:::i;:::-;11348:2;11343:3;11339:12;11332:19;;10991:366;;;:::o;11363:::-;11505:3;11526:67;11590:2;11585:3;11526:67;:::i;:::-;11519:74;;11602:93;11691:3;11602:93;:::i;:::-;11720:2;11715:3;11711:12;11704:19;;11363:366;;;:::o;11735:::-;11877:3;11898:67;11962:2;11957:3;11898:67;:::i;:::-;11891:74;;11974:93;12063:3;11974:93;:::i;:::-;12092:2;12087:3;12083:12;12076:19;;11735:366;;;:::o;12107:::-;12249:3;12270:67;12334:2;12329:3;12270:67;:::i;:::-;12263:74;;12346:93;12435:3;12346:93;:::i;:::-;12464:2;12459:3;12455:12;12448:19;;12107:366;;;:::o;12479:118::-;12566:24;12584:5;12566:24;:::i;:::-;12561:3;12554:37;12479:118;;:::o;12603:112::-;12686:22;12702:5;12686:22;:::i;:::-;12681:3;12674:35;12603:112;;:::o;12721:222::-;12814:4;12852:2;12841:9;12837:18;12829:26;;12865:71;12933:1;12922:9;12918:17;12909:6;12865:71;:::i;:::-;12721:222;;;;:::o;12949:332::-;13070:4;13108:2;13097:9;13093:18;13085:26;;13121:71;13189:1;13178:9;13174:17;13165:6;13121:71;:::i;:::-;13202:72;13270:2;13259:9;13255:18;13246:6;13202:72;:::i;:::-;12949:332;;;;;:::o;13287:::-;13408:4;13446:2;13435:9;13431:18;13423:26;;13459:71;13527:1;13516:9;13512:17;13503:6;13459:71;:::i;:::-;13540:72;13608:2;13597:9;13593:18;13584:6;13540:72;:::i;:::-;13287:332;;;;;:::o;13625:807::-;13874:4;13912:3;13901:9;13897:19;13889:27;;13926:71;13994:1;13983:9;13979:17;13970:6;13926:71;:::i;:::-;14007:72;14075:2;14064:9;14060:18;14051:6;14007:72;:::i;:::-;14089:80;14165:2;14154:9;14150:18;14141:6;14089:80;:::i;:::-;14179;14255:2;14244:9;14240:18;14231:6;14179:80;:::i;:::-;14269:73;14337:3;14326:9;14322:19;14313:6;14269:73;:::i;:::-;14352;14420:3;14409:9;14405:19;14396:6;14352:73;:::i;:::-;13625:807;;;;;;;;;:::o;14438:210::-;14525:4;14563:2;14552:9;14548:18;14540:26;;14576:65;14638:1;14627:9;14623:17;14614:6;14576:65;:::i;:::-;14438:210;;;;:::o;14654:313::-;14767:4;14805:2;14794:9;14790:18;14782:26;;14854:9;14848:4;14844:20;14840:1;14829:9;14825:17;14818:47;14882:78;14955:4;14946:6;14882:78;:::i;:::-;14874:86;;14654:313;;;;:::o;14973:419::-;15139:4;15177:2;15166:9;15162:18;15154:26;;15226:9;15220:4;15216:20;15212:1;15201:9;15197:17;15190:47;15254:131;15380:4;15254:131;:::i;:::-;15246:139;;14973:419;;;:::o;15398:::-;15564:4;15602:2;15591:9;15587:18;15579:26;;15651:9;15645:4;15641:20;15637:1;15626:9;15622:17;15615:47;15679:131;15805:4;15679:131;:::i;:::-;15671:139;;15398:419;;;:::o;15823:::-;15989:4;16027:2;16016:9;16012:18;16004:26;;16076:9;16070:4;16066:20;16062:1;16051:9;16047:17;16040:47;16104:131;16230:4;16104:131;:::i;:::-;16096:139;;15823:419;;;:::o;16248:::-;16414:4;16452:2;16441:9;16437:18;16429:26;;16501:9;16495:4;16491:20;16487:1;16476:9;16472:17;16465:47;16529:131;16655:4;16529:131;:::i;:::-;16521:139;;16248:419;;;:::o;16673:::-;16839:4;16877:2;16866:9;16862:18;16854:26;;16926:9;16920:4;16916:20;16912:1;16901:9;16897:17;16890:47;16954:131;17080:4;16954:131;:::i;:::-;16946:139;;16673:419;;;:::o;17098:::-;17264:4;17302:2;17291:9;17287:18;17279:26;;17351:9;17345:4;17341:20;17337:1;17326:9;17322:17;17315:47;17379:131;17505:4;17379:131;:::i;:::-;17371:139;;17098:419;;;:::o;17523:::-;17689:4;17727:2;17716:9;17712:18;17704:26;;17776:9;17770:4;17766:20;17762:1;17751:9;17747:17;17740:47;17804:131;17930:4;17804:131;:::i;:::-;17796:139;;17523:419;;;:::o;17948:::-;18114:4;18152:2;18141:9;18137:18;18129:26;;18201:9;18195:4;18191:20;18187:1;18176:9;18172:17;18165:47;18229:131;18355:4;18229:131;:::i;:::-;18221:139;;17948:419;;;:::o;18373:::-;18539:4;18577:2;18566:9;18562:18;18554:26;;18626:9;18620:4;18616:20;18612:1;18601:9;18597:17;18590:47;18654:131;18780:4;18654:131;:::i;:::-;18646:139;;18373:419;;;:::o;18798:::-;18964:4;19002:2;18991:9;18987:18;18979:26;;19051:9;19045:4;19041:20;19037:1;19026:9;19022:17;19015:47;19079:131;19205:4;19079:131;:::i;:::-;19071:139;;18798:419;;;:::o;19223:::-;19389:4;19427:2;19416:9;19412:18;19404:26;;19476:9;19470:4;19466:20;19462:1;19451:9;19447:17;19440:47;19504:131;19630:4;19504:131;:::i;:::-;19496:139;;19223:419;;;:::o;19648:::-;19814:4;19852:2;19841:9;19837:18;19829:26;;19901:9;19895:4;19891:20;19887:1;19876:9;19872:17;19865:47;19929:131;20055:4;19929:131;:::i;:::-;19921:139;;19648:419;;;:::o;20073:222::-;20166:4;20204:2;20193:9;20189:18;20181:26;;20217:71;20285:1;20274:9;20270:17;20261:6;20217:71;:::i;:::-;20073:222;;;;:::o;20301:831::-;20564:4;20602:3;20591:9;20587:19;20579:27;;20616:71;20684:1;20673:9;20669:17;20660:6;20616:71;:::i;:::-;20697:80;20773:2;20762:9;20758:18;20749:6;20697:80;:::i;:::-;20824:9;20818:4;20814:20;20809:2;20798:9;20794:18;20787:48;20852:108;20955:4;20946:6;20852:108;:::i;:::-;20844:116;;20970:72;21038:2;21027:9;21023:18;21014:6;20970:72;:::i;:::-;21052:73;21120:3;21109:9;21105:19;21096:6;21052:73;:::i;:::-;20301:831;;;;;;;;:::o;21138:214::-;21227:4;21265:2;21254:9;21250:18;21242:26;;21278:67;21342:1;21331:9;21327:17;21318:6;21278:67;:::i;:::-;21138:214;;;;:::o;21358:129::-;21392:6;21419:20;;:::i;:::-;21409:30;;21448:33;21476:4;21468:6;21448:33;:::i;:::-;21358:129;;;:::o;21493:75::-;21526:6;21559:2;21553:9;21543:19;;21493:75;:::o;21574:311::-;21651:4;21741:18;21733:6;21730:30;21727:56;;;21763:18;;:::i;:::-;21727:56;21813:4;21805:6;21801:17;21793:25;;21873:4;21867;21863:15;21855:23;;21574:311;;;:::o;21891:132::-;21958:4;21981:3;21973:11;;22011:4;22006:3;22002:14;21994:22;;21891:132;;;:::o;22029:114::-;22096:6;22130:5;22124:12;22114:22;;22029:114;;;:::o;22149:99::-;22201:6;22235:5;22229:12;22219:22;;22149:99;;;:::o;22254:113::-;22324:4;22356;22351:3;22347:14;22339:22;;22254:113;;;:::o;22373:184::-;22472:11;22506:6;22501:3;22494:19;22546:4;22541:3;22537:14;22522:29;;22373:184;;;;:::o;22563:169::-;22647:11;22681:6;22676:3;22669:19;22721:4;22716:3;22712:14;22697:29;;22563:169;;;;:::o;22738:305::-;22778:3;22797:20;22815:1;22797:20;:::i;:::-;22792:25;;22831:20;22849:1;22831:20;:::i;:::-;22826:25;;22985:1;22917:66;22913:74;22910:1;22907:81;22904:107;;;22991:18;;:::i;:::-;22904:107;23035:1;23032;23028:9;23021:16;;22738:305;;;;:::o;23049:185::-;23089:1;23106:20;23124:1;23106:20;:::i;:::-;23101:25;;23140:20;23158:1;23140:20;:::i;:::-;23135:25;;23179:1;23169:35;;23184:18;;:::i;:::-;23169:35;23226:1;23223;23219:9;23214:14;;23049:185;;;;:::o;23240:348::-;23280:7;23303:20;23321:1;23303:20;:::i;:::-;23298:25;;23337:20;23355:1;23337:20;:::i;:::-;23332:25;;23525:1;23457:66;23453:74;23450:1;23447:81;23442:1;23435:9;23428:17;23424:105;23421:131;;;23532:18;;:::i;:::-;23421:131;23580:1;23577;23573:9;23562:20;;23240:348;;;;:::o;23594:191::-;23634:4;23654:20;23672:1;23654:20;:::i;:::-;23649:25;;23688:20;23706:1;23688:20;:::i;:::-;23683:25;;23727:1;23724;23721:8;23718:34;;;23732:18;;:::i;:::-;23718:34;23777:1;23774;23770:9;23762:17;;23594:191;;;;:::o;23791:96::-;23828:7;23857:24;23875:5;23857:24;:::i;:::-;23846:35;;23791:96;;;:::o;23893:90::-;23927:7;23970:5;23963:13;23956:21;23945:32;;23893:90;;;:::o;23989:126::-;24026:7;24066:42;24059:5;24055:54;24044:65;;23989:126;;;:::o;24121:77::-;24158:7;24187:5;24176:16;;24121:77;;;:::o;24204:86::-;24239:7;24279:4;24272:5;24268:16;24257:27;;24204:86;;;:::o;24296:121::-;24354:9;24387:24;24405:5;24387:24;:::i;:::-;24374:37;;24296:121;;;:::o;24423:307::-;24491:1;24501:113;24515:6;24512:1;24509:13;24501:113;;;24600:1;24595:3;24591:11;24585:18;24581:1;24576:3;24572:11;24565:39;24537:2;24534:1;24530:10;24525:15;;24501:113;;;24632:6;24629:1;24626:13;24623:101;;;24712:1;24703:6;24698:3;24694:16;24687:27;24623:101;24472:258;24423:307;;;:::o;24736:281::-;24819:27;24841:4;24819:27;:::i;:::-;24811:6;24807:40;24949:6;24937:10;24934:22;24913:18;24901:10;24898:34;24895:62;24892:88;;;24960:18;;:::i;:::-;24892:88;25000:10;24996:2;24989:22;24779:238;24736:281;;:::o;25023:233::-;25062:3;25085:24;25103:5;25085:24;:::i;:::-;25076:33;;25131:66;25124:5;25121:77;25118:103;;;25201:18;;:::i;:::-;25118:103;25248:1;25241:5;25237:13;25230:20;;25023:233;;;:::o;25262:180::-;25310:77;25307:1;25300:88;25407:4;25404:1;25397:15;25431:4;25428:1;25421:15;25448:180;25496:77;25493:1;25486:88;25593:4;25590:1;25583:15;25617:4;25614:1;25607:15;25634:180;25682:77;25679:1;25672:88;25779:4;25776:1;25769:15;25803:4;25800:1;25793:15;25820:180;25868:77;25865:1;25858:88;25965:4;25962:1;25955:15;25989:4;25986:1;25979:15;26006:117;26115:1;26112;26105:12;26129:117;26238:1;26235;26228:12;26252:117;26361:1;26358;26351:12;26375:117;26484:1;26481;26474:12;26498:102;26539:6;26590:2;26586:7;26581:2;26574:5;26570:14;26566:28;26556:38;;26498:102;;;:::o;26606:222::-;26746:34;26742:1;26734:6;26730:14;26723:58;26815:5;26810:2;26802:6;26798:15;26791:30;26606:222;:::o;26834:175::-;26974:27;26970:1;26962:6;26958:14;26951:51;26834:175;:::o;27015:229::-;27155:34;27151:1;27143:6;27139:14;27132:58;27224:12;27219:2;27211:6;27207:15;27200:37;27015:229;:::o;27250:221::-;27390:34;27386:1;27378:6;27374:14;27367:58;27459:4;27454:2;27446:6;27442:15;27435:29;27250:221;:::o;27477:177::-;27617:29;27613:1;27605:6;27601:14;27594:53;27477:177;:::o;27660:220::-;27800:34;27796:1;27788:6;27784:14;27777:58;27869:3;27864:2;27856:6;27852:15;27845:28;27660:220;:::o;27886:182::-;28026:34;28022:1;28014:6;28010:14;28003:58;27886:182;:::o;28074:228::-;28214:34;28210:1;28202:6;28198:14;28191:58;28283:11;28278:2;28270:6;28266:15;28259:36;28074:228;:::o;28308:224::-;28448:34;28444:1;28436:6;28432:14;28425:58;28517:7;28512:2;28504:6;28500:15;28493:32;28308:224;:::o;28538:176::-;28678:28;28674:1;28666:6;28662:14;28655:52;28538:176;:::o;28720:223::-;28860:34;28856:1;28848:6;28844:14;28837:58;28929:6;28924:2;28916:6;28912:15;28905:31;28720:223;:::o;28949:173::-;29089:25;29085:1;29077:6;29073:14;29066:49;28949:173;:::o;29128:122::-;29201:24;29219:5;29201:24;:::i;:::-;29194:5;29191:35;29181:63;;29240:1;29237;29230:12;29181:63;29128:122;:::o;29256:116::-;29326:21;29341:5;29326:21;:::i;:::-;29319:5;29316:32;29306:60;;29362:1;29359;29352:12;29306:60;29256:116;:::o;29378:122::-;29451:24;29469:5;29451:24;:::i;:::-;29444:5;29441:35;29431:63;;29490:1;29487;29480:12;29431:63;29378:122;:::o
Swarm Source
ipfs://68cf13e4734cfc00c08cd24a3ec6bf2b745205a3b7b7a88a2f4fd1639682e777
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.