ERC-20
Overview
Max Total Supply
1,000,000,000,000 FF
Holders
319
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
1,655.28286666 FFValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
FF
Compiler Version
v0.8.15+commit.e14f2714
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
/** www.FvckFiat.com Only those who succesfully answer the questions may join us. */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.4; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract FF is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private bots; mapping (address => uint) private cooldown; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 1e12 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _feeAddr1; uint256 private _feeAddr2; address payable private _feeAddrWallet1; address payable private _feeAddrWallet2; string private constant _name = "FvckFiat"; string private constant _symbol = "FF"; uint8 private constant _decimals = 9; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; bool private cooldownEnabled = false; uint256 private _maxTxAmount = _tTotal; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _feeAddrWallet1 = payable(0x37a4D6A723e080b4E99Ddc2eA8F1B2F0e1f7EE67); _feeAddrWallet2 = payable(0x37a4D6A723e080b4E99Ddc2eA8F1B2F0e1f7EE67); _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_feeAddrWallet1] = true; _isExcludedFromFee[_feeAddrWallet2] = true; emit Transfer(address(0x0000000000000000000000000000000000000000), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function setCooldownEnabled(bool onoff) external onlyOwner() { cooldownEnabled = onoff; } function tokenFromReflection(uint256 rAmount) private view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); _feeAddr1 = 1; _feeAddr2 = 1; if (from != owner() && to != owner()) { require(!bots[from] && !bots[to]); if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) { // Cooldown require(amount <= _maxTxAmount); require(cooldown[to] < block.timestamp); cooldown[to] = block.timestamp + (30 seconds); } if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) { _feeAddr1 = 1; _feeAddr2 = 1; } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } _tokenTransfer(from,to,amount); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function sendETHToFee(uint256 amount) private { _feeAddrWallet1.transfer(amount.div(2)); _feeAddrWallet2.transfer(amount.div(2)); } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); swapEnabled = true; cooldownEnabled = true; _maxTxAmount = 1e10 * 10**9; tradingOpen = true; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function setBots(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function delBot(address notbot) public onlyOwner { bots[notbot] = false; } function _tokenTransfer(address sender, address recipient, uint256 amount) private { _transferStandard(sender, recipient, amount); } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function manualswap() external { require(_msgSender() == _feeAddrWallet1); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _feeAddrWallet1); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(TeamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } }
{ "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052683635c9adc5dea000006000196200001d9190620004ed565b6000196200002c919062000554565b6008556000600f60156101000a81548160ff0219169083151502179055506000600f60166101000a81548160ff0219169083151502179055506000600f60176101000a81548160ff021916908315150217905550683635c9adc5dea000006010553480156200009a57600080fd5b506000620000ad6200048360201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3507337a4d6a723e080b4e99ddc2ea8f1b2f0e1f7ee67600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507337a4d6a723e080b4e99ddc2ea8f1b2f0e1f7ee67600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600854600260006200020c6200048360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160056000620002606200048b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200040d6200048360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea00000604051620004759190620005a0565b60405180910390a3620005bd565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620004fa82620004b4565b91506200050783620004b4565b9250826200051a5762000519620004be565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200056182620004b4565b91506200056e83620004b4565b92508282101562000584576200058362000525565b5b828203905092915050565b6200059a81620004b4565b82525050565b6000602082019050620005b760008301846200058f565b92915050565b61331680620005cd6000396000f3fe6080604052600436106101025760003560e01c806370a0823111610095578063a9059cbb11610064578063a9059cbb1461031c578063b515566a14610359578063c3c8cd8014610382578063c9567bf914610399578063dd62ed3e146103b057610109565b806370a0823114610272578063715018a6146102af5780638da5cb5b146102c657806395d89b41146102f157610109565b8063273123b7116100d1578063273123b7146101de578063313ce567146102075780635932ead1146102325780636fc3eaec1461025b57610109565b806306fdde031461010e578063095ea7b31461013957806318160ddd1461017657806323b872dd146101a157610109565b3661010957005b600080fd5b34801561011a57600080fd5b506101236103ed565b604051610130919061241b565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b91906124e5565b61042a565b60405161016d9190612540565b60405180910390f35b34801561018257600080fd5b5061018b610448565b604051610198919061256a565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c39190612585565b610459565b6040516101d59190612540565b60405180910390f35b3480156101ea57600080fd5b50610205600480360381019061020091906125d8565b610532565b005b34801561021357600080fd5b5061021c610622565b6040516102299190612621565b60405180910390f35b34801561023e57600080fd5b5061025960048036038101906102549190612668565b61062b565b005b34801561026757600080fd5b506102706106dd565b005b34801561027e57600080fd5b50610299600480360381019061029491906125d8565b61074f565b6040516102a6919061256a565b60405180910390f35b3480156102bb57600080fd5b506102c46107a0565b005b3480156102d257600080fd5b506102db6108f3565b6040516102e891906126a4565b60405180910390f35b3480156102fd57600080fd5b5061030661091c565b604051610313919061241b565b60405180910390f35b34801561032857600080fd5b50610343600480360381019061033e91906124e5565b610959565b6040516103509190612540565b60405180910390f35b34801561036557600080fd5b50610380600480360381019061037b9190612807565b610977565b005b34801561038e57600080fd5b50610397610aa1565b005b3480156103a557600080fd5b506103ae610b1b565b005b3480156103bc57600080fd5b506103d760048036038101906103d29190612850565b61102c565b6040516103e4919061256a565b60405180910390f35b60606040518060400160405280600881526020017f4676636b46696174000000000000000000000000000000000000000000000000815250905090565b600061043e6104376110b3565b84846110bb565b6001905092915050565b6000683635c9adc5dea00000905090565b6000610466848484611284565b610527846104726110b3565b610522856040518060600160405280602881526020016132b960289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104d86110b3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118879092919063ffffffff16565b6110bb565b600190509392505050565b61053a6110b3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105be906128dc565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b6106336110b3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b7906128dc565b60405180910390fd5b80600f60176101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661071e6110b3565b73ffffffffffffffffffffffffffffffffffffffff161461073e57600080fd5b600047905061074c816118eb565b50565b6000610799600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119e6565b9050919050565b6107a86110b3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610835576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082c906128dc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600281526020017f4646000000000000000000000000000000000000000000000000000000000000815250905090565b600061096d6109666110b3565b8484611284565b6001905092915050565b61097f6110b3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a03906128dc565b60405180910390fd5b60005b8151811015610a9d57600160066000848481518110610a3157610a306128fc565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610a959061295a565b915050610a0f565b5050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ae26110b3565b73ffffffffffffffffffffffffffffffffffffffff1614610b0257600080fd5b6000610b0d3061074f565b9050610b1881611a54565b50565b610b236110b3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba7906128dc565b60405180910390fd5b600f60149054906101000a900460ff1615610c00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf7906129ee565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c9030600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea000006110bb565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cff9190612a23565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8a9190612a23565b6040518363ffffffff1660e01b8152600401610da7929190612a50565b6020604051808303816000875af1158015610dc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dea9190612a23565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e733061074f565b600080610e7e6108f3565b426040518863ffffffff1660e01b8152600401610ea096959493929190612abe565b60606040518083038185885af1158015610ebe573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ee39190612b34565b5050506001600f60166101000a81548160ff0219169083151502179055506001600f60176101000a81548160ff021916908315150217905550678ac7230489e800006010819055506001600f60146101000a81548160ff021916908315150217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fe5929190612b87565b6020604051808303816000875af1158015611004573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110289190612bc5565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361112a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112190612c64565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611199576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119090612cf6565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611277919061256a565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ea90612d88565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611362576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135990612e1a565b60405180910390fd5b600081116113a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139c90612eac565b60405180910390fd5b6001600a819055506001600b819055506113bd6108f3565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561142b57506113fb6108f3565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561187757600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114d45750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6114dd57600080fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156115885750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115de5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156115f65750600f60179054906101000a900460ff165b156116a65760105481111561160a57600080fd5b42600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061165557600080fd5b601e426116629190612ecc565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156117515750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117a75750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156117bd576001600a819055506001600b819055505b60006117c83061074f565b9050600f60159054906101000a900460ff161580156118355750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561184d5750600f60169054906101000a900460ff165b156118755761185b81611a54565b6000479050600081111561187357611872476118eb565b5b505b505b611882838383611ccd565b505050565b60008383111582906118cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c6919061241b565b60405180910390fd5b50600083856118de9190612f22565b9050809150509392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61193b600284611cdd90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611966573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6119b7600284611cdd90919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156119e2573d6000803e3d6000fd5b5050565b6000600854821115611a2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2490612fc8565b60405180910390fd5b6000611a37611d27565b9050611a4c8184611cdd90919063ffffffff16565b915050919050565b6001600f60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611a8c57611a8b6126c4565b5b604051908082528060200260200182016040528015611aba5781602001602082028036833780820191505090505b5090503081600081518110611ad257611ad16128fc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b9d9190612a23565b81600181518110611bb157611bb06128fc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c1830600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110bb565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611c7c9594939291906130a6565b600060405180830381600087803b158015611c9657600080fd5b505af1158015611caa573d6000803e3d6000fd5b50505050506000600f60156101000a81548160ff02191690831515021790555050565b611cd8838383611d52565b505050565b6000611d1f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f1d565b905092915050565b6000806000611d34611f80565b91509150611d4b8183611cdd90919063ffffffff16565b9250505090565b600080600080600080611d6487611fe2565b955095509550955095509550611dc286600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461204a90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e5785600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461209490919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ea3816120f2565b611ead84836121af565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611f0a919061256a565b60405180910390a3505050505050505050565b60008083118290611f64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5b919061241b565b60405180910390fd5b5060008385611f73919061312f565b9050809150509392505050565b600080600060085490506000683635c9adc5dea000009050611fb6683635c9adc5dea00000600854611cdd90919063ffffffff16565b821015611fd557600854683635c9adc5dea00000935093505050611fde565b81819350935050505b9091565b6000806000806000806000806000611fff8a600a54600b546121e9565b925092509250600061200f611d27565b905060008060006120228e87878761227f565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061208c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611887565b905092915050565b60008082846120a39190612ecc565b9050838110156120e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120df906131ac565b60405180910390fd5b8091505092915050565b60006120fc611d27565b90506000612113828461230890919063ffffffff16565b905061216781600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461209490919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6121c48260085461204a90919063ffffffff16565b6008819055506121df8160095461209490919063ffffffff16565b6009819055505050565b6000806000806122156064612207888a61230890919063ffffffff16565b611cdd90919063ffffffff16565b9050600061223f6064612231888b61230890919063ffffffff16565b611cdd90919063ffffffff16565b905060006122688261225a858c61204a90919063ffffffff16565b61204a90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612298858961230890919063ffffffff16565b905060006122af868961230890919063ffffffff16565b905060006122c6878961230890919063ffffffff16565b905060006122ef826122e1858761204a90919063ffffffff16565b61204a90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080830361231a576000905061237c565b6000828461232891906131cc565b9050828482612337919061312f565b14612377576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236e90613298565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156123bc5780820151818401526020810190506123a1565b838111156123cb576000848401525b50505050565b6000601f19601f8301169050919050565b60006123ed82612382565b6123f7818561238d565b935061240781856020860161239e565b612410816123d1565b840191505092915050565b6000602082019050818103600083015261243581846123e2565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061247c82612451565b9050919050565b61248c81612471565b811461249757600080fd5b50565b6000813590506124a981612483565b92915050565b6000819050919050565b6124c2816124af565b81146124cd57600080fd5b50565b6000813590506124df816124b9565b92915050565b600080604083850312156124fc576124fb612447565b5b600061250a8582860161249a565b925050602061251b858286016124d0565b9150509250929050565b60008115159050919050565b61253a81612525565b82525050565b60006020820190506125556000830184612531565b92915050565b612564816124af565b82525050565b600060208201905061257f600083018461255b565b92915050565b60008060006060848603121561259e5761259d612447565b5b60006125ac8682870161249a565b93505060206125bd8682870161249a565b92505060406125ce868287016124d0565b9150509250925092565b6000602082840312156125ee576125ed612447565b5b60006125fc8482850161249a565b91505092915050565b600060ff82169050919050565b61261b81612605565b82525050565b60006020820190506126366000830184612612565b92915050565b61264581612525565b811461265057600080fd5b50565b6000813590506126628161263c565b92915050565b60006020828403121561267e5761267d612447565b5b600061268c84828501612653565b91505092915050565b61269e81612471565b82525050565b60006020820190506126b96000830184612695565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6126fc826123d1565b810181811067ffffffffffffffff8211171561271b5761271a6126c4565b5b80604052505050565b600061272e61243d565b905061273a82826126f3565b919050565b600067ffffffffffffffff82111561275a576127596126c4565b5b602082029050602081019050919050565b600080fd5b600061278361277e8461273f565b612724565b905080838252602082019050602084028301858111156127a6576127a561276b565b5b835b818110156127cf57806127bb888261249a565b8452602084019350506020810190506127a8565b5050509392505050565b600082601f8301126127ee576127ed6126bf565b5b81356127fe848260208601612770565b91505092915050565b60006020828403121561281d5761281c612447565b5b600082013567ffffffffffffffff81111561283b5761283a61244c565b5b612847848285016127d9565b91505092915050565b6000806040838503121561286757612866612447565b5b60006128758582860161249a565b92505060206128868582860161249a565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006128c660208361238d565b91506128d182612890565b602082019050919050565b600060208201905081810360008301526128f5816128b9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612965826124af565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036129975761299661292b565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006129d860178361238d565b91506129e3826129a2565b602082019050919050565b60006020820190508181036000830152612a07816129cb565b9050919050565b600081519050612a1d81612483565b92915050565b600060208284031215612a3957612a38612447565b5b6000612a4784828501612a0e565b91505092915050565b6000604082019050612a656000830185612695565b612a726020830184612695565b9392505050565b6000819050919050565b6000819050919050565b6000612aa8612aa3612a9e84612a79565b612a83565b6124af565b9050919050565b612ab881612a8d565b82525050565b600060c082019050612ad36000830189612695565b612ae0602083018861255b565b612aed6040830187612aaf565b612afa6060830186612aaf565b612b076080830185612695565b612b1460a083018461255b565b979650505050505050565b600081519050612b2e816124b9565b92915050565b600080600060608486031215612b4d57612b4c612447565b5b6000612b5b86828701612b1f565b9350506020612b6c86828701612b1f565b9250506040612b7d86828701612b1f565b9150509250925092565b6000604082019050612b9c6000830185612695565b612ba9602083018461255b565b9392505050565b600081519050612bbf8161263c565b92915050565b600060208284031215612bdb57612bda612447565b5b6000612be984828501612bb0565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612c4e60248361238d565b9150612c5982612bf2565b604082019050919050565b60006020820190508181036000830152612c7d81612c41565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ce060228361238d565b9150612ceb82612c84565b604082019050919050565b60006020820190508181036000830152612d0f81612cd3565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612d7260258361238d565b9150612d7d82612d16565b604082019050919050565b60006020820190508181036000830152612da181612d65565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612e0460238361238d565b9150612e0f82612da8565b604082019050919050565b60006020820190508181036000830152612e3381612df7565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612e9660298361238d565b9150612ea182612e3a565b604082019050919050565b60006020820190508181036000830152612ec581612e89565b9050919050565b6000612ed7826124af565b9150612ee2836124af565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612f1757612f1661292b565b5b828201905092915050565b6000612f2d826124af565b9150612f38836124af565b925082821015612f4b57612f4a61292b565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000612fb2602a8361238d565b9150612fbd82612f56565b604082019050919050565b60006020820190508181036000830152612fe181612fa5565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61301d81612471565b82525050565b600061302f8383613014565b60208301905092915050565b6000602082019050919050565b600061305382612fe8565b61305d8185612ff3565b935061306883613004565b8060005b838110156130995781516130808882613023565b975061308b8361303b565b92505060018101905061306c565b5085935050505092915050565b600060a0820190506130bb600083018861255b565b6130c86020830187612aaf565b81810360408301526130da8186613048565b90506130e96060830185612695565b6130f6608083018461255b565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061313a826124af565b9150613145836124af565b92508261315557613154613100565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613196601b8361238d565b91506131a182613160565b602082019050919050565b600060208201905081810360008301526131c581613189565b9050919050565b60006131d7826124af565b91506131e2836124af565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561321b5761321a61292b565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061328260218361238d565b915061328d82613226565b604082019050919050565b600060208201905081810360008301526132b181613275565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220692d30ba5300f2f2cd120b0b7a1d0679c6eac47b3d10c3f1fce3ddb2f6099aa064736f6c634300080f0033
Deployed Bytecode
0x6080604052600436106101025760003560e01c806370a0823111610095578063a9059cbb11610064578063a9059cbb1461031c578063b515566a14610359578063c3c8cd8014610382578063c9567bf914610399578063dd62ed3e146103b057610109565b806370a0823114610272578063715018a6146102af5780638da5cb5b146102c657806395d89b41146102f157610109565b8063273123b7116100d1578063273123b7146101de578063313ce567146102075780635932ead1146102325780636fc3eaec1461025b57610109565b806306fdde031461010e578063095ea7b31461013957806318160ddd1461017657806323b872dd146101a157610109565b3661010957005b600080fd5b34801561011a57600080fd5b506101236103ed565b604051610130919061241b565b60405180910390f35b34801561014557600080fd5b50610160600480360381019061015b91906124e5565b61042a565b60405161016d9190612540565b60405180910390f35b34801561018257600080fd5b5061018b610448565b604051610198919061256a565b60405180910390f35b3480156101ad57600080fd5b506101c860048036038101906101c39190612585565b610459565b6040516101d59190612540565b60405180910390f35b3480156101ea57600080fd5b50610205600480360381019061020091906125d8565b610532565b005b34801561021357600080fd5b5061021c610622565b6040516102299190612621565b60405180910390f35b34801561023e57600080fd5b5061025960048036038101906102549190612668565b61062b565b005b34801561026757600080fd5b506102706106dd565b005b34801561027e57600080fd5b50610299600480360381019061029491906125d8565b61074f565b6040516102a6919061256a565b60405180910390f35b3480156102bb57600080fd5b506102c46107a0565b005b3480156102d257600080fd5b506102db6108f3565b6040516102e891906126a4565b60405180910390f35b3480156102fd57600080fd5b5061030661091c565b604051610313919061241b565b60405180910390f35b34801561032857600080fd5b50610343600480360381019061033e91906124e5565b610959565b6040516103509190612540565b60405180910390f35b34801561036557600080fd5b50610380600480360381019061037b9190612807565b610977565b005b34801561038e57600080fd5b50610397610aa1565b005b3480156103a557600080fd5b506103ae610b1b565b005b3480156103bc57600080fd5b506103d760048036038101906103d29190612850565b61102c565b6040516103e4919061256a565b60405180910390f35b60606040518060400160405280600881526020017f4676636b46696174000000000000000000000000000000000000000000000000815250905090565b600061043e6104376110b3565b84846110bb565b6001905092915050565b6000683635c9adc5dea00000905090565b6000610466848484611284565b610527846104726110b3565b610522856040518060600160405280602881526020016132b960289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104d86110b3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118879092919063ffffffff16565b6110bb565b600190509392505050565b61053a6110b3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105be906128dc565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b6106336110b3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b7906128dc565b60405180910390fd5b80600f60176101000a81548160ff02191690831515021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661071e6110b3565b73ffffffffffffffffffffffffffffffffffffffff161461073e57600080fd5b600047905061074c816118eb565b50565b6000610799600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119e6565b9050919050565b6107a86110b3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610835576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082c906128dc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600281526020017f4646000000000000000000000000000000000000000000000000000000000000815250905090565b600061096d6109666110b3565b8484611284565b6001905092915050565b61097f6110b3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a03906128dc565b60405180910390fd5b60005b8151811015610a9d57600160066000848481518110610a3157610a306128fc565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610a959061295a565b915050610a0f565b5050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ae26110b3565b73ffffffffffffffffffffffffffffffffffffffff1614610b0257600080fd5b6000610b0d3061074f565b9050610b1881611a54565b50565b610b236110b3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba7906128dc565b60405180910390fd5b600f60149054906101000a900460ff1615610c00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf7906129ee565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c9030600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea000006110bb565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cff9190612a23565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8a9190612a23565b6040518363ffffffff1660e01b8152600401610da7929190612a50565b6020604051808303816000875af1158015610dc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dea9190612a23565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e733061074f565b600080610e7e6108f3565b426040518863ffffffff1660e01b8152600401610ea096959493929190612abe565b60606040518083038185885af1158015610ebe573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ee39190612b34565b5050506001600f60166101000a81548160ff0219169083151502179055506001600f60176101000a81548160ff021916908315150217905550678ac7230489e800006010819055506001600f60146101000a81548160ff021916908315150217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fe5929190612b87565b6020604051808303816000875af1158015611004573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110289190612bc5565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361112a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112190612c64565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611199576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119090612cf6565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611277919061256a565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ea90612d88565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611362576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135990612e1a565b60405180910390fd5b600081116113a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139c90612eac565b60405180910390fd5b6001600a819055506001600b819055506113bd6108f3565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561142b57506113fb6108f3565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561187757600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114d45750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6114dd57600080fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156115885750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115de5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156115f65750600f60179054906101000a900460ff165b156116a65760105481111561160a57600080fd5b42600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541061165557600080fd5b601e426116629190612ecc565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156117515750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117a75750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156117bd576001600a819055506001600b819055505b60006117c83061074f565b9050600f60159054906101000a900460ff161580156118355750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561184d5750600f60169054906101000a900460ff165b156118755761185b81611a54565b6000479050600081111561187357611872476118eb565b5b505b505b611882838383611ccd565b505050565b60008383111582906118cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c6919061241b565b60405180910390fd5b50600083856118de9190612f22565b9050809150509392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61193b600284611cdd90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611966573d6000803e3d6000fd5b50600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6119b7600284611cdd90919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156119e2573d6000803e3d6000fd5b5050565b6000600854821115611a2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2490612fc8565b60405180910390fd5b6000611a37611d27565b9050611a4c8184611cdd90919063ffffffff16565b915050919050565b6001600f60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611a8c57611a8b6126c4565b5b604051908082528060200260200182016040528015611aba5781602001602082028036833780820191505090505b5090503081600081518110611ad257611ad16128fc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b9d9190612a23565b81600181518110611bb157611bb06128fc565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c1830600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110bb565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611c7c9594939291906130a6565b600060405180830381600087803b158015611c9657600080fd5b505af1158015611caa573d6000803e3d6000fd5b50505050506000600f60156101000a81548160ff02191690831515021790555050565b611cd8838383611d52565b505050565b6000611d1f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f1d565b905092915050565b6000806000611d34611f80565b91509150611d4b8183611cdd90919063ffffffff16565b9250505090565b600080600080600080611d6487611fe2565b955095509550955095509550611dc286600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461204a90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e5785600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461209490919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ea3816120f2565b611ead84836121af565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611f0a919061256a565b60405180910390a3505050505050505050565b60008083118290611f64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5b919061241b565b60405180910390fd5b5060008385611f73919061312f565b9050809150509392505050565b600080600060085490506000683635c9adc5dea000009050611fb6683635c9adc5dea00000600854611cdd90919063ffffffff16565b821015611fd557600854683635c9adc5dea00000935093505050611fde565b81819350935050505b9091565b6000806000806000806000806000611fff8a600a54600b546121e9565b925092509250600061200f611d27565b905060008060006120228e87878761227f565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061208c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611887565b905092915050565b60008082846120a39190612ecc565b9050838110156120e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120df906131ac565b60405180910390fd5b8091505092915050565b60006120fc611d27565b90506000612113828461230890919063ffffffff16565b905061216781600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461209490919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6121c48260085461204a90919063ffffffff16565b6008819055506121df8160095461209490919063ffffffff16565b6009819055505050565b6000806000806122156064612207888a61230890919063ffffffff16565b611cdd90919063ffffffff16565b9050600061223f6064612231888b61230890919063ffffffff16565b611cdd90919063ffffffff16565b905060006122688261225a858c61204a90919063ffffffff16565b61204a90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612298858961230890919063ffffffff16565b905060006122af868961230890919063ffffffff16565b905060006122c6878961230890919063ffffffff16565b905060006122ef826122e1858761204a90919063ffffffff16565b61204a90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080830361231a576000905061237c565b6000828461232891906131cc565b9050828482612337919061312f565b14612377576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236e90613298565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156123bc5780820151818401526020810190506123a1565b838111156123cb576000848401525b50505050565b6000601f19601f8301169050919050565b60006123ed82612382565b6123f7818561238d565b935061240781856020860161239e565b612410816123d1565b840191505092915050565b6000602082019050818103600083015261243581846123e2565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061247c82612451565b9050919050565b61248c81612471565b811461249757600080fd5b50565b6000813590506124a981612483565b92915050565b6000819050919050565b6124c2816124af565b81146124cd57600080fd5b50565b6000813590506124df816124b9565b92915050565b600080604083850312156124fc576124fb612447565b5b600061250a8582860161249a565b925050602061251b858286016124d0565b9150509250929050565b60008115159050919050565b61253a81612525565b82525050565b60006020820190506125556000830184612531565b92915050565b612564816124af565b82525050565b600060208201905061257f600083018461255b565b92915050565b60008060006060848603121561259e5761259d612447565b5b60006125ac8682870161249a565b93505060206125bd8682870161249a565b92505060406125ce868287016124d0565b9150509250925092565b6000602082840312156125ee576125ed612447565b5b60006125fc8482850161249a565b91505092915050565b600060ff82169050919050565b61261b81612605565b82525050565b60006020820190506126366000830184612612565b92915050565b61264581612525565b811461265057600080fd5b50565b6000813590506126628161263c565b92915050565b60006020828403121561267e5761267d612447565b5b600061268c84828501612653565b91505092915050565b61269e81612471565b82525050565b60006020820190506126b96000830184612695565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6126fc826123d1565b810181811067ffffffffffffffff8211171561271b5761271a6126c4565b5b80604052505050565b600061272e61243d565b905061273a82826126f3565b919050565b600067ffffffffffffffff82111561275a576127596126c4565b5b602082029050602081019050919050565b600080fd5b600061278361277e8461273f565b612724565b905080838252602082019050602084028301858111156127a6576127a561276b565b5b835b818110156127cf57806127bb888261249a565b8452602084019350506020810190506127a8565b5050509392505050565b600082601f8301126127ee576127ed6126bf565b5b81356127fe848260208601612770565b91505092915050565b60006020828403121561281d5761281c612447565b5b600082013567ffffffffffffffff81111561283b5761283a61244c565b5b612847848285016127d9565b91505092915050565b6000806040838503121561286757612866612447565b5b60006128758582860161249a565b92505060206128868582860161249a565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006128c660208361238d565b91506128d182612890565b602082019050919050565b600060208201905081810360008301526128f5816128b9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612965826124af565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036129975761299661292b565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006129d860178361238d565b91506129e3826129a2565b602082019050919050565b60006020820190508181036000830152612a07816129cb565b9050919050565b600081519050612a1d81612483565b92915050565b600060208284031215612a3957612a38612447565b5b6000612a4784828501612a0e565b91505092915050565b6000604082019050612a656000830185612695565b612a726020830184612695565b9392505050565b6000819050919050565b6000819050919050565b6000612aa8612aa3612a9e84612a79565b612a83565b6124af565b9050919050565b612ab881612a8d565b82525050565b600060c082019050612ad36000830189612695565b612ae0602083018861255b565b612aed6040830187612aaf565b612afa6060830186612aaf565b612b076080830185612695565b612b1460a083018461255b565b979650505050505050565b600081519050612b2e816124b9565b92915050565b600080600060608486031215612b4d57612b4c612447565b5b6000612b5b86828701612b1f565b9350506020612b6c86828701612b1f565b9250506040612b7d86828701612b1f565b9150509250925092565b6000604082019050612b9c6000830185612695565b612ba9602083018461255b565b9392505050565b600081519050612bbf8161263c565b92915050565b600060208284031215612bdb57612bda612447565b5b6000612be984828501612bb0565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612c4e60248361238d565b9150612c5982612bf2565b604082019050919050565b60006020820190508181036000830152612c7d81612c41565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ce060228361238d565b9150612ceb82612c84565b604082019050919050565b60006020820190508181036000830152612d0f81612cd3565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612d7260258361238d565b9150612d7d82612d16565b604082019050919050565b60006020820190508181036000830152612da181612d65565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612e0460238361238d565b9150612e0f82612da8565b604082019050919050565b60006020820190508181036000830152612e3381612df7565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612e9660298361238d565b9150612ea182612e3a565b604082019050919050565b60006020820190508181036000830152612ec581612e89565b9050919050565b6000612ed7826124af565b9150612ee2836124af565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612f1757612f1661292b565b5b828201905092915050565b6000612f2d826124af565b9150612f38836124af565b925082821015612f4b57612f4a61292b565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000612fb2602a8361238d565b9150612fbd82612f56565b604082019050919050565b60006020820190508181036000830152612fe181612fa5565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61301d81612471565b82525050565b600061302f8383613014565b60208301905092915050565b6000602082019050919050565b600061305382612fe8565b61305d8185612ff3565b935061306883613004565b8060005b838110156130995781516130808882613023565b975061308b8361303b565b92505060018101905061306c565b5085935050505092915050565b600060a0820190506130bb600083018861255b565b6130c86020830187612aaf565b81810360408301526130da8186613048565b90506130e96060830185612695565b6130f6608083018461255b565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061313a826124af565b9150613145836124af565b92508261315557613154613100565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613196601b8361238d565b91506131a182613160565b602082019050919050565b600060208201905081810360008301526131c581613189565b9050919050565b60006131d7826124af565b91506131e2836124af565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561321b5761321a61292b565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061328260218361238d565b915061328d82613226565b604082019050919050565b600060208201905081810360008301526132b181613275565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220692d30ba5300f2f2cd120b0b7a1d0679c6eac47b3d10c3f1fce3ddb2f6099aa064736f6c634300080f0033
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.