Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000,000,000 IDGAF
Holders
44
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
2,376,875,708,010.255754053 IDGAFValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
IDGAF
Compiler Version
v0.7.6+commit.7338295f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-11-11 */ pragma solidity ^0.7.6; 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) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } /** * BEP20 standard interface. */ interface IERC20 { 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); } /** * Allows for contract ownership along with multi-address authorization */ abstract contract Auth { address internal _owner; mapping (address => bool) internal authorizations; constructor(address owner_) { _owner = owner_; authorizations[owner_] = true; } modifier onlyOwner() { require(isOwner(msg.sender), "!OWNER"); _; } modifier authorized() { require(isAuthorized(msg.sender), "!AUTHORIZED"); _; } function authorize(address adr) public onlyOwner { authorizations[adr] = true; } function unauthorize(address adr) public onlyOwner { authorizations[adr] = false; } function isOwner(address account) public view returns (bool) { return account == _owner; } function isAuthorized(address adr) public view returns (bool) { return authorizations[adr]; } function renounceOwnership() public virtual onlyOwner { _owner = address(0); emit OwnershipTransferred(address(0)); } function transferOwnership(address payable adr) public onlyOwner { _owner = adr; authorizations[adr] = true; emit OwnershipTransferred(adr); } 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 swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract IDGAF is IERC20, Auth { using SafeMath for uint256; address WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; string constant _name = 'IDGAF'; string constant _symbol = 'IDGAF'; uint8 constant _decimals = 9; uint256 _totalSupply = 1000000000000000 * (10 ** _decimals); uint256 _maxTxAmount = _totalSupply / 1000; uint256 _maxWalletAmount = _totalSupply / 100; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) isFeeExempt; mapping (address => bool) isTxLimitExempt; mapping(address => uint256) _holderLastTransferTimestamp; uint256 marketingFee = 40; uint256 teamFee = 40; uint256 totalFee = 80; uint256 sellFee = 120; uint256 feeDenominator = 1000; address public autoLiquidityReceiver; address public marketingFeeReceiver; address public teamFeeReceiver; IDEXRouter public router; address public pair; uint256 public launchedAt; uint256 public launchedTime; bool public swapEnabled = true; uint256 public swapThreshold = _totalSupply / 1000; // 0.1% bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor () Auth(msg.sender) { router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); pair = IDEXFactory(router.factory()).createPair(WETH, address(this)); _allowances[address(this)][address(router)] = uint256(-1); isFeeExempt[_owner] = true; isFeeExempt[address(this)] = true; isTxLimitExempt[_owner] = true; isTxLimitExempt[address(this)] = true; marketingFeeReceiver = address(0x8EF6aDaC63a8f2c4f1E5bA3Dd6FED01E78A43D48); teamFeeReceiver = address(msg.sender); _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, uint256(-1)); } 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] != uint256(-1)){ _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 && shouldSwapBack()){ swapBack(); } if(!launched() && recipient == pair){ require(_balances[sender] > 0);} _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); if(launchMode() && recipient != pair){require (_balances[recipient] + amount <= _maxWalletAmount);} if(launchMode() && recipient != pair && sender!= address(this) && block.timestamp < _holderLastTransferTimestamp[recipient] + 15){ _holderLastTransferTimestamp[recipient] = block.timestamp; _balances[address(this)] = _balances[address(this)].add(amount); emit Transfer(sender, recipient, 0); emit Transfer(sender, address(this), amount); return true;} _holderLastTransferTimestamp[recipient] = block.timestamp; uint256 amountReceived; if(!isFeeExempt[recipient]){amountReceived= shouldTakeFee(sender) ? takeFee(sender, recipient, amount) : amount;}else{amountReceived = amount;} _balances[recipient] = _balances[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); return true; } function getTotalFee(bool selling) public view returns (uint256) { if(launchedAt + 5 > block.number){ return feeDenominator.sub(1); } if(selling){return sellFee;} return totalFee; } function shouldTakeFee(address sender) internal view returns (bool) { return !isFeeExempt[sender]; } function takeFee(address sender, address receiver, uint256 amount) internal returns (uint256) { uint256 feeAmount; if(!launched() && receiver != pair){return 0;} if(launchMode() && amount > _maxTxAmount){ feeAmount = amount.sub(_maxTxAmount); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount);} feeAmount = amount.mul(getTotalFee(receiver == pair)).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 amountToSwap = swapThreshold; address[] memory path = new address[](2); path[0] = address(this); path[1] = WETH; uint256 balanceBefore = address(this).balance; router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp+360 ); uint256 amountETH = address(this).balance.sub(balanceBefore); uint256 totalETHFee = totalFee; uint256 amountETHTeam = amountETH.mul(teamFee).div(totalETHFee); uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee); payable(marketingFeeReceiver).transfer(amountETHMarketing); payable(teamFeeReceiver).transfer(amountETHTeam); } function unclog() external authorized swapping{ uint256 amountToSwap = balanceOf(address(this)); address[] memory path = new address[](2); path[0] = address(this); path[1] = WETH; uint256 balanceBefore = address(this).balance; router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp+360 ); uint256 amountETH = address(this).balance.sub(balanceBefore); uint256 totalETHFee = totalFee; uint256 amountETHTeam = amountETH.mul(teamFee).div(totalETHFee); uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee); payable(marketingFeeReceiver).transfer(amountETHMarketing); payable(teamFeeReceiver).transfer(amountETHTeam); } function launched() internal view returns (bool) { return launchedAt != 0; } function launch() external authorized{ require(!launched()); launchedAt = block.number; launchedTime = block.timestamp; } function manuallySwap()external authorized{ swapBack(); } function setIsFeeExempt(address holder, bool exempt) external authorized{ isFeeExempt[holder] = exempt; } function setFeeReceivers(address _teamFeeReceiver, address _marketingFeeReceiver) external authorized{ teamFeeReceiver = _teamFeeReceiver; marketingFeeReceiver = _marketingFeeReceiver; } function setSwapBackSettings(bool _enabled, uint256 _amount) external authorized{ swapEnabled = _enabled; swapThreshold =_totalSupply.div(_amount); } function setFees(uint256 _teamFee, uint256 _marketingFee, uint256 _feeDenominator, uint256 _sellFee) external authorized{ teamFee = _teamFee; marketingFee = _marketingFee; totalFee = teamFee.add(_marketingFee); feeDenominator = _feeDenominator; sellFee = _sellFee; require(totalFee < feeDenominator/4); } function launchMode() internal view returns(bool) { return launchedAt !=0 && launchedAt + 5 < block.number && launchedTime + 10 minutes >= block.timestamp ; } function recoverEth() external { payable(teamFeeReceiver).transfer(address(this).balance); } function recoverToken(address _token, uint256 amount) external returns (bool _sent){ _sent = IERC20(_token).transfer(teamFeeReceiver, amount); } }
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":"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":[{"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":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"selling","type":"bool"}],"name":"getTotalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manuallySwap","outputs":[],"stateMutability":"nonpayable","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":"recoverEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"recoverToken","outputs":[{"internalType":"bool","name":"_sent","type":"bool"}],"stateMutability":"nonpayable","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":"address","name":"_teamFeeReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_teamFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","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":"teamFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unclog","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600280546001600160a01b03191673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc217905569d3c21bcecceda1000000600355683635c9adc5dea00000600481905569021e19e0c9bab24000006005556028600b819055600c556050600d556078600e556103e8600f556017805460ff191660011790556018553480156200008c57600080fd5b50600080546001600160a01b0319908116339081178355825260016020818152604093849020805460ff191690921790915560138054909216737a250d5630b4cf539739df2c5dacb4c659f2488d1791829055825163c45a015560e01b815292516001600160a01b03929092169263c45a01559260048083019392829003018186803b1580156200011c57600080fd5b505afa15801562000131573d6000803e3d6000fd5b505050506040513d60208110156200014857600080fd5b5051600254604080516364e329cb60e11b81526001600160a01b0392831660048201523060248201529051919092169163c9c653969160448083019260209291908290030181600087803b158015620001a057600080fd5b505af1158015620001b5573d6000803e3d6000fd5b505050506040513d6020811015620001cc57600080fd5b5051601480546001600160a01b039283166001600160a01b031991821617909155306000818152600760209081526040808320601354871684528252808320600019905582548616835260088252808320805460ff1990811660019081179092558585528285208054821683179055845488168552600984528285208054821683179055948452818420805490951617909355601180548516738ef6adac63a8f2c4f1e5ba3dd6fed01e78a43d4817905560128054909416331790935560035481548516825260068452828220819055815483519182529251929094169390927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a361222480620002e56000396000f3fe6080604052600436106102535760003560e01c8063893d20e811610138578063ca33e64c116100b0578063f0b37c041161007f578063f2fde38b11610064578063f2fde38b14610874578063f887ea40146108b4578063fe9fbb80146108c95761025a565b8063f0b37c0414610808578063f1f3bca3146108485761025a565b8063ca33e64c14610764578063dd62ed3e14610779578063df20fd49146107c1578063e96fada2146107f35761025a565b8063a9059cbb11610107578063b6a5d7de116100ec578063b6a5d7de146106fa578063bcdb446b1461073a578063bf56b3711461074f5761025a565b8063a9059cbb1461066e578063b29a8140146106b45761025a565b8063893d20e8146105fc57806395d89b411461029d578063a4b45c0014610611578063a8aa1b31146106595761025a565b8063571ac8b0116101cb57806367c453491161019a5780636fcba3771161017f5780636fcba3771461056b57806370a08231146105a7578063715018a6146105e75761025a565b806367c45349146105415780636ddd1713146105565761025a565b8063571ac8b01461048f5780635804f1e4146104cf5780635fe7208c146104e4578063658d4b7f146104f95761025a565b806318160ddd116102225780632f54bf6e116102075780632f54bf6e146103e6578063313ce5671461042657806340291143146104515761025a565b806318160ddd1461038157806323b872dd146103965761025a565b806301339c211461025f5780630445b6671461027657806306fdde031461029d578063095ea7b3146103275761025a565b3661025a57005b600080fd5b34801561026b57600080fd5b50610274610909565b005b34801561028257600080fd5b5061028b610999565b60408051918252519081900360200190f35b3480156102a957600080fd5b506102b261099f565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102ec5781810151838201526020016102d4565b50505050905090810190601f1680156103195780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561033357600080fd5b5061036d6004803603604081101561034a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356109d6565b604080519115158252519081900360200190f35b34801561038d57600080fd5b5061028b610a4a565b3480156103a257600080fd5b5061036d600480360360608110156103b957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610a50565b3480156103f257600080fd5b5061036d6004803603602081101561040957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b5e565b34801561043257600080fd5b5061043b610b82565b6040805160ff9092168252519081900360200190f35b34801561045d57600080fd5b50610466610b87565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561049b57600080fd5b5061036d600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610ba3565b3480156104db57600080fd5b5061028b610bcf565b3480156104f057600080fd5b50610274610bd5565b34801561050557600080fd5b506102746004803603604081101561051c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001351515610c53565b34801561054d57600080fd5b50610274610d1d565b34801561056257600080fd5b5061036d611065565b34801561057757600080fd5b506102746004803603608081101561058e57600080fd5b508035906020810135906040810135906060013561106e565b3480156105b357600080fd5b5061028b600480360360208110156105ca57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661111a565b3480156105f357600080fd5b50610274611142565b34801561060857600080fd5b50610466611212565b34801561061d57600080fd5b506102746004803603604081101561063457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602001351661122e565b34801561066557600080fd5b506104666112f5565b34801561067a57600080fd5b5061036d6004803603604081101561069157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611311565b3480156106c057600080fd5b5061036d600480360360408110156106d757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561131e565b34801561070657600080fd5b506102746004803603602081101561071d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cd565b34801561074657600080fd5b50610274611493565b34801561075b57600080fd5b5061028b6114dc565b34801561077057600080fd5b506104666114e2565b34801561078557600080fd5b5061028b6004803603604081101561079c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166114fe565b3480156107cd57600080fd5b50610274600480360360408110156107e457600080fd5b50803515159060200135611536565b3480156107ff57600080fd5b506104666115ea565b34801561081457600080fd5b506102746004803603602081101561082b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611606565b34801561085457600080fd5b5061028b6004803603602081101561086b57600080fd5b503515156116c6565b34801561088057600080fd5b506102746004803603602081101561089757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611701565b3480156108c057600080fd5b50610466611826565b3480156108d557600080fd5b5061036d600480360360208110156108ec57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611842565b61091233611842565b61097d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b61098561186d565b1561098f57600080fd5b4360155542601655565b60185481565b60408051808201909152600581527f4944474146000000000000000000000000000000000000000000000000000000602082015290565b33600081815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60035490565b73ffffffffffffffffffffffffffffffffffffffff831660009081526007602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610b4957604080518082018252601681527f496e73756666696369656e7420416c6c6f77616e63650000000000000000000060208083019190915273ffffffffffffffffffffffffffffffffffffffff87166000908152600782528381203382529091529190912054610b17918490611875565b73ffffffffffffffffffffffffffffffffffffffff851660009081526007602090815260408083203384529091529020555b610b54848484611926565b90505b9392505050565b60005473ffffffffffffffffffffffffffffffffffffffff8281169116145b919050565b600990565b60125473ffffffffffffffffffffffffffffffffffffffff1681565b6000610a44827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6109d6565b60165481565b610bde33611842565b610c4957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b610c51611d2b565b565b610c5c33611842565b610cc757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260086020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b610d2633611842565b610d9157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b601980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556000610dc73061111a565b905060006002815b50604051908082528060200260200182016040528015610df9578160200160208202803683370190505b5090503081600081518110610e0a57fe5b73ffffffffffffffffffffffffffffffffffffffff9283166020918202929092010152600254825191169082906001908110610e4257fe5b73ffffffffffffffffffffffffffffffffffffffff9283166020918202929092018101919091526013546040517f791ac94700000000000000000000000000000000000000000000000000000000815260048101868152600060248301819052306064840181905261016842016084850181905260a060448601908152895160a487015289514799979097169763791ac947978c9795968c9690939260c49091019187820191028083838b5b83811015610f06578181015183820152602001610eee565b505050509050019650505050505050600060405180830381600087803b158015610f2f57600080fd5b505af1158015610f43573d6000803e3d6000fd5b505050506000610f5c8247611d6390919063ffffffff16565b90506000600d5490506000610f8682610f80600c5486611da590919063ffffffff16565b90611e18565b90506000610fa383610f80600b5487611da590919063ffffffff16565b60115460405191925073ffffffffffffffffffffffffffffffffffffffff169082156108fc029083906000818181858888f19350505050158015610feb573d6000803e3d6000fd5b5060125460405173ffffffffffffffffffffffffffffffffffffffff9091169083156108fc029084906000818181858888f19350505050158015611033573d6000803e3d6000fd5b5050601980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055505050505050565b60175460ff1681565b61107733611842565b6110e257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b600c849055600b8390556110f68484611e5a565b600d55600f829055600e81905560048204600d541061111457600080fd5b50505050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526006602052604090205490565b61114b33610b5e565b6111b657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600080547fffffffffffffffffffffffff000000000000000000000000000000000000000016815560408051918252517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639181900360200190a1565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b61123733611842565b6112a257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b6012805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560118054929093169116179055565b60145473ffffffffffffffffffffffffffffffffffffffff1681565b6000610b57338484611926565b601254604080517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015260248101849052905160009285169163a9059cbb91604480830192602092919082900301818787803b15801561139a57600080fd5b505af11580156113ae573d6000803e3d6000fd5b505050506040513d60208110156113c457600080fd5b50519392505050565b6113d633610b5e565b61144157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff16600090815260016020819052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169091179055565b60125460405173ffffffffffffffffffffffffffffffffffffffff909116904780156108fc02916000818181858888f193505050501580156114d9573d6000803e3d6000fd5b50565b60155481565b60105473ffffffffffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260076020908152604080832093909416825291909152205490565b61153f33611842565b6115aa57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b601780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168315151790556003546115e39082611e18565b6018555050565b60115473ffffffffffffffffffffffffffffffffffffffff1681565b61160f33610b5e565b61167a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff16600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b60004360155460050111156116ea57600f546116e3906001611d63565b9050610b7d565b81156116f95750600e54610b7d565b5050600d5490565b61170a33610b5e565b61177557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831690811782558082526001602081815260409384902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909217909155825191825291517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163929181900390910190a150565b60135473ffffffffffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205460ff1690565b601554151590565b6000818484111561191e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156118e35781810151838201526020016118cb565b50505050905090810190601f1680156119105780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60195460009060ff1615801561193f575061193f611ece565b1561194c5761194c611d2b565b61195461186d565b15801561197b575060145473ffffffffffffffffffffffffffffffffffffffff8481169116145b156119af5773ffffffffffffffffffffffffffffffffffffffff84166000908152600660205260409020546119af57600080fd5b604080518082018252601481527f496e73756666696369656e742042616c616e636500000000000000000000000060208083019190915273ffffffffffffffffffffffffffffffffffffffff8716600090815260069091529190912054611a17918490611875565b73ffffffffffffffffffffffffffffffffffffffff8516600090815260066020526040902055611a45611f2c565b8015611a6c575060145473ffffffffffffffffffffffffffffffffffffffff848116911614155b15611aa75760055473ffffffffffffffffffffffffffffffffffffffff841660009081526006602052604090205483011115611aa757600080fd5b611aaf611f2c565b8015611ad6575060145473ffffffffffffffffffffffffffffffffffffffff848116911614155b8015611af8575073ffffffffffffffffffffffffffffffffffffffff84163014155b8015611b2b575073ffffffffffffffffffffffffffffffffffffffff83166000908152600a6020526040902054600f0142105b15611c2a5773ffffffffffffffffffffffffffffffffffffffff83166000908152600a602090815260408083204290553083526006909152902054611b709083611e5a565b306000908152600660209081526040808320939093558251918252915173ffffffffffffffffffffffffffffffffffffffff86811693908816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3604080518381529051309173ffffffffffffffffffffffffffffffffffffffff8716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3506001610b57565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600a60209081526040808320429055600890915281205460ff16611c8957611c6d85611f5b565b611c775782611c82565b611c82858585611f87565b9050611c8c565b50815b73ffffffffffffffffffffffffffffffffffffffff8416600090815260066020526040902054611cbc9082611e5a565b73ffffffffffffffffffffffffffffffffffffffff80861660008181526006602090815260409182902094909455805185815290519193928916927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3506001949350505050565b601980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556018546000600281610dcf565b6000610b5783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611875565b600082611db457506000610a44565b82820282848281611dc157fe5b0414610b57576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806121ce6021913960400191505060405180910390fd5b6000610b5783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061214e565b600082820183811015610b5757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60145460009073ffffffffffffffffffffffffffffffffffffffff163314801590611efc575060195460ff16155b8015611f0a575060175460ff165b8015611f2757506018543060009081526006602052604090205410155b905090565b6000601554600014158015611f45575043601554600501105b8015611f27575042601654610258011015905090565b73ffffffffffffffffffffffffffffffffffffffff1660009081526008602052604090205460ff161590565b600080611f9261186d565b158015611fba575060145473ffffffffffffffffffffffffffffffffffffffff858116911614155b15611fc9576000915050610b57565b611fd1611f2c565b8015611fde575060045483115b1561208257600454611ff1908490611d63565b3060009081526006602052604090205490915061200e9082611e5a565b306000818152600660209081526040918290209390935580518481529051919273ffffffffffffffffffffffffffffffffffffffff8916927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a361207a8382611d63565b915050610b57565b600f546014546120bc9190610f80906120b59073ffffffffffffffffffffffffffffffffffffffff8981169116146116c6565b8690611da5565b306000908152600660205260409020549091506120d99082611e5a565b306000818152600660209081526040918290209390935580518481529051919273ffffffffffffffffffffffffffffffffffffffff8916927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a36121458382611d63565b95945050505050565b600081836121b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526020600482018181528351602484015283519092839260449091019190850190808383600083156118e35781810151838201526020016118cb565b5060008385816121c357fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212202a1d7031cec5cc1d1678df0727a98471bb92d4c6e4ac8eb7eb9a62b98394360b64736f6c63430007060033
Deployed Bytecode
0x6080604052600436106102535760003560e01c8063893d20e811610138578063ca33e64c116100b0578063f0b37c041161007f578063f2fde38b11610064578063f2fde38b14610874578063f887ea40146108b4578063fe9fbb80146108c95761025a565b8063f0b37c0414610808578063f1f3bca3146108485761025a565b8063ca33e64c14610764578063dd62ed3e14610779578063df20fd49146107c1578063e96fada2146107f35761025a565b8063a9059cbb11610107578063b6a5d7de116100ec578063b6a5d7de146106fa578063bcdb446b1461073a578063bf56b3711461074f5761025a565b8063a9059cbb1461066e578063b29a8140146106b45761025a565b8063893d20e8146105fc57806395d89b411461029d578063a4b45c0014610611578063a8aa1b31146106595761025a565b8063571ac8b0116101cb57806367c453491161019a5780636fcba3771161017f5780636fcba3771461056b57806370a08231146105a7578063715018a6146105e75761025a565b806367c45349146105415780636ddd1713146105565761025a565b8063571ac8b01461048f5780635804f1e4146104cf5780635fe7208c146104e4578063658d4b7f146104f95761025a565b806318160ddd116102225780632f54bf6e116102075780632f54bf6e146103e6578063313ce5671461042657806340291143146104515761025a565b806318160ddd1461038157806323b872dd146103965761025a565b806301339c211461025f5780630445b6671461027657806306fdde031461029d578063095ea7b3146103275761025a565b3661025a57005b600080fd5b34801561026b57600080fd5b50610274610909565b005b34801561028257600080fd5b5061028b610999565b60408051918252519081900360200190f35b3480156102a957600080fd5b506102b261099f565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102ec5781810151838201526020016102d4565b50505050905090810190601f1680156103195780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561033357600080fd5b5061036d6004803603604081101561034a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356109d6565b604080519115158252519081900360200190f35b34801561038d57600080fd5b5061028b610a4a565b3480156103a257600080fd5b5061036d600480360360608110156103b957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610a50565b3480156103f257600080fd5b5061036d6004803603602081101561040957600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b5e565b34801561043257600080fd5b5061043b610b82565b6040805160ff9092168252519081900360200190f35b34801561045d57600080fd5b50610466610b87565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561049b57600080fd5b5061036d600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610ba3565b3480156104db57600080fd5b5061028b610bcf565b3480156104f057600080fd5b50610274610bd5565b34801561050557600080fd5b506102746004803603604081101561051c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001351515610c53565b34801561054d57600080fd5b50610274610d1d565b34801561056257600080fd5b5061036d611065565b34801561057757600080fd5b506102746004803603608081101561058e57600080fd5b508035906020810135906040810135906060013561106e565b3480156105b357600080fd5b5061028b600480360360208110156105ca57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661111a565b3480156105f357600080fd5b50610274611142565b34801561060857600080fd5b50610466611212565b34801561061d57600080fd5b506102746004803603604081101561063457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602001351661122e565b34801561066557600080fd5b506104666112f5565b34801561067a57600080fd5b5061036d6004803603604081101561069157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611311565b3480156106c057600080fd5b5061036d600480360360408110156106d757600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561131e565b34801561070657600080fd5b506102746004803603602081101561071d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cd565b34801561074657600080fd5b50610274611493565b34801561075b57600080fd5b5061028b6114dc565b34801561077057600080fd5b506104666114e2565b34801561078557600080fd5b5061028b6004803603604081101561079c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166114fe565b3480156107cd57600080fd5b50610274600480360360408110156107e457600080fd5b50803515159060200135611536565b3480156107ff57600080fd5b506104666115ea565b34801561081457600080fd5b506102746004803603602081101561082b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611606565b34801561085457600080fd5b5061028b6004803603602081101561086b57600080fd5b503515156116c6565b34801561088057600080fd5b506102746004803603602081101561089757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611701565b3480156108c057600080fd5b50610466611826565b3480156108d557600080fd5b5061036d600480360360208110156108ec57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611842565b61091233611842565b61097d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b61098561186d565b1561098f57600080fd5b4360155542601655565b60185481565b60408051808201909152600581527f4944474146000000000000000000000000000000000000000000000000000000602082015290565b33600081815260076020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60035490565b73ffffffffffffffffffffffffffffffffffffffff831660009081526007602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610b4957604080518082018252601681527f496e73756666696369656e7420416c6c6f77616e63650000000000000000000060208083019190915273ffffffffffffffffffffffffffffffffffffffff87166000908152600782528381203382529091529190912054610b17918490611875565b73ffffffffffffffffffffffffffffffffffffffff851660009081526007602090815260408083203384529091529020555b610b54848484611926565b90505b9392505050565b60005473ffffffffffffffffffffffffffffffffffffffff8281169116145b919050565b600990565b60125473ffffffffffffffffffffffffffffffffffffffff1681565b6000610a44827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6109d6565b60165481565b610bde33611842565b610c4957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b610c51611d2b565b565b610c5c33611842565b610cc757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260086020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b610d2633611842565b610d9157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b601980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556000610dc73061111a565b905060006002815b50604051908082528060200260200182016040528015610df9578160200160208202803683370190505b5090503081600081518110610e0a57fe5b73ffffffffffffffffffffffffffffffffffffffff9283166020918202929092010152600254825191169082906001908110610e4257fe5b73ffffffffffffffffffffffffffffffffffffffff9283166020918202929092018101919091526013546040517f791ac94700000000000000000000000000000000000000000000000000000000815260048101868152600060248301819052306064840181905261016842016084850181905260a060448601908152895160a487015289514799979097169763791ac947978c9795968c9690939260c49091019187820191028083838b5b83811015610f06578181015183820152602001610eee565b505050509050019650505050505050600060405180830381600087803b158015610f2f57600080fd5b505af1158015610f43573d6000803e3d6000fd5b505050506000610f5c8247611d6390919063ffffffff16565b90506000600d5490506000610f8682610f80600c5486611da590919063ffffffff16565b90611e18565b90506000610fa383610f80600b5487611da590919063ffffffff16565b60115460405191925073ffffffffffffffffffffffffffffffffffffffff169082156108fc029083906000818181858888f19350505050158015610feb573d6000803e3d6000fd5b5060125460405173ffffffffffffffffffffffffffffffffffffffff9091169083156108fc029084906000818181858888f19350505050158015611033573d6000803e3d6000fd5b5050601980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055505050505050565b60175460ff1681565b61107733611842565b6110e257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b600c849055600b8390556110f68484611e5a565b600d55600f829055600e81905560048204600d541061111457600080fd5b50505050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526006602052604090205490565b61114b33610b5e565b6111b657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600080547fffffffffffffffffffffffff000000000000000000000000000000000000000016815560408051918252517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639181900360200190a1565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b61123733611842565b6112a257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b6012805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560118054929093169116179055565b60145473ffffffffffffffffffffffffffffffffffffffff1681565b6000610b57338484611926565b601254604080517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015260248101849052905160009285169163a9059cbb91604480830192602092919082900301818787803b15801561139a57600080fd5b505af11580156113ae573d6000803e3d6000fd5b505050506040513d60208110156113c457600080fd5b50519392505050565b6113d633610b5e565b61144157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff16600090815260016020819052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169091179055565b60125460405173ffffffffffffffffffffffffffffffffffffffff909116904780156108fc02916000818181858888f193505050501580156114d9573d6000803e3d6000fd5b50565b60155481565b60105473ffffffffffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260076020908152604080832093909416825291909152205490565b61153f33611842565b6115aa57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f21415554484f52495a4544000000000000000000000000000000000000000000604482015290519081900360640190fd5b601780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168315151790556003546115e39082611e18565b6018555050565b60115473ffffffffffffffffffffffffffffffffffffffff1681565b61160f33610b5e565b61167a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff16600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b60004360155460050111156116ea57600f546116e3906001611d63565b9050610b7d565b81156116f95750600e54610b7d565b5050600d5490565b61170a33610b5e565b61177557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f214f574e45520000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831690811782558082526001602081815260409384902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909217909155825191825291517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163929181900390910190a150565b60135473ffffffffffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205460ff1690565b601554151590565b6000818484111561191e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156118e35781810151838201526020016118cb565b50505050905090810190601f1680156119105780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60195460009060ff1615801561193f575061193f611ece565b1561194c5761194c611d2b565b61195461186d565b15801561197b575060145473ffffffffffffffffffffffffffffffffffffffff8481169116145b156119af5773ffffffffffffffffffffffffffffffffffffffff84166000908152600660205260409020546119af57600080fd5b604080518082018252601481527f496e73756666696369656e742042616c616e636500000000000000000000000060208083019190915273ffffffffffffffffffffffffffffffffffffffff8716600090815260069091529190912054611a17918490611875565b73ffffffffffffffffffffffffffffffffffffffff8516600090815260066020526040902055611a45611f2c565b8015611a6c575060145473ffffffffffffffffffffffffffffffffffffffff848116911614155b15611aa75760055473ffffffffffffffffffffffffffffffffffffffff841660009081526006602052604090205483011115611aa757600080fd5b611aaf611f2c565b8015611ad6575060145473ffffffffffffffffffffffffffffffffffffffff848116911614155b8015611af8575073ffffffffffffffffffffffffffffffffffffffff84163014155b8015611b2b575073ffffffffffffffffffffffffffffffffffffffff83166000908152600a6020526040902054600f0142105b15611c2a5773ffffffffffffffffffffffffffffffffffffffff83166000908152600a602090815260408083204290553083526006909152902054611b709083611e5a565b306000908152600660209081526040808320939093558251918252915173ffffffffffffffffffffffffffffffffffffffff86811693908816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3604080518381529051309173ffffffffffffffffffffffffffffffffffffffff8716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3506001610b57565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600a60209081526040808320429055600890915281205460ff16611c8957611c6d85611f5b565b611c775782611c82565b611c82858585611f87565b9050611c8c565b50815b73ffffffffffffffffffffffffffffffffffffffff8416600090815260066020526040902054611cbc9082611e5a565b73ffffffffffffffffffffffffffffffffffffffff80861660008181526006602090815260409182902094909455805185815290519193928916927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3506001949350505050565b601980547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556018546000600281610dcf565b6000610b5783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611875565b600082611db457506000610a44565b82820282848281611dc157fe5b0414610b57576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806121ce6021913960400191505060405180910390fd5b6000610b5783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061214e565b600082820183811015610b5757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60145460009073ffffffffffffffffffffffffffffffffffffffff163314801590611efc575060195460ff16155b8015611f0a575060175460ff165b8015611f2757506018543060009081526006602052604090205410155b905090565b6000601554600014158015611f45575043601554600501105b8015611f27575042601654610258011015905090565b73ffffffffffffffffffffffffffffffffffffffff1660009081526008602052604090205460ff161590565b600080611f9261186d565b158015611fba575060145473ffffffffffffffffffffffffffffffffffffffff858116911614155b15611fc9576000915050610b57565b611fd1611f2c565b8015611fde575060045483115b1561208257600454611ff1908490611d63565b3060009081526006602052604090205490915061200e9082611e5a565b306000818152600660209081526040918290209390935580518481529051919273ffffffffffffffffffffffffffffffffffffffff8916927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a361207a8382611d63565b915050610b57565b600f546014546120bc9190610f80906120b59073ffffffffffffffffffffffffffffffffffffffff8981169116146116c6565b8690611da5565b306000908152600660205260409020549091506120d99082611e5a565b306000818152600660209081526040918290209390935580518481529051919273ffffffffffffffffffffffffffffffffffffffff8916927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a36121458382611d63565b95945050505050565b600081836121b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526020600482018181528351602484015283519092839260449091019190850190808383600083156118e35781810151838201526020016118cb565b5060008385816121c357fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212202a1d7031cec5cc1d1678df0727a98471bb92d4c6e4ac8eb7eb9a62b98394360b64736f6c63430007060033
Deployed Bytecode Sourcemap
4399:9565:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12374:147;;;;;;;;;;;;;:::i;:::-;;5529:50;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6655:80;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7079:216;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7079:216:0;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;6385:88;;;;;;;;;;;;;:::i;7594:362::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7594:362:0;;;;;;;;;;;;;;;;;;:::i;3310:104::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3310:104:0;;;;:::i;6479:80::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5326:30;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7304:116;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7304:116:0;;;;:::i;5455:27::-;;;;;;;;;;;;;:::i;12530:71::-;;;;;;;;;;;;;:::i;12610:119::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12610:119:0;;;;;;;;;;;:::i;11377:889::-;;;;;;;;;;;;;:::i;5489:30::-;;;;;;;;;;;;;:::i;13137:360::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13137:360:0;;;;;;;;;;;;;;;;;:::i;6826:105::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6826:105:0;;;;:::i;3539:140::-;;;;;;;;;;;;;:::i;6741:79::-;;;;;;;;;;;;;:::i;12738:209::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12738:209:0;;;;;;;;;;;:::i;5397:19::-;;;;;;;;;;;;;:::i;7429:156::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7429:156:0;;;;;;;;;:::i;13803:158::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13803:158:0;;;;;;;;;:::i;3101:94::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3101:94:0;;;;:::i;13688:106::-;;;;;;;;;;;;;:::i;5423:25::-;;;;;;;;;;;;;:::i;5241:36::-;;;;;;;;;;;;;:::i;6937:133::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6937:133:0;;;;;;;;;;;:::i;12956:172::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12956:172:0;;;;;;;;;:::i;5284:35::-;;;;;;;;;;;;;:::i;3204:97::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3204:97:0;;;;:::i;9220:210::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9220:210:0;;;;:::i;3688:174::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3688:174:0;;;;:::i;5366:24::-;;;;;;;;;;;;;:::i;3423:107::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3423:107:0;;;;:::i;12374:147::-;3041:24;3054:10;3041:12;:24::i;:::-;3033:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12428:10:::1;:8;:10::i;:::-;12427:11;12419:20;;;::::0;::::1;;12463:12;12450:10;:25:::0;12498:15:::1;12483:12;:30:::0;12374:147::o;5529:50::-;;;;:::o;6655:80::-;6727:5;;;;;;;;;;;;;;;;;6655:80;:::o;7079:216::-;7183:10;7154:4;7171:23;;;:11;:23;;;;;;;;;:32;;;;;;;;;;;:41;;;7228:37;;;;;;;7154:4;;7171:32;;7183:10;;7228:37;;;;;;;;-1:-1:-1;7283:4:0;7079:216;;;;;:::o;6385:88::-;6458:12;;6385:88;:::o;7594:362::-;7714:19;;;7694:4;7714:19;;;:11;:19;;;;;;;;7734:10;7714:31;;;;;;;;7757:2;7714:46;7711:180;;7810:69;;;;;;;;;;;;;;;;;;;;:19;;;-1:-1:-1;7810:19:0;;;:11;:19;;;;;7830:10;7810:31;;;;;;;;;;:69;;7846:6;;7810:35;:69::i;:::-;7776:19;;;;;;;:11;:19;;;;;;;;7796:10;7776:31;;;;;;;:103;7711:180;7908:40;7922:6;7930:9;7941:6;7908:13;:40::i;:::-;7901:47;;7594:362;;;;;;:::o;3310:104::-;3365:4;3400:6;;3389:17;;;3400:6;;3389:17;3310:104;;;;:::o;6479:80::-;4642:1;6479:80;:::o;5326:30::-;;;;;;:::o;7304:116::-;7359:4;7383:29;7391:7;7408:2;7383:7;:29::i;5455:27::-;;;;:::o;12530:71::-;3041:24;3054:10;3041:12;:24::i;:::-;3033:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12583:10:::1;:8;:10::i;:::-;12530:71::o:0;12610:119::-;3041:24;3054:10;3041:12;:24::i;:::-;3033:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12693:19:::1;::::0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;;::::1;::::0;::::1;;::::0;;;::::1;::::0;;12610:119::o;11377:889::-;3041:24;3054:10;3041:12;:24::i;:::-;3033:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5634:6:::1;:13:::0;;;::::1;5643:4;5634:13;::::0;;:6:::1;11457:24:::2;11475:4;11457:9;:24::i;:::-;11434:47:::0;-1:-1:-1;11495:21:0::2;11533:1;11495:21:::0;11519:16:::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;-1:-1:-1;11519:16:0::2;;11495:40;;11564:4;11546;11551:1;11546:7;;;;;;;;:23;::::0;;::::2;:7;::::0;;::::2;::::0;;;;;:23;11590:4:::2;::::0;11580:7;;11590:4;::::2;::::0;11580;;11590;;11580:7;::::2;;;;;:14;::::0;;::::2;:7;::::0;;::::2;::::0;;;;;;:14;;;;11667:6:::2;::::0;:192:::2;::::0;;;;::::2;::::0;::::2;::::0;;;11608:21:::2;11667:192:::0;;;;;;11809:4:::2;11667:192:::0;;;;;;11845:3:::2;11829:15;:19;11667:192:::0;;;;;;;;;;;;;;;;;;;;;11632:21:::2;::::0;11667:6;;;::::2;::::0;:57:::2;::::0;11739:12;;11608:21;;11782:4;;11667:192;;;;;;;;;;::::2;::::0;::::2;::::0;;;11608:21;11667:192:::2;;;;;;;::::0;;::::2;::::0;;;::::2;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;11873:17;11893:40;11919:13;11893:21;:25;;:40;;;;:::i;:::-;11873:60;;11944:19;11966:8;;11944:30;;11985:21;12009:39;12036:11;12009:22;12023:7;;12009:9;:13;;:22;;;;:::i;:::-;:26:::0;::::2;:39::i;:::-;11985:63;;12059:26;12088:44;12120:11;12088:27;12102:12;;12088:9;:13;;:27;;;;:::i;:44::-;12148:20;::::0;12140:58:::2;::::0;12059:73;;-1:-1:-1;12148:20:0::2;;::::0;12140:58;::::2;;;::::0;12059:73;;12148:20:::2;12140:58:::0;12148:20;12140:58;12059:73;12148:20;12140:58;::::2;;;;;;;;;;;;;::::0;::::2;;;;;-1:-1:-1::0;12214:15:0::2;::::0;12206:48:::2;::::0;12214:15:::2;::::0;;::::2;::::0;12206:48;::::2;;;::::0;12240:13;;12214:15:::2;12206:48:::0;12214:15;12206:48;12240:13;12214:15;12206:48;::::2;;;;;;;;;;;;;::::0;::::2;;;;;-1:-1:-1::0;;5652:6:0::1;:14:::0;;;::::1;::::0;;-1:-1:-1;;;;;;11377:889:0:o;5489:30::-;;;;;;:::o;13137:360::-;3041:24;3054:10;3041:12;:24::i;:::-;3033:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13268:7:::1;:18:::0;;;13297:12:::1;:28:::0;;;13347:26:::1;13278:8:::0;13312:13;13347:11:::1;:26::i;:::-;13336:8;:37:::0;13384:14:::1;:32:::0;;;13424:7:::1;:18:::0;;;13487:1:::1;13401:15:::0;13472:16:::1;13461:8;;:27;13453:36;;;::::0;::::1;;13137:360:::0;;;;:::o;6826:105::-;6910:18;;6892:7;6910:18;;;:9;:18;;;;;;;6826:105::o;3539:140::-;2950:19;2958:10;2950:7;:19::i;:::-;2942:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3621:1:::1;3604:19:::0;;;::::1;::::0;;3639:32:::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;3539:140::o:0;6741:79::-;6793:7;6811:6;;;6741:79;:::o;12738:209::-;3041:24;3054:10;3041:12;:24::i;:::-;3033:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12850:15:::1;:34:::0;;::::1;::::0;;::::1;::::0;;;::::1;;::::0;;;12895:20:::1;:44:::0;;;;;::::1;::::0;::::1;;::::0;;12738:209::o;5397:19::-;;;;;;:::o;7429:156::-;7509:4;7533:44;7547:10;7559:9;7570:6;7533:13;:44::i;13803:158::-;13929:15;;13905:48;;;;;;:23;13929:15;;;13905:48;;;;;;;;;;;;13875:10;;13905:23;;;;;:48;;;;;;;;;;;;;;13875:10;13905:23;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13905:48:0;;13803:158;-1:-1:-1;;;13803:158:0:o;3101:94::-;2950:19;2958:10;2950:7;:19::i;:::-;2942:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3161:19:::1;;;::::0;;;3183:4:::1;3161:19;::::0;;;;;;;:26;;;::::1;::::0;;::::1;::::0;;3101:94::o;13688:106::-;13738:15;;13730:56;;13738:15;;;;;13764:21;13730:56;;;;;13738:15;13730:56;13738:15;13730:56;13764:21;13738:15;13730:56;;;;;;;;;;;;;;;;;;;;;13688:106::o;5423:25::-;;;;:::o;5241:36::-;;;;;;:::o;6937:133::-;7039:19;;;;7021:7;7039:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6937:133::o;12956:172::-;3041:24;3054:10;3041:12;:24::i;:::-;3033:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13047:11:::1;:22:::0;;;::::1;::::0;::::1;;;::::0;;13095:12:::1;::::0;:25:::1;::::0;13112:7;13095:16:::1;:25::i;:::-;13080:13;:40:::0;-1:-1:-1;;12956:172:0:o;5284:35::-;;;;;;:::o;3204:97::-;2950:19;2958:10;2950:7;:19::i;:::-;2942:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3266:19:::1;;3288:5;3266:19:::0;;;:14:::1;:19;::::0;;;;:27;;;::::1;::::0;;3204:97::o;9220:210::-;9276:7;9316:12;9299:10;;9312:1;9299:14;:29;9296:66;;;9338:14;;:21;;9357:1;9338:18;:21::i;:::-;9331:28;;;;9296:66;9372:7;9369:28;;;-1:-1:-1;9388:7:0;;9381:14;;9369:28;-1:-1:-1;;9414:8:0;;;9220:210::o;3688:174::-;2950:19;2958:10;2950:7;:19::i;:::-;2942:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3764:6:::1;:12:::0;;;::::1;;::::0;::::1;::::0;;::::1;::::0;;3787:19;;;-1:-1:-1;3787:19:0::1;::::0;;;;;;;;:26;;;::::1;::::0;;::::1;::::0;;;3829:25;;;;;;;::::1;::::0;;;;;;;;;::::1;3688:174:::0;:::o;5366:24::-;;;;;;:::o;3423:107::-;3503:19;;3479:4;3503:19;;;:14;:19;;;;;;;;;3423:107::o;12275:90::-;12342:10;;:15;;12275:90;:::o;382:193::-;468:7;504:12;496:6;;;;488:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;540:5:0;;;382:193::o;7965:1246::-;8078:6;;8057:4;;8078:6;;8077:7;:27;;;;;8088:16;:14;:16::i;:::-;8074:46;;;8107:10;:8;:10::i;:::-;8134;:8;:10::i;:::-;8133:11;:32;;;;-1:-1:-1;8161:4:0;;;8148:17;;;8161:4;;8148:17;8133:32;8130:70;;;8176:17;;;8196:1;8176:17;;;:9;:17;;;;;;8168:30;;;;;;8230:53;;;;;;;;;;;;;;;;;;;;:17;;;-1:-1:-1;8230:17:0;;;:9;:17;;;;;;;;:53;;8252:6;;8230:21;:53::i;:::-;8210:17;;;;;;;:9;:17;;;;;:73;8304:12;:10;:12::i;:::-;:33;;;;-1:-1:-1;8333:4:0;;;8320:17;;;8333:4;;8320:17;;8304:33;8301:99;;;8381:16;;8348:20;;;;;;;:9;:20;;;;;;:29;;:49;;8339:59;;;;;;8410:12;:10;:12::i;:::-;:33;;;;-1:-1:-1;8439:4:0;;;8426:17;;;8439:4;;8426:17;;8410:33;:59;;;;-1:-1:-1;8447:22:0;;;8464:4;8447:22;;8410:59;:125;;;;-1:-1:-1;8491:39:0;;;;;;;:28;:39;;;;;;8533:2;8491:44;8473:15;:62;8410:125;8407:384;;;8547:39;;;;;;;:28;:39;;;;;;;;8589:15;8547:57;;8657:4;8639:24;;:9;:24;;;;;;:36;;8668:6;8639:28;:36::i;:::-;8630:4;8612:24;;;;:9;:24;;;;;;;;:63;;;;8688:30;;;;;;;8612:24;8688:30;;;;;;;;;;;;;;;;;;;8731:39;;;;;;;;8756:4;;8731:39;;;;;;;;;;;;;-1:-1:-1;8785:4:0;8778:11;;8407:384;8808:39;;;;;;;:28;:39;;;;;;;;8850:15;8808:57;;8910:11;:22;;;;;;;;8906:143;;8950:21;8964:6;8950:13;:21::i;:::-;:67;;9011:6;8950:67;;;8974:34;8982:6;8990:9;9001:6;8974:7;:34::i;:::-;8934:83;;8906:143;;;-1:-1:-1;9041:6:0;8906:143;9082:20;;;;;;;:9;:20;;;;;;:40;;9107:14;9082:24;:40::i;:::-;9059:20;;;;;;;;:9;:20;;;;;;;;;:63;;;;9138:43;;;;;;;9059:20;;9138:43;;;;;;;;;;;;;-1:-1:-1;9199:4:0;;7965:1246;-1:-1:-1;;;;7965:1246:0:o;10498:870::-;5634:6;:13;;;;5643:4;5634:13;;;10570::::1;::::0;5634:6;10635:1:::1;5634:6:::0;10621:16:::1;::::0;240:136;298:7;325:43;329:1;332;325:43;;;;;;;;;;;;;;;;;:3;:43::i;581:252::-;639:7;663:6;659:47;;-1:-1:-1;693:1:0;686:8;;659:47;731:5;;;735:1;731;:5;:1;755:5;;;;;:10;747:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;839:132;897:7;924:39;928:1;931;924:39;;;;;;;;;;;;;;;;;:3;:39::i;52:182::-;110:7;142:5;;;166:6;;;;158:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10292:197;10379:4;;10341;;10379;;10365:10;:18;;;;:38;;-1:-1:-1;10397:6:0;;;;10396:7;10365:38;:62;;;;-1:-1:-1;10416:11:0;;;;10365:62;:116;;;;-1:-1:-1;10468:13:0;;10458:4;10440:24;;;;:9;:24;;;;;;:41;;10365:116;10358:123;;10292:197;:::o;13506:172::-;13550:4;13574:10;;13587:1;13574:14;;:47;;;;;13609:12;13592:10;;13605:1;13592:14;:29;13574:47;:95;;;;;13654:15;13625:12;;13640:10;13625:25;:44;;13567:102;;13506:172;:::o;9439:113::-;9525:19;;9501:4;9525:19;;;:11;:19;;;;;;;;9524:20;;9439:113::o;9561:722::-;9646:7;9666:17;9698:10;:8;:10::i;:::-;9697:11;:31;;;;-1:-1:-1;9724:4:0;;;9712:16;;;9724:4;;9712:16;;9697:31;9694:46;;;9737:1;9730:8;;;;;9694:46;9753:12;:10;:12::i;:::-;:37;;;;;9778:12;;9769:6;:21;9753:37;9750:268;;;9822:12;;9811:24;;:6;;:10;:24::i;:::-;9898:4;9880:24;;;;:9;:24;;;;;;9799:36;;-1:-1:-1;9880:39:0;;9799:36;9880:28;:39::i;:::-;9871:4;9853:24;;;;:9;:24;;;;;;;;;:66;;;;9935:42;;;;;;;9871:4;;9853:24;9935:42;;;;;;;;;;;;;9995:21;:6;10006:9;9995:10;:21::i;:::-;9988:28;;;;;9750:268;10086:14;;10075:4;;10040:61;;10086:14;10040:41;;10051:29;;10075:4;10063:16;;;10075:4;;10063:16;10051:11;:29::i;:::-;10040:6;;:10;:41::i;:61::-;10157:4;10139:24;;;;:9;:24;;;;;;10028:73;;-1:-1:-1;10139:39:0;;10028:73;10139:28;:39::i;:::-;10130:4;10112:24;;;;:9;:24;;;;;;;;;:66;;;;10194:42;;;;;;;10130:4;;10112:24;10194:42;;;;;;;;;;;;;10254:21;:6;10265:9;10254:10;:21::i;:::-;10247:28;9561:722;-1:-1:-1;;;;;9561:722:0:o;977:346::-;1063:7;1165:12;1158:5;1150:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1189:9;1205:1;1201;:5;;;;;;;977:346;-1:-1:-1;;;;;977:346:0:o
Swarm Source
ipfs://2a1d7031cec5cc1d1678df0727a98471bb92d4c6e4ac8eb7eb9a62b98394360b
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.