Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 SHIBAONE
Holders
141
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
4,464,000 SHIBAONEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
SHIBAONE
Compiler Version
v0.8.5+commit.a4f2e591
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-07-04 */ /** _______. __ __ __ .______ ___ ______ .__ __. _______ / || | | | | | | _ \ / \ / __ \ | \ | | | ____| | (----`| |__| | | | | |_) | / ^ \ | | | | | \| | | |__ \ \ | __ | | | | _ < / /_\ \ | | | | | . ` | | __| .----) | | | | | | | | |_) | / _____ \ | `--' | | |\ | | |____ |_______/ |__| |__| |__| |______/ /__/ \__\ \______/ |__| \__| |_______| The Origin of Shiba The Beginning The One SHIBA */ // // SPDX-License-Identifier: MIT pragma solidity ^0.8.5; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface ERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); 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); } abstract contract Ownable { address internal owner; constructor(address _owner) { owner = _owner; } modifier onlyOwner() { require(isOwner(msg.sender), "!OWNER"); _; } function isOwner(address account) public view returns (bool) { return account == owner; } function renounceOwnership() public onlyOwner { owner = address(0); emit OwnershipTransferred(address(0)); } event OwnershipTransferred(address owner); } interface IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDEXRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract SHIBAONE is ERC20, Ownable { using SafeMath for uint256; address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; address DEAD = 0x000000000000000000000000000000000000dEaD; string constant _name = "Origin Of Shiba"; string constant _symbol = "SHIBAONE"; uint8 constant _decimals = 9; uint256 _totalSupply = 1000000000 * (10 ** _decimals); uint256 public _maxWalletAmount = (_totalSupply * 100) / 100; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) isFeeExempt; mapping (address => bool) isTxLimitExempt; uint256 liquidityFee = 1; // Auto liquidiy added & burned uint256 marketingFee = 3; uint256 totalFee = liquidityFee + marketingFee; uint256 feeDenominator = 100; address public marketingFeeReceiver = 0xB43F0CDc651eeEe6362bC4b617143E73eFe8dADf; IDEXRouter public router; address public pair; bool public swapEnabled = true; uint256 public swapThreshold = _totalSupply / 1000 * 3; // 0.3% bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor () Ownable(msg.sender) { router = IDEXRouter(routerAdress); pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this)); _allowances[address(this)][address(router)] = type(uint256).max; address _owner = owner; isFeeExempt[0xB43F0CDc651eeEe6362bC4b617143E73eFe8dADf] = true; isTxLimitExempt[_owner] = true; isTxLimitExempt[0xB43F0CDc651eeEe6362bC4b617143E73eFe8dADf] = true; isTxLimitExempt[DEAD] = true; _balances[_owner] = _totalSupply; emit Transfer(address(0), _owner, _totalSupply); } receive() external payable { } function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) { return owner; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, type(uint256).max); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if(_allowances[sender][msg.sender] != type(uint256).max){ _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance"); } return _transferFrom(sender, recipient, amount); } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { if(inSwap){ return _basicTransfer(sender, recipient, amount); } if (recipient != pair && recipient != DEAD) { require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size."); } if(shouldSwapBack()){ swapBack(); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, amount) : amount; _balances[recipient] = _balances[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); return true; } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function shouldTakeFee(address sender) internal view returns (bool) { return !isFeeExempt[sender]; } function takeFee(address sender, uint256 amount) internal returns (uint256) { uint256 feeAmount = amount.mul(totalFee).div(feeDenominator); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount); } function shouldSwapBack() internal view returns (bool) { return msg.sender != pair && !inSwap && swapEnabled && _balances[address(this)] >= swapThreshold; } function swapBack() internal swapping { uint256 contractTokenBalance = swapThreshold; uint256 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(totalFee).div(2); uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify); address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); uint256 balanceBefore = address(this).balance; router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountETH = address(this).balance.sub(balanceBefore); uint256 totalETHFee = totalFee.sub(liquidityFee.div(2)); uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2); uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee); (bool MarketingSuccess, /* bytes memory data */) = payable(marketingFeeReceiver).call{value: amountETHMarketing, gas: 30000}(""); require(MarketingSuccess, "receiver rejected ETH transfer"); if(amountToLiquify > 0){ router.addLiquidityETH{value: amountETHLiquidity}( address(this), amountToLiquify, 0, 0, DEAD, block.timestamp ); emit AutoLiquify(amountETHLiquidity, amountToLiquify); } } function buyTokens(uint256 amount, address to) internal swapping { address[] memory path = new address[](2); path[0] = router.WETH(); path[1] = address(this); router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}( 0, path, to, block.timestamp ); } function clearStuckBalance() external { payable(marketingFeeReceiver).transfer(address(this).balance); } function setWalletLimit(uint256 amountPercent) external onlyOwner { _maxWalletAmount = (_totalSupply * amountPercent ) / 1000; } event AutoLiquify(uint256 amountETH, uint256 amountBOG); }
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":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","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":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"view","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
6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000ac919062000953565b633b9aca00620000bd919062000a90565b600355606480600354620000d2919062000a90565b620000de9190620008c0565b60045560016009556003600a55600a54600954620000fd919062000863565b600b556064600c5573b43f0cdc651eeee6362bc4b617143e73efe8dadf600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600f60146101000a81548160ff02191690831515021790555060036103e8600354620001899190620008c0565b62000195919062000a90565b601055348015620001a557600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002b457600080fd5b505afa158015620002c9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ef9190620007c5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200037357600080fd5b505afa15801562000388573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003ae9190620007c5565b306040518363ffffffff1660e01b8152600401620003ce92919062000819565b602060405180830381600087803b158015620003e957600080fd5b505af1158015620003fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004249190620007c5565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060016007600073b43f0cdc651eeee6362bc4b617143e73efe8dadf73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016008600073b43f0cdc651eeee6362bc4b617143e73efe8dadf73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600354600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6003546040516200079f919062000846565b60405180910390a35062000bc6565b600081519050620007bf8162000bac565b92915050565b600060208284031215620007de57620007dd62000b9a565b5b6000620007ee84828501620007ae565b91505092915050565b620008028162000af1565b82525050565b620008138162000b25565b82525050565b6000604082019050620008306000830185620007f7565b6200083f6020830184620007f7565b9392505050565b60006020820190506200085d600083018462000808565b92915050565b6000620008708262000b25565b91506200087d8362000b25565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620008b557620008b462000b3c565b5b828201905092915050565b6000620008cd8262000b25565b9150620008da8362000b25565b925082620008ed57620008ec62000b6b565b5b828204905092915050565b6000808291508390505b60018511156200094a5780860481111562000922576200092162000b3c565b5b6001851615620009325780820291505b8081029050620009428562000b9f565b945062000902565b94509492505050565b6000620009608262000b25565b91506200096d8362000b2f565b92506200099c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620009a4565b905092915050565b600082620009b6576001905062000a89565b81620009c6576000905062000a89565b8160018114620009df5760028114620009ea5762000a20565b600191505062000a89565b60ff841115620009ff57620009fe62000b3c565b5b8360020a91508482111562000a195762000a1862000b3c565b5b5062000a89565b5060208310610133831016604e8410600b841016171562000a5a5782820a90508381111562000a545762000a5362000b3c565b5b62000a89565b62000a698484846001620008f8565b9250905081840481111562000a835762000a8262000b3c565b5b81810290505b9392505050565b600062000a9d8262000b25565b915062000aaa8362000b25565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000ae65762000ae562000b3c565b5b828202905092915050565b600062000afe8262000b05565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b60008160011c9050919050565b62000bb78162000af1565b811462000bc357600080fd5b50565b6126b58062000bd66000396000f3fe60806040526004361061012e5760003560e01c80636ddd1713116100ab578063a8aa1b311161006f578063a8aa1b31146103f1578063a9059cbb1461041c578063dd62ed3e14610459578063e96fada214610496578063f1d5f517146104c1578063f887ea40146104ea57610135565b80636ddd17131461031c57806370a0823114610347578063715018a614610384578063893d20e81461039b57806395d89b41146103c657610135565b80632f54bf6e116100f25780632f54bf6e14610235578063313ce56714610272578063364333f41461029d578063571ac8b0146102b45780636c0a24eb146102f157610135565b80630445b6671461013a57806306fdde0314610165578063095ea7b31461019057806318160ddd146101cd57806323b872dd146101f857610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610515565b60405161015c9190612177565b60405180910390f35b34801561017157600080fd5b5061017a61051b565b60405161018791906120b5565b60405180910390f35b34801561019c57600080fd5b506101b760048036038101906101b29190611d44565b610558565b6040516101c4919061207f565b60405180910390f35b3480156101d957600080fd5b506101e261064a565b6040516101ef9190612177565b60405180910390f35b34801561020457600080fd5b5061021f600480360381019061021a9190611cf1565b610654565b60405161022c919061207f565b60405180910390f35b34801561024157600080fd5b5061025c60048036038101906102579190611c57565b610854565b604051610269919061207f565b60405180910390f35b34801561027e57600080fd5b506102876108ad565b6040516102949190612215565b60405180910390f35b3480156102a957600080fd5b506102b26108b6565b005b3480156102c057600080fd5b506102db60048036038101906102d69190611c57565b610921565b6040516102e8919061207f565b60405180910390f35b3480156102fd57600080fd5b50610306610954565b6040516103139190612177565b60405180910390f35b34801561032857600080fd5b5061033161095a565b60405161033e919061207f565b60405180910390f35b34801561035357600080fd5b5061036e60048036038101906103699190611c57565b61096d565b60405161037b9190612177565b60405180910390f35b34801561039057600080fd5b506103996109b6565b005b3480156103a757600080fd5b506103b0610a79565b6040516103bd9190612003565b60405180910390f35b3480156103d257600080fd5b506103db610aa2565b6040516103e891906120b5565b60405180910390f35b3480156103fd57600080fd5b50610406610adf565b6040516104139190612003565b60405180910390f35b34801561042857600080fd5b50610443600480360381019061043e9190611d44565b610b05565b604051610450919061207f565b60405180910390f35b34801561046557600080fd5b50610480600480360381019061047b9190611cb1565b610b1a565b60405161048d9190612177565b60405180910390f35b3480156104a257600080fd5b506104ab610ba1565b6040516104b89190612003565b60405180910390f35b3480156104cd57600080fd5b506104e860048036038101906104e39190611d84565b610bc7565b005b3480156104f657600080fd5b506104ff610c33565b60405161050c919061209a565b60405180910390f35b60105481565b60606040518060400160405280600f81526020017f4f726967696e204f662053686962610000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106389190612177565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610840576107bf826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c599092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61084b848484610cbd565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561091e573d6000803e3d6000fd5b50565b600061094d827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610558565b9050919050565b60045481565b600f60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109bf33610854565b6109fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f590612157565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610a6f9190612003565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f53484942414f4e45000000000000000000000000000000000000000000000000815250905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610b12338484610cbd565b905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610bd033610854565b610c0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0690612157565b60405180910390fd5b6103e881600354610c209190612317565b610c2a91906122e6565b60048190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290610ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9891906120b5565b60405180910390fd5b5060008385610cb09190612371565b9050809150509392505050565b6000601160009054906101000a900460ff1615610ce657610cdf848484611086565b905061107f565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610d925750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610e7b57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610e3b575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e389190612290565b11155b610e7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e71906120d7565b60405180910390fd5b5b610e83611259565b15610e9157610e90611330565b5b610f1a826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c599092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610f6885611898565b610f725782610f7d565b610f7c85846118ef565b5b9050610fd181600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a3390919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110719190612177565b60405180910390a360019150505b9392505050565b6000611111826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c599092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111a682600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a3390919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112469190612177565b60405180910390a3600190509392505050565b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156112c65750601160009054906101000a900460ff16155b80156112de5750600f60149054906101000a900460ff165b801561132b5750601054600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601160006101000a81548160ff0219169083151502179055506000601054905060006113906002611382600b5461137460095487611a9190919063ffffffff16565b611b0c90919063ffffffff16565b611b0c90919063ffffffff16565b905060006113a78284611b5690919063ffffffff16565b90506000600267ffffffffffffffff8111156113c6576113c56124f0565b5b6040519080825280602002602001820160405280156113f45781602001602082028036833780820191505090505b509050308160008151811061140c5761140b6124c1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156114ae57600080fd5b505afa1580156114c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e69190611c84565b816001815181106114fa576114f96124c1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b815260040161159d959493929190612192565b600060405180830381600087803b1580156115b757600080fd5b505af11580156115cb573d6000803e3d6000fd5b5050505060006115e48247611b5690919063ffffffff16565b905060006116126116016002600954611b0c90919063ffffffff16565b600b54611b5690919063ffffffff16565b9050600061165060026116428461163460095488611a9190919063ffffffff16565b611b0c90919063ffffffff16565b611b0c90919063ffffffff16565b9050600061167b8361166d600a5487611a9190919063ffffffff16565b611b0c90919063ffffffff16565b90506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682617530906040516116c990611fee565b600060405180830381858888f193505050503d8060008114611707576040519150601f19603f3d011682016040523d82523d6000602084013e61170c565b606091505b5050905080611750576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174790612117565b60405180910390fd5b600089111561187157600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016117e29695949392919061201e565b6060604051808303818588803b1580156117fb57600080fd5b505af115801561180f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118349190611db1565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a6040516118689291906121ec565b60405180910390a15b505050505050505050506000601160006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b60008061191b600c5461190d600b5486611a9190919063ffffffff16565b611b0c90919063ffffffff16565b905061196f81600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a3390919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a0f9190612177565b60405180910390a3611a2a8184611b5690919063ffffffff16565b91505092915050565b6000808284611a429190612290565b905083811015611a87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7e906120f7565b60405180910390fd5b8091505092915050565b600080831415611aa45760009050611b06565b60008284611ab29190612317565b9050828482611ac191906122e6565b14611b01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af890612137565b60405180910390fd5b809150505b92915050565b6000611b4e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ba0565b905092915050565b6000611b9883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c59565b905092915050565b60008083118290611be7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bde91906120b5565b60405180910390fd5b5060008385611bf691906122e6565b9050809150509392505050565b600081359050611c1281612651565b92915050565b600081519050611c2781612651565b92915050565b600081359050611c3c81612668565b92915050565b600081519050611c5181612668565b92915050565b600060208284031215611c6d57611c6c61251f565b5b6000611c7b84828501611c03565b91505092915050565b600060208284031215611c9a57611c9961251f565b5b6000611ca884828501611c18565b91505092915050565b60008060408385031215611cc857611cc761251f565b5b6000611cd685828601611c03565b9250506020611ce785828601611c03565b9150509250929050565b600080600060608486031215611d0a57611d0961251f565b5b6000611d1886828701611c03565b9350506020611d2986828701611c03565b9250506040611d3a86828701611c2d565b9150509250925092565b60008060408385031215611d5b57611d5a61251f565b5b6000611d6985828601611c03565b9250506020611d7a85828601611c2d565b9150509250929050565b600060208284031215611d9a57611d9961251f565b5b6000611da884828501611c2d565b91505092915050565b600080600060608486031215611dca57611dc961251f565b5b6000611dd886828701611c42565b9350506020611de986828701611c42565b9250506040611dfa86828701611c42565b9150509250925092565b6000611e108383611e1c565b60208301905092915050565b611e25816123a5565b82525050565b611e34816123a5565b82525050565b6000611e4582612240565b611e4f8185612263565b9350611e5a83612230565b8060005b83811015611e8b578151611e728882611e04565b9750611e7d83612256565b925050600181019050611e5e565b5085935050505092915050565b611ea1816123b7565b82525050565b611eb0816123fa565b82525050565b611ebf8161241e565b82525050565b6000611ed08261224b565b611eda818561227f565b9350611eea818560208601612430565b611ef381612524565b840191505092915050565b6000611f0b60258361227f565b9150611f1682612535565b604082019050919050565b6000611f2e601b8361227f565b9150611f3982612584565b602082019050919050565b6000611f51601e8361227f565b9150611f5c826125ad565b602082019050919050565b6000611f7460218361227f565b9150611f7f826125d6565b604082019050919050565b6000611f9760068361227f565b9150611fa282612625565b602082019050919050565b6000611fba600083612274565b9150611fc58261264e565b600082019050919050565b611fd9816123e3565b82525050565b611fe8816123ed565b82525050565b6000611ff982611fad565b9150819050919050565b60006020820190506120186000830184611e2b565b92915050565b600060c0820190506120336000830189611e2b565b6120406020830188611fd0565b61204d6040830187611eb6565b61205a6060830186611eb6565b6120676080830185611e2b565b61207460a0830184611fd0565b979650505050505050565b60006020820190506120946000830184611e98565b92915050565b60006020820190506120af6000830184611ea7565b92915050565b600060208201905081810360008301526120cf8184611ec5565b905092915050565b600060208201905081810360008301526120f081611efe565b9050919050565b6000602082019050818103600083015261211081611f21565b9050919050565b6000602082019050818103600083015261213081611f44565b9050919050565b6000602082019050818103600083015261215081611f67565b9050919050565b6000602082019050818103600083015261217081611f8a565b9050919050565b600060208201905061218c6000830184611fd0565b92915050565b600060a0820190506121a76000830188611fd0565b6121b46020830187611eb6565b81810360408301526121c68186611e3a565b90506121d56060830185611e2b565b6121e26080830184611fd0565b9695505050505050565b60006040820190506122016000830185611fd0565b61220e6020830184611fd0565b9392505050565b600060208201905061222a6000830184611fdf565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600061229b826123e3565b91506122a6836123e3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156122db576122da612463565b5b828201905092915050565b60006122f1826123e3565b91506122fc836123e3565b92508261230c5761230b612492565b5b828204905092915050565b6000612322826123e3565b915061232d836123e3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561236657612365612463565b5b828202905092915050565b600061237c826123e3565b9150612387836123e3565b92508282101561239a57612399612463565b5b828203905092915050565b60006123b0826123c3565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006124058261240c565b9050919050565b6000612417826123c3565b9050919050565b6000612429826123e3565b9050919050565b60005b8381101561244e578082015181840152602081019050612433565b8381111561245d576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b50565b61265a816123a5565b811461266557600080fd5b50565b612671816123e3565b811461267c57600080fd5b5056fea264697066735822122061176cec9f5d952bec01198c3027c0d7ac6383bec2b966bdfd3d56d59af9af7a64736f6c63430008050033
Deployed Bytecode
0x60806040526004361061012e5760003560e01c80636ddd1713116100ab578063a8aa1b311161006f578063a8aa1b31146103f1578063a9059cbb1461041c578063dd62ed3e14610459578063e96fada214610496578063f1d5f517146104c1578063f887ea40146104ea57610135565b80636ddd17131461031c57806370a0823114610347578063715018a614610384578063893d20e81461039b57806395d89b41146103c657610135565b80632f54bf6e116100f25780632f54bf6e14610235578063313ce56714610272578063364333f41461029d578063571ac8b0146102b45780636c0a24eb146102f157610135565b80630445b6671461013a57806306fdde0314610165578063095ea7b31461019057806318160ddd146101cd57806323b872dd146101f857610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610515565b60405161015c9190612177565b60405180910390f35b34801561017157600080fd5b5061017a61051b565b60405161018791906120b5565b60405180910390f35b34801561019c57600080fd5b506101b760048036038101906101b29190611d44565b610558565b6040516101c4919061207f565b60405180910390f35b3480156101d957600080fd5b506101e261064a565b6040516101ef9190612177565b60405180910390f35b34801561020457600080fd5b5061021f600480360381019061021a9190611cf1565b610654565b60405161022c919061207f565b60405180910390f35b34801561024157600080fd5b5061025c60048036038101906102579190611c57565b610854565b604051610269919061207f565b60405180910390f35b34801561027e57600080fd5b506102876108ad565b6040516102949190612215565b60405180910390f35b3480156102a957600080fd5b506102b26108b6565b005b3480156102c057600080fd5b506102db60048036038101906102d69190611c57565b610921565b6040516102e8919061207f565b60405180910390f35b3480156102fd57600080fd5b50610306610954565b6040516103139190612177565b60405180910390f35b34801561032857600080fd5b5061033161095a565b60405161033e919061207f565b60405180910390f35b34801561035357600080fd5b5061036e60048036038101906103699190611c57565b61096d565b60405161037b9190612177565b60405180910390f35b34801561039057600080fd5b506103996109b6565b005b3480156103a757600080fd5b506103b0610a79565b6040516103bd9190612003565b60405180910390f35b3480156103d257600080fd5b506103db610aa2565b6040516103e891906120b5565b60405180910390f35b3480156103fd57600080fd5b50610406610adf565b6040516104139190612003565b60405180910390f35b34801561042857600080fd5b50610443600480360381019061043e9190611d44565b610b05565b604051610450919061207f565b60405180910390f35b34801561046557600080fd5b50610480600480360381019061047b9190611cb1565b610b1a565b60405161048d9190612177565b60405180910390f35b3480156104a257600080fd5b506104ab610ba1565b6040516104b89190612003565b60405180910390f35b3480156104cd57600080fd5b506104e860048036038101906104e39190611d84565b610bc7565b005b3480156104f657600080fd5b506104ff610c33565b60405161050c919061209a565b60405180910390f35b60105481565b60606040518060400160405280600f81526020017f4f726967696e204f662053686962610000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106389190612177565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610840576107bf826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c599092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b61084b848484610cbd565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561091e573d6000803e3d6000fd5b50565b600061094d827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610558565b9050919050565b60045481565b600f60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109bf33610854565b6109fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f590612157565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610a6f9190612003565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f53484942414f4e45000000000000000000000000000000000000000000000000815250905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610b12338484610cbd565b905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610bd033610854565b610c0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0690612157565b60405180910390fd5b6103e881600354610c209190612317565b610c2a91906122e6565b60048190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290610ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9891906120b5565b60405180910390fd5b5060008385610cb09190612371565b9050809150509392505050565b6000601160009054906101000a900460ff1615610ce657610cdf848484611086565b905061107f565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610d925750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610e7b57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610e3b575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e389190612290565b11155b610e7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e71906120d7565b60405180910390fd5b5b610e83611259565b15610e9157610e90611330565b5b610f1a826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c599092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610f6885611898565b610f725782610f7d565b610f7c85846118ef565b5b9050610fd181600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a3390919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110719190612177565b60405180910390a360019150505b9392505050565b6000611111826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c599092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111a682600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a3390919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112469190612177565b60405180910390a3600190509392505050565b6000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156112c65750601160009054906101000a900460ff16155b80156112de5750600f60149054906101000a900460ff165b801561132b5750601054600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601160006101000a81548160ff0219169083151502179055506000601054905060006113906002611382600b5461137460095487611a9190919063ffffffff16565b611b0c90919063ffffffff16565b611b0c90919063ffffffff16565b905060006113a78284611b5690919063ffffffff16565b90506000600267ffffffffffffffff8111156113c6576113c56124f0565b5b6040519080825280602002602001820160405280156113f45781602001602082028036833780820191505090505b509050308160008151811061140c5761140b6124c1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156114ae57600080fd5b505afa1580156114c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e69190611c84565b816001815181106114fa576114f96124c1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b815260040161159d959493929190612192565b600060405180830381600087803b1580156115b757600080fd5b505af11580156115cb573d6000803e3d6000fd5b5050505060006115e48247611b5690919063ffffffff16565b905060006116126116016002600954611b0c90919063ffffffff16565b600b54611b5690919063ffffffff16565b9050600061165060026116428461163460095488611a9190919063ffffffff16565b611b0c90919063ffffffff16565b611b0c90919063ffffffff16565b9050600061167b8361166d600a5487611a9190919063ffffffff16565b611b0c90919063ffffffff16565b90506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682617530906040516116c990611fee565b600060405180830381858888f193505050503d8060008114611707576040519150601f19603f3d011682016040523d82523d6000602084013e61170c565b606091505b5050905080611750576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174790612117565b60405180910390fd5b600089111561187157600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71984308c600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016117e29695949392919061201e565b6060604051808303818588803b1580156117fb57600080fd5b505af115801561180f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118349190611db1565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506838a6040516118689291906121ec565b60405180910390a15b505050505050505050506000601160006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b60008061191b600c5461190d600b5486611a9190919063ffffffff16565b611b0c90919063ffffffff16565b905061196f81600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a3390919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a0f9190612177565b60405180910390a3611a2a8184611b5690919063ffffffff16565b91505092915050565b6000808284611a429190612290565b905083811015611a87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7e906120f7565b60405180910390fd5b8091505092915050565b600080831415611aa45760009050611b06565b60008284611ab29190612317565b9050828482611ac191906122e6565b14611b01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af890612137565b60405180910390fd5b809150505b92915050565b6000611b4e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ba0565b905092915050565b6000611b9883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c59565b905092915050565b60008083118290611be7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bde91906120b5565b60405180910390fd5b5060008385611bf691906122e6565b9050809150509392505050565b600081359050611c1281612651565b92915050565b600081519050611c2781612651565b92915050565b600081359050611c3c81612668565b92915050565b600081519050611c5181612668565b92915050565b600060208284031215611c6d57611c6c61251f565b5b6000611c7b84828501611c03565b91505092915050565b600060208284031215611c9a57611c9961251f565b5b6000611ca884828501611c18565b91505092915050565b60008060408385031215611cc857611cc761251f565b5b6000611cd685828601611c03565b9250506020611ce785828601611c03565b9150509250929050565b600080600060608486031215611d0a57611d0961251f565b5b6000611d1886828701611c03565b9350506020611d2986828701611c03565b9250506040611d3a86828701611c2d565b9150509250925092565b60008060408385031215611d5b57611d5a61251f565b5b6000611d6985828601611c03565b9250506020611d7a85828601611c2d565b9150509250929050565b600060208284031215611d9a57611d9961251f565b5b6000611da884828501611c2d565b91505092915050565b600080600060608486031215611dca57611dc961251f565b5b6000611dd886828701611c42565b9350506020611de986828701611c42565b9250506040611dfa86828701611c42565b9150509250925092565b6000611e108383611e1c565b60208301905092915050565b611e25816123a5565b82525050565b611e34816123a5565b82525050565b6000611e4582612240565b611e4f8185612263565b9350611e5a83612230565b8060005b83811015611e8b578151611e728882611e04565b9750611e7d83612256565b925050600181019050611e5e565b5085935050505092915050565b611ea1816123b7565b82525050565b611eb0816123fa565b82525050565b611ebf8161241e565b82525050565b6000611ed08261224b565b611eda818561227f565b9350611eea818560208601612430565b611ef381612524565b840191505092915050565b6000611f0b60258361227f565b9150611f1682612535565b604082019050919050565b6000611f2e601b8361227f565b9150611f3982612584565b602082019050919050565b6000611f51601e8361227f565b9150611f5c826125ad565b602082019050919050565b6000611f7460218361227f565b9150611f7f826125d6565b604082019050919050565b6000611f9760068361227f565b9150611fa282612625565b602082019050919050565b6000611fba600083612274565b9150611fc58261264e565b600082019050919050565b611fd9816123e3565b82525050565b611fe8816123ed565b82525050565b6000611ff982611fad565b9150819050919050565b60006020820190506120186000830184611e2b565b92915050565b600060c0820190506120336000830189611e2b565b6120406020830188611fd0565b61204d6040830187611eb6565b61205a6060830186611eb6565b6120676080830185611e2b565b61207460a0830184611fd0565b979650505050505050565b60006020820190506120946000830184611e98565b92915050565b60006020820190506120af6000830184611ea7565b92915050565b600060208201905081810360008301526120cf8184611ec5565b905092915050565b600060208201905081810360008301526120f081611efe565b9050919050565b6000602082019050818103600083015261211081611f21565b9050919050565b6000602082019050818103600083015261213081611f44565b9050919050565b6000602082019050818103600083015261215081611f67565b9050919050565b6000602082019050818103600083015261217081611f8a565b9050919050565b600060208201905061218c6000830184611fd0565b92915050565b600060a0820190506121a76000830188611fd0565b6121b46020830187611eb6565b81810360408301526121c68186611e3a565b90506121d56060830185611e2b565b6121e26080830184611fd0565b9695505050505050565b60006040820190506122016000830185611fd0565b61220e6020830184611fd0565b9392505050565b600060208201905061222a6000830184611fdf565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600061229b826123e3565b91506122a6836123e3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156122db576122da612463565b5b828201905092915050565b60006122f1826123e3565b91506122fc836123e3565b92508261230c5761230b612492565b5b828204905092915050565b6000612322826123e3565b915061232d836123e3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561236657612365612463565b5b828202905092915050565b600061237c826123e3565b9150612387836123e3565b92508282101561239a57612399612463565b5b828203905092915050565b60006123b0826123c3565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006124058261240c565b9050919050565b6000612417826123c3565b9050919050565b6000612429826123e3565b9050919050565b60005b8381101561244e578082015181840152602081019050612433565b8381111561245d576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b50565b61265a816123a5565b811461266557600080fd5b50565b612671816123e3565b811461267c57600080fd5b5056fea264697066735822122061176cec9f5d952bec01198c3027c0d7ac6383bec2b966bdfd3d56d59af9af7a64736f6c63430008050033
Deployed Bytecode Sourcemap
4740:7519:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5789:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6874:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7296:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6604:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7814:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2978:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6698:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11918:118;;;;;;;;;;;;;:::i;:::-;;7520:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5142:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5752:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7044:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3087:131;;;;;;;;;;;;;:::i;:::-;;6960:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6784:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5724:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7650:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7155:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5604:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12044:142;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5693:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5789:54;;;;:::o;6874:80::-;6922:13;6946:5;;;;;;;;;;;;;;;;;6939:12;;6874:80;:::o;7296:216::-;7371:4;7423:6;7388:11;:23;7400:10;7388:23;;;;;;;;;;;;;;;:32;7412:7;7388:32;;;;;;;;;;;;;;;:41;;;;7466:7;7445:37;;7454:10;7445:37;;;7475:6;7445:37;;;;;;:::i;:::-;;;;;;;;7500:4;7493:11;;7296:216;;;;:::o;6604:88::-;6659:7;6677:12;;6670:19;;6604:88;:::o;7814:370::-;7914:4;7969:17;7934:11;:19;7946:6;7934:19;;;;;;;;;;;;;;;:31;7954:10;7934:31;;;;;;;;;;;;;;;;:52;7931:186;;8036:69;8072:6;8036:69;;;;;;;;;;;;;;;;;:11;:19;8048:6;8036:19;;;;;;;;;;;;;;;:31;8056:10;8036:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;8002:11;:19;8014:6;8002:19;;;;;;;;;;;;;;;:31;8022:10;8002:31;;;;;;;;;;;;;;;:103;;;;7931:186;8136:40;8150:6;8158:9;8169:6;8136:13;:40::i;:::-;8129:47;;7814:370;;;;;:::o;2978:103::-;3033:4;3068:5;;;;;;;;;;;3057:16;;:7;:16;;;3050:23;;2978:103;;;:::o;6698:80::-;6750:5;5072:1;6759:16;;6698:80;:::o;11918:118::-;11975:20;;;;;;;;;;;11967:38;;:61;12006:21;11967:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11918:118::o;7520:122::-;7575:4;7599:35;7607:7;7616:17;7599:7;:35::i;:::-;7592:42;;7520:122;;;:::o;5142:60::-;;;;:::o;5752:30::-;;;;;;;;;;;;;:::o;7044:105::-;7110:7;7128:9;:18;7138:7;7128:18;;;;;;;;;;;;;;;;7121:25;;7044:105;;;:::o;3087:131::-;2931:19;2939:10;2931:7;:19::i;:::-;2923:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;3160:1:::1;3144:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;3178:32;3207:1;3178:32;;;;;;:::i;:::-;;;;;;;;3087:131::o:0;6960:78::-;7012:7;7030:5;;;;;;;;;;;7023:12;;6960:78;:::o;6784:84::-;6834:13;6858:7;;;;;;;;;;;;;;;;;6851:14;;6784:84;:::o;5724:19::-;;;;;;;;;;;;;:::o;7650:156::-;7730:4;7754:44;7768:10;7780:9;7791:6;7754:13;:44::i;:::-;7747:51;;7650:156;;;;:::o;7155:133::-;7239:7;7257:11;:19;7269:6;7257:19;;;;;;;;;;;;;;;:28;7277:7;7257:28;;;;;;;;;;;;;;;;7250:35;;7155:133;;;;:::o;5604:80::-;;;;;;;;;;;;;:::o;12044:142::-;2931:19;2939:10;2931:7;:19::i;:::-;2923:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;12174:4:::1;12156:13;12141:12;;:28;;;;:::i;:::-;12140:38;;;;:::i;:::-;12121:16;:57;;;;12044:142:::0;:::o;5693:24::-;;;;;;;;;;;;;:::o;1067:190::-;1153:7;1186:1;1181;:6;;1189:12;1173:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1213:9;1229:1;1225;:5;;;;:::i;:::-;1213:17;;1248:1;1241:8;;;1067:190;;;;;:::o;8192:792::-;8284:4;8304:6;;;;;;;;;;;8301:63;;;8320:41;8335:6;8343:9;8354:6;8320:14;:41::i;:::-;8313:48;;;;8301:63;8401:4;;;;;;;;;;;8388:17;;:9;:17;;;;:38;;;;;8422:4;;;;;;;;;;;8409:17;;:9;:17;;;;8388:38;8384:200;;;8451:15;:26;8467:9;8451:26;;;;;;;;;;;;;;;;;;;;;;;;;:79;;;;8514:16;;8504:6;8481:9;:20;8491:9;8481:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:49;;8451:79;8443:129;;;;;;;;;;;;:::i;:::-;;;;;;;;;8384:200;8607:16;:14;:16::i;:::-;8604:35;;;8626:10;:8;:10::i;:::-;8604:35;8672:53;8694:6;8672:53;;;;;;;;;;;;;;;;;:9;:17;8682:6;8672:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;8652:9;:17;8662:6;8652:17;;;;;;;;;;;;;;;:73;;;;8738:22;8763:21;8777:6;8763:13;:21::i;:::-;:56;;8813:6;8763:56;;;8787:23;8795:6;8803;8787:7;:23::i;:::-;8763:56;8738:81;;8853:40;8878:14;8853:9;:20;8863:9;8853:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;8830:9;:20;8840:9;8830:20;;;;;;;;;;;;;;;:63;;;;8928:9;8911:43;;8920:6;8911:43;;;8939:14;8911:43;;;;;;:::i;:::-;;;;;;;;8972:4;8965:11;;;8192:792;;;;;;:::o;8996:330::-;9089:4;9126:53;9148:6;9126:53;;;;;;;;;;;;;;;;;:9;:17;9136:6;9126:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;9106:9;:17;9116:6;9106:17;;;;;;;;;;;;;;;:73;;;;9213:32;9238:6;9213:9;:20;9223:9;9213:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9190:9;:20;9200:9;9190:20;;;;;;;;;;;;;;;:55;;;;9278:9;9261:35;;9270:6;9261:35;;;9289:6;9261:35;;;;;;:::i;:::-;;;;;;;;9314:4;9307:11;;8996:330;;;;;:::o;9793:197::-;9842:4;9880;;;;;;;;;;;9866:18;;:10;:18;;;;:38;;;;;9898:6;;;;;;;;;;;9897:7;9866:38;:62;;;;;9917:11;;;;;;;;;;;9866:62;:116;;;;;9969:13;;9941:9;:24;9959:4;9941:24;;;;;;;;;;;;;;;;:41;;9866:116;9859:123;;9793:197;:::o;9998:1534::-;5907:4;5898:6;;:13;;;;;;;;;;;;;;;;;;10047:28:::1;10078:13;;10047:44;;10102:23;10128:59;10185:1;10128:52;10171:8;;10128:38;10153:12;;10128:20;:24;;:38;;;;:::i;:::-;:42;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;10102:85;;10198:20;10221:41;10246:15;10221:20;:24;;:41;;;;:::i;:::-;10198:64;;10275:21;10313:1;10299:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10275:40;;10344:4;10326;10331:1;10326:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10370:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10360:4;10365:1;10360:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10396:21;10420;10396:45;;10454:6;;;;;;;;;;;:57;;;10526:12;10553:1;10569:4;10596;10616:15;10454:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10653:17;10673:40;10699:13;10673:21;:25;;:40;;;;:::i;:::-;10653:60;;10724:19;10746:33;10759:19;10776:1;10759:12;;:16;;:19;;;;:::i;:::-;10746:8;;:12;;:33;;;;:::i;:::-;10724:55;;10790:26;10819:51;10868:1;10819:44;10851:11;10819:27;10833:12;;10819:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;:48;;:51;;;;:::i;:::-;10790:80;;10881:26;10910:44;10942:11;10910:27;10924:12;;10910:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;10881:73;;10970:21;11028:20;;;;;;;;;;;11020:34;;11062:18;11087:5;11020:77;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10969:128;;;11116:16;11108:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;11201:1;11183:15;:19;11180:345;;;11218:6;;;;;;;;;;;:22;;;11248:18;11294:4;11318:15;11352:1;11372::::0;11392:4:::1;;;;;;;;;;;11415:15;11218:227;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11465:48;11477:18;11497:15;11465:48;;;;;;;:::i;:::-;;;;;;;;11180:345;10036:1496;;;;;;;;;;5925:5:::0;5916:6;;:14;;;;;;;;;;;;;;;;;;9998:1534::o;9334:114::-;9396:4;9421:11;:19;9433:6;9421:19;;;;;;;;;;;;;;;;;;;;;;;;;9420:20;9413:27;;9334:114;;;:::o;9456:329::-;9523:7;9543:17;9563:40;9588:14;;9563:20;9574:8;;9563:6;:10;;:20;;;;:::i;:::-;:24;;:40;;;;:::i;:::-;9543:60;;9641:39;9670:9;9641;:24;9659:4;9641:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9614:9;:24;9632:4;9614:24;;;;;;;;;;;;;;;:66;;;;9721:4;9696:42;;9705:6;9696:42;;;9728:9;9696:42;;;;;;:::i;:::-;;;;;;;;9756:21;9767:9;9756:6;:10;;:21;;;;:::i;:::-;9749:28;;;9456:329;;;;:::o;740:179::-;798:7;818:9;834:1;830;:5;;;;:::i;:::-;818:17;;859:1;854;:6;;846:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;910:1;903:8;;;740:179;;;;:::o;1263:246::-;1321:7;1350:1;1345;:6;1341:47;;;1375:1;1368:8;;;;1341:47;1398:9;1414:1;1410;:5;;;;:::i;:::-;1398:17;;1443:1;1438;1434;:5;;;;:::i;:::-;:10;1426:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1500:1;1493:8;;;1263:246;;;;;:::o;1515:132::-;1573:7;1600:39;1604:1;1607;1600:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1593:46;;1515:132;;;;:::o;925:136::-;983:7;1010:43;1014:1;1017;1010:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1003:50;;925:136;;;;:::o;1653:189::-;1739:7;1771:1;1767;:5;1774:12;1759:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1798:9;1814:1;1810;:5;;;;:::i;:::-;1798:17;;1833:1;1826:8;;;1653:189;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:139::-;347:5;385:6;372:20;363:29;;401:33;428:5;401:33;:::i;:::-;353:87;;;;:::o;446:143::-;503:5;534:6;528:13;519:22;;550:33;577:5;550:33;:::i;:::-;509:80;;;;:::o;595:329::-;654:6;703:2;691:9;682:7;678:23;674:32;671:2;;;709:79;;:::i;:::-;671:2;829:1;854:53;899:7;890:6;879:9;875:22;854:53;:::i;:::-;844:63;;800:117;661:263;;;;:::o;930:351::-;1000:6;1049:2;1037:9;1028:7;1024:23;1020:32;1017:2;;;1055:79;;:::i;:::-;1017:2;1175:1;1200:64;1256:7;1247:6;1236:9;1232:22;1200:64;:::i;:::-;1190:74;;1146:128;1007:274;;;;:::o;1287:474::-;1355:6;1363;1412:2;1400:9;1391:7;1387:23;1383:32;1380:2;;;1418:79;;:::i;:::-;1380:2;1538:1;1563:53;1608:7;1599:6;1588:9;1584:22;1563:53;:::i;:::-;1553:63;;1509:117;1665:2;1691:53;1736:7;1727:6;1716:9;1712:22;1691:53;:::i;:::-;1681:63;;1636:118;1370:391;;;;;:::o;1767:619::-;1844:6;1852;1860;1909:2;1897:9;1888:7;1884:23;1880:32;1877:2;;;1915:79;;:::i;:::-;1877:2;2035:1;2060:53;2105:7;2096:6;2085:9;2081:22;2060:53;:::i;:::-;2050:63;;2006:117;2162:2;2188:53;2233:7;2224:6;2213:9;2209:22;2188:53;:::i;:::-;2178:63;;2133:118;2290:2;2316:53;2361:7;2352:6;2341:9;2337:22;2316:53;:::i;:::-;2306:63;;2261:118;1867:519;;;;;:::o;2392:474::-;2460:6;2468;2517:2;2505:9;2496:7;2492:23;2488:32;2485:2;;;2523:79;;:::i;:::-;2485:2;2643:1;2668:53;2713:7;2704:6;2693:9;2689:22;2668:53;:::i;:::-;2658:63;;2614:117;2770:2;2796:53;2841:7;2832:6;2821:9;2817:22;2796:53;:::i;:::-;2786:63;;2741:118;2475:391;;;;;:::o;2872:329::-;2931:6;2980:2;2968:9;2959:7;2955:23;2951:32;2948:2;;;2986:79;;:::i;:::-;2948:2;3106:1;3131:53;3176:7;3167:6;3156:9;3152:22;3131:53;:::i;:::-;3121:63;;3077:117;2938:263;;;;:::o;3207:663::-;3295:6;3303;3311;3360:2;3348:9;3339:7;3335:23;3331:32;3328:2;;;3366:79;;:::i;:::-;3328:2;3486:1;3511:64;3567:7;3558:6;3547:9;3543:22;3511:64;:::i;:::-;3501:74;;3457:128;3624:2;3650:64;3706:7;3697:6;3686:9;3682:22;3650:64;:::i;:::-;3640:74;;3595:129;3763:2;3789:64;3845:7;3836:6;3825:9;3821:22;3789:64;:::i;:::-;3779:74;;3734:129;3318:552;;;;;:::o;3876:179::-;3945:10;3966:46;4008:3;4000:6;3966:46;:::i;:::-;4044:4;4039:3;4035:14;4021:28;;3956:99;;;;:::o;4061:108::-;4138:24;4156:5;4138:24;:::i;:::-;4133:3;4126:37;4116:53;;:::o;4175:118::-;4262:24;4280:5;4262:24;:::i;:::-;4257:3;4250:37;4240:53;;:::o;4329:732::-;4448:3;4477:54;4525:5;4477:54;:::i;:::-;4547:86;4626:6;4621:3;4547:86;:::i;:::-;4540:93;;4657:56;4707:5;4657:56;:::i;:::-;4736:7;4767:1;4752:284;4777:6;4774:1;4771:13;4752:284;;;4853:6;4847:13;4880:63;4939:3;4924:13;4880:63;:::i;:::-;4873:70;;4966:60;5019:6;4966:60;:::i;:::-;4956:70;;4812:224;4799:1;4796;4792:9;4787:14;;4752:284;;;4756:14;5052:3;5045:10;;4453:608;;;;;;;:::o;5067:109::-;5148:21;5163:5;5148:21;:::i;:::-;5143:3;5136:34;5126:50;;:::o;5182:167::-;5287:55;5336:5;5287:55;:::i;:::-;5282:3;5275:68;5265:84;;:::o;5355:147::-;5450:45;5489:5;5450:45;:::i;:::-;5445:3;5438:58;5428:74;;:::o;5508:364::-;5596:3;5624:39;5657:5;5624:39;:::i;:::-;5679:71;5743:6;5738:3;5679:71;:::i;:::-;5672:78;;5759:52;5804:6;5799:3;5792:4;5785:5;5781:16;5759:52;:::i;:::-;5836:29;5858:6;5836:29;:::i;:::-;5831:3;5827:39;5820:46;;5600:272;;;;;:::o;5878:366::-;6020:3;6041:67;6105:2;6100:3;6041:67;:::i;:::-;6034:74;;6117:93;6206:3;6117:93;:::i;:::-;6235:2;6230:3;6226:12;6219:19;;6024:220;;;:::o;6250:366::-;6392:3;6413:67;6477:2;6472:3;6413:67;:::i;:::-;6406:74;;6489:93;6578:3;6489:93;:::i;:::-;6607:2;6602:3;6598:12;6591:19;;6396:220;;;:::o;6622:366::-;6764:3;6785:67;6849:2;6844:3;6785:67;:::i;:::-;6778:74;;6861:93;6950:3;6861:93;:::i;:::-;6979:2;6974:3;6970:12;6963:19;;6768:220;;;:::o;6994:366::-;7136:3;7157:67;7221:2;7216:3;7157:67;:::i;:::-;7150:74;;7233:93;7322:3;7233:93;:::i;:::-;7351:2;7346:3;7342:12;7335:19;;7140:220;;;:::o;7366:365::-;7508:3;7529:66;7593:1;7588:3;7529:66;:::i;:::-;7522:73;;7604:93;7693:3;7604:93;:::i;:::-;7722:2;7717:3;7713:12;7706:19;;7512:219;;;:::o;7737:398::-;7896:3;7917:83;7998:1;7993:3;7917:83;:::i;:::-;7910:90;;8009:93;8098:3;8009:93;:::i;:::-;8127:1;8122:3;8118:11;8111:18;;7900:235;;;:::o;8141:118::-;8228:24;8246:5;8228:24;:::i;:::-;8223:3;8216:37;8206:53;;:::o;8265:112::-;8348:22;8364:5;8348:22;:::i;:::-;8343:3;8336:35;8326:51;;:::o;8383:379::-;8567:3;8589:147;8732:3;8589:147;:::i;:::-;8582:154;;8753:3;8746:10;;8571:191;;;:::o;8768:222::-;8861:4;8899:2;8888:9;8884:18;8876:26;;8912:71;8980:1;8969:9;8965:17;8956:6;8912:71;:::i;:::-;8866:124;;;;:::o;8996:807::-;9245:4;9283:3;9272:9;9268:19;9260:27;;9297:71;9365:1;9354:9;9350:17;9341:6;9297:71;:::i;:::-;9378:72;9446:2;9435:9;9431:18;9422:6;9378:72;:::i;:::-;9460:80;9536:2;9525:9;9521:18;9512:6;9460:80;:::i;:::-;9550;9626:2;9615:9;9611:18;9602:6;9550:80;:::i;:::-;9640:73;9708:3;9697:9;9693:19;9684:6;9640:73;:::i;:::-;9723;9791:3;9780:9;9776:19;9767:6;9723:73;:::i;:::-;9250:553;;;;;;;;;:::o;9809:210::-;9896:4;9934:2;9923:9;9919:18;9911:26;;9947:65;10009:1;9998:9;9994:17;9985:6;9947:65;:::i;:::-;9901:118;;;;:::o;10025:258::-;10136:4;10174:2;10163:9;10159:18;10151:26;;10187:89;10273:1;10262:9;10258:17;10249:6;10187:89;:::i;:::-;10141:142;;;;:::o;10289:313::-;10402:4;10440:2;10429:9;10425:18;10417:26;;10489:9;10483:4;10479:20;10475:1;10464:9;10460:17;10453:47;10517:78;10590:4;10581:6;10517:78;:::i;:::-;10509:86;;10407:195;;;;:::o;10608:419::-;10774:4;10812:2;10801:9;10797:18;10789:26;;10861:9;10855:4;10851:20;10847:1;10836:9;10832:17;10825:47;10889:131;11015:4;10889:131;:::i;:::-;10881:139;;10779:248;;;:::o;11033:419::-;11199:4;11237:2;11226:9;11222:18;11214:26;;11286:9;11280:4;11276:20;11272:1;11261:9;11257:17;11250:47;11314:131;11440:4;11314:131;:::i;:::-;11306:139;;11204:248;;;:::o;11458:419::-;11624:4;11662:2;11651:9;11647:18;11639:26;;11711:9;11705:4;11701:20;11697:1;11686:9;11682:17;11675:47;11739:131;11865:4;11739:131;:::i;:::-;11731:139;;11629:248;;;:::o;11883:419::-;12049:4;12087:2;12076:9;12072:18;12064:26;;12136:9;12130:4;12126:20;12122:1;12111:9;12107:17;12100:47;12164:131;12290:4;12164:131;:::i;:::-;12156:139;;12054:248;;;:::o;12308:419::-;12474:4;12512:2;12501:9;12497:18;12489:26;;12561:9;12555:4;12551:20;12547:1;12536:9;12532:17;12525:47;12589:131;12715:4;12589:131;:::i;:::-;12581:139;;12479:248;;;:::o;12733:222::-;12826:4;12864:2;12853:9;12849:18;12841:26;;12877:71;12945:1;12934:9;12930:17;12921:6;12877:71;:::i;:::-;12831:124;;;;:::o;12961:831::-;13224:4;13262:3;13251:9;13247:19;13239:27;;13276:71;13344:1;13333:9;13329:17;13320:6;13276:71;:::i;:::-;13357:80;13433:2;13422:9;13418:18;13409:6;13357:80;:::i;:::-;13484:9;13478:4;13474:20;13469:2;13458:9;13454:18;13447:48;13512:108;13615:4;13606:6;13512:108;:::i;:::-;13504:116;;13630:72;13698:2;13687:9;13683:18;13674:6;13630:72;:::i;:::-;13712:73;13780:3;13769:9;13765:19;13756:6;13712:73;:::i;:::-;13229:563;;;;;;;;:::o;13798:332::-;13919:4;13957:2;13946:9;13942:18;13934:26;;13970:71;14038:1;14027:9;14023:17;14014:6;13970:71;:::i;:::-;14051:72;14119:2;14108:9;14104:18;14095:6;14051:72;:::i;:::-;13924:206;;;;;:::o;14136:214::-;14225:4;14263:2;14252:9;14248:18;14240:26;;14276:67;14340:1;14329:9;14325:17;14316:6;14276:67;:::i;:::-;14230:120;;;;:::o;14437:132::-;14504:4;14527:3;14519:11;;14557:4;14552:3;14548:14;14540:22;;14509:60;;;:::o;14575:114::-;14642:6;14676:5;14670:12;14660:22;;14649:40;;;:::o;14695:99::-;14747:6;14781:5;14775:12;14765:22;;14754:40;;;:::o;14800:113::-;14870:4;14902;14897:3;14893:14;14885:22;;14875:38;;;:::o;14919:184::-;15018:11;15052:6;15047:3;15040:19;15092:4;15087:3;15083:14;15068:29;;15030:73;;;;:::o;15109:147::-;15210:11;15247:3;15232:18;;15222:34;;;;:::o;15262:169::-;15346:11;15380:6;15375:3;15368:19;15420:4;15415:3;15411:14;15396:29;;15358:73;;;;:::o;15437:305::-;15477:3;15496:20;15514:1;15496:20;:::i;:::-;15491:25;;15530:20;15548:1;15530:20;:::i;:::-;15525:25;;15684:1;15616:66;15612:74;15609:1;15606:81;15603:2;;;15690:18;;:::i;:::-;15603:2;15734:1;15731;15727:9;15720:16;;15481:261;;;;:::o;15748:185::-;15788:1;15805:20;15823:1;15805:20;:::i;:::-;15800:25;;15839:20;15857:1;15839:20;:::i;:::-;15834:25;;15878:1;15868:2;;15883:18;;:::i;:::-;15868:2;15925:1;15922;15918:9;15913:14;;15790:143;;;;:::o;15939:348::-;15979:7;16002:20;16020:1;16002:20;:::i;:::-;15997:25;;16036:20;16054:1;16036:20;:::i;:::-;16031:25;;16224:1;16156:66;16152:74;16149:1;16146:81;16141:1;16134:9;16127:17;16123:105;16120:2;;;16231:18;;:::i;:::-;16120:2;16279:1;16276;16272:9;16261:20;;15987:300;;;;:::o;16293:191::-;16333:4;16353:20;16371:1;16353:20;:::i;:::-;16348:25;;16387:20;16405:1;16387:20;:::i;:::-;16382:25;;16426:1;16423;16420:8;16417:2;;;16431:18;;:::i;:::-;16417:2;16476:1;16473;16469:9;16461:17;;16338:146;;;;:::o;16490:96::-;16527:7;16556:24;16574:5;16556:24;:::i;:::-;16545:35;;16535:51;;;:::o;16592:90::-;16626:7;16669:5;16662:13;16655:21;16644:32;;16634:48;;;:::o;16688:126::-;16725:7;16765:42;16758:5;16754:54;16743:65;;16733:81;;;:::o;16820:77::-;16857:7;16886:5;16875:16;;16865:32;;;:::o;16903:86::-;16938:7;16978:4;16971:5;16967:16;16956:27;;16946:43;;;:::o;16995:162::-;17063:9;17096:55;17145:5;17096:55;:::i;:::-;17083:68;;17073:84;;;:::o;17163:131::-;17231:9;17264:24;17282:5;17264:24;:::i;:::-;17251:37;;17241:53;;;:::o;17300:121::-;17358:9;17391:24;17409:5;17391:24;:::i;:::-;17378:37;;17368:53;;;:::o;17427:307::-;17495:1;17505:113;17519:6;17516:1;17513:13;17505:113;;;17604:1;17599:3;17595:11;17589:18;17585:1;17580:3;17576:11;17569:39;17541:2;17538:1;17534:10;17529:15;;17505:113;;;17636:6;17633:1;17630:13;17627:2;;;17716:1;17707:6;17702:3;17698:16;17691:27;17627:2;17476:258;;;;:::o;17740:180::-;17788:77;17785:1;17778:88;17885:4;17882:1;17875:15;17909:4;17906:1;17899:15;17926:180;17974:77;17971:1;17964:88;18071:4;18068:1;18061:15;18095:4;18092:1;18085:15;18112:180;18160:77;18157:1;18150:88;18257:4;18254:1;18247:15;18281:4;18278:1;18271:15;18298:180;18346:77;18343:1;18336:88;18443:4;18440:1;18433:15;18467:4;18464:1;18457:15;18607:117;18716:1;18713;18706:12;18730:102;18771:6;18822:2;18818:7;18813:2;18806:5;18802:14;18798:28;18788:38;;18778:54;;;:::o;18838:224::-;18978:34;18974:1;18966:6;18962:14;18955:58;19047:7;19042:2;19034:6;19030:15;19023:32;18944:118;:::o;19068:177::-;19208:29;19204:1;19196:6;19192:14;19185:53;19174:71;:::o;19251:180::-;19391:32;19387:1;19379:6;19375:14;19368:56;19357:74;:::o;19437:220::-;19577:34;19573:1;19565:6;19561:14;19554:58;19646:3;19641:2;19633:6;19629:15;19622:28;19543:114;:::o;19663:156::-;19803:8;19799:1;19791:6;19787:14;19780:32;19769:50;:::o;19825:114::-;19931:8;:::o;19945:122::-;20018:24;20036:5;20018:24;:::i;:::-;20011:5;20008:35;19998:2;;20057:1;20054;20047:12;19998:2;19988:79;:::o;20073:122::-;20146:24;20164:5;20146:24;:::i;:::-;20139:5;20136:35;20126:2;;20185:1;20182;20175:12;20126:2;20116:79;:::o
Swarm Source
ipfs://61176cec9f5d952bec01198c3027c0d7ac6383bec2b966bdfd3d56d59af9af7a
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.